author = {{TOP Software}},
year = {2023},
}
+
+@article{hinze_derivable_2001,
+ title = {Derivable {Type} {Classes}},
+ volume = {41},
+ issn = {1571-0661},
+ url = {https://www.sciencedirect.com/science/article/pii/S1571066105805420},
+ doi = {https://doi.org/10.1016/S1571-0661(05)80542-0},
+ abstract = {Generic programming allows you to write a function once, and use it many times at different types. A lot of good foundational work on generic programming has been done. The goal of this paper is to propose a practical way of supporting generic programming within the Haskell language, without radically changing the language or its type system. The key idea is to present generic programming as a richer language in which to write default method definitions in a class declaration. On the way, we came across a separate issue, concerning type-class overloading where higher kinds are involved. We propose a simple type-class system extension to allow the programmer to write richer contexts than is currently possible.},
+ number = {1},
+ journal = {Electronic Notes in Theoretical Computer Science},
+ author = {Hinze, Ralf and Jones, Simon Peyton},
+ year = {2001},
+ pages = {5--35},
+ file = {Hinze and Jones - 2001 - Derivable Type Classes.pdf:/home/mrl/.local/share/zotero/storage/33IF2HMZ/Hinze and Jones - 2001 - Derivable Type Classes.pdf:application/pdf},
+}