Instant Generics -*-text-*- ~~~~~~~~~~~~~~~~ This code illustrates "Instant Generics" using *some* of the comparative generics benchmarks from Rodriguez et al. [1]. Here a summary of the contents: Representable.hs -- representation type for manifest types Representable1.hs -- representation type for functors Encode.hs -- standard bit encode example Tree.hs -- various tree types and their representations Eq.hs -- generic equality as an extension of the Eq class Fmap.hs -- generic map as an extension of the Functor class Gmap.hs -- generic map as a new class Gmap StructView.hs -- generic map using the structural view Company.hs -- the infamous company datatype Paradise.hs -- paradise benchmark (generic increase salary) RmWeight.hs -- remove weights from a weighted tree LICENSE -- all code licensed under the three clause BSD license For further details, please see http://www.cse.unsw.edu.au/~chak/project/generics/ [1] Alexey Rodriguez, Johan Jeuring, Patrik Jansson, Alex Gerdes, Oleg Kiselyov, and Bruno C. d. S. Oliveira. "Comparing libraries for generic programming in Haskell." In Haskell '08: Proceedings of the first ACM SIGPLAN Symposium on Haskell, pages 111-122. ACM Press, 2008.