Research papers/Generics

From HaskellWiki

Overview[edit]

Comparing Approaches to Generic Programming in Haskell
Ralf Hinze, Johan Jeuring, and Andres Löh. To appear in Roland Backhouse, Jeremy Gibbons, Ralf Hinze, and Johan Jeuring, editors, Lecture notes of the Spring School on Datatype-Generic Programming 2006, © Springer-Verlag.
Comparing Libraries for Generic Programming in Haskell
Alexey Rodriguez Yakushev, Johan Jeuring, Patrik Jansson, Alex Gerdes, Oleg Kiselyov, Bruno C. d. S. Oliviera. In Andy Gill, editor, Proceedings of the ACM SIGPLAN Haskell Symposium 2008, pages 111-122, and available as an extended version: Technical report Utrecht University UU-CS-2008-010, 2008.
Generic programming with C++ concepts and Haskell type classes - a comparison
Jean-Philippe Bernardy, Patrik Jansson, Marcin Zalewski, and Sibylle Schupp. JFP, 2010. In press. An earlier and shorter version was published in Proc. ACM SIGPLAN Workshop on Generic Programming (WGP), pages 37-48. ACM, 2008 as [A comparison of C++ concepts and Haskell type classes -> http://doi.acm.org/10.1145/1411318.1411324]
Generic Programming -- An Introduction
Roland Backhouse, Patrik Jansson, Johan Jeuring and Lambert Meertens. Advanced Functional Programming (S. Doaitse Swierstra, editor), LNCS 1608, pp. 28-115, 1999.
PolyLib - a polytypic function library
Patrik Jansson and Johan Jeuring. Workshop on Generic Programming, Marstrand, June 1998.
Polytypic programming
J. Jeuring and P. Jansson. In J. Launchbury et al., editors, Advanced Functional Programming '96, volume 1129 of LNCS, pages 68-114. Springer-Verlag, 1996.

Scrap your boilerplate![edit]

Scrap your boilerplate: a practical approach to generic programming
Ralf Laemmel and Simon Peyton Jones, Proc ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI 2003), New Orleans, pp26-37, Jan 2003.
Scrap more boilerplate: reflection, zips, and generalised casts
Ralf Laemmel and Simon Peyton Jones. appeared in Proceedings of ICFP 2004, ACM Press
Scrap your boilerplate with class: extensible generic functions
Ralf Laemmel and Simon Peyton Jones. appeared in Proceedings of ICFP 2005, ACM Press
"Scrap Your Boilerplate" Reloaded
Ralf Hinze, Andres Löh and Bruno C. d. S. Oliveira. In Philip Wadler and Masimi Hagiya, editors, Proceedings of the Eighth International Symposium on Functional and Logic Programming (FLOPS 2006), 24-26 April 2006, Fuji Susono, Japan.
RecLib - A Recursion and Traversal Library for Haskell (Or: Scrap Your Boilerplate Systematically)
Deling Ren and Martin Erwig, Haskell Workshop 2006
Uniplate - Uniform Boilerplate and List Processing
Neil Mitchell and Colin Runciman, Haskell Workshop 2007

Generic Haskell[edit]

Generic Haskell: Applications
Ralf Hinze and Johan Jeuring. Technical Report UU-CS-2003-16, Department of Computer Science, Utrecht University, 2003.
Generic Haskell: a language for generic programming
Johan Jeuring et al
Generic Haskell: Practice and theory
R Hinze, J Jeuring - lecture notes of the Summer School on Generic Programming, 2002 - Springer
Generic views on data types
Stefan Holdermans, Johan Jeuring, Andres Löh, and Alexey Rodriquez. In Tarmo Uustalu, editor, Mathemetics of Program Construction, 8th International Conference, MPC 2006, Kuressaare, Estonia, July 3—5, 2006, Proceedings, volume 4014 of Lecture Notes in Computer Science, pages 209—234. Springer-Verlag, 2006.
Inferring type isomorphisms generically
Frank Atanassow and Johan Jeuring. In Proc. Mathematics of Program Construction (MPC) 2004.

Applications of Generic Haskell[edit]

