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

Gautier DI FOLCO gautier.difolco at gmail.com
Tue Nov 18 22:39:19 UTC 2014


2014-11-18 0:59 GMT+01:00 Christopher Allen <cma at bitemyapp.com>:

> 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
>>
>>
>
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141118/4c60649d/attachment.html>


More information about the Haskell-Cafe mailing list