Quote:Original post by Daerax
Did I slip?
I never I studied category theory so I'm probably wrong but I read it some where can't remember now. Sorry for making your write all of that, all I know is the generalization of a fold has this fancy name ;)
Quote:Original post by Daerax
Did I slip?
Quote:Original post by snk_kid
I have not read the entire thread but I read your first post a number of times and one thing is clear to me you have conflicting & contradictory goals.
On the one hand you want to learn functional programming, on the other hand you want to write nontrivial programs and you're concerned about libraries even though you said you are worried about libraries being a "crutch" to you. You are also coming off as you are trying to run before learning how to walk.
Quote:
I'm going to give you a virtual wake up slap and say to you get your priorities straight and focus. Your original goal is to learn functional programming and FP is not about libraries. It seems like you haven't quite grasped what (purely**) functional programming actually is about because it has nothing to do with imperative loops.
In purely functional programming there are no imperative loops (no for, while, etc), no mutable variables, there are no (implicit) side-effects. All you have is values & bindings, (anonymous) functions & abstract functions (which are values too but are not procedures/commands/actions), function application & composition, and most importantly recursion and patterns of recursion (or the recursive operators). Every function input always has the same output for every application of the function, this important property of FP here is known as referential transparency, no hidden side-effects when you're looking at an expression and it is much easier to reason about correctness and to apply equational reasoning. Anyways if you do not know what or how to write or the important properties of the abstract function called fold (and the generalization of a fold called catamorphism (meaning a natural transformation)) then you probably do not understand what FP is really about.
Quote:Original post by cache_hit
Honestly, just use Haskell.