Ki Yung Ahn & Tim Sheard (2011):
A Hierarchy of Mendler style Recursion Combinators: Taming Inductive Datatypes with Negative Occurrences.
In: Proceeding of the 16th ACM SIGPLAN International Conference on Functional Programming.
ACM,
New York, NY, USA,
pp. 234–246,
doi:10.1145/2034773.2034807.
Robert Atkey (2009):
Syntax for Free: Representing Syntax with Binding Using Parametricity.
In: Pierre-Louis Curien: Typed Lambda Calculi and Applications.
Springer Berlin / Heidelberg,
pp. 35–49,
doi:10.1007/978-3-642-02273-9_5.
Robert Atkey, Sam Lindley & Jeremy Yallop (2009):
Unembedding Domain-Specific Languages.
In: Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell.
ACM,
New York, NY, USA,
pp. 37–48,
doi:10.1145/1596638.1596644.
Patrick Bahr & Tom Hvitved (2011):
Compositional Data Types.
In: Proceedings of the Seventh ACM SIGPLAN Workshop on Generic Programming.
ACM,
New York, NY, USA,
pp. 83–94,
doi:10.1145/2036918.2036930.
Jacques Carette, Oleg Kiselyov & Chung-Chieh Shan (2009):
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages.
Journal of Functional Programming 19(05),
pp. 509–543,
doi:10.1017/S0956796809007205.
Adam Chlipala (2008):
Parametric Higher-Order Abstract Syntax for Mechanized Semantics.
In: Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming.
ACM,
New York, NY, USA,
pp. 143–156,
doi:10.1145/1411204.1411226.
Hubert Comon, Max Dauchet, Remi Gilleron, Christof Löding, Florent Jacquemard, Denis Lugiez, Sophie Tison & Marc Tommasi (2007):
Tree Automata Techniques and Applications.
Draft.
Leonidas Fegaras & Tim Sheard (1996):
Revisiting Catamorphisms over Datatypes with Embedded Functions (or, Programs from Outer Space).
In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.
ACM,
New York, NY, USA,
pp. 284–294,
doi:10.1145/237721.237792.
Maarten Fokkinga (1994):
Monadic Maps and Folds for Arbitrary Datatypes.
Technical Report.
Memoranda Informatica, University of Twente.
Patricia Johann & Neil Ghani (2008):
Foundations for Structured Programming with GADTs.
In: Proceedings of the 35th annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.
ACM,
New York, NY, USA,
pp. 297–308,
doi:10.1145/1328438.1328475.
Simon Marlow (2010):
Haskell 2010 Language Report.
Erik Meijer, Maarten Fokkinga & Ross Paterson (1991):
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire.
In: Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture.
Springer-Verlag New York, Inc.,
New York, NY, USA,
pp. 124–144,
doi:10.1007/3540543961_7.
Erik Meijer & Graham Hutton (1995):
Bananas in Space: Extending Fold and Unfold to Exponential Types.
In: Proceedings of the Seventh International Conference on Functional Programming Languages and Computer Architecture.
ACM,
New York, NY, USA,
pp. 324–333,
doi:10.1145/224164.224225.
Simon Peyton Jones, Andrew Tolmach & Tony Hoare (2001):
Playing by the Rules: Rewriting as a practical optimisation technique in GHC.
In: 2001 ACM SIGPLAN 2001 Haskell Workshop,
pp. 203–233.
Frank Pfenning & Conal Elliot (1988):
Higher-Order Abstract Syntax.
In: Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation.
ACM,
New York, NY, USA,
pp. 199–208,
doi:10.1145/53990.54010.
Andrew M. Pitts (2006):
Alpha-Structural Recursion and Induction.
Journal of the ACM 53,
pp. 459–506,
doi:10.1145/1147954.1147961.
Tom Schrijvers, Simon Peyton Jones, Manuel Chakravarty & Martin Sulzmann (2008):
Type Checking with Open Type Functions.
In: Proceeding of the 13th ACM SIGPLAN International Conference on Functional Programming.
ACM,
New York, NY, USA,
pp. 51–62,
doi:10.1145/1411204.1411215.
Tom Schrijvers, Simon Peyton Jones, Martin Sulzmann & Dimitrios Vytiniotis (2009):
Complete and Decidable Type Inference for GADTs.
In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming.
ACM,
New York, NY, USA,
pp. 341–352,
doi:10.1145/1596550.1596599.
Carsten Schürmann, Joëlle Despeyroux & Frank Pfenning (2001):
Primitive recursion for higher-order abstract syntax.
Theoretical Computer Science 266(1-2),
pp. 1–57,
doi:10.1016/S0304-3975(00)00418-7.
Tim Sheard & Simon Peyton Jones (2002):
Template Meta-programming for Haskell.
In: Proceedings of the 2002 ACM SIGPLAN Workshop on Haskell.
ACM,
New York, NY, USA,
pp. 1–16,
doi:10.1145/581690.581691.
Mark R. Shinwell, Andrew M. Pitts & Murdoch J. Gabbay (2003):
FreshML: Programming with Binders Made Simple.
In: Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming.
ACM,
New York, NY, USA,
pp. 263–274,
doi:10.1145/944705.944729.
Wouter Swierstra (2008):
Data types à la carte.
Journal of Functional Programming 18(04),
pp. 423–436,
doi:10.1017/S0956796808006758.
Philip Wadler (1990):
Deforestation: Transforming programs to eliminate trees.
Theoretical Computer Science 73(2),
pp. 231–248,
doi:10.1016/0304-3975(90)90147-A.
Philip Wadler (1998):
The Expression Problem.
http://homepages.inf.ed.ac.uk/wadler/papers/ expression/expression.txt.
Geoffrey Washburn & Stephanie Weirich (2008):
Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism.
Journal of Functional Programming 18(01),
pp. 87–140,
doi:10.1017/S0956796807006557.