You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generic programming centers around the idea of abstracting from concrete, efficient algorithms to obtain generic algorithms that can be combined with different data representations to produce a wide variety of useful software.
So how well Haskell supports the generic programming? It does extremely well compared to other languages. How we can substantiate this claim? It's not very easy unfortunately because there are so many facilities in Haskell to support various generic styles.
Type system - type classes, algebraics, parametric polymorphism
Template Haskell to generate code at compile time
Data.Generic, Data.Data, Data.Typable and so on (integrated with compiler)
dozens of libraries for specific techniques (such as Scrap Your Boilerplate, Datatypes a la carte, Recursion schemes etc)
dozens of very abstract primitives (start from Typeclassopedia and go on to profunctors, lenses, conduits etc)
hundreds of unusually abstract algorithms (e.g. abstract breadth first search, abstract structural unification)
Generics category on Hackage
etc
So the question is how do we describe all of that concisely, and what is already covered elsewhere?
No description provided.
The text was updated successfully, but these errors were encountered: