2 ms·
Most of these are advanced topics though. You don't teach a beginner about OOP design patterns from the get go either. If you start with defining functions, ca
by didibus 8y ago
Most of these are advanced topics though. You don't teach a beginner about OOP design patterns from the get go either.
If you start with defining functions, calling them, composing them, and using map/filter/reduce and all the stream like operations filter, remove, select, merge, substract, etc. I think it might be just as simple.
Haskell is a bad choice though, because it also forces you to learn about advanced type theory.
The truth is, I do believe there is a gap in that there's no FP language that doesn't also introduce another complex paradigm. MLs introduce advanced type theory. Lisps introduce advance meta-programming and homoiconicity.
If you take Python, and teach it using only its FP constructs, I think that is probably simpler to learn to a beginner.