ivor-0.1.5: papers/bib/literature.bib
@inproceedings{sheard-langfuture,
author = {Tim Sheard},
title = "Languages of the future",
booktitle = "ACM Conference on Object Orientated Programming Systems, Languages and Applicatioons (OOPSLA'04)",
year = "2004"
}
@inproceedings{ivor,
author = {Edwin Brady},
title = {{Ivor}, a proof engine},
year = {2007},
publisher = {Springer},
series = {LNCS},
booktitle = {Implementation and Application of Functional Languages 2006},
note = {To appear}
}
@misc{coq-in-coq,
author = {Bruno Barras and Benjamin Werner},
year = 1997,
title = {{Coq} in {Coq}}
}
@article{hudak-edsl,
author = {Paul Hudak},
title = {Building Domain-Specific Embedded Languages},
year = {1996},
month = {December},
journal = {ACM Computing Surveys},
volume = {28A},
number = {4}
}
@inproceedings{concon,
author = {Conor McBride and Healfdene Goguen and James McKinna},
title = {Some Constructions On Constructors},
year = 2005,
booktitle = {TYPES 2004},
publisher = {Springer},
series = {LNCS},
volume = {3839}
}
@InProceedings{Hume-GPCE,
author = {K. Hammond and G.J. Michaelson},
title = {{Hume: a Domain-Specific Language for Real-Time Embedded Systems}},
booktitle = {{Proc. Conf. Generative Programming and Component Engineering (GPCE~'03)}},
publisher = {Springer-Verlag},
series = {Lecture Notes in Computer Science},
year = {2003},
}
@inproceedings{lcf-milner,
author = {Robin Milner},
title = {{LCF}: A Way of Doing Proofs with a Machine},
booktitle = {Mathematical Foundations of Computer Science 1978},
pages = {146-159},
year = 1979,
series = {LNCS},
volume = {64}
}
@inproceedings{epireloaded,
title = {Epigram Reloaded: A Standalone Typechecker for {ETT}},
author = {James Chapman and Thorsten Altenkirch and Conor McBride},
year = 2006,
booktitle = {Trends in Functional Programming 2005},
note = {To appear}
}
@TECHREPORT{why-tool,
AUTHOR = {J.-C. Filli\^atre},
TITLE = {{Why: a multi-language multi-prover verification tool}},
INSTITUTION = {{LRI, Universit\'e Paris Sud}},
TYPE = {{Research Report}},
NUMBER = {1366},
MONTH = {March},
YEAR = 2003,
URL = {http://www.lri.fr/~filliatr/ftp/publis/why-tool.ps.gz}
}
@misc{ large-extraction,
author = "Lu\'iz Cruz-Filipe and Bas Spitters",
title = "Program Extraction from Large Proof Developments",
year = 2003,
url = "citeseer.ist.psu.edu/cruz-filipe03program.html" }
@inproceedings{ fta,
author = "Herman Geuvers and Freek Wiedijk and Jan Zwanenburg",
title = "A Constructive Proof of the Fundamental Theorem of Algebra without Using the Rationals",
booktitle = "{TYPES 2000}",
pages = "96--111",
year = "2000",
url = "citeseer.ist.psu.edu/geuvers01constructive.html" }
@article{mckinna-expr,
title = {A type-correct, stack-safe, provably correct, expression compiler in {Epigram}},
author = {James McKinna and Joel Wright},
year = 2007,
journal = {Journal of Functional Programming},
note = {To appear}
}
@article{pugh-omega,
title = "The {Omega} {Test}: a fast and practical integer programming algorithm for dependence analysis",
author = "William Pugh",
journal = "Communication of the ACM",
year = 1992,
pages = {102--114}
}
@misc{four-colour,
author = "Georges Gonthier",
title = "A computer-checked proof of the {Four Colour Theorem}",
year = 2005,
howpublished = {\url{http://research.microsoft.com/~gonthier/4colproof.pdf}}}
@inproceedings{sparkle,
author = "Maarten {de Mol} and Marko {van Eekelen} and Rinus Plasmeijer",
title = "Theorem Proving for Functional Programmers",
url = "citeseer.ist.psu.edu/654423.html",
BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2002)},
publisher = {Springer},
series = {LNCS},
volume = {2312},
year = 2002
}
@misc{agda,
title = {Agda},
author = {Catarina Coquand},
howpublished= {\url{http://agda.sourceforge.net/}},
year = 2005
}
@misc{cover,
title = {Cover Translator},
howpublished = {\url{http://coverproject.org/CoverTranslator/}}
}
@misc{parsec,
title = {Parsec, a fast combinator parser},
author = {Daan Leijen},
year = {2001},
howpublished = {\url{http://www.cs.uu.nl/~daan/parsec.html}}
}
@inproceedings{dtpmsp-gpce,
author = {Edwin Brady and Kevin Hammond},
title = {A Verified Staged Interpreter is a Verified Compiler},
booktitle = {{Proc. Conf. Generative Programming and Component Engineering (GPCE~'06)}},
year = 2006
}
@misc{haddock,
title = {Haddock: A {Haskell} Documentation Tool},
howpublished = {\url{http://www.haskell.org/haddock/}}
}
@inproceedings{offshoring,
title = {Implicitly Heterogeneous Multi-Stage Programming},
author = {Jason Eckhardt and Roumen Kaibachev and Emir Pa\v{s}al\'{i}c and Kedar Swadi and Walid Taha},
booktitle = {Proc. 2005 Conf. on Generative Programming and Component Engineering (GPCE 2005)},
publisher = {Springer},
series = {LNCS},
volume = {3676},
year = 2005
}
@misc{alti-partial,
title = {Stop thinking about bottoms when writing programs},
author = {Thorsten Altenkirch},
year = 2006,
note = {Talk at BCTCS 2006}
}
@misc{tarmo-partial,
title = {Partiality is an Effect},
author = {Tarmo Uustalu},
year = 2004,
note = {Talk at Dagstuhl workshop on Dependently Typed Progamming}
}
@inproceedings{McKinnaPOPL06,
author = {James McKinna},
title = {Why dependent types matter},
booktitle = {Proc. ACM Symp. on Principles of Programming Languages (POPL 2006)},
year = {2006},
issn = {0362-1340},
pages = {1--1},
doi = {http://doi.acm.org/10.1145/1111320.1111038},
}
@inproceedings{leroy-compiler,
title = {Formal Certification of a Compiler Back-end},
author = {Xavier Leroy},
year = 2006,
booktitle = {Principles of Programming Languages 2006},
pages = {42--54},
publisher = {ACM Press}
}
@inproceedings{hutton-exceptions,
title = {Compiling Exceptions Correctly},
year = 2004,
author = {Graham Hutton and Joel Wright},
booktitle = {Mathematics of Program Construction},
publisher = {Springer},
series = {LNCS},
volume = {3125}
}
@inproceedings{tagless-staged,
title = {Tagless Staged Interpreters for Typed Languages},
year = {2002},
booktitle = {Proc. 2002 International Conf. on Functional Programming (ICFP 2002)},
author = {Emir Pa\v{s}al\'{i}c and Walid Taha and Tim Sheard},
publisher = {ACM}
}
@inproceedings{env-classifiers,
title = {Environment Classifiers},
year = 2003,
author = {Walid Taha},
booktitle = {Proc. ACM Symp. on Principles of Programming Languages (POPL 2003)},
pages = {26--37},
}
@inproceedings{dsl-msp,
title = {{DSL} Implementation in {MetaOCaml}, {Template Haskell}, {and C++}},
booktitle = {Domain Specific Program Genearation 2004},
author = {Krzysztof Czarnecki and John O'Donnell and J\"{o}rg Striegnitz and Walid Taha},
publisher = {Springer},
series = {LNCS},
volume = {3016},
year = 2004
}
@misc{ gadt-extk,
author = {Tim Sheard and James Hook and Nathan Linger},
title = {{GADTs} + Extensible Kinds = Dependent Programming},
year = 2005,
misc = {Submitted to ICFP '05}
}
@INPROCEEDINGS{dt-framework,
TITLE = {A Dependently Typed Framework for Static Analysis of Program Execution Costs},
YEAR = {2006},
BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2005)},
AUTHOR = {Edwin Brady and Kevin Hammond},
VOLUME = {4015},
SERIES = {LNCS},
PAGES = {74--90},
PUBLISHER = {Springer}
}
@INPROCEEDINGS{step-counting,
TITLE = {Accurate Step Counting},
YEAR = {2006},
BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2005)},
AUTHOR = {Catherine Hope and Graham Hutton},
PUBLISHER = {Springer}
}
@misc{multi-taha,
author = {Walid Taha},
title = {A Gentle Introduction to Multi-stage Programming},
year = {2003},
note = {Available from \url{http://www.cs.rice.edu/~taha/publications/journal/dspg04a.pdf}}
}
@misc{mckinnabrady-phase,
title = {Phase Distinctions in the Compilation of {Epigram}},
year = 2005,
author = {James McKinna and Edwin Brady},
note = {Draft}
}
@phdthesis{ brady-thesis,
author = {Edwin Brady},
title = {Practical Implementation of a Dependently Typed Functional Programming Language},
year = 2005,
school = {University of Durham}
}
@phdthesis{ taha-thesis,
author = {Walid Taha},
title = {Multi-stage Programming: Its Theory and Applications},
year = 1999,
school = {Oregon Graduate Inst. of Science and Technology}
}
@phdthesis{ pasalic-thesis,
author = {Emir Pa\v{s}al\'{i}c},
title = {The Role of Type-Equality in Meta-programming},
year = 2004,
school = {OGI School of Science and Engineering}
}
@misc{ydtm,
author = {Thorsten Altenkirch and Conor McBride and James McKinna},
title = {Why Dependent Types Matter},
note = {Draft},
year = 2005}
@inproceedings { wadler-listless,
author = {Philip Wadler},
title = {Listlessness is better than laziness: {Lazy} evaluation and garbage collection at compile-time},
booktitle = {Proceedings of the 1984 ACM Symposium on LISP and functional programming},
year = 1984,
pages = {45--52}
}
@techreport { gofer-impl,
author = {Mark P. Jones},
title = {The implementation of the Gofer functional programming system},
month = {May},
year = {1994},
number = {YALEU/DCS/RR-1030},
institution = {Yale University}
}
@techreport { pm-opt1,
author = {Kevin Scott and Norman Ramsey},
title = {When do match-compilation heuristics matter?},
month = {May},
year = {2000},
number = {CS-2000-13},
institution = {Department of Computer Science, University of Virginia}
}
@inproceedings{ pm-opt2,
author = "Fabrice Le Fessant and Luc Maranget",
title = "Optimizing Pattern Matching",
booktitle = "International Conference on Functional Programming",
pages = "26-37",
year = "2001",
url = "citeseer.ist.psu.edu/lefessant01optimizing.html" }
@incollection{con-engine,
author = {G\'{e}rard Huet},
title = {The constructive engine},
booktitle = {A Perspective in Theoreticak Computer Science},
publisher = {World Scientific Publishing},
year = {1989},
editor = {R. Narasimhan},
note = {Commemorative Volume for Gift Siromoney},
pages = {38--69}
}
@inproceedings{gadts,
title = {Simple unification-based type inference for {GADTs}},
author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and Stephanie Weirich and Geoffrey Washburn},
year = {2006},
booktitle = {Proc. 2006 International Conf. on Functional Programming (ICFP 2006)}
}
@misc{wobbly,
author = {Simon {Peyton Jones} and Geoffrey Washburn and Stephanie Weirich},
title = {Wobbly types: type inference for generalised algebraic data types},
year = {2004},
note = {Submitted to POPL 2005}
}
@misc{epigram-afp,
author = {Conor McBride},
title = {Epigram: Practical Programming with Dependent Types},
year = {2004},
howpublished = {Lecture Notes, International Summer School on Advanced Functional Programming}
}
@book{ml85,
author = {Per Martin-L\"{o}f},
title = "Intuitionistic Type Theory",
year = "1985",
publisher = "Bibliopolis"
}
@article{modular-fulllazy,
title = {A Modular Fully Lazy Lambda Lifter in {Haskell}},
author = {Simon {Peyton Jones} and David Lester},
year = {1991},
month = {May},
journal = {Software Practice and Experience},
volume = {21},
number = {5},
pages = {479--506}
}
@article{ghani-jay95,
author = {Barry Jay and Neil Ghani},
title = {The Virtues of Eta-Expansion},
journal = {Journal of Functional Programming},
year = {1995},
volume = {5},
number = {2},
pages = {135-154},
}
@misc{nkpat,
author = {Lennart Augustsson},
title = {n+k patterns},
year = {1993},
howpublished = {Message to the haskell mailing list, Mon, 17 May 93}
}
@article{ danvy98functional,
author = "Olivier Danvy",
title = "Functional Unparsing",
journal = "Journal of Functional Programming",
volume = "8",
number = "6",
pages = "621-625",
year = "1998",
url = "citeseer.ist.psu.edu/danvy98functional.html" }
@inproceedings{SeveriPoll94,
author = {Paula Severi and Erik Poll},
booktitle = {Logical Foundations of Computing Science, LFCS'94},
editor = {A. Nerode and Yu. V. Matiyasevich},
number = {813},
pages = {316--328},
publisher = {Springer},
series = {LNCS},
title = {{P}ure {T}ype {S}ystems with {D}efinitions},
year = {1994}
}
@inproceedings{coinductive,
title = {An Application of Co-Inductive Types in Coq: Verification of the Alternating Bit Protocol},
booktitle = {Proceedings of the 1995 Workshop on Types for Proofs and Programs},
series = {LNCS},
year = {1995},
volume = {1158},
pages = {135-152},
publisher = {Springer-Verlag},
author = {Eduardo Gim\'{e}nez}
}
@book{erlang,
author = "Joe Armstrong and Robert Virding and Claes Wikstr{\"o}m and Mike Williams",
title = "Concurrent Programming in Erlang",
edition = "Second",
publisher = "Prentice-Hall",
year = "1996",
url = "citeseer.ist.psu.edu/armstrong93concurrent.html"
}
@PhdThesis{alti:phd93,
author = "Thorsten Altenkirch",
title = "Constructions, Inductive Types and Strong Normalization",
school = "University of Edinburgh",
year = "1993",
month = "November",
}
@inproceedings{coq-modules,
author = "Jacek Chrzaszcz",
title = "Modules in {Coq} Are and Will Be Correct",
year = {2004},
booktitle = {Types for Proofs and Programs 2003},
editor = {Stefano Berardi and Mario Coppo and Ferruccio Damiani},
publisher = {Springer},
volume = {3085}
}
@inproceedings{comp-polymorphism,
author = "Robert Harper and Greg Morrisett",
title = "Compiling Polymorphism Using Intensional Type Analysis",
year = "1995",
booktitle = "Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages",
pages = "130 -- 141"
}
@misc{runtime-loader,
author = "Andre Pang",
title = "{GHC} Runtime Loading",
year = "2004",
howpublished = {Available from \verb+http://www.algorithm.com.au/wiki/hacking/haskell.ghc_runtime_loading+}
}
@article{mccarthy-lisp,
author = "John McCarthy",
title = "Recursive Functions of Symbolic Expressions and Their Computation By Machine",
year = "1960",
journal = "Communications of the ACM",
volume = "3",
number = "4",
pages = "184--195"
}
@book{stl,
author = " David R. Musser and Atul Saini and Gillmer J. Derge",
title= "The {STL} Tutorial and Reference Guide: {C++} Programming with the Standard Template Library",
year = "2001",
publisher = "Addison Wesley"
}
@misc{ phase-distinction,
author = "Luca Cardelli",
title = "Phase Distinctions in Type Theory",
howpublished = "Manuscript",
year = "1988",
url = "citeseer.ist.psu.edu/cardelli88phase.html" }
@book {pierce-types,
author = "Benjamin C. Pierce",
title = "Type and Programming Languages",
year = "2002",
publisher = "MIT Press"
}
@article{ coqcc,
Author = "Thierry Coquand and G\'{e}rard Huet",
title = "The calculus of constructions",
year = "1988",
journal = "Information and Computation",
volume = "76",
pages = "95--120"
}
@article{ miller91jlc,
Author = "Dale Miller",
Title = "A Logic Programming Language with Lambda-Abstraction,
Function Variables, and Simple Unification",
Journal = "Journal of Logic and Computation",
Volume = "1",
Number = "4",
Pages = "497-536",
Year = "1991",
URL = "citeseer.ist.psu.edu/miller91logic.html",
URL = "file://ftp.cis.upenn.edu/pub/papers/miller/jlc91.dvi.Z" }
@article{miller-unity,
author = "Dale Miller",
title = "Unification Under a Mixed Prefix",
journal = "Journal of Symbolic Computation",
volume = "14",
pages = "321--358",
year = 1992
}
@inproceedings{ cynthia,
author = "Jon Whittle and Alan Bundy and Richard J. Boulton and Helen Lowe",
title = "An {ML} Editor Based on Proofs-As-Programs",
booktitle = "Automated Software Engineering",
pages = "166-173",
year = "1999",
url = "citeseer.ist.psu.edu/whittle99ml.html" }
@misc{ewd340,
title={The Humble Programmer},
author={Edsger Dijkstra},
year={1972},
note={Turing Award Lecture, EWD 340}
}
@misc{fortran,
title={Specifications for the {IBM} Mathematical FORmula TRANslating System, {FORTRAN}},
author={{IBM Applied Science Division}},
key={IBM},
year={1954},
month={November}
}
@inproceedings{quickcheck,
title = {{QuickCheck}: A Lightweight Tool For Random Testing Of {Haskell} Programs},
author = {Koen Claessen and John Hughes},
year = {2000},
booktitle = {International Conference on Functional Programming}
}
@inproceedings{currylam,
title = {Functionality in Combinatory Logic},
author = {Haskell Curry},
year = {1934},
booktitle = {Proc. Nat. Acad. Sci, USA},
volume = {20},
pages = {584--590}
}
@article{churchsimplelam1,
title = {A set of postulates for the foundation of logic},
author = {Alonzo Church},
year = {1932},
journal = {Annals of Mathematics},
volume = {2},
number = {33},
pages = {346--366}
}
@article{churchsimplelam2,
title = {A set of postulates for the foundation of logic},
author = {Alonzo Church},
year = {1933},
journal = {Annals of Mathematics},
volume = {2},
number = {34},
pages = {839--864}
}
@article{churchlam,
title = {A Formulation of the Simple Theory of Types},
author = {Alonzo Church},
year = {1940},
journal = {Journal of Symbolic Logic},
volume = {5},
pages = {56--58}
}
@book{mitchell,
title = {Concepts in Programming Languages},
author = {John C. Mitchell},
year = {2003},
publisher = {Cambridge University Press}
}
@inproceedings{harrison-hol99,
title = {A Machine-Checked Theory of Floating Point Arithmetic},
year = {1999},
booktitle = {Theorem Proving in Higher Order Logics: 12th International Conference, TP},
pages = {113--130},
author = {John Harrison},
crossref = {hol99}
}
@inproceedings{c--,
title = {C--: A portable assembly language},
year = {1997},
booktitle = {Workshop on Implementing Functional Languages, St Andrews},
author = {Simon {Peyton Jones} and Thomas Nordin and Dino Oliva},
crossref = {func-imp97}
}
@proceedings{func-imp97,
title = {Workshop on Implementing Functional Languages, St Andrews},
year = {1997},
editor = {C Clack},
publisher = {Springer-Verlag}
}
@proceedings{hol99,
volume = {1690},
title = {Theorem Proving in Higher Order Logics: 12th International Conference, TPHOLs'99},
year = {1999},
editor = {Yves Bertot and Gilles Dowek and Andr{\'e} Hirschowitz and Christine Paul},
publisher = {Springer-Verlag},
address = {Nice, France},
series = {LNCS}
}
@book{mathlogic,
title = {Mathematical Logic and Programming Languages},
year = {1985},
editor = {C.A.R. Hoare and J.C. Shepherdson},
publisher = {Prentice-Hall}
}
@book{automath,
title = {Selected Papers on Automath},
year = {1994},
editor = {S. Abramsky and J. Barwise and K. Fine and H.J. Keisler and A.S. Troelstr},
publisher = {North-Holland}
}
@misc{gimps,
howpublished = {http://www.mersenne.org/prime.htm},
title = {Great Internet Mersenne Prime Search}
}
@misc{haskell-report,
title = {Haskell 98 Language and Libraries --- The Revised Report},
year = {2002},
month = {December},
author = {Simon {Peyton Jones} and others},
howpublished = {Available from \verb+http://www.haskell.org/+}
}
@inproceedings{cayenne-icfp,
author = "Lennart Augustsson",
title = "Cayenne - a Language with Dependent Types",
booktitle = "Proc. 1998 International Conf. on Functional Programming (ICFP '98)",
pages = "239--250",
year = "1998",
url = "citeseer.nj.nec.com/augustsson98cayenne.html"
}
@misc{equality-cayenne,
howpublished = {\verb+http://www.cs.chalmers.se/~augustss/cayenne/+},
title = {Equality Proofs in Cayenne},
year = {1999},
author = {Lennart Augustsson}
}
@misc{interp-cayenne,
howpublished = {\url{http://www.cs.chalmers.se/~augustss/cayenne/}},
title = {An exercise in dependent types: A well-typed interpreter},
year = {1999},
author = {Lennart Augustsson and Magnus Carlsson}
}
@inproceedings{balaa00fixpoint,
title = {Fix-Point Equations for Well-Founded Recursion in Type Theory},
year = {2000},
booktitle = {Theorem Proving in Higher Order Logics},
pages = {1-16},
author = {Antonia Balaa and Yves Bertot}
}
@inproceedings{isabelle-maple,
title = {Theorems and algorithms: An interface between Isabelle and Maple},
year = {1995},
booktitle = {International Symposium on Symbolic and Algebraic Computation},
author = {Ballarin, C. and Homann, K., and Calmet, J.}
}
@book{barendregt-num,
title = {The Lambda Calculus, Its Syntax and Semantics},
year = {1984},
publisher = {North-Holland},
author = {Henk Barendregt}
}
@book{beiler,
title = {Recreations in the Theory of Numbers},
year = {1964},
publisher = {Dover},
author = {Albert H. Beiler}
}
@article{multidigit,
journal = {Advances in Applied Mathematics},
title = {Multidigit Multiplication for Mathematicians},
year = {1998},
author = {Daniel J. Bernstein}
}
@article{buhler-fox,
journal = {ACM Crossroads 2.1.},
month = {September},
title = {The Fox project: A language-structured approach to networking software.},
year = {1995},
author = {Buhler, J.},
note = {Available at http://www.acm.org/crossroads/xrds2-1/foxnet.html}
}
@techreport{burstall91,
title = {Computer Assisted Proof for Mathematics: an Introduction Using the \textsc{Lego} Proof System},
year = {1991},
institution = {University of Edinburgh},
author = {Rod Burstall}
}
@article{plastic,
title = {An Implementation of {LF} with Coercive Subtyping and Universes},
author = {Paul Callaghan and Zhaohui Luo},
journal = {Journal of Automated Reasoning},
volume = {27},
number = {1},
pages = {3--27},
year = {2001}
}
@article{coercive,
title = {Coercive subtyping},
author = {Zhaohui Luo},
journal = {J. Logic Comput.},
volume = {9},
number = {1},
year = {1991},
pages = {105--130}
}
@inproceedings{calmet-homann,
title = {Classification of communication and cooperation mechanisms for logical and symbolic computation systems},
year = {1996},
booktitle = {Proceedings of the First International Workshop 'Frontiers of Combining S},
pages = {133-146},
publisher = {Kluwer},
author = {J. Calmet and K. Homann}
}
@techreport{comm-proofs,
title = {On Communicating Proofs in Interactive Mathematical Documents},
year = {2000},
institution = {Eindhoven University of Technology},
author = {Olga Caprotti and Martijn Oostdijk}
}
@article{prime2999,
title = {How to formally and efficiently prove Prime(2999)},
year = {2001},
author = {Olga Caprotti and Martijn Oostdijk},
journal = {Symbolic Computation and Automated Reasoning},
pages = {114--125}
}
@book{church-num,
title = {The Calculi of Lambda-Conversion},
year = {1941},
publisher = {Princeton University Press},
author = {Alonzo Church}
}
@book{nuprl86,
title = {Implementing Mathematics with the NuPrl Proof Development System},
year = {1986},
publisher = {Prentice-Hall},
address = {NJ},
author = {Constable, Robert L. and others}
}
@book{conway,
title = {On Numbers and Games},
year = {1976},
publisher = {Academic Press},
author = {J.H. Conway}
}
@misc{coq-manual,
howpublished = {\verb+http://coq.inria.fr/+},
title = {The {Coq} Proof Assistant --- Reference Manual},
year = {2001},
author = {{Coq Development Team}}
}
@misc{tt-prog,
month = {June},
title = {Type Theory and Programming},
year = {1994},
author = {Thierry Coquand and Bengt Nordstr\"{o}m and Jan M. Smith and Bj\"{o}rn von Sydow}
}
@book{func-appr,
title = {The Functional Approach to Programming},
year = {1998},
publisher = {Cambridge University Press},
author = {Guy Cousineau and Michel Mauny}
}
@misc{ibmspec,
howpublished = {http://www2.hursley.ibm.com/decimal/},
month = {January},
title = {Standard Decimal Arithmetic Specification},
year = {2001},
author = {Mike Cowlishaw},
note = {\copyright IBM Corporation 2001}
}
@book{dummett,
title = {Elements of Intuitionism},
year = {2000},
edition = {2nd},
publisher = {Oxford: Clarendon},
author = {Michael A.E. Dummet}
}
@article{dybjer94,
title = {Inductive Families},
year = {1994},
author = {Peter Dybjer},
journal = {Formal Aspects Of Computing},
volume = {6},
pages = {440--465}
}
@misc{octave,
howpublished = {http://www.octave.org/},
month = {February},
title = {GNU Octave -- A high-level interactive language for numerical computations},
year = {1997},
author = {John W. Eaton}
}
@book{comp-methods,
title = {Computing methods for scientists and engineers},
year = {1968},
publisher = {Oxford : Clarendon Press},
author = {L. Fox and D.F. Mayers}
}
@misc{guile,
howpublished = {http://www.gnu.org/software/guile/guile.html},
title = {Guile -- Project GNU's extension language},
year = {2001},
author = {{Free Software Foundation}}
}
@article{need-dep,
journal = {Journal of Functional Programming},
number = {4},
volume = {10},
title = {Do we need dependent types?},
year = {2000},
pages = {409-415},
author = {Daniel Fridlender and Mia Indrika}
}
@book{primes-programming,
title = {Primes and Programming -- An Introduction to Number Theory with Computing},
year = {1993},
publisher = {Cambridge University Press},
author = {Peter Giblin}
}
@misc{rec-coq,
month = {May},
title = {A Tutorial on Recursive Types in \textsc{Coq}},
year = {1998},
author = {Eduardo Gim\'{e}nez}
}
@article{goldberg91,
journal = {ACM Computing Surveys},
number = {1},
volume = {23},
title = {What every computer scientist should know about floating point arithmetic},
year = {1991},
pages = {5-48},
author = {D. Goldberg}
}
@article{binary-lambda,
journal = {Journal of Functional Programming},
number = {6},
volume = {10},
title = {An adequate and efficient left associated binary numeral system in the $\lambda$-calculus},
year = {2000},
author = {Mayer Goldberg}
}
@book{hol,
title = {Introduction to HOL},
year = {1993},
publisher = {Cambridge University Press},
author = {M. Gordon and T. Melham}
}
@misc{gmp,
howpublished = {Available from \verb+http://www.swox.com/gmp/manual/+},
title = {The {GNU Multiple Precision} Arithmetic Library 4.1.3 --- Manual},
year = {2004},
author = {Torbj\"{o}rn Granlund and others}
}
@article{harrison-fmsd94,
journal = {Formal Methods in System Design},
volume = {5},
title = {Constructing the Real Numbers in {HOL}},
year = {1994},
pages = {35--59},
author = {John Harrison}
}
@book{harrison-thesis,
title = {Theorem Proving with the Real Numbers},
year = {1998},
publisher = {Springer-Verlag},
author = {John Harrison}
}
@techreport{hol-maple,
title = {Reasing about the Reals: the marriage of HOL and Maple},
year = {1993},
institution = {University of Cambridge Computer Laboratory},
author = {John Harrison and Laurent Th\'{e}ry}
}
@misc{coq-tutorial,
howpublished = {http://pauillac.inria.fr/coq},
title = {The \textsc{Coq} Proof Assistant - A Tutorial},
author = {G\'{e}rard Huet and Gilles Kahn and Christine Paulin-Mohring}
}
@misc{restr-haskell,
howpublished = {http://citeseer.nj.nec.com/253599.html},
month = {September},
title = {Restricted Data Types in Haskell},
year = {1999},
author = {John Hughes}
}
@misc{javadec,
howpublished = {http://www2.hursley.ibm.com/decimalj/decimald.html},
month = {September},
title = {Decimal Arithmetic for Java -- a Proposal},
year = {2000},
author = {{IBM Corporation}}
}
@misc{ieee754,
title = {IEEE Standard for Binary Floating Point Arithmetic},
year = {1985},
author = {{IEEE Standard 754}}
}
@misc{ieee854,
title = {IEEE Standard for Radix-Independent Floating-Point Arithmetic},
year = {1987},
author = {{IEEE Standard 854}}
}
@inproceedings{jon91,
title = {Completing the Rational and Metric Spaces in \textsc{Lego}},
year = {1991},
booktitle = {Proceedings of the Second Workshop on Logical Frameworks},
author = {Claire Jones}
}
@misc{ typinghaskell,
author = "Mark Jones",
title = "Typing {Haskell} in {Haskell}",
howpublished = "In Haskell Workshop, September 1999.",
year = "1999",
url = "citeseer.ist.psu.edu/article/jones99typing.html" }
@article{karatsuba,
journal = {Soviet Physics-Doklady},
volume = {7},
title = {Multiplication of multidigit numbers by automata},
year = {1963},
pages = {595--596},
author = {A. Karatsuba and Y. Ofman}
}
@book{knuth2,
volume = {2},
title = {The Art of Computer Programming - Seminumerical Algorithms},
year = {1969},
publisher = {Addison Wesley},
author = {Donald E. Knuth}
}
@article{next700,
journal = {Communications of the ACM},
number = {3},
month = {March},
volume = {9},
title = {The next 700 programming languages},
year = {1966},
author = {P.J. Landin}
}
@techreport{luo-spec,
month = {January},
title = {Program Specification and Data Refinement in Type Theory},
year = {1993},
institution = {Department of Computer Science, University of Edinburgh},
author = {Zhaohui Luo}
}
@phdthesis{luo90,
school = {University of Edinburgh},
title = {An Extended Calculus Of Constructions},
year = {1990},
author = {Zhaohui Luo}
}
@techreport{lego-manual,
title = {\textsc{Lego} Proof Development System: User's Manual},
year = {1992},
institution = {Department of Computer Science, University of Edinburgh},
author = {Zhaohui Luo and Robert Pollack}
}
@inproceedings{alf,
title = {The {ALF} proof editor and its proof engine},
year = {1994},
booktitle = {Formal Proceeding of the 1993 Workshop on Types for Proofs and Programs},
author = {Lena Magnusson and Bengt N\"{o}rdstrom}
}
@misc{happy,
howpublished = {http://www.haskell.org/happy/},
title = {Happy User Guide},
year = {2001},
author = {Simon Marlow and Andy Gill}
}
@inproceedings{generic-haskell,
title = {Generic Haskell, Specifically},
author = {Dave Clarke and Andres L\"{o}h},
editor = {Jeremy Gibbons and Johan Jeuring},
booktitle = {Proceedings of the IFIP TC2 Working Conference on Generic Programming},
year = {2002},
publisher = {Kluwer Academic Publishers},
pages = {21--48}
}
@article{faking-it,
title = {Faking It -- Simulating Dependent Types in {Haskell}},
year = {2002},
author = {Conor McBride},
journal = {Journal of Functional Programming},
volume = {12},
number = {4+5},
pages = {375--392}
}
@misc{mcbride-inverting,
title = {Inverting Inductively Defined Relations in \textsc{Lego}},
year = {1996},
author = {Conor McBride}
}
@phdthesis{mcbride-thesis,
month = {May},
school = {University of Edinburgh},
title = {Dependently Typed Functional Programs and their proofs},
year = {2000},
author = {Conor McBride}
}
@article{mcbride-unification,
title = {First-Order Unification by Structural Recursion},
year = {2003},
author = {Conor McBride},
journal = {Journal of Functional Programming},
volume = {13},
number = {6},
pages = {1061--1075}
}
@misc{mckinna-pollack,
howpublished = {Kluwer Academic Publishers},
title = {Some Lambda Calculus and Type Theory formalized},
year = {1998},
author = {James McKinna and Robert Pollack}
}
@book{num-theory,
title = {An Introduction to the Theory of Numbers},
year = {1980},
publisher = {John Wiley and Sons},
author = {Ivan Niven and Herbert S. Zuckerman}
}
@book{prog-mltt,
title = {Programming in Martin-L\"{o}f's Type Theory -- An Introduction},
year = {1990},
publisher = {Oxford University Press},
author = {Bengt Nordstr\"{o}m and Kent Petersson and Jan M. Smith},
note = {Out of print. Available from http://www.cs.chalmers.se/Cs/Research/Logic}
}
@book{okasaki,
title = {Purely Functional Data Structures},
year = {1998},
publisher = {Cambridge University Press},
author = {Chris Okasaki}
}
@book{arith-systems,
title = {Computer Arithmetic Systems},
year = {1994},
publisher = {Prentice-Hall},
author = {Amos R. Omondi}
}
@book{pj-imp,
title = {The Implementation of Functional Programming Languages},
year = {1987},
publisher = {Prentice-Hall},
author = {Simon {Peyton Jones}}
}
@book{cp-bjc,
title = {Computational Numerical Methods},
year = {1986},
publisher = {John Wiley and Sons},
author = {C. Phillips and B. Cornelius}
}
@book{nag,
title = {The NAG Library: a beginner's guide},
year = {1986},
publisher = {Oxford : Clarendon Press},
author = {Jen Phillips}
}
@misc{believe,
month = {September},
title = {How to Believe a Machine-Checked Proof},
year = {1996},
author = {Robert Pollack}
}
@phdthesis{pollack94,
school = {University of Edinburgh},
title = {The Theory of LEGO -- A Proof Checker for the Extended Calculus of Constructions},
year = {1994},
author = {Robert Pollack}
}
@inproceedings{intel-bug,
series = {LNCS},
volume = {915},
title = {Anatomy of the Pentium Bug},
publisher = {Springer-Verlag},
year = {1995},
pages = {97--107},
author = {V.R. Pratt}
}
@book{maple,
title = {The Maple Handbook: Maple V Release 4},
year = {1996},
publisher = {Springer},
author = {Darren Redfern}
}
@book{crypto,
title = {Applied Cryptography: protocols, algorithms and source code in C.},
year = {1996},
publisher = {Wiley},
author = {Bruce Schneier}
}
@article{adts,
journal = {Mathematical Structures in Computer Science},
number = {2},
volume = {10},
title = {On lists and other abstract data types in the calculus of construction},
year = {2000},
pages = {261-276},
author = {Jonathan P. Seldin}
}
@article{seldin97,
journal = {Annals of Pure and Applied Logic},
number = {1},
month = {January},
volume = {83},
title = {On the proof theory of Coquand's calculus of constructions},
year = {1997},
pages = {23--101},
author = {Jonathan P. Seldin}
}
@article{wichmann,
journal = {The Computer Journal},
volume = {32},
title = {Towards a Formal Specification of Floating Point},
year = {1989},
pages = {432-436},
author = {B.A. Wichmann}
}
@book{mathematica,
title = {Mathematica : a system for doing mathematics by computer},
year = {1991},
publisher = {Addison Wesley},
author = {Stephen Wolfram}
}
@inproceedings{xi-imp,
author = "Hongwei Xi",
title = {{Imperative Programming with Dependent Types}},
booktitle = "Proceedings of 15th IEEE Symposium on Logic in Computer Science",
year = 2000,
month = "June",
address = "Santa Barbara",
pages = "375--387"
}
@phdthesis{xi-thesis,
month = {December},
school = {Department of Mathematical Sciences, Carnegie Mellon University},
title = {Dependent Types in Practical Programming},
year = {1998},
author = {Hongwei Xi}
}
@techreport{dtal,
author = {Hongwei Xi and Robert Harper},
title = {A Dependently Typed Assembly Language},
institution = {Computer Science and Engineering Department, Oregon Graduate Institute},
year = 1999,
number = {OGI-CSE-99-008},
month = {July},
}
@misc{bignum-cmp,
month = {February},
title = {Comparison of three public-domain multiprecision libraries: BigNum, Gmp and Pari},
year = {1998},
author = {Paul Zimmerman}
}
@book{perl,
title = {Programming Perl},
author = {Larry Wall and Tom Christiansen and Jon Orwant},
year = {2000},
edition = {3rd},
publisher = {O'Reilly}
}
@misc{python,
howpublished = {http://www.python.org/doc/current/tut/tut.html},
month = {April},
title = {Python Tutorial},
year = {2001},
author = {Guido van {Rossum} and Fred L. {Drake, Jr}}
}
@book{logic,
title = {The Language of First Order Logic},
year = {1992},
publisher = {CSLI Lecture Notes},
author = {Jon Barwise and John Etchemendy}
}
@book{haskell,
title = {Haskell -- The Craft of Functional Programming},
year = {1999},
publisher = {Addison Wesley},
author = {Simon Thompson}
}
@inproceedings{coq-hol,
title = {A Comparative Study of Coq and HOL},
year = {1997},
booktitle = {Theorem Proving in Higher Order Logics},
pages = {323-337},
author = {Vincent Zammit}
}
@misc{gay90,
month = {November},
title = {Correctly Rounded Binary-Decimal and Decimal-Binary Conversions},
year = {1990},
author = {David M. Gay},
note = {AT&T Bell Laboratories, Numerical Analysis Manuscript 90-10}
}
@article{hughes-matters,
journal = {Computer Journal},
number = {2},
volume = {32},
title = {Why Functional Programming Matters},
year = {1989},
pages = {98--107},
author = {J. Hughes}
}
@inproceedings{proofpointing,
title = {Proof by Pointing},
year = {1994},
booktitle = {Proceedings of the International Symposium on Theoretical Aspects of Computer So},
pages = {141--160},
editor = {M. Hagiya and J. C. Mitchell},
publisher = {Springer-Verlag},
series = {LNCS},
volume = {789},
address = {Sendai, Japan},
author = {Yves Bertot and Gilles Kahn and Laurent Th{\'e}ry}
}
@misc{inductive-coq,
month = {December},
title = {Inductive Definitions in the System Coq -- Rules and Properties},
year = {1992},
author = {Christine Paulin-Mohring}
}
@misc{leiserson98,
month = {July},
title = {Using de Bruijn Sequences to Index a 1 in a Computer Word},
year = {1998},
author = {{Charles E. Leiserson} and {Harald Prokop} and {Keith H. Randall}}
}
@inproceedings{proofchecking,
title = {A two-level approach towards lean proof-checking},
year = {1996},
booktitle = {TYPES},
pages = {16--35},
author = {G. Barthe and M.P.J. Ruys and H.P. Barendregt}
}
@inproceedings{congruence,
title = {Congruence Types},
year = {1995},
booktitle = {CSL},
pages = {36--51},
author = {Gilles Barthe and Herman Geuvers}
}
@phdthesis{geuvers-thesis,
title = {Logic and Type Systems},
author = {Herman Geuvers},
year = 1993,
school = {Katholieke Universiteit Nijmegen}
}
@techreport{multiple-values,
title = {Multiple Values in {Standard ML}},
year = {1994},
number = {94-312},
institution = {LFCS, Dept of Computer Science, University of Edinburgh},
author = {Kevin Mitchell}
}
@inproceedings{oracle-checking,
month = {January},
title = {Oracle-Based Checking of Untrusted Software},
year = {2001},
booktitle = {Proceedings of the 28th ACM Symposium on Principles of Programming Languages},
pages = {142--154},
author = {{George C. Necula} and {S.P. Rahul}}
}
@article{adams93jfp,
journal = {Journal of Functional Programming},
number = {4},
volume = {3},
title = {Efficient Sets -- A Balancing Act},
year = {1993},
pages = {553--561},
author = {Stephen Adams}
}
@inproceedings{hughes-sized,
title = {Proving the Correctness of Reactive Systems Using Sized Types},
year = {1996},
booktitle = {Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programmin},
pages = {410--423},
author = {John Hughes and Lars Pareto and Amr Sabry}
}
@inproceedings{whittle99ml,
title = {An {ML} Editor Based on Proofs-As-Programs},
year = {1999},
booktitle = {Automated Software Engineering},
pages = {166--173},
author = {Jon Whittle and Alan Bundy and Richard J. Boulton and Helen Lowe}
}
@book{efp-typeinf,
title = {Elements of Functional Programming},
year = {1989},
publisher = {Addison-Wesley},
author = {Chris Reade},
series = {International Computer Science Series}
}
@incollection{ wadler-views,
author = "Philip Wadler",
title = "Views: {A} Way for Pattern Matching to Cohabit with Data Abstraction",
booktitle = "Proceedings, 14th Symposium on Principles of Programming Languages",
publisher = "Association for Computing Machinery",
editor = "Steve Munchnik",
pages = "307--312",
year = "1987",
url = "citeseer.nj.nec.com/wadler87views.html" }
@article{ coquand-checking,
author = "Thierry Coquand",
title = "An Algorithm for Type-Checking Dependent Types",
journal = "Science of Computer Programming",
volume = "26",
number = "1-3",
pages = "167-177",
year = "1996",
url = "citeseer.nj.nec.com/coquand96algorithm.html" }
@misc{coquand-pm,
author = "Thierry Coquand",
title = "Pattern Matching with Dependent Types",
year = "1992",
howpublished = "Available from \verb+http://www.cs.chalmers.se/~coquand/type.html+"
}
@misc{pollack-records,
month = {August},
title = {Dependently Typed Records for Representing Mathematical Structure},
year = {2000},
author = {Robert Pollack}
}
@article{checking-betarte,
journal = {Journal of Functional Programming},
number = {2},
month = {March},
volume = {10},
title = {Type checking dependent (record) types and subtyping},
year = {2000},
pages = {137--166},
author = {Gustavo Betarte}
}
@article{ gcode,
author = "Thomas Johnsson",
title = "Efficient Compilation of Lazy Evaluation",
booktitle = "Proceedings of the {ACM} {SIGPLAN}'84 Symposium on Compiler Con struction",
journal = "SIGPLAN Notices",
volume = "19",
number = "6",
month = "June",
publisher = "ACM Press",
pages = "58--69",
year = "1984",
url = "citeseer.nj.nec.com/johnsson84efficient.html" }
@misc{kamareddine01,
month = {February},
title = {Reviewing the classical and the de Bruijn notation for $\lambda$-calculus and pure type systems},
year = {2001},
author = {Fairouz Kamareddine}
}
@book{prooftheory,
title = {Basic Proof Theory},
year = {1996},
publisher = {Cambridge University Press},
author = {A.S. Troelstra and H. Schwichtenberg},
series = {Cambridge Tracts in Theoretical Computer Science}
}
@misc{nbe_staged,
title = {Integrating Normalization-by-Evaluation into a Staged Programming Language},
year = {1998},
author = {Tim Sheard}
}
@inproceedings{nbe2,
title = {Normalization by evaluation},
year = {1998},
author = {Ulrich Berger and Matthias Eberl and Helmut Schwichtenberg},
booktitle = {Prospects for Hardware Foundations 1998},
pages = {117--137},
series = {LNCS}
}
@misc{rtcg_jfp,
title = {Compiling for Run-time Code Generation},
year = {2000},
author = {Frederick Smith and Dan Grossman and Greg Morrisett and Luke Hornof and Trevor J},
note = {Under consideration for J. Functional Programming}
}
@phdthesis{fredsmith_thesis,
month = {January},
school = {Cornell University},
title = {Certified Run-time Code Generation},
year = {2002},
author = {Frederick Smith}
}
@inproceedings{xi_arraybounds,
author = "Hongwei Xi and Frank Pfenning",
title = {Eliminating Array Bound Checking through Dependent Types},
booktitle = "Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation",
year = 1998,
month = "June",
address = "Montreal",
pages = "249--257",
}
@inproceedings{xi_deadcode,
author = "Hongwei Xi",
title = {Dead Code Elimination through Dependent Types},
booktitle = "The First International Workshop on Practical Aspects of Declarative Languages",
year = 1999,
month = "January",
address = "San Antonio",
pages = "228--242"
}
@book{compilers,
title = {Compilers --- Principles, Techniques and Tools},
year = {1986},
publisher = {Addison-Wesley},
author = {Alfred Aho and Ravi Sethi and Jeffrey Ullman}
}
@inproceedings{nhc,
title = {Highlights from nhc: A space efficient {Haskell} Compiler},
year = {1995},
author = "Niklas R{\"o}jemo",
booktitle = "Functional Programming Languages and Computer Architecture",
pages = "282--292"
}
@misc{mlmatch,
title = {SML/NJ Match Compiler Notes},
year = {1992},
author = {William Aitken}
}
@misc{mlmatch_sestoft,
title = {ML pattern match compilation and partial evaluation},
year = {1992},
author = {Peter Sestoft}
}
@inproceedings{compiledstrongreduction,
title = {A Compiled Implementation of Strong Reduction},
year = {2002},
author = {Benjamin Gr\'{e}goire and Xavier Leroy},
booktitle = {Proc. 2002 International Conf. on Functional Programming (ICFP 2002)},
pages = {235--246}
}
@misc{tclhaskell,
howpublished = {http://www.dcs.gla.ac.uk/~meurig/TclHaskell/usermanual.html},
month = {August},
title = {TclHaskell - User Manual},
year = {1999},
author = {Meurig Sage}
}
@InProceedings{nbe-cat,
author = "Thorsten Altenkirch and Martin Hofmann and Thomas Streicher",
title = "Categorical reconstruction of a reduction free
normalization proof",
year = "1995",
booktitle = "Category Theory and Computer Science",
editor = {David Pitt and David E. Rydeheard and Peter Johnstone},
series = {LNCS},
volume = {953},
pages = {182-199}
}
@inproceedings{presburgerEFSM,
title = {A Comparison of Presburger Engines for EFSM Reachability},
year = {1998},
booktitle = {Computer Aided Verification '98},
pages = {280--292},
author = {Thomas R. Shiple and James H. Kukula and Rajeev K. Ranjan}
}
@misc{typesafecast,
title = {Type-Safe Cast},
year = {2000},
author = {Stephanie Weirich}
}
@phdthesis{grobauer-thesis,
school = {University of Aarhus},
title = {Topics in Semantics Based Program Manipulation},
year = {2001},
author = {Bernd Grobauer}
}
@misc{monads-moggi,
title = {Computational Lambda Calculus and Monads},
year = {1989},
author = {Eugenio Moggi}
}
@article{gmp-proof,
title = {A proof of {GMP} square root},
year = {2002},
journal = {Journal of Automated Reasoning},
volume = {29},
pages = {225--252},
author = {Yves Bertot and Nicolas Magaud and Paul Zimmerman}
}
@article{F-tal,
journal = {ACM Transactions on Programming Languages and Systems},
number = {3},
month = {May},
volume = {21},
title = {From {System F} to Typed Assembly Language},
year = {1999},
pages = {528--569},
author = {Greg Morrisett and David Walker and Karl Crary and Neal Glew}
}
@techreport{nbe-rtcg,
month = {December},
title = {Strong Normalization by Type-Directed Partial Evaluation and Run-Time Code Generation},
year = {1997},
institution = {BRICS},
author = {Vincent Balat and Oliver Danvy}
}
@misc{yong-schemata,
howpublished = {http://www.dur.ac.uk/yong.luo/},
title = {A Methodology for Implementing Inductive Schemata},
year = {2002},
author = {Yong Luo and Zhaohui Luo}
}
@inproceedings{harper93,
title = {Explicit Polymorphism and CPS Conversion},
year = {1993},
booktitle = {20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
pages = {206--219},
publisher = {ACM Press, New York, NY, USA},
author = {Robert Harper and Mark Lillibridge}
}
@techreport{backends,
month = {November},
title = {Functional Back-Ends within the Lambda-Sigma Calculus},
year = {1996},
institution = {INRIA},
author = {Th\'{e}r\`{e}se Hardin and Luc Maranget and Bruno Pagano}
}
@article{stg,
title = {Implementing lazy functional languages on stock hardware -- the {Spineless Tagless G-machine}},
year = {1992},
journal = {Journal of Functional Programming},
volume = {2},
number = {2},
pages = {127--202},
month = {April},
author = {Simon {Peyton Jones}}
}
@article{debruijn,
journal = {Indagationes Mathematicae},
volume = {34},
title = {Lambda calculus notation with nameless dummies},
year = {1972},
pages = {381--392},
author = {N.G. de Bruijn}
}
@book{assembly,
month = {January},
title = {PC Assembly Language},
year = {2002},
publisher = {http://www.drpaulcarter.com/},
author = {Paul A. Carter}
}
@inproceedings{poly99,
title = {Once Upon A Polymorphic Type},
year = {1999},
booktitle = {26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
publisher = {ACM},
author = {Keith Wansbrough and Simon {Peyton Jones}}
}
@misc{lazy_intro,
title = {Compiling Lazy Functional Languages: An introduction},
year = {1986},
author = {Thomas Johnsson}
}
@inproceedings{unboxed-fp,
month = {Sept},
title = {Unboxed Values as First Class Citizens in a Non-Strict Functional Language},
year = {1991},
author = {Simon {Peyton Jones} and John Launchbury},
booktitle = {Functional Programming Languages and Computer Architecture (FPCA'91)},
crossref = {fplca91},
pages = {636--666}
}
@inproceedings{abc-machine,
author = {Sjaak Smetsers and Eric N{\"{o}}cker and John {van Groningen} and Rinus Plasmeijer},
title = {Generating efficient code for lazy functional languages},
booktitle = {Functional programming Languages and Computer Architecture},
year = {1991},
pages = {592--617},
crossref = {fplca91}
}
@proceedings{fplca91,
title = {Functional programming Languages and Computer Architecture},
year = {1991},
volume = {523},
series = {LNCS},
publisher = {Springer-Verlag},
editor = {John Hughes}
}
@inproceedings{nbe,
title = {An inverse of the evaluation functional for typed $\lambda$-calculus},
year = {1991},
booktitle = {Proc. 1991 IEEE Symp. on Logic in Comp. Sci.},
pages = {203--211},
editor = {R. Vemuri},
author = {Ulrich Berger and Helmut Schwichtenberg}
}
@inproceedings{typed-closure,
title = {Typed Closure Conversion},
year = {1996},
booktitle = {Symposium on Principles of Programming Languages},
pages = {271--283},
author = {Yasuhiko Minamide and J. Gregory Morrisett and Robert Harper}
}
@misc{ghc-commentary,
howpublished = {http://www.cse.unsw.edu.au/~chak/haskell/ghc/comm/},
title = {The Glasgow Haskell Compiler (GHC) Commentary},
year = {2002},
author = {Manuel M. T. Chakravarty and Sigbjorn Finne and Simon Marlow and Simon {Peyton Jones} and Julian Seward and Reuben Thomas},
note = {Available from GHC CVS repository}
}
@inproceedings{lambdalift,
month = {September},
title = {Lambda Lifting: Transforming Programs to Recursive Equations},
year = {1985},
booktitle = {Functional Programming Languages and Computer Architecture},
pages = {190--203},
editor = {Jean-Pierre Jouannaud},
publisher = {Springer-Verlag},
author = {Thomas Johnsson}
}
@inproceedings{til,
title = {TIL: A Type-Directed Optimizing Compiler for ML},
year = {1996},
booktitle = {Proc. {ACM} {SIGPLAN} '96 Conference on Programming Language Design and Implementation},
pages = {181--192},
author = {D. Tarditi and G. Morrisett and P. Cheng and C. Stone and R. Harper and P. Lee}
}
@phdthesis{shao94,
school = {Princeton University},
title = {Compiling Standard {ML} for Efficient Execution on Modern Machines},
year = {1994},
author = {Zhong Shao}
}
@inproceedings{gmachine,
month = {September},
title = {The {G-Machine}: A fast, graph-reduction evaluator},
year = {1985},
booktitle = {Functional Programming Languages and Computer Architecture},
pages = {400--413},
editor = {Jean-Pierre Jouannaud},
publisher = {Springer-Verlag},
author = {R.B. Kieburtz}
}
@inproceedings{strictness,
month = {September},
title = {Strictness Analysis - A practical approach},
year = {1985},
booktitle = {Functional Programming Languages and Computer Hardware},
pages = {35--49},
editor = {Jean-Pierre Jouannaud},
publisher = {Springer-Verlag},
author = {Chris Clack and Simon {Peyton Jones}}
}
@book{fl-impl,
title = {Implementing Functional Languages - A Tutorial},
year = {1992},
publisher = {Prentice Hall International},
author = {Simon {Peyton Jones} and David Lester}
}
@phdthesis{capretta-thesis,
school = {Katholieke Universiteit Nijmegen},
title = {Abstraction and Computation},
year = {2002},
author = {Venanzio Capretta}
}
@article{bird-pointer,
journal = {Journal of Functional Programming},
number = {3},
month = {May},
volume = {11},
title = {Unfolding Pointer Algorithms},
year = {2001},
pages = {347--358},
author = {Richard S. Bird}
}
@article{impl-tp,
journal = {Journal of Functional Programming},
number = {2},
month = {March},
volume = {9},
title = {Implementing Theorem Provers in a Purely Functional Style},
year = {1999},
pages = {147--166},
author = {Keith Hanna}
}
@article{shrink-lambda,
journal = {Journal of Functional Programming},
number = {5},
month = {September},
volume = {7},
title = {Shrinking Lambda Expressions in Linear Time},
year = {1997},
pages = {515--540},
author = {Andrew W. Appel and Trevor Jim}
}
@article{stack-tal,
journal = {Journal of Functional Programming},
number = {1},
month = {January},
volume = {12},
title = {Stack-based Typed Assembly Language},
year = {2002},
pages = {43--88},
author = {Greg Morrisset and Karl Crart and Neal Glew and David Walker}
}
@article{runtime-lamsig,
journal = {Journal of Functional Programming},
number = {2},
month = {March},
volume = {8},
title = {Functional Runtime Systems within the lambda-sigma Calculus},
year = {1998},
pages = {131--176},
author = {Th\'{e}r\`{e}se Hardin and Luc Maranget and Bruno Pagano}
}
@article{busylazy,
journal = {Journal of Functional Programming},
number = {6},
month = {November},
volume = {11},
title = {How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger},
year = {2001},
pages = {629--671},
author = {Henrik Nilsson}
}
@article{lazyveager,
journal = {Journal of Functional Programming},
number = {5},
month = {September},
volume = {7},
title = {More haste, less speed: lazy versus eager evaluation},
year = {1997},
pages = {541--547},
author = {Richard Bird and Geraint Jones and Oege {de Moor}}
}
@article{jvm-fp,
journal = {Journal of Functional Programming},
number = {6},
month = {November},
volume = {9},
title = {Compiling lazy functional programs for the Java Virtual Machine},
year = {1999},
pages = {579--603},
author = {David Wakeling}
}
@book{isabelle,
publisher = {Springer-Verlag},
series = {LNCS},
volume = {2283},
month = {March},
title = {Isabelle/HOL - A proof assistant for higher order logic},
year = {2002},
author = {Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel}
}
@article{ghc-inliner,
journal = {Journal of Functional Programming},
number = {4},
month = {September},
volume = {12},
title = {Secrets of the {Glasgow Haskell Compiler} inliner},
year = {2002},
pages = {393--434},
author = {Simon {Peyton Jones} and Simon Marlow}
}
@article{dynamic-fp,
journal = {Journal of Functional Programming},
number = {1},
month = {January},
volume = {8},
title = {The dynamic compiliation of lazy functional programs},
year = {1998},
pages = {61--81},
author = {David Wakeling}
}
@misc{isabelle-ref,
month = {March},
title = {Isabelle Reference Manual},
year = {2002},
author = {Lawrence C. Paulson}
}
@article{debruijn-nested,
journal = {Journal of Functional Programming},
number = {1},
month = {January},
volume = {9},
title = {de Bruijn notation as a nested datatype},
year = {1999},
pages = {77--91},
author = {Richard S. Bird and Ross Paterson}
}
@article{perfect-trees,
journal = {Journal of Functional Programming},
number = {3},
month = {May},
volume = {10},
title = {Perfect trees and bit-reversal permutations},
year = {2000},
pages = {305--317},
author = {Ralf Hinze}
}
@phdthesis{paulin-extraction,
school = {Paris 7},
title = {Extraction de programmes dans le Calcul des Constructions},
year = {1989},
author = {Christine Paulin-Mohring}
}
@phdthesis{santos95,
school = {University of Glasgow},
title = {Compilation By Transformation In Non-Strict Functional Languages},
year = {1995},
author = {{Andr\'{e} Lu\'{i}s de Medeiros} Santos}
}
@book{cps,
title = {Compiling With Continuations},
year = {1992},
publisher = {Cambridge University Press},
author = {Andrew W. Appel}
}
@techreport{SKIM,
number = {31},
title = {The {SKIM} microprogrammer's guide},
year = {1983},
institution = {University of Cambridge},
author = {W.R. Stoye}
}
@misc{NORMA,
title = {An Overview of Burroughs {NORMA}},
year = {1985},
author = {H. Richards}
}
@book{ml,
title = {The Definition of Standard ML --- Revised},
year = {1997},
publisher = {MIT Press},
author = {Robin Milner and Mads Tofte and Robert Harper and David MacQueen}
}
@misc{ml71,
title = {An intuitionistic theory of types},
year = {1971},
author = {Per Martin-L\"{o}f}
}
@phdthesis{girard-thesis,
school = {Universit\'{e} Paris VII},
title = {Interpr\'{e}tation fonctionelle et \'{e}limination des coupures de l'arithm\'{e}tique d'ordre sup\'{e}rieur},
year = {1972},
author = {Jean-Yves Girard}
}
@inproceedings{ml75,
title = {An intuitionistic theory of types: predicative part},
year = {1975},
booktitle = {Logic Colloquium '73},
editor = {H. Rose and J.C. Shepherdson},
publisher = {North-Holland},
author = {Per Martin-L\"{o}f}
}
@inproceedings{cpm90,
title = {Inductively defined types},
year = {1990},
author = {Thierry Coquand and Christine Paulin-Mohring},
series = {LNCS},
volume = {417},
publusher = {Springer-Verlag}
}
@phdthesis{fpcustom,
month = {May},
school = {Computer Lab, University of Cambridge},
title = {The Implementation of Functional Languages using Custom Hardware},
year = {1985},
author = {W.R. Stoye}
}
@phdthesis{hughesthesis,
month = {September},
school = {Programming Research Group, Oxford},
title = {The design and implementation of programming languages},
year = {1984},
author = {John Hughes}
}
@inproceedings{tim,
volume = {274},
title = {{TIM} -- A simple lazy abstract machine to execute supercombinators},
year = {1987},
booktitle = {Functional Programming Languages and Computer Architecture},
publisher = {Springer-Verlag},
author = {John Fairbairn and Stuart Wray},
pages = {34--45},
series = {LNCS}
}
@techreport{abc,
title = {The {ABC} machine -- A Sequential Stack-based Abstract Machine For Graph Rewriting},
year = {1990},
institution = {University of Nijmegen},
author = {P.W.M. Koopman and M.C.J.D. van {Eekelen} and E.G.J.M.H. Ncker and J.E.W. Smetsers and M.J. Plasmeijer}
}
@techreport{implicit,
title = {On Implicit Arguments},
year = {1994},
institution = {Faculty of Science, University of Tokyo},
author = {Masami Hagiya and Yozo Toda}
}
@book{semantics,
title = {Denotational Semantics},
year = {1986},
publisher = {Wm. C. Brown},
author = {David A. Schmidt}
}
@inproceedings{lazyml,
month = {August},
title = {A compiler for {Lazy} {ML}},
year = {1984},
booktitle = {Proceedings of the {ACM} Symposium on Lisp and Functional Programming},
pages = {218--227},
author = {Lennart Augustsson}
}
@inproceedings{nu-g,
title = {Parallel graph reduction with the $\langle\nu,G\rangle$-machine},
year = {1989},
booktitle = {Functional Programming Languages and Computer Architecture},
publisher = {ACM Press},
author = {Lennart Augustsson and Thomas Johnsson}
}
@book{k&r,
title = {The C programming language},
year = {1988},
publisher = {Prentice-Hall},
author = {Brian W. Kernighan and Dennis M. Ritchie}
}
@misc{c--garbage,
title = {C--: a portable assembly language that supports garbage collection},
year = {1999},
author = {Simon {Peyton Jones} and Norman Ramsey and Fermin Reig},
note = {Invited talk at PPDP'99}
}
@misc{epigram,
howpublished = {http://www.dur.ac.uk/CARG/epigram.html},
title = {Project Proposal: {Epigram}: Innovative Programming via Inductive Families},
year = {2002},
author = {Zhaohui Luo and James McKinna and Paul Callaghan and Conor McBride}
}
@misc{ghc-rewrite,
title = {Playing by the Rules: Rewriting as a practical optimisation technique in {GHC}},
year = {2001},
author = {Simon {Peyton Jones} and Andrew Tolmach and Tony Hoare}
}
@UNPUBLISHED{implicit-pollack,
AUTHOR = {Robert Pollack},
TITLE = {Implicit Syntax},
NOTE = {Informal Proceedings of First Workshop on
Logical Frameworks, Antibes},
YEAR = {1990},
MONTH = MAY
}
@article{transform-haskell,
journal = {Science of Computer Programming},
volume = {32},
title = {A transformation-based optimiser for {Haskell}},
year = {1998},
pages = {3--47},
author = {Simon {Peyton Jones} and Andr\'{e} L. M. Santos}
}
@inproceedings{knuth-bendix,
title = {Simple Word Problems in Universal Algebras},
year = {1970},
booktitle = {Computational Problems in Abstract Algebra},
pages = {263--298},
editor = {John Leech},
publisher = {Pergamon Press},
author = {Donald E. Knuth and Peter B. Bendix}
}
@inproceedings{phantomfun,
title = {Fun With Phantom Types},
author = {Ralf Hinze},
pages = {245--262},
year = {2003},
crossref = {funprogramming},
booktitle = {The Fun Of Programming},
publisher = {Palgrave}
}
@book{funprogramming,
month = {March},
title = {The Fun Of Programming},
year = {2003},
editor = {Jeremy Gibbons and Oege {de Moor}},
publisher = {Palgrave},
series = {Cornerstones of Computing}
}
@inproceedings{anderson-proof,
title = {Representing Proof Transformations For Program Optimization},
year = {1994},
booktitle = {International Conference On Automated Deduction},
publisher = {Springer Verlag},
author = {Penny Anderson}
}
@phdthesis{daria-thesis,
month = {April},
school = {Institute of Informatics, Warsaw University},
title = {Termination of Rewriting in the Calculus of Constructions},
year = {2003},
author = {Daria Walukiewicz-Chrzaszcz}
}
@inproceedings{change-data,
title = {Changing Data Structures In Type Theory: A Study Of Natural Numbers},
year = {2001},
booktitle = {Types For Proofs And Programs 2000},
pages = {181--196},
editor = {Paul Callaghan and Zhaohui Luo and James McKinna and Robert Pollack},
publisher = {Springer},
author = {Nicolas Magaud and Yves Bertot}
}
@phdthesis{nico-thesis,
title = {Changement de Representation des donn\'{e}es dans le Calcul de Constructions},
author = {Nicolas Magaud},
year = {2003},
month = {October},
school = {Universit\'{e} de Nice - Sophia Antipolis}
}
@book{patterns,
title = {Design Patterns},
year = {1995},
publisher = {Addison Wesley},
author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides}
}
@misc{ghchugs,
month = {August},
title = {The New {GHC}/{Hugs} Runtime System},
year = {1998},
author = {Simon Marlow and Simon {Peyton Jones}}
}
@misc{stgrevised,
month = {February},
title = {The {STG} runtime system (revised)},
year = {1999},
author = {Simon {Peyton Jones} and Simon Marlow and Alastair Reid},
howpublished = {Available from \verb+http://www.haskell.org/ghc/documentation.html+}
}
@inproceedings{optimistic,
month = {March},
title = {Optimistic Evaluation --- an adaptive evaluation strategy for non-strict programs},
year = {2003},
author = {Robert Ennals and Simon {Peyton Jones}},
booktitle = {International Conference on Functional Programming},
pages = {287--298}
}
@phdthesis{ennals-thesis,
title = {Adaptive Evaluation of Non-Strict Programs},
author = {Robert Ennals},
year = {2003},
month = {December},
school = {King's College, University of Cambridge}
}
@article{garbage,
journal = {ACM Computing Surveys},
number = {3},
volume = {13},
title = {Garbage Collection of Linked Data Structures},
year = {1981},
pages = {341--367},
author = {Jacques Cohen}
}
@article{baker-gc,
journal = {Communications of the ACM},
number = {4},
month = {April},
volume = {21},
title = {List Processing In Real Time On A Serial Computer},
year = {1978},
pages = {280--294},
author = {Henry G. {Baker Jr}}
}
@misc{bc-rec,
month = {February},
title = {Modelling General Recursion in Type Theory},
year = {2003},
note = {Under consideration for publication in Math. Struct. in Comp. Science. Draft, DCS, CTH --- INRIA, Sophia Antipolis, France},
author = {Ana Bove and Venanzio Capretta}
}
@misc{global-tag,
title = {Global Tagging Optimization by Type Inference},
year = {1992},
author = {Fritz Henglein}
}
@book{esr,
month = {October},
title = {The Cathedral And The Bazaar},
year = {1999},
publisher = {O'Reilly},
author = {Eric Raymond}
}
@book{manmonth,
title = {The Mythical Man-month: Essays on Software Engineering},
year = {1975},
publisher = {Addison Wesley},
author = {Frederick P. Brooks}
}
@inproceedings{evalpush,
title = {How to make a fast curry: push/enter vs eval/apply},
year = {2004},
author = {Simon Marlow and Simon {Peyton Jones}},
booktitle = {International Conference on Functional Programming, Snowbird},
pages = {4--15}
}
@phdthesis{boquist-thesis,
month = {April},
school = {Chalmers University of Technology},
title = {Code Optimisation Techniques for Lazy Functional Languages},
year = {1999},
author = {Urban Boquist}
}
@book{formal-spec,
title = {Formal Specification Of Programming Languages},
year = {1981},
publisher = {Prentice-Hall},
author = {Frank G. Pagan}
}
@inproceedings{elim-motive,
title = {Elimination With A Motive},
year = {2000},
booktitle = {Types for Proofs and Programs},
pages = {197--216},
editor = {Paul Callaghan and Zhaohui Luo and James McKinna and Robert Pollack},
publisher = {Springer},
author = {Conor McBride}
}
@article{telescope,
journal = {Information and Computation},
number = {2},
month = {April},
volume = {91},
title = {Telescoping Mappings in Typed Lambda Calculus},
year = {1991},
pages = {189--204},
author = {N.G. de Bruijn}
}
@misc{typeintype,
title = {Typechecking is undecidable when 'type' is a type},
year = {1989},
author = {Mark B. Reinhold}
}
@misc{core,
month = {September},
title = {An External Representation for the {GHC} Core Language},
year = {2001},
author = {Andrew Tolmach and {The GHC Team}}
}
@article{deforestation,
journal = {Theoretical Computer Science},
volume = {73},
title = {Deforestation: Transforming programs to eliminate trees},
year = {1990},
pages = {231--248},
author = {Philip Wadler}
}
@misc{hep,
month = {July},
title = {Architecture of the {Haskell} Execution Platform},
year = {1999},
author = {Julian Seward and Simon Marlow and Andy Gill and Sigbjorn Finne and Simon {Peyton Jones} },
note = {Version 6},
howpublished = {Available from \verb+http://www.haskell.org/ghc/documentation.html+}
}
@mastersthesis{wahlstedt-thesis,
month = {October},
school = {Chalmers University Of Technology},
title = {Detecting Termination Using Size Change In Parameter Values},
year = {2000},
author = {David Wahlstedt}
}
@inproceedings{size-change,
title = {The size-change principle for program termination},
year = {2001},
booktitle = {Proceedings of the 28th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
author = {Chin Soon Lee and Neil D. Jones and Amir Ben-Amram. }
}
@article{ski-turner,
journal = {Software -- Practice and Experience},
volume = {9},
title = {A new implementation technique for applicative languages},
year = {1979},
pages = {31--49},
author = {David Turner}
}
@inproceedings{turner-strong,
number = {1022},
title = {Elementary Strong Functional Programming},
year = {1996},
booktitle = {First International Symposium on Functional Programming Languages in Education, Nijmegen, Netherlands, December 1995.},
pages = {1--13},
publisher = {Springer},
author = {David Turner},
series = {LNCS}
}
@misc{clean,
title = {The {Concurrent CLEAN} Language Report (draft)},
year = {2003},
author = {Rinus Plasmeijer and Marko van Eekelen},
howpublished = {Available from \verb+http://www.cs.kun.nl/~clean/+}
}
@article{burstall-struct,
journal = {Computer Journal},
number = {1},
volume = {12},
title = {Proving Properties of Programs By Structural Induction},
year = {1969},
pages = {41--48},
author = {Rod Burstall}
}
@incollection{ barendregt-types,
author = "Henk Barendregt",
title = "Lambda Calculi with Types",
booktitle = "Handbook of Logic in Computer Science, Volumes 1 (Background: Mathematical Structures) and 2 (Background: Computational Structures), Abramsky \& Gabbay \& Maibaum (Eds.)",
publisher = "Clarendon",
volume = "2",
year = "1992",
url = "citeseer.nj.nec.com/barendregt92lambda.html" }
@book{curry-feys,
title = {Combinatory Logic, volume 1},
year = {1958},
publisher = {North Holland},
author = {Haskell B. Curry and Robert Feys}
}
@phdthesis{bove-thesis,
month = {November},
school = {Chalmers University of Technology},
title = {General Recursion in Type Theory},
year = {2002},
author = {Ana Bove}
}
@inbook{ml-cm,
title = {Constructive Mathematics and Computer Programming},
year = {1985},
booktitle = {Mathematical Logic and Programming Languages},
publisher = {Prentice Hall},
author = {Per Martin-L\"{o}f}
}
@inproceedings{howard,
title = {The formulae-as-types notion of construction},
year = {1980},
booktitle = {To H.B.Curry: Essays on combinatory logic, lambda calculus and formalism},
editor = {Jonathan P. Seldin and J. Roger Hindley},
publisher = {Academic Press},
author = {William A. Howard},
note = {A reprint of an unpublished manuscript from 1969}
}
@inproceedings{talx86,
title = {TALx86: A Realistic Typed Assembly Language},
year = {1999},
booktitle = {ACM SIGPLAN Workshop on Compiler Support for System Software},
pages = {25--35},
author = {Greg Morrisett and Karl Crary and Neal Glew and Dan Grossman and Richard Samuels and Frederick Smith and David Walker and Stephanie Weirich and Steve Zdancewic}
}
@inproceedings{bove-capretta,
volume = {2152},
title = {Nested General Recursion and Partiality in Type Theory},
year = {2001},
booktitle = {Theorem Proving in Higher Order Logics, 14th International Conference, TPHOLS 2001},
pages = {121--135},
editor = {Richard J. Boulton and Paul B. Jackson},
publisher = {Springer-Verlag},
author = {Ana Bove and Venanzio Capretta},
series = {LNCS}
}
@misc{lvm,
month = {November},
title = {LVM, the lazy virtual machine},
year = {2002},
author = {Daan Leijen}
}
@misc{ocaml,
howpublished = {\verb+http://caml.inria.fr/ocaml/htmlman/+},
month = {August},
title = {The {Objective Caml} system release 3.06},
year = {2002},
author = {Xavier Leroy}
}
@misc{lambdagoto,
title = {Lambda : The Ultimate Goto},
year = {1977},
author = {Guy L. {Steele Jr}},
note = {MIT AI Memo 443}
}
@inproceedings{ liu-tail,
author = "Yanhong A. Liu and Scott D. Stoller",
title = "From Recursion to Iteration: What are the Optimizations?",
booktitle = "Partial Evaluation and Semantic-Based Program Manipulation",
pages = "73-82",
year = "2000",
url = "citeseer.nj.nec.com/liu00from.html" }
@inproceedings{aczel77,
title = {An Introduction To Inductive Definitions},
year = {1977},
booktitle = {Handbook of Mathematical Logic},
editor = {J. Barwise},
publisher = {North Holland},
author = {Peter Aczel}
}
@inproceedings{inductive-plastic,
volume = {1956},
title = {Implementation Techniques for Inductive Types in {Plastic}},
year = {1999},
booktitle = {Types for Proofs and Programs},
pages = {94--113},
editor = {Thierry Coquand and Peter Dybjer and Bengt Nordstr\"{o}m and Jan Smith},
publisher = {Springer-Verlag},
author = {Paul Callaghan and Zhaohui Luo},
series = {LNCS}
}
@misc{graham,
howpublished = {Available from \verb+http://www.paulgraham.com/+},
month = {April},
title = {The Hundred Year Language},
year = {2003},
author = {Paul Graham},
note = {Keynote address at PyCon 2003}
}
@inproceedings{gimenez98,
volume = {1443},
title = {Structural Recursive Definitions in Type Theory},
year = {1998},
booktitle = {Proceedings of ICALP '98},
publisher = {Springer-Verlag},
author = {Eduardo Gim\'{e}nez},
series = {LNCS}
}
@article{quicksort,
journal = {Computer Journal},
number = {1},
volume = {5},
title = {Quicksort},
year = {1962},
pages = {10--15},
author = {C.A.R. Hoare}
}
@phdthesis{goguen-thesis,
school = {University of Edinburgh},
title = {A Typed Operational Semantics for Type Theory},
year = {1994},
author = {Healfdene Goguen}
}
@article{ph-universes,
journal = {Theoretical Computer Science},
number = {1},
volume = {89},
title = {Type Checking With Universes},
year = {1991},
pages = {107--136},
author = {Robert Harper and Randy Pollack}
}
@inproceedings{pm-compile,
month = {September},
title = {Compiling Pattern Matching},
year = {1985},
booktitle = {Functional Programming Languages and Computer Architecture},
pages = {368--381},
editor = {Jean-Pierre Jouannaud},
publisher = {Springer-Verlag},
author = {Lennart Augustsson}
}
@phdthesis{lena-thesis,
school = {Chalmers University of Technology, G\"{o}teborg},
title = {The implementation of {ALF} -- A Proof Editor based on {Martin-L\"{o}f}'s Monomorphic Type Theory with Explicit Substitutions},
year = {1994},
author = {Lena Magnusson}
}
@article{view-left,
journal = {Journal of Functional Programming},
number = {1},
volume = {14},
title = {The View From The Left},
year = {2004},
author = {Conor McBride and James McKinna},
pages = {69--111}
}
@inproceedings{not-a-number,
author = {Conor McBride and James McKinna},
title = {I am not a number, {I} am a free variable},
year = {2004},
booktitle = {Proceedings of the ACM SIGPLAN Haskell Workshop}
}
@misc{profiling,
title = {Time and Space Profiling for Non-Strict, Higher Order Functional Languages},
year = {1995},
author = {Patrick M. Sansom and Simon {Peyton Jones}}
}
@inbook{pattern-matching,
title = {The Implementation of Functional Programming Languages},
year = {1987},
booktitle = {The Implementation of Functional Programming Languages},
pages = {78--103},
editor = {Simon {Peyton Jones}},
chapter = {5},
publisher = {Prentice Hall},
author = {Philip Wadler},
crossref = {pj-imp}
}
@misc{tag-elim,
title = {Tag Elimination -- or -- Type Specialisation is a Type Indexed Effect},
year = {2000},
author = {Walid Taha and Henning Makholm}
}
@inproceedings{extraction-coq,
title = {A New Extraction for {Coq}},
year = {2002},
booktitle = {Types for proofs and programs},
editor = {Herman Geuvers and Freek Wiedijk},
publisher = {Springer},
author = {Pierre Letouzey},
series = {LNCS}
}
@phdthesis{mcbride-snr-thesis,
school = {Queen's University of Belfast},
title = {Computer Aided Manipulation of Symbols},
year = {1970},
author = {Fred McBride}
}
@article{ho-strictness,
journal = {Science of Computer Programming},
volume = {7},
title = {Strictness analysis for higher-order functions},
year = {1986},
pages = {249--278},
author = { Geoffrey L. Burn and Chris Hankin and Samson Abramsky}
}
@phdthesis{mycroft-thesis,
school = {Dept Computer Science, University of Edinburgh},
title = {Abstract interpretation and optimising transformations for applicative programs},
year = {1981},
author = {A. Mycroft}
}
@inproceedings{bc-nested,
month = {September},
volume = {2152},
title = {Nested General Recursion and Partiality in Type Theory},
year = {2001},
booktitle = {Theorem Proving In Higher Order Logics: 14th International Conferences, TPHOLS 2001},
pages = {121--135},
publisher = {Springer--Verlag},
author = {Ana Bove and Venanzio Capretta},
series = {LNCS}
}
@techreport{bove-mutual,
month = {May},
title = {Mutual General Recursion in Type Theory},
year = {2002},
institution = {Department of Computing Science, Chalmers University of Technology},
author = {Ana Bove}
}
@article{berardi-pruning,
journal = {Journal of Logic and Computation},
number = {5},
volume = {6},
title = {Pruning Simply Typed Lambda Terms},
year = {1996},
pages = {663--681},
author = {Stefano Berardi}
}
@article{milner-tc,
journal = {Journal of Computer and System Science},
volume = {17},
title = {A Theory of Type Polymorphism in Programming},
year = {1978},
pages = {348--75},
author = {R. Milner}
}
@inproceedings{extt,
title = {Inductive Families Need Not Store Their Indices},
year = {2004},
booktitle = {Types for Proofs and Programs 2003},
author = {Edwin Brady and Conor McBride and James McKinna},
editor = {Stefano Berardi and Mario Coppo and Ferruccio Damiani},
publisher = {Springer},
volume = {3085},
pages = {115--129}
}
@book{luo94,
title = {Computation and Reasoning -- A Type Theory for Computer Science},
year = {1994},
publisher = {OUP},
author = {Zhaohui Luo},
series = {Intl. Series of Monographs on Comp. Sci.}
}
@article{backus78,
journal = {Communications of the ACM},
month = {August},
volume = {21},
title = {Can Programming Be Liberated From the {Von Neumann} Style?},
year = {1978},
pages = {280--294},
author = {John Backus}
}
@misc{henk,
month = {May},
title = {Henk: A Typed Intermediate Language},
year = {1997},
author = {Simon {Peyton Jones} and Erik Meijer}
}
@article{thunks,
journal = {Journal of Functional Programming},
number = {3},
month = {May},
volume = {7},
title = {Thunks and the $\lambda$-calculus},
year = {1997},
pages = {303--319},
author = {John Hatcliff and Olivier Danvy}
}
@inproceedings{grin-project,
author = "Urban Boquist and Thomas Johnsson",
title = "The {GRIN} Project: A Highly Optimising Back End for Lazy Functional Languages",
booktitle = "Implementation of Functional Languages",
pages = "58--84",
year = "1996",
url = "citeseer.ist.psu.edu/boquist96grin.html" }
@misc{boehm-gc,
howpublished = {\verb+http://www.hpl.hp.com/personal/Hans_Boehm/gc/+},
title = {A garbage collector for {C} and {C++}},
year = {2001},
author = {Hans-J. Boehm and Alan J. Demers and {Xerox Corporation Silicon Graphic} and {Hewlett-Packard Company}}
}
@misc{art-interpreter,
month = {May},
title = {The Art of the Interpreter or, the Modularity Complex (Parts Zero, One, and Two)},
year = {1978},
author = {Guy Lewis {Steele, Jr.} and Gerald Jay Sussman},
note = {MIT AI Lab. AI Lab Memo AIM-453}
}
@inproceedings{gimenez,
title = {Codifying Guarded Definitions With Recursive Schemes},
year = {1994},
booktitle = {Proceedings of TYPES 1994},
pages = {39--59},
author = {Eduardo Gim\'{e}nez}
}
@manual{ghc-manual,
title = {The Glasgow Haskell Compiler User's Guide, Version 6.0},
year = {2003},
author = {The {GHC Team}}
}
@article{rbtree,
journal = {Journal of Functional Programming},
number = {4},
month = {May},
volume = {9},
title = {Red-Black Trees In A Functional Setting},
year = {1999},
pages = {471--477},
author = {Chris Okasaki}
}
@inproceedings{dt-data,
author = "Hongwei Xi",
title = {{Dependently Typed Data Structures}},
booktitle = "Proceedings of Workshop of Algorithmic Aspects of Advanced Programming Languages (WAAAPL '99)",
year = 1999,
month = "September",
pages = "17--32",
address = "Paris",
}
@misc{krivine,
title = {On the Correctness and Efficiency of the {Krivine} Machine},
year = {2003},
month = {October},
author = {Mitchell Wand and Daniel P. Friedman},
howpublished = {Submitted for publication}
}
@inproceedings{nbe-filinski,
title = {Normalization by Evaluation for the Computational Lambda-Calculus},
year = {2001},
month = {May},
booktitle = {Typed Lambda Calculi and Applications: 5th International Conference, TLCA 2001},
author = {Andrzej Filinski},
pages = {151--165},
publisher = {Springer-Verlag},
series = {LNCS},
volume = {2044}
}
@inproceedings{filinski-nbesem,
title = {A semantic account of type-directed partial evaluation},
year = {1999},
author = {Andrzej Filinski},
editor = {G. Nadathur},
booktitle = {International Conference on Principles and Practice of Declarative Programming},
volume = {1702},
series = {LNCS},
pages = {378--395},
publisher = {Springer-Verlag}
}
@article{secd,
title = {The mechanical evaluation of expressions},
author = {P.J. Landin},
year = {1964},
journal = {Computer Journal},
volume = {6},
pages = {308--320}
}
@misc{lispkit,
title = {The {LispKit} Manual},
author = {Peter Henderson and Geraint Jones and Simon Jones},
year = {1982},
howpublished = {Oxford University Computing Laboratory}
}
@inproceedings{wells-undecidable,
title = {Typability and Type Checking in the Second-order $\lambda$-calculus are equivalent and undecidable},
author = {J. Wells},
year = {1994},
month = {July},
booktitle = {Proc. 9th Ann. IEEE Symp. Logic Comput. Sci.}
}
@misc{patguards,
title = {Pattern Guards and Transformational Patterns},
author = {Martin Erwig and Simon {Peyton Jones}},
year = {2000},
howpublished = {Haskell Workshop}
}
@misc{alfa-manual,
title = {Alfa Users' Guide},
author = {Thomas Hallgren},
year = {2001},
howpublished = {Available from \verb+http://www.cs.chalmers.se/~hallgren/Alfa/+}
}
@inproceedings{nofib,
title = {The nofib Benchmark Suite of {Haskell} Programs},
author = {Will Partain},
year = {1992},
booktitle = {Functional Programming},
editor = {J. Launchbury and P.L. Sansom},
series = {Workshops in Computing},
publisher = {Springer Verlag}
}
@article{shape,
title = {Shape in Computing},
author = {Barry Jay},
journal = "{ACM} Computing Surveys",
year = "1996",
volume = "28",
number = "2",
pages = "355--357",
}
@misc{ffi,
title = {The {Haskell 98} Foreign Function Interface 1.0: An Addendum to the {Haskell 98} Report},
editor = {Manuel Chakravarty},
key = {FFI},
year = {2002},
month = {December},
howpublished = {Available from \verb+http://www.haskell.org/+}
}
@misc{perlxs,
title = {Perl {XS} Reference Manual},
author = {Dean Roehrich and {The Perl Porters}},
year = {1996},
howpublished = {\verb+http://www.perldoc.com/perl5.6/pod/perlxs.html+}
}
@misc{swig,
title = {{SWIG} : An Easy to Use Tool for Integrating Scripting Languages with {C} and {C++}},
author = {David M. Beazley},
year = {1996},
howpublished = {\verb+http://www.swig.org/papers/Tcl96/tcl96.html+}
}
@inproceedings{types-prog,
title = {Type Systems for Programming Languages},
booktitle = {Handbook of Theoretical Computer Science},
author = {John C. Mitchell},
pages = {365--458},
year = {1990},
crossref = {htcs}
}
@book{htcs,
title = {Handbook of Theoretical Computer Science},
editor = {J. van Leeuwen},
publisher = {Elsevier Science},
year = {1990}
}
@misc{r5rs,
title = {Revised$^5$ Report on the Algorithmic Language Scheme},
author = {Richard Kelsey and William Clinger and Jonathan Rees},
year = {1998},
month = {February},
howpublished = {Available from \verb+http://www.schemers.org/+}
}