[Haskell-cafe] The next 7000... abstractions to learn!

Christopher Allen cma at bitemyapp.com
Mon Nov 17 23:59:14 UTC 2014


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/profunctors
(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-on-lens%3F
(Lens, Prism, Iso, Choice, Profunctor)

Hope this helps,
Chris Allen





On Mon, Nov 17, 2014 at 5:48 PM, Gautier DI FOLCO <gautier.difolco at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141117/f0c43e3a/attachment.html>


More information about the Haskell-Cafe mailing list