AlgorithmW 0.1.0.0 → 0.1.0.1
raw patch · 3 files changed
+16685/−4 lines, 3 files
Files
- AlgorithmW.cabal +3/−4
- bibliography.bib +16677/−0
- changelog.txt +5/−0
AlgorithmW.cabal view
@@ -1,8 +1,5 @@--- Initial AlgorithmW.cabal generated by cabal init. For further --- documentation, see http://haskell.org/cabal/users-guide/- name: AlgorithmW-version: 0.1.0.0+version: 0.1.0.1 synopsis: Example implementation of Algorithm W for Hindley-Milner type inference. description: Complete implementation of the classic@@ -16,6 +13,8 @@ category: Development build-type: Simple cabal-version: >=1.10++extra-source-files: bibliography.bib changelog.txt executable AlgorithmW main-is: AlgorithmW.lhs
+ bibliography.bib view
@@ -0,0 +1,16677 @@+% bibliography.bib -- Martin's personal bibliography+%++@string{ActInf = "Acta Informatica"}+@string{CACM = "Communications of the {ACM}"}+@string{CompJ = "Computer Journal"}+@string{Dobbs = "Dr. Dobb's Journal"}+@string{IPL = "Information Processing Letters"}+@string{IEEETransComp = "IEEE Transactions on Computers"}+@string{IEEETransSWE = "IEEE Transactions on Software Engineering"}+@string{ISJ = "{IBM} Systems Journal"}+@string{JACM = "Journal of the ACM"}+@string{JFP = "Journal of Functional Programming"}+@string{JSS = "Journal of Systems and Software"}+@string{LNCS = "Lecture Notes in Computer Science"}+@string{LSC = "Lisp and Symbolic Computation"}+@string{MK = "Morgan Kaufman"}+@string{SPE = "Software Practice and Experience"}+@string{SIGPLAN = "ACM SIGPLAN Notices"}+@string{TECS = "ACM Transactions on Embedded Computer Systems"}+@string{TOPLAS = "ACM Transactions on Programming Languages and Systems"}+@string{TransCompSys = "ACM Transactions on Computer Systems"}+@string{TransSWE = "ACM Transactions on Software Engineering"}++@string{ACM = "ACM Press"}+@string{AP = "Academic Press"}+@string{AW = "Addison-Wesley"}+@string{BCS = "British Computer Society"}+@string{CUP = "Cambridge University Press"}+@string{ENH = "Elsevier-North Holland"}+@string{ES = "Elsevier Science Publishers"}+@string{IBM = "IBM Corp."}+@string{IEEE = "IEEE Press"}+@string{PH = "Prentice-Hall"}+@string{MGH = "McGraw-Hill"}+@string{NH = "North Holland"}+@string{MIT = "MIT Press"}+@string{SV = "Springer-Verlag"}+@string{UA = "USENIX Association"}+@string{Wiley = "Wiley"}+++@string{CMU = "Carnegie Mellon University"}+@string{CORNELL = "Cornell University"}+@string{DECSRC = "DEC Systems Research Center, Palo Alto, CA"}+@string{DECWRL = "DEC Western Research Laboratory, Palo Alto, CA"}+@string{DIKU = "Department of Computer Science (DIKU), University of Copenhagen"}+@string{INRIA = "Institut National de la Recherche en Informatique et Automatique"}+@string{Lund = "Lund University, Sweden"}+@string{MITAI = "MIT AI Laboratory"}+@string{MITLCS = "MIT Laboratory for Computer Science"}+@string{PARC = "Xerox PARC, Palo Alto, CA"}+@string{PRINCETON = "Department of Computer Science, Princeton University"}+@string{RICE = "Rice University"}+@string{UCB = "University of California, Berkeley"}+@string{UKC = "Computing Laboratory, The University of Kent at Canterbury"}+@string{UCSC = "University of California, Santa Cruz"}++@Misc{ACM1972Lectures,+ author = {{ACM German Chapter}},+ title = {Lectures {II} -- 1972},+ year = 1972+}++@article{Abadi1991Dynamic,+ author = {Mart{\'i}n Abadi and Luca Cardelli and Benjamin+ Pierce and Gordon Plotkin},+ title = {Dynamic typing in a statically typed language},+ journal = TOPLAS,+ volume = 13,+ number = 2,+ year = 1991,+ issn = {0164-0925},+ pages = {237--268},+ doi = {http://doi.acm.org/10.1145/103135.103138},+ publisher = ACM,+}++@Book{Abadi1997TheoryOfObjects,+ author = {Mart{\'i}n Abadi and Luca Cardelli},+ title = {A Theory of Objects},+ publisher = SV,+ year = 1997+}++@Book{Abelson1996SICP,+ author = {Harold Abelson and Gerald Jay Sussman and Julie+ Sussman},+ title = {Structure and Interpretation of Computer Programs},+ publisher = MIT,+ year = 1996,+ edition = {2nd}+}++@Misc{Adams-FirstClassSchemeXerox,+ author = {Norman Adams and Pavel Curtis and Mike Spreitzer},+ title = {First-Class Data-type Representation in+ {SchemeXerox}},+ url = {citeseer.nj.nec.com/4990.html}+}++@InProceedings{Agat1997TypesRegister,+ author = {Johan Agat},+ title = {Types for Register Allocation},+ booktitle = {Proceedings of IFL'97},+ year = 1997,+ volume = 1467,+ series = LNCS+}++@Book{Aho1982DataAlgorithms,+ author = {Alfred V. Aho and John E. Hopcroft and Jeffrey+ D. Ullman},+ title = {Data Structures and Algorithms},+ publisher = AW,+ year = 1982,+ series = {Computer Science and Information Processing}+}++@InProceedings{Aiken1994SetConstraints,+ author = {A. Aiken},+ title = {Set Constraints: Results, Applications and Future+ Directions},+ booktitle = {Principles and Practice of Computer Programming},+ year = 1994,+ editor = {A. Borning},+ volume = 874,+ series = LNCS,+ publisher = SV+}++@Article{AitKaci1993MeaningOfLife,+ author = {Hassan A{\"\i}t-Kaci and Andreas Podelski},+ title = {Towards a Meaning of {LIFE}},+ journal = {Journal of Logic Programming},+ year = 1993,+ volume = 16,+ number = {3 \& 4},+ pages = {195--234}+}++@INPROCEEDINGS{AlbertHanusHuchOliverVidal02WFLP,+ author = {Elvira Albert and Michael Hanus and Frank Huch and+ Javier Oliver and Germ{\'a}n Vidal},+ title = {An Operational Semantics for Declarative+ Multi-Paradigm Languages},+ year = 2002,+ address = {Grado (Italy)},+ booktitle = {Proc.\ of the 11th International Workshop on+ Functional and (Constraint) Logic Programming (WFLP+ 2002)},+ publisher = {Research Report UDMI/18/2002/RR, Universit{\`a}+ degli Studi di Udine},+ pages = {7--20},+ abstract = { In this paper we define an operational semantics+ for functional logic languages covering notions like+ laziness, sharing, concurrency, non-determinism,+ etc. Such a semantics is not only important to+ provide appropriate language definitions to reason+ about programs and check the correctness of+ implementations but it is also a basis to develop+ language-specific tools, like program tracers,+ profilers, optimizers, etc. First, we define a+ "big-step" semantics in natural style to relate+ expressions and their evaluated results. Since this+ semantics is not sufficient to cover concurrency,+ search strategies, or to reason about costs+ associated to particular computations, we also+ define a "small-step" operational semantics covering+ the features of modern functional logic languages. }+}++@InProceedings{Andreoli1993Interaction,+ author = {Jean-Marc Andreoli and Paolo Ciancarini and Remo+ Pareschi},+ title = {Interaction Abstract Machines},+ booktitle = {Research Directions in Concurrent Object Oriented+ Programming},+ pages = {257--280},+ year = 1993,+ editor = {Agha and Wegner and Yonezawa}+}++@article{ Appel1987GCFaster,+ author = "Andrew W. Appel",+ title = "Garbage Collection can be Faster than Stack+ Allocation",+ journal = "Information Processing Letters",+ volume = 25,+ number = 4,+ publisher = "North Holland",+ address = "Princeton University, Dept. Computer Science,+ Princeton, NJ, 08544",+ pages = "275--279",+ year = 1987,+ url = "citeseer.nj.nec.com/appel87garbage.html"+}++@inproceedings{Appel1987StandardMLCompiler,+ author = "Andrew W. Appel and David B. MacQueen",+ title = "{A Standard {ML} Compiler}",+ booktitle = "{Proceedings of the Conference on Functional+ Programming Languages and Computer Architecture}",+ volume = 274,+ publisher = "Springer, Berlin",+ address = "Portland, Oregon, USA, September 14--16",+ pages = "301--324",+ year = 1987,+ url = "citeseer.nj.nec.com/appel87standard.html"+}++@inproceedings{Appel1988RealTimeCC,+ author = {A. W. Appel and J. R. Ellis and K. Li},+ title = {Real-time concurrent collection on stock+ multiprocessors},+ booktitle = {Proceedings of the ACM SIGPLAN 1988 conference on+ Programming Language design and Implementation},+ year = 1988,+ isbn = {0-89791-269-1},+ pages = {11--20},+ location = {Atlanta, Georgia, United States},+ doi = {http://doi.acm.org/10.1145/53990.53992},+ publisher = ACM,+}++@TechReport{Appel1989RuntimeSystem,+ author = {Andrew W. Appel},+ title = {A Runtime System},+ institution = {Princeton University},+ year = 1989,+ number = {CS-TR-220-89},+ month = may+}++@article{ Appel1989Simple,+ author = "Andrew W. Appel",+ title = "Simple Generational Garbage Collection and Fast+ Allocation",+ journal = "Software Practice and Experience",+ volume = 19,+ number = 2,+ publisher = "Wiley",+ pages = "171--183",+ year = 1989,+ url = "citeseer.nj.nec.com/appel88simple.html"+}++@Book{Appel1992CompilingWithContinuations,+ author = {Andrew W. Appel},+ title = {Compiling with Continuations},+ publisher = CUP,+ year = 1992+}++@article{Appel1993Critique,+ author = "Andrew W. Appel",+ title = "A Critique of Standard {ML}",+ journal = "Journal of Functional Programming",+ volume = 3,+ number = 4,+ pages = "391-429",+ year = 1993,+ url = "citeseer.nj.nec.com/appel92critique.html"+}++@Book{Appel1998MmodernCompiler,+ author = {Andrew W. Appel},+ title = {Modern Compiler Implementation in C},+ publisher = CUP,+ year = 1998+}++@inproceedings{ Apt1997Search,+ author = "Krzysztof R. Apt and Andrea Schaerf",+ title = "Search and Imperative Programming",+ booktitle = "Conference Record of {POPL} 97: The 24TH {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages, Paris, France",+ address = "New York, NY",+ pages = "67--79",+ year = 1997,+ url = "citeseer.nj.nec.com/apt97search.html"+}++@Article{Apt1998Alma,+ author = {Krzysztof R. Apt and Jacob Brunekreef and Vincent+ Partington and Andrea Schaerf},+ title = {Alma-0: An Imperative Language that Supports+ Declarative Programming},+ journal = {ACM Toplas},+ year = 1998,+ volume = 20,+ number = 5,+ pages = {1014--1066}+}++@misc{ Apt1998Integrating,+ author = "K. Apt and A. Schaerf",+ title = "Integrating constraints into an imperative+ programming language",+ text = "K. R. Apt and A. Schaerf. Integrating constraints+ into an imperative programming language,+ 1998. Submitted. Available from+ \url{http://www.cwi.nl/~apt}.",+ year = 1998,+ url = "citeseer.nj.nec.com/apt98integrating.html"+}++@InProceedings{Apt1999AlmaProject,+ author = {Krzysztof R. Apt and Andrea Schaerf},+ title = {The {Alma} Project, or How First Order Logic Can+ Help Us in Imperative Programming},+ booktitle = {Correct System Design},+ pages = {89--113},+ year = 1999,+ editor = {E.-R. Olderog and B. Steffen},+ number = 1710,+ series = LNCS,+ publisher = SV+}++@InProceedings{Ariola1998MonadicState,+ author = {Zena M. Ariola and Amr Sabry},+ title = {Correctness of Monadic State: An Imperative+ Call-by-Need Calculus},+ booktitle = {Proceedings of 25th ACM SIGPLAN-SIGACT Symposium on+ Principles of Programming Languages},+ year = 1998,+ pages = "62--73",+ url = "citeseer.nj.nec.com/ariola98correctness.html"+}++@Article{Ariola2002LambdaLetrec,+ author = {Zena M. Ariola and Stefan Blom},+ title = {Skew confluence and the lambda calculus with letrec},+ journal = {Annals of pure and applied logic},+ year = 2002,+ volume = 117,+ number = {1--3},+ pages = {97-170}+}++@PhdThesis{Armstrong2003Thesis,+ author = {Joe Armstrong},+ title = {Making reliable distributed systems in the presence+ of software errors},+ school = {Royal Institute of Technology},+ year = 2002,+ address = {Stockholm, Sweden},+ month = dec+}++@inproceedings{Ashley1094EfficientMultiple,+ author = "J. Michael Ashley and R. Kent Dybvig",+ title = "An Efficient Implementation of Multiple Return+ Values in Scheme",+ booktitle = "{LISP} and Functional Programming",+ pages = "140-149",+ year = 1994,+ url = "citeseer.nj.nec.com/article/ashley94efficient.html"+}++@Misc{AspectC,+ title = {{AspectC}},+ key = {AspectC},+ note = {Available from:+ \url{http://www.cs.ubc.ca/labs/spl/projects/aspectc.html},+ last visited on 2003-11-26},+}++@Misc{AspectJ,+ title = {{AspectJ}},+ key = {AspectJ},+ note = {Availabl from: \url{http://eclipse.org/aspectj/},+ last visited on 2003-11-26}+}++@inproceedings{Augustsson1998Cayenne,+ author = "Lennart Augustsson",+ title = "Cayenne - a Language with Dependent Types",+ booktitle = "International Conference on Functional Programming",+ pages = "239--250",+ year = 1998,+ url = "citeseer.nj.nec.com/augustsson98cayenne.html"+}++@Article{Avesani1990COOL,+ author = {P. Avesani and A. Perini and F. Ricci},+ title = {{COOL}: An Object System with Constraints},+ journal = {TOOLS 2},+ year = 1990,+ month = jun+}++@Article{Axford1996Aladin,+ author = {Tom Axford and Mike Joy},+ title = {Aladin: An abstract machine for integrating+ functional and procedural programming},+ journal = {Journal of Programming Languages},+ year = 1996,+ volume = 4,+ pages = {63--76}+}++@inproceedings{BT95a:ILPS,+ author = {Bekkers, Yves and Tarau, Paul},+ title = {Monadic {C}onstructs for {L}ogic {P}rogramming},+ booktitle = {Proceedings of ILPS'95},+ editor = "Lloyd, John",+ year = 1995,+ month = dec,+ address = "Portland, Oregon",+ pages = "51--65",+ publisher = MIT+}++@inproceedings{Backhouse1998GenericProgramming,+ AUTHOR = "Backhouse, R. and Jansson, P. and Jeuring, J. and+ Meertens, L.",+ TITLE = "Generic Programming --- An Introduction",+ booktitle = LNCS,+ PAGES = "28--115",+ VOLUME = 1608,+ PUBLISHER = SV,+ NOTE = "Revised version of lecture notes for AFP'98.",+ YEAR = 1999+}++@Article{Backus1978Liberated,+ author = {John Backus},+ title = {Can Programming be Liberated from the von {Neumann}+ Style? {A} Functional Style and its Algebra of+ Programs},+ journal = CACM,+ year = 1978,+ volume = 21,+ number = 8,+ pages = {613--641},+ month = aug+}++@Article{Badros2002Cassowary,+ author = {Greg Badros and Alan Borning and Peter J. Stuckey},+ title = {The {Cassowary} Linear Arithmetic Constraint Solving+ Algorithm},+ journal = {ACM Transactions on Computer-Human Interaction},+ year = 2001,+ volume = 8,+ number = 4,+ pages = {267--306},+ month = dec+}++@inproceedings{Baker1982AdaFrontend,+ author = {T. P. Baker},+ title = {A single-pass syntax-directed front end for Ada},+ booktitle = {Proceedings of the 1982 SIGPLAN symposium on+ Compiler construction},+ year = 1982,+ isbn = {0-89791-074-5},+ pages = {318--326},+ location = {Boston, Massachusetts, United States},+}++@article{Baker1982OverloadResolution,+ author = {T. P. Baker},+ title = {A One-Pass Algorithm for Overload Resolution in Ada},+ journal = TOPLAS,+ volume = 4,+ number = 4,+ year = 1982,+ issn = {0164-0925},+ pages = {601--614},+ doi = {http://doi.acm.org/10.1145/69622.69623},+ publisher = ACM,+}++@Book{Barthe2002AppliedSemantics,+ ALTauthor = {},+ editor = {Gilles Barthe and Peter Dybvier and Lu{\'\i}s Pinto+ and Jo{\~a}o Saraiva},+ title = {Applied Semantics},+ publisher = SV,+ year = {2002},+ number = {2395},+ series = LNCS+}++@TechReport{Bartlett1989SchemeToC,+ author = {Joel F. Bartlett},+ title = {{SCHEME-$>$C: A Portable Scheme-to-C Compiler}},+ institution = {Western Research Laboratory},+ year = 1989,+ type = {Research report},+ number = {89/1},+ address = {100 Hamilton Avenue, Palo Alto, California 94301+ USA}+}++@inproceedings{ Bartlett1990Generational,+ author = "Joel F. Bartlett",+ title = "{A} generational compacting garbage collector for+ {C}++",+ booktitle = "{ECOOP}/{OOPSLA} Workshop on Garbage Collection in+ Object-Oriented Systems",+ address = "Ottawa, Canada",+ year = 1990,+ url = "citeseer.nj.nec.com/230349.html"+}++@article{Bauer1978WideSpectrum,+ author = {F. L. Bauer and M. Broy and R. Gnatz and W. Hesse+ and B. Krieg-Br{\"u}ckner and H. Partsch and+ P. Pepper and H. W{\"o}ssner},+ title = {Towards a wide spectrum language to support program+ specification and program development},+ journal = {SIGPLAN Notices},+ volume = 13,+ number = 12,+ year = 1978,+ issn = {0362-1340},+ pages = {15--24},+ doi = {http://doi.acm.org/10.1145/954587.954588},+ publisher = ACM,+}++@Book{Bauer1985CIP,+ author = {Friedrich L. Bauer},+ title = {{The Munich Project CIP. Volume I: The Wide Spectrum+ Language CIP-L}},+ publisher = SV,+ year = 1985,+ volume = 183,+ series = LNCS+}++@InProceedings{Baumgartner2001FPinBrew,+ author = {Gerald Baumgartner and Martin Jansche and+ Christopher D. Peisert},+ title = {Support for Functional Programming in Brew},+ crossref = {Striegnitz2001MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {111--125},+ year = 2001+}++@TechReport{Bawden1988SyntacticClosures,+ author = {Alan Bawden and Jonathan Rees},+ title = {Syntactic Closures},+ institution = MITAI,+ year = 1988,+ number = {AIM-1049},+ month = jun+}++@InProceedings{Bawden2000FirstClassMacros,+ author = {Alan Bawden},+ title = {First-class macros have types},+ booktitle = {POPL '00: 27th ACM Symp. Princ. of Prog. Langs.},+ year = 2000+}++@InProceedings{Benson1994libscheme,+ author = {Brent W. Benson},+ title = {libscheme: {Scheme} as a {C} library},+ booktitle = {Usenix Very High-level Languages Symposium},+ year = 1994+}++@Book{Bentley1988Pearls,+ author = {Jon Bentley},+ title = {More Programming Pearls},+ publisher = AW,+ year = 1988+}++@InBook{Benton2002MonadsEffects,+ author = {Nick Benton and John Hughes and Eugenio Moggi},+ ALTeditor = {},+ title = {Applied Semantics},+ chapter = {Monads and Effects},+ publisher = SV,+ year = {2002},+ OPTcrossref = {Barthe2002AppliedSemantics},+ number = {2395},+ series = LNCS+}++@article{Biagioni1998SafeForSpace,+ author = "Edoardo Biagioni and Ken Cline and Peter Lee and+ Chris Okasaki and Chris Stone",+ title = "Safe-for-Space Threads in Standard {ML}",+ journal = "Higher-Order and Symbolic Computation",+ volume = 11,+ number = 2,+ pages = "209-225",+ year = 1998,+ url = "citeseer.nj.nec.com/33216.html"+}++@article{ Bigot1999ReturnValue,+ author = "Peter A. Bigot and Saumya K. Debray",+ title = "Return Value Placement and Tail Call Optimization in+ High Level Languages",+ journal = "Journal of Logic Programming",+ volume = 38,+ number = 1,+ pages = "1-29",+ year = 1999,+ url = "citeseer.nj.nec.com/bigot99return.html"+}++@Book{Bird1988IntroFP,+ author = {Richard Bird and Philip Wadler},+ title = {{Introduction to Functional Programming}},+ publisher = PH,+ year = 1988+}++@Article{Bird1997HasteSpeed,+ author = {Richard Bird and Geraint Jones and Oege de Moor},+ title = {More Haste, Less Speed: Lazy Versus Eager+ Evaluation},+ journal = {Journal of Functional Programming},+ year = 1997,+ volume = 7,+ number = 5,+ pages = {541--547},+ month = sep+}++@inproceedings{Bird2003TroubleShared,+ author = {Richard Bird and Ralf Hinze},+ title = {Functional Pearl trouble shared is trouble halved},+ booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell},+ year = 2003,+ isbn = {1-58113-758-3},+ pages = {1--6},+ location = {Uppsala, Sweden},+ doi = {http://doi.acm.org/10.1145/871895.871896},+ publisher = ACM,+}++@inproceedings{Blackburn2002Beltway,+ author = {Stephen M. Blackburn and Richard Jones and Kathryn+ S. McKinley and J. Eliot B. Moss},+ title = {Beltway: getting around garbage collection gridlock},+ booktitle = {Proceedings of the ACM SIGPLAN 2002 Conference on+ Programming language design and implementation},+ year = 2002,+ isbn = {1-58113-463-0},+ pages = {153--164},+ location = {Berlin, Germany},+ doi = {http://doi.acm.org/10.1145/512529.512548},+ publisher = ACM,+}++@InProceedings{Blazevic2001Environment,+ author = {Mario Bla{\v z}evi{\'c} and Zoran Budimac},+ title = {Implementing Extensible Compilers},+ crossref = {Striegnitz2001MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {97--110},+ year = {2001}+}++@Misc{Blume1997SeparateCompilationScheme,+ author = {Matthias Blume},+ title = {Separate Compilation for {Scheme}},+ howpublished = {Draft Paper},+ year = 1997+}++@inproceedings{Boehm1982LogicExpressionsSideEffects,+ author = {Hans-J. Boehm},+ title = {A Logic for Expressions With Side-Effects},+ booktitle = {Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1982,+ isbn = {0-89791-065-6},+ pages = {268--280},+ location = {Albuquerque, Mexico},+ doi = {http://doi.acm.org/10.1145/582153.582182},+ publisher = ACM,+}++@inproceedings{Boehm1986ImplementingRussel,+ author = {Hans-Juergen Boehm and Alan Demers},+ title = {Implementing {Russell}},+ booktitle = {Proceedings of the 1986 SIGPLAN Symposium on+ Compiler Construction},+ year = 1986,+ isbn = {0-89791-197-0},+ pages = {186--195},+ location = {Palo Alto, California, United States},+ doi = {http://doi.acm.org/10.1145/12276.13330},+ publisher = ACM,+},+@Misc{Bonniot2000StructuralInterfaces,+ author = {Daniel Bonniot},+ title = {Structural interfaces for {ML${}_{\leq}$}},+ month = apr,+ year = 2000+}++@inproceedings{Borning1997ConstraintsWeb,+ author = {Alan Borning and Richard Lin and Kim Marriott},+ title = {Constraints for the web},+ booktitle = {Proceedings of the fifth ACM international+ conference on Multimedia},+ year = 1997,+ isbn = {0-89791-991-2},+ pages = {173--182},+ location = {Seattle, Washington, United States},+ doi = {http://doi.acm.org/10.1145/266180.266361},+ publisher = ACM,+}++@InProceedings{Bother1998CompilingSchemeJava,+ author = {Per Bothner},+ title = {Kawa: Compiling {Scheme} to {Java}},+ booktitle = {Usenix},+ year = 1998,+ address = {New Orleans},+ month = jun+}++@InProceedings{Bothner1998Kawa,+ author = {Per Bothner},+ title = {Kawa - Compiling Dynamic Languages to the Java VM},+ booktitle = {Usenix Conference},+ year = 1998,+ address = {New Orleans}+}++@Proceedings{Bramer2003AI2003,+ title = {Proceedings of AI-2003, the Twentythird SGAI+ International Conference on Innovative Techniques+ and Applications of Artificial Intelligence},+ year = 2003,+ editor = {Max Bramer and Richard Ellis and Ann L. Macintosh},+ volume = {XX},+ series = {Applications and Innovations in Intelligent Systems},+ address = {Cambridge, UK},+ month = dec,+ organization = BCS,+ publisher = SV+}++@InProceedings{Brand2003ModalSatisfiability,+ author = {Sebastian Brand and Rosella Gennari and Maarten de+ Rijke},+ title = {Constraint Programming for Modelling and Solving+ Modal Satisfiability},+ booktitle = {Ninth International Conference on Principles and+ Practice of Constraint Programming},+ pages = {795--800},+ year = 2003,+ editor = {Francesca Rossi},+ month = sep,+ publisher = SV+}++@InProceedings{Breitinger1996EdenCoordinationModel,+ author = {Silvia Breitinger and Rita Loogen and Yolanda+ Ortega-Mall{\'e}n and Ricardo Pe{\~n}a},+ title = {The {Eden} Coordination Model for Distributed Memory+ Systems},+ crossref = {Chakravarty1996MPLP},+ booktitle = {Multi-paradigm Logic Programming},+ pages = {25--34},+ year = 1996+}++@article{Broy1982SchorrWaite,+ author = {Manfred Broy and Peter Pepper},+ title = {Combining Algebraic and Algorithmic Reasoning: An+ Approach to the Schorr-Waite Algorithm},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 4,+ number = 3,+ year = 1982,+ issn = {0164-0925},+ pages = {362--381},+ doi = {http://doi.acm.org/10.1145/357172.357175},+ publisher = ACM,+}++@Proceedings{Broy1991MoP,+ title = {Methods of Programming -- Selected Papers on the CIP+ Project},+ year = 1991,+ editor = {Manfred Broy and Martin Wirsing},+ volume = 544,+ series = LNCS,+ publisher = SV+}++@InProceedings{Brus1987Clean,+ author = {T. Brus and M. C. J. D. van Eekelen and M. van Leer+ and M. J. Plasmeijer and H.P. Barendregt},+ title = {CLEAN - A Language for Functional Graph Rewriting},+ booktitle = {Proc. of Conference on Functional Programming+ Languages and Computer Architecture (FPCA '87),+ Portland, Oregon, USA},+ pages = {364--384},+ year = 1987,+ editor = {Kahn},+ number = 274,+ series = LNCS,+ publisher = SV+}++@InProceedings{Bryant2001ExplicitProgramming,+ author = {Avi Bryant and Andrew Catton and Kris De Volder and+ Gail C. Murphy.},+ title = {Explicit Programming },+ booktitle = {Proceedings of 1st International Conference on+ Aspect-Oriented Software Development},+ pages = {10--18},+ year = 2001,+ month = apr+}++@article{Budd1998FunctionalProgramming,+ author = {Timothy A. Budd},+ title = {Functional programming and the fragile base class+ problem},+ journal = SIGPLAN,+ volume = 33,+ number = 12,+ year = 1998,+ issn = {0362-1340},+ pages = {66--71},+ doi = {http://doi.acm.org/10.1145/307824.307881},+ publisher = ACM,+}++@InProceedings{Budd2002JensensDevice,+ author = {Timothy A. Budd},+ title = {The Return of {Jensen's} Device},+ crossref = {Striegnitz2002MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {45--63},+ year = 2002+}++@INPROCEEDINGS{BuessowGrieskamp:99,+ AUTHOR = {R. B{\"u}ssow and W. Grieskamp},+ TITLE = {{A Modular Framework for the Integration of+ Heterogenous Notations and Tools}},+ BOOKTITLE = {Proc. of the 1st International Conference on+ Integrated Formal Methods -- IFM'99},+ YEAR = 1999,+ EDITOR = {K. Araki and A. Galloway and K. Taguchi}+}++@TechReport{Burger1994SchemeMachine,+ author = {Robert G. Burger},+ title = {The Scheme Machine},+ institution = {Indiana University, Computer Science Department},+ year = 1994,+ number = 413,+ month = aug+}++@InProceedings{Burger1995RegisterAllocation,+ author = {Robert G. Burger and Oscar Waddell and R. Kent+ Dybvig},+ title = {{Register Allocation Using Lazy Saves, Eager+ Restores, and Greedy Shuffling}},+ booktitle = {Conference on Programming Language Design and+ Implementation},+ pages = {130--138},+ year = 1995,+ volume = 30,+ month = jun+}++@article{Burstall1977TransformationSystem,+ author = {R. M. Burstall and John Darlington},+ title = {A Transformation System for Developing Recursive+ Programs},+ journal = {J. ACM},+ volume = 24,+ number = 1,+ year = 1977,+ issn = {0004-5411},+ pages = {44--67},+ doi = {http://doi.acm.org/10.1145/321992.321996},+ publisher = ACM,+}++@inproceedings{Burstall1980Hope,+ author = "R. M. Burstall and D. B. MacQueen and+ D. T. Sannella",+ title = "{Hope: An Experimental Applicative Language}",+ booktitle = "{Conference Record of the 1980 {LISP} Conference}",+ publisher = ACM,+ address = "Stanford University, Stanford, California",+ pages = "136--143",+ year = 1980,+ month = aug,+ url = "citeseer.nj.nec.com/burstall80hope.html"+}++@MISC{CIP1,+ key = {CIP1},+ TITLE = {{Constraint Imperative Programming}},+ howpublished = {World Wide Web},+ NOTE =+ {Available from:\url{http://www.ncst.ernet.in/kbcs/vivek/issues/10.4/ravi/node10.html}, last visited: 2003-02-24},+ YEAR = 1999+}++@MISC{CIP2,+ key = {CIP2},+ TITLE = {{Papers -- Constraint Imperative Programming}},+ howpublished = {World Wide Web},+ NOTE = {Available from:+ \url{http://www.cs.washington.edu/research/constraints/cip/},+ last visited: 2003-02-24},+ YEAR = 2003+}++@InProceedings{Calcagno2003Implementing,+ author = {Cristiano Calcagno and Walid Taha and Liwen Huang+ and Xavier Leroy},+ title = {{Implementing Multi-stage Languages Using ASTs,+ Gensym, and Reflection}},+ booktitle = {GPCE'2003},+ year = 2003+},+@inproceedings{Cannarozzi2000ContaminatedGC,+ author = {Dante J. Cannarozzi and Michael P. Plezbert and Ron+ K. Cytron},+ title = {Contaminated garbage collection},+ booktitle = {Proceedings of the ACM SIGPLAN 2000 conference on+ Programming language design and implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {264--273},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349334},+ publisher = ACM,+}++@PhdThesis{CantwellSmith1982Reflection,+ author = {Brian {Cantwell Smith}},+ title = {Reflection and Semantics in a Procedural Language},+ school = {Massachusetts Institute of Technology},+ year = 1982,+ month = jan,+ note = {Also available as Technical Report+ No.~MIT-LCS-TR-272}+}++@article{ Cardelli1987BasicPolymorphicTypeChecking,+ author = "Luca Cardelli",+ title = "Basic Polymorphic Typechecking",+ journal = "Science of Computer Programming",+ volume = 8,+ number = 2,+ pages = "147-172",+ year = 1987,+ url = "citeseer.nj.nec.com/cardelli88basic.html"+}++@InProceedings{Carlsson2002MonadsIncrementalComputing,+ author = {Magnus Carlsson},+ title = {Monads for Incremental Computing"},+ booktitle = {Proceedings of the International Conference on+ Functional Programming, ICFP'2002},+ year = 2002,+ month = oct+}++@InProceedings{Ceijtin2000FlowDirected,+ author = {Henry Cejtin and Suresh Jagannathan and Stephen+ Weeks},+ title = {Flow-Directed Closure Conversion for Typed+ Languages},+ booktitle = {European Symposium on Programming},+ pages = {56--71},+ year = 2000,+ month = mar+}++@Proceedings{Chakravarty1996MPLP,+ title = {Multi-paradigm Logic Programming},+ year = 1996,+ editor = {Manuel M. T. Chakravarty and Yike Guo and Tetsuo+ Ida},+ number = {96--28},+ series = {Forschungsberichte des Fachbereichs Informatik},+ month = aug,+ organization = {Technische Universit{\"a}t Berlin},+ note = {Proceedings of the JICSLP'96 Post-Conference+ Workshop}+}++@inproceedings{Chen1997MutableADT,+ author = {Chih-Ping Chen and Paul Hudak},+ title = {Rolling your own mutable ADT--a connection between+ linear types and monads},+ booktitle = {Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1997,+ isbn = {0-89791-853-3},+ pages = {54--66},+ location = {Paris, France},+ doi = {http://doi.acm.org/10.1145/263699.263708},+ publisher = ACM,+}++@inproceedings{Chitil1999TypeInference,+ author = {Olaf Chitil},+ title = {Type inference builds a short cut to deforestation},+ booktitle = {Proceedings of the fourth ACM SIGPLAN international+ Conference on Functional Programming},+ year = 1999,+ isbn = {1-58113-111-9},+ pages = {249--260},+ location = {Paris, France},+ doi = {http://doi.acm.org/10.1145/317636.317907},+ publisher = ACM,+}++@Article{Claessen1999ConcurrencyMonad,+ author = {Koen Claessen},+ title = {A Poor Man's Concurrency Monad},+ journal = {Journal of Functional Programming},+ year = 1999,+}++@inproceedings{Clinger1988ImplementingContinuations,+ author = {Will Clinger and Anne Hartheimer and Eric Ost},+ title = {Implementation strategies for continuations},+ booktitle = {Proceedings of the 1988 ACM Conference on LISP and+ Functional Programming},+ year = 1988,+ isbn = {0-89791-273-X},+ pages = {124--131},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/62678.62692},+ publisher = ACM,+}++@Article{Clinger1991ExplicitRenaming,+ author = {William D. Clinger},+ title = {Hygienic macros through explicit renaming},+ journal = {Lisp Pointers},+ year = 1991,+ volume = {IV},+ number = 4,+ month = dec,+}++@InProceedings{Clinger1991MacrosThatWork,+ author = {William Clinger and Jonathan Rees},+ title = {Macros that work},+ booktitle = {POPL '91: Conference Record of the Eighteenth Annual+ ACM Symposium on Principles of Programming+ Languages},+ pages = {155-162},+ year = 1991,+ publisher = ACM+}++@inproceedings{Coady2001ModularityOS,+ author = {Yvonne Coady and Gregor Kiczales and Mike Feeley and+ Greg Smolyn},+ title = {Using aspectC to improve the modularity of+ path-specific customization in operating system+ code},+ booktitle = {Proceedings of the 8th European software engineering+ conference held jointly with 9th ACM SIGSOFT+ international symposium on Foundations of software+ engineering},+ year = 2001,+ isbn = {1-58113-390-1},+ pages = {88--98},+ location = {Vienna, Austria},+ doi = {http://doi.acm.org/10.1145/503209.503223},+ publisher = ACM+}++@inproceedings{Coady2003AspectEvolutionOS,+ author = {Yvonne Coady and Gregor Kiczales},+ title = {Back to the future: a retroactive study of aspect+ evolution in operating system code},+ booktitle = {Proceedings of the 2nd international conference on+ Aspect-oriented software development},+ year = 2003,+ isbn = {1-58113-660-9},+ pages = {50--59},+ location = {Boston, Massachusetts},+ doi = {http://doi.acm.org/10.1145/643603.643609},+ publisher = ACM,+}++@Proceedings{Coenen2003AI2003,+ title = {Proceedings of AI-2003, the Twentythird SGAI+ International Conference on Innovative Techniques+ and Applications of Artificial Intelligence},+ year = 2003,+ editor = {Frans Coenen and Alun Preece and Ann L. Macintosh},+ volume = {XX},+ series = {Research and Development in Intelligent Systems},+ address = {Cambridge, UK},+ month = dec,+ organization = BCS,+ publisher = SV+}++@article{Cohen1990CLPL,+ author = {Jacques Cohen},+ title = {Constraint logic programming languages},+ journal = CACM,+ volume = 33,+ number = 7,+ year = 1990,+ issn = {0001-0782},+ pages = {52--68},+ doi = {http://doi.acm.org/10.1145/79204.79209},+ publisher = ACM,+}++@InProceedings{Colnet1998CustomizeMarkSweep,+ author = {Dominique Colnet and Philippe Coucaud and Olivier+ Zendra},+ title = {Compiler Support to Customize the Mark and Sweep+ Algorithm},+ booktitle = {ACM SIGPLAN International Symposium on Memory+ Management (ISMM'98)},+ pages = {154-165},+ year = 1998,+ address = {Vancouver, BC, Canada},+ month = oct+},+@Article{Constanza2003EssenceAOP,+ author = {Pascal Costanza},+ title = {Dynamically Scoped Functions as the Essence of AOP},+ journal = {ACM SIGPLAN Notices},+ year = 2003,+ volume = 38,+ number = 8,+ pages = {29--36},+ month = aug+}++@Book{Cooper2004EngineeringCompiler,+ author = {Keith D. Cooper and Linda Torczon},+ title = {Engineering a Compiler},+ publisher = MK,+ year = 2004+}++@InProceedings{Courtney2001GUI,+ author = {Antony Courtney and Conal Elliott},+ title = {Genuinely Functional User Interfaces},+ booktitle = {Haskell Workshop 01},+ year = 2001+}++@InProceedings{Crary2003TypedAssembly,+ author = {Karl Crary},+ title = {Toward a Foundational Typed Assembly Language},+ booktitle = {POPL'03},+ pages = {198--212},+ year = 2002+}++@misc{CurryReport,+ AUTHOR = {M. Hanus and S. Antoy and H. Kuchen and+ F.J. L\a'opez-Fraguas and W. Lux and+ J.J. Moreno-Navarro and F. Steiner},+ TITLE = {{Curry -- An Integrated Functional Logic Language}},+ howpublished = {Language Report},+ YEAR = {Version 0.7.2, 2002}+}++@InProceedings{Curtis1990ModuleSystemScheme,+ author = {Pavel Curtis and James Rauen},+ title = {A Module System for Scheme},+ booktitle = {Proceedings of the 1990 ACM Conference on Lisp and+ Functional Programming},+ year = 1990,+ month = jun+}++@Book{Czarnecki2000GenerativeProgramming,+ author = {Krzysztof Czarnecki and Ulrich W. Eisenecker},+ title = {Generative Programming -- Methods, Tools, and+ Applications},+ publisher = AW,+ year = 2000,+}++@Article{Dahl1966Simula,+ author = {Ole-Johan Dahl and Kristen Nygaard},+ title = {{SIMULA} -- an {Algol}-Based Simulation Language},+ journal = CACM,+ year = 1966,+ volume = 9,+ number = 9,+ pages = {671--678},+ month = sep+}++@InProceedings{Damas1982PrincipalTypeSchemes,+ author = {Luis Damas and Robin Milner},+ title = {Principal type schemes for functional programs},+ booktitle = {Proceedings 9'th ACM Symposium on Principles of+ Programming Languages},+ pages = {207--212},+ year = 1982,+ address = {Albuquerque, N.M},+ month = jan,+ publisher = ACM+}++@InProceedings{Danvy1988FAC,+ author = {Olivier Danvy},+ title = {On some Functional Aspects of Control},+ booktitle = {Workshop on the Implementation of Lazy Functional+ Languages},+ year = 1988,+ month = oct+}++@TechReport{Danvy1991ThreeSteps,+ author = {Olivier Danvy},+ title = {Three Steps for the CPS Transformation},+ institution = {Kansas State University},+ year = 1991,+ number = {CIS-92-02},+ month = dec+}++@InProceedings{Danvy1992Back,+ author = {Olivier Danvy},+ title = {Back to Direct Style},+ booktitle = {European Symposium on Programming (ESOP 1992},+ year = 1992,+ volume = 582,+ series = LNCS,+ month = feb+}++@InProceedings{Davies2000IntersectionTypes,+ author = {Rowan Davies and Frank Pfenning},+ title = {Intersection types and computational effects},+ booktitle = {Proceedings of the Fifth International Conference on+ Functional Programming (ICFP'00),},+ pages = {198-208},+ year = 2000,+ editor = {P. Wadler},+ address = {Montreal, Canada},+ month = sep,+ publisher = ACM+}++@inproceedings{DeRemer1979EfficientLALR,+ author = {Frank DeRemer and Thomas J. Pennello},+ title = {Efficient computation of LALR(1) look-ahead sets},+ booktitle = {Proceedings of the 1979 SIGPLAN symposium on+ Compiler construction},+ year = 1979,+ isbn = {0-89791-002-8},+ pages = {176--187},+ location = {Denver, Colorado, United States},+}++@article{DeRemer1982LALR,+ author = {Frank DeRemer and Thomas Pennello},+ title = {Efficient Computation of LALR(1) Look-Ahead Sets},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 4,+ number = 4,+ year = 1982,+ issn = {0164-0925},+ pages = {615--649},+ doi = {http://doi.acm.org/10.1145/69622.357187},+ publisher = ACM,+}++@Misc{Dewar1979SETL,+ author = {Robert B. K. Dewar},+ title = {{The SETL Programming Language}},+ howpublished = {Available from,+ \url{http://galt.mrl.nyu.edu/~bacon/setlprog.ps}},+ year = 1979+}++@INPROCEEDINGS{DidrichEtAl:94,+ AUTHOR = {K. Didrich and A. Fett and C. Gerke and W. Grieskamp+ and P. Pepper},+ TITLE = {{Design and Implementation of an Algebraic+ Programming Language}},+ BOOKTITLE = {Programming Languages and System Architectures},+ EDITOR = {J. Gutknecht},+ YEAR = 1994,+ SERIES = LNCS,+ VOLUME = 782,+ PUBLISHER = SV+}++@Misc{Dijkstra1978ReviewBackus,+ author = {Edsger W. Dijkstra},+ title = {{A review of the 1977 Turing Award Lecture by John+ Backus}},+ howpublished = {circulated privately (EWD~692)},+ year = 1978+}++@InProceedings{Dijkstra2001LazyJava,+ author = {Atze Dijkstra and Doaitse S. Swierstra},+ title = {Lazy Functional Parser Combinators in Java},+ crossref = {Striegnitz2001MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {11--42},+ year = 2001+}++@Book{Diller1988Compiling,+ author = {Antoni Diller},+ ALTeditor = {},+ title = {Compiling Functional Languages},+ publisher = Wiley,+ year = {1988}+}++@InProceedings{Dunfield2004Tridirectional,+ author = {Joshua Dunfield and Frank Pfenning},+ title = {Tridirectional typechecking},+ booktitle = {Conference Record of the 31st Annual Symposium on+ Principles of Programming Languages (POPL'04)},+ pages = {281--292},+ year = 2004,+ editor = {X. Leroy},+ address = {Venice, Italy},+ month = jan,+ publisher = ACM+}++@TechReport{Dybvig1990DestinationDriven,+ author = {R. Kent Dybvig and Robert Hieb and Tom Butler},+ title = {Destination-Driven Code Generation},+ institution = {Indiana University Computer Science Department},+ year = 1990,+ number = 302,+ month = feb+}++@techreport{ Dybvig1994DontStopBibop,+ author = "R. Kent Dybvig and David Eby and Carl Bruggeman",+ title = "Don't Stop the {BIBOP}: Flexible and Efficient+ Storage Management for Dynamically-Typed Languages",+ number = 400,+ address = "\{dyb,deby,bruggema\}@cs.indiana.edu",+ year = 1994,+ url = "citeseer.nj.nec.com/dybvig94dont.html"+}++@Book{Ehrig2001Grundlagen,+ author = {Hartmut Ehrig and Bernd Mahr and Martin Grosze-Rohde+ and Felix Cornelius and Philip Zeitz},+ title = {Mathematisch-strukturelle Grundlagen der Informatik},+ publisher = SV,+ year = 2001+}++@article{Elrad2001AOPIntro,+ author = {Tzilla Elrad and Robert E. Filman and Atef Bader},+ title = {Aspect-oriented programming: Introduction},+ journal = {Communications of the ACM},+ volume = 44,+ number = 10,+ year = 2001,+ issn = {0001-0782},+ pages = {29--32},+ doi = {http://doi.acm.org/10.1145/383845.383853},+ publisher = ACM,+}++@InProceedings{Erkoek2000RecursiveMonadicBindings,+ author = {Levent Erk{\"o}k and John Launchbury},+ title = {Recursive Monadic Bindings},+ booktitle = {Proceedings of the International Conference on+ Functional Programming ICFP'00},+ year = 2000+}+}++@InProceedings{Erkoek2002RecursiveDo,+ author = {Levent Erk{\"o}k and John Launchbury},+ title = {A Recursive do for {Haskell}},+ booktitle = {Haskell'02},+ year = 2002,+ month = oct+}++@Article{Erwig1998Diets,+ author = {Martin Erwig},+ title = {Diets for Fat Sets},+ journal = {Journal of Functional Programming},+ year = 1998,+ volume = 8,+ number = 6,+ pages = {627--632}+}++@InProceedings{Feeley1990ParallelVirtualMachine,+ author = "M. Feeley and J. S. Miller",+ title = "A Parallel Virtual Machine for Efficient Scheme+ Compilation",+ booktitle = "Proceedings of the 1990 {ACM} Conference on {LISP}+ and Functional Programming, Nice",+ publisher = ACM,+ address = "New York, NY",+ pages = "119--130",+ year = 1990,+ url = "citeseer.nj.nec.com/feeley90parallel.html"+}++@InProceedings{Feeley2000PortableContinuations,+ author = {Marc Feeley},+ title = {{A portable implementation of first-class+ continuations for unrestricted interoperability with+ C in a multithreaded Scheme}},+ booktitle = {Scheme and Functional Programming 2000},+ year = 2000,+ month = {September}+}++@TechReport{Fegaras1996Fusion,+ author = {Leonidas Fegaras},+ title = {Fusion for Free!},+ institution = {Department of Computer Science \& Engineering,+ Oregon Graduate Institute School of Science \&+ Engineering},+ year = 1996,+ number = {CSE-96-001},+ month = jan+}++@inproceedings{Feldman1988Dependency,+ author = {Roy Feldman},+ title = {Design of a dependency-directed compiler for+ constraint propagation},+ booktitle = {Proceedings of the first international conference on+ Industrial and engineering applications of+ artificial intelligence and expert systems},+ year = 1988,+ isbn = {0-89791-271-3},+ pages = {141--146},+ location = {Tullahoma, Tennessee, United States},+ doi = {http://doi.acm.org/10.1145/51909.51926},+ publisher = ACM,+}++@inproceedings{Felleisen1988LambdaVCS,+ author = {Matthias Felleisen},+ title = {$\lambda$-v-{CS}: an extended $\lambda$-calculus for+ {Scheme}},+ booktitle = {Proceedings of the 1988 ACM Conference on LISP and+ Functional Programming},+ year = 1988,+ isbn = {0-89791-273-X},+ pages = {72--85},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/62678.62686},+ publisher = ACM,+}++@PhdThesis{Filinkski1996ControllingEffects,+ author = {Andrzej Filinski},+ title = {Controlling Effects},+ school = {School of Computer Science, Carnegie Mellon+ University},+ year = 1996,+ month = may,+ note = {Also available as Technical Report+ No. CMU-CS-96-119}+}++@incollection{ Filinski1999RLM,+ author = "Andrzej Filinski",+ title = "Representing Layered Monads",+ booktitle = "Conf.\ Record 26th {ACM} {SIGPLAN}-{SIGACT}+ Symposium on Principles of Programming Languages,+ {POPL}'99, San Antonio, Texas, {USA}",+ publisher = ACM,+ address = "New York",+ pages = "175--188",+ year = 1999,+ month = jan,+ url = "citeseer.nj.nec.com/filinski94representing.html"+}++@InProceedings{Filman2001AOPRevisited,+ author = {Robert E. Filman},+ title = {What is Aspect-Oriented Programming, Revisited},+ booktitle = {Workshop on Advanced Separation of Concerns, ECOOP+ 2001},+ year = 2001,+ address = {Budapest, Hungary}+}++@InProceedings{Filman2003,+ author = {Robert E. Filman},+ title = {{Understanding AOP through the Study of+ Interpreters}},+ crossref = {Leavens2003FOAL},+ pages = {61--64}+}++@InProceedings{Fiore1999AbstractSyntax,+ author = {Marcelo Fiore and Gordon Plotkin and Daniele Turi},+ title = {Abstract syntax and variable binding},+ booktitle = {14th Symposium on Logic in Computer Science},+ pages = {193--202},+ year = 1999,+ address = {Trento, Italy},+ month = jul,+ organization = IEEE+}++@InProceedings{Fisher1999ClassMechanism,+ author = {Kathleen Fisher and John Reppy},+ title = {The design of a class mechanism for {Moby}},+ booktitle = {Proceedings of the 1999 ACM SIGPLAN Conference of+ Programming Language Design and Implementation,+ Atlanta, Georgia, USA},+ year = 1999,+ month = may,+}++@TechReport{Fitzgerald1999Marmot,+ author = {Robert Fitzgerald and Todd B. Knoblock and Erik Ruf+ and Bjarne Steensgard and David Tarditi},+ title = {Marmot: An Optimizing Compiler for Java},+ institution = {Microsoft Research},+ year = 1999,+ number = {MSR-TR-99-33},+ address = {Microdoft Research, 1 Microsoft Way, Redmond, WA,+ 98052},+ month = jun+}++@TechReport{Flanagan1995SetBasedAnalysis,+ author = {Cormac Flanagan and Matthias Felleisen},+ title = {Set-Based Analysis for Full Scheme and Its Use in+ Soft-Typing},+ institution = {Rice University},+ year = 1995,+ number = {Rice COMP TR95-254},+ address = {Department of Computer Science, Rice University,+ P.O. Box 1892, Houston, TX 77251-1892},+ month = oct+}++@Proceedings{Flatt2003Scheme,+ title = {Scheme 2003 -- Proceedings of the Fourth Workshop on+ Scheme and Functional Programming},+ year = 2003,+ editor = {Matthew Flatt},+ number = {UUCS-03-023},+ address = {Boston, Massachusetts},+ month = nov,+ organization = {School of Computing, University of Utah, Salt Lake+ City, UT 84112, USA},+}++@InProceedings{Fluet2001Contification,+ author = {Matthew Fluet and Stephen Weeks},+ title = {Contification Using Dominators},+ booktitle = {International Conference on Functional Programming},+ year = 2001,+ month = sep+}++@Misc{Frank2002DiplomaThesis,+ author = {Stephan Frank and Pierre Mai},+ title = {{Strategien f{\"u}r kooperierende Constraint+ L{\"o}ser. Diploma Thesis, Technische+ Universit{\"a}t Berlin}},+ school = {Technische Universit{\"a}t Berlin},+ year = 2002+}++@InProceedings{Frank2003CPFT,+ author = {Stephan Frank and Martin Grabm{\"u}ller and Petra+ Hofstedt and Andr{\'e} Metzner},+ title = {{Constraints, Predicates, Functions and a Turtle}},+ booktitle = {20. Workshop der GI-Fachgruppe 2.1.4+ Programmiersprachen und Rechenkonzepte},+ year = 2003,+ editor = {Wolfgang Goerigk},+ address = {Bad Honnef, Germany},+ month = may,+ abstract = {This paper briefly introduces the current work on+ multiparadigm programming languages at Berlin+ University of Technology. Starting from a general+ approach for the cooperation and coordination of+ constraint solvers and its implementation Meta-S, we+ briefly discuss how to integrate different host+ languages into the framework building at this+ multiparadigm constraint languages. Further current+ research directions concern the functional logic+ language Brooks which allows the program compilation+ according to different narrowing strategies and the+ constraint imperative language Turtle.}+}++@INPROCEEDINGS{Frank2003MetaS,+ AUTHOR = {Stephan Frank and Petra Hofstedt and Pierre R. Mai},+ TITLE = {{Meta-S: A strategy-oriented Meta-Solver Framework}},+ BOOKTITLE = {16th Int'l FLAIRS Conference},+ YEAR = 2003,+ PUBLISHER = {AAAI},+ EDITOR = {I. Russel and S. Haller}+}++@inproceedings{FrankHofstedtMai:2003b,+ author = {Stephan Frank and Petra Hofstedt and Pierre R. Mai},+ title = {{A flexible Meta-Solver Framework for Constraint+ Solver Collaboration}},+ booktitle = {Proceedings of the 26th German Conference on+ Artificial Intelligence (KI~2003)},+ year = 2003,+ series = LNCS,+ volume = 2821,+}++@InProceedings{FreemanBenson1993ConvertingUI,+ author = {Bjorn N. Freeman-Benson},+ title = {Converting an existing user interface to use+ constraints},+ booktitle = {Proceedings of the UIST'93 (ACM SIGGRAPH Symp. on+ User Interface Software and Technology)},+ pages = {207--215},+ year = 1993,+ address = {Atlanta, GA},+ month = nov+}++@InProceedings{Fritzson2002Modelica,+ author = {Peter Fritzson and Peter Bunus},+ title = {Modelica -- A Declarative Object Oriented+ Multi-Paradigm Language},+ crossref = {Striegnitz2002MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {27--44},+ year = 2002+}++@Misc{GHC2005UsersGuide,+ author = {The {GHC Team}},+ title = {{The Glorious Glasgow Haskell Compilation System+ User's Guide, Version 6.4}},+ howpublished = {World Wide Web},+ year = 2005,+ note = {Available from:+ \url{http://www.haskell.org/ghc/docs/html/users_guide/users-guide.html},+ last visited: 2005-04-11}+}++@Article{Gabriel1988Cells,+ author = {Richard P. Gabriel and Kent M. Pitman},+ title = {Technical Issues of Separation in Function Cells and+ Value Cells},+ journal = {Lisp and Symbolic Computation,},+ year = 1988,+ volume = 1,+ number = 1,+ pages = {81--101},+ month = jun,+ url = {http://www.nhplace.com/kent/Papers/Technical-Issues.html}+}++@Manual{Galassi2002Guile,+ title = {Guile Reference Manual},+ author = {Mark Galassi and Jim Blandy and Gary Houston and Tim+ Pierce and Neil Jerram and Martin Grabm{\"u}ller},+ organization = {FSF},+ edition = {1.0},+ month = {September},+ year = 2002,+ abstract = {This manual documents the installation and usage of+ the Guile system, an implementation of the+ programming language Scheme.}+}++@InProceedings{Ganz2001MacroML,+ author = {Steven E. Ganz and Amr Sabry and Walid Taha},+ title = {{Macros as Multi-Stage Computations: Type-Safe,+ Generative, Binding Macros in MacroML}},+ booktitle = {ICFP'01},+ year = 2001+}++@inproceedings{Gasbichler2002FinalShift,+ author = {Martin Gasbichler and Michael Sperber},+ title = {Final shift for call/cc:: direct implementation of+ shift and reset},+ booktitle = {Proceedings of the Seventh ACM SIGPLAN International+ Conference on Functional Programming},+ year = 2002,+ isbn = {1-58113-487-8},+ pages = {271--282},+ location = {Pittsburgh, PA, USA},+ doi = {http://doi.acm.org/10.1145/581478.581504},+ publisher = ACM,+}++@article{Gelernter1992CoordinationLanguages,+ author = {David Gelernter and Nicholas Carriero},+ title = {Coordination languages and their significance},+ journal = CACM,+ volume = 35,+ number = 2,+ year = 1992,+ issn = {0001-0782},+ pages = {96--107},+ doi = {http://doi.acm.org/10.1145/129630.376083},+ publisher = ACM,+}++@InProceedings{Gifford1986Integrating,+ author = {David K. Gifford and John M. Lucassen},+ title = {Integrating Functional and Imperative Programming},+ booktitle = {Proceedings of the 1986 ACM Conference on Lisp and+ Functional Programming},+ pages = {28--38},+ year = 1986,+ month = aug,+}++@Book{Gosling2000JavaLangSpec,+ author = {James Gosling and Bill Joy and Guy Steele and Gilad+ Bracha},+ title = {Java\texttrademark{} Language Specification},+ publisher = AW,+ year = 2000,+ edition = {2nd},+ month = jun+}++@Manual{Grabmueller2000SizzleEmbedding,+ title = {Sizzle Embedding Manual},+ author = {Martin Grabm{\"u}ller},+ edition = {0.0.30},+ month = {September},+ year = 2000,+ abstract = {This manual documents how to embed the Sizzle+ library into programs written in the C programming+ language. Programs which embed Sizzle can make use+ of Scheme as an extension language.}+}++@Manual{Grabmueller2000SizzleReference,+ title = {Sizzle Reference Manual},+ author = {Martin Grabm{\"u}ller},+ edition = {0.0.30},+ month = {December},+ year = 2000,+ abstract = {This manual documents the installation and usage of+ the Sizzle system, an implementation of the+ programming language Scheme.}+}++@MastersThesis{Grabmueller2003CIP ,+ author = {Martin Grabm{\"u}ller},+ title = {{Constraint Imperative Programming}},+ school = {Technische Universit{\"a}t Berlin},+ year = 2003,+ type = {Diploma Thesis},+ month = feb,+ abstract = {Constraint-based programming languages are+ declarative programming languages. In constraint+ programs, the solutions of a problem are obtained by+ specifying their desired properties, whereas in+ imperative programs, the steps which lead to a+ solution must be defined explicitly, rather than+ being derived automatically from the+ specification. This work deals with the design and+ implementation of a programming language which+ integrates declarative constraints and imperative+ constructs in order to form a powerful programming+ paradigm suitable for solving a wide range of+ problems.}+}++@InProceedings{Grabmueller2003CIPLTurtle,+ author = {Martin Grabm{\"u}ller},+ title = {{The Constraint Imperative Programming Language+ Turtle}},+ booktitle = {20. Workshop der GI-Fachgruppe 2.1.4+ Programmiersprachen und Rechenkonzepte},+ year = 2003,+ editor = {Wolfgang Goerigk},+ address = {Bad Honnef, Germany},+ month = may,+ abstract = {The goal of declarative programming is to provide+ languages and implementations which let the+ programmer write programs by specifying what the+ properties of the desired solutions should be. In+ imperative languages, the calculation steps leading+ to the solutions must be programmed explicitly. The+ programming language Turtle combines traditional+ imperative language constructs and declarative+ constraints. This blending of paradigms is called+ ``constraint imperative programming'' in literature,+ and Turtle is one instance of this multiparadigm+ approach.}+}++@Unpublished{Grabmueller2003CIPwithHOF,+ author = {Martin Grabm{\"u}ller},+ title = {{Constraint Imperative Programming with Higher-order+ Functions}},+ note = {Draft paper},+ month = jul,+ year = 2003,+ abstract = {In constraint programming, programs are written by+ mainly specifying the properties which must hold for+ a solution of a given problem. In contrast,+ imperative programming languages require that the+ programmer explicitly specifies each state+ transition a program must perform in order to+ calculate the solution. This paper describes a+ programming style which consists of these both views+ as well as on higher-order functional programming.}+}++@TechReport{Grabmueller2003MPP,+ author = {Martin Grabm{\"u}ller},+ title = {{Mul\-ti\-pa\-ra\-dig\-men-Pro\-gram\-mier\-spra\-chen}},+ institution = {Technische Universit{\"a}t Berlin},+ year = 2003,+ type = {Research report},+ number = {2003-15 in {\em Forschungsberichte Fakult{\"a}t IV+ -- Elektrotechnik und Informatik}},+ month = oct,+ abstract = {Dieser Bericht untersucht Programmiersprachen, die+ verschiedene Programmierparadigmen in sich+ vereinen. Dabei wird ein breiter "Uberblick "uber+ die existierenden Ans"atze und Techniken bei Entwurf+ und Implementierung multiparadigmatischer Sprachen+ herausgearbeitet. Die Unterschiede der einzelnen+ etablierten Programmierparadigmen werden beschrieben+ und die M"oglichkeiten zur Kombination dieser+ Paradigmen anhand der Untersuchung existierender+ Programmiersprachen erl"autert. Nach einer genaueren+ Betrachtung syntaktischer und semantischer+ Eigenschaften unterschiedlicher Programmiersprachen+ werden Vorschl"age zum Entwurf von+ Programmiersprachen, welche die Programmierung in+ unterschiedlichen Paradigmen erlauben, entwickelt.}+}++@InProceedings{Grabmueller2003TurtleImpl,+ author = {Martin Grabm{\"u}ller},+ title = {{Implementing Constraint Imperative Languages with+ Higher-order Functions}},+ booktitle = {Second International Workshop on Multiparadigm+ Constraint Programming Languages, MultiCPL'03},+ pages = {43--54},+ year = 2003,+ editor = {Michael Hanus and Petra Hofstedt and Armin Wolf},+ address = {Kinsale, Cork, Ireland},+ month = sep,+ abstract = {Constraint imperative programming languages combine+ declarative constraints and imperative language+ features into an integrated programming+ language. The language Turtle supports these+ programming paradigms and additionally integrates+ functional programming with higher-order functions+ and algebraic data types. This paper describes the+ implementation of Turtle, consisting of a compiler,+ a run-time system including constraint solvers and+ an extensive library of supporting modules.}+}++@Misc{Grabmueller2003turtleWWW,+ author = {Martin Grabm{\"u}ller},+ title = {{Turtle -- A Constraint Imperative Programming+ Language}},+ howpublished = {World Wide Web},+ year = 2003,+ note =+ {\url{http://uebb.cs.tu-berlin.de/~magr/turtle/turtle.en.html}}+}++@Article{Grabmueller2005ParadigmIntegration,+ author = {Martin Grabm{\"u}ller and Petra Hofstedt and Peter+ Pepper and Olaf Krzikalla},+ title = {Paradigm Integration -- Language and Library+ Approach},+ journal = {Theory and Practice of Logic Programming},+ year = 2005,+ volume = 0,+ number = 0,+ pages = {0--0},+ month = jan,+ note = {Submitted}+}++@InProceedings{GrabmuellerHofstedt2003Turtle,+ author = {Martin Grabm{\"u}ller and Petra Hofstedt},+ title = {{Turtle: A Constraint Imperative Programming+ Language}},+ editor = {Frans Coenen and Alun Preece and Ann Macintosh},+ booktitle = {Twenty-third SGAI International Conference on+ Innovative Techniques and Applications of Artificial+ Intelligence},+ year = 2003,+ number = {XX},+ series = {Research and Development in Intelligent Systems},+ address = {Cambridge, UK},+ month = dec,+ organization = BCS,+ publisher = SV,+ isbn = {1-85233-780-X},+ abstract = {Ideally, in constraint programs, the solutions of+ problems are obtained by specifying their desired+ properties, whereas in imperative programs, the+ steps which lead to a solution must be defined+ explicitly, rather than being derived+ automatically. This paper describes the design and+ implementation of the programming language Turtle,+ which integrates declarative constraints and+ imperative language elements in order to combine+ their advantages and to form a more flexible+ programming paradigm suitable for solving a wide+ range of problems.}+}++@INPROCEEDINGS{Grieskamp1998Specifying,+ AUTHOR = {W. Grieskamp and M. Heisel and H. D{\"o}rr},+ TITLE = {{Specifying Embedded Systems with Statecharts and Z:+ An Agenda for Cyclic Software Components}},+ BOOKTITLE = {Proc. of the 1st International Conference on+ Fundamental Approaches to Software Engineering --+ FASE'98},+ EDITOR = {E. Astesiano},+ YEAR = 1998,+ SERIES = LNCS,+ VOLUME = 1382,+ PUBLISHER = SV+}++@phdthesis{Grieskamp2000SetBasedCalculus,+ author = "Wolfgang Grieskamp",+ title = "A Set-Based Calculus and its Implementation",+ school = "Technische Universit{\"a}t Berlin",+ url =+ "http://uebb.cs.tu-berlin.de/~wg/papers/GrieskampDiss.pdf",+ year = 2000+}++@TechReport{Grossman2001RegionTypeSoundness,+ author = {Dan Grossman and Greg Morrisett and Trevor Jim and+ Mike Hicks and Yanling Wang and James Cheney},+ title = {Formal Type Soundness for {Cyclone's} Region System},+ institution = {Cornell University and AT{\&}T Labs Research},+ year = 2001,+ month = nov,+}++@InProceedings{Grossman2002RegionCyclone,+ author = {Dan Grossman and Greg Morrisett and Trevor Jim and+ Michael Hicks and Yanling Wang and James Cheney},+ title = {Region-based Memory Management in Cyclone},+ booktitle = {ACM Conference on Programming Language Design and+ Implementation},+ pages = {282--293},+ year = 2002,+ address = {Berlin, Germany},+ month = jun+}++@techreport{ Gudeman1993RepresentingTypeInformation,+ author = "David Gudeman",+ title = "Representing Type Information in Dynamically-Typed+ Languages",+ number = "TR93-27",+ address = "Tucson, Arizona",+ year = 1993,+ month = oct,+ url = "citeseer.nj.nec.com/gudeman93representing.html"+}++@Book{Gunter1992Semantics,+ author = {Carl A. Gunter},+ ALTeditor = {},+ title = {Semantics of Programming Languages: Structures and+ Techniques},+ publisher = MIT,+ year = {1992},+ series = {Foundations of Computing}+}++@Article{Gurevich1991EvolvingAlgebras,+ author = {Yuri Gurevich},+ title = {Evolving Algebras: An Introductory Tutorial},+ journal = {Bulletin of the European Association for Theoretical+ Computer Science},+ year = 1991,+ pages = {264--284},+ month = feb+}++@InBook{Gurevich1995LipariGuide,+ author = {Yuri Gurevich},+ editor = {E. B{\"o}rger,},+ title = {Specification and Validation Methods},+ chapter = {Evolving Algebra 1993: Lipari Guide},+ publisher = {Oxford University Press},+ year = 1995,+ pages = {9--36},+}++@article{Gurevich2000SequentialASM,+ author = {Yuri Gurevich},+ title = {Sequential abstract-state machines capture+ sequential algorithms},+ journal = {ACM Transactions on Computational Logic (TOCL)},+ volume = 1,+ number = 1,+ year = 2000,+ issn = {1529-3785},+ pages = {77--111},+ doi = {http://doi.acm.org/10.1145/343369.343384},+ publisher = ACM,+}++@InProceedings{Hailpern1987DesignMultiparadigmLanguage,+ author = {Brent Hailpern},+ title = {Design of a Multiparadigm Language},+ booktitle = {Proceedings of the Twentieth Annual Hawaii+ International Conference on System Sciences},+ pages = {239--246},+ year = 1987+}++@InProceedings{Hammond1998Juaskell,+ author = {K. Hammond and D. Walsh-Kemmis},+ title = {Juaskell: Implementing Evaluation Strategies in+ Java},+ booktitle = {Third Latin-American Conference on Functional+ Programming},+ year = 1998,+ url = {citeseer.nj.nec.com/hammond98juaskell.html}+}++@inproceedings{Hanson1990EfficientStackAllocation,+ author = {Chris Hanson},+ title = {Efficient stack allocation for tail-recursive+ languages},+ booktitle = {Proceedings of the 1990 ACM Conference on LISP and+ Functional Programming},+ year = 1990,+ isbn = {0-89791-368-X},+ pages = {106--118},+ location = {Nice, France},+ doi = {http://doi.acm.org/10.1145/91556.91603},+ publisher = ACM,+}++@Article{Hanson1991SyntacticClosures,+ author = {Chris Hanson},+ title = {A Syntactic Closures Macro Facility},+ journal = {Lisp Pointers},+ year = 1991,+ volume = {IV},+ number = 4,+ month = oct # "/" # dec+}++@InProceedings{Hanus1995CurryTrulyFunctionalLogic,+ author = {Michael Hanus and Herbert Kuchen and Juan Jos{\'e}+ Moreno-Navarro},+ title = {Curry: A Truly Functional Logic Language},+ booktitle = {Proc. ILPS'95 Workshop on Visions for the Future of+ Logic Programming},+ pages = {95--107},+ year = 1995,+ month = dec+}++@Article{Hanus1996IntegrationFunctionalLogic,+ author = {Michael Hanus and Herbert Kuchen},+ title = {Integration of Functional and Logic Programming},+ journal = {ACM Computing Surveys},+ year = 1996,+ volume = 28,+ number = 2,+ pages = {306--308}+}++@Misc{Hanus1999CurryJava,+ author = {Michael Hanus and Ramin Sadre},+ title = {An Abstract Machine for {Curry} and its Concurrent+ Implementation in {Java}},+ month = mar,+ year = 1999+}++@Proceedings{Hanus2002MultiCPL,+ title = {MultiCPL'02: Workshop on Multiparadigm Constraint+ Programming Languages and RCoRP'02: Fourth Workshop+ on Rule-Based Constraint Reasoning and Programming},+ year = 2002,+ editor = {Michael Hanus and Petra Hofstedt and Slim+ Abdennadher and Thom Fr{\"u}hwirth and Armin Wolf},+ address = {Ithaca, NY, USA},+ organization = {Cornell University},+ note = {Workshop Proceedings},+}++@INPROCEEDINGS{Hanus90PLILP,+ author = "Michael Hanus",+ title = "Compiling Logic Programs with Equality",+ booktitle = "Proc.\ of the 2nd Int.\ Workshop on Programming+ Language Implementation and Logic Programming",+ publisher = SV,+ series = LNCS,+ number = 456,+ pages = "387-401",+ year = 1990,+ abstract = { Horn clause logic with equality is an amalgamation+ of functional and logic programming languages. A+ sound and complete operational semantics for logic+ programs with equality is based on resolution to+ solve literals, and rewriting and narrowing to+ evaluate functional expressions. This paper proposes+ a technique for compiling programs with these+ inference rules into programs of a low-level+ abstract machine which can be efficiently executed+ on conventional architectures. The presented+ approach is based on an extension of the Warren+ abstract machine (WAM). In our approach pure logic+ programs without function definitions are compiled+ in the same way as in the WAM-approach, and for+ logic programs with function definitions particular+ instructions are generated for occurrences of+ functions inside clause bodies. In order to obtain+ an efficient implementation of functional+ computations, a stack of occurrences of function+ symbols in goals is managed by the abstract+ machine. The compiler generates the necessary+ instructions for the efficient manipulation of the+ occurrence stack from the given equational logic+ program. }+}++@INPROCEEDINGS{Hanus92PLILP,+ author = "Michael Hanus",+ title = "Improving Control of Logic Programs by Using+ Functional Logic Languages",+ year = 1992,+ publisher = SV,+ series = LNCS,+ number = 631,+ booktitle = "Proc. of the 4th International Symposium on+ Programming Language Implementation and Logic+ Programming -- PLILP",+ pages = "1-23"+}++@ARTICLE{Hanus96SDCR,+ author = "Michael Hanus",+ title = "Integration of Declarative Paradigms: Benefits and+ Challenges",+ year = 1996,+ journal = "ACM Computing Surveys",+ volume = "28A",+ number = 4,+ note = "Also appeared in ACM SIGPLAN Notices, Vol.~32,+ No.~1, 1997, 77--79"+}++@INPROCEEDINGS{Hanus97POPL,+ author = "Michael Hanus",+ title = "A Unified Computation Model for Functional and Logic+ Programming",+ year = 1997,+ booktitle = "Proc. 24st ACM Symposium on Principles of+ Programming Languages (POPL'97)",+ pages = "80-93",+ abstract = { We propose a new computation model which combines+ the operational principles of functional languages+ (reduction), logic languages (non-deterministic+ search for solutions), and integrated functional+ logic languages (residuation and narrowing). This+ computation model combines efficient evaluation+ principles of functional languages with the+ problem-solving capabilities of logic+ programming. Since the model allows the delay of+ function calls which are not sufficiently+ instantiated, it also supports a concurrent style of+ programming. We provide soundness and completeness+ results and show that known evaluation principles of+ functional logic languages are particular instances+ of this model. Thus, our model is a suitable basis+ for future declarative programming languages. }+}++@InProceedings{Haridi1996DistributedOz,+ author = {Seif Haridi and Peter {Van Roy} and Gert Smolka},+ title = {An Overview of the Design of {Distributed Oz}},+ crossref = {Chakravarty1996MPLP},+ booktitle = {Multi-paradigm Logic Programming},+ pages = {13--24},+ year = 1996+}++@article{Harrison1993SubjectOrientedProgramming,+ author = {William Harrison and Harold Ossher},+ title = {Subject-oriented programming: a critique of pure+ objects},+ journal = {SIGPLAN Notices},+ volume = 28,+ number = 10,+ year = 1993,+ issn = {0362-1340},+ pages = {411--428},+ doi = {http://doi.acm.org/10.1145/167962.165932},+ publisher = ACM,+}++@InProceedings{Henderson2002AccurateGC,+ author = {Fergus Henderson},+ title = {Accurate Garbage Collection in an Uncooperative+ Environment},+ booktitle = {ISMM'02, Berlin},+ year = 2002+}++@InProceedings{Henderson2002CompilingMercury,+ author = {Fergus Henderson and Zoltan Somogyi},+ title = {Compiling Mercury to high-level {C} code},+ booktitle = {CC'02, Grenoble, France},+ year = 2002+}++@InProceedings{Hentenryck2003ControlAbstractions,+ author = {Pascal {Van Hentenryck} and Laurent Michel},+ title = {Control Abstractions for Local Search},+ booktitle = {Ninth International Conference on Principles and+ Practice of Constraint Programming},+ pages = {65--80},+ year = 2003,+ editor = {Francesca Rossi},+ month = sep,+ publisher = SV+}++@InProceedings{Hickey1998LISP,+ author = {Timothy J. Hickey and Peter Norvig and and Ken+ Anderson},+ title = {LISP - a Language for Internet Scripting and+ Programming},+ booktitle = {LUGM'98: Proceedings of Lisp in the Mainstream},+ year = 1998,+ address = {Berkeley, CA},+ month = nov+}++@InProceedings{Hickey2000Analytic,+ author = {Timothy J. Hickey},+ title = {Analytic Constraint Solving and Interval Arithmetic},+ booktitle = {Proceedings of the 27th Annual ACM SIGACT-SIGPLAN+ Symposium on Principles of Programming Languages},+ year = 2000,+ month = jan+}++@Article{Hickey2001IntervalArithmetic,+ author = {Timothy J. Hickey and Qun Ju and Maarten H. van+ Emden},+ title = {Interval Arithmetic: from Principles to+ Implementation},+ journal = JACM,+ year = 2001,+ volume = 48,+ number = 5,+ pages = {1038--1068},+ month = sep+}++@Book{Hill1994Goedel,+ author = {P. M. Hill and J. W. Lloyd},+ title = {The {G{\"o}del} Programming Language},+ publisher = MIT,+ year = 1994+}++@Article{Hinze2001TheWeb,+ author = {Ralf Hinze and Johan Jeuring},+ title = {Weaving a web},+ journal = {Journal of Functional Programming},+ year = 2001,+ volume = 11,+ number = 6,+ pages = {681--689}+}+}++@article{Hoare1978CSP,+ author = {C. A. R. Hoare},+ title = {Communicating sequential processes},+ journal = CACM,+ volume = 21,+ number = 8,+ year = 1978,+ issn = {0001-0782},+ pages = {666--677},+ doi = {http://doi.acm.org/10.1145/359576.359585},+ publisher = ACM,+}++@Book{Hoare1985CSP,+ author = {C. A. R. Hoare},+ title = {Communicating Sequential Processes},+ publisher = PH,+ year = 1985+}++@article{Hoare1987LawsOfProgramming,+ author = {C. A. R. Hoare and I. J. Hayes and He Jifeng and+ C. C. Morgan and A. W. Roscoe and J. W. Sanders and+ I. H. Sorensen and J. M. Spivey and B. A. Sufrin},+ title = {Laws of programming},+ journal = CACM,+ volume = 30,+ number = 8,+ year = 1987,+ issn = {0001-0782},+ pages = {672--686},+ doi = {http://doi.acm.org/10.1145/27651.27653},+ publisher = ACM,+}++@PhdThesis{Hofstedt2001CooperationCoordination,+ author = {Petra Hofstedt},+ title = {{Cooperation and Coordination of Constraint+ Solvers}},+ school = {Technische Universt{\"a}t Dresden},+ year = 2001+}++@Misc{Hofstedt2002EinfuehrungCP,+ author = {Petra Hofstedt and Armin Wolf},+ title = {Einf{\"u}hrung in die Constraint-Programmierung},+ howpublished = {Vorlesungs-Skript},+ year = 2002+}++@INPROCEEDINGS{HofstedtCL:2000,+ AUTHOR = {P. Hofstedt},+ TITLE = {{Better Communication for Tighter Cooperation}},+ BOOKTITLE = {First International Conference on Computational+ Logic -- CL},+ YEAR = 2000,+ SERIES = LNCS,+ VOLUME = 1861,+ PUBLISHER = SV+}++@INPROCEEDINGS{HofstedtCP:2000,+ AUTHOR = {P. Hofstedt},+ TITLE = {{Cooperating Constraint Solvers}},+ BOOKTITLE = {Sixth International Conference on Principles and+ Practice of Constraint Programming -- CP},+ YEAR = 2000,+ EDITOR = {R. Dechter},+ SERIES = LNCS,+ VOLUME = 1894,+ PUBLISHER = SV+}++@INPROCEEDINGS{HofstedtMetzner:2003,+ AUTHOR = {P. Hofstedt and A. Metzner},+ TITLE = {{Multiple Evaluation Strategies for the+ Multiparadigm Programming Language Brooks}},+ BOOKTITLE = {Proc. of the 12th International Workshop on+ Functional and (Constraint) Logic Programming,+ WFLP'03},+ YEAR = 2003,+ EDITOR = {Germ{\'a}n Vidal}+}++@INPROCEEDINGS{Hofstedt_02B,+ AUTHOR = {Petra Hofstedt},+ TITLE = {{A general Approach for Building Constraint+ Languages}},+ BOOKTITLE = {AI 2002: Advances in Artificial Intelligence},+ YEAR = 2002,+ EDITOR = {B. McKay and J. Slaney},+ PAGES = {431-442},+ SERIES = LNCS,+ VOLUME = 1470,+ PUBLISHER = SV+}++@InProceedings{Horn1992ConstraintPattersn,+ author = {Bruce Horn},+ title = {Constraint Patterns as a basis for object-oriented+ constraint programming},+ booktitle = {Proceedings of the 1992 ACM Conference on+ Object-Oriented Programming Systems, Languages and+ Applications},+ pages = {218--233},+ year = 1992,+ address = {Vancouver, British Columbia},+ month = oct+}++@InBook{Horn1992LanguagesUI,+ author = {Bruce Horn},+ title = {Languages for Developing User Interfaces},+ chapter = {Properties of user interface systems and the {S}iri+ programming language},+ publisher = {Jones and Bartlett},+ year = 1992,+ address = {Boston},+ pages = {211--236}+}++@Misc{Hudak1999GentleIntroduction,+ author = {Paul Hudak and John Peterson and Joseph H. Fasel},+ title = {A Gentle Introduction to {Haskell}},+ howpublished = {World Wide Web},+ year = 1999+}++@TechReport{Huggins2002ASMPrimer,+ author = {James K. Huggins and Charles Wallace},+ title = {An Abstract State Machine Primer},+ institution = {Computer Science Department, Michigan Technological+ University},+ year = 2002,+ number = {CS-TR-02-04},+ month = dec+}++@Article{Hughes2000Arrows,+ author = {John Hughes},+ title = {Generalising monads to arrows},+ journal = {Science of Computer Programming, special issue on+ Mathematics of Program Construction},+ year = 2000,+ volume = 37,+ number = 3,+ pages = {67--112}+}++@TechReport{Hutton1996MonadicParserCombinators,+ author = {Graham Hutton and Erik Meijer},+ title = {Monadic parser combinators},+ institution = {Department of Computer Science, University of+ Nottingham},+ year = 1996,+ number = {NOTTCS-TR-96-4}+}++@Article{Hutton1998MonadicParsing,+ author = {Graham Hutton and Erik Meijer},+ title = {Monadic parsing in Haskell},+ journal = {Journal of Functional Programming},+ year = 1998,+ volume = 8,+ number = 4,+ month = 1998+}++@Misc{HyperJ,+ title = {{HyperJ}},+ key = {AspectJ},+ howpublished = {World Wide Web},+ note =+ {\url{http://www.research.ibm.com/hyperspace/HyperJ/HyperJ.htm}, last visited on 2003-11-26}+}++@inproceedings{ILOG,+ author = {J.-F. Puget},+ title = {{A C++ Implementation of CLP}},+ booktitle = {Proceedings of the Second Singapore International+ Conference on Intelligent Systems},+ address = {Singapore},+ year = 1994+}++@proceedings{ISMM98,+ key = "ISMM",+ booktitle = {{ISMM'98} Proceedings of the First International+ Symposium on Memory Management},+ title = {{ISMM'98} Proceedings of the First International+ Symposium on Memory Management},+ editor = {Richard Jones},+ address = {Vancouver},+ series = SIGPLAN,+ volume = "34(3)",+ publisher = ACM,+ month = oct,+ year = 1998,+ isbn = {1-58113-114-3},+ comment = {ISMM is the successor to the IWMM series of+ workshops}+}++@MISC{Jack2,+ key = {Jack},+ TITLE = {{JACK -- Java Constraint Kit}},+ NOTE = {Available from:+ \url{http://www.pms.informatik.uni-muenchen.de/software/jack/},+ last visited: 2003-02-24},+ howpublished = {World Wide Web},+ month = feb,+ YEAR = 2003+}++@InProceedings{Jagannathan1992MultiThreadedScheme,+ author = {Suresh Jagannathan and Jim Philbin},+ title = {A foundation for an efficient multi-threaded Scheme+ system},+ booktitle = {Proc. 1992 ACM Conference on Lisp and Functional+ Programming},+ pages = {345--357},+ year = 1992,+ month = jun+}++@InProceedings{Jim2002Cyclone,+ author = {Trevor Jim and Greg Morrisett and Dan Grossman and+ Michael Hicks and James Cheney and Yanling Wang},+ title = {{Cyclone}: A Safe Dialect of {C}},+ booktitle = {USENIX Annual Technical Conference},+ pages = {275--288},+ year = 2002,+ address = {Monterey, CA},+ month = jun+}++@inproceedings{JohnPlacer1993PedagogicalTools,+ author = {John Placer},+ title = {The promise of multiparadigm languages as+ pedagogical tools},+ booktitle = {Proceedings of the 1993 ACM Conference on Computer+ Science},+ year = 1993,+ isbn = {0-89791-558-5},+ pages = {81--86},+ location = {Indianapolis, Indiana, United States},+ doi = {http://doi.acm.org/10.1145/170791.170807},+ publisher = ACM,+}++@TechReport{Jones1993ComposingMonads,+ author = {Mark P. Jones and Luc Duponcheel},+ title = {Composing Monads},+ institution = {Yale University},+ year = 1993,+ number = {YALEU/DCS/RR-1004},+ month = dec,+}++@TechReport{Jones1994GoferImpl,+ author = {Mark P. Jones},+ title = {{The implementation of the Gofer functional+ programming system}},+ institution = {Yale University},+ year = 1994,+ type = {Research report},+ number = {YALEU/DCS/RR-1030},+ address = {New Haven, Connecticut, USA},+ month = may+}++@inproceedings{Jouvelot1991AlgebraicReconstruction,+ author = {Pierre Jouvelot and David Gifford},+ title = {Algebraic reconstruction of types and effects},+ booktitle = {Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1991,+ isbn = {0-89791-419-8},+ pages = {303--310},+ location = {Orlando, Florida, United States},+ doi = {http://doi.acm.org/10.1145/99583.99623},+ publisher = ACM,+}++@MastersThesis{Kaijanaho2002BImpl,+ author = {Antti-Juhani Kaijanaho},+ title = {The formal method known as {B} and a sketch for its+ implementation},+ school = {University of Jyv{\"a}skyl{\"a}},+ year = 2002+}++@Misc{Karczmarczuk1998Unreliable,+ author = {Jerzy Karczmarczuk},+ title = {The Most Unreliable Technique in the World to+ Compute PI},+ howpublished = {Available from:+ \url{http://users.info.unicaen.fr/~karczma/arpap/lazypi.ps.gz}},+ year = 1998,+ note = {A Braga School (1998) contribution}+}++@Article{Karczmarczuk1999Scientific,+ author = {Jerzy Karczmarczuk},+ title = {Scientific Computation and Functional Programming},+ journal = {Computing in Science \& Engineering},+ year = 1999,+ volume = 1,+ number = 3,+ pages = {64--72}+}++@InProceedings{Kaway2002Multibyte,+ author = {Shiro Kawai},+ title = {Multibyte character string processing in Scheme },+ booktitle = {International Lisp Conference},+ year = 2002,+ address = {San Francisco},+ month = {October}+}++@techreport{ Kelsey1993TailRecursive,+ author = "Richard A. Kelsey",+ title = "{T}ail-{R}ecursive {S}tack {D}isciplines for an+ {I}nterpreter",+ number = "NU-CCS-93-03",+ month = "March",+ year = 93,+ url = "citeseer.nj.nec.com/kelsey93tailrecursive.html"+}++@Article{kelsey94tractable,+ author = {Richard A. Kelsey and Jonathan A. Rees},+ title = {A Tractable {S}cheme Implementation},+ journal = {Lisp and Symbolic Computation: An International+ Journal},+ year = 1994,+ volume = 7,+ number = 4,+ pages = {315--335}+}++@Article{Kelsey1998R5RS,+ author = {Richard Kelsey and William Clinger and Jonathan Rees+ and others},+ title = {Revised{${}^5$} Report on the Algorithmic Language+ {Scheme}},+ journal = SIGPLAN,+ year = 1998,+ volume = 33,+ number = 6,+ pages = {26--76},+ month = sep+}++@article{Kiczales1996AOP,+ author = {G. Kiczales},+ title = {Aspect-oriented programming},+ journal = {ACM Computing Surveys},+ volume = 28,+ number = {4es},+ year = 1996,+ issn = {0360-0300},+ pages = 154,+ doi = {http://doi.acm.org/10.1145/242224.242420},+ publisher = ACM,+}++@InProceedings{Kiczales1997AspectOrientedProgramming,+ author = {Gregor Kiczales and John Lamping and Anurag+ Mendhekar and Chris Maeda and Cristina Videira Lopes+ and Jean-Marc Loingtier and John Irwin},+ title = {Aspect-Oriented Programming},+ booktitle = {Proceedings of the European Conference on+ Object-Oriented Programming (ECOOP)},+ year = 1997+}++@article{Kiczales2001GettingStartedAspectJ,+ author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin+ and Mik Kersten and Jeffrey Palm and William+ Griswold},+ title = {Getting started with ASPECTJ},+ journal = {Communications of the ACM},+ volume = 44,+ number = 10,+ year = 2001,+ issn = {0001-0782},+ pages = {59--65},+ doi = {http://doi.acm.org/10.1145/383845.383858},+ publisher = ACM,+}++@inproceedings{Kieburtz1998Taming,+ author = {Richard B. Kieburtz},+ title = {Taming effects with monadic typing},+ booktitle = {Proceedings of the Third ACM SIGPLAN International+ Conference on Functional Programming},+ year = 1998,+ isbn = {1-58113-024-4},+ pages = {51--62},+ location = {Baltimore, Maryland, United States},+ doi = {http://doi.acm.org/10.1145/289423.289428},+ publisher = ACM+}++@Misc{Kiselyov1998MonadSchemeIO,+ author = {Oleg Kiselyov},+ title = {Monads, Scheme, and IO},+ howpublished = {World Wide Web},+ month = mar,+ year = 1998,+ note =+ {\url{http://okmij.org/ftp/Scheme/misc.html#monadic-io}, last visited: 2003-10-15}+}++@TechReport{Knuth1983WEBSystem,+ author = {Donald E. Knuth},+ title = {The {WEB} system of structured documentation},+ institution = {Stanford University, Stanford, CA},+ year = 1983,+ number = {CS980},+ month = sep+}++@Book{Knuth1986CMTypefaces,+ author = {Donald E. Knuth},+ title = {Computer Modern Typefaces},+ publisher = AW,+ year = 1986,+ volume = {E},+ series = {Computers \& Typesetting},+ address = {Reading, Massachusettes}+}++@Book{Knuth1986MetafontProgram,+ author = {Donald E. Knuth},+ title = {METAFONT: The Program},+ publisher = AW,+ year = 1986,+ volume = {D},+ series = {Computers \& Typesetting},+ address = {Reading, Massachusettes}+}++@Book{Knuth1986Metafontbook,+ author = {Donald E. Knuth},+ title = {The METAFONTbook},+ publisher = AW,+ year = 1986,+ volume = {C},+ series = {Computers \& Typesetting},+ address = {Reading, Massachusettes}+}++@Book{Knuth1986TeXProgram,+ author = {Donald E. Knuth},+ title = {\TeX: The Program},+ publisher = AW,+ year = 1986,+ volume = {B},+ series = {Computers \& Typesetting},+ address = {Reading, Massachusettes}+}++@Book{Knuth1986TeXbook,+ author = {Donald E. Knuth},+ title = {The \TeX{}book},+ publisher = AW,+ year = 1986,+ volume = {A},+ series = {Computers \& Typesetting},+ address = {Reading, Massachusettes}+}++@Book{Knuth1997TAOCPv1,+ author = {Donald E. Knuth},+ title = {The Art of Computer Programming},+ publisher = AW,+ year = 1997,+ volume = {1: Fundamental Algorithms},+ address = {Reading, Massachusettes},+ edition = {Third}+}++@Book{Knuth1998DigitalTypography,+ author = {Donald E. Knuth},+ title = {Digital Typography},+ publisher = {CSLI Publications},+ year = 1998,+ number = 78,+ series = {CSLI Lecture Notes}+}++@Book{Knuth1998TAOCPv2,+ author = {Donald E. Knuth},+ title = {The Art of Computer Programming},+ publisher = AW,+ year = 1998,+ volume = {2: Seminumerical Algorithms},+ address = {Reading, Massachusettes},+ edition = {Third}+}++@Book{Knuth1998TAOCPv3,+ author = {Donald E. Knuth},+ title = {The Art of Computer Programming},+ publisher = AW,+ year = 1998,+ volume = {3: Sorting and Searching},+ address = {Reading, Massachusettes},+ edition = {Second}+}++@InProceedings{KobayashiMarinIdaChe.WFLP02,+ author = {N. Kobayashi and M. Marin and T. Ida and Z. Che},+ title = {Open {CFLP}: An Open System for Collaborative+ Constraint Functional Logic Programming},+ booktitle = {Proc. of the 11th International Workshop on+ Functional and (Constraint) Logic Programming (WFLP+ 2002)},+ year = 2002,+ series = {Research Report UDMI/18/2002/RR},+ publisher = {University of Udine}+}++@inproceedings{ Kokeny1994ConstraintSystem,+ author = "Tibor K{\"{o}}k\'{e}ny",+ title = "Yet Another Object-Oriented Constraint Resolution+ System: An Open Architecture Approach",+ booktitle = "Proceedings {ECAI}'94 Workshop on Constraint+ Processing",+ address = "Amsterdam",+ editor = "Manfred Meyer",+ year = 1994,+ url = "citeseer.nj.nec.com/145609.html"+}++@inproceedings{Kranz1986Orbit,+ author = {David Kranz and Richard Kelsey and Jonathan Rees and+ Paul Hudak and James Philbin},+ title = {{ORBIT}: an optimizing compiler for {Scheme}},+ booktitle = {Proceedings of the 1986 SIGPLAN Symposium on+ Compiler Construction},+ year = 1986,+ isbn = {0-89791-197-0},+ pages = {219--233},+ location = {Palo Alto, California, United States},+ doi = {http://doi.acm.org/10.1145/12276.13333},+ publisher = ACM+}++@PhdThesis{Kranz1988Orbit,+ author = {David A. Kranz},+ title = {ORBIT: An Optimizing Compiler for Scheme},+ school = {Yale University},+ year = 1988+}++@InProceedings{Krishnamurthi1998Synthesizing,+ author = {Shriram Krishnamurthi and Matthias Felleisen and+ Daniel P. Friedman},+ title = {Synthesizing Object-Oriented and Functional Design+ to Promote Re-Use},+ booktitle = {European Conference on Object-Oriented Programming},+ year = 1998+}++@InProceedings{Krzikalla2003CIPinCPP,+ author = {Olaf Krzikalla},+ title = {Constraint Imperative Programming in {C++}},+ booktitle = {Second International Workshop on Multiparadigm+ Constraint Programming Languages, MultiCPL'03},+ year = 2003,+ editor = {Michael Hanus and Petra Hofstedt and Armin Wolf},+ address = {Kinsale, Cork, Ireland},+ month = sep+}++@Misc{Krzikalla2003turtleppWWW,+ author = {Olaf Krzikalla},+ title = {{The Turtle Library -- Home Page}},+ howpublished = {World Wide Web},+ year = 2003,+ note = {\url{http://people.freenet.de/turtle++/}}+}++@Article{Kuchen1996BabelGraphMachine,+ author = {Herbert Kuchen and Rita Loogen and Juan Jos{\'e}+ Moreno-Navarro and Mario Rodr{\'\i}guez-Artalejo},+ title = {The Functional Logic Language {BABEL} and Its+ Implementation on a Graph Machine},+ journal = {New Generation Computing},+ year = 1996,+ volume = 14,+ pages = {391--427}+}++@Article{LPJ03,+ author = "Ralf L{\"a}mmel and Simon {Peyton Jones}",+ title = "Scrap your boilerplate: a practical design pattern+ for generic programming",+ journal = "ACM SIG{\-}PLAN Notices",+ volume = 38,+ number = 3,+ pages = "26--37",+ month = mar,+ year = 2003,+ note = "Proc.\ of the ACM SIGPLAN Workshop on Types in+ Language Design and Implementation (TLDI~2003)"+}++@inproceedings{Laemmel99a,+ author = "Ralf L{\"a}mmel",+ title = "{Declarative aspect-oriented programming}",+ pages = "131--146",+ editor = "Olivier Danvy",+ booktitle = "{Proceedings PEPM'99, 1999 ACM SIGPLAN Workshop on+ Partial Evaluation and Semantics-Based Program+ Manipulation PEPM'99, San Antonio (Texas), BRICS+ Notes Series NS-99-1}",+ year = 1999,+ month = jan+}++@article{Landin19666Next700PL,+ author = {P. J. Landin},+ title = {The next 700 programming languages},+ journal = {Communications of the ACM},+ volume = 9,+ number = 3,+ year = 1966,+ issn = {0001-0782},+ pages = {157--166},+ doi = {http://doi.acm.org/10.1145/365230.365257},+ publisher = ACM,+}++@article{ Larose1999Compacting,+ author = "Martin Larose and Marc Feeley",+ title = "A compacting incremental collector and its+ performance in a production quality compiler",+ journal = "ACM SIG{\-}PLAN Notices",+ volume = 34,+ number = 3,+ pages = "1--9",+ year = 1999,+ url = "citeseer.nj.nec.com/larose98compacting.html"+}++@article{Larson1999Memory,+ author = "Per-{\AA}ke Larson and Murali Krishnan",+ title = "Memory allocation for long-running server+ applications",+ journal = "ACM SIG{\-}PLAN Notices",+ volume = 34,+ number = 3,+ pages = "176--185",+ year = 1999,+ url = "citeseer.nj.nec.com/article/larson98memory.html"+}++@TechReport{Leavens2002FOAL,+ author = {Gary T. Leavens and Ron Cytron},+ title = {FOAL 2002 Proceedings -- Foundations of+ Aspect-Oriented Languages},+ institution = {Department of Computer Science, Iowa State+ University},+ year = 2002,+ number = {02-06},+ month = apr+},+@TechReport{Leavens2003FOAL,+ editor = {Gary T. Leavens and Curtis Clifton},+ author = {Gary T. Leavens and Curtis Clifton},+ title = {FOAL 2003 Proceedings -- Foundations of+ Aspect-Oriented Languages},+ institution = {Department of Computer Science, Iowa State+ University},+ year = 2003,+ number = {03-05},+ month = mar+},+@PhdThesis{Leijen2003LambdaAbroad,+ author = {Daan Leijen},+ title = {The $\lambda$ Abroad -- A Functional Approach to+ Software Components},+ school = {Utrecht University},+ year = 2003,+ month = nov+},+@PhdThesis{Lepper:03,+ author = {M. Lepper},+ title = {MWatch --- An Algorithm for Evaluating Temporal+ Trace Specifications in Real-Time},+ school = {Technische Universt{\"a}t Berlin},+ year = 2004+},+@inproceedings{Leroy1991PolymorphicTypeInference,+ author = {Xavier Leroy and Pierre Weis},+ title = {Polymorphic type inference and assignment},+ booktitle = {Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1991,+ isbn = {0-89791-419-8},+ pages = {291--302},+ location = {Orlando, Florida, United States},+ doi = {http://doi.acm.org/10.1145/99583.99622},+ publisher = ACM,+}++@Book{Levine2000LinkersLoaders,+ author = {John R. Levine},+ title = {Linkers \& Loaders},+ publisher = MK,+ year = 2000+}++@inproceedings{Lewis2000Implicit,+ author = "Jeffrey Lewis and Mark Shields and Erik Meijer and+ John Launchbury",+ title = "Implicit Parameters: Dynamic Scoping with Static+ Types",+ booktitle = "Proceedings of the 27th Annual {ACM}+ {SIGPLAN-SIGACT} Symposium on Principles of+ Programming Languages, Boston, Massachusetts",+ year = 2000,+ month = jan,+ pages = "108--118"+},++@InProceedings{Li2003ToolRefactoring,+ author = {Huiqing Li and Claus Reinke and Simon Thompson},+ title = {Tool Support for Refactoring Functional Programs},+ booktitle = {ACM SIGPLAN Haskell Workshop},+ year = 2003,+ address = {Uppsala, Sweden},+ note = {To appear}+}++@TechReport{Lim1993pSather,+ author = {Chu-Cheow Lim},+ title = {A Parallel Object-Oriented System for Realizing+ Reusable and Efficient Data Abstractions},+ institution = {ICSI and Computer Science Division, University of+ California Berkeley},+ year = 1993,+ number = {TR-93-063}+},++@book{Lindholm1999JavaVMSpecification,+ author = {T. Lindholm and F. Yellin},+ title = {The Java\texttrademark{} Virtual Machine+ Specification},+ publisher = {Sun Microsystems},+ year = 1999,+ edition = {2nd}+},+++@techreport{Lloyd1995ProgrammingEscher,+ number = {CSTR-95-013},+ title = {Declarative Programming in {Escher}},+ author = {J. W. Lloyd},+ bpages = 122,+ rpages = 5,+ institution = {Department of Computer Science, University of+ Bristol},+ month = jun,+ year = 1995,+ revision = {August 1995},+ abstract = {Escher is a declarative, general-purpose programming+ language which integrates the best features of both+ functional and logic programming languages. It has+ types and modules, higher-order and meta-programming+ facilities, and declarative input/output. Escher+ also has a collection of system modules, providing+ numerous operations on standard data types such as+ integers, lists, characters, strings, sets, and+ programs. The main design aim is to combine in a+ practical and comprehensive way the best ideas of+ existing functional and logic languages, such as+ G\"odel, Haskell, and $\lambda$Prolog. Indeed,+ Escher goes well beyond G\"odel in its ability to+ allow function definitions, its higher-order+ facilities, its improved handling of sets, and its+ declarative input/output. Escher also goes well+ beyond Haskell in its ability to run+ partly-instantiated predicate calls, a familiar+ feature of logic programming languages which+ provides a form of non-determinism, and its more+ flexible handling of equality. The language also has+ a clean semantics, its underlying logic being (an+ extension of) Church's simple theory of types. This+ report is divided into two parts. The first part+ provides a tutorial introduction to Escher. In this+ part there are many example programs to illustrate+ the various language features. In particular, these+ example programs are meant to emphasize the+ significant practical advantages that come from+ integrating the best features of existing functional+ and logic languages. The second part contains a+ formal definition of the Escher language, including+ its syntax, semantics, and a description of its+ system modules. To make the report self-contained,+ an appendix summarizes the key aspects of the simple+ theory of types. },+ source = {tech-reports/1995/1995-lloyd.ps.gz},+ pubtype = 6+},+@Book{Loogen1995Integration,+ author = {Rita Loogen},+ title = {Integration funktionaler und logischer+ Programmiersprachen -- Semantik und Implementierung},+ publisher = {Oldenbourg},+ year = 1995+}++@inproceedings{Lucassen1988EffectSystems,+ author = {J. M. Lucassen and D. K. Gifford},+ title = {Polymorphic effect systems},+ booktitle = {Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1988,+ isbn = {0-89791-252-7},+ pages = {47--57},+ location = {San Diego, California, United States},+ doi = {http://doi.acm.org/10.1145/73560.73564},+ publisher = ACM,+}++@Unpublished{Marlow1998GHCHugsRTS,+ author = {Simon Marlow and Simon {Peyton Jones}},+ title = {{The New GHC/Hugs Runtime System}},+ year = 1998+}++@inproceedings{Marlow2001AsynchronousExceptions,+ author = {Simon Marlow and Simon Peyton Jones and Andrew Moran+ and John Reppy},+ title = {Asynchronous exceptions in Haskell},+ booktitle = {Proceedings of the ACM SIGPLAN 2001 conference on+ Programming language design and implementation},+ year = 2001,+ isbn = {1-58113-414-2},+ pages = {274--285},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/378795.378858},+ publisher = ACM,+}++@TechReport{Marlow2003PushEnterEvalApply,+ author = {Simon Marlow and Simon {Peyton Jones}},+ title = {Making a fast curry -- Push/enter vs eval/apply for+ higher-order languages},+ institution = {Microsoft Research, Cambridge},+ year = 2003,+ month = apr+}++@inproceedings{Maslov1993Amalgamation,+ author = {Sergei G. Maslov},+ booktitle = {NATO ASI Constraint Programming},+ title = {From Competition to Amalgamation of Different+ Programming Paradigms},+ year = 1993,+ month = aug,+ url = "citeseer.nj.nec.com/386474.html"+}++@Unpublished{Meijer1992DownWithLambdaLifting,+ author = {Erik Meijer and Ross Paterson},+ title = {Down with $\lambda$-lifting},+ note = {Unpublished paper},+ month = apr,+ year = 1992+}++@Unpublished{Meseguer,+ author = {Jos{\'e} Meseguer},+ title = {{Semantic Frameworks for Multiparadigm Integration+ and Coordination}},+ note = {Unpublished}+}++@Misc{Metzner2002DiplomaThesis,+ author = {Andr{\'e} Metzner},+ title = {{Eine abstrakte Maschine f{\"u}r die (schrittweise)+ Abarbeitung funktional-logischer Programme. Diploma+ Thesis, Technische Universit{\"a}t Berlin}},+ school = {Technische Universit{\"a}t Berlin},+ year = 2002+}++@Article{MillerLogicProgrammingLanguage,+ author = {Dale Miller},+ title = {A Logic Programming Language with+ Lambda-Abstraction, Function Variables, and Simple+ Unification},+ Journal = "Journal of Logic and Computation",+ Volume = 1,+ Number = 4,+ Pages = "497-536",+ Year = 1991,+ url = "citeseer.nj.nec.com/miller91logic.html",+ url = + "file://ftp.cis.upenn.edu/pub/papers/miller/jlc91.dvi.Z"+}++@Book{Milner1997SML,+ author = {R. Milner and M. Tofte and R. Harper and+ D. MacQueen},+ title = {The Definition of Standard ML},+ publisher = MIT,+ year = 1997,+ note = {Revised edition.}+}++@Book{Mitchell2003Concepts,+ author = {John C. Mitchell},+ title = {Concepts in Programming Languages},+ publisher = CUP,+ year = 2003+}++@inproceedings{Moggi1989Computational,+ author = {E. Moggi},+ title = {Computational lambda-calculus and monads},+ booktitle = {Proceedings of the Fourth Annual Symposium on Logic+ in computer science},+ year = 1989,+ isbn = {0-8186-1954-6},+ pages = {14--23},+ location = {Pacific Grove, California, United States},+ publisher = IEEE,+}++@Article{Moggi2001Revised,+ author = {E. Moggi and A. Sabry},+ title = {Monadic Encapsulation of Effects: a Revised Approach+ (extended version)},+ journal = {Journal of Functional Programming},+ year = 2001,+ volume = 11,+ number = 6+}++@InProceedings{Moggi2003MMML,+ author = {E. Moggi and S. Fagorzi},+ title = {A Monadic Multi-stage Metalanguage},+ booktitle = {FOSSACS 2003},+ year = 2003,+ volume = 2620,+ series = LNCS+}++@Article{Montanari1996WhatsNext,+ author = {Ugo Montanari and Francesca Rossi},+ title = {Constraint Solving and Programming: What's Next?},+ journal = {ACM Computing Surveys},+ year = 1996,+ volume = 28,+ number = {4es},+ month = dec+}++@Article{MorenoNavarro1992Babel,+ author = {Juan Jose Moreno-Navarro and Mario+ Rodriguez-Artalejo},+ title = {Logic Programming with Functions and Predicates: The+ Language {Babel}},+ journal = {Journal of Logic Programming},+ year = 1992,+ volume = 12,+ pages = {191--223}+}++@article{MorenoNavarroRodriguezArtalejo:1992,+ author = "J.J. Moreno-Navarro and M. Rodr{\'i}guez-Artalejo",+ title = "{Logic Programming with Functions and Predicates:+ The Language BABEL}",+ journal = "Journal of Logic Programming",+ volume = 12,+ pages = "191--223",+ year = 1992+}++@InProceedings{Nadathur1988lProlog,+ author = {Gopalan Nadathur and Dale Miller},+ title = {An overview of lambda Prolog},+ booktitle = {Proceedings of Fifth International Logic Programming+ Conference},+ pages = {810--827},+ year = 1988,+ editor = {Kenneth A. Bowen and Robert A. Kowalski},+ address = {Seattle, Washington},+ month = aug,+ publisher = MIT+}++@inproceedings{Necula1997PCC,+ author = {George C. Necula},+ title = {Proof-carrying code},+ booktitle = {Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1997,+ HIDDENisbn = {0-89791-853-3},+ pages = {106--119},+ location = {Paris, France},+ doi = {http://doi.acm.org/10.1145/263699.263712},+ publisher = ACM,+}++@Book{Nelson1995DataCompression,+ author = {Mark Nelson and Jean-Loup Gailly},+ title = {The Data Compression Book},+ publisher = {M\&T Books},+ year = 1995,+ edition = {Second}+}++@inproceedings{ Neubauer2002FunctionalLogicOverloading,+ author = "Matthias Neubauer and Peter Thiemann and Martin+ Gasbichler and Michael Sperber",+ title = "Functional logic overloading",+ booktitle = "Symposium on Principles of Programming Languages",+ pages = "233-244",+ year = 2002,+ url = "citeseer.nj.nec.com/neubauer01functional.html"+}++@PhdThesis{Noble1995LazyComponents,+ author = {Rob Noble},+ title = {Lazy Functional Components for Graphical User+ Interfaces},+ school = {York University},+ year = 1995,+ month = nov+}++@Misc{Nordlander2001OHaskellSurvey,+ author = {Johan Nordlander},+ title = {{A survey of O'Haskell}},+ howpublished = {World Wide Web},+ month = jan,+ year = 2001,+ note = {Available from:+ \url{http://www.cs.chalmers.se/~nordland/ohaskell/survey.html}},+}++@inproceedings{Odersky1993AssignmentLambdaCalculus,+ author = {Martin Odersky and Dan Rabin and Paul Hudak},+ title = {Call by name, assignment, and the lambda calculus},+ booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1993,+ isbn = {0-89791-560-7},+ pages = {43--56},+ location = {Charleston, South Carolina, United States},+ doi = {http://doi.acm.org/10.1145/158511.158521},+ publisher = ACM,+}++@inproceedings{ Okasaki1995Purely,+ author = "Chris Okasaki",+ title = "Purely Functional Random-Access Lists",+ booktitle = "Functional Programming Languages and Computer+ Architecture",+ pages = "86--95",+ year = 1995,+ url = "citeseer.nj.nec.com/okasaki95purely.html"+}++@article{Okasaki1998EvenHOParsing,+ author = "Chris Okasaki",+ title = "Functional Pearl: Even higher-order functions for+ parsing or {Why} would anyone ever want to use a+ sixth-order function?",+ journal = "Journal of Functional Programming",+ volume = 8,+ number = 2,+ pages = "195--199",+ year = 1998,+ url = "citeseer.nj.nec.com/okasaki99functional.html"+}++@Book{Okasaki1999PurelyFunctional,+ author = {Chris Okasaki},+ title = {Purely Functional Data Structures},+ publisher = CUP,+ year = 1999+}++@inproceedings{Okasaki2002PostfixHaskell,+ author = {Chris Okasaki},+ title = {Techniques for embedding postfix languages in+ Haskell},+ booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell},+ year = 2002,+ isbn = {1-58113-605-6},+ pages = {105--113},+ location = {Pittsburgh, Pennsylvania},+ doi = {http://doi.acm.org/10.1145/581690.581699},+ publisher = ACM,+}++@inproceedings{Ossher2000HyperJ,+ author = {Harold Ossher and Peri Tarr},+ title = {{Hyper/J: multi-dimensional separation of concerns+ for Java}},+ booktitle = {Proceedings of the 22nd international conference on+ Software engineering},+ year = 2000,+ isbn = {1-58113-206-9},+ pages = {734--737},+ location = {Limerick, Ireland},+ doi = {http://doi.acm.org/10.1145/337180.337618},+ publisher = ACM,+}++@InProceedings{Ossher2000MultiDimensional,+ author = {Harold Ossher and Peri Tarr},+ title = {Multi-Dimensional Separation of Concerns and The+ Hyperspace Approach},+ booktitle = {Proceedings of the Symposium on Software+ Architectures and Component Technology: The State of+ the Art in Software Development},+ year = 2000,+ publisher = {Kluwer Academic Publishers}+}++@InProceedings{Ovlinger2001AspectsModules,+ author = {Johan Ovlinger and Karl Lieberherr and David+ H. Lorenz},+ title = {Aspects and Modules Combined},+ year = 2001,+ publisher = ACM+}++@Techreport{Ovlinger2002AspectsModules,+ AUTHOR = "Johan Ovlinger and Karl Lieberherr and David Lorenz",+ TITLE = "Aspects and Modules Combined",+ YEAR = 2002,+ INSTITUTION = "College of Computer Science, Northeastern+ University",+ MONTH = "March",+ NUMBER = "{NU-CCS-02-03}",+ ADDRESS = "Boston, MA",+ NOTE =+ "http://www.ccs.neu.edu/research/demeter/papers/ac-aspectj-hyperj"+}++@InProceedings{Parrow1998FusionCalculus,+ author = {Joachim Parrow and Bj{\"o}rn Victor},+ title = {{The Fusion Calculus: Expressiveness and Symmetry in+ Mobile Processes (extended abstract)}},+ booktitle = {Proceedings of LICS'98},+ year = 1998,+ month = jun,+ publisher = IEEE+}++@InProceedings{Paterson2001ArrowNotation,+ author = {Ross Paterson},+ title = {A New Notation for Arrows},+ booktitle = {International Conference on Functional Programming+ (ICFP2001)},+ year = 2001+}++@INPROCEEDINGS{PavlovicPepperSmith:03,+ AUTHOR = {D. Pavlovic and P. Pepper and D. Smith},+ TITLE = {{Colimits for Concurrent Collectors}},+ BOOKTITLE = {Proc. of the International Symposium on+ Verification},+ EDITOR = {N. Dershowitz},+ YEAR = 2003,+ SERIES = LNCS,+ VOLUME = 2772,+ PUBLISHER = SV,+ NOTE = {To appear}+}++@Proceedings{Pepper1984ProgTrans,+ title = {Program Transformations and Programming+ Environments},+ year = 1984,+ editor = {Peter Pepper},+ volume = 8,+ series = {NATO ASI Series F: Computer and Systems Sciences},+ publisher = SV+}++@TechReport{Pepper1997ProgLangOpal,+ author = {Peter Pepper},+ title = {{The Programming Language Opal}},+ institution = {Technische Universit{\"a}t Berlin},+ year = 1997,+ month = nov+}++@Article{Pepper2002SoftwareLanguages,+ author = {Peter Pepper and Michael Cebulla and Klaus Didrich+ and Wolfgang Grieskamp},+ title = {From program languages to software languages},+ journal = {Journal of Systems and Software},+ year = 2002,+ volume = 60,+ number = 60,+ pages = {91--101}+}++@BOOK{Pepper2003Opal,+ AUTHOR = {Peter Pepper},+ TITLE = {{Funktionale Programmierung in OPAL, ML, HASKELL und+ GOFER}},+ PUBLISHER = SV,+ YEAR = 2003,+ edition = {2nd}+}++@Misc{PerryImplFunLangOOVM,+ author = {Nigel Perry and Erik Meijer},+ title = {Implementing Functional Languages on Object-Oriented+ Virtual Machines},+ howpublished = {Microsoft White Paper},+ url =+ {http://docs.msdnaa.net/ark/Webfiles/WhitePapers/PerryAndMeijer.pdf}+}++@InProceedings{PeytonJones1989GMachine,+ author = {Simon L. {Peyton Jones} and John Salkild},+ title = {The Spineless Tagless {G}-machine},+ booktitle = {Functional Programming and Computer Architecture},+ year = 1989,+ editor = {David MacQueen}+}++@inproceedings{PeytonJones1991Unboxed,+ author = "Simon L. {Peyton Jones} and J. Launchbury",+ title = "Unboxed Values as First Class Citizens in a+ Non-strict Functional Language",+ booktitle = "Proceedings of the Conference on Functional+ Programming and Computer Architecture",+ month = "26--28 August",+ publisher = "Springer-Verlag {LNCS}523",+ address = "Cambridge, Massachussets, USA",+ editor = "J. Hughes",+ pages = "636--666",+ year = 1991,+ url = "citeseer.nj.nec.com/jones91unboxed.html"+}++@book{PeytonJones1998Haskell98,+ editor = {Simon {Peyton Jones}},+ title = {Haskell 98 Language and Libraries---The Revised+ Report},+ publisher = CUP,+ year = 2003,+ month = apr,+ note = {Also available from:+ \url{http://www.haskell.org/haskellwiki/Definition},+ last visited: 2008-10-07}+}++@misc{ PeytonJones1999SecretsGHCInliner,+ author = "S. {Peyton Jones} and S. Marlow",+ title = "Secrets of the Glasgow Haskell compiler inliner",+ text = "Simon L. Peyton Jones and Simon Marlow. Secrets of+ the Glasgow Haskell compiler inliner. Submitted to+ IDL'99, July 1999.",+ year = 1999,+ url = "citeseer.nj.nec.com/jones99secrets.html"+}+++@Article{PeytonJones2002SecretsGHCInlinerJFP,+ author = {Simon {Peyton Jones} and Simon Marlow},+ title = {Secrets of the Glasgow Haskell Compiler inliner},+ journal = JFP,+ year = 2002,+ volume = 12,+ number = 4,+ pages = {393--434},+ month = jul+}++@InBook{PeytonJones2001Tackling,+ author = {Simon {Peyton Jones}},+ title = {Engineering theories of software construction},+ chapter = {Tackling the Awkward Squad: monadic input/output,+ concurrency, exceptions, and foreign-language calls+ in Haskell},+ publisher = {NATO ASI},+ year = 2001+}++@inproceedings{Pfenning1988HOAS,+ author = {F. Pfenning and C. Elliot},+ title = {Higher-order abstract syntax},+ booktitle = {Proceedings of the ACM SIGPLAN 1988 conference on+ Programming Language design and Implementation},+ year = 1988,+ isbn = {0-89791-269-1},+ pages = {199--208},+ location = {Atlanta, Georgia, United States},+ doi = {http://doi.acm.org/10.1145/53990.54010},+ publisher = ACM,+}++@Book{Pierce1991CategoryTheory,+ author = {Benjamin C. Pierce},+ title = {Basic Category Theory for Computer Scientists},+ publisher = MIT,+ year = 1991,+ series = {Foundation of Computing Series},+ address = {Cambridge, Massachusettes}+}++@inproceedings{Pierce1998LocalTypeInference,+ author = "Benjamin C. Pierce and David N. Turner",+ title = "Local Type Inference",+ booktitle = "Conference Record of {POPL} 98: The 25TH {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages, San Diego, California",+ address = "New York, NY",+ pages = "252--265",+ year = 1998,+ url = "citeseer.ist.psu.edu/pierce98local.html"+}++@Book{Pierce2002TypesAndPL,+ author = {Benjamin C. Pierce},+ title = {Types and Programming Languages},+ publisher = MIT,+ year = 2002,+ address = {Cambridge, Massachusettes}+}++@inproceedings{Pippenger1996PureImpureLisp,+ author = {Nicholas Pippenger},+ title = {Pure versus impure Lisp},+ booktitle = {Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1996,+ isbn = {0-89791-769-3},+ pages = {104--109},+ location = {St. Petersburg Beach, Florida, United States},+ doi = {http://doi.acm.org/10.1145/237721.237741},+ publisher = ACM+}++@Book{Plasmeijer1993FPandPGR,+ author = {Rinus Plasmeijer and Marko van Eekelen},+ title = {Functional Programming and Parallel Graph Rewriting},+ publisher = AW,+ year = 1993,+ series = {International Computer Science Series}+}++@TechReport{Plasmeijer2001CleanReport,+ author = {Rinus Plasmeijer and Marko {van Eekelen}},+ title = {Clean Language Report Version 2.0},+ institution = {University of Nijmegen},+ year = 2001,+ month = dec+}++@Book{Plotkin1981SOS,+ author = {Gordon D. Plotkin},+ title = {A Structural Approach to Operational Semantics},+ publisher = {Computer Science Department, Aarhus University},+ year = 1981,+ month = sep+}++@InProceedings{Plotkin1994SubtypingParametricity,+ author = {Gordon Plotkin and Mart{\'i}n Abadi and Luca+ Cardelli},+ title = {Subtyping and Parametricity},+ booktitle = {Symposium on Logic in Computer Science},+ pages = {310--319},+ year = 1994,+ address = {Paris, France},+ month = jul,+ organization = IEEE+}++@inproceedings{Printezis2000MostylyConcurrentGC,+ author = {Tony Printezis and David Detlefs},+ title = {A generational mostly-concurrent garbage collector},+ booktitle = {Proceedings of the second international symposium on+ Memory management},+ year = 2000,+ isbn = {1-58113-263-8},+ pages = {143--154},+ location = {Minneapolis, Minnesota, United States},+ doi = {http://doi.acm.org/10.1145/362422.362480},+ publisher = ACM+}++@InProceedings{Rees1982T,+ author = {Jonathan A. Rees and Norman I. Adams IV},+ title = {T: A dialect of Lisp or, Lambda: The ultimate+ software tool},+ booktitle = {Conference Record of the 1982 ACM Symposium on Lisp+ and Functional Programming},+ year = 1982,+ pages = {114--122}+}++@PhdThesis{Rees1995SecurityKernel,+ author = {Jonathon A. Rees},+ title = {A Security Kernel Based on the Lambda-Calculus},+ school = MIT,+ year = 1995,+ month = feb+}++@TechReport{Rees1996SecurityKernel,+ author = {Jonathan A. Rees},+ title = {A Security Kernel Based on the Lambda-Calculus},+ institution = MITAI,+ year = 1996,+ number = {AIM-1564},+ month = mar+}++@Misc{Reinke2002HCAR,+ author = {Claus Reinke and others},+ title = {Haskell Communities and Activities Report},+ howpublished = {World wide web},+ month = {November},+ year = 2002,+ note = {Available from:+ \url{http://www.haskell.org/communities/}},+}++@Misc{Reinke2003HCAR,+ author = {Claus Reinke and others},+ title = {Haskell Communities and Activities Report},+ howpublished = {World wide web},+ month = {November},+ year = 2003,+ note = {Available from:+ \url{http://www.haskell.org/communities/}},+}++@inproceedings{Remy1997ObjectiveML,+ author = {Didier R{\'e}my and J{\'e}r{\^o}me Vouillon},+ title = {Objective ML: a simple object-oriented extension of+ ML},+ booktitle = {Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium+ on Principles of Programming Languages},+ year = 1997,+ isbn = {0-89791-853-3},+ pages = {40--53},+ location = {Paris, France},+ doi = {http://doi.acm.org/10.1145/263699.263707},+ publisher = ACM,+}++@techreport{ Reppy1993HighPerformance,+ author = "John H. Reppy",+ title = "A High-Performance Garbage Collector for {S}tandard+ {ML}",+ address = "Murray Hill, NJ",+ year = 1993,+ url = "citeseer.nj.nec.com/reppy94highperformance.html"+}++@Book{Russel2003AIMA,+ author = {Stuart Russel and Peter Norvig},+ title = {Artificial Intelligence: A Modern Approach},+ publisher = {Pearson Education},+ year = 2003,+ series = {Prentice Hall Series in Artificial Intelligence},+ address = {Upper Saddle River, New Jersey},+ edition = {Second}+}++@TechReport{Sabry1992ReasoningTR,+ author = {Amr Sabry and Matthias Felleisen},+ title = {Reasoning about Programs in Continuation-Passing+ Style},+ institution = {Rice University},+ year = 1992,+ number = {TR 92-180}+}++@article{ Sabry1998PurelyFunctional,+ author = "Amr Sabry",+ title = "What is a Purely Functional Language?",+ journal = "Journal of Functional Programming",+ volume = 8,+ number = 1,+ pages = "1-22",+ year = 1998,+ month = jan,+ url = "citeseer.nj.nec.com/sabry98what.html"+}++@InProceedings{Sachindran2003MarkCopy,+ author = {Narendran Sachindran and J. Eliot B. Moss},+ title = {Mark-Copy: Fast copying GC with less space overhead},+ booktitle = {Proceedings of the ACM 2003 SIGPLAN Conference on+ Object-Oriented Programming Systems, Languages and+ Applications (OOPSLA)},+ year = 2003,+ address = {Anaheim, CA},+ month = oct,+ publisher = ACM+}++@InProceedings{Sahlin1996ErlangOverview,+ author = {Dan Sahlin},+ title = {The concurrent functional programming language+ {Erlang} -- An Overview},+ crossref = {Chakravarty1996MPLP},+ booktitle = {Multi-paradigm Logic Programming},+ pages = {9--12},+ year = 1996+}++@InProceedings{Schiffer1994Vista,+ author = {Stefan Schiffer and Joachim Hans Fr{\"o}hlich},+ title = {Concepts and Architecture of {Vista} -- a+ Multiparadigm Programming Environment},+ booktitle = {Proceedings IEEE Symposium on Visual Languages},+ pages = {40--47},+ year = 1994,+ month = oct+}++@Book{Schmidt1986DenotationalSemantics,+ author = {David A. Schmidt},+ title = {Denotational Semantics},+ publisher = {Allyn and Bacon},+ year = 1986,+ address = {Newton, Massachusetts}+}++@article{Schmidt1997PopularSemantics,+ author = {David A. Schmidt},+ title = {On the need for a popular formal semantics},+ journal = SIGPLAN,+ volume = 32,+ number = 1,+ year = 1997,+ issn = {0362-1340},+ pages = {115--116},+ doi = {http://doi.acm.org/10.1145/251595.251617},+ publisher = ACM,+}++@Book{Schwartz1986SETL,+ author = {J. T. Schwartz and R. B. K. Dewar and E. Dubinsky+ and E. Schonberg},+ title = {Programming with Sets: an Introduction to SETL},+ publisher = SV,+ year = 1986+}++@misc{SchwartzbachPolymorphic,+ author = "Michael I. Schwartzbach",+ title = "Polymorphic Type Inference",+ url =+ "citeseer.nj.nec.com/article/schwartzbach95polymorphic.html"+}++@Misc{Scott2001SISC,+ author = {Scott G. Miller},+ title = {{SISC: A Complete Scheme Interpreter in Java}},+ year = 2001,+ month = jan+}++@inproceedings{Semmelroth1999MonadicEncapsulation,+ author = "Miley Semmelroth and Amr Sabry",+ title = "Monadic Encapsulation in {ML}",+ booktitle = "International Conference on Functional Programming",+ pages = "8-17",+ year = 1999,+ url = "citeseer.nj.nec.com/semmelroth99monadic.html"+}++@InProceedings{Serrano1994OptimizingCaml,+ author = {Manuel Serrano and Pierre Weis},+ title = {1+1=1: an optimizing Caml compiler},+ booktitle = {Proceedings of WML'94},+ year = 1994+}++@InProceedings{Serrano1995ControlFlowAnalysis,+ author = {Manuel Serrano},+ title = {Control flow analysis: a functional languages+ compilation paradigm},+ booktitle = {Proceedings of SAC'95},+ year = 1995+}++@InProceedings{Serrano1996StorageAnalysis,+ author = {Manuel Serranoa and Marc Feeley},+ title = {Storage Use Analysis and its Applications},+ booktitle = {ACM SIGPLAN International Conference on Functional+ Programming},+ year = 1996,+ month = may+}++@InProceedings{Serrano2000UnderstandingMemory,+ author = {Manuel Serrano and Hans-J. Boehm},+ title = {Understanding Memory allocations of Scheme Programs},+ booktitle = {Proceedings of ICFP'00},+ year = 2000+}++@Misc{Sestoft2002RuntimeCodeGeneration,+ author = {Peter Sestoft},+ title = {Runtime Code Generation with JVM and CLR},+ year = 2002,+ url =+ {http://www.matfys.kvl.dk/\~{}sestoft/publications.html}+}++@TechReport{Shao1992SmartestRecompilation,+ author = {Zhong Shao and Andrew W. Appel},+ title = {Smartest Recompilation},+ institution = {Princeton University},+ year = 1992,+ number = {CS-TR-395-92},+ month = oct+}++@inproceedings{ Shao1993SmartestRecompilation,+ author = "Zhong Shao and Andrew W. Appel",+ title = "Smartest Recompilation",+ booktitle = "Conference Record of the Twentieth Annual {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages",+ address = "Charleston, South Carolina",+ pages = "439--450",+ year = 1993,+ url = "citeseer.nj.nec.com/shao93smartest.html"+}++@PhdThesis{Shao1994CompilingStandardML,+ author = {Zhong Shao},+ title = {Compiling Standard {ML} for Efficient Execution on+ Modern Machines},+ school = {Princeton University},+ year = 1994,+ month = nov+}++@inproceedings{Shao1995TypeBasedCompilerStandardML,+ author = {Zhong Shao and Andrew W. Appel},+ title = {A type-based compiler for standard ML},+ booktitle = {PLDI '95: Proceedings of the ACM SIGPLAN 1995+ Conference on Programming Language Design and+ Implementation},+ year = 1995,+ isbn = {0-89791-697-2},+ pages = {116--129},+ location = {La Jolla, California, United States},+ publisher = {ACM Press},+ address = {New York, NY, USA}+}+ +@Article{Shao2000EfficentClosureConversion,+ author = {Zhong Shao and Andrew W. Appel},+ title = {Efficient and Safe-for-Space Closure Conversion},+ journal = {ACM Transactions on Programming Languages and+ Systems},+ year = 2000,+ volume = 22,+ number = 1,+ pages = {129--161},+ month = jan+}++@InProceedings{Sheard2002TemplateHaskell,+ author = {Tim Sheard and Simon {Peyton Jones}},+ title = {Template metaprogramming for Haskell},+ booktitle = {Haskell Workshop 2002},+ year = 2002+}++@PhdThesis{Shields2001PhD,+ author = {Mark Brian Shields},+ title = {Static Types for Dynamic Documents},+ school = {Oregon Graduate Institute of Science and Technology},+ year = 2001,+ month = feb+}++@TechReport{Simonyi1995IntentionalProgramming,+ author = {Charles Simonyi},+ title = {The Death of Computer Languages, The Birth of+ Intentional Programming},+ institution = {Microsoft Research},+ year = 1995,+ number = {MSR-TR-95-52},+ month = sep+}++@InProceedings{Sitaram1990ReasoningContII,+ author = {Dorai Sitaram and Matthias Felleisen},+ title = {Reasoning with Continuations II: Full Abstraction+ for Models of Control},+ booktitle = {Proceedings of LFP 90},+ year = 1990+}++@InProceedings{Smetsers1991GeneratingCode,+ author = {Sjaak Smetsers and Eric N{\"o}cker and John van+ Groningen and Rinus Plasmeijer},+ title = {Generating Efficient Code for Lazy Functional+ Languages},+ booktitle = {Proc. of Conference on Functional Programming+ Languages and Computer Architecture (FPCA '91),+ Cambridge, MA, USA},+ pages = {295--617},+ year = 1991,+ editor = {Hughes},+ publisher = SV+}++@InProceedings{Smetsers1994SafeUpdates,+ author = {Sjaak Smetsers and Erik Barendsen and Marko van+ Eekelen and Rinus Plasmeijer},+ title = {Guaranteeing safe destructive updates through a type+ system with uniqueness information for graphs},+ booktitle = {Proc. of Graph Transformations in Computer Science,+ International Workshop, Dagstuhl Castle, Germany},+ pages = {358--379},+ year = 1994,+ editor = {Schneider and Ehrig},+ number = 776,+ series = LNCS,+ publisher = SV+}++@InProceedings{Smith2000AliasTypes,+ author = {Frederick Smith and David Walker and Greg Morrisett},+ title = {Alias Types},+ crossref = {Smolka2000ESOP},+ pages = {366--381}+}++@Proceedings{Smolka2000ESOP,+ title = {Programming Languages and Systems -- 9th European+ Symposium on Programming, ESOP 2000},+ year = 2000,+ editor = {Gert Smolka},+ address = {Berlin, Germany},+ month = mar # "/" # apr+}++@InProceedings{Sobel1999ICFP,+ author = {Jonathan Sobel and Erik Hilsdale and R. Kent Dybvig+ and Daniel P. Friedman },+ title = {Abstraction and Performance from Explicit Monadic+ Reflection},+ booktitle = {ICFP'99},+ year = 1999,+ note = {Submitted}+}++@InProceedings{Somogyi1995Mercury,+ author = {Zoltan Somogyi and Fergus Henderson and Thomas+ Conway},+ title = {Mercury: an efficient purely declarative logic+ programming language},+ booktitle = {ASCS'95, Glenelg, Australia},+ year = 1995+}++@Article{Sondergaard1990ReferentialTransparency,+ author = {H. S{\o}ndergaard and P. Sestoft},+ title = {Referential transparency, definiteness+ unfoldability},+ journal = {Acta Informatica},+ year = 1990,+ volume = 27,+ pages = {505--517}+}++@Article{Spinellis1995UsingObjects,+ author = {Diomidis Spinellis and Sophia Drossopoulou and Susan+ Eisenbach },+ title = {Using Objects for Structuring Multiparadigm+ Programming Environments},+ journal = {Journal of Object-Oriented Programming},+ year = 1995,+ volume = 8,+ number = 1,+ pages = {33--38},+ month = mar # "/" # apr+}++@Book{Spivey1988UnderstandingZ,+ author = {J. M. Spivey},+ title = {Understanding {Z}},+ publisher = CUP,+ year = 1988,+ volume = 3,+ series = {Cambridge tracts in theoretical computer science}+}++@Book{Spivey1992TheZNotation,+ author = {J. M. Spivey},+ title = {The Z Notation -- A Reference Manual},+ publisher = PH,+ year = 1992,+ edition = {Second},+ series = {International Series in Computer Science}+}++@Article{Stefik1986AccessOrientedProgramming,+ author = {Mark J. Stefik and Daniel G. Bobrow and Kenneth+ M. Kahn},+ title = {Integrating Access-Oriented Programming into a+ Multiparadigm Environment},+ journal = {IEEE Software},+ year = 1986,+ volume = 3,+ number = 1,+ pages = {10--18},+ month = jan+}++@Proceedings{Striegnitz2001MPOOL,+ title = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ year = 2001,+ month = jun,+ editor = {Kei Davis and Yannis Smaragdakis and J{\"o}rg+ Striegnitz},+ volume = 7,+ series = {NIC Series},+ organization = {John von Neumann Institute for Computing (NIC)},+ isbn = {3-00-007968-8}+}++@Proceedings{Striegnitz2002MPOOL,+ title = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ year = 2002,+ month = jun,+ editor = {J{\"o}rg Striegnitz and Kei Davis and Yannis+ Smaragdakis},+ volume = 13,+ series = {NIC Series},+ organization = {John von Neumann Institute for Computing (NIC)},+ isbn = {3-00-009099-1}+}++@inproceedings{Stuckey1994QueryConstraints,+ author = {Peter J. Stuckey and S. Sudarshan},+ title = {Compiling query constraints (extended abstract)},+ booktitle = {Proceedings of the thirteenth ACM+ SIGACT-SIGMOD-SIGART Symposium on Principles of+ Database Systems},+ year = 1994,+ isbn = {0-89791-642-5},+ pages = {56--67},+ location = {Minneapolis, Minnesota, United States},+ doi = {http://doi.acm.org/10.1145/182591.182598},+ publisher = ACM,+}++@TechReport{Sussman1975Scheme,+ author = {Gerald Jay Sussman and Guy Lewis Steele, Jr.},+ title = {Scheme: An interpreter for the extended lambda+ calculus},+ institution = MITAI,+ year = 1975,+ type = {AI Memo},+ number = 349,+ month = dec+}++@InProceedings{Swarup1991Assignments,+ author = {Vipin Swarup and Uday Reddy and Evan Ireland},+ title = {Assignments for Applicative Languages},+ booktitle = {Conference on Functional Programming and Computer+ Architecture},+ year = 1991,+ editor = {R. J. M. Hughes},+ number = 523,+ series = LNCS,+ month = sep,+ publisher = SV+}++@InProceedings{Swen2001Cxx,+ author = {Bing Swen},+ title = {Extended Object-Oriented Programming in Cxx},+ crossref = {Striegnitz2001MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {127--153},+ year = 2001+}++@InProceedings{Taha2003EnvironmentClassifiers,+ author = {Walid Taha and Michael Florentin Nielsen},+ title = {Environment Classifiers},+ booktitle = {POPL'03},+ year = 2003+}++@InProceedings{Tarditi1996TypeDirectedCompiler,+ author = {David Tarditi and Greg Morrisett and Perry Cheng and+ Chris Stone and Robert Harper and Peter Lee},+ title = {TIL: A type-directed compiler for ML},+ booktitle = {ACM SIGPLAN Conf. Programming Language Design and+ Implementation},+ pages = {181--192},+ year = 1996,+ address = {New York},+ publisher = ACM+}++@InProceedings{Thielecke2000ExcCont,+ author = {Hayo Thielecke},+ title = {On Exceptions Versus Continuations in the Presence+ of State},+ crossref = {Smolka2000ESOP},+ pages = {197--411}+}++@Book{Thompson1999Haskell,+ author = {Simon Thompson},+ title = {Haskell: The Craft of Functional Programming},+ publisher = AW,+ year = 1999,+ edition = {Second}+}++@Misc{Todoran:Continuations,+ author = {Eneia Todoran and Nikolaos S. Papaspyrou},+ title = {Continuations for Parallel Logic Programming}+}++@Misc{Torgersen2004ExpressionRev,+ author = {Mads Torgersen},+ title = {The Expression Problem Revisited -- Four new+ solutions using generics},+ year = 2004,+ howpublished = {World Wide Web},+ note =+ {\url{http://www.daimi.au.dk/~madst/tool/papers/expression.pdf}}+}++@InProceedings{Trancon2002StackingCycles,+ author = {Baltasar {Tranc{\'o}n y Widemann}},+ title = {Stacking Cycles: Functional Transformation of+ Circular Data},+ booktitle = {Proceedings of the Conference on the Implementation+ of Functional Languages},+ year = 2002,+ volume = 2670,+ series = LNCS+}++@InProceedings{Trancon2003Corecursion,+ author = {Baltasar {Tranc{\'o}n y Widemann}},+ title = {Advanced Strict Corecursion},+ booktitle = {Proceedings of the Conference on the Implementation+ of Functional Languages},+ year = 2003,+ volume = 2670,+ series = LNCS,+ note = {Under review}+}++@inproceedings{Tucker2003PointcutsAdviceHOL,+ author = {David B. Tucker and Shriram Krishnamurthi},+ title = {Pointcuts and advice in higher-order languages},+ booktitle = {Proceedings of the 2nd international conference on+ Aspect-oriented software development},+ year = 2003,+ isbn = {1-58113-660-9},+ pages = {158--167},+ location = {Boston, Massachusetts},+ doi = {http://doi.acm.org/10.1145/643603.643620},+ publisher = ACM,+}++@phdthesis{Turner1996PolymorphicPiCalculus,+ author = "David N. Turner",+ title = "The Polymorphic Pi-Calculus: Theory and+ Implementation",+ year = 1996,+ school = {University of Edinburgh},+ url = "http://citeseer.ist.psu.edu/turner95polymorphic.html"+}++@Article{Ungar1991Self,+ author = {David Ungar and Randall B. Smith},+ title = {Self: The power of simplicity},+ journal = {Lisp and Symbolic Computation},+ year = 1991,+ volume = 4,+ number = 3+}++@inproceedings{ Waddell1997FastEffectiveInlining,+ author = "Oscar Waddell and R. Kent Dybig",+ title = "Fast and Effective Procedure Inlining",+ booktitle = "Static Analysis Symposium",+ pages = "35--52",+ year = 1997,+ url = "citeseer.nj.nec.com/waddell97fast.html"+}++@InProceedings{Waddell2002letrec,+ author = {Oscar Waddell and Dipanwita Sarkar and R. Kent+ Dybvig},+ title = {Robust and effective transformation of letrec},+ booktitle = {Proceedings of the Workshop on Scheme and Functional+ Programming},+ year = 2002,+ month = oct+}++@inproceedings{Wadler1991LinearLogic,+ author = {Philip Wadler},+ title = {Is there a use for linear logic?},+ booktitle = {Proceedings of the 1991 ACM SIGPLAN symposium on+ Partial evaluation and semantics-based program+ manipulation},+ year = 1991,+ isbn = {0-89791-433-3},+ pages = {255--273},+ location = {New Haven, Connecticut, United States},+ doi = {http://doi.acm.org/10.1145/115865.115894},+ publisher = ACM,+}++@Article{Wadler1997DeclareImperative,+ author = {Philip Wadler},+ title = {How to declare an imperative},+ journal = {ACM Computing Surveys},+ year = 1997,+ volume = 29,+ number = 3,+ pages = {140--263},+ month = sep+}++@Misc{Wadler1998ExpressionProblem,+ author = {Philip Wadler},+ title = {The Expression Problem},+ howpublished = {Java-genericity mailing list},+ month = nov,+ year = 1998,+ note = {Available from:+ \url{http://www.cse.ohio-state.edu/~gb/cis888.07g/java-genericity/}}+}++@inproceedings{Wadler1998Marriage,+ author = {Philip Wadler},+ title = {The marriage of effects and monads},+ booktitle = {Proceedings of the Third ACM SIGPLAN International+ Conference on Functional Programming},+ year = 1998,+ isbn = {1-58113-024-4},+ pages = {63--74},+ location = {Baltimore, Maryland, United States},+ doi = {http://doi.acm.org/10.1145/289423.289429},+ publisher = ACM,+}++@InProceedings{Wadler2003Dual,+ author = {Philip Wadler},+ title = {Call-by-value is dual to call-by-name},+ booktitle = {International Conference on Functional Programming},+ year = 2003,+ month = aug+}++@Misc{Wadler2003DualReloaded,+ author = {Philip Wadler},+ title = {Call-by-value is Dual to Call-by-name -- Reloaded},+ howpublished = {World Wide Web,+ \url{http://homepages.inf.ed.ac.uk/wadler/papers/dual/dual-reloaded.pdf}},+ month = jul,+ year = 2003+}++@article{Wadler2003Marriage,+ author = {Philip Wadler and Peter Thiemann},+ title = {The marriage of effects and monads},+ journal = {ACM Transactions on Computational Logic (TOCL)},+ volume = 4,+ number = 1,+ year = 2003,+ issn = {1529-3785},+ pages = {1--32},+ doi = {http://doi.acm.org/10.1145/601775.601776},+ publisher = ACM,+}++@InProceedings{Wallace2003LanguagesPackages,+ author = {Mark Wallace},+ title = {Languages versus Packages for Constraint Problem+ Solving},+ booktitle = {Ninth International Conference on Principles and+ Practice of Constraint Programming},+ pages = {37--52},+ year = 2003,+ editor = {Francesca Rossi},+ month = sep,+ publisher = SV+}++@inproceedings{Wan2000FRP,+ author = {Zhanyong Wan and Paul Hudak},+ title = {Functional reactive programming from first+ principles},+ booktitle = {Proceedings of the ACM SIGPLAN 2000 conference on+ Programming language design and implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {242--252},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349331},+ publisher = ACM,+}++@article{ Wand1998theory,+ author = "Mitchell Wand",+ title = "The Theory of Fexprs is Trivial",+ journal = "Lisp and Symbolic Computation",+ volume = 10,+ number = 3,+ pages = "189--199",+ year = 1998,+ url = "citeseer.ist.psu.edu/wand98theory.html"+}++@Proceedings{Watt2000CC,+ title = {Compiler Construction -- 9th International+ Conference, CC 2000},+ year = 2000,+ editor = {David A. Watt},+ address = {Berlin, Germany},+ month = mar # "/" # apr+}++@InProceedings{Welch2002SecurityAspects,+ author = {Ian S. Welch and Robert J. Stroud},+ title = {Security and Aspects: A Metaobject Protocol+ Viewpoint},+ booktitle = {Proceedings of ACP4IS'02},+ year = 2002,+ address = {Enschede, The Netherlands}+}++@InProceedings{Wells2000Modules,+ author = {J. B. Wells and Ren{\'e} Vestergaard},+ title = {Equational Reasoning for Linking with First-Class+ Primitive Modules},+ crossref = {Smolka2000ESOP},+ pages = {412--428}+}++@InProceedings{Westbrook1999Teaching,+ author = {D. Suzanne Westbrook},+ title = {A Multiparadigm Language Approach to Teaching+ Principles of Programming Languages},+ booktitle = {29th ASEE/IEEE Frontiers in Education},+ year = 1999,+ month = nov+}++@Book{Wikstroem1987FPUsingSML,+ author = {{\AA}ke Wikstr{\"o}m},+ title = {Functional Programming Using Standard ML},+ publisher = PH,+ year = 1987+}++@InProceedings{Wilson1992PointerSwizzling,+ author = "Paul R. Wilson and Sheetal V. Kakkad",+ title = "Pointer Swizzling at Page Fault Time: Efficiently+ and Compatibly Supporting Huge Address Spaces on+ Standard Hardware",+ booktitle = "1992 Int. Workshop on Object Orientation and+ Operating Systems",+ publisher = "IEEE Comp. Society Press",+ address = "Dourdan (France)",+ pages = "364--377",+ year = 1992,+ url = "citeseer.nj.nec.com/wilson92pointer.html"+}++@InProceedings{Wilson1993RealTimeNonCopying,+ author = {Paul R. Wilson and Mark S. Johnstone},+ title = {Real-Time Non-Copying Garbage Collection},+ booktitle = {ACM OOPSLA Workshop on Memory Management and Garbage+ Collection},+ year = 1993+}++@InProceedings{Wilson1995DynamicStorageAllocation,+ author = {Paul R. Wilson and Mark S. Johnstone and Michael+ Neely and David Boles},+ title = {Dynamic Storage Allocation: A Survey and Critical+ Review},+ booktitle = {Proceedings 1995 International Workshop on Memory+ Management},+ year = 1996,+ series = LNCS,+ publisher = SV+}++@TechReport{Wright1993PolymorphismImperative,+ author = {Andrew K. Wright},+ title = {Polymorphism for Imperative Languages without+ Imperative Types},+ institution = {Rice University},+ year = 1993,+ number = {TR93-200},+ month = feb+}++@Book{Wright1994TCPIP,+ author = {Gary R. Wright and W. Richard Stevens},+ title = {TCP/IP Illustrated},+ publisher = AW,+ year = 1994,+ volume = {2: The Implementation},+ series = {Professional Computing Series}+}++@article{Wright1995SimpleImperativePolymorphism,+ author = "Andrew K. Wright",+ title = "Simple Imperative Polymorphism",+ journal = "Lisp and Symbolic Computation",+ volume = 8,+ number = 4,+ pages = "343--355",+ year = 1995,+ url = "citeseer.nj.nec.com/wright95simple.html"+}++@inproceedings{ Xi1998EliminatingArrayBoundChecking,+ author = "Hongwei Xi and Frank Pfenning",+ title = "Eliminating Array Bound Checking Through Dependent+ Types",+ booktitle = "{SIGPLAN} Conference on Programming Language Design+ and Implementation",+ pages = "249-257",+ year = 1998,+ url = "citeseer.nj.nec.com/xi98eliminating.html"+}++@inproceedings{ Xi2000ImperativeDependent,+ author = "Hongwei Xi",+ title = "Imperative Programming with Dependent Types+ (Extended Abstract)",+ booktitle = "Logic in Computer Science",+ pages = "375-387",+ year = 2000,+ url = "citeseer.nj.nec.com/xi00imperative.html"+}++@Article{Zave1989Compositional,+ author = {Pamela Zave},+ title = {A Compositional Approach to Multiparadigm+ Programming},+ journal = {IEEE Software},+ year = 1989,+ volume = 6,+ number = 5,+ pages = {15--25},+ month = sep+}++@InProceedings{Zenger2001JaCo,+ author = {Matthias Zenger and Martin Odersky},+ title = {Implementing Extensible Compilers},+ crossref = {Striegnitz2001MPOOL},+ booktitle = {Multiparadigm Programming with Object-Oriented+ Languages (MPOOL)},+ pages = {61--80},+ year = 2001+}++@InProceedings{Zhang2003TinyC,+ author = {Charles Zhang and Hans-Arno Jacobsen},+ title = {{TinyC$^2$: Towards Building a dynamic weaving+ aspect aspect language for C}},+ crossref = {Leavens2003FOAL}+}++@inproceedings{ abdennadher01:jack:inp,+ author = {Slim Abdennadher and Ekkerhard Kr{\"a}mer and+ Matthias Saft and Matthias Schmauss},+ title = {{JACK}: A {Java} Constraint Kit},+ abstract = {Most existing libraries providing constraint+ facilities are embedded in the logic programming+ language, Prolog, or in the object-oriented+ language, C++. Recently, some proposals have been+ made to integrate constraint handling in Java. The+ goal of this work is to provide a new constraint+ library for Java, called JACK. It consists of a+ high-level language for writing constraint solvers,+ a generic search engine and a tool to visualize the+ simplification and propagation of constraints.},+ booktitle = {WFLP 2001},+ year = 2001,+ month = sep,+ publisher = {University of Kiel; Technical Report No. 2017},+ url = {citeseer.nj.nec.com/abdennadher01jack.html},+ url =+ {http://www.pms.informatik.uni-muenchen.de/mitarbeiter/abdennad/Publikationen/paperWLP.ps}+}++@misc{ bardou-roles,+ author = "Daniel Bardou",+ title = "Roles, Subjects and Aspects: How do they relate?",+ year = "????",+ url = "citeseer.nj.nec.com/413435.html"+}++@TechReport{bartakGrail,+ author = {Roman Bart{\'{a}}k},+ title = {Constraint Programming: In Pursuit of the Holy+ Grail},+ institution = {????},+ year = {19??}+}++@Misc{bartakHierarchies,+ author = {Roman Bart{\'{a}}k},+ title = {Guide to Constraint Programming: Algorithms for+ Solving Constraint Hierarchies},+ howpublished = {World Wide Web},+ year = 1998,+ note =+ {\url{http://kti.ms.mff.cuni.cz/~bartak/constraints/ch_solvers.html}, last visited: 2003-02-24}+}++@Misc{bartakHierarchies1,+ author = {Roman Bart{\'{a}}k},+ title = {Guide to Constraint Programming: Constraint+ Hierarchies},+ howpublished = {World Wide Web},+ NOTE =+ {\url{http://kti.ms.mff.cuni.cz/~bartak/constraints/hierarchies.html}, last visited: 2003-02-24},+ YEAR = 1998+}++@TechReport{bartakPropagation,+ author = {Roman Bart{\'{a}}k},+ title = {Theory and Practice of Constraint Propagation},+ institution = {????},+ year = {19??}+}++@TechReport{bbms-TR1999/19,+ author = {G.J. Badros and A. Borning and K. Marriott and+ P.J. Stuckey},+ year = 1999,+ title = {Constraint Cascading Style Sheets for the Web},+ institution = {University of Washington},+ number = {UW CSE 99-05-01}+}++@InProceedings{benson90kaleidoscope,+ author = {Bjorn Freeman-Benson},+ title = {Kaleidoscope: Mixing Objects, Constraints, and+ Imperative Programming},+ booktitle = {Proceedings of the ECOOP/OOPSLA '90 Joint Conference+ on Object-Oriented Programming},+ year = 1990+}++@PhdThesis{benson91cip,+ author = {B. N. Freeman-Benson},+ title = {Constraint Imperative Programming},+ school = {University of Washington, Dept. of Computer Science+ and Engineering},+ year = 1991,+ month = jul+}++@inproceedings{ benson92int,+ author = "Bjorn N. Freeman-Benson",+ title = "Integrating Constraints with an Object-Oriented+ Language",+ booktitle = "Proceedings of the 1992 European Conference on+ Object-Oriented Programming",+ address = "New York, NY",+ pages = "268--286",+ year = 1992+}++@inproceedings{benton00monads,+ author = {Nick Benton and Andrew Kennedy},+ title = {Monads, Effects and Transformations},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 26,+ publisher = {Elsevier},+ editor = {Andrew Gordon and Andrew Pitts},+ year = 2000+}++@Misc{bilsonOverload,+ author = {Richard C. Bilson},+ title = {Algorithms for Overload Resolution},+ howpublished = {World Wide Web},+ month = {September},+ year = 2001,+ note = {Available from:+ {http://plg.uwaterloo.ca/~rcbilson/cforall/overload.html},+ last visited: 2003-02-24}+}++@misc{ blume-refining,+ author = "Matthias Blume",+ title = "Refining Hygienic Macros for Modules and Separate+ Compilation",+ url = "citeseer.nj.nec.com/12450.html"+}++@inproceedings{blume01no-longer-foreign,+ author = {Matthias Blume},+ title = {No-Longer-Foreign: Teaching an ML compiler to speak+ C "natively"},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 59,+ issue = 1,+ publisher = {Elsevier},+ editor = {Nick Benton and Andrew Kennedy},+ year = 2001+}++@inproceedings{ boortz97compacting,+ author = "Kent Boortz and Dan Sahlin",+ title = "A Compacting Garbage Collector for Unidirectional+ Heaps",+ booktitle = "Implementation of Functional Languages",+ pages = "358-",+ year = 1997,+ url = "citeseer.nj.nec.com/boortz97compacting.html"+}++@InProceedings{borning2000splitstay,+ author = {Alan Borning and Greg J. Badros},+ title = {On Finding Graphically Plausible Solutions to+ Constraint Hierarchies: The Split Stay Problem},+ booktitle = {Workshop on Soft Constraints: Theory and Practice,+ Sixth International Conference on Principles and+ Practice of Constraint Programming},+ year = 2000,+ month = sep+}++@PhdThesis{borning79thinglab,+ author = {Alan Borning},+ title = {ThingLab---A constraint-oriented simulation+ laboratory},+ school = {Stanford},+ year = 1979,+ month = mar,+ note = {A revised version is published as Xerox Palo Alto+ Research Center Report SSL-79-3, July 1979}+}++@Article{ borning92constrainthierarchies,+ author = {Alan Borning and Bjorn Freeman-Benson and Molly+ Wilson},+ title = {Constraint Hierarchies},+ journal = {Lisp and Symbolic Computation},+ year = 1992,+ volume = 5,+ pages = {223-270}+}++@InProceedings{borning95oti,+ author = {Alan Borning and Bjorn Freeman-Benson},+ title = {The {OTI} Constraint Solver: A Constraint Library+ for Constructing Interactive Graphical User+ Interfaces},+ booktitle = {Proceedings of the First International Conference on+ Principles and Practice of Constraint Programming},+ pages = {624--628},+ year = 1995,+ month = sep+}++@TechReport{borning96indigo,+ author = {Alan Borning and Richard Anderson and Bjorn+ Freeman-Benson},+ title = {The {Indigo} Algorithm},+ institution = {Dept. of Computer Science and Engineering,+ University of Washington},+ year = 1996,+ number = {96-05-01},+ month = jul+}++@Article{borning98ultraviolet,+ author = {Alan Borning and Bjorn Freeman-Benson},+ title = {Ultraviolet: A Constraint Satisfaction Algorithm for+ Interactive Graphics},+ journal = {Constraints},+ year = 1998,+ volume = 3,+ number = 3,+ pages = {1--26}+}++@inproceedings{ boyapati01racetypes,+ author = "Chandrasekhar Boyapati and Martin Rinard",+ title = "A parameterized type system for race-free {Java}+ programs",+ booktitle = "16th Annual Conference on Object-Oriented+ Programming, Systems, Languages, and Applications+ (OOPSLA)",+ address = "Tampa Bay, FL",+ year = "October 2001",+ url = "citeseer.nj.nec.com/boyapati01parameterized.html"+}++@inproceedings{ bruggeman96representing,+ author = "Carl Bruggeman and Oscar Waddell and R. Kent Dybvig",+ title = "Representing Control in the Presence of One-Shot+ Continuations",+ booktitle = "{SIGPLAN} Conference on Programming Language Design+ and Implementation",+ pages = "99-107",+ year = 1996,+ url = "citeseer.nj.nec.com/bruggeman96representing.html"+}++@Article{budd94leda,+ author = {Timothy A. Budd},+ title = {Blending Imperative and Relational Programming},+ journal = {IEEE Software},+ year = 1991,+ volume = 8,+ number = 1,+ month = jan+}++@Book{budd95mppil,+ author = {Timothy A. Budd},+ title = {Multiparadigm Programming in Leda},+ publisher = AW,+ year = 1995+}+ +@TechReport{buddGeneral,+ author = {Timothy A. Budd and Timothy P. Justice and Rajeev+ K. Pandey},+ title = {General-Purpose Multiparadigm Programming Languages:+ An Enabling Technology for Constructing Complex+ Systems},+ institution = {Oregon State University, Department of Computer+ Science},+ year = 1995,+ number = {95-60-04}+}++@TechReport{bueno02ciao,+ author = {F. Bueno and D. Cabeza and M. Carro and+ M. Hermenegildo and P. Lopez and G. Puebla},+ title = {The {Ciao} Prolog System},+ institution = {The CLIP Group, School of Computer Science,+ Technical University of Madrid},+ year = 2002,+ number = {CLIP 3/97.1},+ note = {Available from:+ {http://clip.dia.fi.upm.es/Software/Ciao/ciao.pdf},+ last visited: 2003-02-24}+}++@Article{chakravarty97goffin,+ author = {Manuel M. T. Chakravarty and Yike Guo and Martin+ K\"ohler and Hendrik C. R. Lock},+ title = {Goffin: Higher-Order Functions Meet Concurrent+ Constraints},+ journal = {Elsevier Science},+ year = 1997,+ volume = 29,+ note = {Special issue of ``Science of Computer+ Programming''}+}++@inproceedings{ chakravarty99lazy,+ author = "Manuel M. T. Chakravarty",+ title = "Lazy Lexing is Fast",+ booktitle = "Fuji International Symposium on Functional and Logic+ Programming",+ pages = "68-84",+ year = 1999,+ url = "citeseer.nj.nec.com/chakravarty99lazy.html"+}++@inproceedings{ chamberlain99regions,+ author = "Bradford L. Chamberlain and E. Christopher Lewis and+ Calvin Lin and Lawrence Snyder",+ title = "Regions: an abstraction for expressing array+ computation",+ booktitle = "{APL}",+ pages = "41-49",+ year = 1999,+ url = "citeseer.nj.nec.com/286983.html"+}++@Article{Cheney1970CompactionAlgorithm,+ author = {C. J. Cheney},+ title = {A non-recursive list compaction algorithm},+ journal = CACM,+ year = 1970,+ volume = 13,+ number = 11,+ pages = {677--678},+ month = nov+}++@article{ clinger91macros,+ author = "William Clinger",+ title = "Macros In Scheme",+ journal = "Lisp Pointers",+ volume = "IV",+ number = 4,+ month = "-",+ publisher = "ACM",+ pages = "25--28",+ year = 1991,+ url = "citeseer.nj.nec.com/clinger91macros.html"+}++@inproceedings{ clinger97generational,+ author = "William D. Clinger and Lars T. Hansen",+ title = "Generational Garbage Collection and the Radioactive+ Decay Model",+ booktitle = "{SIGPLAN} Conference on Programming Language Design+ and Implementation",+ pages = "97-108",+ year = 1997,+ url = "citeseer.nj.nec.com/clinger97generational.html"+}++@Article{colmerauer90prologIII,+ author = {Alain Colmerauer},+ title = {An introduction to {P}rolog {III}},+ journal = {Communications of the ACM},+ year = 1990,+ volume = 33,+ number = 7,+ pages = {69--90},+ month = jul,+ issn = {0001-0782},+ doi = {http://doi.acm.org/10.1145/79204.79210},+ publisher = ACM+}++@misc{ cooper-linear,+ author = "Stephen Cooper",+ title = "On Linear Types and Imperative Update",+ year = "????",+ url = "citeseer.nj.nec.com/cooper97linear.html"+}++@Article{cras93review,+ author = {J.-Y. Cras},+ title = {A Review of Industrial Constraint Solving Tools},+ journal = {AI Intelligence},+ year = 1993,+ isbn = {1-898804-001}+}++@Book{cunningham01wiki,+ author = {Bo Leuf and Ward Cunningham},+ title = {The Wiki Way: Collaboration and Sharing on the+ Internet },+ publisher = AW,+ year = 2001+}++@inproceedings{danvy00proving,+ author = {Olivier Danvy and Belmina Dzafic and Frank Pfenning},+ title = {On proving syntactic properties of CPS programs},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 26,+ publisher = {Elsevier},+ editor = {Andrew Gordon and Andrew Pitts},+ year = 2000+}++@inproceedings{ darlington92new,+ author = "John Darlington and Yi{-}ke Guo and Helen Pull",+ title = "A New Perspective on Integrating Functional and+ Logic Languages",+ booktitle = "Proceedings of the International Conference on Fifth+ Generation Computer Systems",+ publisher = "Association for Computing Machinery",+ address = "ICOT, Japan",+ pages = "682--693",+ year = 1992,+ url = "citeseer.nj.nec.com/darlington92new.html"+}++@Unpublished{deVolderLogicMetaProgramming,+ author = {Kris De Volder and Johan BrichauKim Mens and Theo+ D'Hondt},+ title = {Logic Meta Programming, a Framework for+ Domain-Specific Aspect Languages},+ note =+ {http://www.cs.ubc.ca/\~{}kdvolder/binaries/cacm-aop-paper.pdf}+}++@TechReport{demoenPoly,+ author = {Bart Demoen and Maria Garcia de la Banda and Peter+ J. Stuckey},+ title = {Type Constraint Solving for Parametric and Ad-hoc+ Polymorphism},+ institution = {????},+ year = {19??}+}++@misc{ dube-bit,+ author = "Danny Dube",+ title = "BIT: A Very Compact Scheme System for Embedded+ Applications",+ url = "citeseer.nj.nec.com/dube00bit.html"+}++@misc{ durfee-model,+ author = "Glenn Durfee",+ title = "A Model for a List-oriented Extension of the Lambda+ Calculus",+ url = "citeseer.nj.nec.com/durfee97model.html"+}++@Misc{dwds,+ author = {{Berlin-Brandenburgische Akademie der+ Wissenschaften}},+ title = {{Das digitale W{\"o}rterbuch der deutschen Sprache+ des 20. Jahrhunderts}},+ howpublished = {World Wide Web},+ month = jul,+ year = 2003,+ note = {Available from: \url{http://www.dwds.de}, last+ visited: 2003-07-28}+}++@TechReport{dybvig90destination,+ author = {R. Kent Dybvig and Robert Hieb and Tom Butler},+ title = {Destination-Driven Code Generation},+ institution = {Indiana University Computer Science Department},+ year = 1990,+ number = 302,+ month = feb+}++@article{ dybvig90new,+ author = "R. Kent Dybvig and Robert Hieb",+ title = "A New Approach to Procedures with Variable Arity",+ journal = "Lisp and Symbolic Computation: An International+ Journal",+ volume = 3,+ number = 3,+ publisher = "Kluwer Academic Publishers",+ pages = "229--244",+ year = 1990,+ url = "citeseer.nj.nec.com/dybvig90new.html"+}++@techreport{ dybvig92writing,+ author = "R. Kent Dybvig",+ title = "Writing hygienic macros in Scheme with syntax-case.",+ number = 356,+ pages = 31,+ year = 1992,+ month = jun,+ url = "citeseer.nj.nec.com/dybvig92writing.html"+}++@TechReport{feeley97compilingtoc,+ author = {Marc Feeley and James S. Miller and Guillermo+ J. Rozas and Jason A. Wilson},+ title = {Compiling Higher-Order Languages into Fully+ Tail-Recursive Portable {C}},+ institution = {D\'epartement d'informatique et de recherche+ op\'erationelle, Universit\'e de Montr\'eal},+ year = 1997,+ number = 1078,+ month = aug+}++@Article{fikes70refarf,+ author = {R. E. Fikes},+ title = {{REF-ARF}: A System for solving problems stated as+ procedures },+ journal = {Artificial Intelligence 1},+ year = 1970,+ pages = {27--120}+}++@incollection{ filinski94representing,+ author = "Andrzej Filinski",+ title = "Representing Monads",+ booktitle = "Conf.\ Record 21st {ACM} {SIGPLAN}-{SIGACT} Symp.\+ on Principles of Programming Languages, {POPL}'94,+ Portland, {OR}, {USA}, 17--21 Jan.\ 1994",+ publisher = ACM,+ address = "New York",+ pages = "446--457",+ year = 1994,+ url = "citeseer.nj.nec.com/filinski94representing.html"+}++@misc{ filman00aspectoriented,+ author = "R. Filman and D. Friedman",+ title = "Aspect-Oriented Programming is Quantification and+ Obliviousness",+ text = "R.E. Filman and D.P. Friedman, Aspect-Oriented+ Programming is Quantification and Obliviousness,+ Workshop on Advanced Separation of Concerns, OOPSLA+ 2000, October 2000,+ Minneapolis. http://ic-www.arc.nasa.gov/ic/+ darwin/oif/leo/filman/text/oif/aop-is.pdf",+ year = 2000,+ url = "citeseer.nj.nec.com/filman00aspectoriented.html"+}++@incollection{Flanagan1993EssenceContinuations,+ author = "Cormac Flanagan and Amr Sabry and Bruce F. Duba and+ Matthias Felleisen",+ title = "The Essence of Compiling with Continuations",+ booktitle = "Proceedings {ACM} {SIGPLAN} 1993 Conference on+ Programming Language Design and Implementation,+ {PLDI}'93, Albuquerque, {NM}, {USA}, 23--25 June+ 1993",+ volume = "28(6)",+ publisher = ACM,+ address = "New York",+ pages = "237--247",+ year = 1993+}++@InProceedings{freemanbenson90design,+ author = {Bjorn N. Freeman-Benson and Alan Borning},+ title = {The Design and Implementation of {Kaleidoscope'90},+ A Constraint Imperative Programming Language},+ booktitle = {Proc. of the IEEE Computer Society 1992 Int'l+ Conference on Computer Languages},+ pages = {174-180},+ year = 1992,+ month = apr+}++@Article{freemanbenson90incremental,+ author = {Bjorn N. Freeman-Benson and John Maloney and Alan+ Borning},+ title = {An Incremental Constraint Solver},+ journal = CACM,+ year = 1990,+ volume = 33,+ number = 1,+ pages = {54--62},+ month = jan+}++@Book{fruehwirth97ConstraintProgrammierung,+ author = {Thom Fr{\"u}hwirth and Slim Abdennadher},+ title = {Constraint-Programmierung},+ publisher = SV,+ year = 1997+}++@Article{fruehwirth98chr,+ author = {Thom Fr{\"u}hwirth},+ title = {Theory and Practice of Constraint Handling Rules},+ journal = {Journal of Logic Programming},+ year = 1998,+ volume = 37,+ number = {1--3},+ pages = {95--138},+ month = oct+}++@InProceedings{fruehwirthAnwendungen,+ author = {Thom Fr{\"u}hwirth and Slim Abdennadher},+ title = {{Anwendungen Constraintbasierter Programmierung}},+ booktitle = {Informatik '97, Informatik als Innovationsmotor,+ 27. Jahrestagung der Gesellschaft f{\"u}r+ Informatik},+ pages = {317--326},+ year = 1997,+ editor = {Matthias Jarke and Klaus Pasedach and Klaus Pohl},+ series = {Informatik Aktuell},+ publisher = SV+}++@TechReport{fruewirth93clp,+ author = {T. Fr{\"u}hwirth and A. Herold and V. K{\"u}chenhoff+ and T. {Le Provost} and P. Lim and E. Monfroy and+ M. Wallace},+ title = {Constraint logic programming: An informal+ introduction},+ institution = {ECRC},+ year = 1993,+ number = {ECRC-93-5}+}++@TechReport{garciaHAL,+ author = {Maria Garcia de la Banda and David Jeffery and Kim+ Mariott and Nicholas Nethercote and Peter J. Stuckey+ and Christian Holzbaur},+ title = {Building Constraint Solvers with {HAL}},+ institution = {???},+ year = {19??}+}++@inproceedings{ gill93,+ pages = "223--232",+ year = 1993,+ title = "A Short Cut to Deforestation",+ author = "Andrew Gill and John Launchbury and Peyton Jones,+ Simon L.",+ month = "June",+ booktitle = "Conference on Functional Programming Languages and+ Computer Architecture",+ url = "citeseer.nj.nec.com/gill93short.html"+}++@misc{ glauert-multiparadigm,+ author = "J.R.W. Glauert",+ title = "Multi-Paradigm Programming through Graph Rewriting: Case for Support",+ OPTurl = "citeseer.nj.nec.com/2438.html" }+++@Misc{gnuProlog,+ author = {Daniel Diaz},+ title = {{GNU} {Prolog}: A Native {Prolog} Compiler with+ Constraint Solving over Finite Domains},+ howpublished = {World Wide Web},+ month = sep,+ year = 2002,+ note = {Available from:+ \url{http://pauillac.inria.fr/~diaz/gnu-prolog/manual/index.html},+ last visited: 2003-02-24}+}++@Book{Goldberg1983Smalltalk,+ author = {Adele Goldberg and David Robson},+ title = {Smalltalk-80: The Language and its Implementation},+ publisher = AW,+ year = 1983+}++@misc{ graunke-advanced,+ author = "Paul T. Graunke and Shriram Krishnamurthi",+ title = "Advanced Control Flows for Flexible Graphical User+ Interfaces or, Growing GUIs on Trees or, Bookmarking+ GUIs",+ url = "citeseer.nj.nec.com/552421.html"+}++@Book{grune00compilerdesign,+ author = {Dick Grune and Henri E. Bal and Ceriel J. H. Jacobs+ and Koen G. Langendoen},+ title = {Modern Compiler Design},+ publisher = Wiley,+ year = 2000+}++@techreport{ guo93falcon,+ author = "Yi{-}ke Guo and Helen Pull",+ title = "{FALCON}: {F}unctional {A}nd {L}ogic language with+ {CON}straints--Language Definition",+ year = 1993,+ institution = "Imperial College London",+ url = "citeseer.nj.nec.com/guo93falcon.html"+}++@article{ hall96type,+ author = "Cordelia V. Hall and Kevin Hammond and Simon+ L. Peyton Jones and Philip L. Wadler",+ title = "Type Classes in {H}askell",+ journal = TOPLAS,+ volume = 18,+ number = 2,+ month = mar,+ publisher = ACM,+ pages = "109--138",+ year = 1996,+ url = "citeseer.nj.nec.com/hall96type.html"+}++@inproceedings{harveyCompiling,+ author = {Warwick Harvey and Peter J. Stuckey and Alan+ Borning},+ title = {Compiling constraint solving using projection},+ booktitle = {Proceedings of the Third International Conference on+ Principles and Practices of Constraint Programming},+ year = 1997,+ month = oct,+ publisher = SV,+ series = LNCS,+ editor = {G. Smolka},+ pages = {491-505},+ url = {citeseer.nj.nec.com/harvey97compiling.html},+ url = + {http://www.cs.mu.oz.au/publications/tr_db/mu_97_06.ps.gz AND http://www.cs.washington.edu/research/constraints/solvers/cp97.html}+}++@misc{ hilsdale-writing,+ author = "Erik Hilsdale and Daniel P. Friedman",+ title = "Writing Macros in Continuation-Passing Style",+ url = "citeseer.nj.nec.com/hilsdale00writing.html"+}++@InProceedings{hosobe94locally,+ author = {Hiroshi Hosobe and Ken Miyashita and Shin Takahashi+ and Satoshi Matsuoka and Akinori Yonezawa},+ title = {Locally Simultaneous Constraint Satisfaction},+ booktitle = {PPCP'94},+ pages = {51--61},+ year = 1994,+ number = 874,+ series = LNCS,+ month = oct+}++@inproceedings{ hosobe96generalized,+ author = "Hiroshi Hosobe and Satoshi Matsuoka and Akinori+ Yonezawa",+ title = "Generalized Local Propagation: A Framework for+ Solving Constraint Hierarchies",+ booktitle = "Principles and Practice of Constraint Programming",+ pages = "237-251",+ year = 1996,+ url = "citeseer.nj.nec.com/hosobe96generalized.html"+}++@inproceedings{housel01towards,+ author = {Peter Housel and Christian Stork and Vivek Haldar+ and Niall Dalton and Michael Franz},+ title = {Towards Language-Agnostic Mobile Code},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 59,+ issue = 1,+ publisher = {Elsevier},+ editor = {Nick Benton and Andrew Kennedy},+ year = 2001+}++@Misc{ilogwww,+ author = {ILOG},+ title = {ILOG Web Site},+ howpublished = {World Wide Web},+ month = feb,+ year = 2003,+ note = {Available from: \url{http://www.ilog.com}, last+ visited: 2003-02-24}+}++@InProceedings{jaffar87clp,+ author = {Joxan Jaffar and Jean-Louis Lassez},+ title = {Constraint Logic Programming},+ booktitle = {Conference Record of the Fourteenth Annual ACM+ Symposium on Principles of Programming Languages},+ pages = {111--119},+ year = 1987,+ volume = 14,+ month = jan,+ organization = {ACM},+ publisher = ACM+}++@Article{jaffar94clpsurvey,+ author = {J. Jaffar and M. Maher},+ title = {Constraint logic programming: A Survey},+ journal = {Journal of Logic Programming 19/20},+ year = 1994,+ pages = {503--581}+}++@inproceedings{ janson91programming,+ author = "Janson, Sverker and Haridi, Seif",+ title = "Programming Paradigms of the {A}ndorra Kernel+ Language",+ booktitle = "Logic Programming, Proceedings of the 1991+ International Symposium",+ publisher = MIT,+ address = "San Diego, USA",+ editor = "Saraswat, Vijay and Ueda, Kazunori",+ pages = "167--186",+ year = 1991,+ url = + "citeseer.nj.nec.com/article/janson91programming.html"+}++@PhdThesis{janson94akl,+ author = {Sverker Janson},+ title = {{AKL}---A Multiparadigm Programming Language},+ school = {Uppsala University},+ year = 1994,+ month = jun,+ note = {Also available as SICS Dissertation Series 14}+}++@PhdThesis{jansson-phdthesis,+ author = {Jansson, Patrik},+ title = {Functional Polytypic Programming},+ school = {Computing Science, Chalmers University of Technology+ and G{\"o}teborg University, Sweden},+ month = may,+ isbn = {91-7197-895-X},+ year = 2000+}++@inproceedings{ joachim95constraints,+ author = "Niehren, Joachim and Mueller, Martin",+ title = "{C}onstraints for {F}ree in {C}oncurrent+ {C}omputation",+ booktitle = "Asian Computing Science Conference",+ volume = 1023,+ month = "December",+ publisher = SV,+ editor = "Kanchanasut, Kanchana and Levy, Jean-Jaques",+ pages = "171--186",+ year = 1995,+ url = "citeseer.nj.nec.com/niehren95constraints.html"+}++@Book{jones96gc,+ author = {Richard Jones and Rafael Lins},+ title = {Garbage Collection---Algorithms for Automatic+ Dynamic Memory Management},+ publisher = {John Wiley {\&} Sons},+ year = 1996,+ address = {Chichester}+}++@inproceedings{ jones99portable,+ author = "Simon {Peyton Jones} and Norman Ramsey and Fermin+ Reig",+ title = "{C}--: a Portable Assembly Language that Supports+ Garbage Collection",+ booktitle = "International Conference on Principles and Practice+ of Declarative Programming",+ year = 1999,+ url = "citeseer.nj.nec.com/239439.html"+}++@inproceedings{kakk98,+ author = {Sheetal V. Kakkad and Mark S. Johnstone and Paul+ R. Wilson },+ title = {Portable Run-Time Type Description for Conventional+ Compilers},+ pages = {146--153},+ crossref = {ISMM98},+ abstract = {Many useful programming language extensions and+ support libraries require knowledge of the locations+ of fields within objects at run time. Examples+ include orthogonal persistent object stores, precise+ garbage collectors, data structure picklers and+ parameter marshaling schemes. For clean and+ efficient implementation as libraries, these systems+ require run-time knowledge of in-memory layouts of+ data objects, which is unavailable in most+ traditionally-compiled and linked programming+ languages, such as C, C++, and Ada. Even C++'s+ recently-standardized run-time type identification+ (RTTI) feature is insufficient, because it describes+ language-level features of the type hierarchy and+ not compiler-dependent object layout decisions. We+ present a facility for run-time type description or+ RTTD, which extracts low-level layout information+ from debugging information generated by conventional+ compilers, and makes it available to user+ programs. We believe this to be the simplest and+ most portable approach to run-time type description,+ requiring no changes to existing compilers. In this+ paper, we describe the basic strategies and present+ details of our implementation for C++. We also+ sketch some extensions that we have implemented,+ including special treatment of C++'s virtual+ function table pointers to match persistent or+ foreign data objects with the actual code in a+ particular application. Our implementation of+ run-time type description is freely available. It is+ in regular use with multiple operating systems and+ compilers, in both free and commercial products,+ including a high-performance persistent object+ storage system for C++ and a real-time garbage+ collector. }+}++@book{karl:demeter,+ AUTHOR = "Karl J. Lieberherr",+ TITLE = "Adaptive Object-Oriented Software: The Demeter+ Method with Propagation Patterns",+ PUBLISHER = "PWS Publishing Company, Boston",+ YEAR = 1996,+ NOTE = "ISBN 0-534-94602-X"+}++@inproceedings{ kelsey89realistic,+ author = "Richard Kelsey and Paul Hudak",+ title = "Realistic Compilation by Program Transformation",+ booktitle = "Conference Record of the Sixteenth Annual {ACM}+ Symposium on Principles of Programming Languages",+ address = "Austin, Texas",+ pages = "281--292",+ year = 1989,+ url = "citeseer.nj.nec.com/kelsey89realistic.html"+}++@techreport{ kevin94imperate,+ author = "Kevin Hammond and Philip Wadler and Donald Brady",+ title = "{I}mperate: {B}e imperative",+ year = 94,+ institution = {Department of Computing Science, University of+ Glasgow},+ url = "citeseer.nj.nec.com/hammond91imperate.html"+}++@Misc{koalog,+ author = {Koalog},+ title = {Koalog Constraint Solver (v1.1 stable) Tutorial},+ howpublished = {World Wide Web},+ month = feb,+ year = 2003,+ note =+ {\url{http://www.koalog.com/resources/doc/jcs-tutorial.pdf}, last visited: 2003-02-24}+}++@Misc{koalogwww,+ author = {Koalog},+ title = {Koalog Web Site},+ howpublished = {World Wide Web},+ month = feb,+ year = 2003,+ note = {\url{http://www.koalog.com}, last visited:+ 2003-02-24}+}++@inproceedings{ krall98efficient,+ author = "Andreas Krall",+ title = "Efficient {JavaVM} Just-in-Time Compilation",+ booktitle = "International Conference on Parallel Architectures+ and Compilation Techniques",+ publisher = "North-Holland",+ address = "Paris",+ editor = "Jean-Luc Gaudiot",+ pages = "205--212",+ year = 1998,+ url = "citeseer.nj.nec.com/krall98efficient.html"+}++@InProceedings{lamport84aliasing,+ author = {Leslie Lamport and Fred B. Schneider},+ title = {Constraints: A Uniform Approach to Aliasing and+ Typing},+ booktitle = {Conference Record of the Twelfth Annual ACM+ Symposium on Principles of Programming Languages},+ pages = {205--216},+ year = 1984,+ volume = 12,+ month = jan,+ publisher = ACM+}++@inproceedings{ latendresse00automatic,+ author = "Mario Latendresse",+ title = "Automatic Generation of Compact Programs and Virtual+ Machines for Scheme",+ booktitle = "Proc. of the Workshop on Scheme and Functional+ Programming",+ year = 2000,+ url = "citeseer.nj.nec.com/latendresse00automatic.html"+}++@inproceedings{ launchbury93lazy,+ author = "J. Launchbury",+ title = "Lazy Imperative Programming",+ booktitle = "Proceedings of the {ACM} {SIGPLAN} Workshop on State+ in Programming Languages, Copenhagen, {DK}, {SIPL}+ '92",+ pages = "46--56",+ year = 1993,+ url = "citeseer.nj.nec.com/launchbury93lazy.html"+}++@Article{lauriere78alice,+ author = {J.-L. Lauriere},+ title = {A Language and a Program for Stating and Solving+ Combinatorial Problems},+ journal = {Artificial Intelligence 10},+ year = 1978,+ pages = {29--127}+}++@inproceedings{ lee00efficient,+ author = "SeungIl Lee and Byung-Sun Yang and Suhyun Kim and+ Seongbae Park and Soo-Mook Moon and Kemal Ebcioglu+ and Erik R. Altman",+ title = "Efficient Java exception handling in just-in-time+ compilation",+ booktitle = "Java Grande",+ pages = "1-8",+ year = 2000,+ url = "citeseer.nj.nec.com/article/lee00efficient.html"+}++@Book{leler87cp,+ author = {William Leler},+ title = {Constraint Programming Languages: Their+ Specification and Generation},+ publisher = AW,+ year = 1987+}++@PhdThesis{li95oocp,+ author = {Jiarong Li},+ title = {Object-oriented constraint programming for+ interactive applications},+ school = {Department of Numerical Analysis and Computing+ Science, Royal Institute of Technology},+ year = 1995,+ month = sep,+ url = {http://www.nada.kth.se/~li/thesis.html}+}++@misc{ locus-gold,+ author = "Dominique Boucher Locus",+ title = "GOld: a link-time optimizer for Scheme",+ url = "citeseer.nj.nec.com/395772.html"+}++@InProceedings{lopez94identity,+ author = {Gus Lopez and Bjorn Freeman-Benson and Alan Borning},+ title = {Constraints and object identity},+ booktitle = {Proceedings of the 1994 European Conference on+ Object-Oriented Programming},+ pages = {260--279},+ year = 1994,+ month = jul+}++@inproceedings{ lopez94implementing,+ author = "Gus Lopez and Bjorn N. Freeman-Benson and Alan+ Borning",+ title = "Implementing Constraint Imperative Programming+ Languages: the {Kaleidoscope'93} Virtual Machine",+ booktitle = "Proceedings of the 1994 ACM Conference on+ Object-Oriented Programming Systems, Languages, and+ Applications",+ pages = "259-271",+ year = 1994,+ month = oct,+ url = "citeseer.nj.nec.com/lopez94implementing.html"+}++@inproceedings{ lopez94kaleidoscope,+ author = "Gus Lopez and Bjorn Freeman-Benson and Alan Borning",+ title = "Kaleidoscope: {A} Constraint Imperative Programming+ Language",+ booktitle = "Constraint Programming: Proc. 1993 {NATO} {ASI}+ Parnu, Estonia",+ publisher = SV,+ editor = "B. Mayoh and E. Tyugu and J. Penjaam",+ isbn = "3-540-57859-5",+ pages = "305--321",+ year = 1994,+ url = "citeseer.nj.nec.com/lopez93kaleidoscope.html"+}++@PhdThesis{lopez97phd,+ author = {Gus Lopez},+ title = {The Design and Implementation of Kaleidoscope, A+ Constraint Imperative Programming Language},+ school = {University of Washington, Department of Computer+ Science and Engineering},+ year = 1997,+ month = jan+}++@misc{ marlow00writing,+ author = "S. Marlow",+ title = "Writing high-performance server applications in+ haskell",+ text = "Marlow, S., Writing high-performance server+ applications in haskell, case study: A haskell web+ server, in: G. Hutton, editor, Haskell Workshop,+ 2000.",+ year = 2000,+ url = "citeseer.nj.nec.com/marlow00writing.html"+}++@Book{marriot98programmingwithconstraints,+ author = {K. Marriot and P. J. Stuckey},+ title = {Programming with Constraints},+ publisher = MIT,+ year = 1998+}++@Article{mcaloon002lp,+ author = {Ken McAloon and Carol Tretkoff},+ title = {{2LP}: Linear Programming and Logic Programming},+ journal = {????},+ year = {19??}+}++@techreport{ mehl95amoz,+ author = "Michael Mehl and Ralf Scheidhauer and Christion+ Schulte",+ title = "An Abstract Machine for {Oz}",+ institution = "Deutsches Forschungszentrum f{\"u}r k{\"u}nstliche+ Intelligenz GmbH",+ year = 1995,+ month = nov+}++@TechReport{meier95debugging,+ author = {Micha Meier},+ title = {Debugging Constraint Programs},+ institution = {European Computer-Industry Research Center},+ year = 1995+}++@misc{ menzies93how,+ author = "T. Menzies and R. Spurret",+ title = "How to Edit it; or a Black-Box Constraint Based+ Framework for User Interaction with Arbitrary+ Structures",+ text = "T.J Menzies and R Spurret. How to Edit it; or a+ Black-Box Constraint Based Framework for User+ Interaction with Arbitrary Structures. In Tools+ Pacific 12, pages 213--224. Prentice Hall, 1993.",+ year = 1993,+ url = "citeseer.nj.nec.com/menzies93how.html"+}++@inproceedings{moggi00monadic,+ author = {E. Moggi and F. Palumbo},+ title = {Monadic Encapsulation of Effects: a Revised+ Approach},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 26,+ publisher = {Elsevier},+ editor = {Andrew Gordon and Andrew Pitts},+ year = 2000+}++@article{ moss97foundations,+ author = "Lawrence S. Moss and Norman Danner",+ title = "On the Foundations of Corecursion",+ journal = "Logic Journal of the IGPL",+ volume = 5,+ number = 2,+ pages = "231--257",+ year = 1997,+ url = "citeseer.nj.nec.com/moss97foundations.html"+}++@Book{Muchnick1997AdvancedCompiler,+ author = {Steven S. Muchnick},+ title = {Advanced Compiler Design and Implementation},+ publisher = {Morgan Kaufmann Publishers},+ year = 1997+}++@InProceedings{muller1995multiparadigmOz,+ author = {Martin M{\"u}ller and Tobias M{\"u}ller and Peter+ {Van Roy}},+ title = {Multiparadigm Programming in {Oz}},+ booktitle = {Visions for the Future of Logic Programming: Laying+ the Foundations for a Modern Successor of Prolog, A+ Workshop in association with ILPS'95},+ year = 1995,+ editor = {Donald Smith and Olivier Ridoux and Peter {Van Roy}},+ month = dec,+ url = + "citeseer.nj.nec.com/article/muller95multiparadigm.html"+}++@inproceedings{ pachet95mixing,+ author = "F. Pachet and P. Roy",+ title = "Mixing Constraints and Objects: {A} Case Study in+ Automatic Harmonization",+ booktitle = "Proceedings of {TOOLS}-Europe{'}95, Versailles,+ France",+ publisher = PH,+ editor = "I. Graham and B. Magnusson and J.-M. Nerson",+ pages = "119--126",+ year = 1995,+ url = "citeseer.nj.nec.com/5644.html"+}++@article{ pardo01fusion,+ author = "Alberto Pardo",+ title = "Fusion of recursive programs with computational+ effects",+ journal = "Theoretical Computer Science",+ volume = 260,+ number = "1--2",+ pages = "165--207",+ year = 2001,+ url = "citeseer.ist.psu.edu/pardo00fusion.html"+}++@incollection{ pardo98monadic,+ author = "Alberto Pardo",+ title = "Monadic Corecursion: Definition, Fusion Laws and+ Applications",+ booktitle = "Selected Papers 1st Workshop on Coalgebraic Methods+ in Computer Science, {CMCS}'98, Lisbon, Portugal,+ 28--29 March 1998",+ volume = 11,+ address = "Amsterdam",+ editor = "B. Jacobs and L. Moss and H. Reichel and J. Rutten",+ year = 1998,+ url = "citeseer.ist.psu.edu/pardo98monadic.html"+}++@article{placer1992g2,+ author = {John Placer},+ title = {Integrating Destructive Assignment and Lazy+ Evaluation in the Multiparadigm Language {G-2}},+ journal = SIGPLAN,+ volume = 27,+ number = 2,+ year = 1992,+ month = feb,+ issn = {0362-1340},+ pages = {65--74},+ doi = {http://doi.acm.org/10.1145/130973.130978},+ publisher = ACM,+}++@Proceedings{podelski94cp,+ title = {Constraint Programming: Basics and Trends},+ year = 1994,+ editor = {Andreas Podelski},+ number = 910,+ series = {Lecture Notes in Computer Science},+ publisher = SV+}++@inproceedings{ popovici02dynamic,+ author = "A. Popovici and T. Gross and G. Alonso",+ title = "Dynamic weaving for aspect oriented programming",+ booktitle = "Proceedings of the 1st International Conference on+ Aspect-Oriented Software Development",+ month = apr,+ year = 2002,+ url = "citeseer.nj.nec.com/popovici02dynamic.html"+}++@Article{radensky1990paslog,+ author = {Atanas Radensky},+ title = {Toward integration of the imperative and logic+ programming pa\-radigms: {Horn}-clause programming+ in the {Pascal} environment},+ journal = SIGPLAN,+ year = 1990,+ volume = 25,+ number = 2,+ pages = {25--34},+ month = feb+}++@inproceedings{ Reppy2001LocalCPS,+ author = "John Reppy",+ title = "Local {CPS} conversion in a direct-style compiler",+ booktitle = "Proceedings of the {Third} {ACM} {SIGPLAN}+ {Workshop} on {Continuations} ({CW}'01)",+ pages = "13--22",+ year = 2001,+ url = "citeseer.nj.nec.com/reppy01local.html"+}++@misc{ reynolds96design,+ author = "J. Reynolds",+ title = "Design of the programming language Forsythe",+ text = "John C. Reynolds. Design of the programming language+ Forsythe. Technical Report CMU-CS96 -146, Carnegie+ Mellon University, Pittsburgh, Pennsylvania, June+ 1996.",+ year = 1996,+ url = "citeseer.nj.nec.com/reynolds96design.html"+}++@TechReport{sannella92skyblue,+ author = {Michael Sannella},+ title = {The {SkyBlue} Constraint Solver},+ institution = {Dept. of Computer Science and Engineering,+ University of Washington},+ year = 1992,+ number = {92-0702},+ month = feb+}++@Book{saraswat93cc,+ author = {V. A. Saraswat},+ title = {Concurrent Constraint Programming},+ publisher = MIT,+ year = 1993+}++@TechReport{schimpf99search,+ author = {Joachim Schimpf and Kish Shen and Mark Wallace},+ title = {Tutorial on Search in ECLiPSe},+ institution = {Imperial College London},+ year = 1999+}++@inproceedings{Schinz2001TailCallElimination,+ author = {Michel Schinz and Martin Odersky},+ title = {Tail call elimination on the {Java} Virtual Machine},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 59,+ issue = 1,+ publisher = {Elsevier},+ editor = {Nick Benton and Andrew Kennedy},+ year = 2001+}++@article{ seligmann95incremental,+ author = "Jacob Seligmann and Steffen Grarup",+ title = "Incremental Mature Garbage Collection Using the+ Train Algorithm",+ journal = "Lecture Notes in Computer Science",+ volume = 952,+ pages = "235--??",+ year = 1995,+ url = "citeseer.nj.nec.com/seligmann95incremental.html"+}++@inproceedings{ Serrano1995Bigloo,+ author = "Manuel Serrano and Pierre Weis",+ title = "Bigloo: A Portable and Optimizing Compiler for+ Strict Functional Languages",+ booktitle = "Static Analysis Symposium",+ pages = "366-381",+ year = 1995,+ url = "citeseer.nj.nec.com/serrano95bigloo.html"+}++@misc{ Serrano1995FreshInlining,+ author = "M. Serrano",+ title = "A fresh look to inlining decision",+ text = "M. Serrano. A fresh look to inlining decision. In+ 4th International Computer Symposium (ICS'95),+ Mexico city, Mexico, November 1995.",+ year = 1995,+ url = "citeseer.nj.nec.com/serrano95fresh.html"+}++@inproceedings{ Serrano1997InlineExpansion,+ author = "Manuel Serrano",+ title = "Inline expansion: when and how?",+ booktitle = "Proceedings of the conference on Programming+ Languages, Implementation and Logic Programming.",+ address = "Shouthampton",+ pages = 15,+ year = 1997,+ url = "citeseer.nj.nec.com/serrano97inline.html"+}++@Article{ serrano:jfp00,+ author = {Manuel Serrano},+ title = {{B}ee: an {I}ntegrated {D}evelopment {E}nvironment+ for the {S}cheme {P}rogramming {L}anguage},+ journal = JFP,+ year = 2000,+ month = may,+ volume = 10,+ number = 2,+ pages = {1--43}+}++@inproceedings{shields01object-oriented,+ author = {Mark Shields and Simon Peyton Jones},+ title = {Object-Oriented Style Overloading for Haskell},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 59,+ issue = 1,+ publisher = {Elsevier},+ editor = {Nick Benton and Andrew Kennedy},+ year = 2001+}++@techreport{Shivers1996SupportingDynamic,+ author = "Olin Shivers",+ title = "Supporting dynamic languages on the {Java} virtual+ machine",+ number = "AIM-1576",+ institution = MITAI,+ pages = 9,+ year = 1996,+ url = "citeseer.nj.nec.com/shivers96supporting.html"+}++@techreport{ siskind91screamer,+ author = "Jeffrey Mark Siskind and David Allen McAllester",+ title = "Screamer: {A} Portable Efficient Implementation of+ Nondeterministic Common Lisp",+ number = "IRCS-93-03",+ address = "Philadelphia, PA",+ year = 1991,+ url = "citeseer.nj.nec.com/siskind93screamer.html"+}++@inproceedings{ siskind93nondeterministic,+ author = "Jeffrey Mark Siskind and David Allen McAllester",+ title = "Nondeterministic Lisp as a Substrate for Constraint+ Logic Programming",+ booktitle = "Proceedings of the Eleventh National Conference on+ Artificial Intelligence",+ publisher = "AAAI Press",+ address = "Menlo Park, California",+ editor = "Richard Fikes and Wendy Lehnert",+ year = 1993,+ url = "citeseer.nj.nec.com/siskind93nondeterministic.html"+}++@incollection{ smolka95:oz-programming:inc,+ author = {Gert Smolka},+ title = {The {Oz} Programming Model},+ booktitle = {Computer Science Today: Recent Trends and+ Developments},+ publisher = SV,+ year = 1995,+ address = {Berlin},+ editor = {Jan van Leeuwen},+ pages = {324-343},+ isbn = {3-540-60105-8},+ series = {Lecture Notes in Computer Science},+ volume = 1000,+ url = {citeseer.nj.nec.com/smolka95oz.html},+ url = {ftp://ftp.ps.uni-sb.de/pub/papers/ProgrammingSysLab/volume1000.ps.gz}+}++@techreport{ snyder90setl,+ author = "W. Kirk Snyder",+ title = "The {SETL2} Programming Language",+ number = 490,+ address = "251 Mercer St., New York, NY",+ year = 1990,+ institution = "New York University",+ url = "citeseer.nj.nec.com/snyder90setl.html"+}++@PhdThesis{steele80phd,+ author = {Guy L. {Steele, Jr.}},+ title = {The Definition and Implementation of a Computer+ Programming Language Based on Constraints},+ school = MIT,+ year = 1980,+ month = aug,+ note = {Published as MIT-AI TR 595}+}++@Book{steele90cl,+ author = {Guy Lewis Steele},+ title = {Common Lisp: The Language},+ publisher = {Digital Press},+ year = 1990,+ address = {Badford, Massachusetts},+ edition = {second}+}++@Book{Stroustrup1986Cplusplus,+ author = {Bjarne Stroustrup},+ title = {The C++ Programming Language},+ publisher = AW,+ year = 1986,+ address = {New York}+}++@Article{sussman80constraints,+ author = {G. J. Sussman and G. L. Steele},+ title = {CONSTRAINTS: A Language for Expressing+ Almost-Hierarchical Descriptions},+ journal = {Artificial Intelligence 14},+ year = 1980,+ pages = {1--39}+}++@InProceedings{sutherland63sketchpad,+ author = {Ivan Sutherland},+ title = {Sketchpad: A man-machine graphical communications+ system},+ booktitle = {Proceedings of the Spring Joint Computer Conference},+ pages = {329--345},+ year = 1963,+ series = {IFIPS}+}++@inproceedings{ Talpin1992TypeEffectDiscipline,+ author = "Jean-Pierre Talpin and Pierre Jouvelot",+ title = "The Type and Effect Discipline",+ booktitle = "Seventh Annual {IEEE} Symposium on Logic in Computer+ Science, Santa Cruz, California",+ publisher = "IEEE Computer Society Press",+ address = "Los Alamitos, California",+ pages = "162--173",+ year = 1992,+ url = "citeseer.nj.nec.com/article/talpin93type.html"+}++@misc{ Tammet-LambdaLifting,+ Author = "T. Tammet",+ title = "Lambda-lifting as an optimization for compiling+ {Scheme} to {C}",+ text = "Tanel Tammet. Lambda-lifting as an optimization for+ compiling scheme to C. Available from+ \url{ftp://www.cs.chalmers.edu/pub/users/tammet/www/hobbit.ps.}",+ url = "citeseer.nj.nec.com/14308.html"+}++@Article{Tarditi1992NoAsm,+ author = {David Tarditi and Peter Lee and Anurag Acharya},+ title = {No Assembly Required: Compiling {Standard} {ML} to+ {C}},+ journal = {ACM Letters on Programming Languages and Systems},+ year = 1992,+ volume = 1,+ number = 2,+ pages = {161--177},+ month = jun+}++@InProceedings{vanWeelden2002FunctionalOS,+ author = {Arjen van Weelden and Rinus Plasmeijer},+ title = {Towards a Strongly Typed Functional Operating+ System},+ booktitle = {Selected Papers Proceedings 14th International+ Workshop on the Implementation of Functional+ Languages, IFL 2002},+ year = 2002,+ volume = 2670,+ series = LNCS,+ address = {Madrid, Spain},+ month = sep # " 16--18"+}++@InProceedings{vanWeelden2002FunctionalShell,+ author = {Arjen {van Weelden} and Rinus Plasmeijer},+ title = {A Functional Shell that Dynamically Combines+ Compiled Code},+ booktitle = {Proceedings of the 15th International Workshop on+ the Implementation of Functional Languages, IFL+ 2003},+ year = 2004,+ series = LNCS,+ volume = 3145,+ address = {Scotland},+ publisher = SV+}++@article{ Vene1998FunctionalApomorphisms,+ AUTHOR = "Varmo Vene and Tarmo Uustalu",+ TITLE = "Functional Programming with Apomorphisms+ (Corecursion)",+ JOURNAL = "Proceedings of the Estonian Academy of Sciences:+ Physics, Mathematics",+ VOLUME = 47,+ NUMBER = 3,+ SPECIAL = "Selected Papers 9th Nordic Workshop on Programming+ Theory, NWPT'97, Tallinn, Estonia, 15--17 Oct 1997",+ PAGES = "147--161",+ YEAR = 1998,+ url = "citeseer.ist.psu.edu/vene98functional.html"+}++@TechReport{Vranic2000Multiparadigm,+ author = {V. Vrani{\'c}},+ title = {Towards Multi-Paradigm Software Development},+ institution = {University of Bratislava},+ year = 2000+}++@inproceedings{Waddell1999Extending,+ author = "Oscar Waddell and R. Kent Dybvig",+ title = "Extending the Scope of Syntactic Abstraction",+ booktitle = "Conference Record of {POPL} 99: The 26th {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages, San Antonio, Texas",+ address = "New York, NY",+ pages = "203--213",+ year = 1999,+ url = "citeseer.nj.nec.com/waddell99extending.html"+}++@inproceedings{Walker2001Regions,+ author = "David Walker and Kevin Watkins",+ title = "On Regions and Linear Types",+ booktitle = "International Conference on Functional Programming",+ pages = "181--192",+ year = 2001,+ url = "citeseer.nj.nec.com/428346.html"+}++@inproceedings{Walker1999InitialAOP,+ author = "Robert J. Walker and Elisa L. A. Baniassad and Gail+ C. Murphy",+ title = "An Initial Assessment of Aspect-Oriented+ Programming",+ booktitle = "International Conference on Software Engineering",+ pages = "120-130",+ year = 1999,+ url = "citeseer.nj.nec.com/article/walker98initial.html"+}++@Article{Wallace1998CP,+ author = {Mark Wallace},+ title = {Constraint Programming},+ journal = {The Handbook of Applied Expert Systems},+ year = 1998,+ publisher = {CRC Press}+}+++@InProceedings{Wilk1991Equate,+ author = {M. R. Wilk},+ title = {Equate: An Object-Oriented Constraint Solver},+ booktitle = {OOPSLA '91},+ pages = {286--298},+ year = 1991+}++@Misc{Wilson2003SchemeIntro,+ author = {Paul R. Wilson},+ title = {An Introduction to {Scheme} and its Implementation},+ howpublished = {World Wide Web},+ month = feb,+ year = 2003,+ note =+ {\url{http://www.cs.utexas.edu/users/wilson/schintro/schintro\_toc.html}, last visited: 2003-02-24}+}++@Article{Wilson1993HierarchicalCP,+ author = {Molly Wilson and Alan Borning},+ title = {Hierarchical Constraint Programming},+ journal = {Journal of Logic Programming},+ year = 1993,+ volume = 16,+ number = {3 \& 4},+ pages = {277--318},+ month = aug+}++@TechReport{Wilson1994HCLP,+ author = {Molly Wilson and Alan Borning},+ title = {Hierarchical Constraint Logic Programming},+ institution = {Department of Computer Science and Engineering,+ University of Washington},+ year = 1993,+ number = {93-01-02a},+ month = may+}++@book{Wirth1985Modula2,+ author = "Niklaus Wirth",+ title = "Programming in Modula-2",+ publisher = SV,+ year = 1985,+ edition = "3rd"+}++@InProceedings{Zhou1998DJ,+ author = {Neng-Fa Zhou and Sousuke Kaneko and Kouji Yamauchi},+ title = {{DJ}: A {Java}-based Constraint Language and System},+ booktitle = {JSSST},+ year = 1998+}++@InProceedings{Boehm2003Destructors,+ author = {Hans-J. Boehm},+ title = {Destructors, Finalizers, and Synchronization},+ booktitle = {SIGPLAN-SIGACT Symposium on Principles of+ Programming Languages,},+ year = 2003,+ address = {New Orleans, LA},+ month = jan+}++@InProceedings{Nielson1999TypeEffectSystems,+ author = {Flemming Nielson and Hanne Riis Nielson},+ title = {Type and Effect Systems},+ booktitle = {Correct System Design},+ pages = {114--136},+ year = 1999+}++@Book{ECMA2005CSharp,+ author = {{ECMA International}},+ title = {{Standard ECMA-334: C\# Language Specification}},+ month = jun,+ edition = {3rd},+ year = 2005+}++@Book{ECMA2005CommonLanguageInfrastructure,+ author = {{ECMA International}},+ title = {{Standard ECMA-334: Common Language Infrastructure (CLI)}},+ month = jun,+ edition = {3rd},+ year = 2005+}++@Book{Nelson1991Modula3,+ editor = {G. Nelson},+ title = {Systems Programming in Modula-3},+ publisher = PH,+ year = 1991+}++@Book{Amtoft1999TypeEffectSystems,+ author = {Torben Amtoft and Flemming Nielson and Hanne Riis+ Nielson},+ title = {Type and Effect Systems -- Behaviours for+ Concurrency},+ publisher = {Imperial College Press},+ year = 1999+}++@Article{Nielson1996AnnotatedTES,+ author = {Flemming Nielson},+ title = {Annotated Type and Effect Systems},+ journal = {ACM Computing Surveys},+ year = 1996,+ volume = 28,+ number = 2,+ pages = {344--345}+}++@inproceedings{Jouvelot1989ContinuationsControl,+ author = {P. Jouvelot and D. K. Gifford},+ title = {Reasoning about continuations with control effects},+ booktitle = {Proceedings of the ACM SIGPLAN 1989 Conference on+ Programming language design and implementation},+ year = 1989,+ isbn = {0-89791-306-X},+ pages = {218--226},+ location = {Portland, Oregon, United States},+ doi = {http://doi.acm.org/10.1145/73141.74837},+ publisher = ACM+}++@article{Tofte1998RegionInference,+ author = {Mads Tofte and Lars Birkedal},+ title = {A region inference algorithm},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 20,+ number = 4,+ year = 1998,+ issn = {0164-0925},+ pages = {724--767},+ doi = {http://doi.acm.org/10.1145/291891.291894},+ publisher = ACM+}++@article{Wright1997SoftType,+ author = {Andrew K. Wright and Robert Cartwright},+ title = {A practical soft type system for {Scheme}},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 19,+ number = 1,+ year = 1997,+ issn = {0164-0925},+ pages = {87--152},+ doi = {http://doi.acm.org/10.1145/239912.239917},+ publisher = ACM,+}++@inproceedings{Tofte1994Implementing,+ author = {Mads Tofte and Jean-Pierre Talpin},+ title = {Implementation of the typed call-by-value+ $\lambda$-calculus using a stack of regions},+ booktitle = {Proceedings of the 21st ACM SIGPLAN-SIGACT symposium+ on Principles of programming languages},+ year = 1994,+ isbn = {0-89791-636-0},+ pages = {188--201},+ location = {Portland, Oregon, United States},+ doi = {http://doi.acm.org/10.1145/174675.177855},+ publisher = ACM,+}++@inproceedings{Tang1995EffectSystemsSubtyping,+ author = {Yan Mei Tang and Pierre Jouvelot},+ title = {Effect systems with subtyping},+ booktitle = {Proceedings of the 1995 ACM SIGPLAN symposium on+ Partial evaluation and semantics-based program+ manipulation},+ year = 1995,+ isbn = {0-89791-720-0},+ pages = {45--53},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/215465.215552},+ publisher = ACM,+}++@TechReport{Steele1979LambdaOpcode,+ author = {Guy Lewis {Steele Jr.} and Gerald Jay Sussman},+ title = {Design of LISP-Based Processors or, SCHEME: A+ Dielectric LISP or, Finite Memories Considered+ Harmful or, LAMBDA: The Ultimate Opcode},+ institution = {Massachusetts Institute of Technology, Artificial+ Intelligence Laboratory},+ year = 1979,+ type = {AI Memo},+ number = 514,+ month = {March}+}++@InProceedings{Cheadle2004ExploringBarrier,+ author = {Andy Cheadle and Tony Field and Simon Marlow and+ Simon Peyton Jones and Lyndon While},+ title = {Exploring the Barrier to Entry: Incremental+ Generational Garbage Collection for Haskell},+ booktitle = {ISMM'04},+ year = 2004,+ annote = {Submitted}+}++@PhdThesis{Sabry1994PhD,+ author = {Amr Sabry},+ title = {The Formal Relationship between Direct and+ Continuation-passing Style Optimizing Compilers: A+ Synthesis of Two Paradigms},+ school = {Rice University},+ year = 1994+}++@InProceedings{Hallenberg2002Combining,+ author = "Niels Hallenberg and Martin Elsman and Mads Tofte",+ title = "Combining Region Inference and Garbage Collection",+ booktitle = "ACM SIGPLAN Conference on Programming Language+ Design and Implementation (PLDI'02)",+ year = 2002,+ publisher = ACM,+ note = "Berlin, Germany",+ month = jun+}++@InProceedings{Elsman1999StaticInterpretation,+ author = {Martin Elsman},+ title = {Static Interpretation of Modules},+ booktitle = {Fourth International Conference on Functional Programming},+ year = 1999,+ address = {Paris, France},+ month = sep+}++@inproceedings{Hermann2001SizeInference,+ author = {Christoph A. Herrmann and Christian Lengauer},+ title = {A Transformational Approach which Combines Size+ Inference and Program Optimization},+ editor = {Walid Taha},+ series = LNCS,+ volume = 2196,+ pages = {199--218},+ booktitle = {Semantics, Applications, and Implementation of+ Program Generation (SAIG'01)},+ year = 2001,+ publisher = SV+}++@Article{Scholz2003SAC,+ author = {Sven-Bodo Scholz},+ title = {Single Assignment C -- Efficient Support for+ High-level Array Operations in a Functional Setting},+ journal = {Journal of Functional Programming},+ year = 2003,+ volume = 13,+ number = 6,+ pages = {1005--1059}+}++@UNPUBLISHED{Leijen2005Fclabels,+ author = {Leijen, Daan},+ title = {First-class labels for extensible rows},+ note = {Submitted to the 32nd annual {ACM SIGPLAN-SIGACT}+ Symposium on Principles of Programming Languages+ ({POPL}'05)},+ month = jan,+ year = 2005+}++@INPROCEEDINGS{Leijen2004wxHaskell,+ author = {Daan Leijen},+ title = {wxHaskell -- A portable and concise {GUI} library+ for {Haskell}},+ booktitle = {{ACM SIGPLAN} Haskell Workshop ({HW'04})},+ year = 2004,+ month = sep,+ publisher = ACM,+ location = {Snowbird, Utah}+}++@Misc{JSR-175,+ author = {{Sun Microsystems}},+ title = {A Program Annotation Facility for the+ {Java}\texttrademark{} Programming Language+ ({JSR-175} public draft specification)},+ howpublished = {WWW},+ year = 2002+}++@InProceedings{Grelck1995IOinSAC,+ author = {Clemens Grelck and Sven-Bodo Scholz},+ title = {Classes and Objects as Basis for {I/O} in {SAC}},+ booktitle = {Proceedings of the 7th International Workshop on+ Implementation of Functional Languages (IFL'95)},+ pages = {30--44},+ year = 1995,+ address = {Bastad, Sweden},+ organization = {Chalmers University of Technology}+}++@Book{Nielson1999ProgramAnalysis,+ author = {Flemming Nielson and Hanne Riis Nielson and Chris+ Hankin},+ title = {Principles of Program Analysis},+ publisher = SV,+ year = 1999+}++@MISC{Brunklaus2002MultiVM,+ title = {A Virtual Machine for Multi-Language Execution},+ year = 2002,+ author = {Thorsten Brunklaus and Leif Kornstaedt},+ abstract = "This paper presents the architecture of a virtual+ machine designed specifically for the execution of+ multiple languages, which we call SEAM. The+ architecture consists of a number of generic+ components, usable by all languages, and of a number+ of interfaces for which implementations have to be+ provided by language implementors. Our contribution+ is the identification of the generic services and+ the clean design for the parameterization over their+ language-specific aspects. The goal of SEAM is to+ provide both for ample reuse and simple language+ implementation, concerning both compilers and+ runtime components, and to be a platform for+ language interoperation. We have implemented a+ prototype version of SEAM and validated it with two+ language implementations. We present a full running+ implementation of Alice and a naive implementation+ of a Java Virtual Machine running on SEAM. The paper+ presents first implementation effort and performance+ results for the prototype.",+ month = nov,+ howpublished = "Submitted",+ project-key = {MI6},+ label = {multivm}+}++@techreport{Steele1978Rabbit,+ author = {Guy L. {Steele, Jr.}},+ title = {Rabbit: A Compiler for Scheme},+ year = 1978,+ number = {AIM-474},+ publisher = {Massachusetts Institute of Technology},+}++@PhdThesis{Wang2001Managing,+ author = {Daniel C. Wang},+ title = {Managing Memory with Types},+ school = {Princeton University},+ year = 2001,+ month = dec+}++@Unpublished{Wang2002RecursionSchemes,+ author = {Daniel C. Wang and Tom {Murphy VII}},+ title = {Programming with Recursion Schemes},+ note = {Draft paper},+ year = 2002+}++@InProceedings{Wang2001TypePreserving,+ author = {Daniel C. Wang and Andrew W. Appel},+ title = {Type-Preserving Garbage Collectors},+ booktitle = {28th Annual ACM SIGPLAN -- SIGACT Symposium on+ Principals of Programming Languages},+ pages = {166-178},+ year = 2001,+ month = jan,+ publisher = ACM+}++@PhdThesis{Chitil2000Deforestation,+ author = {Olaf Chitil},+ title = {Type-Inference Based Deforestation of Functional+ Programs},+ school = {RWTH Aachen},+ year = 2000+}++@TechReport{Wansborough1998OnceUponPolyType,+ author = {Keith Wansbrough and Simon Peyton Jones},+ title = {Once Upon a Polymorphic Type},+ institution = {University of Glasgow},+ year = 1998,+ number = {TR-1998-19}+}++@inproceedings{PeytonJones1996LetFLoating,+ author = {Simon {Peyton Jones} and Will Partain and+ Andr{\'e} Santos},+ title = {Let-floating: moving bindings to give faster+ programs},+ booktitle = {Proceedings of the first ACM SIGPLAN International+ Conference on Functional Programming},+ year = 1996,+ isbn = {0-89791-770-7},+ pages = {1--12},+ location = {Philadelphia, Pennsylvania, United States},+ doi = {http://doi.acm.org/10.1145/232627.232630},+ publisher = ACM+}++@article{Appel1998SSAisFP,+ author = {Andrew W. Appel},+ title = {{SSA is Functional Programming}},+ journal = SIGPLAN,+ volume = 33,+ number = 4,+ year = 1998,+ issn = {0362-1340},+ pages = {17--20},+ doi = {http://doi.acm.org/10.1145/278283.278285},+ publisher = ACM+}++@techreport{Appel1994Loop,+ author = {Andrew W. Appel},+ title = {{Loop Headers in Lambda-Calculus or {CPS}}},+ number = {TR-460-94},+ institution = {Princeton University},+ pages = {8 pages},+ year = 1994,+ url = {citeseer.ist.psu.edu/appel94loop.html}+}++@article{Steckler1997Lightweight,+ author = {Paul A. Steckler and Mitchell Wand},+ title = {Lightweight closure conversion},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 19,+ number = 1,+ year = 1997,+ issn = {0164-0925},+ pages = {48--86},+ doi = {http://doi.acm.org/10.1145/239912.239915},+ publisher = {ACM Press},+ address = {New York, NY, USA},+}++@PhdThesis{Tarditi1996PhD,+ author = {David Tarditi},+ title = {Design and Implementation of Code Optimiziations for+ a Type-Directed Compiler for Standard ML},+ school = {School of Computer Science, Carnegie Mellon+ University},+ year = 1996,+ month = dec,+ note = {Available as Technical Report CMU-CS-97-108}+}++@article{ Danvy2000LambdaDropping,+ author = "Olivier Danvy and Ulrik P. Schultz",+ title = "Lambda-dropping: transforming recursive equations+ into programs with block structure",+ journal = "Theoretical Computer Science",+ volume = 248,+ number = "1--2",+ pages = "243--287",+ year = 2000,+ url = "citeseer.ist.psu.edu/danvy99lambdadropping.html"+}++@Book{Stallman2003UsingGCC,+ author = {Richard M. Stallman and {the GCC Developer+ Community}},+ title = {Using GCC: The GNU Compiler Collection Reference+ Manual},+ publisher = {GNU Press},+ year = 2003+}++@mastersthesis{Bauer2003CompilationGCC,+ author = {Andreas Bauer},+ title = {{Compilation of Functional Programming Languages+ using GCC\,---\,Tail Calls}},+ year = 2003,+ school = {Department of Informatics, Munich University of+ Technology},+ address = {Munich, Germany},+ url = {http://home.in.tum.de/~baueran/thesis/}+}++@article{Baker1992ConsShould1,+ author = {Henry G. Baker},+ title = {CONS should not CONS its arguments, or, a lazy alloc+ is a smart alloc},+ journal = {SIGPLAN Notices},+ volume = 27,+ number = 3,+ year = 1992,+ issn = {0362-1340},+ pages = {24--34},+ doi = {http://doi.acm.org/10.1145/130854.130858},+ publisher = ACM+}++@article{Baker1995ConsShould2,+ author = {Henry G. Baker},+ title = {CONS should not CONS its arguments, part II: Cheney+ on the M.T.A.},+ journal = {SIGPLAN Notices},+ volume = 30,+ number = 9,+ year = 1995,+ issn = {0362-1340},+ pages = {17--20},+ doi = {http://doi.acm.org/10.1145/214448.214454},+ publisher = ACM+}++@Misc{Winkelmann2004ChickenHomepage,+ author = {Felix L. Winkelmann},+ title = {{Chicken Scheme Compiler Homepage}},+ howpublished = {Available from:+ \url{http://www.call-with-current-continuation.org}},+ year = 2004+}++@article{Kelsey1993CPSandSSA,+ author = {Richard A. Kelsey},+ title = {A correspondence between continuation passing style+ and static single assignment form},+ journal = {SIGPLAN Notices},+ volume = 30,+ number = 3,+ year = 1993,+ issn = {0362-1340},+ pages = {13--22},+ doi = {http://doi.acm.org/10.1145/202530.202532},+ publisher = ACM+}++@article{Wegman1991ConstantPropagation,+ author = {Mark N. Wegman and F. Kenneth Zadeck},+ title = {Constant propagation with conditional branches},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 13,+ number = 2,+ year = 1991,+ issn = {0164-0925},+ pages = {181--210},+ doi = {http://doi.acm.org/10.1145/103135.103136},+ publisher = ACM+}++@article{Cytron1991EfficientSSA,+ author = {Ron Cytron and Jeanne Ferrante and Barry K. Rosen+ and Mark N. Wegman and F. Kenneth Zadeck},+ title = {Efficiently computing static single assignment form+ and the control dependence graph},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 13,+ number = 4,+ year = 1991,+ issn = {0164-0925},+ pages = {451--490},+ doi = {http://doi.acm.org/10.1145/115372.115320},+ publisher = ACM+}++@inproceedings{Alpern1988DetectingEquality,+ author = {B. Alpern and M. N. Wegman and F. K. Zadeck},+ title = {Detecting equality of variables in programs},+ booktitle = {Proceedings of the 15th ACM SIGPLAN-SIGACT symposium+ on Principles of programming languages},+ year = 1988,+ isbn = {0-89791-252-7},+ pages = {1--11},+ location = {San Diego, California, United States},+ doi = {http://doi.acm.org/10.1145/73560.73561},+ publisher = ACM+}++@PHDTHESIS{Gomard1991AnalysisMatters,+ AUTHOR = {Carsten K. Gomard},+ TITLE = {Program Analysis Matters},+ SCHOOL = {DIKU, University of Copenhagen},+ YEAR = 1991,+ ADDRESS = {Denmark},+ NOTE = {also DIKU Rapport 91/17}+}++@PHDTHESIS{Sestoft1991AnalysisImplementationFP,+ AUTHOR = {Peter Sestoft},+ TITLE = {Analysis and Efficient Implementation of Functional+ Programs},+ SCHOOL = {DIKU, University of Copenhagen},+ YEAR = 1991,+ ADDRESS = {Denmark},+ NOTE = {also DIKU Rapport }+}++@inproceedings{Acar2002AdaptiveFP,+ author = "Umut A. Acar and Guy E. Blelloch and Robert Harper",+ title = {{Adaptive Functional Programming}},+ booktitle = "Symposium on Principles of Programming Languages",+ pages = "247-259",+ year = 2002,+ url = "citeseer.ist.psu.edu/acar01adaptive.html"+}++@misc{Hinze2001TypeIndexed,+ author = {R. Hinze and J. Jeuring and A. L{\"o}h},+ title = "Type-indexed datatypes",+ text = "Unpublished,+ 2001.+ http://www.cs.uu.nl/~johanj/publications/tidata.ps.",+ year = 2001,+ url =+ "citeseer.ist.psu.edu/article/hinze01typeindexed.html"+}++@PhdThesis{Maessen2002PhD,+ author = {Jan-Willem Maessen},+ title = {Hybrid Eager and Lazy Evaluation for Efficient+ Compilation of Haskell},+ school = {Massachusetts Institute of Technology},+ year = 2002,+ month = jun+}++@PhdThesis{Dube2002PhD,+ author = {Danny Dub{\'e}},+ title = {Demand-Driven Type Analysis for Dynamically-Typed+ Functional Languages},+ school = {Universit{\'e} de Montr{\'e}al},+ year = 2002,+ month = aug+}++@phdthesis{Shivers1991PhD,+ author = "Olin Shivers",+ title = "Control-Flow Analysis of Higher-Order Languages",+ year = 1991,+ school = {School of Computer Science, Carnegie Mellon+ University}+}++@TechReport{Siskind1999FlowDirected,+ author = {Jeffrey Mark Siskind},+ title = {Flow-Directed Lightweight Closure Conversion},+ institution = {NEC Research Institute},+ year = 1999,+ number = {99-190R},+ month = dec+}++@PhdThesis{Boquist1999PhD,+ author = {Urban Boquist},+ title = {Code Optimisation Techniques for Lazy Functional+ Languages},+ school = {Chalmers University of Technology},+ year = 1999,+ address = {Gothenburg},+ month = apr+}++@MastersThesis{Boquist1995Licentiate,+ author = {Urban Boquist},+ title = {Interprocedural Register Allocation for Lazy+ Functional Languages},+ school = {Department of Computing Science, Chalmers University+ of Technology},+ year = 1995,+ type = {Licentiate thesis}+}++@Book{Thompson1991TypeTheory,+ author = {Simon Thompson},+ title = {Type Theory and Functional Programming},+ publisher = AW,+ year = 1991+}++@PhdThesis{Schulte1992PhD,+ author = {Wolfram Schulte},+ title = {Effiziente und korrekte {\"U}bersetzung strikter+ applikativer Programmiersprachen},+ school = {Technische Universit{\"a}t Berlin},+ year = 1992+}++@InProceedings{Schulte1992PortableEfficient,+ author = {Wolfram Schulte and Wolfgang Grieskamp},+ title = {Generating Portable and Efficient Code for a Strict+ Applicative Language},+ booktitle = {Declarative Programming},+ year = 1992,+ editor = {J. Darlington and R. Dietrich}+}++@PhdThesis{Rountev2002PhD,+ author = {Atanas Rountev},+ title = {Dataflow Analysis of Software Fragments},+ school = {Rutgers University},+ year = 2002,+ month = apr,+ note = {Also as Technical Report DCS-TR-501}+}++@phdthesis{Didrich2001PhD,+ author = "Klaus Didrich",+ title = "Integration of Verification and Testing into+ Compilation Systems -- Concept and Case Study",+ abstract = "In this thesis we present a compiler architecture+ that enables the compiler to check the correctness+ of the source code \emph{as part of the compilation+ process}. It allows to perform these correctness+ checks with \emph{different} methods, in particular+ formal testing and formal proof. \par A fully+ automated check is very expensive and often+ impossible. Hence, it is not feasible to check+ correctness automatically with the help of+ specification and implementation. We extend the+ programming language by (correctness)+ \emph{justifications} that the user must insert into+ the source code (``\emph{literate+ justification}''). Depending on the chosen+ justification method the user must work out the+ justification in more or less detail. The+ introduction of justifications changes the+ compiler's task from deriving a correctness proof by+ itself to \emph{checking a correctness proof}+ provided by the user. \par The correctness check for+ justifications can be integrated into the compiler+ or delegated to an external tool. An external tool+ allows the integration of existing tools but the+ development of specialized tools is also+ possible. The example development of a specialized+ tactical theorem-prover shows that the development+ of a specialized tool is not necessarily more+ expensive than the adaptation of an existing+ tool. \par For test execution during the compilation+ an \emph{interpreter} must be available. The+ execution of untested code causes \emph{security+ risks}. We discuss different possibilities to deal+ with this problem. \par The \emph{correctness} of a+ compilation unit corresponds to the+ \emph{consistency of an algebraic specification}. We+ study two proof methods: either by construction of a+ model or by establishing a correctness-preserving+ relation. The proof obligations result from the+ proof method, in addition proof obligations are+ introduced to ensure the correctness of modular+ programs. \par The compiler architecture described+ in this thesis has been \emph{prototypically+ implemented}. The \textsc{opal} system has been+ extended with language elements to denote+ specifications and (correctness) justifications. The+ thesis presents some short examples. The+ \textsc{opal/j} prototype is part of the+ \textsc{opal} distribution since version+ \texttt{2.3e}.",+ month = "November",+ school = "Technische Universit{\"a}t Berlin",+ url =+ "http://uebb.cs.tu-berlin.de/~kd/integration-of-verification-and-testing.pdf",+ year = 2001+}++@PhdThesis{Maeder2001PhD,+ author = {Christian Maeder},+ title = {Zur Kontextanalyse einer algebraischen+ Programmiersprache},+ school = {Technische Universit{\"a}t Berlin},+ year = 2001,+ month = jun+}++@PhdThesis{Bohlmann2001PhD,+ author = {Karsten Bohlmann},+ title = {Modeling Interaction and Causality: A Two-Level+ Declarative Approach},+ school = {Technische Universit{\"a}t Berlin},+ year = 1998,+ month = feb+}++@PhdThesis{Diwan1997UnderstandingModern,+ author = "Amer Suleman Diwan",+ title = "Understanding and improving the performance of+ modern programming languages",+ text = "DIWAN, A. 1997. Understanding and improving the+ performance of modern programming+ languages. Ph.D. thesis, University of Massachusetts+ at Amherst.",+ year = 1997,+ school = {University of Massachusetts Amherst},+ month = feb,+ url = "citeseer.ist.psu.edu/diwan97understanding.html"+}++@InProceedings{Mock2001DynamicPointsTo,+ author = {Markus Mock and Manuvir Das and Craig Chambers and+ Susan J. Eggers},+ title = {Dynamic Points-To Sets: A Comparison with Static+ Analyses and Potential Applications in Program+ Understanding and Optimization},+ booktitle = {proceedings of the ACM SIGPLAN SIGSOFT Workshop on+ Program Analysis for Software Tools and Engineering+ (PASTE'01)},+ pages = {66--72},+ year = 2001,+ month = jun,+ publisher = ACM+}++@Article{Grant2000DyC,+ author = {Brian Grant and Markus Mock and Matthai Philipose+ and Craig Chambers and Susan J. Eggers},+ title = {{DyC}: An Expressive Annotation-Directed Dynamic+ Compiler for {C}},+ journal = {Theoretical Computer Science},+ year = 2000,+ volume = 248,+ number = {1--2},+ pages = {147--199},+ month = oct+}++@InProceedings{Mock2003BottomUp,+ author = {Markus Mock},+ title = {Dynamic Analysis from the Bottom Up},+ booktitle = {ICSE 2003 Workshop on Dynamic Analysis (WODA 2003)},+ year = 2003,+ address = {Portland, Oregon},+ month = may+}++@PhdThesis{Mock2002PhD,+ author = {Markus Mock},+ title = {Automating Selective Dynamic Compilation},+ school = {University of Washington},+ year = 2002,+ month = aug+}++@inproceedings{Launchbury1993NaturalSemantics,+ author = {John Launchbury},+ title = {A natural semantics for lazy evaluation},+ booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT symposium+ on Principles of programming languages},+ year = 1993,+ isbn = {0-89791-560-7},+ pages = {144--154},+ location = {Charleston, South Carolina, United States},+ doi = {http://doi.acm.org/10.1145/158511.158618},+ publisher = ACM+}++@InProceedings{Leroy1997Effectiveness,+ author = {Xavier Leroy},+ title = {The Effectiveness of Type-based Unboxing},+ booktitle = {Workshop on Types in Compilation},+ year = 1997,+ address = {Amsterdam, The Netherlands},+ month = jun,+ organization = {ACM SIGPLAN},+ note = {Published as Boston College Computer Science+ Dept. Technical Report BCCS-97-03}+}++@PhdThesis{Laumann1997PhD,+ author = {Oliver Laumann},+ title = {The Scheme Language as the Foundation for a Reusable+ Extension Language Kit},+ school = {Technische Universit{\"a}t Berlin},+ year = 1997+}++@article{Aho1976Optimal,+ author = {A. V. Aho and S. C. Johnson},+ title = {Optimal Code Generation for Expression Trees},+ journal = {J. ACM},+ volume = 23,+ number = 3,+ year = 1976,+ issn = {0004-5411},+ pages = {488--501},+ doi = {http://doi.acm.org/10.1145/321958.321970},+ publisher = ACM,+}++@INPROCEEDINGS{Hirschowitz-Leroy-Wells-rec,+ AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},+ TITLE = {Compilation of extended recursion in call-by-value+ functional languages},+ BOOKTITLE = {International Conference on Principles and Practice+ of Declarative Programming},+ YEAR = 2003,+ PAGES = {160--171},+ PUBLISHER = ACM,+ URL =+ {http://pauillac.inria.fr/~xleroy/publi/compil-recursion.pdf},+ ABSTRACT = {This paper formalizes and proves correct a+ compilation scheme for mutually-recursive+ definitions in call-by-value functional+ languages. This scheme supports a wider range of+ recursive definitions than standard call-by-value+ recursive de nitions. We formalize our technique as+ a translation scheme to a lambda-calculus featuring+ in-place update of memory blocks, and prove the+ translation to be faithful.}+}++@inproceedings{Auslander1982OverviewPL8,+ author = {Marc Auslander and Martin Hopkins},+ title = {An overview of the PL.8 compiler},+ booktitle = {Proceedings of the 1982 SIGPLAN symposium on+ Compiler construction},+ year = 1982,+ isbn = {0-89791-074-5},+ pages = {22--31},+ location = {Boston, Massachusetts, United States},+ publisher = ACM+}++@InProceedings{Broberg2004RegularExpPatterns,+ author = {Niklas Broberg and Andreas Farre and Josef+ Svenningsson},+ title = {Regular Expression Patterns},+ booktitle = {Proceedings of the International Conference on+ Functional Programming (ICFP'04)},+ year = 2004+}++@Misc{Palsberg199BindingTimeAnalysis,+ author = {Jens Palsberg and Michael I. Schwartzbach},+ title = {Binding Time Analysis: Abstract Interpretation+ versus Type Inference},+ month = apr,+ year = 1992+}++@inproceedings{PeytonJones1982Investigation,+ author = {{Simon L.} {Peyton Jones}},+ title = {An investigation of the relative efficiencies of+ combinators and lambda expressions},+ booktitle = {Proceedings of the 1982 ACM Symposium on LISP and+ Functional Programming},+ year = 1982,+ isbn = {0-89791-082-6},+ pages = {150--158},+ location = {Pittsburgh, Pennsylvania, United States},+ publisher = ACM,+}++@TechReport{Stallman1980PhantomStacks,+ author = {Richard M. Stallman},+ title = {Phantom Stacks: If You Look Too Hard, They Aren't There},+ institution = MITAI,+ year = 1980,+ number = {AIM-556},+ month = jul+}++@InProceedings{Zee2002WriteBarrier,+ author = {Karen Zee and Martin Rinard},+ title = {Write Barrier Removal by Static Analysis},+ booktitle = {OOPSLA 2002},+ year = 2002+}++@techreport{Bawden1993ImplementingDistributed,+ author = "Alan Bawden",+ title = "Implementing Distributed Systems Using Linear+ Naming",+ number = "AITR-1627",+ pages = 156,+ year = 1993,+ url = "citeseer.ist.psu.edu/bawden93implementing.html"+}++@Article{Suganuma2000IBMJIT,+ author = {T. Suganuma and T. Ogasawara and M. Takeuchi and+ T. Yasue and M. Kawahito and K. Ishizaki and+ H. Komatsu and T. Nakatani},+ title = {{Overview of the IBM Java Just-in-Time Compiler}},+ journal = {IBM Systems Journal},+ year = 2000,+ volume = 39,+ number = 1,+ pages = {175--193}+}++@InProceedings{Qian2004DynamicAnalysis,+ author = {Feng Qian and Laurie Hendren},+ title = {{Towards Dynamic Interprocedural Analysis in JVMs}},+ booktitle = {VM 2004},+ year = 2004,+ address = {San Jose, USA},+ month = may+}++@PhdThesis{Gagnon2002PhD,+ author = {Etienne Gagnon},+ title = {A Portable Research Framework for the Execution of+ Java Bytecodes},+ school = {School of Computer Science, McGill University,+ Montreal},+ year = 2002,+ month = dec+}++@TechReport{Elliott1999ImageMan,+ author = {Conal Elliott, Sigbjorn Finne and Oege de Moor},+ title = {Efficient Image Manipulation via Run-time Compilation},+ institution = {Microsoft Research},+ year = {1999},+ OPTkey = {},+ OPTtype = {},+ number = {TR-99-82},+ OPTaddress = {},+ OPTmonth = {},+ OPTnote = {},+ OPTannote = {}+}++@Article{Wakeling1998DynCompLazy,+ author = {David Wakeling},+ title = {The dynamic compilation of lazy functional programs},+ journal = {Journal of Functional Programming},+ year = 1998,+ volume = 8,+ number = 1,+ pages = {61--81},+ month = jan+}++@InProceedings{Engler1996vcode,+ author = {Dawson R. Engler},+ title = {vcode: A Retargetable, extensible, Very Fast Dynamic+ Code Generation System},+ booktitle = {SIGPLAN Conference on Programming Language Design+ and Implementation},+ year = 1996,+ address = {Philadelphia, PA},+ month = may+}++@inproceedings{PSSC04,+ author = {Andr{\'e} Pang and Don Stewart and Sean Seefried and+ Manuel M. T. Chakravarty},+ title = {Plugging Haskell in},+ booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell},+ year = 2004,+ isbn = {1-58113-850-4},+ pages = {10--21},+ location = {Snowbird, Utah, USA},+ doi = {http://doi.acm.org/10.1145/1017472.1017478},+ publisher = ACM,+}++@Misc{Bracha2004JavaGenerics,+ author = {Gilad Bracha},+ title = {Generics in the Java Programming Language},+ month = jul,+ year = 2004+}++@inproceedings{62717,+ author = {G. L. Burn and S. L. Peyton Jones and J. D. Robson},+ title = {The spineless {G}-machine},+ booktitle = {Proceedings of the 1988 ACM conference on LISP and+ functional programming},+ year = 1988,+ isbn = {0-89791-273-X},+ pages = {244--258},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/62678.62717},+ publisher = ACM,+}++@Article{Banatre1993Multiset,+ author = {Jean-Pierre Banatre and Daniel Le M{\'e}tayer},+ title = {Programming with Multiset Transformation},+ journal = {Communications of the ACM},+ year = 1993,+ volume = 36,+ number = 1,+ pages = {98--111},+ month = jan+}++@InProceedings{Berry1990Chemical,+ author = {G{\'e}rard Berry and G{\'e}rard Boudol},+ title = {The Chemical Abstract Machine},+ booktitle = {Seventeenth Annual ACM Symposium on Principles of+ Programming Languages},+ pages = 81,+ year = 1990,+ address = {San Francisco, California},+ month = jan,+ publisher = ACM+}++@Misc{SouthernStorm2004libjit,+ author = {{Southern Storm Software, Pty Ltd}},+ title = {{Just-In-Time Compiler Library}},+ howpublished = {Available from:+ \url{http://www.southern-storm.com.au/libjit.html}},+ year = 2004+}++@Misc{DotGNU2004DotGNU,+ author = {{DotGNU Project}},+ title = {{DotGNU Project/Portable.NET}},+ howpublished = {Available from: \url{http://dotgnu.org}},+ note = {Last visited: 2008-10-07},+ year = 2004+}++@Misc{Mono2007Mono,+ author = {{Mono Project}},+ title = {{Mono}},+ howpublished = {Available from: \url{http://www.mono-project.com}},+ note = {Last visited: 2008-10-07},+ year = 2007+}++@Misc{LLVM2004LLVM,+ author = {LLVM Project},+ title = {{The LLVM Compiler Infrastructure}},+ howpublished = {Available from: \url{http://llvm.cs.uiuc.edu}},+ year = 2004+}++@InProceedings{LLVM:CGO04,+ author = {Chris Lattner and Vikram Adve},+ title = {{LLVM: A Compilation Framework for Lifelong Program+ Analysis \& Transformation}},+ booktitle = {Proceedings of the 2004 International Symposium on+ Code Generation and Optimization (CGO'04)},+ address = {Palo Alto, California},+ month = mar,+ year = 2004+}++@InProceedings{DKAL:LCTES03,+ Author = {Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and+ Chris Lattner},+ Title = {{Memory Safety Without Runtime Checks or Garbage+ Collection}},+ Booktitle = {{Proc. Languages Compilers and Tools for Embedded+ Systems 2003}},+ Address = {San Diego, CA},+ Month = {June},+ Year = 2003,+ URL = {http://llvm.cs.uiuc.edu/pubs/2003-05-05-LCTES03-CodeSafety.html}+}++@inproceedings{Deutsch1984SmalltalkImpl,+ author = {L. Peter Deutsch and Allan M. Schiffman},+ title = {Efficient implementation of the {Smalltalk-80} system},+ booktitle = {Proceedings of the 11th ACM SIGACT-SIGPLAN Symposium+ on Principles of Programming Languages},+ year = 1984,+ isbn = {0-89791-125-3},+ pages = {297--302},+ location = {Salt Lake City, Utah, United States},+ publisher = ACM,+}++@inproceedings{Myers1984EfficientDataTypes,+ author = {Eugene W. Myers},+ title = {Efficient applicative data types},+ booktitle = {Proceedings of the 11th ACM SIGACT-SIGPLAN symposium+ on Principles of programming languages},+ year = 1984,+ isbn = {0-89791-125-3},+ pages = {66--75},+ location = {Salt Lake City, Utah, United States},+ publisher = ACM,+}++@Book{Armstrong1996Erlang,+ author = {Joe Armstrong and Robert Virding and Claes+ Wikstr{\"o}m and Mike Williams},+ title = {Concurrent Programming in Erlang},+ publisher = PH,+ year = 1996,+ edition = {second}+}++@inproceedings{Lee1996OptimizingML,+ author = {Peter Lee and Mark Leone},+ title = {Optimizing {ML} with run-time code generation},+ booktitle = {Proceedings of the ACM SIGPLAN 1996 Conference on+ Programming Language Design and Implementation},+ year = 1996,+ isbn = {0-89791-795-2},+ pages = {137--148},+ location = {Philadelphia, Pennsylvania, United States},+ doi = {http://doi.acm.org/10.1145/231379.231407},+ publisher = ACM,+}++@inproceedings{Auslander1996DynamicCompilation,+ author = {Joel Auslander and Matthai Philipose and Craig+ Chambers and Susan J. Eggers and Brian N. Bershad},+ title = {Fast, effective dynamic compilation},+ booktitle = {Proceedings of the ACM SIGPLAN 1996 conference on+ Programming language design and implementation},+ year = 1996,+ isbn = {0-89791-795-2},+ pages = {149--159},+ location = {Philadelphia, Pennsylvania, United States},+ doi = {http://doi.acm.org/10.1145/231379.231409},+ publisher = ACM,+}++@article{Aycock2003HistoryJIT,+ author = {John Aycock},+ title = {A brief history of just-in-time},+ journal = {ACM Computing Surveys},+ volume = 35,+ number = 2,+ year = 2003,+ issn = {0360-0300},+ pages = {97--113},+ publisher = ACM,+}++@inproceedings{Chambers1989Customization,+ author = {C. Chambers and D. Ungar},+ title = {Customization: optimizing compiler technology for+ {Self}, a dynamically-typed object-oriented+ programming language},+ booktitle = {Proceedings of the ACM SIGPLAN 1989 Conference on+ Programming Language Design and Implementation},+ year = 1989,+ isbn = {0-89791-306-X},+ pages = {146--160},+ location = {Portland, Oregon, United States},+ doi = {http://doi.acm.org/10.1145/73141.74831},+ publisher = ACM,+}++@article{Keppel1991SpaceModification,+ author = {David Keppel},+ title = {A portable interface for on-the-fly instruction+ space modification},+ journal = {SIGPLAN Notices},+ volume = 26,+ number = 4,+ year = 1991,+ issn = {0362-1340},+ pages = {86--95},+ doi = {http://doi.acm.org/10.1145/106973.106983},+ publisher = ACM,+}++@inproceedings{Wallace1995Liftshaft,+ author = {Malcolm Wallace and Colin Runciman},+ title = {Lambdas in the liftshaft},+ booktitle = {Proceedings of the seventh international conference+ on Functional programming languages and computer+ architecture},+ year = 1995,+ isbn = {0-89791-719-7},+ pages = {249--258},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/224164.224213},+ publisher = ACM,+}++@Book{Strom1991Hermes,+ author = {Robert E. Strom and David F. Bacon and Andy Lowry+ and Arthur P. Goldberg and Daniel M. Yellin and and+ Shaula Yemini},+ title = {Hermes: A Language for Distributed Computing},+ publisher = {Prentice-Hall},+ year = 1991,+ series = {Series in Innovative Technology},+ month = feb,+ isbn = {0-13-389537-8}+}++@Article{Hanson2004CSharp,+ author = {David R. Hanson and Todd A. Proebsting},+ title = {A research C\# compiler},+ journal = {Software Practice and Experience},+ year = 2004,+ volume = 34,+ number = 13,+ pages = {1211--1224},+ month = {nov}+}++@Misc{Sun2001HotSpotWhitePaper,+ author = {{Sun Microsystems}},+ title = {{The Java HotSpot Virtual Machine, v1.4.1, d2}},+ howpublished = {Available from:+ \url{http://java.sun.com/products/hotspot/docs/whitepaper/Java_HotSpot_WP_Final_4_30_01.html}},+ year = 2002,+ month = sep+}++@Article{Zheng2000PARISCia64,+ author = {Cindy Zheng and Carol Thompson},+ title = {{PA-RISC to IA-64: Transparent Execution, no+ Recompilation}},+ journal = {IEEE Computer},+ year = 2000,+ volume = 33,+ number = 3,+ pages = {47--52},+ month = mar+}++@InProceedings{Chung2000LazyFits,+ author = {Yoo C. Chung and Soo-Mook Moon},+ title = {Memory Allocation with Lazy Fits},+ booktitle = {ISMM '2000: International Symposium on Memory+ Management},+ year = 2000+}++@InProceedings{Yang1999LaTTe,+ author = {Byung-Sun Yang and Soo-Mook Moon and Seongbae Park+ and Junpyo Lee and SeungIl Lee and Jinpyo Park and+ Yoo C. Chung and Suhyun Kim and Kemal Ebcioglu and+ Erik Altman},+ title = { LaTTe: A Java VM Just-in-Time Compiler with Fast+ and Efficient Register Allocation},+ booktitle = {1999 International Conference on Parallel+ Architectures and Compilation Techniques (PACT'99)},+ year = 1999,+ address = {New Port Beach, California},+ month = oct+}++@PhdThesis{Ertl1996PhD,+ author = {Martin Anton Ertl},+ title = {Implementation of Stack-Based Languages on Register+ Machines},+ school = {Technische Universit{\"a}t Berlin},+ year = 1996+}++@Misc{Klaiber2000Crusoe,+ author = {Andreas Klaiber},+ title = {The Technology behind {Crusoe} Processors},+ howpublished = {Available from:+ \url{http://www.charmed.com/PDF/CrusoeTechnologyWhitePaper_1-19-00.pdf}},+ note = {Last visited: 2008-10-07},+ year = 2000+}++@PhdThesis{Hoelzle1994PhD,+ author = {Urs H{\"o}lzle},+ title = {Adaptive optimization for Self: Reconciling High+ Performance with Exploratory Programming},+ school = {Computer Science Department, Stanford University},+ year = 1994+}++@PhdThesis{Hicks2001PhD,+ author = {Michael Hicks},+ title = {Dynamic Software Updating},+ school = {Computer and Information Science Department, the+ University of Pennsylvania},+ year = 2001,+ month = aug+}++@PhdThesis{Burger1997PhD,+ author = {Robert G. Burger},+ title = {Efficient Compilation and Profile-Driven Dynamic+ Recompilation in Scheme},+ school = {Indiana University Computer Science Department},+ year = 1997,+ month = mar+}++@InProceedings{Burger1998Infrastructure,+ author = {Robert G. Burger and R. Kent Dybvig},+ title = {An infrastructure for profile-driven dynamic+ recompilation},+ booktitle = {IEEE Computer Society 1998 International Conference+ on Computer Languages},+ year = 1998,+ month = may+}++@InProceedings{Tuna1994Continuations,+ author = {M. Esen Tuna and Steven D. Johnson and Robert+ G. Burger},+ title = {Continuations in Hardware-Software Codesign},+ booktitle = {Proceedings of the International Conference on+ Computer Design},+ pages = {264--269},+ year = 1994,+ month = oct,+ organization = {IEEE}+}++@TechReport{Leone1997Dynamo,+ author = {Mark Leone and R. Kent Dybvig},+ title = {Dynamo: A Staged Compiler Architecture for Dynamic+ Program Optimization},+ institution = {Indiana University Computer Science Department},+ year = 1997,+ number = 490,+ month = sep+}++@PhdThesis{Leone1997PhD,+ author = {Mark Leone},+ title = {A Principled and Practical Approach to Run-Time Code+ Generation},+ school = {School of Computer Science, Carnegie Mellon+ University},+ year = 1997+}++@InProceedings{Leone1994Lightweight,+ author = {Mark Leone and Peter Lee},+ title = {Lightweight Run-Time Code Generation},+ booktitle = {Proceedings of the ACM SIGPLAN Workshop on Partial+ Evaluation and Semantics-Based Program Manipulation},+ pages = {97-106},+ year = 1994,+ month = jun+}++@TechReport{Ebcioglu1996DAISY,+ author = {Kemal Ebcioglu and Erik R. Altman},+ title = {{DAISY: Dynamic Compilation for 100\% Architectural+ Compatibility}},+ institution = {IBM},+ year = 1996,+ number = 8502+}++@InProceedings{Bierman2003FormalizingUpdate,+ author = {Gavin Bierman and Michael Hicks and Peter Sewell and+ Gareth Stoyle},+ title = {Formalizing dynamic software updating (Extended+ Abstract)},+ booktitle = {Proceedings of Workshop on Unexpected Software+ Evolution (USE'03)},+ year = 2003,+ month = apr+}++@Unpublished{Appel1994HotSliding,+ author = {Andrew W. Appel},+ title = {{Hot-Sliding in ML}},+ note = {Available online from+ \url{http://www.cs.princeton.edu/~appel/papers}},+ month = dec,+ year = 1994+}++@article{Clements2004TailRecursiveMachine,+ author = {John Clements and Matthias Felleisen},+ title = {A tail-recursive machine with stack inspection},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 26,+ number = 6,+ year = 2004,+ issn = {0164-0925},+ pages = {1029--1052},+ doi = {http://doi.acm.org/10.1145/1034774.1034778},+ publisher = ACM,+}++@article{ Ashley1998PracticalFlowAnalysis,+ author = "J. Michael Ashley and R. Kent Dybvig",+ title = "A Practical and Flexible Flow Analysis for+ Higher-Order Languages",+ journal = "ACM Transactions on Programming Languages and+ Systems",+ volume = 20,+ number = 4,+ month = "July",+ publisher = ACM,+ pages = "845--868",+ year = 1998,+ url = "citeseer.ist.psu.edu/article/ashley96practical.html"+}++@PhdThesis{Ashley1996PhD,+ author = {J. Michael Ashley},+ title = {A Practical and Flexible Flow Analysis for+ Higher-Order Languages},+ school = {Indiana University},+ year = 1996+}++@article{Pu1988SynthesisKernel,+ author = {Calton Pu and Henry Massalin and John Ioannidis},+ title = {The {S}ynthesis Kernel},+ journal = {Computing Systems},+ year = 1988,+ volume = 1,+ number = 1,+ pages = {11--32},+ month = {Winter},+ url = {citeseer.ist.psu.edu/22153.html},+ url = {http://citeseer.nj.nec.com/22153.html}+}++@phdthesis{Massalin1992synthesis,+ author = {H. Massalin},+ title = {Synthesis: {An} Efficient Implementation of+ Fundamental Operating System Services},+ school = {Columbia University},+ year = 1992,+ url = {citeseer.ist.psu.edu/massalin92synthesi.html}+}++@article{Thompson1968RegularExpression,+ author = {Ken Thompson},+ title = {Programming Techniques: Regular expression search+ algorithm},+ journal = {Communications of the ACM},+ volume = 11,+ number = 6,+ year = 1968,+ issn = {0001-0782},+ pages = {419--422},+ doi = {http://doi.acm.org/10.1145/363347.363387},+ publisher = ACM+}++@Article{Wickline1998Modal,+ author = {Philip Wickline and Peter Lee and Frank Pfenning and+ Rowan Davies},+ title = {Modal types as staging specifications for run-time+ code generation},+ journal = {ACM Computing Surveys},+ year = 1998,+ volume = 30,+ number = {3es},+ month = sep+}++@InProceedings{Wickline1998RunTimeCodeGen,+ author = {Philip Wickline and Peter Lee and Frank Pfenning},+ title = {Run-time code generation and modal-ML},+ booktitle = {Proceedings of the Conference on Programming+ Language Design and Implementation (PLDI'98)},+ pages = {224-235},+ year = 1998,+ editor = {Keith D. Cooper},+ address = {Montreal, Canada},+ month = jun,+ publisher = ACM+}++@inproceedings{ Sperber1997TwoForThePrice,+ author = "Michael Sperber and Peter Thiemann",+ title = "Two for the Price of One: Composing Partial+ Evaluation and Compilation",+ booktitle = "{SIGPLAN} Conference on Programming Language Design+ and Implementation",+ pages = "215-225",+ year = 1997,+ url = "citeseer.ist.psu.edu/sperber97two.html"+}++@Unpublished{Lomov2002DynamicCaml,+ author = {Dmitry Lomov and Anton Moscal},+ title = {{Dynamic Caml -- Run-Time Code Generation+ Library for Objective Caml}},+ note = {Available on the World Wide Web at+ \url{http://oops.tepkom.ru/dml/},+ last visited: 2008-10--7},+ month = may,+ year = 2002+}++@inproceedings{Hentenryck1999opl,+ author = {Pascal Van Hentenryck and Laurent Michel and Laurent+ Perron and Jean-Charles R{\'e}gin},+ title = {Constraint Programming in OPL},+ booktitle = {Proceedings of the International Conference on+ Principles and Practice of Declarative Programming+ (PPDP'99)},+ year = 1999,+ month = {September 29 - October 1},+ editor = {Gopalan Nadathur },+ pages = {98-116},+ url = {citeseer.ist.psu.edu/hentenryck99constraint.html},+ url = {http://www.cs.brown.edu/people/pvh/ppdp99.ps},+ series = {Lecture Notes in Computer Science},+ volume = 1702+},+++@techreport{Michel2000opl++,+ author = {Laurent Michel and Pascal Van Hentenryck},+ title = {OPL++: A Modeling Layer for Constraint Programming+ Libraries},+ abstract = {Mathematical modeling and constraint programming+ languages have orthogonal strengths in stating+ combinatorial optimization problems. Modeling+ languages typically feature high-level set and+ algebraic notations, while constraint programming+ languages provide a rich constraint language and the+ ability to specify search procedures. This paper+ shows that many of the functionalities typically+ found in modeling languages can be integrated+ elegantly in constraint programming libraries+ without defining a specific language or+ preprocessor. In particular, it presents the design+ of OPL++, a C++ modeling layer for constraint+ programming that combines the salient features of+ both approaches. Of particular interest is the+ one-to-one correspondence between high-level models+ and OPL++ statements and the negligible overhead+ induced by the extensions },+ institution = {Brown University, Computer Science Department},+ year = 2000,+ month = {December},+ type = {Tech Report},+ address = {http://www.cs.brown.edu/},+ number = {CS-00-07},+ url = {citeseer.ist.psu.edu/michel00opl.html},+ url =+ {ftp://ftp.cs.brown.edu/pub/techreports/00/cs00-07.ps.Z}+}++@PhdThesis{Taha1999PhD,+ author = {Walid Taha},+ title = {Multi-Stage Programming: Its Theory and+ Applications},+ school = {Oregon Graduate Institute of Science and Technology},+ year = 1999,+ month = nov+}++@Article{Benton2005EmbeddingInterpreters,+ author = {Nick Benton},+ title = {Embedding Interpreters},+ journal = {Journal of Functional Programming},+ year = {2005},+ OPTkey = {},+ OPTvolume = {},+ OPTnumber = {},+ OPTpages = {},+ OPTmonth = {},+ note = {To appear},+ OPTannote = {}+}++@Book{Swierstra1998AdvancedFP,+ editor = {S. Doaitse Swierstra and Pedro R. Henriques and Jos{\'e} N. Oliviera},+ title = {Advanced Functional Programming},+ publisher = SV,+ year = 1998,+ volume = 1608,+ series = LNCS,+ month = sep,+ note = {Third International School, AFP'98}+}++% crossref = {Swierstra1998AdvancedFP},+@InCollection{Sheard1998UsingMetaML,+ author = {Tim Sheard},+ title = {{Using MetaML: A Staged Programming Language}},+ booktitle = {Advanced Functional Programming},+ editor = {S. Doaitse Swierstra and Pedro R. Henriques and Jos{\'e} N. Oliviera},+ pages = {207--239},+ year = 1998,+ volume = 1608,+ series = LNCS,+ month = sep,+ note = {Third International School, AFP'98}+}++@InProceedings{Taha2004Practical,+ author = {Walid Taha},+ title = {Practical Aspects of Multi-stage Programming},+ booktitle = {???},+ year = {???}+}++@InProceedings{Barthe1997MonadicTypeSystems,+ author = {Gilles Barthe and John Hatcliff and Peter Thiemann},+ title = {Monadic Type Systems: Pure Type Systems for Impure+ Settings (Preliminary Report)},+ booktitle = {HOOTS'97},+ year = 1997,+ volume = 10,+ series = {Electronic Notes in Theoretical Computer Science},+ publisher = {Elsevier Science}+}++@InProceedings{Moggi1999IdealizedMetaML,+ author = {Eugenio Moggi and Walid Taha and Zine El-Abidine+ Benaissa and Tim Sheard},+ title = {{An Idealized MetaML: Simpler, and More Expressive}},+ booktitle = {ESOP},+ year = 1999+}++@InProceedings{Taha1997MSPExpl,+ author = {Walid Taha and Tim Sheard},+ title = {Multi-Stage Programming with Explicit Annotations},+ booktitle = {PEPM},+ year = 1991+}++@InProceedings{Calcagno2000ClosedTypes,+ author = {Cristiano Calcagno and Eugenio Moggi and Walid Taha},+ title = {Closed Types as a Simple Approach to Safe Imperative+ Multi-Stage Programming},+ booktitle = {ICALP},+ year = 2000+}+++@Article{Taha:2000:MMS,+ author = "Walid Taha and Tim Sheard",+ title = "{MetaML} and multi-stage programming with explicit+ annotations",+ journal = "Theoretical Computer Science",+ volume = 248,+ number = "1--2",+ pages = "211--242",+ day = 6,+ month = oct,+ year = 2000,+ CODEN = "TCSCDI",+ ISSN = "0304-3975",+}++@Article{Arnold2005SurveyVM,+ author = {Matthew Arnold and Stephen J. Fink and David Grove+ and Michael Hind and Peter F. Sweeney},+ title = {A Survey of Adaptive Optimization in Virtual+ Machines},+ journal = {Proceedings of the IEEE},+ year = 2005,+ volume = 93,+ number = 2,+ pages = {449--466},+ month = feb+}++@TechReport{Arnold2004Architecture,+ author = {Matthew Arnold and Stephen Fink and David Grove and+ Michael Hind and Peter F. Sweeney},+ title = {Architecture and Policy for Adaptive Optimization in+ Virtual Machines},+ institution = {IBM Research},+ year = 2004,+ type = {Research Report},+ number = 23429,+ month = nov+}++@inproceedings{Detlefs1999InliningVirtualMethods,+ author = {David Detlefs and Ole Agesen},+ title = {Inlining of Virtual Methods},+ booktitle = {ECOOP '99: Proceedings of the 13th European+ Conference on Object-Oriented Programming},+ year = 1999,+ isbn = {3-540-66156-5},+ pages = {258--278},+ publisher = SV,+}++@InProceedings{Detlefs2001LockFree,+ author = {David L. Detlefs and Paul A. Martin and Mark Moir+ and Guy L. {Steele Jr}},+ title = {Lock-Free Reference Counting},+ booktitle = {Proceedings of PODC 2001},+ year = 2001+}++@Misc{Achten2004ArrowGECs,+ author = {Peter Achten and Marko {van Eekelen} and Rinus+ Plasmeijer and Arjen {van Weelden}},+ title = {Arrows for Generic Graphical Editor Components},+ howpublished = {Availble from:+ \url{ftp://ftp.cs.kun.nl/pub/Clean/papers/2004/achp2004-ArrowGECs.pdf}},+ year = 2004+}++@Article{Wadler1992Comprehending,+ author = {Philip Wadler},+ title = {Comprehending monads},+ journal = {Mathematical Structures in Computer Science, Special+ issue of selected papers from 6'th Conference on+ Lisp and Functional Programming},+ year = 1992,+ volume = 2,+ pages = {461--493}+}++@InProceedings{King1992CombiningMonads,+ author = {David King and Philip Wadler},+ editor = {J. Launchbury and P. M. Sansom},+ title = {Combining monads},+ booktitle = {Glasgow Workshop on Functional Programming},+ year = 1992,+ series = {Workshops in Computing Series},+ month = jul,+ address = {Ayr, Scotland},+ publisher = SV+}++@Misc{Stewart2003hs-plugins,+ author = {Don Stewart},+ title = {{hs-plugins -- Dynamically Loaded Haskell Modules}},+ howpublished = {World Wide Web: \url{http://www.cse.unsw.edu.au/~dons/hs-plugins/}},+ month = feb,+ year = 2006,+ note = {Last visited: 2008-10-07}+}++@InProceedings{Harris2005Composable,+ author = {Tim Harris and Simon Marlow and Simon Peyton Jones+ and Maurice Herlihy},+ title = {Composable memory transactions},+ booktitle = {PPoPP 2005},+ year = 2005,+ note = {Submitted}+}++@InProceedings{Chernoff1997DigitalFX32,+ author = {Anton Chernoff and Ray Hookway},+ title = {{Digital FX!32 -- Running 32-Bit x86 Applications on+ Alpha NT}},+ booktitle = {Proceedings of the USENIX Windows NT Workshop},+ year = 1997,+ address = {Seattle, Washington},+ month = aug+}++@inproceedings{Piumarta1998SelectiveInlining,+ author = {Ian Piumarta and Fabio Riccardi},+ title = {Optimizing direct threaded code by selective+ inlining},+ booktitle = {PLDI '98: Proceedings of the ACM SIGPLAN 1998+ conference on Programming language design and+ implementation},+ year = 1998,+ isbn = {0-89791-987-4},+ pages = {291--300},+ location = {Montreal, Quebec, Canada},+ doi = {http://doi.acm.org/10.1145/277650.277743},+ publisher = ACM,+}++@Misc{FeeleyBetterAPI,+ author = {Marc Feeley},+ title = {{A Better API for First-Class Continuations}}+}++@inproceedings{Marlet1999Efficient,+ author = {Renaud Marlet and Charles Consel and Philippe+ Boinot},+ title = {Efficient incremental run-time specialization for+ free},+ booktitle = {PLDI '99: Proceedings of the ACM SIGPLAN 1999+ conference on Programming language design and+ implementation},+ year = 1999,+ isbn = {1-58113-094-5},+ pages = {281--292},+ location = {Atlanta, Georgia, United States},+ doi = {http://doi.acm.org/10.1145/301618.301681},+ publisher = ACM+}++@inproceedings{Bruening2003Infrastructure,+ author = {Derek Bruening and Timothy Garnett and Saman+ Amarasinghe},+ title = {An infrastructure for adaptive dynamic optimization},+ booktitle = {CGO '03: Proceedings of the International Symposium+ on Code Generation and Optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {265--275},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+}++@inproceedings{Felgentreu1986DynamicOpt,+ author = {K.-U. Felgentreu and W.-M. Lippe},+ title = {Dynamic optimization of covered tail recursive+ functions in applicative languages},+ booktitle = {CSC '86: Proceedings of the 1986 ACM fourteenth+ annual conference on Computer science},+ year = 1986,+ isbn = {0-89791-177-6},+ pages = {293--299},+ location = {Cincinnati, Ohio, United States},+ doi = {http://doi.acm.org/10.1145/324634.325437},+ publisher = ACM+}++@PhdThesis{Wallace1995FPEmbedded,+ author = {Malcolm Wallace},+ title = {Functional Programming and Embedded Systems},+ school = {Department of Computer Science, University of York},+ year = 1995,+ month = jan+}++@TechReport{Taivalsaari1998JavaInJava,+ author = {Antero Taivalsaari},+ title = {{Implementing a Java\texttrademark{} Virtual Machine+ in the Java Programming Language}},+ institution = {Sun Microsystems},+ year = 1998,+ number = {TR-98-64}+}++@Article{Agesen1997Pep,+ author = {Ole Agesen},+ title = {{The Design and Implementation of Pep, A+ Java\texttrademark{} Just-In-Time Translator}},+ journal = {Theory and Practice of Object Systems},+ year = 1997,+ volume = 3,+ number = 2,+ pages = {127--155}+}++@inproceedings{Shivers2004MultiReturn,+ author = {Olin Shivers and David Fisher},+ title = {Multi-return function call},+ booktitle = {ICFP '04: Proceedings of the ninth ACM SIGPLAN+ international conference on Functional programming},+ year = 2004,+ isbn = {1-58113-905-5},+ pages = {79--89},+ location = {Snow Bird, UT, USA},+ doi = {http://doi.acm.org/10.1145/1016850.1016864},+ publisher = ACM+}++@inproceedings{Hughes2003PolishParsers,+ author = {R. John M. Hughes and S. Doaitse Swierstra},+ title = {Polish parsers, step by step},+ booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN+ international conference on Functional programming},+ year = 2003,+ isbn = {1-58113-756-7},+ pages = {239--248},+ location = {Uppsala, Sweden},+ doi = {http://doi.acm.org/10.1145/944705.944727},+ publisher = ACM+}++@inproceedings{AdlTabatabai2004Compressing,+ author = {Ali-Reza Adl-Tabatabai and Jay Bharadwaj and Michal+ Cierniak and Marsha Eng and Jesse Fang and Brian+ T. Lewis and Brian R. Murphy and James M. Stichnoth},+ title = {Improving 64-Bit {Java} {IPF} Performance by Compressing+ Heap References},+ booktitle = {CGO '04: Proceedings of the International Symposium+ on Code Generation and Optimization},+ year = 2004,+ isbn = {0-7695-2102-9},+ pages = 100,+ location = {Palo Alto, California},+ publisher = {IEEE Computer Society},+}++@inproceedings{Dehnert2003CodeMorphing,+ author = {James C. Dehnert and Brian K. Grant and John+ P. Banning and Richard Johnson and Thomas Kistler+ and Alexander Klaiber and Jim Mattson},+ title = {{The Transmeta Code Morphing\texttrademark{}+ Software: using speculation, recovery, and adaptive+ retranslation to address real-life challenges}},+ booktitle = {CGO '03: Proceedings of the International Symposium+ on Code Generation and Optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {15--24},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+}++@inproceedings{Scott2003Retargetable,+ author = {K. Scott and N. Kumar and S. Velusamy and+ B. Childers and J. W. Davidson and M. L. Soffa},+ title = {Retargetable and reconfigurable software dynamic+ translation},+ booktitle = {CGO '03: Proceedings of the international symposium+ on Code generation and optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {36--47},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+}+++@inproceedings{Kamin2003Jumbo,+ author = {Sam Kamin and Lars Clausen and Ava Jarvis},+ title = {Jumbo: run-time code generation for Java and its+ applications},+ booktitle = {CGO '03: Proceedings of the international symposium+ on Code generation and optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {48--56},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+}++@inproceedings{Fink2003AdaptiveRecompilation,+ author = {Stephen J. Fink and Feng Qian},+ title = {Design, implementation and evaluation of adaptive+ recompilation with on-stack replacement},+ booktitle = {CGO '03: Proceedings of the international symposium+ on Code generation and optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {241--252},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+}++@TechReport{Bauer1968AlgolWIntro,+ author = {Henry R. Bauer and Sheldon I. Becker and Susan+ L. Graham},+ title = {Algol W Notes for Introductory Computer Science+ Courses},+ institution = {Computer Science Department Stanford University},+ year = 1968,+ month = jan+}++@article{Ledgard1970MiniLang,+ author = {Henry F. Ledgard},+ title = {Ten mini-languages in need of formal definition},+ journal = {SIGPLAN Notices},+ volume = 5,+ number = {4-5},+ year = 1970,+ issn = {0362-1340},+ pages = {14--37},+ doi = {http://doi.acm.org/10.1145/987438.987440},+ publisher = ACM,+}++@Book{Leitch2001PAME,+ author = {Sian Leitch},+ title = {Programming Algol~68 Made Easy},+ publisher = {Phoenix Engineering},+ year = 2001+}++@article{Carr1959RecursiveCompilers,+ author = {John W. {Carr, III}},+ title = {Recursive subscripting compilers and list-type+ memories},+ journal = {Communications of the ACM},+ volume = 2,+ number = 2,+ year = 1959,+ issn = {0001-0782},+ pages = {4--6},+ doi = {http://doi.acm.org/10.1145/368280.368281},+ publisher = ACM,+}++@Misc{VitaleCatenation,+ author = {Benjamin Vitale and Tarek S. Abdelrahman},+ title = {Catenation and Specialization for {Tcl} Virtual+ Machine Performance}+}++@article{Samelson1960SequentialFormula,+ author = {K. Samelson and F. L. Bauer},+ title = {Sequential formula translation},+ journal = {Communications of the ACM},+ volume = 3,+ number = 2,+ year = 1960,+ issn = {0001-0782},+ pages = {76--83},+ doi = {http://doi.acm.org/10.1145/366959.366968},+ publisher = ACM,+}++@article{Bell1973ThreadedCode,+ author = {James R. Bell},+ title = {Threaded code},+ journal = {Communications of the ACM},+ volume = 16,+ number = 6,+ year = 1973,+ issn = {0001-0782},+ pages = {370--372},+ doi = {http://doi.acm.org/10.1145/362248.362270},+ publisher = ACM,+}++@article{Dewar1975IndirectThreadedCode,+ author = {Robert B. K. Dewar},+ title = {Indirect threaded code},+ journal = {Communications of the ACM},+ volume = 18,+ number = 6,+ year = 1975,+ issn = {0001-0782},+ pages = {330--331},+ doi = {http://doi.acm.org/10.1145/360825.360849},+ publisher = ACM,+}++@Article{Strachey1965Macrogenerator,+ author = {C. Strachey},+ title = {A general purpose macrogenerator},+ journal = {Computer Journal},+ year = 1965,+ volume = 8,+ number = 3,+ pages = {225--241}+}++@Article{Ramsey1999Eliminating,+ author = {Norman Ramsey},+ title = {Eliminating Spurious Error Messages Using+ Exceptions, Polymorphism, and Higher-Order+ Functions},+ journal = {Computer Journal},+ year = 1999,+ volume = 42,+ number = 5,+ pages = {360--372}+}++@InProceedings{Widera2001CompleteType,+ author = {Manfred Widera},+ title = {A Sketch of Complete Type Inference for Functional+ Programming},+ booktitle = {International Workshop on Functional and+ (Constraint) Logic Programming (WLFP 2001)},+ year = 2001,+ month = sep+}++@Article{Feeley1992LambdaPlusEps,+ author = {Marc Feeley and Guy Lapalme},+ title = {Closure Generation Based on Viewing LAMBDA As+ EPSILON Plus COMPILE},+ journal = {Journal of Computer Languages},+ year = 1992,+ volume = 17,+ number = 4+}++@Article{Feeley1987ClosureCodeGen,+ author = {Marc Feeley and Guy Lapalme},+ title = {Using Closures for Code Generation},+ journal = {Journal of Computer Languages},+ year = 1987,+ volume = 12,+ number = 1+}++@InProceedings{Debray1999LimkTime,+ author = {Saumya Debray and Robert Muth and Scott Watterson},+ title = {Link-time Improvement of Scheme Programs},+ booktitle = {International Conference on Compiler Construction+ (CC'99)},+ year = 1999,+ month = mar+}++@Misc{DePristo2000SINTL,+ author = {Mark DePristo},+ title = {SINTL: A Strongly-Typed Generic Intermediate+ Language for Scheme},+ month = may,+ year = 2000,+ note = {Northwestern University}+}++@Misc{Bonzini2000GNULightning,+ author = {Paolo Bonzini},+ title = {{GNU Lightning}},+ howpublished = {Available from: \url{http://www.gnu.org/software/lightning}},+ year = 2000+}++@PhdThesis{Franz1994PhD,+ author = {Michael Steffen Oliver Franz},+ title = {Code-Generation On-the-fly: A Key to Portable+ Software},+ school = {ETH Z{\"u}rich},+ year = 1994+}++@inproceedings{Kay1993EarlyHistorySmalltalk,+ author = {Alan C. Kay},+ title = {The early history of Smalltalk},+ booktitle = {HOPL-II: The second ACM SIGPLAN conference on+ History of programming languages},+ year = 1993,+ isbn = {0-89791-570-4},+ pages = {69--95},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/154766.155364},+ publisher = ACM,+}++@inproceedings{Wirth1993DevelopmentPascal,+ author = {N. Wirth},+ title = {Recollections about the development of Pascal},+ booktitle = {HOPL-II: The second ACM SIGPLAN conference on+ History of programming languages},+ year = 1993,+ isbn = {0-89791-570-4},+ pages = {333--342},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/154766.155378},+ publisher = ACM,+}++@inproceedings{Roejemo1995nhcHighlights,+ author = {Niklas R{\"o}jemo},+ title = {Highlights from nhc---space-efficient Haskell+ compiler},+ booktitle = {FPCA '95: Proceedings of the seventh international+ conference on Functional programming languages and+ computer architecture},+ year = 1995,+ isbn = {0-89791-719-7},+ pages = {282--292},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/224164.224217},+ publisher = ACM,+}++@inproceedings{Wadler1981ApplicativeStyle,+ author = {Philip Wadler},+ title = {Applicative style programming, program+ transformation, and list operators},+ booktitle = {FPCA '81: Proceedings of the 1981 conference on+ Functional programming languages and computer+ architecture},+ year = 1981,+ isbn = {0-89791-060-5},+ pages = {25--32},+ location = {Portsmouth, New Hampshire, United States},+ publisher = ACM,+}++@inproceedings{Wadler1989TheoremsForFree,+ author = {Philip Wadler},+ title = {Theorems for free!},+ booktitle = {FPCA '89: Proceedings of the fourth international+ conference on Functional programming languages and+ computer architecture},+ year = 1989,+ isbn = {0-89791-328-0},+ pages = {347--359},+ location = {Imperial College, London, United Kingdom},+ doi = {http://doi.acm.org/10.1145/99370.99404},+ publisher = ACM,+}++@inproceedings{Nielson1989TransformationsHOF,+ author = {Hanne Riis Nielson and Flemming Nielson},+ title = {Transformations on higher-order functions},+ booktitle = {FPCA '89: Proceedings of the fourth international+ conference on Functional programming languages and+ computer architecture},+ year = 1989,+ isbn = {0-89791-328-0},+ pages = {129--143},+ location = {Imperial College, London, United Kingdom},+ doi = {http://doi.acm.org/10.1145/99370.99380},+ publisher = ACM,+}++@inproceedings{Diniz1997DynamicFeedback,+ author = {Pedro C. Diniz and Martin C. Rinard},+ title = {Dynamic feedback: an effective technique for+ adaptive computing},+ booktitle = {PLDI '97: Proceedings of the ACM SIGPLAN 1997+ conference on Programming language design and+ implementation},+ year = 1997,+ isbn = {0-89791-907-6},+ pages = {71--84},+ location = {Las Vegas, Nevada, United States},+ doi = {http://doi.acm.org/10.1145/258915.258923},+ publisher = ACM,+}++@inproceedings{Colby2000CertifyingCompiler,+ author = {Christopher Colby and Peter Lee and George C. Necula+ and Fred Blau and Mark Plesko and Kenneth Cline},+ title = {A certifying compiler for Java},+ booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000+ conference on Programming language design and+ implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {95--107},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349315},+ publisher = ACM,+}++@inproceedings{Cierniak2000PracticingJUDO,+ author = {Michal Cierniak and Guei-Yuan Lueh and James+ M. Stichnoth},+ title = {Practicing JUDO: Java under dynamic optimizations},+ booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000+ conference on Programming language design and+ implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {13--26},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349306},+ publisher = ACM,+}++@inproceedings{Fernandez1995LinkTimeModula,+ author = {Mary F. Fern{\'a}ndez},+ title = {Simple and effective link-time optimization of+ Modula-3 programs},+ booktitle = {PLDI '95: Proceedings of the ACM SIGPLAN 1995+ conference on Programming language design and+ implementation},+ year = 1995,+ isbn = {0-89791-697-2},+ pages = {103--115},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/207110.207121},+ publisher = ACM,+}++@inproceedings{Sullivan2003DynamicNativeOpt,+ author = {Gregory T. Sullivan and Derek L. Bruening and Iris+ Baron and Timothy Garnett and Saman Amarasinghe},+ title = {Dynamic native optimization of interpreters},+ booktitle = {IVME '03: Proceedings of the 2003 workshop on+ Interpreters, Virtual Machines and Emulators},+ year = 2003,+ isbn = {1-58113-655-2},+ pages = {50--57},+ location = {San Diego, California},+ doi = {http://doi.acm.org/10.1145/858570.858576},+ publisher = ACM,+}++@inproceedings{AdlTabatabai1998FastCodeGenJIT,+ author = {Ali-Reza Adl-Tabatabai and Michal Cierniak and+ Guei-Yuan Lueh and Vishesh M. Parikh and James+ M. Stichnoth},+ title = {Fast, effective code generation in a just-in-time+ {Java} compiler},+ booktitle = {PLDI '98: Proceedings of the ACM SIGPLAN 1998+ Conference on Programming Language Design and+ Implementation},+ year = 1998,+ isbn = {0-89791-987-4},+ pages = {280--290},+ location = {Montreal, Quebec, Canada},+ doi = {http://doi.acm.org/10.1145/277650.277740},+ publisher = ACM,+}++@inproceedings{Whaley2003Joeq,+ author = {John Whaley},+ title = {Joeq: a virtual machine and compiler infrastructure},+ booktitle = {IVME '03: Proceedings of the 2003 workshop on+ Interpreters, Virtual Machines and Emulators},+ year = 2003,+ isbn = {1-58113-655-2},+ pages = {58--66},+ location = {San Diego, California},+ doi = {http://doi.acm.org/10.1145/858570.858577},+ publisher = ACM,+}++@inproceedings{Ayers1997AggressiveInlining,+ author = {Andrew Ayers and Richard Schooler and Robert+ Gottlieb},+ title = {Aggressive inlining},+ booktitle = {PLDI '97: Proceedings of the ACM SIGPLAN 1997+ conference on Programming language design and+ implementation},+ year = 1997,+ isbn = {0-89791-907-6},+ pages = {134--145},+ location = {Las Vegas, Nevada, United States},+ doi = {http://doi.acm.org/10.1145/258915.258928},+ publisher = ACM,+}++@inproceedings{Krintz2001AnnotationsReduce,+ author = {Chandra Krintz and Brad Calder},+ title = {Using annotations to reduce dynamic optimization+ time},+ booktitle = {PLDI '01: Proceedings of the ACM SIGPLAN 2001+ conference on Programming language design and+ implementation},+ year = 2001,+ isbn = {1-58113-414-2},+ pages = {156--167},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/378795.378831},+ publisher = ACM,+}++@Book{Bauer1976CompilerConstruction,+ editor = {F. L. Bauer and J. Eickel},+ title = {Compiler Construction -- An Advanced Course},+ publisher = SV,+ year = 1976,+ edition = {Second},+ series = LNCS,+ published = SV+}++@Book{Salomon2004DataCompression,+ author = {David Salomon},+ title = {Data Compression: The Complete Reference},+ publisher = SV,+ year = 2004,+ edition = {Third}+}++@Book{Salomon1993AssemblersAndLoaders,+ author = {David Salomon},+ title = {Assemblers and Loaders},+ publisher = {Ellis Horwood Ltd},+ year = 1993,+ series = {Ellis Horwood Series in Computers and Their+ Applications}+}++@Unpublished{Pfenning2002LinearLogic,+ author = {Frank Pfenning},+ title = {Linear Logic},+ note = {Course Notes},+ month = jan,+ year = 2002+}++@PhdThesis{Bruening2004PhD,+ author = {Derek L. Bruening},+ title = {Efficient, Transparent, and Comprehensive Runtime+ Code Manipulation},+ school = {Massachusetts Institute of Technology},+ year = 2004,+ month = sep+}++@Book{Barendregt1985LambdaCalculus,+ author = {H. P. Barendregt},+ title = {The Lambda Calculus},+ publisher = NH,+ year = 1985,+ volume = 103,+ series = {Studies in Logic and the Foundations of Mathematics},+ edition = {Revised}+}++@Proceedings{Hermenegildo2002SAS,+ title = {Static Analysis},+ year = 2002,+ booktitle = {Proceedings of the 9th International Symposium, SAS+ 2002},+ editor = {Manuel V. Hermenegildo and Germ{\'a}n Puebla},+ volume = 2477,+ series = LNCS,+ publisher = SV+}++@PhdThesis{Ward1989PhD,+ author = {Martin Ward},+ title = {Proving Program Refinements and Transformations},+ school = {St. Annes College Oxford},+ year = 1989,+ month = jun+}++@Misc{Transitive2005Homepage,+ author = {Transitive Limited},+ title = {Transitive Home Page},+ note = {Available from: \url{http://www.transitive.com}},+ month = apr,+ year = 2005+}++@TechReport{Allen2005FortressSpec,+ author = {Eric Allen and David Chase and Victor Luchangco and+ Jan-Willem Maessen and Sukyoung Ryu and Guy+ L. {Steele Jr.} and Sam Tobin-Hochstadt},+ title = {The {Fortress} Language Specification Version 0.618},+ institution = {Sun Microsystems Research Labs},+ year = 2005,+ month = apr+}++@Misc{Dybvig2005MonadicSubcomputations,+ author = {R. Kent Dybvig and Simon Peyton-Jones and Amr Sabry},+ title = {A Monadic Framework for Subcontinuations},+ howpublished = {Available from:+ \url{http://www.cs.indiana.edu/~sabry/papers/monadicSubcont.ps}},+ month = feb,+ year = 2005+}++@InProceedings{Pardo2002GenericAccumulations,+ author = {Alberto Pardo},+ title = {Generic Accumulations},+ booktitle = {IFIP WG2.1 Working Conference on Generic+ Programming},+ year = 2002,+ address = {Dagstuhl, Germany},+ month = jul+}++@MastersThesis{Feeley1986DeuxApproches,+ author = {Marc Feeley},+ title = {Deux approches {\`a} l'implantation du language+ Scheme},+ school = {Universit{\'e} de Montr{\'e}al},+ year = 1986,+ month = may+}++@Article{Hartel1996Benchmarking,+ author = {Pieter H. Hartel and Marc Feeley and Martin Alt and+ Lennart Augustson and Peter Baumann and Marcel+ Beemster and Emmanuel Chailloux and Christine+ H. Flood and Wolfgang Grieskamp and John H. G. van+ Groningen and Kevin Hammond and Bogumil Hausman and+ Melody Y. Ivory and Richard E. Jones and Jasper+ Kamperman and Peter Lee and Xavier Leroy and Rafael+ D. Lins and Sandra Loosemore and Niklas R{\"o}jemo+ and Manuel Serrano and Jean-Pierre Talpin and John+ Thackray and Stephen Thomas and Pum Walters and+ Pierre Weis and Peter Wentworth},+ title = {Benchmarking Implementations of Functional Languages+ with ``Pseudoknot'', a Float-Intensive Benchmark},+ journal = {Journal of Functional Programming},+ year = 1996,+ volume = 6,+ number = 4,+ pages = {621--655}+}++@inproceedings{Kohlhase1997DynamicLambdaCalculus,+ author = {Michael Kohlhase and Susanna Kuschert},+ title = {Dynamic Lambda Calculus},+ booktitle = {Proceedings of the 5th Meeting on Mathematics of+ Language - MOL5},+ year = 1997,+ pages = {85--92},+}++@PhdThesis{Brand2005PhD,+ author = {Per Brand},+ title = {The Design Philosphy of Distributed Programming+ Systems: the Mozart Experience},+ school = {Royal Institute of Technology Stockholm},+ year = 2005,+ month = jun+}++@Book{Cormen2001IntroToAlgorithms,+ author = {Thomas H. Cormen and Charles E. Leiserson and Ronald+ L. Rivest and Clifford Stein},+ title = {Introduction to Algorithms},+ publisher = {MIT Press},+ year = 2001,+ edition = {Second}+}++@inproceedings{Vytiniotis2006BoxyTypes,+ author = {Dimitrios Vytiniotis and Stephanie Weirich and Simon+ Peyton Jones},+ title = {Boxy types: inference for higher-rank types and+ impredicativity},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ international conference on Functional programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {251--262},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159838},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Graham1982gprof,+ author = {Susan L. Graham and Peter B. Kessler and Marshall+ K. Mckusick},+ title = {Gprof: A call graph execution profiler},+ booktitle = {SIGPLAN '82: Proceedings of the 1982 SIGPLAN+ symposium on Compiler construction},+ year = 1982,+ isbn = {0-89791-074-5},+ pages = {120--126},+ location = {Boston, Massachusetts, United States},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Brooks1982OptimizingLISP,+ author = {Rodney A. Brooks and Richard P. Gabriel and Guy+ L. Steele, Jr.},+ title = {An optimizing compiler for lexically scoped LISP},+ booktitle = {SIGPLAN '82: Proceedings of the 1982 SIGPLAN+ symposium on Compiler construction},+ year = {1982},+ isbn = {0-89791-074-5},+ pages = {261--275},+ location = {Boston, Massachusetts, United States},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Brooks1986DesignOptimizing,+ author = {Rodney A. Brooks and David B. Posner and James+ L. McDonald and Jon L. White and Eric Benson and+ Richard P. Gabriel},+ title = {Design of an optimizing, dynamically retargetable+ compiler for common Lisp},+ booktitle = {LFP '86: Proceedings of the 1986 ACM conference on+ LISP and functional programming},+ year = 1986,+ isbn = {0-89791-200-4},+ pages = {67--85},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/319838.319851},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Whaley2001PartialMethodCompilation,+ author = {John Whaley},+ title = {Partial method compilation using dynamic profile+ information},+ booktitle = {OOPSLA '01: Proceedings of the 16th ACM SIGPLAN+ conference on Object oriented programming, systems,+ languages, and applications},+ year = 2001,+ isbn = {1-58113-335-9},+ pages = {166--179},+ location = {Tampa Bay, FL, USA},+ doi = {http://doi.acm.org/10.1145/504282.504295},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Levanoni2001OnTheFlyGC,+ author = {Yossi Levanoni and Erez Petrank},+ title = {An on-the-fly reference counting garbage collector+ for Java},+ booktitle = {OOPSLA '01: Proceedings of the 16th ACM SIGPLAN+ conference on Object oriented programming, systems,+ languages, and applications},+ year = 2001,+ isbn = {1-58113-335-9},+ pages = {367--380},+ location = {Tampa Bay, FL, USA},+ doi = {http://doi.acm.org/10.1145/504282.504309},+ publisher = ACM,+ address = {New York, NY, USA},+}++@MastersThesis{Broberg2005Thesis,+ author = {Niklas Broberg},+ title = {Haskell Server Pages},+ school = {Chalmers University of Technology},+ year = 2005+}++@Article{Dijkstra1972HumbleProgrammer,+ author = {Edsger W. Dijkstra},+ title = {EWD 340: The humble programmer},+ journal = CACM,+ year = 1972,+ volume = 15,+ number = 10,+ pages = {859--866}+}++@Article{Petrank2004DelayedAllocation,+ author = {Erez Petrank and Elliot K. Kolodner},+ title = {Parallel Copying Garbage Collection using Delayed+ Allocation},+ journal = {Parallel Processing Letters},+ year = 2004,+ volume = 14,+ number = 2,+ month = jun+}++@InProceedings{Chakravarty2001Nepal,+ author = {Manuel M. T. Chakravarty and Gabriele Keller and+ Roman Lechtchinsky and Wolf Pfannenstiel},+ title = {Nepal -- Nested Data-Parallelism in Haskell.},+ booktitle = {Euro-Par 2001: Parallel Processing, 7th+ International Euro-Par Conference,},+ pages = {524--534},+ year = 2001,+ editor = {Rizos Sakellariou and John Keane and John R. Gurd+ and Len Freeman},+ volume = 2150,+ series = LNCS,+ publisher = SV+}++@InProceedings{Chakravarty2004SSAOptimisation,+ author = {Manuel M. T. Chakravarty and Gabriele Keller and+ Patryk Zadarnowski},+ title = {A Functional Perspective on SSA Optimisation+ Algorithms},+ booktitle = {2nd International Workshop on Compiler Optimization+ Meets Compiler Verification (COCV 2003),},+ year = 2004,+ volume = {82:2},+ series = {Electronic Notes in Theoretical Computer Science},+ publisher = {Elsevier Science}+}++@article{Wadler1987CritiqueAbelson,+ author = {P Wadler},+ title = {A critique of Abelson and Sussman or why calculating+ is better than scheming},+ journal = {SIGPLAN Notices},+ volume = 22,+ number = 3,+ year = 1987,+ issn = {0362-1340},+ pages = {83--94},+ doi = {http://doi.acm.org/10.1145/24697.24706},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Chakravarty1991LazyNarrowing,+ author = {Manuel M. T. Chakravarty and Hendrik C. R. Lock},+ title = {The Implementation of Lazy Narrowing},+ booktitle = {Programming Language, Implementation, and Logic+ Programming, 3rd International Symposium PLILP'91},+ pages = {123--134},+ year = 1991,+ editor = {J. Maluszunski and M. Wirsing},+ volume = 528,+ series = LNCS,+ publisher = SV+}++@Article{Smith1994PrincipalTypeSchemes,+ author = {Geoffrey S. Smith},+ title = {Principal Type Schemes for Functional Programs with+ Overloading and Subtyping},+ journal = {Science of Computer Programming},+ year = 1994,+ volume = 23,+ number = {2--3},+ pages = {197--226},+ month = dec+}++@Article{Reynolds1970Gedanken,+ author = {John C. Reynolds},+ title = {GEDANKEN--A Simple Typeless Language Based on the+ Principle of Completeness and the Reference Concept},+ journal = CACM,+ year = 1970,+ volume = 13,+ number = 5,+ pages = {308--319},+ month = may+}++@Book{Pepper2005ProgrammierenMitJava,+ author = {Peter Pepper},+ title = {Programmieren mit Java},+ publisher = SV,+ year = 2005+}++@article{ Pepper1997HighlevelDerivation,+ author = "Peter Pepper and Douglas R. Smith",+ title = "A High-Level Derivation of Global Search Algorithms+ (with Constraint Propagation)",+ journal = "Science of Computer Programming",+ volume = 28,+ number = "2-3",+ pages = "247-271",+ year = 1997,+ url = "citeseer.ist.psu.edu/pepper96highlevel.html"+}++@inproceedings{Cousot1977AbstractInterpretation,+ author = {Patrick Cousot and Radhia Cousot},+ title = {Abstract interpretation: a unified lattice model for+ static analysis of programs by construction or+ approximation of fixpoints},+ booktitle = {POPL '77: Proceedings of the 4th ACM SIGACT-SIGPLAN+ symposium on Principles of programming languages},+ year = 1977,+ pages = {238--252},+ location = {Los Angeles, California},+ doi = {http://doi.acm.org/10.1145/512950.512973},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Johnsson1985LambdaLifting,+ author = {Thomas Johnsson},+ title = {Lambda lifting: transforming programs to recursive+ equations},+ booktitle = {Proceedings of the International Conference of+ Functional programming languages and computer+ architecture},+ publisher = SV,+ volume = 201,+ series = LNCS,+ year = 1985,+ url = {citeseer.ist.psu.edu/johnsson85lambda.html}+}++@article{ PeytonJones1998Transformationbased,+ author = "Simon L. {Peyton Jones} and Andr{\'e} L. M. Santos",+ title = "A transformation-based optimiser for {Haskell}",+ journal = "Science of Computer Programming",+ volume = 32,+ number = "1--3",+ pages = "3--47",+ year = 1998,+ url =+ "citeseer.ist.psu.edu/peytonjones98transformationbased.html"+}++@inproceedings{ PeytonJones1996Compiling,+ author = "Simon L. Peyton Jones",+ title = "Compiling Haskell by Program Transformation: A+ Report from the Trenches",+ booktitle = "European Symposium on Programming",+ pages = "18-44",+ year = 1996,+ url = "citeseer.ist.psu.edu/peytonjones96compiling.html"+}++@inproceedings{Backus1973SemanticsApplicative,+ author = {John Backus},+ title = {Programming language semantics and closed+ applicative languages},+ booktitle = {POPL '73: Proceedings of the 1st annual ACM+ SIGACT-SIGPLAN symposium on Principles of+ programming languages},+ year = 1973,+ pages = {71--86},+ location = {Boston, Massachusetts},+ doi = {http://doi.acm.org/10.1145/512927.512934},+ publisher = ACM,+ address = {New York, NY, USA},+}++@phdthesis{Santos1995PhD,+ author = "Santos, Andr\'e",+ title = "{C}ompilation by {T}ransformation in {N}on-{S}trict+ {F}unctional {L}anguages",+ year = 1995,+ url = "citeseer.ist.psu.edu/santos95compilation.html"+}++@inproceedings{Augustsson1993ImplementingOverloading,+ author = {Lennart Augustsson},+ title = {Implementing {Haskell} overloading},+ booktitle = {FPCA '93: Proceedings of the Conference on+ Functional Programming Languages and Computer+ Architecture},+ year = {1993},+ isbn = {0-89791-595-X},+ pages = {65--73},+ location = {Copenhagen, Denmark},+ doi = {http://doi.acm.org/10.1145/165180.165191},+ publisher = ACM,+ address = {New York, NY, USA},+}++@phdthesis{Hunt1991AbstractInterpretation,+ author = "Sebastian Hunt",+ title = "{A}bstract {I}nterpretation of {F}unctional+ {L}anguages: {F}rom {T}heory to {P}ractice",+ school = {University of London, Imperial College},+ month = "October",+ year = 91,+ url = "citeseer.ist.psu.edu/hunt91abstract.html"+}++@TechReport{Pepper2004PowefulParsers,+ author = {Peter Pepper},+ title = {How To Obtain Powerful Parsers That Are Elegant and+ Practical},+ institution = {Technische Universit{\"a}t Berlin},+ year = 2004,+ type = {Research report},+ number = {\mbox{2004-01} in {\em Forschungsberichte Fakult{\"a}t IV+ -- Elektrotechnik und Informatik}},+ month = mar+}++@InProceedings{Bierman2005EssenceDataAccess,+ author = {Gavin Bierman and Erik Meijer and Wolfram Schulte},+ title = {The essence of data access in C$\omega$ -- The power+ is in the dot!},+ booktitle = {ECOOP'05},+ year = 2005,+ note = {Accepted for publicatio}+}++@InProceedings{Wadler1989HowAdHoc,+ author = {P. Wadler and S. Blott},+ title = {How to make ad-hoc polymorphism less ad-hoc},+ pages = {60--76},+ booktitle = {Conference Record of the 16th Annual {ACM} Symposium+ on Principles of Programming Languages},+ publisher = ACM,+ month = jan,+ year = 1989,+ documenturl =+ {ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/authors/Philip_Wadler/how-to-make-ad-hoc-poly-less-ad-hoc.dvi},+ url = {citeseer.ist.psu.edu/wadler88how.html}+}++@article{Cmelik1994Shade,+ author = "Robert Cmelik and David Keppel",+ title = "{S}hade: {A} Fast Instruction-Set Simulator for+ Execution Profiling",+ journal = "ACM SIGMETRICS Performance Evaluation Review",+ volume = 22,+ number = 1,+ month = "May",+ pages = "128--137",+ year = 1994,+ url = "citeseer.ist.psu.edu/article/cmelik93shade.html"+}++@inproceedings{Burke1999Jalapeno,+ author = "M. Burke and J. Choi and S. Fink and D. Grove and+ M. Hind and V. Sarkar and M. Serrano and V. Sreedhar+ and H. Srinivasan and J. Whaley",+ title = "The {Jalape{\~n}o} dynamic optimizing compiler for {Java}",+ booktitle = "Proceedings ACM 1999 Java Grande Conference",+ pages = "129--141",+ month = jun,+ year = 1999,+ organization = ACM,+ address = "San Francisco, CA, United States",+ url = "citeseer.ist.psu.edu/burke99jalapentildeo.html",+ url = "citeseer.nj.nec.com/burke99jalapentildeo.html"+}++@InProceedings{Stuckey2002TheoryOverloading,+ author = {P.~J.~Stuckey and M.~Sulzmann },+ title = {A Theory of Overloading},+ booktitle = {Proc. of ICFP'02},+ pages = {167--178},+ year = 2002,+ publisher = ACM+}++@InProceedings{Jones2000FunDep,+ author = {Mark P. Jones},+ title = {Type Classes with Functional Dependencies},+ booktitle = {Proceedings of the 9th European Symposium on+ Programming, ESOP 2000},+ year = 2000,+ volume = 1782,+ series = LNCS,+ address = {Berlin, Germany},+ month = mar,+ publisher = SV+}++@InProceedings{Jones1998FunctionsJava,+ author = {Mark P. Jones},+ title = {The Functions of Java Bytecode},+ booktitle = {Proceedings of the OOPSLA '98 workshop on Formal+ Underpinnings of Java},+ year = 1998,+ address = {Vancouver, BC, Canada},+ month = oct+}++@InProceedings{Jones1995FunctionalProgramming,+ author = {Mark P. Jones},+ title = {Functional Programming with Overloading and+ Higher-Order Polymorphism},+ booktitle = {First International Spring School on Advanced+ Functional Programming Techniques},+ pages = "97-136",+ year = 1995,+ volume = 925,+ series = LNCS,+ address = {B{\aa}stad, Sweden},+ month = may,+ publisher = SV+}++@TechReport{Appel1994MakingLambda,+ author = {Andrew W. Appel and Trevor Jim},+ title = {Making Lambda Calculus Smaller, Faster},+ institution = {Princeton University},+ year = 1994,+ number = {CS-TR-477-94},+ month = nov+}++@Misc{Kelsey1997PreScheme,+ author = {Richard Kelsey},+ title = {Pre-Scheme: A Scheme Dialect for Systems+ Programming},+ howpublished = {Available from: \url{http://mumble.net/~kelsey},+ last visisted: 2005-06-06},+ month = jun,+ year = 1997+}++@InProceedings{Shivers2003CFARetrospect,+ author = {Olin Shivers},+ title = {Higher-order control-flow analysis in retrospect:+ Lessons learned, lessons abandoned},+ booktitle = {20 years of the ACM/SIGPLAN Conference on+ Programming Language Design and Implementation+ (1979--1999): A Selection, 2003},+ year = 2003+}++@inproceedings{ Steele1994BuildingInterpreters,+ author = "Guy L. {Steele, Jr.}",+ title = "Building interpreters by composing monads",+ booktitle = "Conference record of {POPL} '94, 21st {ACM+ {SIGPLAN}-{SIGACT}} Symposium on Principles of+ Programming Languages: Portland, Oregon, January+ 17--21, 1994",+ publisher = ACM,+ address = "New York, NY, USA",+ editor = "{ACM}",+ isbn = "0-89791-636-0",+ pages = "472--492",+ year = 1994,+ url = "citeseer.ist.psu.edu/steele94building.html"+}++@Article{Morrisett2002STAL,+ author = {Greg Morrisett and Karl Crary and Neal Glew and David+ Walker},+ title = {Stack-Based Typed Assembly Language},+ journal = {Journal of Functional Programming},+ year = 2002,+ volume = 12,+ number = 1,+ pages = {43--88},+ month = jan+}++@PhdThesis{Glew2000PhD,+ author = {Neal Glew},+ title = {Low-Level Type Systems for Modularity and+ Object-Oriented Constructs},+ school = {Cornell University},+ year = 2000,+ address = {4130 Upson Hall, Ithaca, NY 14853-7501, USA},+ month = jan+}++@inproceedings {Greiner1996ProvablyImplementation,+ author = "John Greiner and Guy~E. Blelloch",+ title = "A Provably Time-Efficient Parallel Implementation of+ Full Speculation",+ booktitle = "Proceedings of the 23rd ACM Symposium on Principles+ of Programming Languages",+ year = 1996,+ month = jan,+ pages = "309--321"+}++@inproceedings {Blelloch1996ProvableNesl,+ author = "Guy~E. Blelloch and John Greiner",+ title = "A Provable Time and Space Efficient Implementation+ of NESL",+ booktitle = "ACM SIGPLAN International Conference on Functional+ Programming",+ year = 1996,+ month = may,+ pages = "213--225"+}++@Misc{Harper2004TheoryAndPractice,+ author = {Robert Harper},+ title = {Programming Languages: Theory and Practice},+ howpublished = {Available on the World Wide Web:+ \url{http://www-edlab.cs.umass.edu/cs530/Harper/HarperDec17-2004.pdf},+ last visited: 2005-06-07},+ month = dec,+ year = 2004,+ note = {Draft}+}++@inproceedings{Brassel2005RuntimeProfiling,+ author = "B. Brassel and M. Hanus and F. Huch and J. Silva and+ G. Vidal",+ title = "{Runtime Profiling of Functional Logic Programs}",+ booktitle = "Logic-based Program Synthesis and Transformation+ (revised and selected papers from LOPSTR'04)",+ editor = "Sandro Etalle",+ publisher = "Springer LNCS 3573",+ pages = "182-197",+ year = 2005,+}++@InProceedings{Sansom1995TimeAndSpace,+ author = {Patrick M. Sansom and Simon L. {Peyton Jones}},+ title = {Time and space profiling for non-strict,+ higher-order functional languages},+ booktitle = {Proceedings of 22nd ACM Symposium on Principles of+ Programming Languages},+ year = 1995,+ address = {San Francisco},+ month = jan+}++@InProceedings{Sansom1993GenerationalGC,+ author = {Patrick M. Sansom and Simon L. {Peyton Jones}},+ title = {Generational garbage collection for Haskell},+ booktitle = {Proceedings of FPCA'93},+ year = 1993+}++@Misc{Michaelson2003FSM-Hume,+ author = {Greg Michaelson and Kevin Hammond and Jocelyn Serot},+ title = {FSM-Hume: Programming Resource-Limited Systems using+ Bounded Automata},+ howpublished = {Available on the World Wide Web: \url{http://www-fp.dcs.st-and.ac.uk/hume/papers/}},+ month = aug,+ year = 2003,+ note = {Submitted to SAC'04}+}++@InProceedings{Mogensen1992SelfApplicable,+ author = {Torben {\AE}. Mogensen},+ title = {Self-applicable Partial Evaluation for Pure Lambda+ Calculus},+ booktitle = {ACM SIGPLAN Conference on Partial Evaluation and+ Semantics-based Program Manipulation},+ year = 1992+}++@InProceedings{Asai1997PESideEffects,+ author = {Kenichi Asai and Hidehiko Masuhara and Akinori+ Yonezawa},+ title = {Partial Evaluation of Call-by-value Lambda-calculus+ with Side-effects},+ booktitle = {ACM SIGPLAN Conference on Partial Evaluation and+ Semantics-Based Program Manipulation (PEPM '97)},+ year = 1997,+ month = jun+}++@PhdThesis{Amtoft1993Sharing,+ author = {Torben Amtoft},+ title = {Sharing of Computations},+ school = {Computer Science Department, Aarhus University},+ year = 1993,+ address = {Ny Munkegade, DK-8000 {\AA}rhus C, Denmark},+ month = aug+}++@inproceedings{Henglein1995SafePolymorphic,+ author = {Fritz Henglein and Jakob Rehof},+ title = {Safe polymorphic type inference for a dynamically+ typed language: translating Scheme to ML},+ booktitle = {FPCA '95: Proceedings of the seventh international+ conference on Functional programming languages and+ computer architecture},+ year = 1995,+ isbn = {0-89791-719-7},+ pages = {192--203},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/224164.224203},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Baars2002TypingDynamicTyping,+ author = {Arthur I. Baars and S. Doaitse Swierstra},+ title = {Typing Dynamic Typing},+ booktitle = {ICFP'02},+ year = 2002,+ address = {Pittsburgh, Pennsylvania, USA},+ month = oct+}++@PHDTHESIS{Sands1999PhD,+ author = {D. Sands},+ title = {Calculi for Time Analysis of Functional Programs},+ school = {Department of Computing, Imperial College},+ year = {1990},+ address = {University of London},+ month = {September},+ abstract = {Techniques for reasoning about extensional properties of+functional programs are well-understood, but methods for analysing the+underlying intensional, or operational properties have been much neglected.+This thesis presents the development of several calculi for time analysis+of functional programs.++We focus on two features, higher-order functions and lazy evaluation, which+contribute much to the expressive power and semantic elegance of+functional languages, but serve to make operational properties more+opaque.++Analysing higher-order functions is problematic because complexity is+dependent not only on the cost of computing, but also on the cost of {\em+applying}\ function-valued expressions. Techniques for statically deriving+programs which compute time-cost in the presence of arbitrary higher-order+functions are developed. The key to this process is the introduction of+syntactic structures called {\em cost-closures}, which enable intensional+properties to be carried by functions. The approach is formalised by the+construction of an appropriate cost-model, against which the correctness of+the derivation is proved. A specific factorisation tactic for reasoning+about higher-order functions out of context is illustrated.++Reasoning about lazy evaluation (ie call-by-name, or more usually,+call-by-need) is problematic because the cost of evaluating an expression+cannot be understood simply from the costs of its sub-expressions. A+direct calculus for reasoning about a call-by-name language with lazy lists+is derived from a simple operational model. In order to extend this+calculus with a restricted form of equational reasoning, a nonstandard+notion of operational approximation called {\em cost-simulation} is+developed, by analogy with {\em (bi)simulation} in CCS.++The problem with calculi of the above form, based directly on an+operational model, is that they do not yield a {\em compositional}+description of cost, and cannot model {\em lazy evaluation}+(graph-reduction) easily. We show how a description of the {\em context} in+which a function is evaluated can be used to parameterise two types of+time-equation: {\em sufficient-time} equations and {\em necessary-time}+equations, which together provide bounds on the exact time-cost of lazy+evaluation. This approach is extended to higher-order functions using a+modification of the cost-closure technique.},+ ps = {http://www.cs.chalmers.se/~dave/papers/PhDthesis.ps},+}++@Book{Rabhi1999Algorithms,+ author = {Fethi Rabhi and Guy Lapalme},+ title = {Algorithms -- A Functional Language Approach},+ publisher = AW,+ year = 1999+}++@TechReport{Shivers2004BottomUpBetaSubstitution,+ author = {Olin Shivers and Mitchell Wand},+ title = {Bottum-Up $\beta$-Substitution: Uplinks and $\lambda$-DAGs},+ institution = {BRICS, Department of Computer Science, University of Aarhus},+ year = 2004,+ number = {RS-04-38},+ month = dec+}+++@InProceedings{Wakeling1995ThrowAway,+ author = {D. Wakeling},+ title = {A Throw-Away Compiler for a Lazy Functional+ Language},+ booktitle = {Proceedings of the Fuji International Workshop on+ Functional and Logic Programming},+ pages = {287--300},+ year = 1995,+ month = jul,+ organization = {World Scientific}+}++@InProceedings{Pil1996FileIO,+ author = {Marco Pil},+ title = {First Class File I/O},+ booktitle = {Proceedings of IFL'96},+ year = 1996,+ series = LNCS,+ publisher = SV+}++@Misc{LeoneDeferredCompilation,+ author = {Mark Leone and Peter Lee},+ title = {Deferred compilation: The automation of run-time+ code generation},+ howpublished = {Available from:+ \url{http://www-2.cs.cmu.edu/~petel/papers/staged/deferred-comp.ps}}+}++@InProceedings{Cridlig1992OptimizingMLCompiler,+ author = {R{\'e}gis Cridlig},+ title = {An optimizing ML to C compiler},+ booktitle = {ACM SIGPLAN '92 Workshop on ML and its applications},+ year = 1992+}++@TechReport{Ducasse1995ProgrammingEnvironments,+ author = {Mirielle Ducass{\'e} and Jacques Noy{\'e}},+ title = {Logic Programming Environments: Dynamic Program+ Analysis and Debugging},+ institution = {INRIA},+ year = 1995,+ type = {Rapport de recherche},+ number = {N${}^{\rm o}$2618},+ month = jul+}++@article{Dornic1992PolymorphicTimeSystems,+ author = {Vincent Dornic and Pierre Jouvelot and David+ K. Gifford},+ title = {Polymorphic time systems for estimating program+ complexity},+ journal = {ACM Lett. Program. Lang. Syst.},+ volume = 1,+ number = 1,+ year = 1992,+ issn = {1057-4514},+ pages = {33--45},+ doi = {http://doi.acm.org/10.1145/130616.130620},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Danvy1992CPSTransformation,+ author = {Olivier Danvy and John Hatcliff},+ title = {CPS-transformation after strictness analysis},+ journal = {ACM Lett. Program. Lang. Syst.},+ volume = 1,+ number = 3,+ year = 1992,+ issn = {1057-4514},+ pages = {195--212},+ doi = {http://doi.acm.org/10.1145/151640.151641},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Moreau2005ResourceAwareProgramming,+ author = {Luc Moreau and Christian Queinnec},+ title = {Resource aware programming},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 27,+ number = 3,+ year = 2005,+ issn = {0164-0925},+ pages = {441--476},+ doi = {http://doi.acm.org/10.1145/1065887.1065891},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Chitil2005PrettyPrinting,+ author = {Olaf Chitil},+ title = {Pretty printing with lazy dequeues},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 27,+ number = 1,+ year = 2005,+ issn = {0164-0925},+ pages = {163--184},+ doi = {http://doi.acm.org/10.1145/1053468.1053473},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{MacLachlan1992PythonCompiler,+ author = {Robert A. MacLachlan},+ title = {The Python compiler for CMU Common Lisp},+ booktitle = {LFP '92: Proceedings of the 1992 ACM conference on+ LISP and functional programming},+ year = 1992,+ isbn = {0-89791-481-3},+ pages = {235--246},+ location = {San Francisco, California, United States},+ doi = {http://doi.acm.org/10.1145/141471.141558},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Frauenstein1996CommunicatingAgents,+ author = {Thomas Frauenstein and Wolfgang Grieskamp and Peter+ Pepper and Mario S{\"u}dholt},+ title = {Communicating Functional Agents and their+ Application to Graphical User Interfaces},+ booktitle = {Proceedings of the 2nd International Conference on+ Perspectives of System Informatics},+ year = 1996,+ address = {Novosibirsk},+ month = jun+}++@MastersThesis{Schroeder1994Striktheit,+ author = {Jacob Schr{\"o}der},+ title = {{Entwurf und Implementierung eines+ N{\"a}herungsverfahrens f{\"u}r Striktheitsanalyse}},+ school = {Technische Universit{\"a}t Berlin},+ year = 1994,+ type = {Studienarbeit},+ month = may+}++@MastersThesis{Karatschai1998SharingAnalyse,+ author = {Olaf Karatschai},+ title = {Statische Sharing-Analyse zur Optimierung von+ Zwischencode einer funktionalen Programmiersprache},+ school = {Technische Universit{\"a}t Berlin},+ year = 1998,+ type = {Diplomarbeit},+ month = jul+}++@Article{HallOverloadingEvaluators,+ author = {Cordelia V. Hall},+ title = {Using Overloading to Express Distinctions Between+ Evaluators},+ journal = {Information Processing Letters},+ number = 48,+ pages = {1--8},+ year = 1993,+ note = {To appear}+}++@inproceedings{Stoyle2005MutatisMutandis,+ author = {Gareth Stoyle and Michael Hicks and Gavin Bierman+ and Peter Sewell and Iulian Neamtiu},+ title = {Mutatis mutandis: safe and predictable dynamic+ software updating},+ booktitle = {POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT+ Symposium on Principles of Programming Languages},+ year = 2005,+ isbn = {1-58113-830-X},+ pages = {183--194},+ location = {Long Beach, California, USA},+ doi = {http://doi.acm.org/10.1145/1040305.1040321},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Hope2005AccurateStepCounting,+ author = {Catherine Hope and Graham Hutton},+ title = {Accurate Step Counting},+ booktitle = {Proceedings of the 17th International Workshop on+ Implementation and Application of Functional+ Languages},+ year = 2005,+ address = {Dublin, Ireland}+}++@InProceedings{Oliviera2005TypeCase,+ author = {Bruno C. d. S. Oliviera and Jeremy Gibbons},+ title = {{TypeCase}: A design pattern for type-indexed+ Functions},+ booktitle = {Haskell Workshop},+ year = 2005,+ note = {Submitted for publication}+}++@InProceedings{Hallgren2004OverviewProgramatica,+ author = {Thomas Hallgren and James Hook and Mark P. Jones and+ Dick Kieburtz},+ title = {An Overview of the Programatica ToolSet},+ booktitle = {HCSS04},+ year = 2004+}++@Misc{CardelliImplementing,+ author = {Luca Cardelli},+ title = {Implementing Functional Languages},+ howpublished = {Available from:+ \url{http://research.microsoft.com/Users/luca/Papers/CompilingML.pdf}}+}++@Book{Turbak2005ConceptsPL,+ author = {Franklyn Turbak and David Gifford and Mark Sheldon},+ title = {Design Concepts in Programming Languages},+ publisher = {Internal},+ year = 2005,+ note = {Draft version of 2005-07-01}+}++@article{Lampson1983Hints,+ author = {Butler W. Lampson},+ title = {Hints for computer system design},+ journal = {SIGOPS Oper. Syst. Rev.},+ volume = 17,+ number = 5,+ year = 1983,+ issn = {0163-5980},+ pages = {33--48},+ doi = {http://doi.acm.org/10.1145/773379.806614},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Massalin1987Superoptimizer,+ author = {Henry Massalin},+ title = {Superoptimizer: a look at the smallest program},+ journal = {SIGOPS Oper. Syst. Rev.},+ volume = 21,+ number = 4,+ year = 1987,+ issn = {0163-5980},+ pages = {122--126},+ doi = {http://doi.acm.org/10.1145/36204.36194},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Steenkiste1987Tags,+ author = {Peter Steenkiste and John Hennessy},+ title = {Tags and type checking in LISP: hardware and+ software approaches},+ journal = {SIGOPS Oper. Syst. Rev.},+ volume = 21,+ number = 4,+ year = 1987,+ issn = {0163-5980},+ pages = {50--59},+ doi = {http://doi.acm.org/10.1145/36204.36183},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Dodge2005Initialization,+ author = {Catherine Dodge and Cynthia Irvine and Thuy Nguyen},+ title = {A study of initialization in Linux and OpenBSD},+ journal = {SIGOPS Oper. Syst. Rev.},+ volume = 39,+ number = 2,+ year = 2005,+ issn = {0163-5980},+ pages = {79--93},+ doi = {http://doi.acm.org/10.1145/1055218.1055226},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Book{Berkeley1966LISP,+ editor = {Edmund C. Berkeley and Daniel G. Bobrow},+ title = {The Programming Language LISP: Its Operation and+ Applications},+ publisher = MIT,+ year = 1966+}++@Book{McCarthy1962LISP15,+ author = {John McCarthy and Paul W. Abrahams and Daniel J+ Edwards and Timothy P. Hart and Michael I. Levin},+ title = {LISP 1.5 Programmer's Manual},+ publisher = MIT,+ year = 1962+}++@InProceedings{Meijer2004StaticDynamic,+ author = {Erik Meijer and Peter Drayton},+ title = {Static Typing Where Possible, Dynamic Typing When+ Needed: The End of the Cold War Between Programming+ Languages},+ booktitle = {Revival of Dynamic Languages '04},+ year = 2004,+ note = {Intended for submission}+}++@article{Ditzel1982CMachineStackCache,+ author = {David R. Ditzel and H. R. McLellan},+ title = {{Register allocation for free: The C machine stack+ cache}},+ journal = {SIGPLAN Notices},+ volume = 17,+ number = 4,+ year = 1982,+ issn = {0362-1340},+ pages = {48--56},+ doi = {http://doi.acm.org/10.1145/960120.801825},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Steenkiste1988LISPonRISC,+ author = {Peter Steenkiste and John Hennessy},+ title = {Lisp on a Reduced-Instruction-Set Processor:+ Characterization and Optimization},+ journal = {Computer},+ volume = 21,+ number = 7,+ year = 1988,+ issn = {0018-9162},+ pages = {34--45},+ doi = {http://dx.doi.org/10.1109/2.67},+ publisher = {IEEE Computer Society Press},+ address = {Los Alamitos, CA, USA},+}++@MastersThesis{Alanko2004TypesReflection,+ author = {Lauri E. Alanko},+ title = {Types and Reflection},+ school = {University of Helsinki, Department of Computer+ Science},+ year = 2004,+ month = nov+}++@InProceedings{Leone1996DeclarativeApproach,+ author = {Mark Leone and Peter Lee},+ title = {A declarative appoach to run-time code generation},+ booktitle = {Workshop on Compiler Support for System Software+ (WCSSS)},+ year = 1996+}++@Article{Hornof1999CertifyingRuntimeCG,+ author = {Luke Hornof and Trevor Jim},+ title = {Certifying Compilation and Run-time Code Generation},+ journal = {Higher-Order and Symbolic Computation},+ year = 1999,+ volume = 12,+ number = 4,+ pages = {337--375},+ month = dec+}++@inproceedings{Hicks1993StorageReclamation,+ author = {James Hicks},+ title = {Experiences with compiler-directed storage+ reclamation},+ booktitle = {FPCA '93: Proceedings of the conference on+ Functional programming languages and computer+ architecture},+ year = 1993,+ isbn = {0-89791-595-X},+ pages = {95--105},+ location = {Copenhagen, Denmark},+ doi = {http://doi.acm.org/10.1145/165180.165194},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Sekar2003ModelCarrying,+ author = {R. Sekar and V.N. Venkatakrishnan and Samik Basu and+ Sandeep Bhatkar and Daniel C. DuVarney},+ title = {Model-carrying code: a practical approach for safe+ execution of untrusted applications},+ booktitle = {SOSP '03: Proceedings of the nineteenth ACM+ symposium on Operating systems principles},+ year = 2003,+ isbn = {1-58113-757-5},+ pages = {15--28},+ location = {Bolton Landing, NY, USA},+ doi = {http://doi.acm.org/10.1145/945445.945448},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Ghemawat2003GoogleFileSystem,+ author = {Sanjay Ghemawat and Howard Gobioff and Shun-Tak+ Leung},+ title = {The Google file system},+ booktitle = {SOSP '03: Proceedings of the nineteenth ACM+ symposium on Operating systems principles},+ year = 2003,+ isbn = {1-58113-757-5},+ pages = {29--43},+ location = {Bolton Landing, NY, USA},+ doi = {http://doi.acm.org/10.1145/945445.945450},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Cooper2005ACME,+ author = {Keith D. Cooper and Alexander Grosul and Timothy+ J. Harvey and Steven Reeves and Devika Subramanian+ and Linda Torczon and Todd Waterman},+ title = {ACME: adaptive compilation made efficient},+ journal = {SIGPLAN Notices},+ volume = 40,+ number = 7,+ year = 2005,+ issn = {0362-1340},+ pages = {69--77},+ doi = {http://doi.acm.org/10.1145/1070891.1065921},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Hertz2005GCwithoutPaging,+ author = {Matthew Hertz and Yi Feng and Emery D. Berger},+ title = {Garbage collection without paging},+ journal = {SIGPLAN Notices},+ volume = 40,+ number = 6,+ year = 2005,+ issn = {0362-1340},+ pages = {143--153},+ doi = {http://doi.acm.org/10.1145/1064978.1065028},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Nierstrasz2005DynamicLang,+ author = {Oscar Nierstrasz and Alexandre Bergel and Marcus+ Denker and St{\'e}phane Ducasse and Markus G{\"a}lli+ and Roel Wuyts},+ title = {On the Revival of Dynamic Languages},+ booktitle = {Proceedings Software Composition 2005},+ year = 2005,+ editor = {Thomas Gschwind and Uwe A{\ss}mann},+ volume = 2005,+ series = {LNCS},+ note = {To appear}+}++@Book{PeytonJones1991Implementing,+ author = {Simon L. {Peyton Jones} and David R. Lester},+ title = {Implementing Functional Languages: a tutorial},+ publisher = {University of Glasgow and University of Manchester},+ year = 1991+}++@InProceedings{Mucha2004LambdaLiftingScheme,+ author = {Barbara Mucha and Marco T. Moraz{\'a}n},+ title = {Lambda-Lifting Scheme Programs},+ booktitle = {Proceedings of Mid-Atlantic Student Workshop on+ Programming Languages and Systems},+ year = 2004,+ organization = {Seton Hall University}+}++@InProceedings{Morazan2003TowardsDVMFriendly,+ author = {Marco T. Moraz{\'a}n},+ title = {Towards DVM Friendly First-Class Functions},+ booktitle = {Draft Proceedings of TFP 2003 Fourth symposium on+ Trends in Functional Programming},+ year = 2003,+ address = {Edinburgh, Scotland},+ month = sep+}++@Misc{MLton2006MLtonHomepage,+ author = {{MLton Developers}},+ title = {{MLton Standard ML Compiler Homepage}},+ howpublished = {Available from: \url{http://mlton.org}},+ year = 2006,+ note = {Last visited: 2008-10-07}+}++@Misc{Bigloo2008BiglooHomepage,+ author = {{Bigloo Developers}},+ title = {{Bigloo Homepage}},+ howpublished = {Available from:+ \url{http://www-sop.inria.fr/mimosa/fp/Bigloo/}},+ year = 2008,+ note = {Last visited: 2008-10-07}+}++@Misc{Sun2008JDK5Homepage,+ author = {{Sun, Inc.}},+ title = {{Java SE Downloads - Previous Release - J2SE 5.0}},+ howpublished = {Available from:+ \url{http://java.sun.com/javase/downloads/index_jdk5.jsp}},+ year = 2008,+ note = {Last visited: 2008-10-07}+}++@Misc{Opal2004OpalHomepage,+ author = {{Opal Group}},+ title = {{Opal Project Homepage}},+ howpublished = {Available from: \url{http://uebb.cs.tu-berlin.de/~opal}},+ year = 2004,+ note = {Last visited: 2008-10-07}+}++@Misc{GHC2006GHCHomepage,+ author = {{GHC Developers}},+ title = {{Glasgow Haskell Compiler Homepage}},+ howpublished = {Available from: \url{http://www.haskell.org/ghc}},+ year = 2008,+ note = {Last visited: 2008-10-07}+}++@Misc{Hugs2006HugsHomepage,+ author = {{Hugs Developers}},+ title = {{Hugs Homepage}},+ howpublished = {Available from: \url{http://www.haskell.org/hugs}},+ year = 2006,+ note = {Last visited: 2006-09-19}+}++@Misc{GCC2005GCCHomepage,+ author = {{GCC Developers}},+ title = {{GNU Compiler Collection Homepage}},+ howpublished = {Available from: \url{http://gcc.gnu.org}},+ year = 2008,+ note = {Last visited: 2008-10-07}+}++@Misc{Siskind2005Software,+ author = {Jeffrey Mark Siskind},+ title = {{Jeffrey Mark Siskind's Software}},+ howpublished = {Available from:+ \url{http://www.ece.purdue.edu/~qobi/software.html}},+ year = 2005,+ note = {Last visited: 2005-08-04}+}++@inproceedings{Ganz1999Trampolined,+ author = "Steven E. Ganz and Daniel P. Friedman and Mitchell+ Wand",+ title = "Trampolined Style",+ booktitle = "International Conference on Functional Programming",+ pages = "18-27",+ year = 1999,+ url = "citeseer.ist.psu.edu/ganz99trampolined.html"+}+++@inproceedings{Garrido2002RefactoringC,+ author = {Alejandra Garrido and Ralph Johnson},+ title = {Challenges of refactoring C programs},+ booktitle = {IWPSE '02: Proceedings of the International Workshop+ on Principles of Software Evolution},+ year = 2002,+ isbn = {1-58113-545-9},+ pages = {6--14},+ location = {Orlando, Florida},+ doi = {http://doi.acm.org/10.1145/512035.512039},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Book{Hyde2003AoAL,+ author = {Randall Hyde},+ title = {The Art of Assembly Language},+ publisher = {No Starch Press},+ year = 2003,+ month = sep+}++@Book{Aaby2003CompilerConstruction,+ author = {Anthony Aaby},+ title = {Compiler Construction using Flex and Bison},+ publisher = {WWW},+ year = 2003+}++@Book{Graham1993OnLisp,+ author = {Paul Graham},+ title = {On Lisp},+ publisher = PH,+ year = 1993+}++@Book{Finseth1991Craft,+ author = {Craig A. Finseth},+ title = {The Craft of Text Editing -- Emacs for he Modern+ World},+ publisher = SV,+ year = 1991,+ note = {Available from: \url{http://www.finseth.com/craft}}+}++@Book{Hailperin1999ConcreteAbstractions,+ author = {Max Hailperin and Barbara Kaiser and Karl Knight},+ title = {Concrete Abstractions: An Introduction to Computer+ Science Using Scheme},+ publisher = {Brooks/Cole Publishing Company},+ year = 1999+}++@InProceedings{Norrish2002RigourIsGood,+ author = {Michael Norrish and Peter Sewell and Keith+ Wansbrough},+ title = {Rigour is good for you and feasible: reflections on+ formal treatments of C and UDP sockets},+ booktitle = {Tenth ACM SIGOPS European Workshop: Can We Really+ Depend on an OS?},+ year = 2002,+ month = sep+}++@PhdThesis{Norrish1998PhD,+ author = {Michael Norrish},+ title = {C formalised in HOL},+ school = {Computer Laboratory, University of Cambridge},+ year = 1998+}++@InProceedings{Umeda2005MultiThreading,+ author = {Masanobu Umeda and Keiichi Katamine and Isao+ Nagasawa and Masaaki Hashimoto and Osamu Takata},+ title = {Multi-Threading Inside Prolog for Knowledge-Based+ Enterprise Applications},+ booktitle = {Proceedings of 16th International Conference on+ Applications of Declarative Programming and+ Knowledge Management INAP2005},+ year = 2005,+ address = {Waseda University, Fukuoka, Japan},+ month = oct,+ note = {Submitted}+}++@TechReport{Grabmueller2006ImplementingClosures,+ author = {Martin Grabm{\"u}ller},+ title = {{Implementing Closures using Run-time Code+ Generation}},+ institution = {Technische Universit{\"a}t Berlin},+ year = 2006,+ type = {Research report},+ number = {\mbox{2006-02} in {\em Forschungsberichte Fakult{\"a}t IV+ -- Elektrotechnik und Informatik}},+ month = feb,+ abstract = {This report describes an implementation of a purely+ functional strict programming language which relies+ heavily on run-time code generation. Closures are+ not implemented as data structures containing code+ pointers and bindings for free variables, but+ instead by generating the machine code for a closure+ each time it is constructed. The actual values of+ free variables are embedded into the machine code+ instead of using references to a closure record. The+ goal of this experimental implementation is to+ examine the possibilities of run-time code+ generation -- and just-in-time compilation in+ general -- in the context of purely functional+ languages. The implementation details are described+ and the performance of several example programs is+ measured and compared to other functional language+ implementations. }+}++@InProceedings{Grabmueller2006GenericFPDynOpt,+ author = {Martin Grabm{\"u}ller},+ title = {A Generic Model of Functional Programming With+ Dynamic Optimization},+ booktitle = {Draft Proceedings of the Seventh Symposium on Trends+ in Functional Programming (TFP 2006)},+ year = 2006,+ editor = {Henrik Nilsson},+ month = apr,+ publisher = {University of Nottingham},+ abstract = {Modern virtual machines for object-oriented machines+ use dynamic (run-time) compilation in order to+ ensure fast execution while maintaining security and+ portability of program code. Several virtual machine+ implementations using this compilation model have+ been implemented and are successfully used in+ practice, but to date no formal model of program+ execution and dynamic compilation has been+ published. This paper presents a formal framework+ for describing dynamically optimizing virtual+ machines in the context of purely functional+ programming languages. }+}++@InProceedings{Grabmueller2007ModelFPDynCompOpt,+ author = {Martin Grabm{\"u}ller},+ title = {A Model of Functional Programming With Dynamic+ Compilation and Optimization},+ booktitle = {Trends in Functional Programming},+ year = 2007,+ editor = {Henrik Nilsson},+ volume = 7,+ month = apr,+ publisher = {Intellect},+ abstract = {Modern virtual machines for object-oriented+ languages use dynamic (run-time) compilation in+ order to ensure fast execution while maintaining+ security and portability of program code. Several+ virtual machine implementations using this+ compilation model have been implemented and are+ successfully used in practice, but have rarely been+ used in the implementation of functional+ languages. This paper presents a framework for+ describing dynamically optimizing virtual machines+ in the context of purely functional programming+ languages.}+}++@article{Wegman1986POPLRefree,+ author = {M. N. Wegman},+ title = {What it's like to be a POPL referee; or how to write+ an extended abstract so that it is more likely to be+ accepted},+ journal = {SIGPLAN Notices},+ volume = 21,+ number = 5,+ year = 1986,+ issn = {0362-1340},+ pages = {91--95},+ doi = {http://doi.acm.org/10.1145/14947.14955},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Levin1983SOSPSubmissions,+ author = {Roy Levin and David D. Redell},+ title = {An Evaluation of the Ninth SOSP Submissions or How+ (and How Not) to Write a Good Systems Paper},+ journal = {Operating Systems Review},+ volume = 17,+ number = 3,+ year = 1983,+ pages = {35--40},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Misc{Pike2005Sawzall,+ author = {Rob Pike and Sean Dorward and Robert Griesemer and+ Sean Quinlan},+ title = {Interpreting the Data: Parallel Analysis with+ Sawzall},+ howpublished = {Available from:+ \url{http://labs.google.com/papers/sawzall.html}},+ month = aug,+ year = 2005,+ note = {Draft submitted to {\em Scientific Programming+ Journal} Special Issue on Grids and Worldwide+ Computing Programming Models and Infrastructure}+}++@inproceedings{Haahr1993EsHOShell,+ author = "Paul Haahr and Byron Rakitzis",+ title = "Es: A shell with higher-order functions",+ booktitle = "{USENIX} Winter",+ pages = "51-60",+ year = 1993,+ url = "citeseer.ist.psu.edu/haahr93es.html"+}++@inproceedings{Dean1994InliningTrials,+ author = "Jeffrey Dean and Craig Chambers",+ title = "Towards Better Inlining Decisions Using Inlining+ Trials",+ booktitle = "Conference on {LISP} and Functional Programming",+ pages = "273-282",+ year = 1994,+ url = "citeseer.ist.psu.edu/195684.html"+}++@misc{ Scales2000SwiftJavaCompiler,+ author = "D. Scales and K. Randall and S. Ghemawat and+ J. Dean",+ title = "The Swift Java Compiler: Design and Implementation",+ text = "D. J. Scales, K. H. Randall, S. Ghemawat, and+ J. Dean. The Swift Java Compiler: Design and+ Implementation. Technical Report 2000/2, Compaq+ Western Research Laboratory, Apr. 2000.",+ year = 2000,+ url = "citeseer.ist.psu.edu/scales00swift.html"+}++@InProceedings{Consel1993PartialEvaluation,+ author = {Charles Consel and Olivier Danvy},+ title = {Partial Evaluation: Principles and Perspectives},+ booktitle = {Proceedings of the Twentieth Annual ACM+ SIGPLAN-SIGACT Symposium on Principles of+ Programming Languages},+ year = 1993,+ month = jan,+ publisher = ACM+}++@InProceedings{Zhu2005StatefulViews,+ author = {Dengping Zhu and Hongwei Xi},+ title = {Safe Programming with Pointers Through Stateful+ Views},+ booktitle = {Practical Aspects of Declarative Languages: 7th+ International Symposium (PADL 2005)},+ pages = {83--97},+ year = 2005,+ editor = {Manuel Hermenegildo and Daniel Cabeza},+ volume = 3350,+ series = LNCS,+ address = {Long Beach, CA, USA},+ month = jan+}++@InProceedings{Alimarine2005ImprovedFusion,+ author = {Artem Alimarine and Sjaak Smetsers},+ title = {Improved Fusion for Optimizing Generics},+ booktitle = {Practical Aspects of Declarative Languages: 7th+ International Symposium (PADL 2005)},+ pages = {203--218},+ year = 2005,+ editor = {Manuel Hermenegildo and Daniel Cabeza},+ volume = 3350,+ series = LNCS,+ address = {Long Beach, CA, USA},+ month = jan+}++@article{Findler2004Slidewhow,+ author = {Robert Bruce Findler and Matthew Flatt},+ title = {Slideshow: functional presentations},+ journal = {SIGPLAN Notices},+ volume = 39,+ number = 9,+ year = 2004,+ issn = {0362-1340},+ pages = {224--235},+ doi = {http://doi.acm.org/10.1145/1016848.1016880},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Sheard2004LanguagesFuture,+ author = {Tim Sheard},+ title = {Languages of the future},+ journal = {SIGPLAN Notices},+ volume = 39,+ number = 12,+ year = 2004,+ issn = {0362-1340},+ pages = {119--132},+ doi = {http://doi.acm.org/10.1145/1052883.1052897},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Sheard2003PureLanguage,+ author = {Tim Sheard},+ title = {A Pure Language with Default Strict Evaluation Order+ and Explicit Laziness},+ booktitle = {Haskell Workshop 03},+ year = 2003,+ note = {Submitted}+}++@InProceedings{Jones1999THiH,+ author = {Mark P. Jones},+ title = {{Typing Haskell in Haskell}},+ booktitle = {Proceedings of the 1999 Haskell Workshop},+ year = 1999,+ note = {Published in Technical Report UU-CS-1999-28,+ Department of Computer Science, University of+ Utrecht}+}++@PhdThesis{Briggs1992PhD,+ author = {Preston Briggs},+ title = {Register Allocation via Graph Coloring},+ school = {Rice University},+ year = 1992,+ month = apr+}++@article{Cooper2001OperatorStrength,+ author = {Keith D. Cooper and L. Taylor Simpson and+ Christopher A. Vick},+ title = {Operator strength reduction},+ journal = {Transactions on Programming Languages and Systems},+ volume = 23,+ number = 5,+ pages = {603--625},+ year = 2001,+}++@Article{Leucker2005FPVerification,+ author = {Martin Leucker and Thomas Noll and Perdita Stevens+ and Michael Weber},+ title = {Functional programming languages for verification+ tools: a comparison of Standard ML and Haskell},+ journal = {International Journal on Software Tools for+ Technology Transfer (STTT)},+ year = 2005,+ volume = 7,+ number = 2,+ pages = {184--194},+ month = apr+}++@article{Chow1988Minimizing,+ author = {F. C. Chow},+ title = {Minimizing register usage penalty at procedure+ calls},+ journal = {SIGPLAN Notices},+ volume = 23,+ number = 7,+ year = 1988,+ issn = {0362-1340},+ pages = {85--94},+ doi = {http://doi.acm.org/10.1145/960116.53999},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Robinson2001Economics,+ author = {Arch D. Robinson},+ title = {The Impact of Economics on Compiler Optimization},+ booktitle = {Proceedings of the ACM 2001 Java Grande Conference},+ year = 2001,+ month = jun+}++@inproceedings{Lu1997RegisterPromotion,+ author = {John Lu and Keith D. Cooper},+ title = {Register promotion in C programs},+ booktitle = {PLDI '97: Proceedings of the ACM SIGPLAN 1997+ conference on Programming language design and+ implementation},+ year = 1997,+ isbn = {0-89791-907-6},+ pages = {308--319},+ location = {Las Vegas, Nevada, United States},+ doi = {http://doi.acm.org/10.1145/258915.258943},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Hannan2005HOUncurrying,+ abstract = { We present a formal specification of unCurrying for+ a higher-order, functional language with ML-style+ let-polymorphism. This specification supports the+ general unCurrying of functions, even for functions+ that are passed as arguments or returned as+ values. The specification also supports partial+ unCurrying of any consecutive parameters of a+ function, rather than only unCurrying all of a+ function's parameters. We present the specification+ as a deductive system that axiomatizes a judgment+ relating a source term with an unCurried form of the+ term. We prove that this system relates only typable+ terms and that it is correct with respect to an+ operational semantics. We define a practical+ algorithm, based on algorithm W, that implements+ unCurrying and prove this algorithm sound and+ complete with respect to the deductive system. This+ algorithm generates maximally unCurried forms of+ source terms. These results provide a declarative+ framework for reasoning about unCurrying and support+ a richer form of unCurrying than is currently found+ in compilers for functional languages. },+ author = {John Hannan and Patrick Hicks},+ date-modified ={2005-06-20 13:40:45 -0400},+ journal = {Journal of Higher Order and Symbolic Computation},+ pdf =+ {http://www.cse.psu.edu/~phicks/pubs/papers/HOUncurryingJournal.pdf},+ number = 3,+ pages = {179--216},+ title = {Higher-Order Uncurrying},+ volume = 13,+ year = 2000+}++@inproceedings{Hannan1998ArityRaising,+ abstract = {Arity raising, also known as variable splitting or+ flattening, is the program optimization which+ transforms a function of one argument into a+ function of several arguments by decomposing the+ structure of the original one argument into+ individual components in that structure. This+ optimization eliminates the need for the structuring+ of the components and also allows more arguments to+ be passed in registers during a function call. We+ present a formal specification of arity raising for+ a higher-order functional language. This+ specification supports the general arity raising of+ functions, even for functions which are passed as+ arguments or returned as values. We define a+ practical algorithm, based on algorithm W, which+ implements arity raising, and we prove this+ algorithm sound with respect to the deductive+ system. These results provide a declarative+ framework for reasoning about arity raising and+ support a richer form of the transformation than is+ currently found in compilers for functional+ languages.},+ address = {Baltimore, MD},+ author = {John Hannan and Patrick Hicks},+ booktitle = {Proceedings of 3rd ACM SIGPLAN International+ Conference on Functional Programming},+ date-modified ={2005-06-20 13:40:45 -0400},+ pdf =+ {http://www.cse.psu.edu/~phicks/pubs/papers/HOArityRaising.pdf},+ month = SEP,+ pages = {27--38},+ title = {Higher-Order Arity Raising},+ year = 1998+}++@TechReport{Danvy2004QuadraticLambdaLiftingTR,+ author = {Olivier Danvy and Ulrik P. Schultz},+ title = {Lambda-Lifting in Quadratic Time},+ institution = {BRICS, Department of Computer Science, University of Aarhus},+ year = 2004,+ number = {RS-04-12},+ month = jun+}+++@Article{Danvy2004QuadraticLambdaLifting,+ author = {Olivier Danvy and Ulrik P. Schultz},+ title = {Lambda-Lifting in Quadratic Time},+ journal = {Journal of Functional and Logic Programming},+ year = 2004,+ volume = 2004,+ number = 1,+ publisher = {EAPLS},+ month = jul+}++@inproceedings{Kobayashi2000TypeBasedUVE,+ author = "Naoki Kobayashi",+ title = "Type-Based Useless Variable Elimination",+ booktitle = "Partial Evaluation and Semantic-Based Program+ Manipulation",+ pages = "84-93",+ year = 2000,+ url = "citeseer.ist.psu.edu/kobayashi99typebased.html"+}++@article{Kobayashi2001TypeBasedUVE,+ author = {Naoki Kobayashi},+ title = {Type-Based Useless-Variable Elimination.},+ journal = {Higher-Order and Symbolic Computation},+ volume = 14,+ number = {2-3},+ year = 2001,+ pages = {221-260},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@inproceedings{Fischbach2001TypeSystemsUVE,+ author = {Adam Fischbach and John Hannan},+ title = {Type Systems for Useless-Variable Elimination},+ booktitle = {PADO '01: Proceedings of the Second Symposium on+ Programs as Data Objects},+ year = 2001,+ isbn = {3-540-42068-1},+ pages = {25--38},+ publisher = SV,+ address = {London, UK},+}++@InProceedings{Hannan1995TypeClosureConversions,+ author = {John Hannan},+ title = {Type Systems for Closure Conversions},+ booktitle = {Proceedings of Workshop on Types for Program+ Analysis},+ pages = {48--62},+ year = 1995,+ editor = {H. R. Nielson and K. L. Solberg},+ number = {PB-493},+ series = {Daimi Reports}+}++@phdthesis{Erkoek2002PhD,+ author = "Levent {Erk\"{o}k}",+ title = "Value recursion in monadic computations",+ year = 2002,+ address = "Portland, Oregon",+ school = "OGI School of Science and Engineering, OHSU",+}++@Article{erwig2005VisualTypeInference,+ author = {Martin Erwig},+ title = {Visual Type Inference},+ journal = { Journal of Visual Languages and Computing},+ year = 2005,+ note = {To appear}+}++@Article{Erwig2004Monadification,+ author = {Martin Erwig and Deling Ren},+ title = {Monadification of Functional Programs},+ journal = { Science of Computer Programming},+ year = 2004,+ volume = 52,+ number = {1--3},+ pages = {101--129}+}++@techreport{Glesner2005IntroCo,+ author = {Sabine Glesner},+ type = {publikation},+ title = {An Introduction to (Co)Algebras and (Co)Induction+ and their Application to the Semantics of+ Programming Languages},+ year = 2005,+ month = aug,+ publisher = {Fakult{\"a}t f{\"u}r Informatik, Universit{\"a}t+ Karlsruhe},+ number = {2005-22},+ abstract = {This report summarizes operational approaches to the+ formal semantics of programming languages and shows+ that they can be interpreted inductively by least+ fixed points as well as coinductively by greatest+ fixed points. While the inductive interpretation+ gives semantics to all terminating programs, the+ coinductive one defines moreover also a semantics+ for all non-terminating programs. This is especially+ important in areas where programs do not terminate+ in general, e.g. data bases, operating systems, or+ control software in embedded systems. The semantic+ foundations described in this report can be used to+ verify that transformations (e.g. in compilers) of+ such software systems are correct. In the course of+ this report, coalgebras and coinduction are+ introduced, starting with a gentle intuitive+ motivation and ending with a detailed mathematical+ description within the notions of category theory.},+}++@techreport{Glesner2005OptimierendeCompiler,+ author = {Sabine Glesner},+ type = {publikation},+ title = {Optimierende Compiler: Vertrauen ist gut,+ Verifikation ist besser!},+ year = 2005,+ month = sep,+ publisher = {Fakult{\"a}t f{\"u}r Informatik, Universit{\"a}t+ Karlsruhe},+ number = {2005-28}+}++@InProceedings{Pettyjohn2005GeneralizedStackInspection,+ author = {Greg Pettyjohn and John Clements and Joe Marshall+ and Shriram Krishnamurthi and Matthias Felleisen},+ title = {Continuations from Generalized Stack Inspection},+ booktitle = {ACM SIGPLAN International Conference on Functional+ Programming},+ year = 2005+}++@InProceedings{Shivers2004AnatomyLoop,+ author = {Olin Shivers},+ title = {The Anatomy of a Loop -- A story of scope and+ control},+ booktitle = {International Conference on Functional Programming,+ ICFP'05},+ year = 2005,+ month = sep,+ location = {Tallinn, Estonia},+ publisher = ACM+}++@inproceedings{Stewart2005DynamicApplications,+ author = {Don Stewart and Manuel M. T. Chakravarty},+ title = {Dynamic Applications From the Ground Up},+ booktitle = {Proceedings of the ACM SIGPLAN Workshop on Haskell},+ year = 2005,+ month = sep,+ location = {Tallinn, Estonia},+ publisher = ACM+}++@misc{Blech2004SpezifikationKonstanten,+ author = {Jan Olaf Blech},+ type = {publikation},+ title = {Spezifikation und maschinelle Verifikation von+ Konstantenfaltung in {\"U}bersetzern},+ year = 2003,+ month = may,+ school = {Universit{\"a}t Karlsruhe},+ institution = {Institut f{\"u}r Programmstrukturen und+ Datenorganisation}+}++@misc{Blech2004FormaleSemantikSSA,+ author = {Jan Olaf Blech},+ type = {publikation},+ title = { Eine formale Semantik f{\"u}r SSA-Zwischensprachen+ in Isabelle/HOL },+ year = 2004,+ month = mar,+ organization = {Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r+ Informatik}+}++@MastersThesis{Ohlendorfs2005CookbookXML,+ author = {Manuel Ohlendorfs},+ title = {A Cookbook for the Haskell XML Toolbox with Examples+ for Processing RDF Documents},+ school = {FH Wedel},+ year = 2005+}++@MastersThesis{Schmidt2005ValidatingXML,+ author = {Martin Schmidt},+ title = {Design and Implementation of a validating XML parser+ in Haskell},+ school = {FH Wedel},+ year = 2005+}++@MastersThesis{Kuseler2005RelaxNG,+ author = {Torben Kuseler},+ title = {Design und Entwicklung eines Relax NG Schema+ Validators auf Basis der Haskell XML Toolbox},+ school = {FH Wedel},+ year = 2005+}++@InProceedings{Lambers2004NewGTXL,+ author = {Leen Lambers},+ title = {New Version of GTXL: An Exchange Format for Graph+ Transformation Systems},+ booktitle = { Workshop on Graph-Based Tools (GraBaTs'04),+ Satellite Event of ICGT'04},+ year = 2004+}++@MastersThesis{Agat1998FLRegister,+ author = {Johan Agat},+ title = {A Typed Functional language for Expressing Register+ Utilisation},+ school = {Chalmers University},+ year = 1998,+ month = oct+}++@Article{Morrisett1999SystemFtoTAL,+ author = {Greg Morrisett and David Walker and Karl Crary and+ Neal Glew},+ title = {From {System} {F} to Typed Assembly Language},+ journal = {ACM Transactions on Programming Languages and+ Systems},+ year = 1999,+ volume = 21,+ number = 3,+ pages = {528--569},+ month = may+}++@InProceedings{Morrisett1998SystemFtoTAL,+ author = {Greg Morrisett and David Walker and Karl Crary and+ Neal Glew},+ title = {From {System} {F} to Typed Assembly Language},+ booktitle = {Twenty-Fifth ACM SIGPLAN-SIGACT Symposium on+ Principles of Programming Languages},+ pages = {85--97},+ year = 1998,+ address = {San Diego, CA, USA},+ month = jan,+ publisher = ACM+}++@InProceedings{Morrisett2005L3,+ author = {Greg Morrisett and Amal Ahmed and Matthew Fluet},+ title = {L3: A Linear Language with Locations},+ booktitle = {Seventh International Conference on Typed Lambda+ Calculi and Applications},+ year = 2005,+ month = apr+}++@Book{Girard1989ProofsAndTypes,+ author = {Jean-Yves Girard and Paul Taylor and Yves Lafont},+ title = {Proofs and Types},+ publisher = {Cambridge University Press},+ year = 1989,+ number = 7,+ series = {Cambridge Tracts in Theoretical Computer Science},+ edition = {reprinted with corrections 1990}+}++@incollection{ Harper1993ExplicitCPS,+ author = "Robert Harper and Mark Lillibridge",+ title = "Explicit Polymorphism and {CPS} Conversion",+ booktitle = "Conf.\ Record 20th Ann.\ {ACM} {SIGPLAN}-{SIGACT}+ Symp.\ on Principles of Programming Languages,+ {POPL}'93, Charleston, {SC}, {USA}, ??? Jan.\ 1993",+ publisher = ACM,+ address = "New York",+ pages = "206--219",+ year = 1993,+ url = "citeseer.ist.psu.edu/article/harper93explicit.html"+}+++@InProceedings{Bernard1998HowGeneric,+ author = {Andrew Bernard and Robert Harper and Peter Lee},+ title = {How generic is a generic back end? Using MLRISC as a+ back end for the TIL compiler},+ booktitle = {Proceedings of the Workshop on Types in Compilation},+ pages = {53--77},+ year = 1998,+ editor = {X. Leroy and A. Ohori},+ volume = 1473,+ series = LNCS,+ address = {Kyoto, Japan},+ month = mar,+ publisher = SV+}++@PhdThesis{Morrisett1995PhD,+ author = {Greg Morrisett},+ title = {Compiling with Types},+ school = {School of Computer Science, Carnegie Mellon+ University},+ year = 1995,+ month = dec,+ note = {Published as CMU Technical Report CMU-CS-95-226}+}++@TECHREPORT{UUCS199928,+ author = {H. J. M. Meijer},+ year = 1999,+ title = {Proceedings of the 1999 Haskell Workshop},+ number = {UU-CS-1999-28},+ institution = {Institute of Information and Computing Sciences,+ Utrecht University},+ urlps =+ {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-1999/1999-28.ps.gz}},+ urlpdf =+ {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-1999/1999-28.pdf}},+ pubcat = {techreport}+}++@TECHREPORT{UUCS200162,+ author = {Ralf Hinze (editor)},+ year = 2001,+ title = {Preliminary proceedings of the 2001 ACM SIGPLAN+ Haskell Workshop (HW'2001)},+ number = {UU-CS-2001-62},+ institution = {Institute of Information and Computing Sciences,+ Utrecht University},+ urlpdf =+ {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-62.pdf}},+ pubcat = {techreport}+}++@InProceedings{PeytonJones2001PlayingRules,+ author = {Simon {Peyton Jones} and Andrew Tolmach and Tony+ Hoare},+ title = {Playing by the Rules: Rewriting as a practical+ optimisation technique in {GHC}},+ crossref = {UUCS200162},+ booktitle = {Preliminary proceedings of the 2001 ACM SIGPLAN+ Haskell Workshop (HW'2001)},+ pages = {203-233},+ year = 2001,+ editor = {Ralf Hinze}+}++@incollection{ cardelli91extension,+ author = "Luca Cardelli and John C. Mitchell and Simone Martini and Andre Scedrov",+ title = "An Extension of System {F} with Subtyping",+ booktitle = "Proc.\ of 1st Int.\ Symp.\ on Theor.\ Aspects of Computer Software, {TACS}'91, Sendai, Japan, 24--27 Sept 1991",+ volume = "526",+ publisher = SV,+ address = "Berlin",+ editor = "Takayasu Ito and Albert R. Meyer",+ pages = "750--770",+ year = "1991",+ url = "citeseer.ist.psu.edu/cardelli91extension.html" }++@InProceedings{Cardelli1991SystemFSub,+ author = {Luca Cardelli and Simone Martini and John+ C. Mitchell and Andre Scedrov},+ title = {An Extension of System {F} with Subtyping},+ booktitle = {Proc.\ of 1st Int.\ Symp.\ on Theor.\ Aspects of+ Computer Software, {TACS}'91},+ pages = {750--770},+ year = 1991,+ editor = {Takayasu Ito and Albert R. Meyer},+ volume = 526,+ series = LNCS,+ address = {Sendai, Japan},+ publisher = SV+}++@Article{Kennedy1996DrawingTrees,+ author = {Andrew Kennedy},+ title = {Functional Pearls: Drawing Trees},+ journal = {Journal of Functional Programming},+ year = 1996,+ volume = 6,+ number = 3,+ pages = {527--534},+ month = may+}++@Article{Kennedy2004PicklerCombinators,+ author = {Andrew Kennedy},+ title = {Functional Pearls: Pickler Combinators},+ journal = {Journal of Functional Programming},+ year = 2004,+ note = {To appear}+}++@InProceedings{Harris2005HaskellSharedMP,+ author = {Tim Harris and Simon Marlow and Simon {Peyton+ Jones}},+ title = {Haskell on a shared-memory multiprocessor},+ booktitle = {Haskell Workshop},+ year = 2005,+ address = {Tallin},+ month = sep+}++@article{Baker1997COMFY,+ author = {Henry G. Baker},+ title = {The COMFY 6502 compiler},+ journal = {SIGPLAN Notices},+ volume = 32,+ number = 11,+ year = 1997,+ issn = {0362-1340},+ pages = {25--30},+ doi = {http://doi.acm.org/10.1145/270941.270947},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Misc{PeytonJones2006PracticalArbRank,+ author = {SL {Peyton Jones} and D Vytiniotis and S Weirich and+ M Shields},+ title = {Practical type inference for arbitrary-rank types},+ howpublished = {Available from:+ \url{http://research.microsoft.com/Users/simonpj/papers/higher-rank/index.htm}},+ month = feb,+ year = 2006,+ note = {To appear in Journal of Functional Programming}+}++@Misc{Pavlovic2005SpecificationEngineering,+ author = {D. Pavlovic and P. Pepper and D. Smith},+ title = {Specification Engineering},+ howpublished = {draft},+ month = sep,+ year = 2005+}++@Misc{Henderson1993StrongModes,+ author = {Fergus Henderson},+ title = {Strong Modes can Change the World!},+ howpublished = {Honour's Thesis},+ month = nov,+ year = 1993+}++@INPROCEEDINGS{Leijen2005scopedlabels,+ author = {Leijen, Daan},+ title = {Extensible records with scoped labels},+ booktitle = {Proceedings of the 2005 Symposium on Trends in+ Functional Programming (TFP'05)},+ location = {{T}allin, {E}stonia},+ month = sep,+ year = 2005+}++@Misc{Leijen2001DivisionModulus,+ author = {Leijen, Daan},+ title = {Division and Modulus for Computer Scientists},+ month = dec,+ year = 2001,+ annote = {Draft}+}++@MASTERSTHESIS{Leijen1998mscthesis,+ author = {Daan Leijen},+ title = {Functional Components: {COM} components in+ {Haskell}},+ school = {Department of Computer Science, University of+ {Amsterdam}},+ month = sep,+ year = 1998+}++@InProceedings{Chakravarty1995MultiSTG,+ author = {Manuel M. T. Chakravarty},+ title = {{Integrating Multithreading into the Spineless+ Tagless {G}-machine}},+ booktitle = {1995 Glasgow Workshop on Functional Programming},+ year = 1995,+ month = jul+}++@TechReport{Jones1993ExplicitParallel,+ author = {Mark P. Jones and Paul Hudak},+ title = {Implicit and explicit parallel programming in+ Haskell},+ institution = {Yale University},+ year = 1993,+ type = {Research Report},+ number = {YALEU/DCS/RR-982},+ month = aug+}++@PhdThesis{Oortmerssen2000PhD,+ author = {Wouter {van Oortmerssen}},+ title = {Concurrent Tree Space Transformation in the+ Aardappel Programming Language},+ school = {University of Southampton},+ year = 2000,+ month = jul+}++@TechReport{Tullsen1996CompilingHaskell,+ author = {Mark Tullsen},+ title = {Compiling Haskell to Java},+ institution = {Yale University},+ year = 1996,+ type = {Research report},+ number = {YALEU/DCS/RR-1204}+}++@Article{Glew2004TypeSafeMethodInlining,+ author = {Neal Glew and Jens Palsberg},+ title = {Type-safe method inlining},+ journal = {Science of Computer Programming},+ year = 2004,+ volume = 52,+ pages = {281--306}+}++@Article{Palsberg1996Adaptive,+ author = {Jens Palsberg and Boaz Patt-Shamir and Karl+ Lieberherr},+ title = {A new approach to compiling adaptive programs},+ journal = {Science of Computer Programming},+ year = 1996,+ volume = 29,+ number = 3,+ pages = {303--326}+}++@InProceedings{Noel1996TemplateBased,+ author = {F. No{\"e}l and L. Hornof and C. Consel and+ J.L. Lawall},+ title = {Automatic, Template-Based Runtime Specialization:+ Implementation and Experimental Study},+ booktitle = {IEEE International Conference on Computer Languages},+ pages = {123-142},+ year = 1998,+ month = may+}++@InProceedings{Consel1996ProgramAdaptation,+ author = {C. Consel},+ title = {Program Adaptation based on Program Transformation},+ booktitle = {ACM Workshop on Strategic Directions in Computing+ Research},+ year = 1996+}++@MastersThesis{Jeltsch2005Diplomarbeit,+ author = {Wolfgang Jeltsch},+ title = {Integration funktionaler und imperativer+ Programmierkonzepte},+ school = {Brandenburgischen Technischen Universität Cottbus},+ year = 2005,+ type = {Diplomarbeit},+ month = sep+}++@InCollection{Hughes1995DesignPrettyPrinting,+ author = {John Hughes},+ title = {The Design of a Pretty-printing Library},+ booktitle = {Advanced Functional Programming},+ publisher = SV,+ year = 1995,+ editor = {Johan Jeuring and Erik Meijer},+ volume = 925,+ series = LNCS+}++@InProceedings{Discolo2006LockFree,+ author = {Anthony Discolo and Tim Harris and Simon Marlow and Simon+ Peyton Jones and Satnam Singh},+ title = {Lock-Free Data Structures using STMs in Haskell},+ booktitle = {Proceedings of the Eighth International Symposium on+ Functional and Logic Programming (FLOPS 2006)},+ year = 2006,+ month = apr,+ note = {Submitted}+}++@InProceedings{Harris2003LightweightTransaction,+ author = {Timothy Harris and Keir Fraser},+ title = {Language Support for Lightweight Transactions},+ booktitle = {ACM SIGPLAN Conference on Object-Oriented+ Programming, Systems, and Applications (OOPSLA)},+ year = 2003,+ month = oct,+ publisher = ACM+}++@PhdThesis{Fraser2003PracticalLockFreedom,+ author = {Keir Fraser},+ title = {Practical lock-freedom},+ school = {University of Cambridge, Computer Laboratory},+ year = 2003,+ month = sep,+ note = {Published as Technical Report No. UCAM-CL-TR-579}+}++@TechReport{Briggs1994MultiplicationIntegerConstants,+ author = {Preston Briggs and Tim Harvey},+ title = {Multiplication by integer constants},+ institution = {Rice University, Department of Computer Science},+ year = 1994,+ number = {TR03-425}+}++@TechReport{Keppel1991CaseRuntimeCodeGeneration,+ author = {David Keppel and Susan J. Eggers and Robert+ R. Henry},+ title = {A Case for Runtime Code Generation},+ institution = {Department of Computer Science, University of+ Washington},+ year = 1991,+ number = {91-11-04}+}++@TechReport{Keppel1993Evaluating,+ author = {David Keppel and Susan J. Eggers and Robert+ R. Henry},+ title = {Evaluating Runtime-Compiled Value-Specific+ Optimizations},+ institution = {Department of Computer Science, University of+ Washington},+ year = 1993,+ number = {93-11-02}+}++@TechReport{Muller1996JITvsOfflineCompilers,+ author = {Gilles Muller and B{\'a}rbara Moura and Fabrice+ Bellard and Charles Consel},+ title = {{JIT} {\em vs.} Offline Compilers: Limits and+ Benefits of Bytecode Compilation},+ institution = {IRISA},+ year = 1996,+ type = {Rapport de recherche},+ number = 1063,+ address = {Rennes, France},+ month = dec+}++@misc{Yarvin1994QuaC,+ author = "C. Yarvin and A. Sah",+ title = "QuaC: Binary optimization for fast runtime code+ generation in C",+ text = "C. Yarvin and A. Sah. QuaC: Binary optimization for+ fast runtime code generation in C. Technical Report+ 94-792, Computer Science Department, University of+ California, Berkeley, 1994.",+ year = 1994,+ url = "citeseer.ist.psu.edu/yarvin94quac.html"+}++@article{hardin-maranget-pagano-report,+ author = "Thérèse Hardin, Luc Maranget and Bruno Pagano",+ title = "Functional Runtimes within the Lambda-Sigma+ Calculus",+ journal = "Journal of Functional Programming",+ volume = 8,+ number = 2,+ month = mar,+ year = 1998,+ publisher = "Cambridge University Press"+}++@InProceedings{Ennals2003OptimisticEvaluation,+ author = {Robert Ennals and Simon {Peyton Jones}},+ title = {Optimistic evaluation: an adaptive evaluation+ strategy for non-strict programs},+ booktitle = {8th ACM SIGPLAN International Conference on+ Functional Programming (ICFP 2003)},+ year = 2003,+ publisher = ACM+}++@Misc{Ennals2000Feris,+ author = {Robert Ennals},+ title = {Feris: A Functional Environment for Retargetable+ Interactive Systems},+ howpublished = {},+ year = 2000+}++@Misc{Rieffel2000Quantum,+ author = {Eleanor G. Rieffel and Wolfgang Polak},+ title = {An Introduction to Quantum Computing for+ Non-Physicists},+ howpublished = {Available from:+ \url{http://xxx.lanl.gov/abs/quant-ph/9809016}},+ month = jan,+ year = 2000+}++@Misc{Hope2005Fusion,+ author = {Catherine Hope and Graham Hutton},+ title = {Fusion in less space},+ howpublished = {Available from:+ \url{http://www.cs.nott.ac.uk/~cvh/hylos/hylos.pdf}},+ month = dec,+ year = 2005,+ note = {Draft paper}+}++@MastersThesis{Holdermans2005GenericViews,+ author = {Stefan Holdermans},+ title = {Generic views},+ school = {Utrecht University},+ year = 2005+}++++@inproceedings{Baraz2003EL,+ author = {Leonid Baraz and Tevi Devor and Orna Etzion and+ Shalom Goldenberg and Alex Skaletsky and Yun Wang+ and Yigel Zemach},+ title = {{IA-32 Execution Layer: a two-phase dynamic+ translator designed to support IA-32 applications on+ Itanium\texttrademark{}-based systems}},+ booktitle = {MICRO 36: Proceedings of the 36th annual IEEE/ACM+ International Symposium on Microarchitecture},+ year = 2003,+ isbn = {0-7695-2043-X},+ pages = 191,+ publisher = {IEEE Computer Society},+ address = {Washington, DC, USA},+}++@Article{Amdahl1964System360,+ author = {G. M. Amdahl and G. A. Blaauw and F. P. {Brooks,+ Jr.}},+ title = {Architecture of the {IBM} {System/360}},+ journal = {IBM Journal of Research and Development},+ year = 1964,+ volume = 8,+ number = 2,+ pages = 87+}++@Book{Smith2005VirtualMachines,+ author = {James E. Smith and Ravi Nair},+ title = {Virtual Machines -- Versatile Platforms for Systems+ and Processes},+ publisher = MK,+ year = 2005+}++@InProceedings{Hazelwood2000IfConversion,+ author = {Kim Hazelwood and Thomas Conte},+ title = {A Lightweight Algorithm for Dynamic If-Conversion+ during Dynamic Optimization},+ booktitle = {International Conference on Parallel Architectures+ and Compilation Techniques},+ pages = {71--80},+ year = 2000,+ month = oct+}++@PhdThesis{HazelwoodCettei2004PhD,+ author = {Kim {Hazelwood Cettei}},+ title = {Code Cache Management in Dynamic Optimization+ Systems},+ school = {Harvard University},+ year = 2004,+ month = may+}++@article{Sites1993AlphaAXPArchitecture,+ author = {Richard L. Sites},+ title = {Alpha AXP architecture},+ journal = {Communications of the ACM},+ volume = 36,+ number = 2,+ year = 1993,+ issn = {0001-0782},+ pages = {33--44},+ doi = {http://doi.acm.org/10.1145/151220.151226},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Sites1993BinaryTranslation,+ author = {Richard L. Sites and Anton Chernoff and Matthew+ B. Kirk and Maurice P. Marks and Scott G. Robinson},+ title = {Binary translation},+ journal = {Communications of the ACM},+ volume = 36,+ number = 2,+ year = 1993,+ issn = {0001-0782},+ pages = {69--81},+ doi = {http://doi.acm.org/10.1145/151220.151227},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{Benton2001ExceptionalSyntax,+ author = {Nick Benton and Andrew Kennedy},+ title = {Exceptional Syntax},+ journal = {Journal of Functional Programming},+ year = 2001,+ volume = 11,+ number = 4,+ pages = {395--410},+ month = jul+}++@InProceedings{Benton2004SMLDotNETExperience,+ author = {Nick Benton and Andrew Kennedy and Claudio Russo},+ title = {Adventures in Interoperability: The SML.NET+ Experience},+ booktitle = {6th ACM-SIGPLAN International Conference on+ Principles and Practice of Declarative Programming+ (PPDP)},+ year = 2004,+ address = {Verona, Italy},+ month = aug+}++@InProceedings{Angelov2005VisualHaskell,+ author = {Krasimir Angelov and Simon Marlow},+ title = {{Visual} {Haskell}: A full-featured {Haskell} development+ environment},+ booktitle = {Haskell '05: Proceedings of the 2005 ACM SIGPLAN+ workshop on Haskell},+ year = 2005,+ month = {September},+ abstract = {We describe the design and implementation of a+ full-featured Haskell development environment, based+ on Microosft's extensible Visual Studio+ environment. Visual Haskell provides a number of+ features not found in existing Haskell development+ environments: interactive error-checking, displaying+ of inferred types in the editor, and other features+ based on static properties of the source+ code. Visual Haskell also provides full support for+ developing and building multi-module Haskell+ projects, based on the Cabal architecture. Visual+ Haskell supports the full GHC language, and can be+ used to develop real Haskell applications (including+ the code of the plugin itself). Visual Haskell has+ driven developments in other Haskell-related+ projects: Cabal, the Concurrent FFI extension, and+ an API to allow programmatic access to GHC+ itself. Furthermore, development of the Visual+ Haskell plugin required industrial-strength foreign+ language interoperability; we describe all our+ experiences in detail. },+ url =+ {http://www.haskell.org/~simonmar/papers/vshaskell.pdf},+ doi = {http://doi.acm.org/10.1145/1088348.1088350},+ isbn = {1-59593-071-X},+ pages = {5--16},+ location = {Tallinn, Estonia},+ publisher = ACM+}++@InProceedings{Cheadle2000NonStopHaskell,+ author = {A. M. Cheadle and A. J. Field and S. Marlow and+ S. L. Peyton Jones and R. L. While},+ title = {Non-stop Haskell},+ booktitle = {ICFP '00: Proceedings of the fifth ACM SIGPLAN+ international conference on Functional programming},+ year = 2000,+ abstract = {We describe an efficient technique for incorporating+ Baker's incremental garbage collection algorithm+ into the Spineless Tagless G-machine on stock+ hardware. This algorithm eliminates the stop/go+ execution associated with bulk copying collection+ algorithms, allowing the system to place an upper+ bound on the pauses due to garbage collection. The+ technique exploits the fact that objects are always+ accessed by jumping to code rather than being+ explicitly dereferenced. It works by modifying the+ entry code-pointer when an object is in the+ transient state of being evacuated but not+ scavenged. An attempt to enter it from the mutator+ causes the object to "self-scavenge" transparently+ before resetting its entry code pointer. We describe+ an implementation of the scheme in v4.01 of the+ Glasgow Haskell Compiler and report performance+ results obtained by executing a range of+ applications. These experiments show that the read+ barrier can be implemented in dynamic dispatching+ systems such as the STG-machine with very short+ mutator pause times and with negligible overhead on+ execution time. },+ url = {http://www.haskell.org/~simonmar/papers/nonstop.pdf},+ doi = {http://doi.acm.org/10.1145/351240.351265},+ isbn = {1-58113-202-6},+ pages = {257--267},+ publisher = ACM+}++@article{Backus1954SpeedcodingSystem,+ author = {J. W. Backus},+ title = {The IBM 701 Speedcoding System},+ journal = {J. ACM},+ volume = 1,+ number = 1,+ year = 1954,+ issn = {0004-5411},+ pages = {4--6},+ doi = {http://doi.acm.org/10.1145/320764.320766},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Backus1957FortranAutomaticCodingSystem,+ author = {J.W. Backus and R.J. Beeber and S. Best and+ R. Goldberg and L.M. Haibt and H.L. Herrick and+ R.A. Nelson and D. Sayre and P.B. Sheridan and+ H.J. Stern and I. Ziller and R.A. Hughes and+ R. Nutt},+ title = {{The FORTRAN automatic coding system}},+ booktitle = {Proceedings Western Joint Computer Conference},+ pages = {188--198},+ year = 1957,+ address = {Los Angeles, California},+ month = feb+}++@article{Gil2005SubtypingTest,+ author = {Joseph (Yossi) Gil and Yoav Zibin},+ title = {Efficient subtyping tests with PQ-encoding},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 27,+ number = 5,+ year = 2005,+ issn = {0164-0925},+ pages = {819--856},+ doi = {http://doi.acm.org/10.1145/1086642.1086643},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Mucci1999PAPI,+ author = {Browne, S. and Deane, C. and Ho, G. and Mucci, P.},+ title = {PAPI: A Portable Interface to Hardware Performance+ Counters},+ booktitle = {Proceedings of Department of Defense HPCMP Users+ Group Conference},+ year = 1999,+ month = {jun}+}++@InProceedings{Olinsky2006StagedAllocation,+ author = {Reuben Olinsky and Christian Lindig and Norman+ Ramsey},+ title = {Staged Allocation: A Compositional Technique for+ Specifying and Implementing Procedure Calling+ Conventions},+ booktitle = {POPL '06: Proceedings of the 32nd ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 2006,+ publisher = ACM+}++@inproceedings{Menon2005VerifiableSSARepresentation,+ author = {Vijay S. Menon and Neal Glew and Brian R. Murphy and+ Andrew McCreight and Tatiana Shpeisman and Ali-Reza+ Adl-Tabatabai and Leaf Petersen},+ title = {A verifiable SSA program representation for+ aggressive compiler optimization},+ booktitle = {POPL '06: Conference record of the 33rd ACM+ SIGPLAN-SIGACT symposium on Principles of+ programming languages},+ year = 2006,+ isbn = {1-59593-027-2},+ pages = {397--408},+ location = {Charleston, South Carolina, USA},+ doi = {http://doi.acm.org/10.1145/1111037.1111072},+ publisher = ACM,+ address = {New York, NY, USA},+}+@Manual{Intel2005Vanderpool,+ title = {Intel Vanderpool Technology for IA-32 Processors+ (VT-x) -- Preliminary Specification},+ author = {{Intel Corporation}},+ month = jan,+ year = 2005,+ note = {Available from:+ \url{http://cache-www.intel.com/cd/00/00/19/76/197666_197666.pdf}}+}+++@Manual{Intel2006DevelopersManual,+ title = {IA-32 Intel Architecture Software Developer's Manual+ Volumes 1, 2A, 2B, 3A, 3B},+ author = {{Intel Corporation}},+ month = jan,+ year = 2006,+ note = {Available from: \url{http://www.intel.com/design/Pentium4/documentation.htm}}+}++@Manual{Intel2006DevelopersManualVolume1,+ title = {IA-32 Intel Architecture Software Developer's Manual+ Volume 1: Basic Architecture},+ author = {{Intel Corporation}},+ month = jan,+ year = 2006,+ note = {Available from:+ \url{http://www.intel.com/design/Pentium4/documentation.htm}}+}++@Manual{Intel2006DevelopersManualVolume3B,+ title = {IA-32 Intel Architecture Software Developer's Manual+ Volume 3B: System Programming Guide, Part 2},+ author = {{Intel Corporation}},+ month = jan,+ year = 2006,+ note = {Available from: \url{http://www.intel.com/design/Pentium4/documentation.htm}}+}++@Manual{Intel2005OptimizationManual,+ title = {IA-32 Intel Architecture Optimization Reference+ Manual},+ author = {{Intel Corporation}},+ month = jun,+ year = 2005,+ note = {Available from: \url{http://www.intel.com/design/Pentium4/documentation.htm}}+}++@Book{Bauer1981AlgorithmischeSprache,+ author = {Friedrich L. Bauer and Hans W{\"o}ssner},+ title = {Algorithmische Sprache und Programmentwicklung},+ publisher = SV,+ year = 1981+}++@InProceedings{Rhiger2005FirstClassOpenClosedCode,+ author = "Morten Rhiger",+ title = "First-Class Open and Closed Code Fragments",+ booktitle = "Proceedings of the Sixth Symposium on Trends in+ Functional Programming",+ editor = "Marko {van Eekelen}",+ publisher = "Tartu University Press",+ address = "Tallinn, Estonia",+ month = sep,+ year = 2005,+ pages = "206--219",+}++@InProceedings{Marazan2004LambdaDynamic,+ author = {Marco T. Moraz{\'a}n and Barbara Mucha},+ title = {Lambda Lifting MT-Scheme Programs for Dynamic Code+ Generation},+ booktitle = {Draft Proceedingsof the 16th International Workshop+ on Implementation and Application of Functional+ Languages},+ year = 2004,+ note = {Appeared as Technical Report 0408 of the Institute+ of Computer Science and Applied Mathematics of the+ University of Kiel}+}++@Book{Wirth1998ProjectOberon,+ author = {Niklaus Wirth and J{\"u}rg Gutknecht},+ title = {Project Oberon -- The Design of an Operating System+ and Compiler},+ publisher = AW,+ year = 1998+}++@Article{AdlTabatabai2003StarJIT,+ author = {Ali-Reza Adl-Tabatabai and Jay Bharadwaj and+ Dong-Yuan Chen and Anwar Ghuloum and Vijay Menon and+ Brian Murphy and Mauricio Serrano and Tatiana+ Shpeisman},+ title = {The {StarJIT} Compiler: A Dynamic Compiler for Managed+ Runtime Environments},+ journal = {Intel Technology Journal},+ year = 2003,+ volume = 7,+ number = 1,+ month = feb+}++@InProceedings{RudiakGold2006HaskellNotNotML,+ author = {Ben Rudiak-Gould and Alan Mycroft and Simon {Peyton+ Jones}},+ title = {Haskell is not not ML},+ booktitle = {European Symposium on Programming 2006 (ESOP'06)},+ year = 2006,+ month = mar+}++@InProceedings{Flanagan2006HybridTypeChecking,+ author = {Cormac Flanagan},+ title = {Hybrid Type Checking},+ booktitle = {POPL '06: Proceedings of the 32nd ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 2006,+ publisher = ACM+}++@TechReport{Proutskova2005PileSystem,+ author = {Polina Proutskova},+ title = {The Pile System: A New Approach To Data And+ Computing},+ institution = {Pile Systems Inc.},+ year = 2005,+ note = {Available from:+ \url{http://pilesys.com/Pile%20Math%20Intro.pdf}}+}++@inproceedings{Traub1989CompilationAsPartitioning,+ author = {Kenneth R. Traub},+ title = {Compilation as partitioning: a new approach to+ compiling non-strict functional languages},+ booktitle = {FPCA '89: Proceedings of the fourth international+ conference on Functional programming languages and+ computer architecture},+ year = 1989,+ isbn = {0-89791-328-0},+ pages = {75--88},+ location = {Imperial College, London, United Kingdom},+ doi = {http://doi.acm.org/10.1145/99370.99376},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Peterson1989UntaggedData,+ author = {John Peterson},+ title = {Untagged data in tagged environments: choosing+ optimal representations at compile time},+ booktitle = {FPCA '89: Proceedings of the fourth international+ conference on Functional programming languages and+ computer architecture},+ year = 1989,+ isbn = {0-89791-328-0},+ pages = {89--99},+ location = {Imperial College, London, United Kingdom},+ doi = {http://doi.acm.org/10.1145/99370.99377},+ publisher = ACM,+ address = {New York, NY, USA},+}++@PhdThesis{Courtney2004ModelingUserInterfaces,+ author = {Antony Alexander Courtney},+ title = {Modeling User Interfaces in a Functional Language},+ school = {Yale University},+ year = 2004+}++@article{Turner1979NewImplementationTechnique,+ author = {D. A. Turner},+ title = {A New Implementation Technique for Applicative+ Languages.},+ journal = {Softw., Pract. Exper.},+ volume = 9,+ number = 1,+ year = 1979,+ pages = {31-49}+}++@InProceedings{Wallace1999HaskellAndXML,+ author = {Malcolm Wallace and Colin Runciman},+ title = {{Haskell} and {XML}: Generic Combinators or+ Type-Based Translation?},+ booktitle = {Proceedings of the International Conference on+ Functional Programming (ICFP)},+ year = 1999,+ address = {Paris},+ month = sep,+ publisher = ACM+}++@InProceedings{Erwig2000PatternGuards,+ author = {Martin Erwig and Simon {Peyton Jones}},+ title = {Pattern Guards and Transformational Patterns},+ booktitle = {Haskell Workshop},+ year = 2000+}++@article{Kernighan1979UnixProgrammingEnvironment,+ author = {Brian W. Kernighan and John R. Mashey},+ title = {The UNIX/TM Programming Environment.},+ journal = {Softw., Pract. Exper.},+ volume = 9,+ number = 1,+ year = 1979,+ pages = {1-15},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@Article{Hayes2003ALucidInterval,+ author = {Brian Hayes},+ title = {A Lucid Interval},+ journal = {American Scientist},+ year = 2003,+ volume = 91,+ number = 6,+ pages = {484-0488}+}++@inproceedings{Hayase2005RevisionControl,+ author = {Yasuhiro Hayase and Makoto Matsushita and Katsuro+ Inoue},+ title = {Revision control system using delta script of syntax+ tree},+ booktitle = {SCM '05: Proceedings of the 12th international+ workshop on Software configuration management},+ year = 2005,+ isbn = {1-59593-310-7},+ pages = {133--149},+ location = {Lisbon, Portugal},+ doi = {http://doi.acm.org/10.1145/1109128.1109138},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Suganuma2006RegionBasedCompilation,+ author = {Toshio Suganuma and Toshiaki Yasue and Toshio+ Nakatani},+ title = {A region-based compilation technique for dynamic+ compilers},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 28,+ number = 1,+ year = 2006,+ issn = {0164-0925},+ pages = {134--174},+ doi = {http://doi.acm.org/10.1145/1111596.1111600},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Boute2005FunctionalDeclarative,+ author = {Raymond Boute},+ title = {Functional declarative language design and predicate+ calculus: a practical approach},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 27,+ number = 5,+ year = 2005,+ issn = {0164-0925},+ pages = {988--1047},+ doi = {http://doi.acm.org/10.1145/1086642.1086647},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Graham1992HigherorderParsing,+ author = "Hutton, Graham",+ title = "Higher-order functions for parsing",+ journal = JFP,+ volume = 2,+ number = 3,+ month = "July",+ pages = "323--343",+ year = 1992,+ url = "citeseer.ist.psu.edu/hutton93higherorder.html"+}++@article{PeytonJones1992ImplementingLazy,+ author = "Simon L. Peyton Jones",+ title = "Implementing Lazy Functional Languages on Stock+ Hardware: The Spineless Tagless G-Machine",+ journal = JFP,+ volume = 2,+ number = 2,+ pages = "127--202",+ year = 1992,+ url = "citeseer.ist.psu.edu/peytonjones92implementing.html"+}++@Article{Augustsson1994UniqueNames,+ author = {Lennart Augustsson and Mikael Rittri and Dan Synek},+ title = {On Generating unique names},+ journal = JFP,+ year = 1994,+ volume = 4,+ number = 1,+ pages = {117--123},+}++@Article{Dakin1973MixedCodeApproach,+ author = {R. J. Dakin and P. C. Poole},+ title = {A mixed code approach},+ journal = CompJ,+ year = 1973,+ volume = 16,+ number = 3,+ pages = {219--222}+}++@Article{Dawson1973Combining,+ author = {J. L. Dawson},+ title = {Combining interpretive code with machine code},+ journal = CompJ,+ year = 1973,+ volume = 16,+ number = 3,+ pages = {216--219}+}++@Article{Samet1975DetailedAnalysis,+ author = {P. A. Samet},+ title = {Detailed Analysis of a program---an instructive+ horror story},+ journal = SPE,+ year = 1975,+ volume = 5,+ number = 2,+ pages = {211--217}+}++@Article{Brown1976ThrowAwayCompiling,+ author = {P. J. Brown},+ title = {Throw-away Compiling},+ journal = SPE,+ year = 1976,+ volume = 6,+ number = 4,+ pages = {423--434}+}++@TechReport{Hunt2005OverviewSingularity,+ author = {Galen Hunt and James Larus and Mart{\'i}n Abadi and+ Mark Aiken and Paul Barham and Manuel F{\"a}hndrich+ and Chris Hawblitzel and Orian Hodson and Steven+ Levi and Nick Murphy and Bjarne Steensgaard and+ David Tarditi and Ted Wobber and Brian Zill},+ title = {An Overview of the Singularity Project},+ institution = {Microsoft Research},+ year = 2005,+ number = {MSR-TR-2005-135}+}++@Book{Coulouris2001DistributedSystems,+ author = {George Coulouris and Jean Dollimore Tim Kindberg},+ title = {Distributed Systems: Concepts and Design},+ publisher = AW,+ year = 2001,+ edition = {third}+}++@Book{Stevens2005APEU,+ author = {W. Richard Stevens and Stephen A. Rago},+ title = {Advanced Programming in the UNIX\textregistered{} Environment},+ publisher = AW,+ year = 2005,+ edition = {Second}+}++@InProceedings{Mitchell2005UnfailingHaskell,+ author = {Neil Mitchell and Colin Runciman},+ title = {Unfailing Haskell: A Static Checker for Pattern+ Matching},+ booktitle = {Draft Proceedings of Symposium on Trends in+ Functional Programming 2005},+ year = 2005+}++@InProceedings{Hanus2001CIDER,+ author = {Michael Hanus and Johannes Koj},+ title = {An Integrated Development Environment for+ Declarative Multi-Paradigm Programming},+ booktitle = {Proceedings of the Eleventh Workshop on Logic+ Programming Environments (WLPE'01)},+ year = 2001,+ editor = {A. Kusalik},+ month = dec+}++@InProceedings{DiosCastro2000GraphicalDevelopmentEnvironment,+ author = {J. de Dios Castro and J.C. Gonz\'alez Moreno},+ title = {A Graphical Development Environment for Functional+ Logic Languages},+ booktitle = {Proc. of the Ninth International Workshop on+ Functional and Logic Programming ({WFLP})},+ year = 2000+}++@InProceedings{Pena2000CompilerConstruction,+ author = {Ricardo Pe{\~n}a},+ title = {Compiler Construction in a Functional Setting},+ booktitle = {Proc. of the Ninth International Workshop on+ Functional and Logic Programming ({WFLP})},+ year = 2000+}++@InProceedings{Hallgren2005House,+ author = {Thomas Hallgren and Mark P. Jones and Rebekah Leslie+ and Andrew Tolmach},+ title = {A Principled Approach to Operating System+ Construction in Haskell},+ booktitle = {Proceedings of the International Conference on+ Functional Programming (ICFP)},+ year = 2005+}++@article{ Pike1989ConcurrentWindowSystem,+ author = "Rob Pike",+ title = "A Concurrent Window System",+ journal = "Computing Systems",+ volume = 2,+ number = 2,+ pages = "133-153",+ year = 1989,+ url = "citeseer.ist.psu.edu/pike89concurrent.html"+}++@InProceedings{Michael2004ScalableMemoryAllocation,+ author = {Maged M. Michael},+ title = {Scalable Lock-Free Dynamic Memory Allocation pdf},+ booktitle = {The 2004 ACM SIGPLAN Conference on Programming+ Language Design and Implementation},+ pages = {35--46},+ year = 2004,+ month = jun+}++@Book{Hudak2000SOE,+ author = {Paul Hudak},+ title = {The Haskell School of Expression},+ publisher = CUP,+ year = 2000+}++@Book{Hofstedt2006FTFP,+ author = {Petra Hofstedt and Peter Pepper},+ title = {Funktionale Programmierung -- Fortgeschrittene+ Techniken},+ publisher = SV,+ year = 2006,+}++@article{Partsch1983ProgramTransformationSystems,+ author = {H. Partsch and R. Steinbr{\"u}ggen},+ title = {Program Transformation Systems},+ journal = {ACM Comput. Surv.},+ volume = {15},+ number = {3},+ year = {1983},+ issn = {0360-0300},+ pages = {199--236},+ doi = {http://doi.acm.org/10.1145/356914.356917},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{ Baader2001CombiningConstraintSolving,+ author = "Franz Baader and Klaus U. Schulz",+ title = "Combining Constraint Solving",+ journal = "Lecture Notes in Computer Science",+ volume = 2002,+ pages = "104--??",+ year = 2001,+ url = "citeseer.ist.psu.edu/baader01combining.html"+}++@article{ Tip1995SurveyProgramSlicing,+ author = "F. Tip",+ title = "A survey of program slicing techniques",+ journal = "Journal of programming languages",+ volume = 3,+ pages = "121--189",+ year = 1995,+ url = "citeseer.csail.mit.edu/tip95survey.html"+}++@article{Wand1980ContinuationBasedTransformation,+ author = {Mitchell Wand},+ title = {Continuation-Based Program Transformation+ Strategies},+ journal = JACM,+ volume = 27,+ number = 1,+ year = 1980,+ issn = {0004-5411},+ pages = {164--180},+ doi = {http://doi.acm.org/10.1145/322169.322183},+ publisher = ACM,+ address = {New York, NY, USA},+}++@PhdThesis{Missura1997PhD,+ author = {Stephan Albert Missura},+ title = {Higher-Order Mixfix Syntax for Representing+ Mathematical Notation and its Parsing},+ school = {ETH Z{\"u}rich},+ year = 1997+}++@Article{Whaley2005Joeq,+ author = {John Whaley},+ title = {Joeq: A virtual machine and compiler infrastructure},+ journal = {Science of Computer Programming},+ year = 2005,+ volume = 57,+ number = 3,+ pages = {339--356},+ month = sep+}++@Article{Franz2005PortableVM,+ author = {Michael Franz and Deepak Chandra and Andreas Gal and+ Vivek Haldar and Christian W. Probst and Ferm{\'i}n+ Reig and Ning Wang},+ title = {A portable virtual machine target for proof-carrying+ code},+ journal = {Science of Computer Programming},+ year = 2005,+ volume = 57,+ number = 3,+ pages = {275--294},+ month = sep+}++@Article{Latendresse2005HuffmanBytecode,+ author = {Mario Latendresse and Marc Feeley},+ title = {Generation of fast interpreters for Huffman+ compressed bytecode},+ journal = {Science of Computer Programming},+ year = 2005,+ volume = 57,+ number = 3,+ pages = {295-317},+ month = sep+}++@Article{Ung2006DynamicBinaryTranslation,+ author = {David Ung and Cristina Cifuentes},+ title = {Dynamic binary translation using run-time feedbacks},+ journal = {Science of Computer Programming},+ year = 2006,+ volume = 60,+ number = 2,+ pages = {189--204},+ month = apr+}++@Article{Debbabi2006SelectiveDynamic,+ author = {Mourad Debbabi and Abdelouahed Gherbi and Azzam+ Mourad and Hamdi Yahyaoui},+ title = {A selective dynamic compiler for embedded Java+ virtual machines targeting ARM processors},+ journal = {Science of Computer Programming},+ year = 2006,+ volume = 59,+ number = {1--2},+ pages = {38--63},+ month = jan+}++@TechReport{Demuth1997EchteCompilergenerierung,+ author = {Jochen Demuth and Stephan Weber and S{\"o}nke+ Kannapinn and Mario Kr{\"o}plin},+ title = {{Echte Compilergenerierung -- Effiziente+ Implementierung einer abgeschlossenen Theorie}},+ institution = {Technische Universit{\"a}t Berlin},+ year = 1997,+ type = {Research report},+ number = {\mbox{1997-06} in {\em Forschungsberichte des+ Fachbereichs Informatik}},+}++@inproceedings{Wu2005ControllingEnergy,+ author = {Qiang Wu and Margaret Martonosi and Douglas W. Clark+ and V. J. Reddi and Dan Connors and Youfeng Wu and+ Jin Lee and David Brooks},+ title = {A Dynamic Compilation Framework for Controlling+ Microprocessor Energy and Performance},+ booktitle = {MICRO 38: Proceedings of the 38th annual IEEE/ACM+ International Symposium on Microarchitecture},+ year = 2005,+ isbn = {0-7695-2440-0},+ pages = {271--282},+ doi = {http://dx.doi.org/10.1109/MICRO.2005.7},+ publisher = {IEEE Computer Society},+ address = {Washington, DC, USA},+}++@inproceedings{Unnikrishnan2002EnergyAdaptation,+ author = {P. Unnikrishnan and G. Chen and M. Kandemir and+ D. R. Mudgett},+ title = {Dynamic compilation for energy adaptation},+ booktitle = {ICCAD '02: Proceedings of the 2002 IEEE/ACM+ International Conference on Computer-aided Design},+ year = 2002,+ isbn = {0-7803-7607-2},+ pages = {158--163},+ location = {San Jose, California},+ doi = {http://doi.acm.org/10.1145/774572.774595},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Ogel2005EffiicentDynamicAspects,+ author = {Fr{\'e}d{\'e}ric Ogel and Ga{\"e}l Thomas and Bertil+ Folliot},+ title = {Supporting efficient dynamic aspects through+ reflection and dynamic compilation},+ booktitle = {SAC '05: Proceedings of the 2005 ACM Symposium on+ Applied Computing},+ year = 2005,+ isbn = {1-58113-964-0},+ pages = {1351--1356},+ location = {Santa Fe, New Mexico},+ doi = {http://doi.acm.org/10.1145/1066677.1066983},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Kotzmann2005EscapeAnalysis,+ author = {Thomas Kotzmann and Hanspeter M{\"o}ssenb{\"o}ck},+ title = {Escape analysis in the context of dynamic+ compilation and deoptimization},+ booktitle = {VEE '05: Proceedings of the 1st ACM/USENIX+ International Conference on Virtual Execution+ Environments},+ year = 2005,+ isbn = {1-59593-047-7},+ pages = {111--120},+ location = {Chicago, IL, USA},+ doi = {http://doi.acm.org/10.1145/1064979.1064996},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Hazelwood2003AdaptiveOnlineInlining,+ author = {Kim Hazelwood and David Grove},+ title = {Adaptive online context-sensitive inlining},+ booktitle = {CGO '03: Proceedings of the international symposium+ on Code generation and optimization},+ year = 2003,+ isbn = {0-7695-1913-X},+ pages = {253--264},+ location = {San Francisco, California},+ publisher = {IEEE Computer Society},+ address = {Washington, DC, USA},+}++@inproceedings{Ogata1994MultithreadSmalltalk,+ author = {Kazuhiro Ogata and Norihisa Doi},+ title = {Object allocation and dynamic compilation in+ {MultithreadSmalltalk}},+ booktitle = {SAC '94: Proceedings of the 1994 ACM Symposium on+ Applied Computing},+ year = 1994,+ isbn = {0-89791-647-6},+ pages = {452--456},+ location = {Phoenix, Arizona, United States},+ doi = {http://doi.acm.org/10.1145/326619.326808},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Wimmer2005OptimizedIntervalSplitting,+ author = {Christian Wimmer and Hanspeter M{\"o}ssenb{\"o}ck},+ title = {Optimized interval splitting in a linear scan+ register allocator},+ booktitle = {VEE '05: Proceedings of the 1st ACM/USENIX+ international conference on Virtual execution+ environments},+ year = 2005,+ isbn = {1-59593-047-7},+ pages = {132--141},+ location = {Chicago, IL, USA},+ doi = {http://doi.acm.org/10.1145/1064979.1064998},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Ung2000MachineAdaptableDynamic,+ author = {David Ung and Cristina Cifuentes},+ title = {Machine-adaptable dynamic binary translation},+ booktitle = {DYNAMO '00: Proceedings of the ACM SIGPLAN Workshop+ on Dynamic and Adaptive Compilation and+ Optimization},+ year = 2000,+ isbn = {1-58113-241-7},+ pages = {41--51},+ doi = {http://doi.acm.org/10.1145/351397.351414},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Brifault2004DataDrivenRTCG,+ author = {Karine Brifault and Henri-Pierre Charles},+ title = {Efficient data driven run-time code generation},+ booktitle = {LCR '04: Proceedings of the 7th workshop on Workshop+ on languages, compilers, and run-time support for+ scalable systems},+ year = 2004,+ pages = {1--7},+ location = {Houston, Texas},+ doi = {http://doi.acm.org/10.1145/1066650.1066653},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Smith2000Overcoming,+ author = {Michael D. Smith},+ title = {Overcoming the challenges to feedback-directed+ optimization (Keynote Talk)},+ booktitle = {DYNAMO '00: Proceedings of the ACM SIGPLAN workshop+ on Dynamic and adaptive compilation and+ optimization},+ year = 2000,+ isbn = {1-58113-241-7},+ pages = {1--11},+ doi = {http://doi.acm.org/10.1145/351397.351408},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Kistler2003ContinuousProgramOptimization,+ author = {Thomas Kistler and Michael Franz},+ title = {Continuous program optimization: A case study},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 25,+ number = 4,+ year = 2003,+ issn = {0164-0925},+ pages = {500--548},+ doi = {http://doi.acm.org/10.1145/778559.778562},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Grant2004RetrospectiveDyC,+ author = {Brian Grant and Matthai Philipose and Markus Mock+ and Craig Chambers and Susan J. Eggers},+ title = {A retrospective on: ``an evaluation of staged+ run-time optimizations in DyC''},+ journal = {SIGPLAN Notices},+ volume = 39,+ number = 4,+ year = 2004,+ issn = {0362-1340},+ pages = {656--669},+ doi = {http://doi.acm.org/10.1145/989393.989458},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Coglio2002SimpleVerification,+ author = {Alessandro Coglio},+ title = {Simple Verification Technique for Complex {Java}+ Bytecode Subroutines},+ booktitle = {Proc.\ 4th {ECOOP} Workshop on Formal Techniques for+ {Java}-like Programs},+ year = 2002,+ month = {June}+}++@Book{Waite1984CompilerConstruction,+ author = {William M. Waite and Gerhard Goos},+ title = {Compiler Construction},+ publisher = SV,+ year = 1984+}++@Book{Nielson1992SemanticsWithApplications,+ author = {Hanne Riis Nielson and Flemming Nielson},+ title = {Semantics with Applications: A Formal Introduction},+ publisher = Wiley,+ year = 1992+}++@TechReport{Beck2005FIRM,+ author = {Michael Beck and G{\"o}tz Lindenmaier and Boris+ Boesler and Rubino Gei{\ss}},+ title = {Firm, an Intermediate Language for Compiler+ Research},+ institution = {University of Karlsruhe},+ year = 2005,+ number = {2005-8,},+ month = {mar}+}++@Article{Nielson1987HoareLikeProofSystem,+ author = "H. Riis Nielson",+ title = "A Hoare-like Proof System for Run-time Analysis of+ Programs",+ year = 1987,+ pages = "107-136",+ journal = "Science of Computer Programming",+ volume = 9,+ editor = "",+ number = "",+ publisher = "",+ url = "http://www2.imm.dtu.dk/pubdb/p.php?1768"+}+ +@PhdThesis{Wright2005,+ author = {Joel J. Wright},+ title = {Compiling and Reasoning about Exceptions and+ Interrupts},+ school = {University of Nottingham},+ year = 2005,+ month = jun+}++@Book{Michaelson1995ElementaryStandardML,+ author = {Greg Michaelson},+ title = {Elementary {Standard} {ML}},+ publisher = {UCL Press},+ year = 1995+}++@Book{Michaelson1988IntroFP,+ author = {Greg Michaelson},+ title = {An Introduction to Functional Programming Through+ Lambda Calculus},+ publisher = AW,+ year = 1988+}++@InProceedings{Cooper2006Links,+ author = {Ezra Cooper and Sam Lindley and Philip Wadler and+ Jeremy Yallop},+ title = {Links: Web Programming Without Tiers},+ booktitle = {Proceedings of the International Conference on+ Functional Programming (ICFP'06)},+ year = 2006,+ note = {Submitted}+}++@inproceedings{Zenger2001ExtensibleAlgebraicDatatypes,+ author = {Matthias Zenger and Martin Odersky},+ title = {Extensible algebraic datatypes with defaults},+ booktitle = {ICFP '01: Proceedings of the sixth ACM SIGPLAN+ International Conference on Functional Programming},+ year = 2001,+ isbn = {1-58113-415-0},+ pages = {241--252},+ location = {Florence, Italy},+ doi = {http://doi.acm.org/10.1145/507635.507665},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Loeh2006OpenDataTypes,+ author = {Andres L{\"o}h and Ralf Hinze},+ title = {Open data types and open functions},+ institution = {Lehrstuhl f{\"u}r Informatik III, Universit{\"a}t+ Bonn},+ year = 2006,+ number = {IAI-TR-2006-02}+}++@InProceedings{Loeh2006OpenDataTypesAndOpenFunctions,+ author = {Andres L{\"o}h and Ralf Hinze},+ title = {Open data types and open functions},+ booktitle = {Eighth ACM-SIGPLAN International Symposium on+ Principles and Practice of Declarative Programming+ (PPDP'06)},+ year = 2006,+ editor = {Michael Maher},+ address = {Venice, Italy},+ month = jul,+ publisher = ACM+}++@InProceedings{Spiliopoulou2000BriskMachine,+ author = {Eleni Spiliopoulou and Ian Holyer},+ title = {The Brisk Machine: the Next Step in the Execution of+ Functional Languages},+ booktitle = {Proceedings of Festival Workshop in Foundations and+ Computations, FC'00},+ year = 2000,+ month = jul+}++@InProceedings{Candea2004Microreboot,+ author = {George Candea and Shinichi Kawamoto and Yuichi+ Fujiki and Greg Friedman and Armando Fox},+ title = {Microreboot -- A Technique for Cheap Recovery},+ booktitle = {Proceedings of the 6th Symposium on Operating+ Systems Design and Implementation (OSDI)},+ year = 2004,+ address = {San Francisco, CA},+ month = dec+}++@InProceedings{Candea2001RecursiveRestartability,+ author = {George Candea and Armando Fox},+ title = {Recursive Restartability: Turning the Reboot+ Sledgehammer into a Scalpel},+ booktitle = {Proceedings of the 8th {W}orkshop on {H}ot {T}opics+ in {O}perating {S}ystems ({HotOS-VIII})},+ pages = {110--115},+ year = 2001,+ address = {Schloss Elmau, Germany},+ month = may,+ organization = {{IEEE} {C}omputer {S}ociety},+ annote = {Even after decades of software engineering research,+ complex computer systems still fail, primarily due+ to nondeterministic bugs that are typically resolved+ by rebooting. Conceding that Heisenbugs will remain+ a fact of life, we propose a systematic+ investigation of restarts as "high availability+ medicine." In this paper we show how recursive+ restartability (RR) -- the ability of a system to+ gracefully tolerate restarts at multiple levels --+ improves fault tolerance, reduces time-to-repair,+ and enables system designers to build flexible,+ highly available software infrastructures. Using+ several examples of widely deployed software+ systems, we identify properties that are required of+ RR systems and outline an agenda for turning the+ recursive restartability philosophy into a practical+ software structuring tool. Finally, we describe+ infrastructural support for RR systems, along with+ initial ideas on how to analyze and benchmark such+ systems.}+}++@InProceedings{Candea2003CrashOnlySoftware,+ author = {George Candea and Armando Fox},+ title = {Crash-Only Software},+ booktitle = {Proceedings of the 9th {W}orkshop on {H}ot {T}opics+ in {O}perating {S}ystems ({HotOS-IX})},+ year = 2003,+ address = {Lihue, Hawaii},+ month = may,+ organization = {{IEEE} {C}omputer {S}ociety}+}++@Misc{MLWorkingGroup2000ML2000,+ author = {The {ML2000 Working Group}},+ title = {{Principles and a Preliminary Design for ML2000}},+ howpublished = {World Wide Web},+ month = mar,+ year = 2000,+ annote = {Available at:+ \url{http://flint.cs.yale.edu/flint/publications/ml2000.html}}+}++@TechReport{Thies1999StaticAnalysisLib,+ author = {Michael Thies},+ title = {Static compositional analysis of libraries in+ support of dynamic optimization},+ institution = {Universit{\"a}t Paderborn Fachbereich+ Mathematik-Informatik},+ year = 1999,+ type = {Technischer Bericht, Reihe Informatik},+ number = {tr-ri-99-210},+ month = aug+}++@inproceedings{Ishizaki2000Devirtualization,+ author = {Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki+ Yasue and Hideaki Komatsu and Toshio Nakatani},+ title = {A study of devirtualization techniques for a Java+ Just-In-Time compiler},+ booktitle = {OOPSLA '00: Proceedings of the 15th ACM SIGPLAN+ conference on Object-oriented programming, systems,+ languages, and applications},+ year = 2000,+ isbn = {1-58113-200-X},+ pages = {294--310},+ location = {Minneapolis, Minnesota, United States},+ doi = {http://doi.acm.org/10.1145/353171.353191},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Misc{Jian2004DistributedJIT,+ author = {Li Jian},+ title = {Distributed Java Just-in-Time compiler for embedded+ system},+ howpublished = {Available from: \url{http://www.cogs.susx.ac.uk/users/pgrep/whp/doc/individual/2004/papers/LiJian.pdf}}+}++@inproceedings{Meyer1988ContinuationsUnreasonable,+ author = {Albert Meyer and Jon G. Riecke},+ title = {Continuations may be unreasonable},+ booktitle = {LFP '88: Proceedings of the 1988 ACM conference on+ LISP and functional programming},+ year = 1988,+ isbn = {0-89791-273-X},+ pages = {63--71},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/62678.62685},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Reps2006IntermediateRepresentation,+ author = {Thomas Reps and Gogul Balakrishnan and Junghee Lim},+ title = {Intermediate-Representation Recovery from Low-Level+ Code},+ booktitle = {Proc. Workshop on Partial Evaluation and Program+ Manipulation (PEPM)},+ year = 2006,+ address = {Charleston, South California},+ note = jan+}++@PhdThesis{Backes2004XRTLAnalyse,+ author = {Werner Backes},+ title = {{Programmanalyse des XRTL Zwischencodes}},+ school = {Universit{\"a}t des Saarlandes},+ year = 2004+}++@incollection{Wall1992SystemsCodeModification,+ author = "David W. Wall",+ title = "{S}ystems for late code modification",+ booktitle = "Code Generation - Concepts, Tools, Techniques",+ publisher = "Springer-Verlag",+ editor = "Giegerich, Robert and Graham, Susan L.",+ pages = "275-293",+ year = 1992,+ url = "citeseer.ist.psu.edu/wall92systems.html"+}++@article{Kamin2003RoutineRTCG,+ author = {Sam Kamin},+ title = {Routine run-time code generation},+ journal = {SIGPLAN Notices},+ volume = 38,+ number = 12,+ year = 2003,+ issn = {0362-1340},+ pages = {44--56},+ doi = {http://doi.acm.org/10.1145/966051.966059},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Gay2005TinyOS,+ author = {David Gay and Phil Levis and David Culler},+ title = {Software design patterns for TinyOS},+ booktitle = {LCTES'05: Proceedings of the 2005 ACM SIGPLAN/SIGBED+ conference on Languages, compilers, and tools for+ embedded systems},+ year = 2005,+ isbn = {1-59593-018-3},+ pages = {40--49},+ location = {Chicago, Illinois, USA},+ doi = {http://doi.acm.org/10.1145/1065910.1065917},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Cheney2005ScrapYourNameplate,+ author = {James Cheney},+ title = {Scrap your Nameplate (Functional Pearl)},+ booktitle = {Proceedings of the International Conference on+ Functional Programming (ICFP 2005)},+ pages = {180--191},+ year = 2005+}++@InProceedings{Soffa2004DevelopingFoundation,+ author = {Mary Lou Soffa},+ title = {Developing a Foundation for Code Optimization},+ booktitle = {Compiler Construction: 13th International+ Conference, CC 2004},+ pages = {1--4},+ year = 2004,+ volume = 2985,+ series = LNCS,+ month = jan+}++@Article{Wehr2006ModulesClasses,+ author = {Stefan Wehr and Manuel M. T. Chakravarty},+ title = {{ML Modules and Haskell Type Classes: A Constructive+ Comparison}},+ journal = JFP,+ year = 2006,+ note = {Submitted}+}++@Book{Fahringer2003SymbolicAnalysis,+ author = {Thomas Fahringer and Bernhard Scholz},+ title = {Advanced Symbolic Analysis for Compilers},+ publisher = SV,+ year = 2003,+ volume = 2628,+ series = LNCS+}++@InProceedings{Blazy2006CFront,+ author = {Sandrine Blazy and Zaynah Dargaye and Xavier Leroy},+ title = {Formal verification of a C compiler front-end},+ booktitle = {Formal Methods 2006},+ year = 2006+}++@InProceedings{Dean1995CHA,+ author = {Jeffrey Dean and David Grove and Craig Chambers},+ title = {Optimization of Object-Oriented Programs Using+ Static Class Hierarchy Analysis},+ booktitle = {ECOOP '95},+ pages = {77--101},+ year = 1995,+ volume = 952,+ series = LNCS+}++@inproceedings{Morris1973TypesAreNotSets,+ author = {James H. Morris, Jr.},+ title = {Types are not sets},+ booktitle = {POPL '73: Proceedings of the 1st annual ACM+ SIGACT-SIGPLAN symposium on Principles of+ programming languages},+ year = 1973,+ pages = {120--124},+ location = {Boston, Massachusetts},+ doi = {http://doi.acm.org/10.1145/512927.512938},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Shivers1991UVE,+ author = {Olin Shivers},+ title = {Useless-variable elimination},+ booktitle = {Proceedings of the Workshop on Static Analysis of+ Equational, Functional and Logic Programs (WSA'91)},+ year = 1991,+ address = {Bordeaux, France},+ month = oct,+ note = {Published as \emph{Actes JTASPEFL'91}, Bigre \#74,+ Atelier Irisa, IRISA Campus de Beaulieu}+}++@TechReport{Shivers1990SuperBeta,+ author = {Olin Shivers},+ title = {Super-$\beta$: Copy, constant, and lambda+ propagation in Scheme},+ institution = {CMU School of Computer Science},+ year = 1990,+ note = {Scheme Flow-analysis Working Note \#3 (May 1, 1990)}+}++@InProceedings{vanReeuwijk2003Metacompilation,+ author = {C. van Reeuwijk},+ title = {Rapid and Robust Compiler Construction Using+ Template-Based Metacompilation},+ booktitle = {CC2003},+ pages = {247--261},+ year = 2003,+ month = apr,+ address = {Warsaw, Poland}+}++@InProceedings{vanReeuwijk2002AddingTuplesToJava,+ author = {C. van Reeuwijk and H.J. Sips},+ title = {Adding Tuples to Java: a Study in Lightweight Data+ Structures},+ booktitle = {Proc. of the Java Grande/ISCOPE 2002 Conference},+ pages = {185--191},+ year = 2002,+ address = {Seattle, USA},+ month = nov+}++@inproceedings{Loewe2002MetaprogrammingApplied,+ author = {Welf L{\"o}we and Markus L. Noga},+ title = {Metaprogramming Applied to Web Component Deployment},+ booktitle = {Electronic Notes in Theoretical Computer Science},+ volume = 65,+ number = 4,+ publisher = {Elsevier},+ year = 2002+}++@InProceedings{Boerger1999JavaSemantics,+ author = {Egon B{\"o}rger and Wolfram Schulte},+ title = {A Programmer Friendly Modular Definition of the+ Semantics of Java},+ booktitle = {Formal Syntax and Semantics of Java},+ pages = {353--404},+ year = 1999,+ editor = {J. Alves-Foss},+ volume = 1523,+ series = LNCS,+ publisher = SV+}++@Misc{Ramsey2001FeatherweightConcurrency,+ author = {Norman Ramsey and Simon {Peyton Jones}},+ title = {Featherweight concurrency in a portable assembly+ language},+ howpublished = {Available from:+ \url{http://research.microsoft.com/Users/simonpj/papers/c--/c--conc.htm}},+ month = jan,+ year = 2001+}++@Article{BakerFinch2004CPR,+ author = {Clem Baker-Finch and Kevin Glynn and Simon {Peyton+ Jones}},+ title = {Constructed Product Result Analysis for Haskell},+ journal = {Journal of Functional Programming},+ year = 2004,+ volume = 14,+ number = 2,+ pages = {211--245}+}++@PhdThesis{Escobar2003PhD,+ author = {Santiago Escobar},+ title = {Strategies and Analysis Techniques for Functional+ Program Optimization},+ school = {Departamento de Sistemas Informáticos y Computación,+ Universidad Politécnica de Valencia},+ year = 2003,+ month = oct+}++@inproceedings{Debray1995AbstractInterpretationLowLevelOptimization,+ author = {Saumya Debray},+ title = {Abstract interpretation and low-level code+ optimization},+ booktitle = {PEPM '95: Proceedings of the 1995 ACM SIGPLAN+ symposium on Partial evaluation and semantics-based+ program manipulation},+ year = 1995,+ isbn = {0-89791-720-0},+ pages = {111--121},+ location = {La Jolla, California, United States},+ doi = {http://doi.acm.org/10.1145/215465.215571},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Nilsson2005DynamicOptimization,+ author = {Henrik Nilsson},+ title = {Dynamic optimization for functional reactive+ programming using generalized algebraic data types},+ booktitle = {ICFP '05: Proceedings of the tenth ACM SIGPLAN+ international conference on Functional programming},+ year = 2005,+ isbn = {1-59593-064-7},+ pages = {54--65},+ location = {Tallinn, Estonia},+ doi = {http://doi.acm.org/10.1145/1086365.1086374},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{DBLP:conf/ifl/BentonKLR04,+ author = {Nick Benton and Andrew Kennedy and Sam Lindley and+ Claudio V. Russo},+ title = {Shrinking Reductions in SML.NET.},+ booktitle = {IFL},+ year = {2004},+ pages = {142-159},+ ee = {http://dx.doi.org/10.1007/11431664_9},+ crossref = {DBLP:conf/ifl/2004},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@proceedings{DBLP:conf/ifl/2004,+ editor = {Clemens Grelck and Frank Huch and Greg Michaelson+ and Philip W. Trinder},+ title = {Implementation and Application of Functional+ Languages, 16th International Workshop, IFL 2004,+ L{\"u}beck, Germany, September 8-10, 2004, Revised+ Selected Papers},+ booktitle = {IFL},+ publisher = {Springer},+ series = {Lecture Notes in Computer Science},+ volume = {3474},+ year = {2005},+ isbn = {3-540-26094-3},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@inproceedings{DBLP:conf/ifl/StefanovS04,+ author = {Ekaterina Stefanov and Anthony M. Sloane},+ title = {Simple, Effective Code-Size Reduction for Functional+ Programs.},+ booktitle = {IFL},+ year = {2004},+ pages = {211-225},+ ee = {http://dx.doi.org/10.1007/11431664_13},+ crossref = {DBLP:conf/ifl/2004},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@Misc{Palmer2006PluvoHomePage,+ author = {Sean B. Palmer},+ title = {Pluvo Home Page},+ howpublished = {Available from: \url{http://inamidst.com/pluvo/}},+ month = jul,+ year = 2006,+ note = {Just-in-time compiled functional/imperative+ scripting language}+}++@Misc{PLT2006PLTSchemeHomePage,+ author = {The {PLT Group}},+ title = {PLT Scheme Home Page},+ howpublished = {Available from: \url{http://www.plt-scheme.org}},+ month = jul,+ year = 2006,+ note = {Scheme compiler/interpreter with just-in-time+ compilation}+}++@Book{Demoen2005First10PrologContests,+ author = {Bart Demoen and Phuong-Lan Nguyen and Tom Schrijvers+ and Remko Troncon},+ title = {The First 10 Prolog Programming Contests},+ publisher = {Self},+ year = 2005+}++@proceedings{AlvesFoss1999FormalSyntaxSemanticsJava,+ editor = {Jim Alves-Foss},+ title = {Formal Syntax and Semantics of Java},+ booktitle = {Formal Syntax and Semantics of Java},+ publisher = {Springer},+ series = {Lecture Notes in Computer Science},+ volume = {1523},+ year = {1999},+ isbn = {3-540-66158-1},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@inproceedings{Qian1999FormalSepcJVMCode,+ author = {Zhenyu Qian},+ title = {A Formal Specification of Java Virtual Machine+ Instructions for Objects, Methods and Subrountines.},+ booktitle = {Formal Syntax and Semantics of Java},+ year = 1999,+ pages = {271-312},+ ee =+ {http://link.springer.de/link/service/series/0558/bibs/1523/15230271.htm},+ crossref = {AlvesFoss1999FormalSyntaxSemanticsJava},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@InProceedings{Paleczny2001HotSpotServer,+ author = {Michael Paleczny and Christopher Vick and Cliff+ Click},+ title = {{The Java HotSpot\texttrademark{} Server Compiler}},+ booktitle = {Proceedings of the Java\texttrademark{} Virtual+ Machine Research and Technology Symposium (JVM '01)},+ year = 2001,+ month = apr,+ organization = {USENIX Association}+}++@Proceedings{Cook2003WODA,+ title = {ICSE Workshop on Dynamic Analysis (WODA 2003)},+ year = 2003,+ editor = {Jonathan Cook and Michael Ernst},+ address = {Portland, Oregon},+ month = may+}++@Article{Bird2006FindingCelebreties,+ author = {Richard Bird and Sharon Curtis},+ title = {FUNCTIONAL PEARLS: Finding celebrities: A lesson in+ functional programming},+ journal = JFP,+ year = 2006,+ volume = 16,+ number = 1,+ pages = {13--20},+ month = jan+}++@Article{Erwig2006ProbabilisticFP,+ author = {Martin Erwig and Steve Kollmansberger},+ title = {FUNCTIONAL PEARLS: Probabilistic functional+ programming in Haskell },+ journal = JFP,+ year = 2006,+ volume = 16,+ number = 1,+ pages = {21--34},+ month = jan+}++@InBook{Hinze1998ProjBasStriktAna,+ author = {Ralf Hinze},+ title = {Ausgezeichnete Informatikdissertationen 1996},+ chapter = {Projektionsbasierte Striktheitsanalyse},+ publisher = {Teubner, Stuttgart},+ year = 1998,+ pages = {46--61}+}++@Article{Hinze2006FingerTrees,+ author = {Ralf Hinze and Ross Paterson},+ title = {Finger trees: a simple general-purpose data+ structure},+ journal = JFP,+ year = 2006,+ volume = 16,+ number = 2,+ pages = {197-217}+}++@PhdThesis{Hinze1995PhD,+ author = {Ralf Hinze},+ title = {Projection-based Strictness Analysis - Theoretical+ and Practical Aspects},+ school = {Universität Bonn},+ year = 1995,+ month = nov+}++@Book{Felleisen2006PLLC,+ author = {Matthias Felleisen and Matthew Flatt},+ title = {Programming Languages and Lambda Calculi},+ publisher = {Web},+ year = 2006,+ note = {Available from:+ \url{http://www.cs.utah.edu/plt/publications/pllc.pdf}}+}++@InProceedings{Benton2006AbstractingAllocation,+ author = {Nick Benton},+ title = {Abstracting Allocation: The New new Thing},+ booktitle = {Somewhere Conference},+ year = 2006,+ month = sep,+ note = {Available online:+ \url{http://research.microsoft.com/~nick/newnewcsl.pdf}}+}++@Misc{Abramsky2006SociallyResponsive,+ author = {Samson Abramsky},+ title = {Socially Responsive, Environmentally Friendly Logic},+ howpublished = {Available online:+ \url{http://web.comlab.ox.ac.uk/oucl/work/+ samson.abramsky/sandu.pdf}},+ year = 2006+}++@Article{Cierniak2003ORP,+ author = {Michal Cierniak and Marsha Eng and Neal Glew and+ Brian Lewis and James Stichnoth},+ title = {The Open Runtime Platform: A Flexible+ High-Performance Managed Runtime Environment},+ journal = {Intel Technology Journal},+ year = 2003,+ volume = 7,+ number = 1,+ month = feb+}++@inproceedings{Hundt2006StructureLayoutOptimization,+ author = {Robert Hundt and Sandya Mannarswamy and Dhruva+ Chakrabarti},+ title = {Practical Structure Layout Optimization and Advice},+ booktitle = {CGO '06: Proceedings of the International Symposium+ on Code Generation and Optimization},+ year = 2006,+ isbn = {0-7695-2499-0},+ pages = {233--244},+ doi = {http://dx.doi.org/10.1109/CGO.2006.29},+ publisher = {IEEE Computer Society},+ address = {Washington, DC, USA},+}++@inproceedings{Bruening2006ThreadShared,+ author = {Derek Bruening and Vladimir Kiriansky and Timothy+ Garnett and Sanjeev Banerji},+ title = {Thread-Shared Software Code Caches},+ booktitle = {CGO '06: Proceedings of the International Symposium+ on Code Generation and Optimization},+ year = 2006,+ isbn = {0-7695-2499-0},+ pages = {28--38},+ doi = {http://dx.doi.org/10.1109/CGO.2006.36},+ publisher = {IEEE Computer Society},+ address = {Washington, DC, USA},+}++@InProceedings{Haller2006EventBased,+ author = {Philipp Haller and Martin Odersky},+ title = {Event-Based Programming without Inversion of Control},+ booktitle = {Proc. Joint Modular Languages Conference},+ year = 2006,+ series = {Springer LNCS}+}++@Misc{Valgrind2006HomePage,+ title = {Valgrind Home Page},+ howpublished = {Available from: \url{http://valgrind.org}},+ month = jul,+ year = 2006+}++@InProceedings{PeytonJones2007HistoryOfHaskell,+ author = {Simon {Peyton Jones} and Phil Wadler and Paul Hudak+ and and John Hughes },+ title = {The History of Haskell (draft)},+ booktitle = {History of Programming Languages conference+ (HOPL'07)},+ year = 2007,+ note = {Submitted}+}++@Unpublished{PeytonJones1992StaticSemanticsHaskell,+ author = {Simon {Peyton Jones} and Philip Wadler},+ title = {A static semantics for {Haskell}},+ note = {Draft, available online:+ \url{http://research.microsoft.com/~simonpj/Papers/static-semantics.dvi.gz}},+ month = feb,+ year = 1992+}++@TechReport{Harris2006LeakyRegions,+ author = {Tim Harris},+ title = {Leaky regions: linking reclamation hints to program+ structure},+ institution = {Microsoft Research},+ year = 2006,+ number = {MSR-TR-2006-84},+ month = jun+}++@TechReport{UnknownMITMemo35,+ author = {No author(s) listed},+ title = {LAP (LISP Assembly Program)},+ institution = MITAI,+ year = {No date listed},+ type = {MIT Memo},+ number = 35+}++@TechReport{McCarthy1962BasisMathematicalTheory,+ author = {John McCarthy},+ title = {A Basis for a Mathematical Theory of Computation},+ institution = MITAI,+ year = 1962,+ type = {MIT Memo},+ number = 31,+ month = jan+}++@Book{Chakravarty2003FFIReport,+ editor = {Manuel Chakravarty},+ title = {The Haskell 98 Foreign Function Interface 1.0 -- An+ Addendum to the Haskell 98 Report},+ publisher = {WWW},+ year = 2003+}++@Book{SPARC1994SPARCArchitectureManual,+ editor = {David L. Weaver and Tom Germond},+ title = {The SPARC Architecture Manual},+ publisher = {PTR Prentice Hall},+ year = 1994+}++@phdthesis{King2004RemovingGCSynchronisation,+ author = {Andy C. King},+ title = {Removing Garbage Collector Synchronisation},+ month = {September},+ year = 2004,+ pages = 211,+ keywords = {},+ note = {},+ url = {http://www.cs.kent.ac.uk/pubs/2004/1981},+ publication_type ={phdthesis},+ submission_id ={24459_1096908934},+ school = {University of Kent at Canterbury},+}++@article{ Bacon1994CompilerTransformations,+ author = "David F. Bacon and Susan L. Graham and Oliver+ J. Sharp",+ title = "Compiler Transformations for High-Performance+ Computing",+ journal = "ACM Computing Surveys",+ volume = 26,+ number = 4,+ pages = "345--420",+ year = 1994,+ url = "citeseer.ist.psu.edu/article/bacon93compiler.html"+}++@Misc{Brady2006Ivor,+ author = {Edwin Brady},+ title = {Ivor, a Proof Engine},+ howpublished = {Available from:+ \url{http:/www.dcs.st-and.ac.uk/~eb/drafts/ivor.pdf}},+ month = aug,+ year = 2006+}++@Article{Lapalme1998DynamicTabbing,+ author = {Guy Lapalme},+ title = {Dynamic tabbing for automatic indentation with the+ layout rule},+ journal = JFP,+ year = 1998,+ volume = 8,+ number = 5,+ month = sep+}++@Article{McBride2006Applicative,+ author = {Conor McBride and Ross Paterson},+ title = {Applicative Programming with Effects},+ journal = JFP,+ year = 2006,+ volume = 0,+ number = 0,+ pages = {0--0},+ note = {submitted}+}++@InProceedings{Hill1994VectorisationMonad,+ author = {Jonathan M. D. Hill and Keith M. Clarke and Richard+ Bornat},+ title = {The Vectorisation Monad},+ booktitle = {PASCO'94},+ pages = {204--213},+ year = 1994+}++@InProceedings{Hinze2000DerivingBacktracking,+ author = {Ralf Hinze},+ title = {Deriving Backtracking Monad Transformers},+ booktitle = {ICFP'00},+ year = 2000,+ address = {Montreal, Canada},+ publisher = ACM+}++@article{Ershov1965Alpha,+ author = {A. P. Ershov},+ title = {ALPHA - an automatic programming system of high+ efficiency},+ journal = {ALGOL Bull.},+ number = 19,+ year = 1965,+ issn = {0084-6198},+ pages = {19--27},+ doi = {http://doi.acm.org/10.1145/1060998.1061006},+ publisher = {Computer History Museum},+ address = {Mountain View, CA, United States},+}++@inproceedings{Buda1975Alpha6,+ author = {A. O. Buda and A. A. Granovaky and A. P. Ershov},+ title = {Implementation of the Alpha-6 programming system},+ booktitle = {Proceedings of the international conference on+ Reliable software},+ year = 1975,+ pages = {371--381},+ location = {Los Angeles, California},+ doi = {http://doi.acm.org/10.1145/800027.808460},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Steele1975Compactifying,+ author = {Guy L. {Steele, Jr.}},+ title = {Multiprocessing compactifying garbage collection},+ journal = {Communications of the ACM},+ volume = 18,+ number = 9,+ year = 1975,+ issn = {0001-0782},+ pages = {495--508},+ doi = {http://doi.acm.org/10.1145/361002.361005},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Shields2001FirstClassModules,+ author = {Mark Shields and Simon {Peyton Jones}},+ title = {First-class Modules for Haskell},+ booktitle = {International Conference on Foundations of+ Object-Oriented Languages (FOOL 9)},+ year = 2001,+ address = {Portland, Oregon},+ month = oct+}+++@InProceedings{PeytonJonesBulkTypes,+ author = {Simon {Peyton Jones}},+ title = {Bulk types with class},+ booktitle = {Electronic proceedings of the 1996 Glasgow+ Functional Programming Workshop},+ year = 1996,+ address = {Ullapool},+ month = jul+}++@PhdThesis{Gill1996PhD,+ author = {Andrew Gill},+ title = {Cheap deforestation for non-strict functional+ languages},+ school = {University of Glasgow},+ year = 1996,+ month = jan+}++@inproceedings{Huelsbergen93Concurrent,+ author = "Lorenz Huelsbergen and James R. Larus",+ title = "A Concurrent Copying Garbage Collector for Languages+ that Distinguish (Im)mutable Data",+ booktitle = "Principles Practice of Parallel Programming",+ pages = "73-82",+ year = 1993,+ url = "citeseer.ist.psu.edu/huelsbergen93concurrent.html"+}++@TechReport{Nettles1993Replication,+ author = {Scott M. Nettles and James W. O'Toole and David+ Pierce and Nicholas Haines},+ title = {Replication-Based Incremental Copying Collection},+ institution = {Carnegie Mellon University},+ year = 1993,+ number = {CMU-CS-93-135}+}++@Book{Knuth1991LiterateProgramming,+ author = {Donald E. Knuth},+ title = {Literate Programming},+ publisher = {Center for the Study of Language and Information},+ year = 1991,+ number = 27,+ series = {CSLI Lecture Notes}+}++@Book{Ruething1998CodeMotion,+ author = {Oliver R{\"u}thing},+ title = {Interacting Code Motion Transformations: Their+ Impact and Their Complexity},+ publisher = SV,+ year = 1998,+ volume = 1539,+ series = LNCS+}++@Proceedings{Bodik2005CC,+ title = {Compiler Construction},+ year = 2005,+ editor = {Ratislav Bodik},+ volume = 3443,+ series = LNCS+}++@InProceedings{Siek2006GradualTyping,+ author = {Jeremy G. Siek and Walid Taha},+ title = {Gradual Typing for Functional Languages},+ booktitle = {Scheme and Functional Programming},+ year = 2006,+ address = {Portland, Oregon},+ publisher = ACM+}++@InProceedings{Xu2006ExtendedStaticChecking,+ author = {Dana N. Xu},+ title = {Extended Static Checking for Haskell},+ booktitle = {Haskell Workshop '06},+ year = 2006,+ address = {Portland, Oregon},+ publisher = ACM+}++@InProceedings{Hoare2003VerifyingCompiler,+ author = {C.A.R. Hoare},+ title = {The Verifying Compiler: A Grand Challenge for+ Computing Research},+ booktitle = {Modular Programming Languages},+ year = 2003,+ volume = 2789,+ series = LNCS,+ publisher = SV+}++@PhdThesis{Buttle2001VerificationCompiledCode,+ author = {Darren Lee Buttle},+ title = {Verification of Compiled Code},+ school = {University of York},+ year = 2001,+ month = jan+}++@Book{Garey1979ComputersIntractibility,+ author = {Michael R. Garey and David S. Johnson},+ title = {Computers and Intractibility},+ publisher = {W. H. Freeman and Company},+ year = 1979+}++@InProceedings{Glesner2005Herausforderungen,+ author = {Sabine Glesner and Jan Olaf Blech},+ title = {Logische und softwaretechnische Herausforderungen+ bei der Verifikation optimierender Compiler},+ booktitle = {Tagung Software Engineering 2005},+ year = 2005,+ series = {Lecture Notes in Informatics},+ address = {Essen, Germany}+}++@Article{Frederiksen2002Correctness,+ author = {Carl Christian Frederiksen},+ title = {Correctness of Classical Compiler Optimizations+ using CTL},+ journal = {Electronic Notes in Theoretical Computer Science},+ year = 2002,+ volume = 65,+ number = 2+}++@inproceedings{Gaul1996Architecture,+ author = {Thomas Gaul and Gerhard Goos and Andreas Heberle and+ Wolf Zimmermann and Wolfgang Goerigk},+ title = {{An Architecture for Verified Compiler+ Construction}},+ booktitle = {{J}oint {M}odular {L}anguages {C}onference JMLC'97},+ year = 1997 ,+ month = mar,+ annote = {},+ address = {Linz, Austria}+}++@InProceedings{Goos1999VerificationOfCompilers,+ author = {Gerhard Goos and Wolf Zimmermann},+ title = {Verification of Compilers},+ booktitle = {Correct System Design},+ year = 1999+}++@inproceedings{Stringer-Calvert1997UsingPVS,+ title = {Using {PVS} to Prove a {Z} Refinement: A Case Study},+ author = {David W.J. Stringer-Calvert and Susan Stepney and+ Ian Wand},+ institution = {Department of Computer Science, University of York},+ booktitle = {{FME} '97: Formal Methods: Their Industrial+ Application and Strengthened Foundations},+ editor = {John Fitzgerald and Cliff B. Jones and Peter Lucas},+ address = {Gr{\"a}z, Austria},+ publisher = SV,+ series = LNCS,+ number = 1313,+ month = sep,+ year = 1997,+ pages = {573--588}+}++@inproceedings{Glesner2002VerifiedCodeGeneration,+ author = {Sabine Glesner and Rubino Gei{\ss} and Boris+ Boesler},+ title = {Verified Code Generation for Embedded Systems},+ booktitle = {In Proceedings of the COCV-Workshop 2002 (Compiler+ Optimization meets Compiler Verification)},+ year = 2002,+ month = Apr,+ organization = {Electronic Notes in Theoretical Computer Science+ (ENTCS)},+ publisher = {5th European Conferences on Theory and Practice of+ Software (ETAPS 2002)},+ volume = 65,+ number = 2,+ pages = {1-18},+ abstract = {Leider nur in Englisch verf{\"u}gbar. Digital signal+ processors provide specialized SIMD (single+ instruction multiple data) operations designed to+ dramatically increase performance in embedded+ systems. While these operations are simple to+ understand, their unusual functions and their+ parallelism make it dicult for automatic code+ generation algorithms to use them eectively. In this+ paper, we present a new optimizing code generation+ method that can deploy these operations successfully+ while also verifying that the generated code is a+ correct translation of the input program. },+ address = {Grenoble, France},+}++@inproceedings{Glesner2004ASMSemanticsSSA,+ author = {Sabine Glesner},+ title = {An ASM Semantics for SSA Intermediate+ Representations},+ booktitle = {Proceedings of the 11th International Workshop on+ Abstract State Machines},+ year = 2004,+ month = may,+ publisher = SV,+ series = LNCS,+ volume = {Vol. 3052},+ pages = {144 - 160},+ address = {Wittenberg, Germany},+}++@inproceedings{Necula2000TranslationValidation,+ author = {George C. Necula},+ title = {Translation validation for an optimizing compiler},+ booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000+ conference on Programming language design and+ implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {83--94},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349314},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{Bicarregui2006VerifiedRepository,+ author = {J.C. Bicarregui and C.A.R. Hoare and+ J.C.P. Woodcock},+ title = {The verified software repository: a step towards the+ verifying compiler},+ journal = {Formal Aspects of Computing},+ year = 2006,+ volume = 18,+ number = 2,+ pages = {143--151},+ month = jun+}++@article{Leinenbach2005FormalVerification,+ author = {Dirk Leinenbach and Wolfgang Paul and Elena Petrova},+ title = {Towards the Formal Verification of a C0 Compiler:+ Code Generation and Implementation Correctnes},+ journal = {sefm},+ volume = 0,+ year = 2005,+ isbn = {0-7695-2435-4},+ pages = {2-12},+ doi =+ {http://doi.ieeecomputersociety.org/10.1109/SEFM.2005.51},+ publisher = {IEEE Computer Society},+ address = {Los Alamitos, CA, USA},+}++@inproceedings{Leroy2006FormalCertification,+ author = {Xavier Leroy},+ title = {Formal certification of a compiler back-end or:+ programming a compiler with a proof assistant},+ booktitle = {POPL '06: Conference record of the 33rd ACM+ SIGPLAN-SIGACT symposium on Principles of+ programming languages},+ year = 2006,+ isbn = {1-59593-027-2},+ pages = {42--54},+ location = {Charleston, South Carolina, USA},+ doi = {http://doi.acm.org/10.1145/1111037.1111042},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Dave2003CompilerVerificationBibliography,+ author = {Maulik A. Dave},+ title = {Compiler verification: a bibliography},+ journal = {SIGSOFT Softw. Eng. Notes},+ volume = 28,+ number = 6,+ year = 2003,+ issn = {0163-5948},+ pages = {2--2},+ doi = {http://doi.acm.org/10.1145/966221.966235},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Leinenbach2005FormalVerificationC0,+ Author = {Leinenbach, D. and Paul, W. and Petrova, E.},+ Title = {Towards the formal verification of a {C}0 compiler:+ {C}ode generation and implementation correctness},+ BookTitle = {Proceedings of the 3rd {I}nternational {C}onference+ on {S}oftware {E}ngineering and {F}ormal {M}ethods+ ({SEFM} 2005)},+ year = 2005+}++@Article{Klein2006MachineCheckedModel,+ author = {Gerwin Klein and Tobias Nipkow},+ title = {A Machine-Checked Model for a Java-Like Language,+ Virtual Machine, and Compiler},+ journal = {ACM Transactions on Programming Languages and+ Systems},+ year = 2006,+ volume = 28,+ number = 4,+ pages = {619--695},+ month = jul+}++@inproceedings{Gesellensetter2006OnlyTheBest,+ author = {Lars Gesellensetter and Sabine Glesner},+ title = {Only the best can make it: optimal component+ selection},+ booktitle = {Formal Foundations of Embedded Software and+ Component-Based Software Architectures (FESCA)},+ year = 2006,+ month = Mar,+ publisher = {Electronic Notes in Theoretical Computer Science+ (ENTCS)},+ address = {Vienna, Austria},+ postnote = {(to appear)},+}+++@InProceedings{Derrin2006RunningTheManual,+ author = {Philip Derrin and Kevin Elphinstone and Gerwin Klein+ and David Cock and Manuel M. T. Chakravarty},+ title = {Running the Manual: An Approach to High-Assurance+ Microkernel Development},+ booktitle = {ACM SIGPLAN 2006 Haskell Workshop},+ year = 2006,+ publisher = ACM+}++@Article{Huet1997TheZipper,+ author = {G{\'e}rard Huet},+ title = {Function {Pearl}: The {Zipper}},+ journal = JFP,+ year = 1997,+ volume = 7,+ number = 5,+ pages = {549--554},+ month = sep+}++@InProceedings{Chakravarty2005TypesWithClass,+ author = {Manuel Chakravarty and Gabrielle Keller and Simon+ {Peyton Jones} and Simon Marlow},+ title = {Associated Types with Class},+ booktitle = {Proceedings of The 32nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'05)},+ year = 2005,+ pages = {1--13},+ publisher = ACM+}++@InProceedings{Chakravarty2005AssociatedTypeSynonyms,+ author = {Manuel Chakravarty and Gabrielle Keller and Simon+ {Peyton Jones}},+ title = {Associated Type Synonyms},+ booktitle = {Proceedings of The Tenth ACM SIGPLAN International+ Conference on Functional Programming},+ pages = {241--253},+ year = 2005,+ publisher = ACM+}++@TechReport{Sulzmann2006SystemFTypeEqualityCoercions,+ author = {Martin Sulzmann and Manuel M. T. Chakravarty and+ Simon {Peyton Jones} and Kevin Donnelly},+ title = {System {F} with Type Equality Coercions},+ institution = {University of New South Wales},+ year = 2006,+ number = {NSW-CSE-TR-0614},+ month = aug+}++@InProceedings{Jones1992TheoryQualifiedTypes,+ author = {Mark P. Jones},+ title = {A theory of qualified types},+ booktitle = {ESOP '92: European Symposium on Programming},+ year = 1992,+ volume = 582,+ series = LNCS,+ address = {Rennes, France},+ month = feb,+ publisher = SV+}++@inproceedings{Dybvig2006DevelopmentChezScheme,+ author = {R. Kent Dybvig},+ title = {The development of Chez Scheme},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ international conference on Functional programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {1--12},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159805},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Coutts2007RewritingHaskellStrings,+ author = {Duncan Coutts and Don Stewart and Roman+ Leshchinskiy},+ title = {Rewriting Haskell Strings},+ booktitle = {PADL 2007},+ year = 2007,+ note = {Submitted}+}++@InProceedings{Blum1989Designing,+ Author = {M. Blum and S. Kanna},+ Title = {Designing Programs That Check Their Work},+ BookTitle = {{STOC '89: Proceedings of the twenty-first annual+ ACM symposium on Theory of Computing}},+ Pages = {86--97},+ Address = {New York, NY, USA},+ Publisher = ACM,+ doi = {http://doi.acm.org/10.1145/73007.73015},+ isbn = {0-89791-307-8},+ location = {Seattle, Washington, United States},+ year = 1989+}++@Article{Glesner2005LexicalResultChecker,+ author = {Sabine Glesner and Simone Forster and Matthias+ J{\"a}ger},+ title = {A Program Result Checker for the Lexical Analysis of+ the GNU C Compiler},+ journal = {Electronic Notes in Theoretical Computer Science},+ year = 2005,+ volume = 132,+ pages = {19--35}+}++@InProceedings{Ghuloum2006Incremental,+ author = {Abdulaziz Ghuloum},+ title = {An Incremental Approach to Compiler Construction},+ booktitle = {Scheme Workshop 2006},+ year = 2006+}++@inproceedings{Nogueira2006PolykindedTypes,+ author = {Pablo Nogueira},+ title = {Context-parametric polykinded types},+ booktitle = {WGP '06: Proceedings of the 2006 ACM SIGPLAN+ workshop on Generic programming},+ year = 2006,+ isbn = {1-59593-492-6},+ pages = {45--54},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159861.1159868},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Proceedings{Hughes1995HaskellWorkshop,+ title = {Haskell Workshop 1995},+ year = 1995,+ editor = {John Hughes}+}++@InProceedings{Gaul2000Practical,+ Author = {Thilo Gaul and Wolf Zimmermann and Wolfgang Goerigk},+ Title = {Practical {C}onstruction of {C}orrect {C}ompiler+ {I}mplementations by {R}untime {R}esult+ {V}erification},+ BookTitle = {Conference Proceedings of SCI'2000},+ Pages = {406--411},+ Address = {Orlando, Florida},+ month = {Jul},+ url =+ {http://www.info.uni-karlsruhe.de/papers/SCI2000.ps.gz},+ year = 2000+}++@InProceedings{Goerigk1996Verifix,+ Author = {Wolfgang Goerigk and Axel Dold and Thilo Gaul and+ Gerhard Goos and Andreas Heberle and Heinrich von+ Henke and Ulrich Hoffmann and Hans Langmaack and+ Wolf Zimmermann},+ Title = {Compiler {C}orrectness and {I}mplementation+ {V}erification: {T}he {V}erifix {A}pproach},+ BookTitle = {Proceedings of the {P}oster {S}ession of {CC}'96 --+ {I}nternational {C}onference on {C}ompiler+ {C}onstruction},+ Editor = {P. Fritzson},+ Number = {TR-Nr.: R-96-12},+ Organization = {Technische Univerität Kalrsruhe},+ Publisher = {IDA},+ month = jan,+ url =+ {http://www.info.uni-karlsruhe.de/papers/internal/CC96.ps.gz},+ year = 1996+}++@InProceedings{Jones1995DictionaryFree,+ author = {Mark P. Jones},+ title = {Dictionary-free Overloading by Partial Evaluation},+ booktitle = {Proceedings of PEPM'95},+ year = 1995+}++@article{Guttman1995VLISPVerifiedImplementation,+ author = {Joshua D. Guttman and John D. Ramsdell and Mitchell+ Wand},+ title = {VLISP: A Verified Implementation of Scheme.},+ journal = {Lisp and Symbolic Computation},+ volume = 8,+ number = {1-2},+ year = 1995,+ pages = {5-32},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}+++@InProceedings{Boyer1992Automated,+ author = {Robert S. Boyer and Yuan Yu},+ title = {Automated Correctness Proofs of Machine Code+ Programs for a Commercial Microprocessor},+ booktitle = {Automated Deduction -- CADE-11, 11th International+ Conference on Automated Deduction},+ pages = {416--430},+ year = 1992,+ editor = {D. Kapur},+ publisher = SV+}++@Unpublished{Grabmueller2006MonadTransformers,+ author = {Martin Grabm{\"u}ller},+ title = {{Monad Transformers Step by Step}},+ note = {Draft paper},+ month = oct,+ year = 2006,+ abstract = {In this tutorial, we describe how to use monad+ transformers in order to incrementally add+ functionality to Haskell programs. It is not a paper+ about implementing transformers, but about using+ them to write elegant, clean and powerful programs+ in Haskell. Starting from an evaluation function for+ simple expressions, we convert it to monadic style+ and incrementally add error handling, environment+ passing, state, logging and input/output by+ composing monad transformers.}+}++@Unpublished{Grabmueller2004MonadicScheme,+ author = {Martin Grabm{\"u}ller},+ title = {{Purely Functional Monadic Scheme}},+ note = {Draft paper},+ month = jun,+ year = 2004,+ abstract = {This paper describes a purely functional dialect of+ the algorithmic programming language Scheme. Mutable+ variables, assignment operations and impure control+ operations (call-with-current-continuation) have+ been omitted, while side effecting input and output+ operations are incorporated into the purely+ functional language using monads, similar to the+ approach taken in the lazy programming language+ Haskell. }+}++@Unpublished{Grabmueller2007AlgorithmW,+ author = {Martin Grabm{\"u}ller},+ title = {{Algorithm W Step by Step}},+ note = {Draft paper},+ month = sep,+ year = 2007,+ abstract = {In this paper we develop a complete implementation+ of the classic algorithm W for Hindley-Milner+ polymorphic type inference in Haskell. }+}++@InProceedings{Grabmueller2007HarpyDemo,+ author = {Martin Grabm{\"u}ller and Dirk Kleeblatt},+ title = {Harpy: Run-time Code Generation in {Haskell}},+ booktitle = {Haskell Workshop 2007},+ year = 2007,+ month = sep,+ publisher = ACM,+ abstract = {We present Harpy, a Haskell library for run-time+ code generation of x86 machine code. Harpy provides+ efficient generation of machine code, a convenient+ domain specific language for generating code and a+ collection of code generation combinators.}+}++@InProceedings{Rohloff2007Annotationssprache,+ author = {Judith Rohloff and Martin Grabm{\"u}ller},+ title = {{Verbesserung statischer Programmanalysen mit Hilfe+ einer Annotationssprache}},+ booktitle = {14. Kolloquium Programmiersprachen und Grundlagen+ der Programmierung (KPS'07)},+ year = 2007,+ month = oct,+ abstract = {Mit Hilfe der statischen Programmanlyse werden+ Informationen {\"u}ber ein Programm zur+ {\"U}bersetzungszeit ermittelt. Diese Informationen+ k{\"o}nnen zum einen fur Compileroptimierungen+ genutzt werden und konnen zum anderen dem+ Programmierer Auskunft uber sein Programm geben. Die+ meisten Analysen sind nicht vollst{\"a}ndig+ berechenbar. Aus diesem Grund wird im Allgemeinen+ nur eine Approximation der Ergebnisse berechnet. Es+ wird gezeigt, wie diese Approximationen mit Hilfe+ von Annotationen verbessert werden k{\"o}nnen. Diese+ Verbesserungen werden am Beispiel der Striktheits-+ und der Zeitkomplexit{\"a}tsanalyse vorgestellt und+ erl{\"a}utert.}+}++@Book{Aho1977PrinciplesOfCompilerDesign,+ author = {Alfred V. Aho and Jeffrey D. Ullman},+ title = {Principles of Compiler Design},+ publisher = AW,+ year = 1977+}++@Book{Pape1973ProgrammierenInAlgol60,+ author = {Uwe Pape},+ title = {Programmieren in ALGOL 60},+ publisher = {Carl Hanser Verlag},+ year = 1973,+ address = {M{\"u}nchen}+}++@Book{Wirth1983AlgorithmenDatenstrukturen,+ author = {Niklaus Wirth},+ title = {Algorithmen und Datenstrukturen},+ publisher = {B.\@ G.\@ Teubner},+ year = 1983,+ address = {Stuttgart},+ edition = {3., {\"u}berarbeitete}+}++@article{Wasserman1997ResultChecking,+ author = {Hal Wasserman and Manuel Blum},+ title = {Software reliability via run-time result-checking},+ journal = {J. ACM},+ volume = 44,+ number = 6,+ year = 1997,+ issn = {0004-5411},+ pages = {826--849},+ doi = {http://doi.acm.org/10.1145/268999.269003},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Gaul1995ASMAlpha,+ author = {Thilo S. Gaul},+ title = {An Abstract State Machine Specification of the+ DEC-Alpha Processor Family},+ institution = {University of Karlsruhe},+ year = 1995,+ type = {Verifix Working Paper},+ number = {Verifix/UKA/4}+}++@Misc{Appel2006ModalModel,+ author = {Andrew W. Appel and Paul-Andr{\'e} Melli{\`e}s and+ Christopher D. Richards and J{\'e}r{\^o}me Vouillon},+ title = {A Very Modal Model of a Modern, Modal, General Type+ System},+ howpublished = {Available from: \url{http://www.cs.princeton.edu/~appel/papers/modalmodel.pdf}},+ month = oct,+ year = 2006+}++@inproceedings{Odersky2001ColoredLocalTypeInference,+ author = {Martin Odersky and Christoph Zenger and Matthias+ Zenger},+ title = {Colored local type inference},+ booktitle = {POPL '01: Proceedings of the 28th ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 2001,+ isbn = {1-58113-336-7},+ pages = {41--53},+ location = {London, United Kingdom},+ doi = {http://doi.acm.org/10.1145/360204.360207},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{Wirth2006GoodIdeas,+ author = {Niklaus Wirth},+ title = {Good Ideas, Through the Looking Glass},+ journal = {IEEE Computer},+ year = 2006,+ pages = {56--68},+ month = jan+}++@article{Earley1970ParsingAlgorithm,+ author = {Jay Earley},+ title = {An efficient context-free parsing algorithm},+ journal = {Communications of the ACM},+ volume = 13,+ number = 2,+ year = 1970,+ issn = {0001-0782},+ pages = {94--102},+ doi = {http://doi.acm.org/10.1145/362007.362035},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Heeren2002GeneralizingHM,+ author = {Bastiaan Heeren and Jurriaan Hage and Doaitse+ Swierstra},+ title = {Generalizing {Hindley}-{Milner} Type Inference+ Algorithms},+ institution = {Institute of Information and Computing Sciences,+ Utrecht University},+ year = 2002,+ number = {UU-CS-2002-031}+}++@Article{Milner1978Theory,+ author = {Robin Milner},+ title = {A theory of type polymorphism in programming},+ journal = {Journal of Computer and System Sciences},+ year = 1978,+ volume = 17,+ pages = {348--375}+}++@InProceedings{Guillemette2006StaticallyVerified,+ author = {Louis-Julien Guillemette and Stefan Monnier},+ title = {Statically Verified Type-Preserving Code+ Transformations in Haskell},+ booktitle = {Proceedings of the Workshop Programming Languages+ meets Program Verification},+ year = 2006+}++@article{Blum1993SelfTestingCorrecting,+ author = "Manuel Blum and Michael Luby and Ronitt Rubinfeld",+ title = "Self-Testing/Correcting with Applications to+ Numerical Problems",+ journal = "{Journal of Computer and System Sciences}",+ volume = 47,+ number = 3,+ pages = "549--595",+ year = 1993,+ url =+ "citeseer.ist.psu.edu/article/blum90selftestingcorrecting.html"+}++@Article{Lee1998FolkloreLetPolymorphic,+ author = {Oukseh Lee and Kwangkeun Yi},+ title = {Proofs about a Folklore Let-Polymorphic Type+ Inference Algorithm},+ journal = TOPLAS,+ year = 1998,+ volume = 20,+ number = 4,+ pages = {707--723},+ month = jul+}++@InProceedings{Sulzmann2001GeneralTypeInference,+ author = {Martin Sulzmann},+ title = {A General Type Inference Framework for+ Hindley/Milner Style Systems},+ booktitle = { Proceedings of Functional and Logic Programming:+ 5th International Symposium, FLOPS 2001},+ pages = {248--263},+ year = 2001,+ editor = {H. Kuchen and K Ueda},+ address = {Tokyo, Japan},+ month = mar,+ publisher = SV+}++@TechReport{Lee2000GeneralizedTypeInference,+ author = {Oukseh Lee and Kwangkeun Yi},+ title = {A Generalized Let-Polymorphic Type Inference+ Algorithm},+ institution = {Korea Advanced Institute of Science and Technology},+ year = 2000,+ type = {ROPAS Memo},+ number = {2000-5},+ month = mar+}++@Book{PeytonJones1987ImplementationofFPL,+ author = {Simpon L. {Peyton Jones}},+ title = {The Implementation of Functional Programming+ Languages},+ publisher = PH,+ year = 1987+}+++@InBook{Wadler1987EfficientPatternMatching,+ author = {Philip Wadler},+ title = {The Implementation of Functional Programming+ Languages},+ chapter = {Efficient compilation of pattern matching},+ publisher = PH,+ year = 1987,+ pages = {78--103}+}++@Techreport{Leijen2003Parsec,+ author = {Daan Leijen and Erik Meijer},+ title = {Parsec: Direct Style Monadic Parser Combinators for+ the Real World},+ institution = {Department of Computer Science, Universiteit+ Utrecht},+ number = {UU-CS-2001-27},+ year = 2001+}++@Misc{Leijen2005ParsecHomepage,+ OPTkey = {},+ author = {Dann Leijen},+ title = {Parsec},+ url = {\url{http://www.cs.uu.nl/~daan/parsec.html}},+ OPTmonth = {},+ year = {2005},+ note = {Last checked: 2006-11-10},+ OPTannote = {}+}++@InProceedings{Mycroft1992Incremental,+ author = {Alan Mycroft},+ title = {Incremental polymorphic type checking with update},+ booktitle = {Proc. LFCS'92},+ year = 1992,+ volume = 620,+ series = LNCS,+ publisher = SV+}++@article{Henglein1993TypeInferencePolymorphicRecursion,+ author = {Fritz Henglein},+ title = {Type inference with polymorphic recursion},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 15,+ number = 2,+ year = 1993,+ issn = {0164-0925},+ pages = {253--289},+ doi = {http://doi.acm.org/10.1145/169701.169692},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{PeytonJones2004WobblyTypes,+ author = {Simon {Peyton Jones} and Geoffrey Washburn and+ Stephanie Weirich},+ title = {Wobbly types: type inference for generalised+ algebraic data types},+ institution = {Computer and Information Science Department,+ University of Pennsylvania},+ year = 2004,+ number = {MS-CIS-05-26},+ month = jul+}++@InProceedings{Xi2004AppliedTypeSystem,+ author = {Hongwei Xi},+ title = {Applied Type System},+ booktitle = {Proceedings of Types 2003},+ pages = {394--408},+ year = 2004,+ volume = 3085,+ series = LNCS,+ publisher = SV+}++@PhdThesis{Xi1998PhD,+ author = {Hongwei Xi},+ title = {Dependent Types in Practical Programming},+ school = {Carnegie Mellon University},+ year = 1998+}++@Unpublished{PeytonJones2002LexicallyScopedTypeVariables,+ author = {Simon {Peyton Jones} and Mark Shields},+ title = {Lexically scoped type variables},+ month = apr,+ year = 2004,+ url =+ {http://research.microsoft.com/Users/simonpj/papers/scoped-tyvars/scoped.ps}+}++@TechReport{Jones1994Simplifying,+ author = {Mark P. Jones},+ title = {Simplifying and Improving Qualified Types},+ number = {YALEU/DCS/RR-1040"},+ type = {Research Report},+ institution = {Yale University},+ month = jun,+ year = 1994+}++@InProceedings{Jones1995Simplifying,+ author = {Mark P. Jones},+ title = {Simplifying and Improving Qualified Types},+ booktitle = {FPCA'95: Conference on Functional Programming+ Languages and Computer Architecture},+ year = 1995,+ month = jun,+ publisher = ACM+}++@PhdThesis{Smith1992PhD,+ author = {Geoffrey Seward Smith},+ title = {Polymorphic type inference for languages with+ overloading and subtyping},+ year = 1992,+ publisher = {Cornell University},+ address = {Ithaca, NY, USA}+}++@Misc{CooperSearchingCompilationSequences,+ author = {Keith D. Cooper and Alexander Gosul and Timothy+ J. Harvey and Steve Reeves and Devika Subramanian+ and Linda Torczon and Todd Waterman},+ title = {Searching for Compilation Sequences},+ howpublished = {Available from:+ \url{http://www.cs.rice.edu/~keith/Adapt/SearchPrelim.pdf}}+}++@PhdThesis{Fischbach2005PhD,+ author = {Joseph Adam Fischbach},+ title = {Reasoning About Higher-Order Functions and+ Parameters},+ school = {Pennsylvania State University},+ year = 2005,+ month = aug,+ abstract = {The compilation of functional programming languages+ such as Standard ML and Haskell rely on a number of+ program transformations/optimizations in order to+ generate efficient code. In this thesis, I present+ formal, type-based specifications of three such+ transformations: useless-variable elimination,+ lambda-lifting and unCurrying. These three+ transformations have in common the fact that they+ all involve the analysis and manipulation of+ function parameters. Useless-variable elimination+ identifies function parameters whose corresponding+ arguments contribute nothing to the observable+ behavior of the program, and eliminates those+ arguments. Lambda-lifting introduces additional+ parameters to functions in order to eliminate+ occurrences of non-local, non-global+ variables. UnCurrying transforms Curried functions+ and applications so that functions are applied to+ multiple arguments in a single application. The+ conciseness and simplicity of type-based analyses+ provide a convenient platform for reasoning about+ program transformation. Using straightforward+ induction techniques, we can prove properties such+ as type preservation and operational correctness. We+ can guarantee the correctness of specific algorithms+ by proving via induction that these algorithms are+ sound with respect to the formal specification. I+ present a number of these proofs in this thesis.},+ keywords = {programming languages, functional programming,+ program transformation, type-based analysis }+}++@article{Duggan2002TypeCheckingMultiParameter,+ author = {Dominic Duggan and John Ophel},+ title = {Type-checking multi-parameter type classes},+ journal = {J. Funct. Program.},+ volume = 12,+ number = 2,+ year = 2002,+ issn = {0956-7968},+ pages = {133--158},+ doi = {http://dx.doi.org/10.1017/S0956796801004233},+ publisher = {Cambridge University Press},+ address = {New York, NY, USA},+}++@Article{Duggan2005TypeBasedHotSwapping,+ author = {Dominic Duggan and John Ophel},+ title = {Type-Based Hot Swapping of Running Modules},+ journal = {Acta Informatica},+ year = 2005,+ volume = 41,+ number = {4--5},+ pages = {181--220},+ month = mar+}++@article{Bray1983ImplementationImplications,+ author = {Gary Bray},+ title = {Implementation implications of {Ada} generics},+ journal = {Ada Letters},+ volume = {III},+ number = 2,+ year = 1983,+ issn = {1094-3641},+ pages = {62--71},+ doi = {http://doi.acm.org/10.1145/989971.989974},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Adams1992ImplementingSets,+ author = {Stephen Adams},+ title = {Implementing sets efficiently in a functional+ language},+ institution = {University of Southampton},+ year = 1992,+ number = {CSTR 92-10}+}++@article{Wakeling1999CompilingLazyFunctional,+ author = {David Wakeling},+ title = {Compiling lazy functional programs for the Java+ Virtual Machine},+ journal = {J. Funct. Program.},+ volume = 9,+ number = 6,+ year = 1999,+ issn = {0956-7968},+ pages = {579--603},+ doi = {http://dx.doi.org/10.1017/S0956796899003603},+ publisher = {Cambridge University Press},+ address = {New York, NY, USA},+}++@article{Meehan1999CompilingLazyFunctional,+ author = "Gary Meehan and Mike Joy",+ title = "Compiling lazy functional programs to {Java}+ bytecode",+ journal = "Software Practice and Experience",+ volume = 29,+ number = 7,+ pages = "617--645",+ year = 1999,+ url = "citeseer.ist.psu.edu/meehan98compiling.html"+}++@InProceedings{Wakeling1998MobileHaskell,+ author = {David Wakeling},+ title = {Mobile {Haskell}: Compiling lazy functional programs+ for the {Java} Virtual Machine},+ booktitle = {Proceedings of the 1998 Conference on Programming+ Languages, Implementations, Logics and Programs+ (PLILP'98)},+ pages = {335--352},+ year = 1998,+ volume = 1490,+ series = LNCS,+ month = sep+}++@inproceedings{ Liang1995MonadTransformers,+ author = "Sheng Liang and Paul Hudak and Mark Jones",+ title = "Monad transformers and modular interpreters",+ booktitle = "Conference record of {POPL} '95, 22nd {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages: San Francisco, California,+ January 22--25, 1995",+ publisher = ACM,+ address = "New York, NY, USA",+ editor = "{ACM}",+ isbn = "0-89791-692-1",+ pages = "333--343",+ year = 1995,+ url = "citeseer.ist.psu.edu/liang95monad.html"+}++@TechReport{Zhang2003AdaptiveCodeUnloading,+ author = {Lingli Zhang and Chandra Krintz},+ title = {Adaptive Code Unloading for Efficient Dynamic+ Compilation in Resource-Constrained Environments},+ institution = {University of California, Santa Barbara},+ year = 2003,+ number = {2003-14},+ month = jun+}++@Article{Sulzmann2006UnderstandingFD,+ author = {Martin Sulzmann and Gregory J. Duck and Simon+ {Peyton Jones} and and Peter J. Stuckey},+ title = {Understanding functional dependencies via Constraint+ Handling Rules},+ journal = JFP,+ year = 2006,+ note = {to appear}+}++@InProceedings{Duck2004TypeInferenceFD,+ author = {Gregory J. Duck and Simon {Peyton Jones} and Peter+ J. Stuckey and Martin Sulzmann},+ title = {Sound and Decidable Type Inference for Functional+ Dependencies},+ booktitle = {European Symposium on Programming 2004 (ESOP'04)},+ year = 2004+}++@InProceedings{Glynn2000TypeClassesCHR,+ author = {Kevin Glynn and Martin Sulzmann and Peter+ J. Stuckey},+ title = {Type Classes and Constraint Handling Rules},+ booktitle = {Workshop on Rule-Based Constraint Reasoning and+ Programming},+ year = 2000+}++@inproceedings{Chlipala2005StrictBidirectionalTypeChecking,+ author = {Adam Chlipala and Leaf Petersen and Robert Harper},+ title = {Strict bidirectional type checking},+ booktitle = {TLDI '05: Proceedings of the 2005 ACM SIGPLAN+ international workshop on Types in languages design+ and implementation},+ year = 2005,+ isbn = {1-58113-999-3},+ pages = {71--78},+ location = {Long Beach, California, USA},+ doi = {http://doi.acm.org/10.1145/1040294.1040301},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{PeytonJones1991LambdaLifter,+ author = {SL {Peyton Jones} and D Lester},+ title = {A modular fully-lazy lambda lifter in Haskell},+ journal = {Software Practice and Experience},+ year = 1991,+ volume = 21,+ number = 5,+ pages = {479--506},+ month = may+}++@InProceedings{Hinze2000DerivableTupeClasses,+ author = {Ralf Hinze and Simon {Peyton Jones}},+ title = {Derivable type classes},+ booktitle = {Haskell Workshop},+ year = 2000,+ note = {To appear in Electronic Notes in Computer Science,+ Elsevier}+}++@InProceedings{Chen2003JRPM,+ author = {Michael K. Chen and Kunle Olukotun},+ title = {The {JRPM} system for dynamically parallelizing Java+ programs},+ booktitle = {Proceedings. 30th Annual International Symposium on+ Computer Architecture},+ year = 2003,+ month = jun+}++@Unpublished{Pottier2005ModernEye,+ author = {Fran{\c c}ois Pottier},+ title = {A modern eye on {ML} type inference -- Old+ techniques and recent developments},+ note = {Available from:+ \url{http://cristal.inria.fr/~fpottier/publis/fpottier-appsem-2005.pdf}},+ month = sep,+ year = 2005+}++@unpublished{Wehr2006JavaGI,+ author = "Stefan Wehr and Ralf L{\"a}mmel and Peter Thiemann",+ title = "{JavaGI: Generalized Interfaces for Java}",+ year = 2006,+ month = "20~" # dec,+ note = {Draft; 25 pages}+}++@phdthesis{Glesner1999NatuerlicheSemantik,+ author = {Sabine Glesner},+ title = {Nat{\"u}rliche Semantik f{\"u}r imperative und+ objektorientierte Programmiersprachen},+ year = 1999,+ month = Feb,+ publisher = {Shaker Verlag},+ school = {Universit{\"a}t Karlsruhe},+ address = {Aachen, Germany},+}++@InBook{Pottier2005EssenceMLTypeInference,+ author = {Fran{\c c}ois Pottier and Didier R{\'e}my},+ editor = {Benjamin C. Pierce},+ title = {Advanced Topics in Types and Programming Languages},+ chapter = {The essence of ML type inference},+ publisher = MIT,+ year = 2005+}++@InProceedings{Marlow2006Exceptions,+ author = {Simon Marlow},+ title = {An Extensible Dynamically-Typed Hierarchy of+ Exceptions},+ booktitle = {Haskell '06: Proceedings of the 2006 ACM SIGPLAN+ workshop on Haskell},+ year = 2006,+ month = {September},+ abstract = {In this paper we address the lack of extensibility+ of the exception type in Haskell. We propose a+ lightweight solution involving the use of+ existential types and the Typeable class only, and+ show how our solution allows a fully extensible+ hierarchy of exception types to be declared, in+ which a single overloaded catch operator can be used+ to catch either specific exception types, or+ exceptions belonging to any subclass in the+ hierarchy. We also show how to combine the existing+ object-oriented framework OOHaskell with our design,+ such that OOHaskell objects can be thrown and caught+ as exceptions, with full support for implicit+ OOHaskell subtyping in the @catch@ operator. },+ url =+ {http://www.haskell.org/~simonmar/papers/ext-exceptions.pdf},+ location = {Portland, Oregon},+ publisher = ACM+}++@inproceedings{Eeckhout2003VMMicroarchitecture,+ author = {Lieven Eeckhout and Andy Georges and Koen De+ Bosschere},+ title = {How java programs interact with virtual machines at+ the microarchitectural level},+ booktitle = {OOPSLA '03: Proceedings of the 18th annual ACM+ SIGPLAN conference on Object-oriented programing,+ systems, languages, and applications},+ year = 2003,+ isbn = {1-58113-712-5},+ pages = {169--186},+ location = {Anaheim, California, USA},+ doi = {http://doi.acm.org/10.1145/949305.949321},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Sun2006MemoryManagement,+ author = {{Sun Microsystems}},+ title = {Memory Management in the Java HotSpot\texttrademark{}+ Virtual machine },+ institution = {Sun Microsystems},+ year = 2006,+ type = {Whitepaper},+ month = apr+}++@Misc{Swierstra2006BeautyInTheBeast,+ author = {Wouter Swierstra and Thorsten Altenkirch},+ title = {Beauty in the Beast},+ howpublished = {submitted for publication},+ month = jun,+ year = 2006,+}++@inproceedings{Ohori2007LightweightFusion ,+ author = "Atsushi Ohori and Isao Sasano",+ title = "Lightweight Fusion by Fixed Point Promotion",+ booktitle = "Conference record of {POPL} '07, 34th {ACM}+ {SIGPLAN}-{SIGACT} Symposium on Principles of+ Programming Languages: Nice, France, January 17--19,+ 2007",+ publisher = ACM,+ address = "New York, NY, USA",+ editor = "{ACM}",+ year = 2007+}++@MastersThesis{Spinellis1990MastersThesis,+ author = {Diomidis Spinellis},+ title = {An Implementation of the {Haskell} Language},+ school = {Imperial College},+ year = 1990,+ month = jun+}++@article{Bentley1985AssociativeArrays,+ author = {Jon Bentley},+ title = {Programming pearls: associative arrays},+ journal = {Communications of the ACM},+ volume = 28,+ number = 6,+ year = 1985,+ issn = {0001-0782},+ pages = {570--576},+ doi = {http://doi.acm.org/10.1145/3812.315108},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Bentley1986LittleLanguages,+ author = {Jon Bentley},+ title = {Programming pearls: little languages},+ journal = {Communications of the ACM},+ volume = 29,+ number = 8,+ year = 1986,+ issn = {0001-0782},+ pages = {711--721},+ doi = {http://doi.acm.org/10.1145/6424.315691},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{PeytonJones1986Distfix,+ author = {Simon L. {Peyton Jones}},+ title = {Parsing distfix operators},+ journal = {Communications of the ACM},+ volume = 29,+ number = 2,+ year = 1986,+ issn = {0001-0782},+ pages = {118--122},+ doi = {http://doi.acm.org/10.1145/5657.5659},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Matthews2004PLTRedex,+ author = {Jacob Matthews and Robert Bruce Findler and Matthew+ Flatt and Matthias Felleisen},+ title = {A Visual Environment for Developing+ Context-Sensitive Term Rewriting Systems},+ booktitle = {International Conference on Rewriting Techniques and+ Applications (RTA)},+ year = 2004+}++@InProceedings{Matthews2005OperationalSemanticsR5RSScheme,+ author = {Jacob Matthews and Robert Bruce Finder},+ title = {An operational Semantics for {R${}^5$RS} Scheme},+ booktitle = {Sixth Workshop on Scheme and Functional Programming},+ year = 2005,+ address = {Tallin, Estonia},+ month = sep+}++@Unpublished{Kollmansberger2006HaskellRules,+ author = {Steve Kollmansberger and Martin Erwig},+ title = {Haskell Rules: Embedding Rule Systems in Haskell},+ note = {Draft Paper},+ month = jun,+ year = 2006+}++@Article{Robson1987ThrowAway,+ author = {D. J. Robson},+ title = {An evaluation of throw-away compiling},+ journal = SPE,+ year = 1987,+ volume = 13,+ pages = {241--249}+}++@Article{McDonald1983fsh,+ author = {Chris S. McDonald},+ title = {fsh -- a functional UNIX command interpreter},+ journal = SPE,+ year = 1983,+ volume = 17,+ number = 10,+ pages = {685--700},+ month = oct+}++@inproceedings{Rossberg2006MissingLink,+ author = {Andreas Rossberg},+ title = {The missing link: dynamic components for {ML}},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ International Conference on Functional Programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {99--110},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159816},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Blume2006ExtensibleProgramming,+ author = {Matthias Blume and Umut A. Acar and Wonseok Chae},+ title = {Extensible programming with first-class cases},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ International Conference on Functional Programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {239--250},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159836},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Bringert2006AlmostCompositional,+ author = {Bj{\o}rn Bringert and Aarne Ranta},+ title = {A pattern for almost compositional functions},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ international conference on Functional programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {216--226},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159834},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Diatchki2005HighLevelViews,+ author = {Iavor S. Diatchki and Mark P. Jones and Rebekah+ Leslie},+ title = {High-level views on low-level representations},+ booktitle = {ICFP '05: Proceedings of the tenth ACM SIGPLAN+ international conference on Functional programming},+ year = 2005,+ isbn = {1-59593-064-7},+ pages = {168--179},+ location = {Tallinn, Estonia},+ doi = {http://doi.acm.org/10.1145/1086365.1086387},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Morrison1991AdHocPolymorphism,+ author = {R. Morrison and A. Dearle and R. C. H. Connor and+ A. L. Brown},+ title = {An ad hoc approach to the implementation of+ polymorphism},+ journal = TOPLAS,+ volume = 13,+ number = 3,+ year = 1991,+ issn = {0164-0925},+ pages = {342--371},+ doi = {http://doi.acm.org/10.1145/117009.117017},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Henglein1994FormallyOptimalBoxing,+ author = {Fritz Henglein and Jesper J{\o}rgensen},+ title = {Formally optimal boxing},+ booktitle = {POPL '94: Proceedings of the 21st ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 1994,+ isbn = {0-89791-636-0},+ pages = {213--226},+ location = {Portland, Oregon, United States},+ doi = {http://doi.acm.org/10.1145/174675.177874},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Leroy1992UnboxedObjects,+ author = {Xavier Leroy},+ title = {Unboxed objects and polymorphic typing},+ booktitle = {POPL '92: Proceedings of the 19th ACM SIGPLAN-SIGACT+ Symposium on Principles of Programming Languages},+ year = 1992,+ isbn = {0-89791-453-8},+ pages = {177--188},+ location = {Albuquerque, New Mexico, United States},+ doi = {http://doi.acm.org/10.1145/143165.143205},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{Wright1994SyntacticApproach,+ author = {Andrew Wright and Matthias Felleisen},+ title = {A syntactic approach to type soundness},+ journal = {Information and Computation},+ year = 1995,+ pages = {38--94}+}++@PhdThesis{Surana2006PhD,+ author = {Pankaj Surana},+ title = {Meta-Compilation of Language Abstractions},+ school = {Northwestern University},+ year = 2006,+ month = jun+}++@inproceedings{Odersky1996PuttingTypeAnnotations,+ author = {Martin Odersky and Konstantin L{\"u}fer},+ title = {Putting type annotations to work},+ booktitle = {POPL '96: Proceedings of the 23rd ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 1996,+ isbn = {0-89791-769-3},+ pages = {54--67},+ location = {St. Petersburg Beach, Florida, United States},+ doi = {http://doi.acm.org/10.1145/237721.237729},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Gries1977SomeIdeas,+ author = {David Gries and Narain Gehani},+ title = {Some ideas on data types in high-level languages},+ journal = {Communications of the ACM},+ volume = 20,+ number = 6,+ year = 1977,+ issn = {0001-0782},+ pages = {414--420},+ doi = {http://doi.acm.org/10.1145/359605.359624},+ publisher = ACM,+ address = {New York, NY, USA},+}++@MastersThesis{Chevalier2004MastersThesis,+ author = {Marie-Christine (Kirsten) Chevalier},+ title = {Implementing Type-Based Deforestation},+ school = {University of California at Berkeley},+ year = 2004+}++@inproceedings{Bacon2003RealTimeGC,+ author = {David F. Bacon and Perry Cheng and V. T. Rajan},+ title = {A real-time garbage collector with low overhead and+ consistent utilization},+ booktitle = {POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 2003,+ isbn = {1-58113-628-5},+ pages = {285--298},+ location = {New Orleans, Louisiana, USA},+ doi = {http://doi.acm.org/10.1145/604131.604155},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Crary1998IntensionalPolymorphism,+ author = {Karl Crary and Stephanie Weirich and Greg Morrisett},+ title = {Intensional polymorphism in type-erasure semantics},+ booktitle = {ICFP '98: Proceedings of the third ACM SIGPLAN+ International Conference on Functional Programming},+ year = 1998,+ isbn = {1-58113-024-4},+ pages = {301--312},+ location = {Baltimore, Maryland, United States},+ doi = {http://doi.acm.org/10.1145/289423.289459},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Harper1995CompilingPolymorphism,+ author = {Robert Harper and Greg Morrisett},+ title = {Compiling polymorphism using intensional type+ analysis},+ booktitle = {POPL '95: Proceedings of the 22nd ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 1995,+ isbn = {0-89791-692-1},+ pages = {130--141},+ location = {San Francisco, California, United States},+ doi = {http://doi.acm.org/10.1145/199448.199475},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Mauny1986CAM,+ author = {Michel Mauny and Asc{\'a}nder Su{\'a}rez},+ title = {Implementing functional languages in the Categorical+ Abstract Machine},+ booktitle = {LFP '86: Proceedings of the 1986 ACM conference on+ LISP and functional programming},+ year = 1986,+ isbn = {0-89791-200-4},+ pages = {266--278},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/319838.319869},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Fairbairn1986CodeGeneration,+ author = {Jon Fairbairn and Stuart C. Wray},+ title = {Code generation techniques for functional languages},+ booktitle = {LFP '86: Proceedings of the 1986 ACM conference on+ LISP and functional programming},+ year = 1986,+ isbn = {0-89791-200-4},+ pages = {94--104},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/319838.319853},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Clack1986FourStroke,+ author = {Chris Clack and Simon L. {Peyton Jones}},+ title = {The four-stroke reduction engine},+ booktitle = {LFP '86: Proceedings of the 1986 ACM conference on+ LISP and functional programming},+ year = 1986,+ isbn = {0-89791-200-4},+ pages = {220--232},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/319838.319865},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Nielson1986SemanticsDirected,+ author = {Hanne R. Nielson and Flemming Nielson},+ title = {Semantics directed compiling for functional+ languages},+ booktitle = {LFP '86: Proceedings of the 1986 ACM conference on+ LISP and functional programming},+ year = 1986,+ isbn = {0-89791-200-4},+ pages = {249--257},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/319838.319867},+ publisher = ACM,+ address = {New York, NY, USA},+}++@TechReport{Dockins2007BytecodeVerification,+ author = {Robert Dockins and Samuel Z. Guyer},+ title = {Bytecode Verification for {Haskell}},+ institution = {Tufts University},+ year = 2007,+ month = feb+}++@InProceedings{Meijer1991BananasLenses,+ author = {Erik Meijer and Maarten Fokkinga and Ross Paterson},+ title = {Functional Programming with Bananas, Lenses,+ Envelopes and Barbed Wire},+ booktitle = {FPCA'91},+ year = 1991+}++@InProceedings{PeytonJones1997Henk,+ author = {Simon L. {Peyton Jones} and Erik Meijer},+ title = {Henk: a typed intermediate language},+ booktitle = {Proc. First Int'l Workshop on Types in Compilation},+ year = 1997,+ month = jun+}++@misc{ Hammond1992DynamicSemanticsforHaskell,+ author = "Kevin Hammond and Cordelia Hall",+ title = "A Dynamic Semantics for Haskell",+ url = "citeseer.ist.psu.edu/hammond92dynamic.html"+}++@InProceedings{Ford2002PackratParsing,+ author = {Bryan Ford},+ title = {Packrat Parsing: Simple, Powerful, Lazy, Linear+ Time},+ booktitle = {International Conference on Functional Programming},+ year = 2002,+ address = {Pittsburgh},+ month = oct,+ publisher = ACM+}++@unpublished{ baudinet85tree,+ author = "Marianne Baudinet and David MacQueen",+ title = "Tree Pattern Matching for {ML}",+ year = "1985",+ url = "citeseer.ist.psu.edu/baudinet85tree.html" +}++@MastersThesis{Roorda2000PTSforFP,+ author = {Jan-Willem Roorda},+ title = {Pure Type Systems for Functional Programming},+ school = {University of Utrecht},+ year = 2000+}++@incollection{Barendregt1992LambdaCalculiWithTypes,+ author = {Henk Barendregt},+ title = {Lambda Calculi with Types},+ editor = {Abramsky and Gabbay and Maibaum},+ booktitle = {Handbook of Logic in Computer Science, (Background:+ Computational Structures)},+ publisher = {Oxford University Press},+ volume = 2,+ year = 1992+}++@MastersThesis{RosendahlAutomaticProgramAnalysis,+ author = {Mads Rosendahl},+ title = {Automatic Program Analysis},+ school = {University of Copenhagen},+ year = {???}+}++@Unpublished{RosendahlSimpleDriving,+ author = {Mads Rosendahl},+ title = {Simple Driving Techniques},+ note = {www:+ \url{http://akira.ruc.dk/~madsr/webpub/driv.pdf}}+}++@Book{Bertot2004InteractiveTheoremProving,+ author = {Yves Bertot and Pierre Cast{\'e}ran},+ title = {Interactive Theorem Proving and Program Development+ -- Coq'Art: The Calculus of Inductive Constructions},+ publisher = SV,+ year = 2004+}++@inproceedings{Walker2006FaultyLambda,+ author = {David Walker and Lester Mackey and Jay Ligatti and+ George A. Reis and David I. August},+ title = {Static typing for a faulty lambda calculus},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ international conference on Functional programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {38--49},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159809},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Might2006GammaCFA,+ author = {Matthew Might and Olin Shivers},+ title = {Improving flow analyses via $\Gamma$CFA: abstract+ garbage collection and counting},+ booktitle = {ICFP '06: Proceedings of the eleventh ACM SIGPLAN+ international conference on Functional programming},+ year = 2006,+ isbn = {1-59593-309-3},+ pages = {13--25},+ location = {Portland, Oregon, USA},+ doi = {http://doi.acm.org/10.1145/1159803.1159807},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Misc{Meacham2007JHCHomepage,+ author = {John Meacham},+ title = {jhc},+ howpublished = {Available from: \url{http://repetae.net/john/computer/jhc/}},+ year = 2007,+ note = {Last visited: 2008-10-07}+}++@InProceedings{Rossberg2006AliceThrough,+ author = {Andreas Rossberg and Didier Le Botlan and Guido Tack and+ Thorsten Brunklaus and Gert Smolka},+ title = {Alice Through the Looking Glass},+ booktitle = {Trends in Functional Programming},+ year = 2006,+ volume = 5,+ pages = {79-96},+ publisher = {Intellect}+}++@inproceedings{Hawblitzel2007GarbageCollectingTAL,+ author = {Chris Hawblitzel and Heng Huang and Lea Wittie and+ Juan Chen},+ title = {A garbage-collecting typed assembly language},+ booktitle = {TLDI '07: Proceedings of the 2007 ACM SIGPLAN+ international workshop on Types in languages design+ and implementation},+ year = 2007,+ isbn = {1-59593-393-X},+ pages = {41--52},+ location = {Nice, Nice, France},+ doi = {http://doi.acm.org/10.1145/1190315.1190323},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{ Coquand1996TypeCheckingDependentTypes,+ author = "Thierry Coquand",+ title = "An Algorithm for Type-Checking Dependent Types",+ journal = "Science of Computer Programming",+ volume = 26,+ number = "1-3",+ pages = "167-177",+ year = 1996,+ url = "citeseer.ist.psu.edu/coquand96algorithm.html"+}++@InProceedings{Wadler2003PrettierPrinter,+ author = {Philip Wadler},+ title = {A prettier printer},+ booktitle = {The Fun of Programming. A symposium in honour of+ Professor Richard Bird's 60th birthday},+ year = 2003,+ address = {Examination Schools, Oxford},+ month = mar+}++@MastersThesis{Lindgren1996SoftTypeErlang,+ author = {Anders Lindgren},+ title = {A Prototype of a Soft Type System for Erlang},+ school = {Computer Science Department, Uppsala University},+ year = 1996+}++@PhdThesis{Gast2003GeneratorTypeCheckers,+ author = {Holger Gast},+ title = {A Generator for Type Checkers},+ school = {Universit{\"a}t T{\"u}bingen},+ year = 2004+}++@inproceedings{Bell1997TypeDrivenDefunctionalization,+ author = {Jeffrey M. Bell and Fran{\c c}oise Bellegarde and+ James Hook},+ title = {Type-driven defunctionalization},+ booktitle = {ICFP '97: Proceedings of the second ACM SIGPLAN+ international conference on Functional programming},+ year = 1997,+ isbn = {0-89791-918-1},+ pages = {25--37},+ location = {Amsterdam, The Netherlands},+ doi = {http://doi.acm.org/10.1145/258948.258953},+ publisher = ACM,+ address = {New York, NY, USA},+}++@PhdThesis{Abrams1970AnAPLMachine,+ author = {Philip S. Abrams},+ title = {An {APL} machine},+ school = {Stanford University},+ year = 1970,+ note = {Also, Stanford Linear Accelerator Center (SLAC)+ Rep.~114}+}++@MastersThesis{BelangerMasters06,+ author = "David B{\'e}langer",+ title = "{SableJIT}: A Retargetable Just-In-Time Compiler",+ school = "McGill University",+ year = "2004",+ month = "August"+}++@InProceedings{Cierniak1997Briki,+ author = {Michal Cierniak and Wei Li},+ title = {Briki: an optimizing Java compiler},+ booktitle = {Compcon '97. Proceedings},+ pages = {23--26},+ year = 1997,+ month = feb,+ publisher = {IEEE}+}++@inproceedings{Johansson2000ErlangSystem,+ author = {Erik Johansson and Mikael Pettersson and+ Konstantinos Sagonas},+ title = {A high performance Erlang system},+ booktitle = {PPDP '00: Proceedings of the 2nd ACM SIGPLAN+ international conference on Principles and practice+ of declarative programming},+ year = 2000,+ isbn = {1-58113-265-4},+ pages = {32--43},+ location = {Montreal, Quebec, Canada},+ doi = {http://doi.acm.org/10.1145/351268.351273},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Sarkar2005Nanopass,+ author = {Dipanwita Sarkar and Oscar Waddell and R. Kent+ Dybvig},+ title = {A Nanopass Framework for Compiler Education},+ journal = {Journal of Functional Programming},+ volume = 15,+ number = 5,+ month = sep,+ year = 2005,+ texturl = "http://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf",+ note = "Educational Pearl"+}++@article{Leroy2003BytecodeVerification,+ author = {Xavier Leroy},+ title = {{Java} bytecode verification: algorithms and+ formalizations},+ journal = {Journal of Automated Reasoning},+ year = 2003,+ volume = 30,+ number = {3--4},+ pages = {235--269},+ abstract = {Bytecode verification is a crucial security+ component for Java applets, on the Web and on+ embedded devices such as smart cards. This paper+ reviews the various bytecode verification algorithms+ that have been proposed, recasts them in a common+ framework of dataflow analysis, and surveys the use+ of proof assistants to specify bytecode verification+ and prove its correctness. (Extended and revised+ version of \cite{Leroy-survey-verif}.)},+}++@InProceedings{Okasaki2005Alternatives,+ author = {Chris Okasaki},+ title = {Alternatives to Two Classic Data Structures},+ booktitle = {Symposium on Computer Science Education (SIGCSE)},+ pages = {162--165},+ year = 2005,+ month = feb+}++@Article{Okasaki1994CallByNeedAndCPS,+ author = {Call-by-need and Continuation-passing Style},+ title = {Chris Okasaki Peter Lee and David Tarditi},+ journal = {Lisp and Symbolic Computation},+ year = 1994,+ volume = 7,+ number = 1,+ pages = {57--81},+ month = jan+}++@Article{Wakeling2007SpreadsheedFP,+ author = {David Wakeling},+ title = {Spreadsheet functional programming},+ journal = JFP,+ year = 2007,+ volume = 17,+ number = 1,+ pages = {131--143},+ month = jan+}++@inproceedings{Bondorf1990CompilingLaziness,+ author = {Anders Bondorf},+ title = {Compiling laziness by partial evaluation},+ booktitle = {Functional Programming, Glasgow 1990},+ year = 1990+}++@inproceedings{Duggan1996MixinModules,+ author = {Dominic Duggan and Constantinos Sourelis},+ title = {Mixin modules},+ booktitle = {ICFP '96: Proceedings of the first ACM SIGPLAN+ international conference on Functional programming},+ year = 1996,+ isbn = {0-89791-770-7},+ pages = {262--273},+ location = {Philadelphia, Pennsylvania, United States},+ doi = {http://doi.acm.org/10.1145/232627.232654},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Article{Appel1989RuntimeTags,+ author = {Andrew W. Appel},+ title = {Runtime Tags Aren't Necessary},+ journal = {Lisp and Symbolic Computation},+ year = 1989,+ volume = 19,+ number = 7,+ pages = {703--705},+ month = jul+}++@TechReport{Appel1988ProfilingPresence,+ author = {Andrew W. Appel and Bruce Duba and David+ B. MacQueen},+ title = {Profiling in the presence of optimization and+ garbage collection},+ institution = {Princeton University},+ year = 1988,+ number = {CS-TR-197-88},+ month = nov+}++@Article{Cardelli1983MLunderUnix,+ author = {Luca Cardelli},+ title = {ML under Unix},+ journal = {Polymorphism, The ML/LCF/Hope Newsletters},+ year = 1983,+ volume = 1,+ number = 3,+ month = dec+}++@article{Ungar1984GenerationScavenging,+ author = {David Ungar},+ title = {Generation Scavenging: A non-disruptive high+ performance storage reclamation algorithm},+ journal = {SIGPLAN Notices},+ volume = 19,+ number = 5,+ year = 1984,+ issn = {0362-1340},+ pages = {157--167},+ doi = {http://doi.acm.org/10.1145/390011.808261},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Kennedy2001DotNetGenerics,+ author = {Andrew Kennedy and Don Syme},+ title = {Design and implementation of generics for the .NET+ Common language runtime},+ booktitle = {PLDI '01: Proceedings of the ACM SIGPLAN 2001+ Conference on Programming Language Design and+ Implementation},+ year = 2001,+ isbn = {1-58113-414-2},+ pages = {1--12},+ location = {Snowbird, Utah, United States},+ doi = {http://doi.acm.org/10.1145/378795.378797},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Benton1998CompilingSMLtoJavaBytecodes,+ author = {N. Benton and A. Kennedy and G. Russell},+ title = {Compiling Standard ML to Java Bytecodes},+ booktitle = {Proceedings of the 3rd ACM SIGPLAN Conference on+ Functional Programming (ICFP)},+ year = 1998,+ publisher = ACM+}++@PhdThesis{Connor1990TypesAndPolymorphism,+ author = {R.C.H. Connor},+ title = {Types and Polymorphism in Persistent Programming+ Systems},+ school = {University of St. Andrews},+ year = 1990+}++@TechReport{Minamide1997FullLifting,+ author = {Y. Minamide},+ title = {Full lifting of type parameters},+ institution = {RIMS, Kyoto University},+ year = 1997+}++@Article{Heckmann1997TeXFormula,+ author = {Reinhold Heckmann and Reinhard Wilhelm},+ title = {A Functional Description of TeX's Formula Layout},+ journal = JFP,+ year = 1997,+ volume = 7,+ number = 5,+ pages = {451--485},+ month = sep+}++@article{Ertl2002vmgen,+ author = "M. Anton Ertl and David Gregg and Andreas Krall and+ Bernd Paysan",+ title = "{Vmgen} --- a generator of efficient virtual machine+ interpreters",+ journal = "Soft\-ware --- Prac\-tice and Experience",+ volume = 32,+ number = 3,+ pages = "265--294",+ year = 2002,+ url = "citeseer.ist.psu.edu/ertl01vmgen.html"+}++@InProceedings{Ertl2002BuildingInterpreter,+ author = {M. Anton Ertl and David Gregg},+ title = {Building an interpreter with \textsf{vmgen}},+ booktitle = {Compiler Construction (CC'02)},+ pages = {5--8},+ year = 2002,+ publisher = {Springer LNCS~2304},+ note = {Tool Demonstration},+ url =+ {http://www.complang.tuwien.ac.at/papers/ertl\%26gregg02.ps.gz},+ abstract = {\textsf{Vmgen} automates many of the tasks of+ writing the virtual machine part of an interpreter,+ resulting in less coding, debugging and maintenance+ effort. This paper gives some quantitative data+ about the source code and generated code for a+ \textsf{vmgen}-based interpreter, and gives some+ examples demonstrating the simplicity of using+ \textsf{vmgen}.}+}++@InProceedings{Marlow2007PointerTagging,+ author = {Simon Marlow and Alexey Rodriguez Yakushev and Simon+ {Peyton Jones}},+ title = {Faster laziness using dynamic pointer tagging},+ booktitle = {ICFP 2007},+ year = 2007+}++@InProceedings{PeytonJones2007ConstructorSpecialisation,+ author = {Simon {Peyton Jones}},+ title = {Constructor specialisation for Haskell programs},+ booktitle = {ICFP 2007},+ year = 2007+}++@phdthesis{Fax:Lic,+ author = {Karl-Filip Fax{\'e}n},+ title = {Flow Inference, Code Generation, + and Garbage Collection for Lazy Functional Languages},+ school = "Dept.\ of Teleinformatics, KTH",+ address = {Stockholm},+ year = {1996},+ type = {Licentiate thesis},+ month = jan+}+++@article{Leone1998DynamicSpecializationFabius,+ author = {Mark Leone and Peter Lee},+ title = {Dynamic specialization in the Fabius system},+ journal = {ACM Computing Surveys},+ volume = 30,+ number = {3es},+ year = 1998,+ issn = {0360-0300},+ pages = 23,+ doi = {http://doi.acm.org/10.1145/289121.289144},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Johnsson2004EfficientCompilation2,+ author = {Thomas Johnsson},+ title = {Efficient compilation of lazy evaluation},+ journal = {SIGPLAN Notices},+ volume = 39,+ number = 4,+ year = 2004,+ issn = {0362-1340},+ pages = {125--138},+ doi = {http://doi.acm.org/10.1145/989393.989409},+ publisher = ACM,+ address = {New York, NY, USA},+}+++@Article{Johnsson2004EfficientCompilation,+ author = {Thomas Johnsson},+ title = {Efficient compilation of lazy evaluation},+ journal = {SIGPLAN Notices},+ year = 1984,+ volume = 19,+ number = 6,+ month = {jun}+}++@misc{ johnsson-compiling,+ author = "Thomas Johnsson",+ title = "Compiling Lazy Functional Languages: An+ introduction",+ url = "citeseer.ist.psu.edu/3555.html"+}++@InProceedings{Holyer1998BriskMachine,+ author = {Ian Holyer and Eleni Spiliopoulou},+ title = {The {Brisk} Machine: A Simplified {STG} Machine},+ booktitle = {Implementation of Functional Languages, IFL'97},+ pages = {20--38},+ year = 1998,+ volume = 1467,+ series = LNCS,+ publisher = SV+}++@inproceedings{DBLP:conf/inap/HofstedtK05,+ author = {Petra Hofstedt and+ Olaf Krzikalla},+ title = {TURTLE++ - A CIP-Library for C++.},+ booktitle = {INAP},+ year = {2005},+ pages = {12-24},+ ee = {http://dx.doi.org/10.1007/11963578_2},+ crossref = {DBLP:conf/inap/2005},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@proceedings{DBLP:conf/inap/2005,+ editor = {Masanobu Umeda and+ Armin Wolf and+ Oskar Bartenstein and+ Ulrich Geske and+ Dietmar Seipel and+ Osamu Takata},+ title = {Declarative Programming for Knowledge Management, 16th International+ Conference on Applications of Declarative Programming and+ Knowledge Management, INAP 2005, Fukuoka, Japan, October+ 22-24, 2005, Revised Selected Papers},+ booktitle = {INAP},+ publisher = {Springer},+ series = {Lecture Notes in Computer Science},+ volume = {4369},+ year = {2006},+ isbn = {3-540-69233-9},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@Misc{Nguyen2007RecordUnboxing,+ author = {Huu-Duc Nguyen and Atsushi Ohori},+ title = {Record Unboxing},+ howpublished = {World Wide Web:+ \url{http://www.pllab.riec.tohoku.ac.jp/~ohori/research/RecordUnboxing.pdf}},+ note = {Last visited: 2008-10-07},+ month = may,+ year = 2007+}++@InProceedings{Thiemann1994HigherOrderRedundancyElimination,+ author = {Peter Thiemann},+ title = {Higher-Order Redundancy Elimination},+ booktitle = {Proceedings of the ACM SIGPLAN Workshop on Partial+ Evaluation and Semantics-Based Program Manipulation+ PEPM '94},+ pages = {73--84},+ year = 1994,+ editor = {Peter Sestoft and Harald S{\o}ndergaard},+ address = {Orlando, Florida},+ month = jun+}++@InProceedings{Li2007LightweightConcurrency,+ author = {Peng Li and Andrew Tolmach and Simon Marlow and+ Simon {Peyton Jones}},+ title = {Lightweight concurrency primitives for {GHC}},+ booktitle = {Haskell Workshop 2007},+ year = 2007,+ note = {submitted}+}++@InProceedings{Wadler2007Comprehensive,+ author = {Phil Wadler and Simon {Peyton Jones}},+ title = {Comprehensive comprehensions: comprehensions with+ "Order by" and "Group by"},+ booktitle = {Haskell Workshop 2007},+ year = 2007,+ note = {submitted}+}++@Misc{Gibbons2007EssenceIteratorPattern,+ author = {Jeremy Gibbons and Bruno C. d. S. Oliveira},+ title = {The Essence of the Iterator Pattern},+ howpublished = {Available from:+ \url{http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/#iterator}},+ year = 2007,+ note = {A revision of the MSFP version, submitted for+ publication.}+}++@Unpublished{McBride2001Derivative,+ author = {Conor McBride},+ title = {The {D}erivative of a {R}egular {T}ype is its {T}ype+ of {O}ne-{H}ole {C}ontexts},+ note = {Available at+ \url{http://www.cs.nott.ac.uk/~ctm/diff.ps.gz}},+ year = 2001+}++@InProceedings{Seefried2007ExpressionProblem,+ author = {Sean Seefried and Manuel M.T. Chakravarty},+ title = {Solving the expression problem with true separate+ compilation},+ booktitle = {Haskell Workshop 2007},+ year = 2007,+ note = {Submitted}+}++@TechReport{Burrows1994BlockSorting,+ author = {M. Burrows and D. J. Wheeler},+ title = {A Block-sorting Lossless Data Compression Algorithm},+ institution = {Digital Systems Research Center},+ year = 1994,+ type = {Research Report},+ number = {SRC-124},+ month = may+}++@TechReport{McAdam1997Fix,+ author = {Bruce J. McAdam},+ title = {That About Wraps it Up: Using FIX to Handle Errors+ Without Exceptions, and Other Programming Tricks},+ institution = {Department of Computer Science, University of+ Edinburgh},+ year = 1997,+ number = {ECS-LFCS-97-375}+}++@inproceedings{Kennedy2007CwCC,+ author = {Andrew Kennedy},+ title = {Compiling with continuations, continued},+ booktitle = {ICFP '07: Proceedings of the 12th ACM SIGPLAN+ International Conference on Functional Programming},+ year = 2007,+ isbn = {978-1-59593-815-2},+ pages = {177--190},+ location = {Freiburg, Germany},+ doi = {http://doi.acm.org/10.1145/1291151.1291179},+ publisher = {ACM},+ address = {New York, NY, USA},+}++@InProceedings{Danvy2002FirstOrderOnePassCPS,+ author = {Olivier Danvy, Lasse R. Nielsen},+ title = {A First-Order One-Pass CPS Transformation},+ booktitle = {Foundations of Software Science and Computation+ Structures : 5th International Conference, FOSSACS+ 2002},+ pages = {367--393},+ year = 2002,+ volume = 2303,+ series = LNCS+}++@article{ Hatcliff1997ThunksAndLambdaCalculus,+ author = "John Hatcliff and Olivier Danvy",+ title = "Thunks and the lambda-Calculus",+ journal = "Journal of Functional Programming",+ volume = 7,+ number = 3,+ pages = "303-319",+ year = 1997,+ url = "citeseer.ist.psu.edu/article/hatcliff95thunks.html"+}++@InProceedings{Guillemette2007TypePreserving,+ author = {Louis-Julien Guillemette and Stefan Monnier},+ title = {A Type-Preserving Closure Conversion in {Haskell}},+ booktitle = {Haskell Workshop 2007},+ year = 2007+}++@PhdThesis{Veldhuizen2004PhD,+ author = {Todd L. Veldhuizen},+ title = {Active Libraries and Universal Languages},+ school = {Indiana University Computer Science},+ year = 2004+}++@inproceedings{Chlipala2007CertifiedCompiler,+ author = {Adam Chlipala},+ title = {A certified type-preserving compiler from lambda+ calculus to assembly language},+ booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN+ conference on Programming language design and+ implementation},+ year = 2007,+ isbn = {978-1-59593-633-2},+ pages = {54--65},+ location = {San Diego, California, USA},+ doi = {http://doi.acm.org/10.1145/1250734.1250742},+ publisher = {ACM Press},+ address = {New York, NY, USA},+}++@article{ Danvy1992RepresentingControl,+ author = "Olivier Danvy and Andrzej Filinski",+ title = "Representing Control: {A} study of the {CPS}+ transformation",+ journal = "Mathematical Structures in Computer Science",+ volume = 2,+ number = 4,+ pages = "361--391",+ year = 1992+}++@TechReport{Kim1998AssessingOverhead,+ author = {Jung-taek Kim and Kwangkeun Yi and Olivier Danvy},+ title = {Assessing the Overhead of ML Exceptions by Selective CPS Transformation},+ institution = {BRICS},+ year = 1998,+ number = {RS-98-15},+ month = sep+}++@TechReport{Appel2000OptimalSpilling,+ author = {Andrew W. Appel and Lal George},+ title = {Optimal Spilling for {CISC} Machines with Few+ Registers},+ institution = {Princeton University},+ year = 2000,+ number = {TR-630-00},+ month = nov+}++@InProceedings{Tolmach1997CombiningClosureConversion,+ author = {Andrew Tolmach},+ title = {Combining Closure Conversion with Closure Analysis+ using Algebraic Types},+ booktitle = {Types in Compilation workshop},+ year = 1997,+ month = jun+}++@InProceedings{Tolmach1998OptimizingML,+ author = {Andrew Tolmach},+ title = {Optimizing ML Using a Hierarchy of Monadic Types},+ booktitle = {Types in Compilation '98},+ pages = {97--113},+ year = 1998,+ volume = 1473,+ series = LNCS+}++@InProceedings{Ramsey2005ApplicativeCFG,+ author = {Norman Ramsey and Jo{\~a}o Dias},+ title = {An Applicative Control-Flow Graph Based on Huet's+ Zipper},+ booktitle = {ACM SIGPLAN Workshop on ML},+ pages = {101--122},+ year = 2005,+ month = sep+}++@InProceedings{Dias2006ConvertingIntermediate,+ author = {Jo{\~a}o Dias and Norman Ramsey},+ title = {Converting Intermediate Code to Assembly Code Using+ Declarative Machine Descriptions},+ booktitle = {15th International Conference on Compiler+ Construction (CC 2006)},+ pages = {217--231},+ year = 2006,+ volume = 3923,+ series = LNCS,+ month = mar+}++@InProceedings{Smith2004GeneralizedAlgorithm,+ author = {Michael D. Smith and Norman Ramsey and Glenn+ Holloway},+ title = {A Generalized Algorithm for Graph-Coloring Register+ Allocation},+ booktitle = {ACM SIGPLAN '04 Conference on Programming Language+ Design and Implementation},+ pages = {277--288},+ year = 2004,+ volume = 39,+ number = 6,+ series = {SIGPLAN Notices},+ month = jun+}++@InProceedings{Kahl1999BeyondPrettyPrinting,+ author = {Wolfram Kahl},+ title = {Beyond Pretty-Printing: Galley Concepts in Document+ Formatting Combinators},+ year = 1999,+ series = LNCS,+ publisher = SV,+ volume = 1551,+ pages = {76--90},+ editor = {Gopal Gupta},+ booktitle = {Practical Aspects of Declarative Languages, First+ International Workshop, {PADL '99, San Antonio,+ Texas, USA, January 1999, Proceedings}},+ abstract = {Galleys have been introduced by Jeff Kingston as one+ of the key concepts underlying his advanced document+ formatting system Lout. Although Lout is built on a+ lazy functional programming language, galley+ concepts are implemented as part of that language+ and defined only informally. In this paper we+ present a first formalisation of document formatting+ combinators using galley concepts in the purely+ functional programming language Haskell.}+}++@InProceedings{Mueller2006ExpressionAndLoop,+ author = {Christopher Mueller and Andrew Lumsdaine},+ title = {Expression and Loop Libraries for High-Performance+ Code Synthesis},+ booktitle = {The 19th International Workshop on Languages and+ Compilers for Parallel Computing (LCPC 2006)},+ year = 2007,+ series = LNCS,+ volume = 4382+}++@Book{Asperti1991Categories,+ author = {Andrea Asperti and Giuseppe Longo},+ title = {Categories, Types and Structures. Category Theory+ for the working computer scientist},+ publisher = MIT,+ year = 1991+}++@PhdThesis{Uh1997PhD,+ author = {Gang-Ryung Uh},+ title = {Effectively Exploiting Indirect Jumps},+ school = {Florida State University},+ year = 1997+}++@inproceedings{Balat1998Strong,+ author = {Vincent Balat and Olivier Danvy},+ title = {Strong Normalization by Type-Directed Partial+ Evaluation and Run-Time Code Generation},+ booktitle = {TIC '98: Proceedings of the Second International+ Workshop on Types in Compilation},+ year = 1998,+ isbn = {3-540-64925-5},+ pages = {240--252},+ publisher = {Springer-Verlag},+ address = {London, UK},+}++@inproceedings{Vechev2005DerivationEvaluation,+ title = {Derivation and Evaluation of Concurrent Collectors.},+ author = {Martin T. Vechev and David F. Bacon and Perry Cheng+ and David Grove},+ booktitle = {ECOOP},+ editor = {Andrew P. Black},+ pages = {577-601},+ publisher = {Springer},+ series = {Lecture Notes in Computer Science},+ url =+ {http://dblp.uni-trier.de/db/conf/ecoop/ecoop2005.html#VechevBCG05},+ volume = 3586,+ year = 2005,+ biburl =+ {http://www.bibsonomy.org/bibtex/2b5ccfd5c3d61b385c4638bb94469e8f8/dblp},+ description = {dblp},+ ee = {http://dx.doi.org/10.1007/11531142_25},+ isbn = {3-540-27992-X},+ date = {2005-10-05},+ keywords = {dblp }+}++@inproceedings{Fluet2007ManticoreStatus,+ author = {Matthew Fluet and Nic Ford and Mike Rainey and John+ Reppy and Adam Shaw and Yingqi Xiao},+ title = {Status Report: The {Manticore} Project},+ booktitle = {Proceedings of the 2007 ACM SIGPLAN Workshop on+ {ML}},+ year = 2007,+ month = oct,+ abstract = { The Manticore project is an effort to design and+ implement a new functional language for parallel+ programming. Unlike many earlier parallel languages,+ Manticore is a \emph{heterogeneous} language that+ supports parallelism at multiple+ levels. Specifically, we combine CML-style explicit+ concurrency with fine-grain, implicitly threaded,+ parallel constructs. We have been working on an+ implementation of Manticore for the past six months;+ this paper gives an overview of our design and a+ report on the status of the implementation effort. }+}++@InProceedings{Luna2005HiPEExperience,+ author = {Daniel Luna and Mikael Pettersson and Konstantinos+ Sagonas},+ title = {Efficiently Compiling a Functional Language on+ AMD64: The HiPE Experience},+ booktitle = { 7th ACM SIGPLAN International Symposium on+ Principles and Practice of Declarative Programming+ (PPDP 2005)},+ year = 2005+}++@InProceedings{Lindahl2002UnboxedCompilation,+ author = {Tobias Lindahl and Konstantinos Sagonas},+ title = {Unboxed Compilation of Floating Point Arithmetic in+ a Dynamically Typed Language Environment},+ booktitle = {14th International Workshop on the Implementation of+ Functional Languages (IFL'02)},+ year = 2002+}++@Article{Favero2007OperatorPrecedence,+ author = {E. L. Favero},+ title = {The simple and powerful yfx operator precedence+ parser},+ journal = SPE,+ year = 2007,+ volume = 37,+ number = 14,+ pages = {1451-1474},+ month = nov+}++@Article{Ramsey1998Unparsing,+ author = {Norman Ramsey},+ title = {Unparsing expressions with prefix and postfix+ operators},+ journal = SPE,+ year = 1998,+ volume = 28,+ number = 12,+ pages = {1327-1356},+ month = oct+}++@book{Backhouse2002AlgebraicMethods,+ title = {Algebraic and coalgebraic methods in the mathematics+ of program construction},+ publisher = SV,+ year = 2002,+ editor = {Roland Backhouse and Roy Crole and Jeremy Gibbons},+ address = {New York, NY, USA}+} ++@InProceedings{Beckmann2004RunTimeCodeGeneration,+ author = {Olav Beckmann and Alastair Houghton and Paul+ H. J. Kelly and Michael Mellor},+ title = {Run-time code generation in C++ as a foundation for+ domain-specific optimisation},+ booktitle = {Domain-Specific Program Generation International+ Seminar},+ pages = {291-306},+ year = 2004,+ volume = 3016,+ series = LNCS+}++@phdthesis{Rhiger2001PhD,+ author = {Morten Rhiger},+ title = {Higher-Order Program Generation},+ school = {Aarhus University},+ month = aug,+ year = 2001+}++@InProceedings{Shapiro2004Towards,+ author = {Jonathan S. Shapiro},+ title = {Towards a Verified, General-Purpose Operating System+ Kernel},+ booktitle = {1st NICTA Workshop on Operating System Verification},+ year = 2004+}++@inproceedings{Sabry2005Quantum,+ author = {Amr Sabry},+ title = {Modeling quantum computing in Haskell},+ booktitle = {Haskell '03: Proceedings of the 2003 ACM SIGPLAN+ workshop on Haskell},+ year = 2003,+ isbn = {1-58113-758-3},+ pages = {39--49},+ location = {Uppsala, Sweden},+ doi = {http://doi.acm.org/10.1145/871895.871900},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Book{Allen2001OptimizingCompilers,+ author = {Randy Allen and Ken Kennedy},+ title = {Optimizing Compilers for Modern Architectures. A+ Dependence-based Approach},+ publisher = MK,+ year = 2001+}++@Unpublished{Langford2001MRsync,+ author = {John Langford},+ title = {Multiround Rsync},+ note = {World Wide Web:+ \url{http://www-2.cs.cmu.edu/~jcl/research/mrsync/mrsync.ps}},+ year = 2001+}++@PhdThesis{Tridgell2001PhD,+ author = {Andrew Tridgell},+ title = {Efficient Algorithms for Sorting and+ Synchronization},+ school = {The Australian National University},+ year = 1999,+ month = feb+}++@article{Ganapathi1982RetargetableCodeGeneration,+ author = {Mahadevan Ganapathi and Charles N. Fischer and John+ L. Hennessy},+ title = {Retargetable Compiler Code Generation},+ journal = {ACM Comput. Surv.},+ volume = 14,+ number = 4,+ year = 1982,+ issn = {0360-0300},+ pages = {573--592},+ doi = {http://doi.acm.org/10.1145/356893.356897},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Johnston1979DynamicIncremental,+ author = {Ronald L. Johnston},+ title = {The Dynamic Incremental Compiler of {APL}$\backslash$3000},+ booktitle = {APL '79: Proceedings of the International Conference+ on APL: part 1},+ year = 1979,+ pages = {82--87},+ location = {New York, New York, United States},+ doi = {http://doi.acm.org/10.1145/800136.804442},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Schwartz1984IncrementalCompilation,+ author = {Mayer D. Schwartz and Norman M. Delisle and Vimal+ S. Begwani},+ title = {Incremental compilation in Magpie},+ journal = {SIGPLAN Notices},+ volume = 19,+ number = 6,+ year = 1984,+ issn = {0362-1340},+ pages = {122--131},+ doi = {http://doi.acm.org/10.1145/502949.502887},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{DBLP:journals/spe/Ammann77,+ author = {Urs Ammann},+ title = {On Code Generation in a PASCAL Compiler},+ journal = {Softw., Pract. Exper.},+ volume = {7},+ number = {3},+ year = {1977},+ pages = {391-423},+ bibsource = {DBLP, http://dblp.uni-trier.de}+}++@mastersthesis{Mun2005Functional3DGames,+ author = {Mun Hon Cheong},+ title = {Functional Programming and 3D Games},+ year = 2005,+ month = {November},+ school = {University of New South Wales},+ address = {Sydney, Australia},+ abstract = {Games are commonly programmed in imperative+ languages. Functional languages have been known to+ have benefits but have rarely been used to program+ games. In this thesis we implement a first person+ shooting game in Haskell and Yampa. The merits of+ this approach are examined.}+}++@inproceedings{Parnas1976Response,+ author = {D. L. Parnas and H. W{\"u}rges},+ title = {Response to undesired events in software systems},+ booktitle = {ICSE '76: Proceedings of the 2nd international+ conference on Software engineering},+ year = {1976},+ pages = {437--446},+ location = {San Francisco, California, United States},+ publisher = {IEEE Computer Society Press},+ address = {Los Alamitos, CA, USA},+}++@MastersThesis{Stewart2002MultiParadigmJITCompilation,+ author = {Don Stewart},+ title = {Multi-paradigm Just-In-Time Compilation},+ school = {School of Computer Science and Engineering, The+ University of New South Wales},+ year = 2002,+ month = nov+}++@inproceedings{Longley1999WhenIsAFunctional,+ author = "John Longley",+ title = "When is a Functional Program Not a Functional+ Program?",+ booktitle = "International Conference on Functional Programming",+ pages = "1-7",+ year = 1999,+ url = "citeseer.ist.psu.edu/longley99when.html"+}++@Book{Gabriel1996PatternsOfSoftware,+ author = {Richard P. Gabriel},+ title = {Patterns of Software: Tales from the Software+ Community},+ publisher = {Oxford Press},+ year = 1996+}++@InProceedings{Hiser2007IndirectBranchHandling,+ author = {Jason D. Hiser and Daniel Williams and Wei Hu and+ Jack W. Davidson and Jason Mars and Bruce+ R. Childers},+ title = {Evaluating Indirect Branch Handling Mechanisms in+ Software Dynamic Translation Systems},+ booktitle = {CGO '07},+ year = 2007,+ month = mar+}++@inproceedings{Bala2000Dynamo,+ author = {Vasanth Bala and Evelyn Duesterwald and Sanjeev+ Banerjia},+ title = {Dynamo: a transparent dynamic optimization system},+ booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000+ Conference on Programming Language Design and+ Implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {1--12},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349303},+ publisher = {ACM},+ address = {New York, NY, USA},+}++@inproceedings{Lucco2000SplitStream,+ author = {Steven Lucco},+ title = {Transitive website},+ booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000+ conference on Programming language design and+ implementation},+ year = 2000,+ isbn = {1-58113-199-2},+ pages = {27--34},+ location = {Vancouver, British Columbia, Canada},+ doi = {http://doi.acm.org/10.1145/349299.349307},+ publisher = {ACM},+ address = {New York, NY, USA},+}++@Misc{Transitive2008Website,+ author = {Transitive Corporation},+ title = {Transitive website},+ howpublished = {WWW: \url{http://www.transitive.com/}},+ month = mar,+ year = 2008+}++@techreport{Scott2001Strata,+ author = {Kevin Scott and Jack Davidson},+ title = {Strata: A Software Dynamic Translation+ Infrastructure},+ year = 2001,+ source =+ {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Auva_cs%3Ancstrl.uva_cs%2F%2FCS-2001-17},+ publisher = {University of Virginia},+ address = {Charlottesville, VA, USA},+}++@techreport{Scott2000MatchCompilation,+ author = {Kevin Scott and Norman Ramsey},+ title = {When Do Match-compilation Heuristics Matter?},+ year = 2000,+ publisher = {University of Virginia},+ address = {Charlottesville, VA, USA},+}++@inproceedings{Minamide1996TypedClosureConversion,+ author = {Y. Minamide and G. Morrisett and R. Harper},+ title = {Typed closure conversion},+ booktitle = {In Proc. 23rd Annual ACM SIGPLAN-SIGACT Symp. on+ Principles of Programming Languages},+ year = 1996,+ pages = {271--283},+ publisher = {ACM Press}+}++@Article{Harper1993Polymorphic,+ author = {Robert Harper and Mark Lillibridge},+ title = {Polymorphic Type Assignment and {CPS} Conversion},+ journal = {Lisp and Symbolic Computation},+ year = 1993,+ volume = 6,+ number = {3--4},+ pages = {361--379},+ month = nov+}++@misc{ tolmach-from,+ author = "A. Tolmach and D. Oliva",+ title = "From ML to Ada: Strongly-typed language+ interoperability via source translation",+ text = "A. Tolmach and D. Oliva. From ML to Ada:+ Strongly-typed language interoperability via source+ translation. Journal of Functional Programming. (to+ appear).",+ url = "citeseer.ist.psu.edu/article/tolmach97from.html"+}++@misc{ bellegarde-notes,+ author = "F. Bellegarde",+ title = "Notes for pipelines of transformations for ML",+ url = "citeseer.ist.psu.edu/bellegarde95notes.html"+}++@InProceedings{Wells1997TypedIL,+ author = {J. B. Wells and Allyn Dimock and Robert Muller and+ Franklyn Turbak},+ title = { A typed intermediate language for flow-directed+ compilation},+ booktitle = {TAPSOFT '97: Theory and Practice of Software+ Development},+ pages = {757--771},+ year = 1997,+ volume = 1214,+ series = LNCS,+ publisher = SV+}++@article{Dimock1997Strongly,+ author = {Allyn Dimock and Robert Muller and Franklyn Turbak+ and J. B. Wells},+ title = {Strongly typed flow-directed representation+ transformations (extended abstract)},+ journal = {SIGPLAN Notices},+ volume = 32,+ number = 8,+ year = 1997,+ issn = {0362-1340},+ pages = {11--24},+ doi = {http://doi.acm.org/10.1145/258949.258952},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Benton2007RelationalSemantics,+ author = {Nick Benton and Andrew Kennedy and Lennart Beringer+ and Martin Hofmann},+ title = {Relational semantics for effect-based program+ transformations with dynamic allocation},+ booktitle = {PPDP '07: Proceedings of the 9th ACM SIGPLAN+ international conference on Principles and practice+ of declarative programming},+ year = 2007,+ isbn = {978-1-59593-769-8},+ pages = {87--96},+ location = {Wroclaw, Poland},+ doi = {http://doi.acm.org/10.1145/1273920.1273932},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Benton2007SemanticsEffectAnalysis,+ author = {Nick Benton and Peter Buchlovsky},+ title = {Semantics of an effect analysis for exceptions},+ booktitle = {TLDI '07: Proceedings of the 2007 ACM SIGPLAN+ international workshop on Types in languages design+ and implementation},+ year = 2007,+ isbn = {1-59593-393-X},+ pages = {15--26},+ location = {Nice, Nice, France},+ doi = {http://doi.acm.org/10.1145/1190315.1190320},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Truong1998ImprovingCacheBehavior,+ author = {D. N. Truong and F. Bodin and A. Seznec},+ title = {Improving cache behavior of dynamically allocated+ data structures},+ booktitle = {1998 International Conference on Parallel+ Architectures and Compilation Techniques},+ pages = {322--329},+ year = 1998,+ month = oct+}++@article{Kistler2000AutomatedDataMember,+ author = {Thomas Kistler and Michael Franz},+ title = {Automated data-member layout of heap objects to+ improve memory-hierarchy performance},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 22,+ number = 3,+ year = 2000,+ issn = {0164-0925},+ pages = {490--505},+ doi = {http://doi.acm.org/10.1145/353926.353937},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Calder1998CacheConscious,+ author = {Brad Calder and Chandra Krintz and Simmi John and+ Todd Austin},+ title = {Cache-conscious data placement},+ booktitle = {ASPLOS-VIII: Proceedings of the eighth international+ conference on Architectural support for programming+ languages and operating systems},+ year = 1998,+ isbn = {1-58113-107-0},+ pages = {139--149},+ location = {San Jose, California, United States},+ doi = {http://doi.acm.org/10.1145/291069.291036},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Luk1996CompilerBasedPrefetching,+ author = {Chi-Keung Luk and Todd C. Mowry},+ title = {Compiler-based prefetching for recursive data+ structures},+ booktitle = {ASPLOS-VII: Proceedings of the seventh international+ conference on Architectural support for programming+ languages and operating systems},+ year = 1996,+ isbn = {0-89791-767-7},+ pages = {222--233},+ location = {Cambridge, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/237090.237190},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Stichnoth1999SupportGC,+ author = {James M. Stichnoth and Guei-Yuan Lueh and Micha\l+ Cierniak},+ title = {Support for garbage collection at every instruction+ in a Java compiler},+ booktitle = {PLDI '99: Proceedings of the ACM SIGPLAN 1999+ conference on Programming language design and+ implementation},+ year = 1999,+ isbn = {1-58113-094-5},+ pages = {118--127},+ location = {Atlanta, Georgia, United States},+ doi = {http://doi.acm.org/10.1145/301618.301652},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Chilimbi1999CacheConsciousStructureLayout,+ author = {Trishul M. Chilimbi and Mark D. Hill and James+ R. Larus},+ title = {Cache-conscious structure layout},+ booktitle = {PLDI '99: Proceedings of the ACM SIGPLAN 1999+ conference on Programming language design and+ implementation},+ year = 1999,+ isbn = {1-58113-094-5},+ pages = {1--12},+ location = {Atlanta, Georgia, United States},+ doi = {http://doi.acm.org/10.1145/301618.301633},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Chilimbi1999CacheConsciousStructureDefinition,+ author = {Trishul M. Chilimbi and Bob Davidson and James+ R. Larus},+ title = {Cache-conscious structure definition},+ journal = {SIGPLAN Notices},+ volume = 34,+ number = 5,+ year = 1999,+ issn = {0362-1340},+ pages = {13--24},+ doi = {http://doi.acm.org/10.1145/301631.301635},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Vytiniotis2008FPH,+ author = {Dimitrios Vytiniotis and Stephanie Weirich and Simon+ {Peyton Jones}},+ title = {FPH : First-class Polymorphism for Haskell},+ booktitle = {ICFP 2008},+ year = 2008,+ note = {Submitted}+}++@InProceedings{Bansal2006Superoptimizers,+ author = {Sorav Bansal and Alex Aiken},+ title = {Automatic Generation of Peephole Superoptimizers},+ booktitle = {ASPLOS 2006},+ year = 2006+}++@inproceedings{Partain1993Nofib,+ author = {Will Partain},+ title = {The nofib Benchmark Suite of Haskell Programs},+ booktitle = {Proceedings of the 1992 Glasgow Workshop on+ Functional Programming},+ year = 1993,+ isbn = {3-540-19820-2},+ pages = {195--202},+ publisher = {Springer-Verlag},+ address = {London, UK},+}++@Book{Kernighan1988CProgrammingLanguage,+ author = {Brian W. Kernighan and Dennis M. Ritchie},+ title = {The {C} Programming Language},+ publisher = PH,+ year = 1988,+ edition = {2nd}+}++@PhdThesis{Nemeth2000PhD,+ author = {L{\'a}szl{\'o} N{\'e}meth},+ title = {Catamorphism-based program transformations for+ non-strict functional languages},+ school = {University of Glasgow},+ year = 2000,+ month = nov+}++@inproceedings{Hage2008HeapRecycling,+ author = {Jurriaan Hage and Stefan Holdermans},+ title = {Heap recycling for lazy languages},+ booktitle = {PEPM '08: Proceedings of the 2008 ACM SIGPLAN+ symposium on Partial evaluation and semantics-based+ program manipulation},+ year = 2008,+ isbn = {978-1-59593-977-7},+ pages = {189--197},+ location = {San Francisco, California, USA},+ doi = {http://doi.acm.org/10.1145/1328408.1328436},+ publisher = ACM,+ address = {New York, NY, USA},+}++@Misc{Grabmueller2008RdtscHomepage,+ author = {Martin Grabm{\"u}ller},+ title = {rdtsc -- Binding for the rdtsc machine instruction},+ howpublished = {Available on the World Wide Web:+ \url{http://uebb.cs.tu-berlin.de/~magr/projects/rdtsc/doc/}},+ note = {Last visited: 2008-10-07},+ month = jun,+ year = 2008+}++@INPROCEEDINGS{Bohannon2008Boomerang,+ AUTHOR = {Aaron Bohannon and J. Nathan Foster and Benjamin+ C. Pierce and Alexandre Pilkiewicz and Alan Schmitt},+ TITLE = {Boomerang: Resourceful Lenses for String Data},+ BOOKTITLE = {{ACM} {SIGPLAN--SIGACT} {S}ymposium on {P}rinciples+ of {P}rogramming {L}anguages ({POPL}), San+ Francisco, California},+ YEAR = 2008,+ MONTH = JAN,+ BCP = {Yes},+ KEYS = {harmony},+ PLCLUB = {Yes},+ SHORT =+ {http://www.cis.upenn.edu/~bcpierce/papers/boomerang.pdf},+ TR =+ {http://www.cis.upenn.edu/~bcpierce/papers/boomerang-tr.pdf}+}++@inproceedings{ Veldhuizen2002GuaranteedOptimization,+ author = "Todd L. Veldhuizen and Andrew Lumsdaine",+ title = "Guaranteed Optimization: Proving Nullspace+ Properties of Compilers",+ url = "citeseer.ist.psu.edu/veldhuizen02guaranteed.html",+ url = "http://osl.iu.edu/~tveldhui/papers/",+ booktitle = "Proceedings of the 2002 Static Analysis Symposium+ (SAS'02)",+ publisher = "Springer-Verlag",+ year = 2002,+ pages = "263-277",+ volume = 2477,+ conflocation = "Madrid, Spain",+ conftitle = "Static Analysis Symposium",+ series = "Lecture Notes in Computer Science",+ abstract = "Writing performance-critical programs can be+ frustrating because optimizing compilers for+ imperative languages tend to be unpredictable. For a+ subset of optimizations - those that simplify rather+ than reorder code - it would be useful to prove that+ a compiler reliably performs optimizations. We show+ that adopting a ``superanalysis'' approach to+ optimization enables such a proof. By analogy with+ linear algebra, we define the nullspace of an+ optimizer as those programs it reduces to the empty+ program. To span the nullspace, we define rewrite+ rules that de-optimize programs by introducing+ abstraction. For a model compiler we prove that any+ sequence of de-optimizing rewrite rule applications+ is undone by the optimizer. Thus, we are able to+ give programmers a clear mental model of what+ simplifications the compiler is guaranteed to+ perform, and make progress on the problem of+ ``abstraction penalty'' in imperative languages."+}++@Article{Ershov1977PartialComputation,+ author = {Andrei Ershov},+ title = { On the partial computation principle},+ journal = {Information Processing Letters},+ year = 1977,+ volume = 6,+ number = 2,+ pages = {38--41}+}++@mastersthesis{ Whaley1999Thesis,+ author = "John Whaley",+ title = "Dynamic Optimization through the use of Automatic+ Runtime Specialization",+ school = "Massachusetts Institute of Technology",+ month = may,+ year = 1999,+}++@phdthesis{Ljunglof2002licthesis,+ author = {Peter Ljungl{\"o}f},+ month = apr,+ school = {Department of Computer Science, Gothenburg+ University and Chalmers University of Technology},+ title = {Pure Functional Parsing -- an advanced tutorial},+ type = {Licenciate Thesis},+ year = 2002+}++@Article{Erwig2001InductiveGraphs,+ author = {Martin Erwig},+ title = {Inductive Graphs and Functional Graph Algorithms},+ journal = {Journal of Functional Programming},+ year = 2001,+ volume = 11,+ number = 5,+ pages = {467--492}+}++@MastersThesis{Boehm2007AutomaticCodeGeneration,+ author = {Igor B{\"o}hm},+ title = {Automatic Code Generation using Dynamic Programming+ Techniques},+ school = {Johannes Kepler Universit{\"a}t Linz},+ year = 2007+}++@article{Poletto1999LinScanRegAlloc,+ author = {Massimiliano Poletto and Vivek Sarkar},+ title = {Linear scan register allocation},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = {21},+ number = {5},+ year = {1999},+ issn = {0164-0925},+ pages = {895--913},+ doi = {http://doi.acm.org/10.1145/330249.330250},+ publisher = {ACM},+ address = {New York, NY, USA},+ }++@Article{Sagonas2003LinScanRegAlloc,+ author = {Konstantinos Sagonas and Erik Stenman},+ title = {Experimental evaluation and improvements to linear+ scan register allocation},+ journal = {Software: Practice and Experience},+ year = 2003,+ volume = 33,+ number = 11,+ pages = {1003--1034}+}++@InProceedings{Moessenboeck2002LinScanRegAllocSSA,+ author = {Hanspeter M{\"o}ssenb{\"o}ck and Michael Pfeiffer},+ title = {Linear Scan Register Allocation in the Context of+ SSA Form and Register Constraints},+ booktitle = {Compiler Construction},+ pages = {153-206},+ year = 2002,+ volume = 2304,+ series = LNCS,+ publisher = SV+}+++@article{Fraser1992BURG,+ author = {Christopher W. Fraser and Robert R. Henry and Todd+ A. Proebsting},+ title = {BURG: fast optimal instruction selection and tree+ parsing},+ journal = {SIGPLAN Notices},+ volume = 27,+ number = 4,+ year = 1992,+ issn = {0362-1340},+ pages = {68--76},+ doi = {http://doi.acm.org/10.1145/131080.131089},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Chaitin1982RegisterAllocation,+ author = {G. J. Chaitin},+ title = {Register allocation \& spilling via graph coloring},+ booktitle = {SIGPLAN '82: Proceedings of the 1982 SIGPLAN+ Symposium on Compiler Construction},+ year = 1982,+ isbn = {0-89791-074-5},+ pages = {98--105},+ location = {Boston, Massachusetts, United States},+ doi = {http://doi.acm.org/10.1145/800230.806984},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Proebsting1995BURSAutomataGeneration,+ author = {Todd A. Proebsting},+ title = {BURS automata generation},+ journal = {ACM Trans. Program. Lang. Syst.},+ volume = 17,+ number = 3,+ year = 1995,+ issn = {0164-0925},+ pages = {461--486},+ doi = {http://doi.acm.org/10.1145/203095.203098},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Fraser1992EngineeringCodeGenGen,+ author = {Christopher W. Fraser and David R. Hanson and Todd+ A. Proebsting},+ title = {Engineering a simple, efficient code-generator+ generator},+ journal = {ACM Lett. Program. Lang. Syst.},+ volume = 1,+ number = 3,+ year = 1992,+ issn = {1057-4514},+ pages = {213--226},+ doi = {http://doi.acm.org/10.1145/151640.151642},+ publisher = ACM,+ address = {New York, NY, USA},+}++@incollection{Malmqvist1996RTCG,+ author = "Markus Malmqvist and Tero Hasu",+ title = "Runtime Code Generation",+ booktitle = {Seminar on Mobile Code},+ publisher = {Helsinki University of Technology, Department of+ Computer Science},+ month = May,+ year = 1996,+ series = {TKO-C79}+}++@phdthesis{Heeren2005TopQualityTypeErrorMessages,+ author = {Bastiaan J. Heeren},+ school = {Universiteit Utrecht, The Netherlands},+ title = {Top Quality Type Error Messages},+ year = 2005,+ month = sep,+ url = {\url{http://www.cs.uu.nl/people/bastiaan/phdthesis}},+}++@InProceedings{Hallet2005ExPolyRec,+ author = {J.J. Hallett and A.J. Kfoury},+ title = {Programming Examples Needing Polymorphic Recursion},+ booktitle = {Proceedings of the Third International Workshop on+ Intersection Types and Related Systems (ITRS 2004)},+ pages = {57-102},+ year = 2005,+ volume = 136,+ series = {Electronic Notes in Theoretical Computer Science}+}++@InProceedings{Leermakers1991RecursiveAscent,+ author = {Renee Leermakers},+ title = {Non-Deterministic Recursive Ascent Parsing},+ booktitle = {1991 conference on European chapter of the+ Association for Computational Linguistics},+ year = 1991+}++@TechReport{Gal2006Incremental,+ author = {A. Gal and M. Franz},+ title = {Incremental Dynamic Code Generation with Trace+ Trees},+ institution = {Donald Bren School of Information and Computer+ Science, University of California, Irvine},+ year = 2006,+ number = {06-16}+}++@inproceedings{Ronne2004InterpretingSSA,+ author = {{Jeffery von} Ronne and Ning Wang and Michael Franz},+ title = {Interpreting programs in static single assignment+ form},+ booktitle = {IVME '04: Proceedings of the 2004 workshop on+ Interpreters, virtual machines and emulators},+ year = 2004,+ isbn = {1-58113-909-8},+ pages = {23--30},+ location = {Washington, D.C.},+ doi = {http://doi.acm.org/10.1145/1059579.1059585},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Zhou2005PlanningCodeBuffer,+ author = {Shukang Zhou and Bruce R. Childers and Mary Lou+ Soffa},+ title = {Planning for code buffer management in distributed+ virtual execution environments},+ booktitle = {VEE '05: Proceedings of the 1st ACM/USENIX+ international conference on Virtual execution+ environments},+ year = 2005,+ isbn = {1-59593-047-7},+ pages = {100--109},+ location = {Chicago, IL, USA},+ doi = {http://doi.acm.org/10.1145/1064979.1064994},+ publisher = ACM,+ address = {New York, NY, USA},+}++@inproceedings{Lerner2002ComposingDataflow,+ author = {Sorin Lerner and David Grove and Craig Chambers},+ title = {Composing dataflow analyses and transformations},+ booktitle = {POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT+ symposium on Principles of programming languages},+ year = 2002,+ isbn = {1-58113-450-9},+ pages = {270--282},+ location = {Portland, Oregon},+ doi = {http://doi.acm.org/10.1145/503272.503298},+ publisher = ACM,+ address = {New York, NY, USA},+}++@article{Click1993SimpleGraphBased,+ author = {Cliff Click and Michael Paleczny},+ title = {A simple graph-based intermediate representation},+ journal = {SIGPLAN Not.},+ volume = 30,+ number = 3,+ year = 1993,+ issn = {0362-1340},+ pages = {35--49},+ doi = {http://doi.acm.org/10.1145/202530.202534},+ publisher = ACM,+ address = {New York, NY, USA},+}++@InProceedings{Chakravarty2008PartialVectorisation,+ author = {Manuel M. T. Chakravarty and Roman Leshchinskiy and+ Simon {Peyton Jones} and Gabriele Keller},+ title = {Partial vectorisation of Haskell programs},+ booktitle = {Proc ACM Workshop on Declarative Aspects of+ Multicore Programming},+ year = 2008,+ month = jan+}++@article{McCarthy1960RecursiveFunctions,+ author = {John McCarthy},+ title = {Recursive functions of symbolic expressions and+ their computation by machine, {Part I}},+ journal = CACM,+ volume = 3,+ number = 4,+ year = 1960,+ issn = {0001-0782},+ pages = {184--195},+ doi = {http://doi.acm.org/10.1145/367177.367199},+ publisher = ACM,+ address = {New York, NY, USA},+}+
+ changelog.txt view
@@ -0,0 +1,5 @@+0.1.0.1+- Added bibliography.bib and changelog.txt to the tarball.++0.1.0.0+- Initial version.