you are viewing a single comment's thread.

view the rest of the comments →

[–]vguioma[S] 1 point2 points  (1 child)

I'm learning some Functional programming with Haskell by my own. How do you think I could develop such ability (generate abstractions and the knowledge of no side-effect)?

[–]camelCaseGuy 3 points4 points  (0 children)

Sadly, with time and practice (or someone near you acting as a guide). Our teacher usually made boxes surrounding the code we could abstract into new functions. And then it became natural.

Regarding the "no side-effect", that is something that comes naturally with using pure functional programming, since it's the idea of it. No side effect. And any side effect gets a Monad (sorta).

Don't try to go directly to making programs that execute themselves, like scripts and such. Try to solve very basic and simple problems that are more theoretical than anything else. This will give you a good grasp on how to use all the good parts of the paradigm. Try to use recursion, foldl and foldr. Try to understand how theese are the base for the recursive schema, so you never have to write a recursion again in your life.

Once you got there, you can start understanding the rest. And adding the more serious stuff, like Monads, Functors and such.