Staged sums of products

Matthew Pickering, Andres Löh, Nicolas Wu
2020 Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell  
Generic programming libraries have historically traded efficiency in return for convenience, and the generics-sop library is no exception. It offers a simple, uniform, representation of all datatypes precisely as a sum of products, making it easy to write generic functions. We show how to finally make generics-sop fast through the use of staging with Typed Template Haskell. CCS Concepts: • Software and its engineering → Functional languages.
doi:10.1145/3406088.3409021 dblp:conf/haskell/PickeringLW20 fatcat:xbfcsqcorneavimep2vssnjdy4