@@ -0,0 +1,3846 @@
2+ author = {Andres L\"{o}h and Conor McBride and Wouter Swierstra},
3+ title = {A tutorial implementation of a dependently typed lambda calculus},
5+ journal = {Fundamenta Informaticae},
11+ author = {McBride, Conor and Paterson, Ross},
12+ title = {Applicative programming with effects},
13+ journal = {J. Funct. Program.},
21+ url = {http://portal.acm.org/citation.cfm?id=1348940.1348941},
22+ doi = {10.1017/S0956796807006326},
24+ publisher = {Cambridge University Press},
25+ address = {New York, NY, USA},
29+ author = {Bjesse, Per and Claessen, Koen and Sheeran, Mary and Singh, Satnam},
30+ title = {Lava: hardware design in {Haskell}},
31+ booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming},
34+ isbn = {1-58113-024-4},
35+ location = {Baltimore, Maryland, United States},
38+ url = {http://doi.acm.org/10.1145/289423.289440},
39+ doi = {http://doi.acm.org/10.1145/289423.289440},
42+ address = {New York, NY, USA},
45+@inproceedings{plpv11,
46+ author = {Edwin Brady},
47+ title = {Idris --- Systems programming meets full dependent types},
48+ booktitle = {Programming Languages meets Program Verification {(PLPV 2011)}},
51+ ee = {http://doi.acm.org/10.1145/1929529.1929536},
52+ bibsource = {DBLP, http://dblp.uni-trier.de}
55+@inproceedings{epic-tfp,
56+ author = {Edwin Brady},
57+ title = {Epic --- a library for generating compilers},
59+ booktitle = {{Trends in Functional Programming} ({TFP} '11)},
63+@inproceedings{ynot08,
64+ author = {Nanevski,, Aleksandar and Morrisett,, Greg and
65+ Shinnar,, Avraham and Govereau,, Paul and Birkedal,,
67+ title = {Ynot: reasoning with the awkward squad},
68+ booktitle = {{ICFP} '08: Proceeding of the 13th {ACM SIGPLAN}
69+ international conference on Functional programming},
71+ isbn = {978-1-59593-919-7},
73+ location = {Victoria, BC, Canada},
74+ doi = {http://doi.acm.org/10.1145/1411204.1411237},
76+ address = {New York, NY, USA},
80+ author = {Edwin Brady and Kevin Hammond},
81+ title = {Correct-by-Construction Concurrency: Using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols},
83+ journal = {Fundamenta Informaticae},
89+@inproceedings{devil-osdi00,
90+ author = {Fabrice M{\'e}rillon and
91+ Laurent R{\'e}veill{\`e}re and
95+ title = {Devil: An IDL for Hardware Programming},
96+ booktitle = {4th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2000)},
101+@INPROCEEDINGS{device-osdi08,
102+ author = {Dan Williams and Patrick Reynolds and Kevin Walsh and Emin Gün Sirer and Fred B. Schneider},
103+ title = {Device driver safety through a reference validation mechanism},
104+ booktitle = {8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008)},
108+@inproceedings{sozeau-equations,
109+ author = {Matthieu Sozeau},
110+ title = {Equations: A Dependent Pattern-Matching Compiler},
111+ booktitle = {First International Conference on Interactive Theorem Proving (ITP 2010)},
114+ ee = {http://dx.doi.org/10.1007/978-3-642-14052-5_29},
115+ crossref = {DBLP:conf/itp/2010},
116+ bibsource = {DBLP, http://dblp.uni-trier.de}
120+@inproceedings{packet-type,
121+ author = "Peter J. McCann and Satish Chandra",
122+ title = "Packet Types: Abstract Specification of Network Protocol Messages",
124+ booktitle = "SIGCOMM '00",
128+@inproceedings{qs-types,
129+ author = {Eelis {van der Weegen} and James McKinna},
131+ title={A Machine-checked Proof of the Average-case Complexity of Quicksort in Coq},
134+ series = {Lecture Notes in Computer Science},
135+ publisher = {Springer}
139+@inproceedings{totalparser,
140+ author = {Nils Anders Danielsson},
141+ title = {Total Parser Combinators},
142+ booktitle = {{ICFP} '10: Proceedings of the 15th {ACM} {SIGPLAN} International Conference on Functional Programming},
144+ isbn = {978-1-60558-794-3},
146+ location = {Baltimore, Maryland, USA},
147+ doi = {http://doi.{ACM}.org/10.1145/1863543.1863587},
148+ publisher = {{ACM}},
149+ address = {New York, NY, USA},
154+ title="{Internet Protocol}",
155+ series="Request for Comments",
157+ howpublished="RFC 791 (Standard)",
159+ organization="Internet Engineering Task Force",
162+ note="Updated by RFC 1349",
163+ url="http://www.ietf.org/rfc/rfc791.txt",
169+ title="{Internet Control Message Protocol}",
170+ series="Request for Comments",
172+ howpublished="RFC 792 (Standard)",
174+ organization="Internet Engineering Task Force",
177+ note="Updated by RFCs 950, 4884",
178+ url="http://www.ietf.org/rfc/rfc792.txt",
181+@INPROCEEDINGS{Dybjer-indrec,
182+ author = {Peter Dybjer and Anton Setzer},
183+ title = {A Finite Axiomatization of Inductive-Recursive Definitions},
184+ booktitle = {Tyed Lambda Calculi and Applications},
186+ series = {Lecture Notes in Computer Science},
189+ publisher = {Springer}
193+ author = {W. Richard Stevens},
194+ title = {{TCP/IP} Illustrated Volume 1: The Protocols},
196+ publisher = {Addison Wesley},
197+ isbn = {0-201-63346-9}
200+@inproceedings{coqtypeclasses,
201+ author = {Sozeau, Matthieu and Oury, Nicolas},
202+ title = {First-Class Type Classes},
203+ booktitle = {TPHOLs '08: Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics},
205+ isbn = {978-3-540-71065-3},
207+ location = {Montreal, P.Q., Canada},
208+ doi = {http://dx.doi.org/10.1007/978-3-540-71067-7_23},
209+ publisher = {Springer-Verlag},
210+ address = {Berlin, Heidelberg},
214+@inproceedings{kipling,
215+ author = {McBride, Conor},
216+ title = {Outrageous but meaningful coincidences: dependent type-safe syntax and evaluation},
217+ booktitle = {WGP '10: Proceedings of the 6th {ACM} {SIGPLAN} workshop on Generic programming},
219+ isbn = {978-1-4503-0251-7},
221+ location = {Baltimore, Maryland, USA},
222+ doi = {http://doi.{ACM}.org/10.1145/1863495.1863497},
223+ publisher = {{ACM}},
224+ address = {New York, NY, USA},
227+@inproceedings{padsml,
228+ author = {Yitzhak Mandelbaum and
231+ Mary F. Fern{\'a}ndez and
233+ title = {{PADS/ML}: a functional data description language},
234+ booktitle = {POPL '07: Proceedings of the 34th {ACM} {SIGPLAN}-SIGACT Symposium on
235+ Principles of Programming Languages, POPL 2007, Nice, France,
236+ January 17-19, 2007},
239+ ee = {http://doi.{ACM}.org/10.1145/1190216.1190231},
240+ crossref = {DBLP:conf/popl/2007},
241+ bibsource = {DBLP, http://dblp.uni-trier.de}
244+@proceedings{DBLP:conf/popl/2007,
245+ editor = {Martin Hofmann and
246+ Matthias Felleisen},
247+ title = {Proceedings of the 34th {ACM} {SIGPLAN}-SIGACT Symposium on
248+ Principles of Programming Languages, POPL 2007, Nice, France,
249+ January 17-19, 2007},
251+ publisher = {{ACM}},
253+ isbn = {1-59593-575-4},
254+ bibsource = {DBLP, http://dblp.uni-trier.de}
257+@inproceedings{melange,
258+ author = {Madhavapeddy, Anil and Ho, Alex and Deegan, Tim and Scott, David and Sohan, Ripduman},
259+ title = {Melange: creating a "functional" internet},
260+ booktitle = {EuroSys '07: Proceedings of the 2nd {ACM} SIGOPS/EuroSys European Conference on Computer Systems 2007},
262+ isbn = {978-1-59593-636-3},
263+ location = {Lisbon, Portugal},
264+ doi = {http://doi.{ACM}.org/10.1145/1272996.1273009},
265+ publisher = {{ACM}},
266+ address = {New York, NY, USA},
271+@article{next700data,
272+ author = {Fisher, Kathleen and Mandelbaum, Yitzhak and Walker, David},
273+ title = {The next 700 data description languages},
274+ journal = {{SIGPLAN} Not.},
280+ doi = {http://doi.{ACM}.org/10.1145/1111320.1111039},
281+ publisher = {{ACM}},
282+ address = {New York, NY, USA},
286+@INPROCEEDINGS{xi-ats,
287+ author = {Hongwei Xi},
288+ title = {{Applied Type System} (extended abstract)},
289+ booktitle = {Types for Proofs and Programs 2003},
290+ editor = {Stefano Berardi and Mario Coppo and Ferruccio Damiani},
291+ publisher = {Springer},
292+ series = {Lecture Notes in Computer Science},
298+@inproceedings{powerpi,
299+ author = {Nicolas Oury and
301+ title = {The power of {Pi}},
302+ booktitle = {{ICFP} '08: Proceedings of the 13th {ACM} {SIGPLAN} International Conference
303+ on Functional Programming, {ICFP} 2008, Victoria, BC, Canada,
304+ September 20-28, 2008},
307+ ee = {http://doi.{ACM}.org/10.1145/1411204.1411213},
308+ crossref = {DBLP:conf/{ICFP}/2008},
309+ bibsource = {DBLP, http://dblp.uni-trier.de}
312+@proceedings{DBLP:conf/{ICFP}/2008,
313+ editor = {James Hook and
315+ title = {Proceeding of the 13th {ACM} {SIGPLAN} international conference
316+ on Functional programming, {ICFP} 2008, Victoria, BC, Canada,
317+ September 20-28, 2008},
318+ booktitle = {{ICFP}},
319+ publisher = {{ACM}},
321+ isbn = {978-1-59593-919-7},
322+ bibsource = {DBLP, http://dblp.uni-trier.de}
326+@inproceedings{security-types,
327+ author = {Morgenstern, Jamie and Licata, Daniel R.},
328+ title = {Security-typed programming within dependently typed programming},
329+ booktitle = {{ICFP} '10: Proceedings of the 15th {ACM} {SIGPLAN} International Conference on Functional Programming},
331+ isbn = {978-1-60558-794-3},
333+ location = {Baltimore, Maryland, USA},
334+ doi = {http://doi.{ACM}.org/10.1145/1863543.1863569},
335+ publisher = {{ACM}},
336+ address = {New York, NY, USA},
339+@inproceedings{levitation,
340+ author = {Chapman, James and Dagand, Pierre-\'{E}variste and McBride, Conor and Morris, Peter},
341+ title = {The gentle art of levitation},
342+ booktitle = {{ICFP} '10: Proceedings of the 15th {ACM} {SIGPLAN} International Conference on Functional Programming},
344+ isbn = {978-1-60558-794-3},
346+ location = {Baltimore, Maryland, USA},
347+ doi = {http://doi.{ACM}.org/10.1145/1863543.1863547},
348+ publisher = {{ACM}},
349+ address = {New York, NY, USA},
354+@INPROCEEDINGS{awkward,
355+ author = {Simon {Peyton Jones}},
356+ title = {Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in {Haskell}},
357+ booktitle = {Engineering theories of software construction},
362+@inproceedings{scrap-engine,
363+ author = {Brady, Edwin and Hammond, Kevin},
364+ title = {Scrapping your inefficient engine: using partial evaluation to improve domain-specific language implementation},
365+ booktitle = {{ICFP} '10: Proceedings of the 15th {ACM} {SIGPLAN} International Conference on Functional Programming},
367+ isbn = {978-1-60558-794-3},
369+ location = {Baltimore, Maryland, USA},
370+ doi = {http://doi.{ACM}.org/10.1145/1863543.1863587},
371+ publisher = {{ACM}},
372+ address = {New York, NY, USA},
376+ author = {Chlipala, Adam},
377+ title = {Ur: statically-typed metaprogramming with type-level record computation},
378+ journal = {{SIGPLAN} Not.},
384+ doi = {http://doi.{ACM}.org/10.1145/1809028.1806612},
385+ publisher = {{ACM}},
386+ address = {New York, NY, USA},
391+@phdthesis{norell-thesis,
392+ author = {Ulf Norell},
393+ title = {Towards a practical programming language based on dependent type
395+ school = {Chalmers University of Technology},
397+ month = {September},
400+@inproceedings{open-type,
401+ author = {Schrijvers, Tom and Peyton Jones, Simon and Chakravarty, Manuel and Sulzmann, Martin},
402+ title = {Type checking with open type functions},
403+ booktitle = {International Conf. on Functional Programming ({ICFP} 2008)},
406+ doi = {http://doi.{ACM}.org/10.1145/1411203.1411215},
407+ publisher = {{ACM}},
408+ address = {New York, NY, USA},
411+@inproceedings{ngna-dsl,
412+ title = {Domain Specific Languages ({DSL}s) for Network Protocols},
413+ author = {Saleem Bhatti and Edwin Brady and Kevin Hammond and James McKinna},
415+ booktitle = {International Workshop on Next Generation Network Architecture ({NGNA} 2009)}
418+@phdthesis{gill-thesis,
419+ title = {Cheap deforestation for non-strict functional languages},
421+ institution = {University of Glasgow},
427+ title = {Low Level Virtual Machine for {Glasgow Haskell Compiler}},
428+ author = {David Terei},
430+ howpublished = {Bachelor's Thesis, Computer Science and Engineering Dept., The University of New South Wales, Sydney, Australia}
434+ title = {{LLVM}: An Infrastructure for Multi-Stage Optimization},
435+ author = {Chris Lattner},
438+ institution = {Computer Science Dept., University of Illinois at Urbana-Champaign}
441+@inproceedings{gpu-arrays,
442+ title = {GPU Kernels as Data-Parallel Array Computations in Haskell},
443+ author = {Sean Lee and Manuel M. T. Chakravarty and Vinod Grover and Gabriele Keller.},
445+ booktitle = {Workshop on Exploiting Parallelism using GPUs and other Hardware-Assisted Methods (EPAHM 2009)}
449+ author = {Galois, Inc.},
452+ howpublished = {\url{http://cryptol.net/}}
455+@inproceedings{paradise-dsl,
456+ author = {Lennart Augustsson and Howard Mansell and Ganesh Sittampalam},
457+ title = {{Paradise: a two-stage DSL embedded in Haskell}},
458+ booktitle = {International Conf. on Functional Programming ({ICFP} 2008)},
460+ publisher = {{ACM}},
465+ author = {Arie {van Deursen} and Paul Klint and Joost Visser},
466+ title = {Domain-Specific Languages --- an annotated bibliography},
468+ howpublished = {\url{http://homepages.cwi.nl/~arie/papers/dslbib/}}
471+@inproceedings{imperative-pe,
472+ author = {Debois, S{\o}ren},
473+ title = {Imperative program optimization by partial evaluation},
474+ booktitle = {PEPM '04: Proceedings of the 2004 {ACM} {SIGPLAN} symposium on Partial evaluation and semantics-based program manipulation},
476+ isbn = {1-58113-835-0},
478+ location = {Verona, Italy},
479+ doi = {http://doi.{ACM}.org/10.1145/1014007.1014019},
480+ publisher = {{ACM}},
481+ address = {New York, NY, USA},
485+@inproceedings{offline-pe-termination,
486+ author = {Andersen, Peter Holst and Holst, Carsten Kehler},
487+ title = {Termination Analysis for Offline Partial Evaluation of a Higher Order Functional Language},
488+ booktitle = {Proc. SAS '96: Intl. Symp. on Static Analysis},
490+ isbn = {3-540-61739-6},
492+ publisher = {Springer},
493+ notaddress = {London, UK},
497+@inproceedings{stage-duplication,
498+ author = {Swadi, Kedar and Taha, Walid and Kiselyov, Oleg and Pasalic, Emir},
499+ title = {A monadic approach for avoiding code duplication when staging memoized functions},
500+ notbooktitle = {PEPM '06: Proceedings of the 2006 {ACM} {SIGPLAN} symposium on Partial evaluation and semantics-based program manipulation},
501+ booktitle = {Proc. PEPM '06:{ACM} Symp. on Partial Evaluation and Semantics-based Program Manipulation},
503+ isbn = {1-59593-196-1},
505+ location = {Charleston, South Carolina},
506+ doi = {http://doi.{ACM}.org/10.1145/1111542.1111570},
507+ notpublisher = {{ACM}},
508+ notaddress = {New York, NY, USA},
512+@inproceedings{concoqtion,
513+ author = {Fogarty, Seth and Pasalic, Emir and Siek, Jeremy and Taha, Walid},
514+ title = {Concoqtion: indexed types now!},
515+ booktitle = {PEPM '07: Proceedings of the 2007 {ACM} {SIGPLAN} symposium on Partial evaluation and semantics-based program manipulation},
517+ isbn = {978-1-59593-620-2},
519+ location = {Nice, France},
520+ doi = {http://doi.{ACM}.org/10.1145/1244381.1244400},
521+ publisher = {{ACM}},
522+ address = {New York, NY, USA},
525+@inproceedings{metahaskell,
526+ author = "Tim Sheard and Simon {Peyton Jones}",
527+ title = "Template metaprogramming for {Haskell}",
528+ booktitle = "{ACM} Haskell Workshop",
532+ noteditor = "Manuel M. T. Chakravarty",
533+ notpublisher = "{ACM} Press"
536+@misc{shark-profiler,
537+ title = {Optimizing your application with {Shark 4}},
539+ howpublished = {\url{http://developer.apple.com/tools/sharkoptimize.html}}
543+ title = {The Computer Language Benchmark Game},
545+ howpublished = {\url{http://shootout.alioth.debian.org/}}
549+ author = {Yoshihiko Futamura},
551+ title = "Partial Evaluation of Computation Process --– An Approach to a Compiler-Compiler",
552+ journal = {Systems, Comps., Controls},
559+ title = {Partial Evaluation and Automatic Program Generation},
560+ author = {N.D. Jones and C.K. Gomard and P. Sestoft},
562+ publisher = {Prentice Hall International}
565+@inproceedings{pantheon,
566+ author = {Sean Seefried and Manuel Chakravarty and Gabriele Keller},
567+ title = {Optimising Embedded {DSLs} using {Template Haskell}},
569+ booktitle = {{Proc. GPCE~'04: Conf. Generative Prog. and Component Eng.}},
570+ publisher = {Springer},
575+ author = {Elliott, Conal and Finne, Sigbj\orn and De Moor, Oege},
576+ title = {Compiling embedded languages},
577+ journal = {J. Funct. Program.},
583+ doi = {http://dx.doi.org/10.1017/S0956796802004574},
584+ publisher = {Cambridge University Press},
585+ address = {New York, NY, USA},
589+@inproceedings{russell,
590+ author = {Sozeau, Matthieu},
591+ title = {Program-ing finger trees in Coq},
592+ booktitle = {{ICFP} '07: Proceedings of the 12th {ACM} {SIGPLAN} international conference on Functional programming},
594+ isbn = {978-1-59593-815-2},
596+ location = {Freiburg, Germany},
597+ doi = {http://doi.{ACM}.org/10.1145/1291151.1291156},
598+ publisher = {{ACM}},
599+ address = {New York, NY, USA},
602+@inproceedings{turner-total,
603+ author = {D. A. Turner},
604+ title = {Elementary Strong Functional Programming},
606+ booktitle = "First International Symposium on Functional Programming Languages in Education",
607+ publisher = {Springer},
613+@incollection{free-theorems,
614+ author = "P. Wadler",
615+ title = "Theorems for Free!",
616+ booktitle = "{Proc. 4th Int.\ Conf.\ on Funct.\ Prog.\ Languages and Computer Arch., {FPCA}'89, London, {UK}, 11--13 Sept 1989}",
617+ publisher = "{ACM} Press",
618+ address = "New York",
621+ url = "citeseer.ist.psu.edu/wadler89theorems.html"
624+@inproceedings{TrulyConcurrent,
625+ author = {Naiyong Jin and Jifeng He},
626+ title = {Towards A Truly Concurrent Model for Processes Sharing Resources},
627+ booktitle = {Proc. 3rd {IEEE} International Conf. on Soft. Eng. and Formal Methods},
629+ isbn = {0-7695-2435-4},
631+ doi = {http://dx.doi.org/10.1109/SEFM.2005.50},
632+ publisher = {{IEEE} Computer Society},
633+ address = {Washington, DC, USA},
637+ note = {Omitted to preserve anonymity, contact PC chair for details}
641+ note = {Omitted to preserve anonymity, contact PC chair for details}
645+ note = {Omitted to preserve anonymity, contact PC chair for details}
648+@inproceedings{HaskellIO,
649+ author = {Simon L. {Peyton Jones} and Philip Wadler},
650+ title = {Imperative functional programming},
651+ booktitle = {Proc. 20th {ACM} Symposium on Principles of programming languages},
653+ isbn = {0-89791-560-7},
655+ location = {Charleston, South Carolina, United States},
656+ doi = {http://doi.{ACM}.org/10.1145/158511.158524},
657+ publisher = {{ACM}},
658+ address = {New York, NY, USA},
661+@article{CorrectnessConstruction,
663+title = "{Correctness by Construction: Better can also be Cheaper}",
664+journal = "{CrossTalk: the Journal of Defense Software Engineering}",
672+@INPROCEEDINGS{hj:popl03,
673+ AUTHOR = {M. Hofmann and S. Jost},
674+ TITLE = {Static Prediction of Heap Space Usage for First-Order Function
676+booktitle = "Proc. {POPL 2003 --- 2003 {ACM} Symp. on Principles of Programming La
681+ ORGANIZATION = {{ACM}}
685+@article{kobayashi-lock,
686+ author = {Naoki Kobayashi},
687+ title = {A type system for lock-free processes},
688+ journal = {Inf. Comput.},
694+ doi = {http://dx.doi.org/10.1016/S0890-5401(02)93171-8},
695+ publisher = {Academic Press, Inc.},
696+ address = {Duluth, MN, USA},
699+@techreport{linear-alias,
700+ title = {Linear types for aliased resources},
701+ author = {Chris Hawblitzel},
703+ institution = {Microsoft Research},
704+ number = {MSR-TR-2005-141}
707+@article{kobayashi-esop,
708+ title = {Type-Based Analysis of Deadlock fora Concurrent Calculus with Interrupts},
709+ author = {Kohei Suenaga and Naoki Kobayashi},
714+@inproceedings{res-c,
715+ title = {A Path Sensitive Type System for Resource Usage Verification of C Like Languages},
716+ author = {Hyun-Goo Kang and Youil Kim and Taisook Han and Hwansoo Han},
718+ publisher = {Springer-Verlag},
719+ booktitle = {Programming Languages and Systems},
726+ title = {Lightweight static resources: Sexy types for embedded and systems programming},
727+ author = {Oleg Kiselyov and Chung-Chieh Shan},
732+@inproceedings{scoped-res,
733+ title = {Resource Usage Analysis Via Scoped Methods},
734+ author = {Gang Tan and Xinming Ou and David Walker},
735+ booktitle = {Foundations of Object-Oriented Languages},
739+@article{igarashi-res,
740+ author = {Igarashi, Atsushi and Kobayashi, Naoki},
741+ title = {Resource usage analysis},
742+ journal = {ACM Trans. Program. Lang. Syst.},
750+ url = {http://doi.acm.org/10.1145/1057387.1057390},
751+ doi = {http://doi.acm.org/10.1145/1057387.1057390},
754+ address = {New York, NY, USA},
755+ keywords = {Resource usage, type inference},
758+@phdthesis{monitoring,
759+ title = {Policy Enforcement via Program Monitoring},
760+ author = {Jarred Adam Ligatti},
765+@inproceedings{sec-policy,
766+ title = {A Type System for Expressive Security Policies},
767+ author = {David Walker},
768+ booktitle = {Twenty-Seventh {ACM} {SIGPLAN} Symposium on Principles of Programming Languages},
772+@inproceedings{res-dfa,
773+ author = {K. Marriott and P.J. Stuckey and M. Sulzmann},
774+ title = {Resource Usage Verification},
776+ booktitle = {In Proc. of First Asian Symposium, APLAS 2003},
778+ publisher = {Springer-Verlag}
781+@incollection{ hancock-interactive,
782+ author = "Peter Hancock and Anton Setzer",
783+ title = "Interactive Programs in Dependent Type Theory",
784+ booktitle = "Proc.\ of 14th Ann.\ Conf.\ of {EACSL}, {CSL}'00, Fischbau, Germany, 21--26 Aug 2000",
786+ publisher = "Springer-Verlag",
788+ editor = "P. Clote and H. Schwichtenberg",
791+ url = "citeseer.ist.psu.edu/hancock00interactive.html" }
793+@inproceedings{popeea-resources,
794+ author = {Corneliu Popeea and Wei-Ngan Chin},
795+ title = {A type system for resource protocol verification and its correctness proof},
796+ booktitle = {PEPM '04: Proceedings of the 2004 {ACM} {SIGPLAN} symposium on Partial evaluation and semantics-based program manipulation},
798+ isbn = {1-58113-835-0},
800+ location = {Verona, Italy},
801+ doi = {http://doi.{ACM}.org/10.1145/1014007.1014021},
802+ publisher = {{ACM} Press},
803+ address = {New York, NY, USA},
806+@inproceedings{sheard-langfuture,
807+ author = {Tim Sheard},
808+ title = "Languages of the future",
809+ booktitle = "{ACM} Conference on Object Orientated Programming Systems, Languages and Applicatioons (OOPSLA'04)",
814+ author = {Edwin Brady},
815+ title = {{Ivor}, a proof engine},
817+ publisher = {Springer-Verlag},
819+ booktitle = {Implementation and Application of Functional Languages 2006}
823+ author = {Bruno Barras and Benjamin Werner},
825+ title = {{Coq} in {Coq}}
829+ author = {Paul Hudak},
830+ title = {Building Domain-Specific Embedded Languages},
833+ journal = {{ACM} Computing Surveys},
838+@inproceedings{concon,
839+ author = {Conor McBride and Healfdene Goguen and James McKinna},
840+ title = {Some Constructions On Constructors},
842+ booktitle = {TYPES 2004},
843+ publisher = {Springer},
848+@InProceedings{Hume-GPCE,
849+author = {K. Hammond and G.J. Michaelson},
850+title = {{Hume: a Domain-Specific Language for Real-Time Embedded Systems}},
851+booktitle = {{Proc. Conf. Generative Programming and Component Engineering (GPCE~'03)}},
852+publisher = {Springer-Verlag},
853+series = {Lecture Notes in Computer Science},
857+@inproceedings{lcf-milner,
858+ author = {Robin Milner},
859+ title = {{LCF}: A Way of Doing Proofs with a Machine},
860+ booktitle = {Mathematical Foundations of Computer Science 1978},
868+@inproceedings{epireloaded,
869+ title = {Epigram Reloaded: A Standalone Typechecker for {ETT}},
870+ author = {James Chapman and Thorsten Altenkirch and Conor McBride},
872+ booktitle = {Trends in Functional Programming 2005},
876+@TECHREPORT{why-tool,
877+ AUTHOR = {J.-C. Filli\^atre},
878+ TITLE = {{Why: a multi-language multi-prover verification tool}},
879+ INSTITUTION = {{LRI, Universit\'e Paris Sud}},
880+ TYPE = {{Research Report}},
884+ URL = {http://www.lri.fr/~filliatr/ftp/publis/why-tool.ps.gz}
887+@misc{ large-extraction,
888+ author = "Lu\'iz Cruz-Filipe and Bas Spitters",
889+ title = "Program Extraction from Large Proof Developments",
891+ url = "citeseer.ist.psu.edu/cruz-filipe03program.html" }
894+ author = "Herman Geuvers and Freek Wiedijk and Jan Zwanenburg",
895+ title = "A Constructive Proof of the Fundamental Theorem of Algebra without Using the Rationals",
896+ booktitle = "{TYPES 2000}",
899+ url = "citeseer.ist.psu.edu/geuvers01constructive.html" }
901+@article{mckinna-expr,
902+ title = {A type-correct, stack-safe, provably correct, expression compiler in {Epigram}},
903+ author = {James McKinna and Joel Wright},
905+ journal = {Journal of Functional Programming},
910+ title = "The {Omega} {Test}: a fast and practical integer programming algorithm for dependence analysis",
911+ author = "William Pugh",
912+ journal = "Communication of the {ACM}",
918+ author = "Georges Gonthier",
919+ title = "A computer-checked proof of the {Four Colour Theorem}",
921+ howpublished = {\url{http://research.microsoft.com/~gonthier/4colproof.pdf}}}
923+@inproceedings{sparkle,
924+ author = "Maarten {de Mol} and Marko {van Eekelen} and Rinus Plasmeijer",
925+ title = "Theorem Proving for Functional Programmers",
926+ url = "citeseer.ist.psu.edu/654423.html",
927+ BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2002)},
928+ publisher = {Springer},
936+ author = {Catarina Coquand},
937+ howpublished= {\url{http://agda.sourceforge.net/}},
942+ title = {Cover Translator},
943+ howpublished = {\url{http://coverproject.org/CoverTranslator/}}
947+ title = {Parsec, a fast combinator parser},
948+ author = {Daan Leijen},
950+ howpublished = {\url{http://www.cs.uu.nl/~daan/parsec.html}}
953+@inproceedings{dtpmsp-gpce,
954+ author = {Edwin Brady and Kevin Hammond},
955+ title = {A Verified Staged Interpreter is a Verified Compiler},
956+ booktitle = {{Proc. Conf. Generative Programming and Component Engineering (GPCE~'06)}},
961+ title = {Haddock: A {Haskell} Documentation Tool},
962+ howpublished = {\url{http://www.haskell.org/haddock/}}
965+@inproceedings{offshoring,
966+ title = {Implicitly Heterogeneous Multi-Stage Programming},
967+ author = {Jason Eckhardt and Roumen Kaibachev and Emir Pa\v{s}al\'{i}c and Kedar Swadi and Walid Taha},
968+ booktitle = {Proc. 2005 Conf. on Generative Programming and Component Engineering (GPCE 2005)},
969+ publisher = {Springer},
976+ title = {Stop thinking about bottoms when writing programs},
977+ author = {Thorsten Altenkirch},
979+ note = {Talk at BCTCS 2006}
983+ title = {Partiality is an Effect},
984+ author = {Tarmo Uustalu},
986+ note = {Talk at Dagstuhl workshop on Dependently Typed Progamming}
989+@inproceedings{McKinnaPOPL06,
990+ author = {James McKinna},
991+ title = {Why dependent types matter},
992+ booktitle = {Proc. {ACM} Symp. on Principles of Programming Languages (POPL 2006)},
996+ doi = {http://doi.{ACM}.org/10.1145/1111320.1111038},
1000+@inproceedings{leroy-compiler,
1001+ title = {Formal Certification of a Compiler Back-end},
1002+ author = {Xavier Leroy},
1004+ booktitle = {Principles of Programming Languages 2006},
1006+ publisher = {{ACM} Press}
1009+@inproceedings{hutton-exceptions,
1010+ title = {Compiling Exceptions Correctly},
1012+ author = {Graham Hutton and Joel Wright},
1013+ booktitle = {Mathematics of Program Construction},
1014+ publisher = {Springer},
1019+@inproceedings{tagless-staged,
1020+ title = {Tagless Staged Interpreters for Typed Languages},
1022+ booktitle = {Proc. 2002 International Conf. on Functional Programming ({ICFP} 2002)},
1023+ author = {Emir Pa\v{s}al\'{i}c and Walid Taha and Tim Sheard},
1024+ publisher = {{ACM}}
1027+@inproceedings{env-classifiers,
1028+ title = {Environment Classifiers},
1030+ author = {Walid Taha},
1031+ booktitle = {Proc. {ACM} Symp. on Principles of Programming Languages (POPL 2003)},
1035+@inproceedings{dsl-msp,
1036+ title = {{DSL} Implementation in {MetaOCaml}, {Template Haskell}, {and C++}},
1037+ booktitle = {Domain Specific Program Genearation 2004},
1038+ author = {Krzysztof Czarnecki and John O'Donnell and J\"{o}rg Striegnitz and Walid Taha},
1039+ publisher = {Springer},
1046+ author = {Tim Sheard and James Hook and Nathan Linger},
1047+ title = {{GADTs} + Extensible Kinds = Dependent Programming},
1049+ misc = {Submitted to {ICFP} '05}
1052+@INPROCEEDINGS{dt-framework,
1053+ TITLE = {A Dependently Typed Framework for Static Analysis of Program Execution Costs},
1055+ BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2005)},
1056+ AUTHOR = {Edwin Brady and Kevin Hammond},
1060+ PUBLISHER = {Springer}
1063+@INPROCEEDINGS{step-counting,
1064+ TITLE = {Accurate Step Counting},
1066+ BOOKTITLE = {Proc. Implementation of Functional Languages (IFL 2005)},
1067+ AUTHOR = {Catherine Hope and Graham Hutton},
1068+ PUBLISHER = {Springer}
1072+ author = {Walid Taha},
1073+ title = {{A Gentle Introduction to Multi-stage Programming}},
1075+ note = {Available from \url{http://www.cs.rice.edu/~taha}},
1076+ notnote = {Available from \url{http://www.cs.rice.edu/~taha/publications/journal/dspg04a.pdf}}
1079+@misc{mckinnabrady-phase,
1080+ title = {Phase Distinctions in the Compilation of {Epigram}},
1082+ author = {James McKinna and Edwin Brady},
1086+@phdthesis{ brady-thesis,
1087+ author = {Edwin Brady},
1088+ title = {Practical Implementation of a Dependently Typed Functional Programming Language},
1090+ school = {University of Durham}
1093+@phdthesis{ taha-thesis,
1094+ author = {Walid Taha},
1095+ title = {Multi-stage Programming: Its Theory and Applications},
1097+ school = {Oregon Graduate Inst. of Science and Technology}
1100+@phdthesis{ pasalic-thesis,
1101+ author = {Emir Pa\v{s}al\'{i}c},
1102+ title = {The Role of Type-Equality in Meta-programming},
1104+ school = {OGI School of Science and Engineering}
1108+ author = {Thorsten Altenkirch and Conor McBride and James McKinna},
1109+ title = {Why Dependent Types Matter},
1114+@inproceedings { wadler-listless,
1115+ author = {Philip Wadler},
1116+ title = {Listlessness is better than laziness: {Lazy} evaluation and garbage collection at compile-time},
1117+ booktitle = {Proceedings of the 1984 {ACM} Symposium on LISP and functional programming},
1122+@techreport { gofer-impl,
1123+ author = {Mark P. Jones},
1124+ title = {The implementation of the Gofer functional programming system},
1127+ number = {YALEU/DCS/RR-1030},
1128+ institution = {Yale University}
1131+@techreport { pm-opt1,
1132+ author = {Kevin Scott and Norman Ramsey},
1133+ title = {When do match-compilation heuristics matter?},
1136+ number = {CS-2000-13},
1137+ institution = {Department of Computer Science, University of Virginia}
1140+@inproceedings{ pm-opt2,
1141+ author = "Fabrice Le Fessant and Luc Maranget",
1142+ title = "Optimizing Pattern Matching",
1143+ booktitle = "International Conference on Functional Programming",
1146+ url = "citeseer.ist.psu.edu/lefessant01optimizing.html" }
1148+@incollection{con-engine,
1149+ author = {G\'{e}rard Huet},
1150+ title = {The constructive engine},
1151+ booktitle = {A Perspective in Theoreticak Computer Science},
1152+ publisher = {World Scientific Publishing},
1154+ editor = {R. Narasimhan},
1155+ note = {Commemorative Volume for Gift Siromoney},
1159+@inproceedings{gadts,
1160+ title = {Simple unification-based type inference for {GADTs}},
1161+ author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and Stephanie Weirich and Geoffrey Washburn},
1163+ booktitle = {Proc. 2006 International Conf. on Functional Programming ({ICFP} 2006)}
1167+ author = {Simon {Peyton Jones} and Geoffrey Washburn and Stephanie Weirich},
1168+ title = {Wobbly types: type inference for generalised algebraic data types},
1170+ note = {Submitted to POPL 2005}
1174+ author = {Conor McBride},
1175+ title = {Epigram: Practical Programming with Dependent Types},
1177+ howpublished = {Lecture Notes, International Summer School on Advanced Functional Programming}
1181+ author = {Per Martin-L\"{o}f},
1182+ title = "Intuitionistic Type Theory",
1184+ publisher = "Bibliopolis"
1187+@article{modular-fulllazy,
1188+ title = {A Modular Fully Lazy Lambda Lifter in {Haskell}},
1189+ author = {Simon {Peyton Jones} and David Lester},
1192+ journal = {Software Practice and Experience},
1198+@article{ghani-jay95,
1199+ author = {Barry Jay and Neil Ghani},
1200+ title = {The Virtues of Eta-Expansion},
1201+ journal = {Journal of Functional Programming},
1209+ author = {Lennart Augustsson},
1210+ title = {n+k patterns},
1212+ howpublished = {Message to the haskell mailing list, Mon, 17 May 93}
1215+@article{ danvy98functional,
1216+ author = "Olivier Danvy",
1217+ title = "Functional Unparsing",
1218+ journal = "Journal of Functional Programming",
1223+ url = "citeseer.ist.psu.edu/danvy98functional.html" }
1225+@inproceedings{SeveriPoll94,
1226+ author = {Paula Severi and Erik Poll},
1227+ booktitle = {Logical Foundations of Computing Science, LFCS'94},
1228+ editor = {A. Nerode and Yu. V. Matiyasevich},
1230+ pages = {316--328},
1231+ publisher = {Springer},
1233+ title = {{P}ure {T}ype {S}ystems with {D}efinitions},
1237+@inproceedings{coinductive,
1238+ title = {An Application of Co-Inductive Types in Coq: Verification of the Alternating Bit Protocol},
1239+ booktitle = {Proceedings of the 1995 Workshop on Types for Proofs and Programs},
1244+ publisher = {Springer-Verlag},
1245+ author = {Eduardo Gim\'{e}nez}
1249+ author = "Joe Armstrong and Robert Virding and Claes Wikstr{\"o}m and Mike Williams",
1250+ title = "Concurrent Programming in Erlang",
1251+ edition = "Second",
1252+ publisher = "Prentice-Hall",
1254+ url = "citeseer.ist.psu.edu/armstrong93concurrent.html"
1257+@PhdThesis{alti:phd93,
1258+ author = "Thorsten Altenkirch",
1259+ title = "Constructions, Inductive Types and Strong Normalization",
1260+ school = "University of Edinburgh",
1262+ month = "November",
1265+@inproceedings{coq-modules,
1266+ author = "Jacek Chrzaszcz",
1267+ title = "Modules in {Coq} Are and Will Be Correct",
1269+ booktitle = {Types for Proofs and Programs 2003},
1270+ editor = {Stefano Berardi and Mario Coppo and Ferruccio Damiani},
1271+ publisher = {Springer},
1275+@inproceedings{comp-polymorphism,
1276+ author = "Robert Harper and Greg Morrisett",
1277+ title = "Compiling Polymorphism Using Intensional Type Analysis",
1279+ booktitle = "Proceedings of the 22nd {ACM} {SIGPLAN}-SIGACT symposium on Principles of programming languages",
1280+ pages = "130 -- 141"
1283+@misc{runtime-loader,
1284+ author = "Andre Pang",
1285+ title = "{GHC} Runtime Loading",
1287+ howpublished = {Available from \verb+http://www.algorithm.com.au/wiki/hacking/haskell.ghc_runtime_loading+}
1290+@article{mccarthy-lisp,
1291+ author = "John McCarthy",
1292+ title = "Recursive Functions of Symbolic Expressions and Their Computation By Machine",
1294+ journal = "Communications of the {ACM}",
1301+ author = " David R. Musser and Atul Saini and Gillmer J. Derge",
1302+ title= "The {STL} Tutorial and Reference Guide: {C++} Programming with the Standard Template Library",
1304+ publisher = "Addison Wesley"
1307+@misc{ phase-distinction,
1308+ author = "Luca Cardelli",
1309+ title = "Phase Distinctions in Type Theory",
1310+ howpublished = "Manuscript",
1312+ url = "citeseer.ist.psu.edu/cardelli88phase.html" }
1314+@book {pierce-types,
1315+ author = "Benjamin C. Pierce",
1316+ title = "Type and Programming Languages",
1318+ publisher = "MIT Press"
1322+ Author = "Thierry Coquand and G\'{e}rard Huet",
1323+ title = "The calculus of constructions",
1325+ journal = "Information and Computation",
1330+@article{ miller91jlc,
1331+ Author = "Dale Miller",
1332+ Title = "A Logic Programming Language with Lambda-Abstraction,
1333+ Function Variables, and Simple Unification",
1334+ Journal = "Journal of Logic and Computation",
1339+ URL = "citeseer.ist.psu.edu/miller91logic.html",
1340+ URL = "file://ftp.cis.upenn.edu/pub/papers/miller/jlc91.dvi.Z" }
1342+@article{miller-unity,
1343+ author = "Dale Miller",
1344+ title = "Unification Under a Mixed Prefix",
1345+ journal = "Journal of Symbolic Computation",
1347+ pages = "321--358",
1351+@inproceedings{ cynthia,
1352+ author = "Jon Whittle and Alan Bundy and Richard J. Boulton and Helen Lowe",
1353+ title = "An {ML} Editor Based on Proofs-As-Programs",
1354+ booktitle = "Automated Software Engineering",
1357+ url = "citeseer.ist.psu.edu/whittle99ml.html" }
1361+ title={The Humble Programmer},
1362+ author={Edsger Dijkstra},
1364+ note={Turing Award Lecture, EWD 340}
1368+ title={Specifications for the {IBM} Mathematical FORmula TRANslating System, {FORTRAN}},
1369+ author={{IBM Applied Science Division}},
1375+@inproceedings{quickcheck,
1376+ title = {{QuickCheck}: A Lightweight Tool For Random Testing Of {Haskell} Programs},
1377+ author = {Koen Claessen and John Hughes},
1379+ booktitle = {International Conference on Functional Programming}
1382+@inproceedings{currylam,
1383+ title = {Functionality in Combinatory Logic},
1384+ author = {Haskell Curry},
1386+ booktitle = {Proc. Nat. Acad. Sci, USA},
1391+@article{churchsimplelam1,
1392+ title = {A set of postulates for the foundation of logic},
1393+ author = {Alonzo Church},
1395+ journal = {Annals of Mathematics},
1401+@article{churchsimplelam2,
1402+ title = {A set of postulates for the foundation of logic},
1403+ author = {Alonzo Church},
1405+ journal = {Annals of Mathematics},
1412+ title = {A Formulation of the Simple Theory of Types},
1413+ author = {Alonzo Church},
1415+ journal = {Journal of Symbolic Logic},
1421+ title = {Concepts in Programming Languages},
1422+ author = {John C. Mitchell},
1424+ publisher = {Cambridge University Press}
1427+@inproceedings{harrison-hol99,
1428+ title = {A Machine-Checked Theory of Floating Point Arithmetic},
1430+ booktitle = {Theorem Proving in Higher Order Logics: 12th International Conference, TP},
1431+ pages = {113--130},
1432+ author = {John Harrison},
1437+ title = {C--: A portable assembly language},
1439+ booktitle = {Workshop on Implementing Functional Languages, St Andrews},
1440+ author = {Simon {Peyton Jones} and Thomas Nordin and Dino Oliva},
1441+ crossref = {func-imp97}
1444+@proceedings{func-imp97,
1445+ title = {Workshop on Implementing Functional Languages, St Andrews},
1447+ editor = {C Clack},
1448+ publisher = {Springer-Verlag}
1453+ title = {Theorem Proving in Higher Order Logics: 12th International Conference, TPHOLs'99},
1455+ editor = {Yves Bertot and Gilles Dowek and Andr{\'e} Hirschowitz and Christine Paul},
1456+ publisher = {Springer-Verlag},
1457+ address = {Nice, France},
1462+ title = {Mathematical Logic and Programming Languages},
1464+ editor = {C.A.R. Hoare and J.C. Shepherdson},
1465+ publisher = {Prentice-Hall}
1469+ title = {Selected Papers on Automath},
1471+ editor = {S. Abramsky and J. Barwise and K. Fine and H.J. Keisler and A.S. Troelstr},
1472+ publisher = {North-Holland}
1476+ howpublished = {http://www.mersenne.org/prime.htm},
1477+ title = {Great Internet Mersenne Prime Search}
1480+@misc{haskell-report,
1481+ title = {Haskell 98 Language and Libraries --- The Revised Report},
1483+ month = {December},
1484+ author = {Simon {Peyton Jones} and others},
1485+ howpublished = {Available from \verb+http://www.haskell.org/+}
1488+@inproceedings{cayenne-{ICFP},
1489+ author = "Lennart Augustsson",
1490+ title = "Cayenne - a Language with Dependent Types",
1491+ booktitle = "Proc. 1998 International Conf. on Functional Programming ({ICFP} '98)",
1492+ pages = "239--250",
1494+ url = "citeseer.nj.nec.com/augustsson98cayenne.html"
1498+@misc{equality-cayenne,
1499+ howpublished = {\verb+http://www.cs.chalmers.se/~augustss/cayenne/+},
1500+ title = {Equality Proofs in Cayenne},
1502+ author = {Lennart Augustsson}
1505+@misc{interp-cayenne,
1506+ title = {An exercise in dependent types: A well-typed interpreter},
1508+ author = {Lennart Augustsson and Magnus Carlsson}
1511+@inproceedings{balaa00fixpoint,
1512+ title = {Fix-Point Equations for Well-Founded Recursion in Type Theory},
1514+ booktitle = {Theorem Proving in Higher Order Logics},
1516+ author = {Antonia Balaa and Yves Bertot}
1519+@inproceedings{isabelle-maple,
1520+ title = {Theorems and algorithms: An interface between Isabelle and Maple},
1522+ booktitle = {International Symposium on Symbolic and Algebraic Computation},
1523+ author = {Ballarin, C. and Homann, K., and Calmet, J.}
1526+@book{barendregt-num,
1527+ title = {The Lambda Calculus, Its Syntax and Semantics},
1529+ publisher = {North-Holland},
1530+ author = {Henk Barendregt}
1534+ title = {Recreations in the Theory of Numbers},
1536+ publisher = {Dover},
1537+ author = {Albert H. Beiler}
1540+@article{multidigit,
1541+ journal = {Advances in Applied Mathematics},
1542+ title = {Multidigit Multiplication for Mathematicians},
1544+ author = {Daniel J. Bernstein}
1547+@article{buhler-fox,
1548+ journal = {{ACM} Crossroads 2.1.},
1549+ month = {September},
1550+ title = {The Fox project: A language-structured approach to networking software.},
1552+ author = {Buhler, J.},
1553+ note = {Available at http://www.{ACM}.org/crossroads/xrds2-1/foxnet.html}
1556+@techreport{burstall91,
1557+ title = {Computer Assisted Proof for Mathematics: an Introduction Using the \textsc{Lego} Proof System},
1559+ institution = {University of Edinburgh},
1560+ author = {Rod Burstall}
1564+ title = {An Implementation of {LF} with Coercive Subtyping and Universes},
1565+ author = {Paul Callaghan and Zhaohui Luo},
1566+ journal = {Journal of Automated Reasoning},
1574+ title = {Coercive subtyping},
1575+ author = {Zhaohui Luo},
1576+ journal = {J. Logic Comput.},
1583+@inproceedings{calmet-homann,
1584+ title = {Classification of communication and cooperation mechanisms for logical and symbolic computation systems},
1586+ booktitle = {Proceedings of the First International Workshop 'Frontiers of Combining S},
1588+ publisher = {Kluwer},
1589+ author = {J. Calmet and K. Homann}
1592+@techreport{comm-proofs,
1593+ title = {On Communicating Proofs in Interactive Mathematical Documents},
1595+ institution = {Eindhoven University of Technology},
1596+ author = {Olga Caprotti and Martijn Oostdijk}
1600+ title = {How to formally and efficiently prove Prime(2999)},
1602+ author = {Olga Caprotti and Martijn Oostdijk},
1603+ journal = {Symbolic Computation and Automated Reasoning},
1608+ title = {The Calculi of Lambda-Conversion},
1610+ publisher = {Princeton University Press},
1611+ author = {Alonzo Church}
1615+ title = {Implementing Mathematics with the NuPrl Proof Development System},
1617+ publisher = {Prentice-Hall},
1619+ author = {Constable, Robert L. and others}
1623+ title = {On Numbers and Games},
1625+ publisher = {Academic Press},
1626+ author = {J.H. Conway}
1630+ howpublished = {\verb+http://coq.inria.fr/+},
1631+ title = {The {Coq} Proof Assistant --- Reference Manual},
1633+ author = {{Coq Development Team}}
1638+ title = {Type Theory and Programming},
1640+ author = {Thierry Coquand and Bengt Nordstr\"{o}m and Jan M. Smith and Bj\"{o}rn von Sydow}
1644+ title = {The Functional Approach to Programming},
1646+ publisher = {Cambridge University Press},
1647+ author = {Guy Cousineau and Michel Mauny}
1651+ howpublished = {http://www2.hursley.ibm.com/decimal/},
1653+ title = {Standard Decimal Arithmetic Specification},
1655+ author = {Mike Cowlishaw},
1656+ note = {\copyright IBM Corporation 2001}
1660+ title = {Elements of Intuitionism},
1663+ publisher = {Oxford: Clarendon},
1664+ author = {Michael A.E. Dummet}
1668+ title = {Inductive Families},
1670+ author = {Peter Dybjer},
1671+ journal = {Formal Aspects Of Computing},
1677+ howpublished = {http://www.octave.org/},
1678+ month = {February},
1679+ title = {GNU Octave -- A high-level interactive language for numerical computations},
1681+ author = {John W. Eaton}
1685+ title = {Computing methods for scientists and engineers},
1687+ publisher = {Oxford : Clarendon Press},
1688+ author = {L. Fox and D.F. Mayers}
1692+ howpublished = {http://www.gnu.org/software/guile/guile.html},
1693+ title = {Guile -- Project GNU's extension language},
1695+ author = {{Free Software Foundation}}
1699+ journal = {Journal of Functional Programming},
1702+ title = {Do we need dependent types?},
1705+ author = {Daniel Fridlender and Mia Indrika}
1708+@book{primes-programming,
1709+ title = {Primes and Programming -- An Introduction to Number Theory with Computing},
1711+ publisher = {Cambridge University Press},
1712+ author = {Peter Giblin}
1717+ title = {A Tutorial on Recursive Types in \textsc{Coq}},
1719+ author = {Eduardo Gim\'{e}nez}
1722+@article{goldberg91,
1723+ journal = {{ACM} Computing Surveys},
1726+ title = {What every computer scientist should know about floating point arithmetic},
1729+ author = {D. Goldberg}
1732+@article{binary-lambda,
1733+ journal = {Journal of Functional Programming},
1736+ title = {An adequate and efficient left associated binary numeral system in the $\lambda$-calculus},
1738+ author = {Mayer Goldberg}
1742+ title = {Introduction to HOL},
1744+ publisher = {Cambridge University Press},
1745+ author = {M. Gordon and T. Melham}
1749+ howpublished = {Available from \verb+http://www.swox.com/gmp/manual/+},
1750+ title = {The {GNU Multiple Precision} Arithmetic Library 4.1.3 --- Manual},
1752+ author = {Torbj\"{o}rn Granlund and others}
1755+@article{harrison-fmsd94,
1756+ journal = {Formal Methods in System Design},
1758+ title = {Constructing the Real Numbers in {HOL}},
1761+ author = {John Harrison}
1764+@book{harrison-thesis,
1765+ title = {Theorem Proving with the Real Numbers},
1767+ publisher = {Springer-Verlag},
1768+ author = {John Harrison}
1771+@techreport{hol-maple,
1772+ title = {Reasing about the Reals: the marriage of HOL and Maple},
1774+ institution = {University of Cambridge Computer Laboratory},
1775+ author = {John Harrison and Laurent Th\'{e}ry}
1779+ howpublished = {http://pauillac.inria.fr/coq},
1780+ title = {The \textsc{Coq} Proof Assistant - A Tutorial},
1781+ author = {G\'{e}rard Huet and Gilles Kahn and Christine Paulin-Mohring}
1784+@misc{restr-haskell,
1785+ howpublished = {http://citeseer.nj.nec.com/253599.html},
1786+ month = {September},
1787+ title = {Restricted Data Types in Haskell},
1789+ author = {John Hughes}
1793+ howpublished = {http://www2.hursley.ibm.com/decimalj/decimald.html},
1794+ month = {September},
1795+ title = {Decimal Arithmetic for Java -- a Proposal},
1797+ author = {{IBM Corporation}}
1801+ title = {{IEEE} Standard for Binary Floating Point Arithmetic},
1803+ author = {{IEEE Standard 754}}
1807+ title = {IEEE Standard for Radix-Independent Floating-Point Arithmetic},
1809+ author = {{IEEE Standard 854}}
1812+@inproceedings{jon91,
1813+ title = {Completing the Rational and Metric Spaces in \textsc{Lego}},
1815+ booktitle = {Proceedings of the Second Workshop on Logical Frameworks},
1816+ author = {Claire Jones}
1819+@misc{ typinghaskell,
1820+ author = "Mark Jones",
1821+ title = "Typing {Haskell} in {Haskell}",
1822+ howpublished = "In Haskell Workshop, September 1999.",
1824+ url = "citeseer.ist.psu.edu/article/jones99typing.html" }
1827+ journal = {Soviet Physics-Doklady},
1829+ title = {Multiplication of multidigit numbers by automata},
1831+ pages = {595--596},
1832+ author = {A. Karatsuba and Y. Ofman}
1837+ title = {The Art of Computer Programming - Seminumerical Algorithms},
1839+ publisher = {Addison Wesley},
1840+ author = {Donald E. Knuth}
1844+ journal = {Communications of the {ACM}},
1848+ title = {The next 700 programming languages},
1850+ author = {P.J. Landin}
1853+@techreport{luo-spec,
1855+ title = {Program Specification and Data Refinement in Type Theory},
1857+ institution = {Department of Computer Science, University of Edinburgh},
1858+ author = {Zhaohui Luo}
1862+ school = {University of Edinburgh},
1863+ title = {An Extended Calculus Of Constructions},
1865+ author = {Zhaohui Luo}
1868+@techreport{lego-manual,
1869+ title = {\textsc{Lego} Proof Development System: User's Manual},
1871+ institution = {Department of Computer Science, University of Edinburgh},
1872+ author = {Zhaohui Luo and Robert Pollack}
1876+ title = {The {ALF} proof editor and its proof engine},
1878+ booktitle = {Formal Proceeding of the 1993 Workshop on Types for Proofs and Programs},
1879+ author = {Lena Magnusson and Bengt N\"{o}rdstrom}
1883+ howpublished = {http://www.haskell.org/happy/},
1884+ title = {Happy User Guide},
1886+ author = {Simon Marlow and Andy Gill}
1889+@inproceedings{generic-haskell,
1890+ title = {Generic Haskell, Specifically},
1891+ author = {Dave Clarke and Andres L\"{o}h},
1892+ editor = {Jeremy Gibbons and Johan Jeuring},
1893+ booktitle = {Proceedings of the IFIP TC2 Working Conference on Generic Programming},
1895+ publisher = {Kluwer Academic Publishers},
1900+ title = {Faking It -- Simulating Dependent Types in {Haskell}},
1902+ author = {Conor McBride},
1903+ journal = {Journal of Functional Programming},
1909+@misc{mcbride-inverting,
1910+ title = {Inverting Inductively Defined Relations in \textsc{Lego}},
1912+ author = {Conor McBride}
1915+@phdthesis{mcbride-thesis,
1917+ school = {University of Edinburgh},
1918+ title = {Dependently Typed Functional Programs and their proofs},
1920+ author = {Conor McBride}
1923+@article{mcbride-unification,
1924+ title = {First-Order Unification by Structural Recursion},
1926+ author = {Conor McBride},
1927+ journal = {Journal of Functional Programming},
1930+ pages = {1061--1075}
1933+@misc{mckinna-pollack,
1934+ howpublished = {Kluwer Academic Publishers},
1935+ title = {Some Lambda Calculus and Type Theory formalized},
1937+ author = {James McKinna and Robert Pollack}
1941+ title = {An Introduction to the Theory of Numbers},
1943+ publisher = {John Wiley and Sons},
1944+ author = {Ivan Niven and Herbert S. Zuckerman}
1948+ title = {Programming in Martin-L\"{o}f's Type Theory -- An Introduction},
1950+ publisher = {Oxford University Press},
1951+ author = {Bengt Nordstr\"{o}m and Kent Petersson and Jan M. Smith},
1952+ note = {Out of print. Available from http://www.cs.chalmers.se/Cs/Research/Logic}
1956+ title = {Purely Functional Data Structures},
1958+ publisher = {Cambridge University Press},
1959+ author = {Chris Okasaki}
1962+@book{arith-systems,
1963+ title = {Computer Arithmetic Systems},
1965+ publisher = {Prentice-Hall},
1966+ author = {Amos R. Omondi}
1970+ title = {The Implementation of Functional Programming Languages},
1972+ publisher = {Prentice-Hall},
1973+ author = {Simon {Peyton Jones}}
1977+ title = {Computational Numerical Methods},
1979+ publisher = {John Wiley and Sons},
1980+ author = {C. Phillips and B. Cornelius}
1984+ title = {The NAG Library: a beginner's guide},
1986+ publisher = {Oxford : Clarendon Press},
1987+ author = {Jen Phillips}
1991+ month = {September},
1992+ title = {How to Believe a Machine-Checked Proof},
1994+ author = {Robert Pollack}
1997+@phdthesis{pollack94,
1998+ school = {University of Edinburgh},
1999+ title = {The Theory of LEGO -- A Proof Checker for the Extended Calculus of Constructions},
2001+ author = {Robert Pollack}
2004+@inproceedings{intel-bug,
2007+ title = {Anatomy of the Pentium Bug},
2008+ publisher = {Springer-Verlag},
2011+ author = {V.R. Pratt}
2015+ title = {The Maple Handbook: Maple V Release 4},
2017+ publisher = {Springer},
2018+ author = {Darren Redfern}
2022+ title = {Applied Cryptography: protocols, algorithms and source code in C.},
2024+ publisher = {Wiley},
2025+ author = {Bruce Schneier}
2029+ journal = {Mathematical Structures in Computer Science},
2032+ title = {On lists and other abstract data types in the calculus of construction},
2035+ author = {Jonathan P. Seldin}
2039+ journal = {Annals of Pure and Applied Logic},
2043+ title = {On the proof theory of Coquand's calculus of constructions},
2046+ author = {Jonathan P. Seldin}
2050+ journal = {The Computer Journal},
2052+ title = {Towards a Formal Specification of Floating Point},
2055+ author = {B.A. Wichmann}
2059+ title = {Mathematica : a system for doing mathematics by computer},
2061+ publisher = {Addison Wesley},
2062+ author = {Stephen Wolfram}
2065+@inproceedings{xi-imp,
2066+author = "Hongwei Xi",
2067+title = {{Imperative Programming with Dependent Types}},
2068+booktitle = "Proceedings of 15th {IEEE} Symposium on Logic in Computer Science",
2071+address = "Santa Barbara",
2075+@phdthesis{xi-thesis,
2076+ month = {December},
2077+ school = {Department of Mathematical Sciences, Carnegie Mellon University},
2078+ title = {Dependent Types in Practical Programming},
2080+ author = {Hongwei Xi}
2085+author = {Hongwei Xi and Robert Harper},
2086+title = {A Dependently Typed Assembly Language},
2087+institution = {Computer Science and Engineering Department, Oregon Graduate Institute},
2089+number = {OGI-CSE-99-008},
2094+ month = {February},
2095+ title = {Comparison of three public-domain multiprecision libraries: BigNum, Gmp and Pari},
2097+ author = {Paul Zimmerman}
2101+ title = {Programming Perl},
2102+ author = {Larry Wall and Tom Christiansen and Jon Orwant},
2105+ publisher = {O'Reilly}
2109+ howpublished = {http://www.python.org/doc/current/tut/tut.html},
2111+ title = {Python Tutorial},
2113+ author = {Guido van {Rossum} and Fred L. {Drake, Jr}}
2117+ title = {The Language of First Order Logic},
2119+ publisher = {CSLI Lecture Notes},
2120+ author = {Jon Barwise and John Etchemendy}
2124+ title = {Haskell -- The Craft of Functional Programming},
2126+ publisher = {Addison Wesley},
2127+ author = {Simon Thompson}
2130+@inproceedings{coq-hol,
2131+ title = {A Comparative Study of Coq and HOL},
2133+ booktitle = {Theorem Proving in Higher Order Logics},
2135+ author = {Vincent Zammit}
2139+ month = {November},
2140+ title = {Correctly Rounded Binary-Decimal and Decimal-Binary Conversions},
2142+ author = {David M. Gay},
2143+ note = {AT&T Bell Laboratories, Numerical Analysis Manuscript 90-10}
2146+@article{hughes-matters,
2147+ journal = {Computer Journal},
2150+ title = {Why Functional Programming Matters},
2153+ author = {J. Hughes}
2156+@inproceedings{proofpointing,
2157+ title = {Proof by Pointing},
2159+ booktitle = {Proceedings of the International Symposium on Theoretical Aspects of Computer So},
2160+ pages = {141--160},
2161+ editor = {M. Hagiya and J. C. Mitchell},
2162+ publisher = {Springer-Verlag},
2165+ address = {Sendai, Japan},
2166+ author = {Yves Bertot and Gilles Kahn and Laurent Th{\'e}ry}
2169+@misc{inductive-coq,
2170+ month = {December},
2171+ title = {Inductive Definitions in the System Coq -- Rules and Properties},
2173+ author = {Christine Paulin-Mohring}
2178+ title = {Using de Bruijn Sequences to Index a 1 in a Computer Word},
2180+ author = {{Charles E. Leiserson} and {Harald Prokop} and {Keith H. Randall}}
2183+@inproceedings{proofchecking,
2184+ title = {A two-level approach towards lean proof-checking},
2186+ booktitle = {TYPES},
2188+ author = {G. Barthe and M.P.J. Ruys and H.P. Barendregt}
2191+@inproceedings{congruence,
2192+ title = {Congruence Types},
2196+ author = {Gilles Barthe and Herman Geuvers}
2199+@phdthesis{geuvers-thesis,
2200+ title = {Logic and Type Systems},
2201+ author = {Herman Geuvers},
2203+ school = {Katholieke Universiteit Nijmegen}
2206+@techreport{multiple-values,
2207+ title = {Multiple Values in {Standard ML}},
2210+ institution = {LFCS, Dept of Computer Science, University of Edinburgh},
2211+ author = {Kevin Mitchell}
2214+@inproceedings{oracle-checking,
2216+ title = {Oracle-Based Checking of Untrusted Software},
2218+ booktitle = {Proceedings of the 28th {ACM} Symposium on Principles of Programming Languages},
2219+ pages = {142--154},
2220+ author = {{George C. Necula} and {S.P. Rahul}}
2223+@article{adams93jfp,
2224+ journal = {Journal of Functional Programming},
2227+ title = {Efficient Sets -- A Balancing Act},
2229+ pages = {553--561},
2230+ author = {Stephen Adams}
2233+@inproceedings{hughes-sized,
2234+ title = {Proving the Correctness of Reactive Systems Using Sized Types},
2236+ booktitle = {Proceedings of the 23rd {ACM} {SIGPLAN}-SIGACT symposium on Principles of programmin},
2237+ pages = {410--423},
2238+ author = {John Hughes and Lars Pareto and Amr Sabry}
2241+@inproceedings{whittle99ml,
2242+ title = {An {ML} Editor Based on Proofs-As-Programs},
2244+ booktitle = {Automated Software Engineering},
2245+ pages = {166--173},
2246+ author = {Jon Whittle and Alan Bundy and Richard J. Boulton and Helen Lowe}
2250+ title = {Elements of Functional Programming},
2252+ publisher = {Addison-Wesley},
2253+ author = {Chris Reade},
2254+ series = {International Computer Science Series}
2257+@incollection{ wadler-views,
2258+ author = "Philip Wadler",
2259+ title = "Views: {A} Way for Pattern Matching to Cohabit with Data Abstraction",
2260+ booktitle = "Proceedings, 14th Symposium on Principles of Programming Languages",
2261+ publisher = "Association for Computing Machinery",
2262+ editor = "Steve Munchnik",
2263+ pages = "307--312",
2265+ url = "citeseer.nj.nec.com/wadler87views.html" }
2267+@article{ coquand-checking,
2268+ author = "Thierry Coquand",
2269+ title = "An Algorithm for Type-Checking Dependent Types",
2270+ journal = "Science of Computer Programming",
2275+ url = "citeseer.nj.nec.com/coquand96algorithm.html" }
2278+ author = "Thierry Coquand",
2279+ title = "Pattern Matching with Dependent Types",
2281+ howpublished = "Available from \verb+http://www.cs.chalmers.se/~coquand/type.html+"
2284+@misc{pollack-records,
2286+ title = {Dependently Typed Records for Representing Mathematical Structure},
2288+ author = {Robert Pollack}
2291+@article{checking-betarte,
2292+ journal = {Journal of Functional Programming},
2296+ title = {Type checking dependent (record) types and subtyping},
2298+ pages = {137--166},
2299+ author = {Gustavo Betarte}
2304+ author = "Thomas Johnsson",
2305+ title = "Efficient Compilation of Lazy Evaluation",
2306+ booktitle = "Proceedings of the {{ACM}} {{SIGPLAN}}'84 Symposium on Compiler Con struction",
2307+ journal = "{SIGPLAN} Notices",
2311+ publisher = "{ACM} Press",
2314+ url = "citeseer.nj.nec.com/johnsson84efficient.html" }
2316+@misc{kamareddine01,
2317+ month = {February},
2318+ title = {Reviewing the classical and the de Bruijn notation for $\lambda$-calculus and pure type systems},
2320+ author = {Fairouz Kamareddine}
2324+ title = {Basic Proof Theory},
2326+ publisher = {Cambridge University Press},
2327+ author = {A.S. Troelstra and H. Schwichtenberg},
2328+ series = {Cambridge Tracts in Theoretical Computer Science}
2332+ title = {Integrating Normalization-by-Evaluation into a Staged Programming Language},
2334+ author = {Tim Sheard}
2337+@inproceedings{nbe2,
2338+ title = {Normalization by evaluation},
2340+ author = {Ulrich Berger and Matthias Eberl and Helmut Schwichtenberg},
2341+ booktitle = {Prospects for Hardware Foundations 1998},
2342+ pages = {117--137},
2349+ title = {Compiling for Run-time Code Generation},
2351+ author = {Frederick Smith and Dan Grossman and Greg Morrisett and Luke Hornof and Trevor J},
2352+ note = {Under consideration for J. Functional Programming}
2355+@phdthesis{fredsmith_thesis,
2357+ school = {Cornell University},
2358+ title = {Certified Run-time Code Generation},
2360+ author = {Frederick Smith}
2363+@inproceedings{xi_arraybounds,
2364+author = "Hongwei Xi and Frank Pfenning",
2365+title = {Eliminating Array Bound Checking through Dependent Types},
2366+booktitle = "Proceedings of {ACM} {SIGPLAN} Conference on Programming Language Design and Implementation",
2369+address = "Montreal",
2373+@inproceedings{xi_deadcode,
2374+author = "Hongwei Xi",
2375+title = {Dead Code Elimination through Dependent Types},
2376+booktitle = "The First International Workshop on Practical Aspects of Declarative Languages",
2379+address = "San Antonio",
2384+ title = {Compilers --- Principles, Techniques and Tools},
2386+ publisher = {Addison-Wesley},
2387+ author = {Alfred Aho and Ravi Sethi and Jeffrey Ullman}
2391+ title = {Highlights from nhc: A space efficient {Haskell} Compiler},
2393+ author = "Niklas R{\"o}jemo",
2394+ booktitle = "Functional Programming Languages and Computer Architecture",
2400+ title = {SML/NJ Match Compiler Notes},
2402+ author = {William Aitken}
2405+@misc{mlmatch_sestoft,
2406+ title = {ML pattern match compilation and partial evaluation},
2408+ author = {Peter Sestoft}
2411+@inproceedings{compiledstrongreduction,
2412+ title = {A Compiled Implementation of Strong Reduction},
2414+ author = {Benjamin Gr\'{e}goire and Xavier Leroy},
2415+ booktitle = {Proc. 2002 International Conf. on Functional Programming ({ICFP} 2002)},
2420+ howpublished = {http://www.dcs.gla.ac.uk/~meurig/TclHaskell/usermanual.html},
2422+ title = {TclHaskell - User Manual},
2424+ author = {Meurig Sage}
2428+@InProceedings{nbe-cat,
2429+ author = "Thorsten Altenkirch and Martin Hofmann and Thomas Streicher",
2430+ title = "Categorical reconstruction of a reduction free
2431+ normalization proof",
2433+ booktitle = "Category Theory and Computer Science",
2434+ editor = {David Pitt and David E. Rydeheard and Peter Johnstone},
2440+@inproceedings{presburgerEFSM,
2441+ title = {A Comparison of Presburger Engines for EFSM Reachability},
2443+ booktitle = {Computer Aided Verification '98},
2444+ pages = {280--292},
2445+ author = {Thomas R. Shiple and James H. Kukula and Rajeev K. Ranjan}
2449+ title = {Type-Safe Cast},
2451+ author = {Stephanie Weirich}
2454+@phdthesis{grobauer-thesis,
2455+ school = {University of Aarhus},
2456+ title = {Topics in Semantics Based Program Manipulation},
2458+ author = {Bernd Grobauer}
2462+ title = {Computational Lambda Calculus and Monads},
2464+ author = {Eugenio Moggi}
2468+ title = {A proof of {GMP} square root},
2470+ journal = {Journal of Automated Reasoning},
2472+ pages = {225--252},
2473+ author = {Yves Bertot and Nicolas Magaud and Paul Zimmerman}
2477+ journal = {{ACM} Transactions on Programming Languages and Systems},
2481+ title = {From {System F} to Typed Assembly Language},
2483+ pages = {528--569},
2484+ author = {Greg Morrisett and David Walker and Karl Crary and Neal Glew}
2487+@techreport{nbe-rtcg,
2488+ month = {December},
2489+ title = {Strong Normalization by Type-Directed Partial Evaluation and Run-Time Code Generation},
2491+ institution = {BRICS},
2492+ author = {Vincent Balat and Oliver Danvy}
2495+@misc{yong-schemata,
2496+ howpublished = {http://www.dur.ac.uk/yong.luo/},
2497+ title = {A Methodology for Implementing Inductive Schemata},
2499+ author = {Yong Luo and Zhaohui Luo}
2502+@inproceedings{harper93,
2503+ title = {Explicit Polymorphism and CPS Conversion},
2505+ booktitle = {20th {ACM} {SIGPLAN}-SIGACT Symposium on Principles of Programming Languages},
2506+ pages = {206--219},
2507+ publisher = {{ACM} Press, New York, NY, USA},
2508+ author = {Robert Harper and Mark Lillibridge}
2511+@techreport{backends,
2512+ month = {November},
2513+ title = {Functional Back-Ends within the Lambda-Sigma Calculus},
2515+ institution = {INRIA},
2516+ author = {Th\'{e}r\`{e}se Hardin and Luc Maranget and Bruno Pagano}
2520+ title = {Implementing lazy functional languages on stock hardware -- the {Spineless Tagless G-machine}},
2522+ journal = {Journal of Functional Programming},
2525+ pages = {127--202},
2527+ author = {Simon {Peyton Jones}}
2531+ journal = {Indagationes Mathematicae},
2533+ title = {Lambda calculus notation with nameless dummies},
2535+ pages = {381--392},
2536+ author = {N.G. de Bruijn}
2541+ title = {PC Assembly Language},
2543+ publisher = {http://www.drpaulcarter.com/},
2544+ author = {Paul A. Carter}
2547+@inproceedings{poly99,
2548+ title = {Once Upon A Polymorphic Type},
2550+ booktitle = {26th {ACM} {SIGPLAN}-SIGACT Symposium on Principles of Programming Languages},
2551+ publisher = {{ACM}},
2552+ author = {Keith Wansbrough and Simon {Peyton Jones}}
2556+ title = {Compiling Lazy Functional Languages: An introduction},
2558+ author = {Thomas Johnsson}
2561+@inproceedings{unboxed-fp,
2563+ title = {Unboxed Values as First Class Citizens in a Non-Strict Functional Language},
2565+ author = {Simon {Peyton Jones} and John Launchbury},
2566+ booktitle = {Functional Programming Languages and Computer Architecture (FPCA'91)},
2567+ crossref = {fplca91},
2571+@inproceedings{abc-machine,
2572+ author = {Sjaak Smetsers and Eric N{\"{o}}cker and John {van Groningen} and Rinus Plasmeijer},
2573+ title = {Generating efficient code for lazy functional languages},
2574+ booktitle = {Functional programming Languages and Computer Architecture},
2576+ pages = {592--617},
2577+ crossref = {fplca91}
2580+@proceedings{fplca91,
2581+ title = {Functional programming Languages and Computer Architecture},
2585+ publisher = {Springer-Verlag},
2586+ editor = {John Hughes}
2592+ title = {An inverse of the evaluation functional for typed $\lambda$-calculus},
2594+ booktitle = {Proc. 1991 {IEEE} Symp. on Logic in Comp. Sci.},
2595+ pages = {203--211},
2596+ editor = {R. Vemuri},
2597+ author = {Ulrich Berger and Helmut Schwichtenberg}
2600+@inproceedings{typed-closure,
2601+ title = {Typed Closure Conversion},
2603+ booktitle = {Symposium on Principles of Programming Languages},
2604+ pages = {271--283},
2605+ author = {Yasuhiko Minamide and J. Gregory Morrisett and Robert Harper}
2608+@misc{ghc-commentary,
2609+ howpublished = {http://www.cse.unsw.edu.au/~chak/haskell/ghc/comm/},
2610+ title = {The Glasgow Haskell Compiler (GHC) Commentary},
2612+ author = {Manuel M. T. Chakravarty and Sigbjorn Finne and Simon Marlow and Simon {Peyton Jones} and Julian Seward and Reuben Thomas},
2613+ note = {Available from GHC CVS repository}
2616+@inproceedings{lambdalift,
2617+ month = {September},
2618+ title = {Lambda Lifting: Transforming Programs to Recursive Equations},
2620+ booktitle = {Functional Programming Languages and Computer Architecture},
2621+ pages = {190--203},
2622+ editor = {Jean-Pierre Jouannaud},
2623+ publisher = {Springer-Verlag},
2624+ author = {Thomas Johnsson}
2628+ title = {TIL: A Type-Directed Optimizing Compiler for ML},
2630+ booktitle = {Proc. {{ACM}} {{SIGPLAN}} '96 Conference on Programming Language Design and Implementation},
2631+ pages = {181--192},
2632+ author = {D. Tarditi and G. Morrisett and P. Cheng and C. Stone and R. Harper and P. Lee}
2636+ school = {Princeton University},
2637+ title = {Compiling Standard {ML} for Efficient Execution on Modern Machines},
2639+ author = {Zhong Shao}
2642+@inproceedings{gmachine,
2643+ month = {September},
2644+ title = {The {G-Machine}: A fast, graph-reduction evaluator},
2646+ booktitle = {Functional Programming Languages and Computer Architecture},
2647+ pages = {400--413},
2648+ editor = {Jean-Pierre Jouannaud},
2649+ publisher = {Springer-Verlag},
2650+ author = {R.B. Kieburtz}
2653+@inproceedings{strictness,
2654+ month = {September},
2655+ title = {Strictness Analysis - A practical approach},
2657+ booktitle = {Functional Programming Languages and Computer Hardware},
2659+ editor = {Jean-Pierre Jouannaud},
2660+ publisher = {Springer-Verlag},
2661+ author = {Chris Clack and Simon {Peyton Jones}}
2665+ title = {Implementing Functional Languages - A Tutorial},
2667+ publisher = {Prentice Hall International},
2668+ author = {Simon {Peyton Jones} and David Lester}
2671+@phdthesis{capretta-thesis,
2672+ school = {Katholieke Universiteit Nijmegen},
2673+ title = {Abstraction and Computation},
2675+ author = {Venanzio Capretta}
2678+@article{bird-pointer,
2679+ journal = {Journal of Functional Programming},
2683+ title = {Unfolding Pointer Algorithms},
2685+ pages = {347--358},
2686+ author = {Richard S. Bird}
2690+ journal = {Journal of Functional Programming},
2694+ title = {Implementing Theorem Provers in a Purely Functional Style},
2696+ pages = {147--166},
2697+ author = {Keith Hanna}
2700+@article{shrink-lambda,
2701+ journal = {Journal of Functional Programming},
2703+ month = {September},
2705+ title = {Shrinking Lambda Expressions in Linear Time},
2707+ pages = {515--540},
2708+ author = {Andrew W. Appel and Trevor Jim}
2712+ journal = {Journal of Functional Programming},
2716+ title = {Stack-based Typed Assembly Language},
2719+ author = {Greg Morrisset and Karl Crart and Neal Glew and David Walker}
2722+@article{runtime-lamsig,
2723+ journal = {Journal of Functional Programming},
2727+ title = {Functional Runtime Systems within the lambda-sigma Calculus},
2729+ pages = {131--176},
2730+ author = {Th\'{e}r\`{e}se Hardin and Luc Maranget and Bruno Pagano}
2734+ journal = {Journal of Functional Programming},
2736+ month = {November},
2738+ title = {How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger},
2740+ pages = {629--671},
2741+ author = {Henrik Nilsson}
2744+@article{lazyveager,
2745+ journal = {Journal of Functional Programming},
2747+ month = {September},
2749+ title = {More haste, less speed: lazy versus eager evaluation},
2751+ pages = {541--547},
2752+ author = {Richard Bird and Geraint Jones and Oege {de Moor}}
2756+ journal = {Journal of Functional Programming},
2758+ month = {November},
2760+ title = {Compiling lazy functional programs for the Java Virtual Machine},
2762+ pages = {579--603},
2763+ author = {David Wakeling}
2767+ publisher = {Springer-Verlag},
2771+ title = {Isabelle/HOL - A proof assistant for higher order logic},
2773+ author = {Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel}
2776+@article{ghc-inliner,
2777+ journal = {Journal of Functional Programming},
2779+ month = {September},
2781+ title = {Secrets of the {Glasgow Haskell Compiler} inliner},
2783+ pages = {393--434},
2784+ author = {Simon {Peyton Jones} and Simon Marlow}
2787+@article{dynamic-fp,
2788+ journal = {Journal of Functional Programming},
2792+ title = {The dynamic compiliation of lazy functional programs},
2795+ author = {David Wakeling}
2800+ title = {Isabelle Reference Manual},
2802+ author = {Lawrence C. Paulson}
2805+@article{debruijn-nested,
2806+ journal = {Journal of Functional Programming},
2810+ title = {de Bruijn notation as a nested datatype},
2813+ author = {Richard S. Bird and Ross Paterson}
2816+@article{perfect-trees,
2817+ journal = {Journal of Functional Programming},
2821+ title = {Perfect trees and bit-reversal permutations},
2823+ pages = {305--317},
2824+ author = {Ralf Hinze}
2827+@phdthesis{paulin-extraction,
2828+ school = {Paris 7},
2829+ title = {Extraction de programmes dans le Calcul des Constructions},
2831+ author = {Christine Paulin-Mohring}
2834+@phdthesis{santos95,
2835+ school = {University of Glasgow},
2836+ title = {Compilation By Transformation In Non-Strict Functional Languages},
2838+ author = {{Andr\'{e} Lu\'{i}s de Medeiros} Santos}
2842+ title = {Compiling With Continuations},
2844+ publisher = {Cambridge University Press},
2845+ author = {Andrew W. Appel}
2850+ title = {The {SKIM} microprogrammer's guide},
2852+ institution = {University of Cambridge},
2853+ author = {W.R. Stoye}
2857+ title = {An Overview of Burroughs {NORMA}},
2859+ author = {H. Richards}
2863+ title = {The Definition of Standard ML --- Revised},
2865+ publisher = {MIT Press},
2866+ author = {Robin Milner and Mads Tofte and Robert Harper and David MacQueen}
2870+ title = {An intuitionistic theory of types},
2872+ author = {Per Martin-L\"{o}f}
2875+@phdthesis{girard-thesis,
2876+ school = {Universit\'{e} Paris VII},
2877+ title = {Interpr\'{e}tation fonctionelle et \'{e}limination des coupures de l'arithm\'{e}tique d'ordre sup\'{e}rieur},
2879+ author = {Jean-Yves Girard}
2882+@inproceedings{ml75,
2883+ title = {An intuitionistic theory of types: predicative part},
2885+ booktitle = {Logic Colloquium '73},
2886+ editor = {H. Rose and J.C. Shepherdson},
2887+ publisher = {North-Holland},
2888+ author = {Per Martin-L\"{o}f}
2891+@inproceedings{cpm90,
2892+ title = {Inductively defined types},
2894+ author = {Thierry Coquand and Christine Paulin-Mohring},
2897+ publusher = {Springer-Verlag}
2900+@phdthesis{fpcustom,
2902+ school = {Computer Lab, University of Cambridge},
2903+ title = {The Implementation of Functional Languages using Custom Hardware},
2905+ author = {W.R. Stoye}
2908+@phdthesis{hughesthesis,
2909+ month = {September},
2910+ school = {Programming Research Group, Oxford},
2911+ title = {The design and implementation of programming languages},
2913+ author = {John Hughes}
2918+ title = {{TIM} -- A simple lazy abstract machine to execute supercombinators},
2920+ booktitle = {Functional Programming Languages and Computer Architecture},
2921+ publisher = {Springer-Verlag},
2922+ author = {John Fairbairn and Stuart Wray},
2928+ title = {The {ABC} machine -- A Sequential Stack-based Abstract Machine For Graph Rewriting},
2930+ institution = {University of Nijmegen},
2931+ 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}
2934+@techreport{implicit,
2935+ title = {On Implicit Arguments},
2937+ institution = {Faculty of Science, University of Tokyo},
2938+ author = {Masami Hagiya and Yozo Toda}
2942+ title = {Denotational Semantics},
2944+ publisher = {Wm. C. Brown},
2945+ author = {David A. Schmidt}
2948+@inproceedings{lazyml,
2950+ title = {A compiler for {Lazy} {ML}},
2952+ booktitle = {Proceedings of the {{ACM}} Symposium on Lisp and Functional Programming},
2953+ pages = {218--227},
2954+ author = {Lennart Augustsson}
2957+@inproceedings{nu-g,
2958+ title = {Parallel graph reduction with the $\langle\nu,G\rangle$-machine},
2960+ booktitle = {Functional Programming Languages and Computer Architecture},
2961+ publisher = {{ACM} Press},
2962+ author = {Lennart Augustsson and Thomas Johnsson}
2966+ title = {The C programming language},
2968+ publisher = {Prentice-Hall},
2969+ author = {Brian W. Kernighan and Dennis M. Ritchie}
2973+ title = {C--: a portable assembly language that supports garbage collection},
2975+ author = {Simon {Peyton Jones} and Norman Ramsey and Fermin Reig},
2976+ note = {Invited talk at PPDP'99}
2980+ howpublished = {http://www.dur.ac.uk/CARG/epigram.html},
2981+ title = {Project Proposal: {Epigram}: Innovative Programming via Inductive Families},
2983+ author = {Zhaohui Luo and James McKinna and Paul Callaghan and Conor McBride}
2987+ title = {Playing by the Rules: Rewriting as a practical optimisation technique in {GHC}},
2989+ author = {Simon {Peyton Jones} and Andrew Tolmach and Tony Hoare}
2992+@UNPUBLISHED{implicit-pollack,
2993+ AUTHOR = {Robert Pollack},
2994+ TITLE = {Implicit Syntax},
2995+ NOTE = {Informal Proceedings of First Workshop on
2996+ Logical Frameworks, Antibes},
3002+@article{transform-haskell,
3003+ journal = {Science of Computer Programming},
3005+ title = {A transformation-based optimiser for {Haskell}},
3008+ author = {Simon {Peyton Jones} and Andr\'{e} L. M. Santos}
3011+@inproceedings{knuth-bendix,
3012+ title = {Simple Word Problems in Universal Algebras},
3014+ booktitle = {Computational Problems in Abstract Algebra},
3015+ pages = {263--298},
3016+ editor = {John Leech},
3017+ publisher = {Pergamon Press},
3018+ author = {Donald E. Knuth and Peter B. Bendix}
3021+@inproceedings{phantomfun,
3022+ title = {Fun With Phantom Types},
3023+ author = {Ralf Hinze},
3024+ pages = {245--262},
3026+ crossref = {funprogramming},
3027+ booktitle = {The Fun Of Programming},
3028+ publisher = {Palgrave}
3031+@book{funprogramming,
3033+ title = {The Fun Of Programming},
3035+ editor = {Jeremy Gibbons and Oege {de Moor}},
3036+ publisher = {Palgrave},
3037+ series = {Cornerstones of Computing}
3040+@inproceedings{anderson-proof,
3041+ title = {Representing Proof Transformations For Program Optimization},
3043+ booktitle = {International Conference On Automated Deduction},
3044+ publisher = {Springer Verlag},
3045+ author = {Penny Anderson}
3048+@phdthesis{daria-thesis,
3050+ school = {Institute of Informatics, Warsaw University},
3051+ title = {Termination of Rewriting in the Calculus of Constructions},
3053+ author = {Daria Walukiewicz-Chrzaszcz}
3056+@inproceedings{change-data,
3057+ title = {Changing Data Structures In Type Theory: A Study Of Natural Numbers},
3059+ booktitle = {Types For Proofs And Programs 2000},
3060+ pages = {181--196},
3061+ editor = {Paul Callaghan and Zhaohui Luo and James McKinna and Robert Pollack},
3062+ publisher = {Springer},
3063+ author = {Nicolas Magaud and Yves Bertot}
3066+@phdthesis{nico-thesis,
3067+ title = {Changement de Representation des donn\'{e}es dans le Calcul de Constructions},
3068+ author = {Nicolas Magaud},
3071+ school = {Universit\'{e} de Nice - Sophia Antipolis}
3076+ title = {Design Patterns},
3078+ publisher = {Addison Wesley},
3079+ author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides}
3084+ title = {The New {GHC}/{Hugs} Runtime System},
3086+ author = {Simon Marlow and Simon {Peyton Jones}}
3090+ month = {February},
3091+ title = {The {STG} runtime system (revised)},
3093+ author = {Simon {Peyton Jones} and Simon Marlow and Alastair Reid},
3094+ howpublished = {Available from \verb+http://www.haskell.org/ghc/documentation.html+}
3097+@inproceedings{optimistic,
3099+ title = {Optimistic Evaluation --- an adaptive evaluation strategy for non-strict programs},
3101+ author = {Robert Ennals and Simon {Peyton Jones}},
3102+ booktitle = {International Conference on Functional Programming},
3106+@phdthesis{ennals-thesis,
3107+ title = {Adaptive Evaluation of Non-Strict Programs},
3108+ author = {Robert Ennals},
3110+ month = {December},
3111+ school = {King's College, University of Cambridge}
3115+ journal = {{ACM} Computing Surveys},
3118+ title = {Garbage Collection of Linked Data Structures},
3120+ pages = {341--367},
3121+ author = {Jacques Cohen}
3125+ journal = {Communications of the {ACM}},
3129+ title = {List Processing In Real Time On A Serial Computer},
3131+ pages = {280--294},
3132+ author = {Henry G. {Baker Jr}}
3136+ month = {February},
3137+ title = {Modelling General Recursion in Type Theory},
3139+ note = {Under consideration for publication in Math. Struct. in Comp. Science. Draft, DCS, CTH --- INRIA, Sophia Antipolis, France},
3140+ author = {Ana Bove and Venanzio Capretta}
3144+ title = {Global Tagging Optimization by Type Inference},
3146+ author = {Fritz Henglein}
3151+ title = {The Cathedral And The Bazaar},
3153+ publisher = {O'Reilly},
3154+ author = {Eric Raymond}
3158+ title = {The Mythical Man-month: Essays on Software Engineering},
3160+ publisher = {Addison Wesley},
3161+ author = {Frederick P. Brooks}
3164+@inproceedings{evalpush,
3165+ title = {How to make a fast curry: push/enter vs eval/apply},
3167+ author = {Simon Marlow and Simon {Peyton Jones}},
3168+ booktitle = {International Conference on Functional Programming, Snowbird},
3172+@phdthesis{boquist-thesis,
3174+ school = {Chalmers University of Technology},
3175+ title = {Code Optimisation Techniques for Lazy Functional Languages},
3177+ author = {Urban Boquist}
3181+ title = {Formal Specification Of Programming Languages},
3183+ publisher = {Prentice-Hall},
3184+ author = {Frank G. Pagan}
3187+@inproceedings{elim-motive,
3188+ title = {Elimination With A Motive},
3190+ booktitle = {Types for Proofs and Programs},
3191+ pages = {197--216},
3192+ editor = {Paul Callaghan and Zhaohui Luo and James McKinna and Robert Pollack},
3193+ publisher = {Springer},
3194+ author = {Conor McBride}
3198+ journal = {Information and Computation},
3202+ title = {Telescoping Mappings in Typed Lambda Calculus},
3204+ pages = {189--204},
3205+ author = {N.G. de Bruijn}
3209+ title = {Typechecking is undecidable when 'type' is a type},
3211+ author = {Mark B. Reinhold}
3215+ month = {September},
3216+ title = {An External Representation for the {GHC} Core Language},
3218+ author = {Andrew Tolmach and {The GHC Team}}
3221+@article{deforestation,
3222+ journal = {Theoretical Computer Science},
3224+ title = {Deforestation: Transforming programs to eliminate trees},
3226+ pages = {231--248},
3227+ author = {Philip Wadler}
3232+ title = {Architecture of the {Haskell} Execution Platform},
3234+ author = {Julian Seward and Simon Marlow and Andy Gill and Sigbjorn Finne and Simon {Peyton Jones} },
3235+ note = {Version 6},
3236+ howpublished = {Available from \verb+http://www.haskell.org/ghc/documentation.html+}
3239+@mastersthesis{wahlstedt-thesis,
3241+ school = {Chalmers University Of Technology},
3242+ title = {Detecting Termination Using Size Change In Parameter Values},
3244+ author = {David Wahlstedt}
3247+@inproceedings{size-change,
3248+ title = {The size-change principle for program termination},
3250+ booktitle = {Proceedings of the 28th Annual {ACM} {SIGPLAN}-SIGACT Symposium on Principles of Programming Languages},
3251+ author = {Chin Soon Lee and Neil D. Jones and Amir Ben-Amram. }
3254+@article{ski-turner,
3255+ journal = {Software -- Practice and Experience},
3257+ title = {A new implementation technique for applicative languages},
3260+ author = {David Turner}
3263+@inproceedings{turner-strong,
3265+ title = {Elementary Strong Functional Programming},
3267+ booktitle = {First International Symposium on Functional Programming Languages in Education, Nijmegen, Netherlands, December 1995.},
3269+ publisher = {Springer},
3270+ author = {David Turner},
3275+ title = {The {Concurrent CLEAN} Language Report (draft)},
3277+ author = {Rinus Plasmeijer and Marko van Eekelen},
3278+ howpublished = {Available from \verb+http://www.cs.kun.nl/~clean/+}
3281+@article{burstall-struct,
3282+ journal = {Computer Journal},
3285+ title = {Proving Properties of Programs By Structural Induction},
3288+ author = {Rod Burstall}
3291+@incollection{ barendregt-types,
3292+ author = "Henk Barendregt",
3293+ title = "Lambda Calculi with Types",
3294+ booktitle = "Handbook of Logic in Computer Science, Volumes 1 (Background: Mathematical Structures) and 2 (Background: Computational Structures), Abramsky \& Gabbay \& Maibaum (Eds.)",
3295+ publisher = "Clarendon",
3298+ url = "citeseer.nj.nec.com/barendregt92lambda.html" }
3301+ title = {Combinatory Logic, volume 1},
3303+ publisher = {North Holland},
3304+ author = {Haskell B. Curry and Robert Feys}
3307+@phdthesis{bove-thesis,
3308+ month = {November},
3309+ school = {Chalmers University of Technology},
3310+ title = {General Recursion in Type Theory},
3312+ author = {Ana Bove}
3316+ title = {Constructive Mathematics and Computer Programming},
3318+ booktitle = {Mathematical Logic and Programming Languages},
3319+ publisher = {Prentice Hall},
3320+ author = {Per Martin-L\"{o}f}
3323+@inproceedings{howard,
3324+ title = {The formulae-as-types notion of construction},
3326+ booktitle = {To H.B.Curry: Essays on combinatory logic, lambda calculus and formalism},
3327+ editor = {Jonathan P. Seldin and J. Roger Hindley},
3328+ publisher = {Academic Press},
3329+ author = {William A. Howard},
3330+ note = {A reprint of an unpublished manuscript from 1969}
3333+@inproceedings{talx86,
3334+ title = {TALx86: A Realistic Typed Assembly Language},
3336+ booktitle = {{ACM} {SIGPLAN} Workshop on Compiler Support for System Software},
3338+ 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}
3341+@inproceedings{bove-capretta,
3343+ title = {Nested General Recursion and Partiality in Type Theory},
3345+ booktitle = {Theorem Proving in Higher Order Logics, 14th International Conference, TPHOLS 2001},
3346+ pages = {121--135},
3347+ editor = {Richard J. Boulton and Paul B. Jackson},
3348+ publisher = {Springer-Verlag},
3349+ author = {Ana Bove and Venanzio Capretta},
3354+ month = {November},
3355+ title = {LVM, the lazy virtual machine},
3357+ author = {Daan Leijen}
3361+ howpublished = {\verb+http://caml.inria.fr/ocaml/htmlman/+},
3363+ title = {The {Objective Caml} system release 3.06},
3365+ author = {Xavier Leroy}
3369+ title = {Lambda : The Ultimate Goto},
3371+ author = {Guy L. {Steele Jr}},
3372+ note = {MIT AI Memo 443}
3375+@inproceedings{ liu-tail,
3376+ author = "Yanhong A. Liu and Scott D. Stoller",
3377+ title = "From Recursion to Iteration: What are the Optimizations?",
3378+ booktitle = "Partial Evaluation and Semantic-Based Program Manipulation",
3381+ url = "citeseer.nj.nec.com/liu00from.html" }
3383+@inproceedings{aczel77,
3384+ title = {An Introduction To Inductive Definitions},
3386+ booktitle = {Handbook of Mathematical Logic},
3387+ editor = {J. Barwise},
3388+ publisher = {North Holland},
3389+ author = {Peter Aczel}
3392+@inproceedings{inductive-plastic,
3394+ title = {Implementation Techniques for Inductive Types in {Plastic}},
3396+ booktitle = {Types for Proofs and Programs},
3398+ editor = {Thierry Coquand and Peter Dybjer and Bengt Nordstr\"{o}m and Jan Smith},
3399+ publisher = {Springer-Verlag},
3400+ author = {Paul Callaghan and Zhaohui Luo},
3405+ howpublished = {Available from \verb+http://www.paulgraham.com/+},
3407+ title = {The Hundred Year Language},
3409+ author = {Paul Graham},
3410+ note = {Keynote address at PyCon 2003}
3413+@inproceedings{gimenez98,
3415+ title = {Structural Recursive Definitions in Type Theory},
3417+ booktitle = {Proceedings of ICALP '98},
3418+ publisher = {Springer-Verlag},
3419+ author = {Eduardo Gim\'{e}nez},
3424+ journal = {Computer Journal},
3427+ title = {Quicksort},
3430+ author = {C.A.R. Hoare}
3433+@phdthesis{goguen-thesis,
3434+ school = {University of Edinburgh},
3435+ title = {A Typed Operational Semantics for Type Theory},
3437+ author = {Healfdene Goguen}
3440+@article{ph-universes,
3441+ journal = {Theoretical Computer Science},
3444+ title = {Type Checking With Universes},
3446+ pages = {107--136},
3447+ author = {Robert Harper and Randy Pollack}
3450+@inproceedings{pm-compile,
3451+ month = {September},
3452+ title = {Compiling Pattern Matching},
3454+ booktitle = {Functional Programming Languages and Computer Architecture},
3455+ pages = {368--381},
3456+ editor = {Jean-Pierre Jouannaud},
3457+ publisher = {Springer-Verlag},
3458+ author = {Lennart Augustsson}
3461+@phdthesis{lena-thesis,
3462+ school = {Chalmers University of Technology, G\"{o}teborg},
3463+ title = {The implementation of {ALF} -- A Proof Editor based on {Martin-L\"{o}f}'s Monomorphic Type Theory with Explicit Substitutions},
3465+ author = {Lena Magnusson}
3469+ journal = {Journal of Functional Programming},
3472+ title = {The View From The Left},
3474+ author = {Conor McBride and James McKinna},
3478+@inproceedings{not-a-number,
3479+ author = {Conor McBride and James McKinna},
3480+ title = {I am not a number, {I} am a free variable},
3482+ booktitle = {Proceedings of the {ACM} {SIGPLAN} Haskell Workshop}
3487+ title = {Time and Space Profiling for Non-Strict, Higher Order Functional Languages},
3489+ author = {Patrick M. Sansom and Simon {Peyton Jones}}
3492+@inbook{pattern-matching,
3493+ title = {The Implementation of Functional Programming Languages},
3495+ booktitle = {The Implementation of Functional Programming Languages},
3497+ editor = {Simon {Peyton Jones}},
3499+ publisher = {Prentice Hall},
3500+ author = {Philip Wadler},
3501+ crossref = {pj-imp}
3504+@article{pe-problems,
3505+ author = {Jones, N. D.},
3506+ title = {Challenging problems in partial evaluation and mixed computation},
3507+ journal = {New Gen. Comput.},
3511+ issn = {0288-3635},
3512+ pages = {291--302},
3513+ doi = {http://dx.doi.org/10.1007/BF03037143},
3514+ publisher = {Ohmsha},
3515+ address = {Tokyo, Japan, Japan},
3518+@inproceedings{tag-elim,
3519+ title = {Tag Elimination -- or -- Type Specialisation is a Type Indexed Effect},
3521+ booktitle = {Subtyping and Dependent Types in Programming, APPSEM Workshop},
3522+ author = {Walid Taha and Henning Makholm}
3525+@inproceedings{extraction-coq,
3526+ title = {A New Extraction for {Coq}},
3528+ booktitle = {Types for proofs and programs},
3529+ editor = {Herman Geuvers and Freek Wiedijk},
3530+ publisher = {Springer},
3531+ author = {Pierre Letouzey},
3535+@phdthesis{mcbride-snr-thesis,
3536+ school = {Queen's University of Belfast},
3537+ title = {Computer Aided Manipulation of Symbols},
3539+ author = {Fred McBride}
3542+@article{ho-strictness,
3543+ journal = {Science of Computer Programming},
3545+ title = {Strictness analysis for higher-order functions},
3547+ pages = {249--278},
3548+ author = { Geoffrey L. Burn and Chris Hankin and Samson Abramsky}
3551+@phdthesis{mycroft-thesis,
3552+ school = {Dept Computer Science, University of Edinburgh},
3553+ title = {Abstract interpretation and optimising transformations for applicative programs},
3555+ author = {A. Mycroft}
3558+@inproceedings{bc-nested,
3559+ month = {September},
3561+ title = {Nested General Recursion and Partiality in Type Theory},
3563+ booktitle = {Theorem Proving In Higher Order Logics: 14th International Conferences, TPHOLS 2001},
3564+ pages = {121--135},
3565+ publisher = {Springer--Verlag},
3566+ author = {Ana Bove and Venanzio Capretta},
3570+@techreport{bove-mutual,
3572+ title = {Mutual General Recursion in Type Theory},
3574+ institution = {Department of Computing Science, Chalmers University of Technology},
3575+ author = {Ana Bove}
3578+@article{berardi-pruning,
3579+ journal = {Journal of Logic and Computation},
3582+ title = {Pruning Simply Typed Lambda Terms},
3584+ pages = {663--681},
3585+ author = {Stefano Berardi}
3589+ journal = {Journal of Computer and System Science},
3591+ title = {A Theory of Type Polymorphism in Programming},
3594+ author = {R. Milner}
3597+@inproceedings{extt,
3598+ title = {Inductive Families Need Not Store Their Indices},
3600+ booktitle = {Types for Proofs and Programs 2003},
3601+ author = {Edwin Brady and Conor McBride and James McKinna},
3602+ editor = {Stefano Berardi and Mario Coppo and Ferruccio Damiani},
3603+ series = {Lecture Notes in Computer Science},
3604+ publisher = {Springer},
3610+ title = {Computation and Reasoning -- A Type Theory for Computer Science},
3613+ author = {Zhaohui Luo},
3614+ series = {Intl. Series of Monographs on Comp. Sci.}
3618+ journal = {Communications of the {ACM}},
3621+ title = {Can Programming Be Liberated From the {Von Neumann} Style?},
3623+ pages = {280--294},
3624+ author = {John Backus}
3629+ title = {Henk: A Typed Intermediate Language},
3631+ author = {Simon {Peyton Jones} and Erik Meijer}
3635+ journal = {Journal of Functional Programming},
3639+ title = {Thunks and the $\lambda$-calculus},
3641+ pages = {303--319},
3642+ author = {John Hatcliff and Olivier Danvy}
3645+@inproceedings{grin-project,
3646+ author = "Urban Boquist and Thomas Johnsson",
3647+ title = "The {GRIN} Project: A Highly Optimising Back End for Lazy Functional Languages",
3648+ booktitle = "Implementation of Functional Languages",
3651+ url = "citeseer.ist.psu.edu/boquist96grin.html" }
3654+ nothowpublished = {\url{http://www.hpl.hp.com/personal/Hans_Boehm/gc/}},
3655+ title = {A garbage collector for {C} and {C++}},
3657+ author = {Hans-J. Boehm and Alan J. Demers and {Xerox Corporation Silicon Graphic} and {Hewlett-Packard Company}}
3660+@misc{art-interpreter,
3662+ title = {The Art of the Interpreter or, the Modularity Complex (Parts Zero, One, and Two)},
3664+ author = {Guy Lewis {Steele, Jr.} and Gerald Jay Sussman},
3665+ note = {MIT AI Lab. AI Lab Memo AIM-453}
3668+@inproceedings{gimenez,
3669+ title = {Codifying Guarded Definitions With Recursive Schemes},
3671+ booktitle = {Proceedings of TYPES 1994},
3673+ author = {Eduardo Gim\'{e}nez}
3677+ title = {The Glasgow Haskell Compiler User's Guide, Version 6.0},
3679+ author = {The {GHC Team}}
3683+ journal = {Journal of Functional Programming},
3687+ title = {Red-Black Trees In A Functional Setting},
3689+ pages = {471--477},
3690+ author = {Chris Okasaki}
3693+@inproceedings{dt-data,
3694+author = "Hongwei Xi",
3695+title = {{Dependently Typed Data Structures}},
3696+booktitle = "Proceedings of Workshop of Algorithmic Aspects of Advanced Programming Languages (WAAAPL '99)",
3698+month = "September",
3704+ title = {On the Correctness and Efficiency of the {Krivine} Machine},
3707+ author = {Mitchell Wand and Daniel P. Friedman},
3708+ howpublished = {Submitted for publication}
3711+@inproceedings{nbe-filinski,
3712+ title = {Normalization by Evaluation for the Computational Lambda-Calculus},
3715+ booktitle = {Typed Lambda Calculi and Applications: 5th International Conference, TLCA 2001},
3716+ author = {Andrzej Filinski},
3717+ pages = {151--165},
3718+ publisher = {Springer-Verlag},
3723+@inproceedings{filinski-nbesem,
3724+ title = {A semantic account of type-directed partial evaluation},
3726+ author = {Andrzej Filinski},
3727+ editor = {G. Nadathur},
3728+ booktitle = {International Conference on Principles and Practice of Declarative Programming},
3731+ pages = {378--395},
3732+ publisher = {Springer-Verlag}
3736+ title = {The mechanical evaluation of expressions},
3737+ author = {P.J. Landin},
3739+ journal = {Computer Journal},
3745+ title = {The {LispKit} Manual},
3746+ author = {Peter Henderson and Geraint Jones and Simon Jones},
3748+ howpublished = {Oxford University Computing Laboratory}
3751+@inproceedings{wells-undecidable,
3752+ title = {Typability and Type Checking in the Second-order $\lambda$-calculus are equivalent and undecidable},
3753+ author = {J. Wells},
3756+ booktitle = {Proc. 9th Ann. {IEEE} Symp. Logic Comput. Sci.}
3760+ title = {Pattern Guards and Transformational Patterns},
3761+ author = {Martin Erwig and Simon {Peyton Jones}},
3763+ howpublished = {Haskell Workshop}
3767+ title = {Alfa Users' Guide},
3768+ author = {Thomas Hallgren},
3770+ howpublished = {Available from \verb+http://www.cs.chalmers.se/~hallgren/Alfa/+}
3773+@inproceedings{nofib,
3774+ title = {The nofib Benchmark Suite of {Haskell} Programs},
3775+ author = {Will Partain},
3777+ booktitle = {Functional Programming},
3778+ editor = {J. Launchbury and P.L. Sansom},
3779+ series = {Workshops in Computing},
3780+ publisher = {Springer Verlag}
3784+ title = {Shape in Computing},
3785+ author = {Barry Jay},
3786+ journal = "{{ACM}} Computing Surveys",
3790+ pages = "355--357",
3794+ title = {The {Haskell 98} Foreign Function Interface 1.0: An Addendum to the {Haskell 98} Report},
3795+ editor = {Manuel Chakravarty},
3798+ month = {December},
3799+ howpublished = {Available from \verb+http://www.haskell.org/+}
3803+ title = {Perl {XS} Reference Manual},
3804+ author = {Dean Roehrich and {The Perl Porters}},
3806+ howpublished = {\verb+http://www.perldoc.com/perl5.6/pod/perlxs.html+}
3810+ title = {{SWIG} : An Easy to Use Tool for Integrating Scripting Languages with {C} and {C++}},
3811+ author = {David M. Beazley},
3813+ howpublished = {\verb+http://www.swig.org/papers/Tcl96/tcl96.html+}
3816+@inproceedings{types-prog,
3817+ title = {Type Systems for Programming Languages},
3818+ booktitle = {Handbook of Theoretical Computer Science},
3819+ author = {John C. Mitchell},
3820+ pages = {365--458},
3826+ title = {Handbook of Theoretical Computer Science},
3827+ editor = {J. van Leeuwen},
3828+ publisher = {Elsevier Science},
3833+ title = {Revised$^5$ Report on the Algorithmic Language Scheme},
3834+ author = {Richard Kelsey and William Clinger and Jonathan Rees},
3836+ month = {February},
3837+ howpublished = {Available from \verb+http://www.schemers.org/+}
3841+ title = {Update on today's {Gmail} Outage},
3842+ author = {{Official Gmail Blog}},
3843+ howpublished = {\url{http://gmailblog.blogspot.com/2009/02/update-on-todays-gmail-outage.html}},
3844+ note = {Retrieved 26th February 2009},