Fork me on GitHub
#clojure-uk
<
2018-03-28
>
jonrob08:03:36

@yogidevbear userdata scpripts for firstboot? but that doesn’t help you out with updates to already running instances...

jonrob08:03:27

btw, was looking forward to the horsham meet up tonight but turns out coincides with father-in-laws birthday so won’t be able to make it, will have to be next time.

jonrob08:03:40

have just finished deploying a mini clojure + clojurescript app to heroku tho, and its been a great experience 🙂 (although documentation around build and deployment a bit fragmented)

yogidevbear09:03:23

@jonrob.one no worries, hope to see you next time 🙂

yogidevbear09:03:20

And morning all

guy10:03:02

morning people!

guy10:03:13

Hey folks i’ve probably asked this before but i’ve just started looking at: http://funcool.github.io/cats/latest/#introduction And feel like my maths is letting me down. Does anyone know a good place to go learn about the maths side of things, to help me understand it?

mccraigmccraig11:03:31

@guy i'm not sure coming at it from the maths side is the best approach - if you've got the maths nailed already it's probably helpful, but if you don't then my experience was that it was better to start playing with some code and reading source to get a feel for how monads, functors etc work

mccraigmccraig11:03:08

for some motivation @guy, look at the code-transformation that mlet does here - http://funcool.github.io/cats/latest/#mlet , and then apply that to a more useful (in clojure) structure, like a promise - http://funcool.github.io/cats/latest/#manifold-deferred

👍 4
guy11:03:16

thanks @mccraigmccraig i think you are right. I’ve used the lib before but without really know what it does and why. I feel from the maths perspective i just want to get a better depth of knowledge. But yeah you are right, if i can use it in some examples i’ll learn it better.

guy12:03:05

alright cheers man! that looks great. I’ll try doing some coding and watching some of the videos too. I’ll report back after the long weekend as i can give it a good go then 😄

sundarj12:03:33

👍:skin-tone-3:

guy13:03:18

ok great thanks man

guy13:03:03

@U61HA86AG how long did it take you to grok monads and things?

sundarj13:03:18

honestly i found it pretty easy; but there are two parts to learning them. there's learning how they work in the abstract, and then learning how specific monads work in the concrete (there are different kinds of monad, and they do different things, though they're all the same abstractly - think how maps, vectors and sets are all sequences, but work differently individually)

sundarj13:03:30

they're much easier to grok after you've used them yourself

sundarj13:03:01

which is kind of a meme: 'once you understand monads, you lose the ability to explain them'

sundarj13:03:18

the thing is you've probably used monoids/functors/monads without realising what they were (they show up everywhere), so that makes them easier to learn

guy13:03:03

got ya thanks for that insight. I think for me i always feel scared with the names of things and get stuck very easily on math-sy terms

sundarj13:03:50

yeah the names just come from maths; the thing is they're such abstract concepts that the only way to give them precise names is to use these scary terms

sundarj13:03:54

but they're only scary until you get an intuition for them 🙂

guy13:03:38

oh yeah i agree totally haha

guy13:03:51

ok great thanks again man :thumbsup:

sundarj13:03:11

there's been talk about calling Monoids, say, Concatables, but the thing is that Monoids aren't only about concatenation, so it wouldn't be as precise as the term Monoid

👍 4
sundarj13:03:04

and these words already have well-defined meanings from mathematics, so it's like, why not use them instead of inventing our own

guy13:03:17

yeah i was thinking about that haha

😁 4
sundarj13:03:56

it's not like our industry is free of 'scary' words anyway 😛 'integer', 'floating-point', 'persistent data structure', 'algorithm', 'namespace', ...

guy13:03:29

thats also very true

minimal14:03:51

As said the category part can be a big distraction. It’s easier to start with if you think of it as some apis for very common operations / patterns

4
👍 4
agile_geek07:03:48

I'd agree that the category part can be a distraction. I actually found some of the Scala functional programming tutorials and Haskell stuff an easier intro. I think the issue with cat theory in Clojure is that there are other idiomatic approaches to passing state and dealing with side effects, etc. that are sometimes easier to grasp than monadic types and not having static typing does reduce the practical value of some of this stuff. Although it's useful to understand the theory.

guy07:03:50

thanks for the insight ❤️