The next 7000... abstractions to learn!

Hi all, I'm using Haskell since nearly three years now and I think I have well understood that types are the most important part of our programs. I have looked all around to learn as many datatypes/typeclasses as possible. But I suffer for a lack of direction to pursue my learning. I have well understood Prelude's one and some random ones (include someones for Category Theory), but I can't handle Kmett's code. Are there some intermediates abstractions I can learn? (For example in some librairies). Thanks by advance for your help. Regards.

My recommended order for learning:
Functor, Applicative, Monad
Alt, Alternative, MonadPlus
Foldable, Traversable
Bifunctor, Bifoldable, Bitraversable
Contravariant, Profunctor
Strong, Choice
Lens, Prism, Iso, Traversal
Implement your own Van Laarhoven lenses. It's difficult, but tel/sdbo has a
tutorial here: codewars.com/users/tel/authored (called Lensmaker)
References/examples for aforementioned typelcasses:
https://github.com/ekmett/semigroupoids (Alt)
https://github.com/ekmett/either/blob/master/src/Data/Either/Validation.hs
(Foldable, Traversable, Bi*, Profunctor, Choice, Iso)
https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/pr...
(Contravariant, Profunctor)
https://www.youtube.com/watch?v=Go-RR_2I9CU my monad transformers talk has
connected some dots for people on higher kinded types and type variable
application (relevant to Contravariant and (->))
https://github.com/ekmett/lens/wiki/How-can-I-write-lenses-without-depending...
(Lens, Prism, Iso, Choice, Profunctor)
Hope this helps,
Chris Allen
On Mon, Nov 17, 2014 at 5:48 PM, Gautier DI FOLCO wrote: Hi all, I'm using Haskell since nearly three years now and I think I have well
understood that types are the most important part of our programs.
I have looked all around to learn as many datatypes/typeclasses as
possible.
But I suffer for a lack of direction to pursue my learning. I have well
understood Prelude's one and some random ones (include someones for
Category Theory), but I can't handle Kmett's code. Are there some
intermediates abstractions I can learn? (For example in some librairies). Thanks by advance for your help.
Regards. _______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

2014-11-18 0:59 GMT+01:00 Christopher Allen
My recommended order for learning:
Functor, Applicative, Monad
Alt, Alternative, MonadPlus
Foldable, Traversable
Bifunctor, Bifoldable, Bitraversable
Contravariant, Profunctor
Strong, Choice
Lens, Prism, Iso, Traversal
Implement your own Van Laarhoven lenses. It's difficult, but tel/sdbo has a tutorial here: codewars.com/users/tel/authored (called Lensmaker)
References/examples for aforementioned typelcasses:
https://github.com/ekmett/semigroupoids (Alt)
https://github.com/ekmett/either/blob/master/src/Data/Either/Validation.hs (Foldable, Traversable, Bi*, Profunctor, Choice, Iso)
https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/pr... (Contravariant, Profunctor)
https://www.youtube.com/watch?v=Go-RR_2I9CU my monad transformers talk has connected some dots for people on higher kinded types and type variable application (relevant to Contravariant and (->))
https://github.com/ekmett/lens/wiki/How-can-I-write-lenses-without-depending... (Lens, Prism, Iso, Choice, Profunctor)
Hope this helps, Chris Allen
On Mon, Nov 17, 2014 at 5:48 PM, Gautier DI FOLCO < gautier.difolco@gmail.com> wrote:
Hi all,
I'm using Haskell since nearly three years now and I think I have well understood that types are the most important part of our programs. I have looked all around to learn as many datatypes/typeclasses as possible. But I suffer for a lack of direction to pursue my learning. I have well understood Prelude's one and some random ones (include someones for Category Theory), but I can't handle Kmett's code. Are there some intermediates abstractions I can learn? (For example in some librairies).
Thanks by advance for your help. Regards.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Hi Chris, Thanks for your answer, it appears that some of them are like hidden gems among code of more popular abstractions and you can easily don't care of them if you don't have such a guideline. Thanks a lot.
participants (2)
-
Christopher Allen
-
Gautier DI FOLCO