graninas/software-design-in-haskell

Suggestion: A Curated Set of Packages Necessary to Mastery in Haskell

Opened this issue · 1 comments

psygo commented

So far, from some months learning Haskell, it's apparent that there are some packages of such importance to the language and being productive that they are basically a must to anyone on the path to Haskell mastery. They are evidently not sufficient, but seem necessary.

If this set exists somewhere, please do point it out to me and I'll close the issue, it's just that I haven't found it yet — the closest I've got to it was the Applications and libraries page on the Haskell wiki.

As a beginner, I wonder what this set comprises. And I truly wish a more experienced Haskeller could also add some other pieces of helpful metadata, like importance, difficulty and alternatives.

Out of the top of my head, here are some I've seen repeatedly in various books, blog posts and code dependencies:

Package Importance Difficulty of Use (API) Difficulty of Implementation Necessary theory behind it
aeson medium easy medium easy
mtl very high medium medium medium
lens high medium (?) very high high
containers very high easy (?) (?)
blaze-html | lucid medium easy (?) easy

There's a lot of subjectivity on that table, of course. But I think it's possible to get somewhere sensible at some point.

@psygo Thank you for trying to arrange this! There is State of the Haskell ecosystem with a lot of important libraries mentioned.

If you want to create one more page, please do. Once it becomes more or less informative, I can reference it here.