Scripting XML with Generic Haskell
Frank Atanassow, Dave Clarke and Johan Jeuring. In Proc. 7th Brazilian Symposium on Programming Languages (SBLP) 2003.
UUXML: A Type-Preserving XML SchemaHaskell Data Binding
Frank Atanassow, Dave Clarke and Johan Jeuring. In Proc. Practical Aspects of Declarative Languages (PADL) 2004.

Testing[edit]

Testing properties of generic functions
Patrik Jansson, Johan Jeuring, and students of the Utrecht University Generic Programming class. In Zoltan Horvath, editor, Proceedings of IFL 2006, volume 4449 of LNCS, pages 217-234. Springer-Verlag, 2007.
Testing polymorphic properties
Jean-Philippe Bernardy, Patrik Jansson, and Koen Claessen. In Proceedings of ESOP 2010, volume 6012 of LNCS. Springer, 2010.

DSL / applications / C++[edit]

Generic libraries in C++ with concepts from high-level domain descriptions in Haskell: A DSL for computational vulnerability assessment.
Daniel Lincke, Patrik Jansson, Marcin Zalewski, and Cezar Ionescu. In IFIP Working Conf. on Domain Specific Languages, volume 5658/2009 of LNCS, pages 236{261, 2009.
Polytypic data conversion programs
Patrik Jansson and Johan Jeuring. Science of Computer Programming, 43(1):35-75, 2002. An earlier version was published as "Polytypic compact printing and parsing" in Doaitse Swierstra, editor, ESOP'99: European Symposium on Programming, volume 1576 of LNCS, pages 273-287. Springer-Verlag, 1999.
A framework for polytypic programming on terms, with an application to rewriting
Patrik Jansson and Johan Jeuring. In Workshop on Generic Programming. Utrecht University, 2000. UU-CS-2000-19.
Functional pearl: Polytypic unification
Patrik Jansson and Johan Jeuring. J. Funct. Program., 8(5):527-536, 1998.

Theory, cata, etc.[edit]

Parametricity and dependent types
Jean-Philippe Bernardy, Patrik Jansson, and Ross Paterson. In Proceedings of ICFP 2010, pages 345-356, Baltimore, Maryland, 2010. ACM.
Algebra of programming in Agda: dependent types for relational program derivation
Shin-Cheng Mu, Hsiang-Shang Ko, and Patrik Jansson. J. Funct. Program., 19:545-579, 2009. Earlier version published as "Algebra of programming using dependent types" in Mathematics of Program Construction, volume 5133/2008 of LNCS, pages 268-283. Springer-Verlag, 2008.
Universes for generic programs and proofs in dependent type theory
Marcin Benke, Peter Dybjer, and Patrik Jansson. Nordic Journal of Computing, 10(4)
265{289, 2003.
PolyP - a polytypic programming language extension
P. Jansson and J. Jeuring. In Proc. POPL'97: Principles of Programming Languages, pages 470-482. ACM Press, 1997.

Other[edit]

Prototyping generic programming in Template Haskell
Ulf Norell and Patrik Jansson. In Dexter Kozen, editor, Mathematics of Program Construction, volume 3125 of LNCS, pages 314-333. Springer-Verlag, 2004.
Polytypic programming in Haskell
Ulf Norell and Patrik Jansson. In Phil Trinder, Greg Michaelson, and Ricardo Peña, editors, Implementation of Functional Languages 2003, 15th International Workshop, volume 3145 of LNCS, pages 168-184. Springer-Verlag, 2004.
Functional Polytypic Programming
Patrik Jansson. PhD thesis, Computing Science, Chalmers University of Technology and Göteborg University, Sweden, May 2000.
Generics for the masses
Ralf Hinze. In Kathleen Fisher, editor, Proceedings of the 2004 International Conference on Functional Programming, Snowbird, Utah, September 19-22, 2004.
A Lightweight Implementation of Generics and Dynamics
James Cheney and Ralf Hinze. In Manuel Chakravarty, editor, Proceedings of the ACM SIGPLAN 2002 Haskell Workshop, Pittsburgh, PA, USA, October 3, 2002, pp 90-104.
Type-indexed data types
Ralf Hinze, Johan Jeuring, Andres Löh. In Eerke Boiten, Bernhard Möller, editors, Proceedings of the Sixth International Conference on Mathematics of Program Construction (MPC 2002), Dagstuhl, Germany, July 8-10, 2002. Lecture Notes in Computer Science 2386, pp. 148-174.
Memo functions, polytypically!
Ralf Hinze. In Johan Jeuring, editor, Proceedings of the Second Workshop on Generic Programming, WGP 2000, Ponte de Lima, Portugal, 6th July 2000.
Efficient Generalized Folds
Ralf Hinze. In Johan Jeuring, editor, Proceedings of the Second Workshop on Generic Programming, WGP 2000, Ponte de Lima, Portugal, 6th July 2000.
Polytypic values possess polykinded types
Ralf Hinze. In Roland Backhouse, J.N. Oliveira, editors, Proceedings of the Fifth International Conference on Mathematics of Program Construction (MPC 2000), Ponte de Lima, Portugal, July 3-5, 2000.
A New Approach to Generic Functional Programming
Ralf Hinze. In Proceedings of the 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Boston, Massachusetts, January 19-21, 2000.
Polytypic Programming with Ease
Ralf Hinze. In 4th Fuji International Symposium on Functional and Logic Programming (FLOPS'99), Tsukuba, Japan, November 1999, pp. 21-36. Lecture Notes in Computer Science 1722.
A Generic Programming Extension for Haskell
Ralf Hinze. In Erik Meijer, editor, Proceedings of the Third Haskell Workshop, Paris, France, September 1999. The proceedings appear as a technical report of Universiteit Utrecht, UU-CS-1999-28.
Polytypic Functions Over Nested Datatypes
Ralf Hinze. In Rafael Dueire Lins, editor, 3rd Latin-American Conference on Functional Programming (CLaPF'99), March 1999.
Generic Programs and Proofs
Ralf Hinze. Habilitationsschrift, Universitt Bonn, October 2000.
Type-indexed data types
Ralf Hinze, Johan Jeuring, and Andres Löh. Technical Report UU-CS-2002-11, Department of Computer Science, Utrecht University, 2002.
Combining generics and dynamics
Peter Achten and Ralf Hinze. Technical Report NIII-R0206, Nijmegen Institute for Computing and Information Sciences, University of Nijmegen, July 2002.
Programmable rewriting strategies in Haskell
Ralf Lämmel, Invited paper, Proceedings of WRS 2004 13 pages To appear in ENTCS, 2004
A Strafunski Application Letter
Ralf Lämmel and Joost Visser, Proc. of Practical Aspects of Declarative Programming (PADL'03), LNCS 2562, 2003, 357--375.
Dealing with Large Bananas
Ralf Lämmel and Joost Visser and Jan Kort, 46--59, WGP00 Proceedings of WGP'2000, Technical Report, Universiteit Utrecht
Strategic polymorphism requires just two combinators!
Ralf Lämmel and Joost Visser, arXiv, cs.PL/0212048, 2002
Type-safe Functional Strategies
Ralf Lämmel and Joost Visser, draft proceedings of SFP'00, St Andrews, 2000.
TypeCase: A Design Pattern for Type-Indexed Functions
Bruno C. d. S. Oliveira and Jeremy Gibbons (2005). Haskell Workshop, September 2005.
Design Patterns as Higher-Order Datatype-Generic Programs
Jeremy Gibbons (2006). Submitted for publication.
Functor Pulling
Lambert Meertens. Proceedings of the International Workshop on Generic Programming (WGP'98), Marstrand, Sweden, June 1998.
Calculemus Igitur!
Lambert Meertens, Presented at The Fun of Programming, a Symposium in honour of Richard Bird's 60th birthday
Calculate Polytypically!
Lambert Meertens, Programming Languages: Implementations Logics, and Programs, Proceedings PLILP '96 (Herbert Kuchen and S. Doaitse Swierstra, editors), LNCS 1140, pp. 1--16, 1996.
Category Theory for Program Construction
Lambert Meertens, Lecture Notes for ESSLLI '95, Barcelona, Catalunya.
RepLib: A Library for Derivable Type Classes
Stephanie Weirich. Haskell Workshop, Portland, OR, USA, September 2006.
Type-safe Runtime Polytypic Programming
Stephanie Weirich. To appear in Journal of Functional Programming, 2006.
Parametric datatype-genericity
Jeremy Gibbons and Ross Paterson. Submitted for publication.