Re:Monads are monoids in the category of endofunctors
by 6nf on Thursday September 09, 2021 @09:27PM
(#28476758)
You have to start with the 'simplified but not technically perfectly correct' and then add in the nuances to get to the real point. Starting with words like 'functors' that most software engineers today will not be able to define is not useful.
Re:Monads are monoids in the category of endofunctors
by JadeNB on Thursday September 09, 2021 @11:15PM
(#28477409)
> Starting with words like 'functors' that most software engineers today will not be able to define is not useful.
But the parent post https://news.ycombinator.com/item?id=28476325 to which lmm was responding https://news.ycombinator.com/item?id=28476569 said "Wait, a functor is just a pure unary function?" If someone asks you the definition of a technical term, you sort of have to at least refer to the technical term.
Re:Monads are monoids in the category of endofunctors
by Littlebigo on Thursday September 09, 2021 @10:25PM
(#28477078)
The article is likely aimed at intermediate-ish FP programmers, though, not people with no prior knowledge. (Although I suspect it is an example of "learning by teaching", since it is wrong on many counts.)
Learn You a Haskell mentions functors in chapter 8 and teaches them properly in chapter 11.
http://learnyouahaskell.com/making-our-own-types-and-typecla...
Re:Monads are monoids in the category of endofunctors
by mhitza on Friday September 10, 2021 @06:32AM
(#28479685)
In my opinion Monads at this point should be considered a beginner Haskell concept.
Regardless of how LYAH chooses to order things, (when have you used a Zipper last time?), they are too essential to any beginner Haskell program.
In my opinion we need a new imperative first approach to Haskell teaching, to develop intuition on monads quickly.
This is true, but the problem is that people will always prefer the explanation that is, as the saying goes, "simple, neat, and wrong" over the explanation that is more complicated, especially if they (and possibly the person explaining) aren't aware that the simplified version is wrong. Even if one starts from an accessible viewpoint, any concept that is worth isolating as a concept will involve some difficult step in its exposition, and it is at that step that the person seeking to understand—not the explainer—has to decide whether to stick with the explanation despite the difficulty, or to be satisfied with an easy and wrong explanation.