Hacker News new | ask | show | jobs
by didibus 2853 days 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.