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