... | @@ -198,7 +198,12 @@ It would seem remarkably backwards to finally unify all the work on `Applicative |
... | @@ -198,7 +198,12 @@ It would seem remarkably backwards to finally unify all the work on `Applicative |
|
# The existing corpus of books, tutorials, syllabi, and the like usually have a significant portion of the text dedicated to these very `Prelude` functions - and they would all need significant revision.
|
|
# The existing corpus of books, tutorials, syllabi, and the like usually have a significant portion of the text dedicated to these very `Prelude` functions - and they would all need significant revision.
|
|
|
|
|
|
|
|
|
|
At least two books already teach the `Foldable` and `Traversable` abstractions: [ Learn You a Haskell](http://learnyouahaskell.com/functors-applicative-functors-and-monoids) and "Beginning Haskell". Moreover, other texts such as "Real World Haskell" introduce the monad operations by telling the user to pretend the monad operations are specific to IO. "Read `m` as `IO` when you see it".
|
|
At least two books already teach the `Foldable` and `Traversable` abstractions: [ Learn You a Haskell](http://learnyouahaskell.com/functors-applicative-functors-and-monoids) and "Beginning Haskell".
|
|
|
|
|
|
|
|
[ Real World Haskell](http://book.realworldhaskell.org/read/io.html#x_TE) dispels this concern around the generality of the `Monad` operations with a quick aside:
|
|
|
|
|
|
|
|
|
|
|
|
Tip: These functions actually work for more than just I/O; they work for any `Monad`. For now, wherever you see `m`, just think `IO`.
|
|
|
|
|
|
# Teaching beginners what the new types mean in their full generality is going to be a challenge.
|
|
# Teaching beginners what the new types mean in their full generality is going to be a challenge.
|
|
|
|
|
... | | ... | |