Journals, books, and series @String{AI = "Artificial Intelligence"} @String{Acta = "Acta Informatica"} @String{CACM = "Communications of the {ACM}"} @String{CJ = "Computer Journal"} @String{ESOP = "European Symposium on Programming"} @String{FPCA = "International Conf. on Functional Programming Languages and Computer Architecture"} @String{IFIP = "IFIP World Congress Proceedings"} @String{IPL = "Information Processing Letters"} @String{JACM = "Journal of the {ACM}"} @String{JCSS = "Journal of Computer and System Sciences"} @String{JFP = "Journal of Functional Programming"} @String{JSC = "Journal of Symbolic Computation"} @String{JTASPEFL = "Analyse Statique en Programmation {\'E}quationnelle, Fonctionnelle, et Logique, Bordeaux, France, Octobre 1991 (Bigre, vol. 74)"} @String{LASC = "{LISP} and Symbolic Computation"} @String{LFP = "{ACM} Conf. on {LISP} and Functional Programming"} @String{LICS = "{IEEE} Symposium on Logic in Computer Science"} @String{LNCS = "LNCS"} @String{MFCS = "Mathematical Foundations of Computer Science"} @String{MFPLS = "Mathematical Foundations of Programming Language Semantics"} @String{NGC = "New Generation Computing"} @String{PEMC = "Partial Evaluation and Mixed Computation"} @String{PEPM91 = "Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991)"} @String{PEPM92 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report {YALEU/DCS/RR}-909)"} @String{PEPM93 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Copenhagen, Denmark, June 1993"} @String{PEPM94 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Orlando, Florida, June 1994 (Technical Report 94/9, Department of Computer Science, University of Melbourne)"} @String{PDO = "Programs as Data Objects, Copenhagen, Denmark (Lecture Notes in Computer Science, vol. 217)"} @String{POPL = "ACM Symposium on Principles of Programming Languages"} @String{SCP = "Science of Computer Programming"} @String{SIGPLAN = "Sigplan Notices"} @String{SMD = "Soviet Mathematics Doklady"} @String{SPE = "Software -- Practice and Experience"} @String{TCS = "Theoretical Computer Science"} @String{TOPLAS = "ACM Transactions on Programming Languages and Systems"} @String{TSE = "IEEE Transactions on Software Engineering"} @String{WSA92 = "WSA '92, Static Analysis, Bordeaux, France, September 1992. Bigre vols 81--82, 1992"} Publishers @String{ACM = "ACM Press"} @String{A-W = "Addison-Wesley"} @String{AP = "Academic Press"} @String{CSP = "Computer Science Press"} @String{CUP = "Cambridge University Press"} @String{CUPtracts = "Cambridge Tracts in Theoretical Computer Science"} @String{IEEE = "IEEE"} @String{IEEECSP = "IEEE Computer Society"} @String{ISO = "ISO"} @String{JWS = "John Wiley \& Sons"} @String{MIT = "MIT Press"} @String{N-H = "North-Holland"} @String{OUP = "Oxford University Press"} @String{P-H = "Prentice Hall"} @String{S-V = "Springer-Verlag"} @String{SL = "Studentlitteratur"} @String{WHF = "W.H. Freeman"} @String{Yale = "Yale University"} Institutions and people @String{BEJ = "D. Bj{\o}rner and A.P. Ershov and N.D. Jones"} @String{CCN = "Computing Center"} @String{CTH = "Chalmers University of Technology"} @String{DIKU = "DIKU, University of Copenhagen, Denmark"} @String{IDDTH = "Department of Computer Science, Technical University of Denmark"} @String{ISI = "Informatics Systems Institute, Novosibirsk, USSR"} @String{PMG = "Programming Methodology Group, Chalmers University of Technology"} @String{PROCOS = "ProCoS II, ESPRIT BRA 7071"} @String{UPMAIL = "UPMAIL, Uppsala University, Sweden"} From: James Hook -- bibliography data base First some helpfull abbreviations. These should eventually become standard: @String { TAMS = "Transactions of the American Mathematical Society"} @String { LNM = "Lecture Notes in Mathematics"} @String { TSE = "IEEE Transactions on Software Engineering" } @string{lncs = "Lecture Notes in Computer Science"} @string{LNCS = "Lecture Notes in Computer Science"} @string{nh = "North-Holland"} @string{sv = "Springer-Verlag"} @string{aw = "Addison-Wesley"} @string{ab = "Allyn and Bacon"} @string{ph = "Prentice-Hall"} I am assuming that the names of POPL Conf.s are as regular as they appear. @String{ POPL19 ="Conf. Record of the Nineteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL18 ="Conf. Record of the Eighteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL17 ="Conf. Record of the Seventeenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL16 ="Conf. Record of the Sixteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL15 ="Conf. Record of the Fifteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL14 ="Conf. Record of the Fourteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL13 ="Conf. Record of the Thirteenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL12 ="Conf. Record of the Twelfth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL11 ="Conf. Record of the Eleventh Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL10 ="Conf. Record of the Tenth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL9 ="Conf. Record of the Ninth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL8 ="Conf. Record of the Eigth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL7 ="Conf. Record of the Seventh Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL6 ="Conf. Record of the Sixth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL5 ="Conf. Record of the Fifth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL4 ="Conf. Record of the Fourth Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL3 ="Conf. Record of the Third Annual ACM Symp. on Principles of Programming Languages" } @String{ POPL2 ="Conf. Record of the Second Annual ACM Symp. on Principles of Programming Languages" } @String{CuCS = "Cornell University, Department of Computer Science"} @String{DECSRC = "Digital Equipment Corporation, Systems Research Center"} @String{SRICSL = "SRI International, Computer Science Laboratory"} @String{ORA = "Odyssey Research Associates"} @String{LFCS = "Laboratory for the Foundations of Computer Science, Dept. of Computer Science, University of Edinburgh"} @String{OGICSE = "Oregon Grad. Inst."} @MISC{KirchnerKirchner-greco-98, AUTHOR = {Kirchner, Claude and Kirchner, H\'{e}l\`{e}ne}, TITLE = {Rewriting, Solving, Proving}, HOWPUBLISHED = {Notes de cours de l'\'{e}cole jeunes chercheurs en programmation}, year = 1998, ADDRESS = {Nantes (France)}} @Article{Nielson:1988:TSC, author = "Flemming Nielson and Hanne Riis Nielson", title = "Two-level semantics and code generation", journal = "Theoretical Computer Science", volume = "56", number = "1", pages = "59--133", year = 1988, coden = "TCSCDI", ISSN = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors)", corpsource = "Dept. of Comput. Sci., Tech. Univ. of Denmark, Lyngby, Denmark", keywords = "activation records; code generation; compile-time; correctness; data flow analysis; Kripke-like relations; Pascal-like languages; program compilers; program verification; programming theory; run-time; stack-machine; syntactic restrictions; two-level denotational metalanguage; two-level semantics", pubcountry = "Netherlands A04", treatment = "T Theoretical or Mathematical", } @InProceedings{MTBS99, author = "Eugenio Moggi and Walid Taha and Zine El-Abidine Benaissa and Tim Sheard", title = "An Idealized {M}eta{ML}: Simpler, and More Expressive", booktitle = "European Symposium on Programming {(ESOP)}", pages = "193--207", year = 1999, volume = 1576, series = LNCS, publisher = "Springer-Verlag", OPTnote = "An extended version appears in \cite{MTBS98TR}", } @InProceedings{Flanagan99, author = "Cormac Flanagan and Mart{\'\i}n Abadi", title = "Types for Safe Locking", booktitle = "European Symposium on Programming {(ESOP)}", volume = "1576", series = LNCS, publisher = "Springer-Verlag", pages = "91--108", year = "1999", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Tue Sep 14 06:09:05 MDT 1999", acknowledgement = ack-nhfb, keywords = "ESOP; ETAPS; programming; software", } @inproceedings{scp91-felleisen, author = "Matthias Felleisen", year = "1991", booktitle = "Science of Computer Programming", volume = "17", pages = "35-75", note = "Preliminary version in: {\it Proc. European Symposium on Programming}, Lecture Notes in Computer Science, 432. Springer-Verlag (1990), 134--151.", title = "On the Expressive Power of Programming Languages" } @InProceedings{Thiemann99, author = "Peter Thiemann", title = "Higher-Order Code Splicing", booktitle = "European Symposium on Programming (ESOP)", OPTcrossref = {}, OPTkey = {}, year = 1999, OPTeditor = {}, volume = 1576, OPTnumber = {}, series = LNCS, OPTaddress = {}, OPTorganization = {}, publisher = "Springer-Verlag", OPTannote = {} } @TechReport{MTBS98TR, author = "Eugenio Moggi and Walid Taha and Zine El-Abidine Benaissa and Tim Sheard", title = "An Idealized {M}eta{ML}: Simpler, and More Expressive (Includes Proofs)", institution = "OGI", year = 1998, OPTkey = {}, OPTtype = {}, number = "CSE-98-017", note = "Available from \cite{ogi-tr-site}" } @Article{Moggi:91, Author={Moggi, Eugenio}, Title={Notions of Computation and Monads}, Journal={Information and Computation}, Volume=93, Number=1, Year=1991} @InProceedings{Moggi:98, Author={Moggi, Eugenio}, Title={Functor Categories and two-level Languages}, Booktitle={Foundations of Software Science and Computation Structures {(FoSSaCS)}}, Volume=1378, Series=LNCS, Publisher={Springer Verlag}, Year=1998} @InProceedings{Wickline:98, title = "Run-time Code Generation and {Modal-ML}", author = "Philip Wickline and Peter Lee and Frank Pfenning", booktitle = "Proc. Conf. on Programming Language Design and Implementation ({PLDI})", address = "Montreal", pages = "224--235", year = 1998, references = "\cite{PLDI::AuslanderPCEB1996} \cite{POPL::ConselN1996} \cite{SCP::cousineauCM1987} \cite{LICS::Davies1996} \cite{POPL::DaviesP1996} \cite{POPL::EnglerHK996} \cite{POPL::JorringS1986} \cite{PLDI::LeeL1996} \cite{ACMCS::LeoneL1998} \cite{SPE::PikeLR1985} \cite{ACMCS::WicklineLPD1998}", } @InCollection{Barendregt91, author = "Henk P. Barendregt", title = "Lambda Calculi with Types", year = 1991, booktitle = "Handbook of Logic in Computer Science", editor = "S. Abramsky and D. M. Gabbay and T. S. E. Maibaum", publisher = "Oxford University Press", address = "Oxford", } @Book{Hindley97, author = "J. Roger Hindley", title = "Basic Simple Type Theory", publisher = CUP, year = 1997, key = "Hindley", volume = 42, series = CUPtracts, address = "Cambridge", annote = "Many references.", } @Article{Kohlbecker:86, author = "Eugene E. Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce Duba", year = "1986", journal = "{ACM} Conf. on {LISP} and Functional Programming", pages = "151--161", title = "Hygienic macro expansion", } @InProceedings{lfp86*151, author = "Eugene Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce Duba", title = "Hygienic Macro Expansion", pages = "151--181", ISBN = "0-89791-200-4", editor = "Richard P. Gabriel", booktitle = "Proc. {ACM} Conf. on {LISP} and Functional Programming", address = "Cambridge, MA", month = aug, year = "1986", publisher = "ACM Press", } @Article{purelyFunctional, author = "Amr Sabry", title = "What is a Purely Functional Language?", journal = jfp, year = 1998, volume = "8", number = "1", pages = "1-22", month = jan } @InProceedings{impcbneed, author = "Zena M. Ariola and Amr Sabry", title = "Correctness of Monadic State: An Imperative Call-by-Need Calculus", booktitle = popl, year = 1998, publisher = acm, pages = "62-74" } @InProceedings{erkok-launchbury, author = "Levent {Erk\"{o}k} and John Launchbury", title = "Recursive Monadic Bindings", booktitle = "Proc. Fifth {ACM} {SIGPLAN} International Conf. on Functional Programming, {ICFP'00}", year = "2000", month = "September", ISBN = "1-58113-202-6", pages = "174--185", publisher = "ACM Press", } @InProceedings{Steele:93, author = "Guy L. {Steele, Jr.} and Richard P. Gabriel", title = "The Evolution of {LISP}", pages = "231--270", ISBN = "0-89791-570-4", editor = "Richard L. Wexelblat", booktitle = "Proc. Conf. on History of Programming Languages", series = "ACM Sigplan Notices", volume = "28(3)", publisher = ACM, address = "New York", year = 1993, } @Article{Nielson:1989:TSA, author = "Flemming Nielson", title = "Two-level semantics and abstract interpretation", journal = "Theoretical Computer Science", volume = "69", number = "2", pages = "117--242", day = "11", year = 1989, coden = "TCSCDI", ISSN = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)", corpsource = "Dept. of Comput. Sci., Tech. Univ. of Denmark, Lyngby, Denmark", keywords = "abstract interpretation; binding time; collecting semantics; compile-time; correctness; data flow analysis; denotational semantics; implementable analysis; most precise analysis; partial evaluation; program analysis; program verification; run-time; static semantics", pubcountry = "Netherlands", treatment = "B Bibliography; P Practical; T Theoretical or Mathematical", } @Book{Barwise:78:Kleene, author = "J. Barwise and H. J. Keisler and K. Kunen (Editors)", title = "The Kleene Symposium", publisher = "North-Holland", year = 1978, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, number = 101, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @InProceedings{Bondorf:92, author = "Anders Bondorf", title = "Improving binding times without explicit {CPS}-conversion", booktitle = "1992 ACM Conf. on Lisp and Functional Programming. San Francisco, California", year = 1992, pages = "1--10", summary = "Binding times are improved by transforming a specializer written in continuation passing style. The improvements enable straightforward safe treatment of partially static data structures.", keywords = "partial evaluation, context propagation, continuations, frozen expressions, generating extensions, dynamic choice of static values, Similix", } @PhdThesis{Bondorf90, author = "Anders Bondorf", title = "Self-{A}pplicable {P}artial {E}valuation", school = "University of Copenhagen", year = 1990, OPTkey = {}, OPTaddress = {}, OPTtype = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Bondorf:89:ASelf-Applicable, author = "Anders Bondorf", title = "A Self-Applicable Partial Evaluator for Term Rewriting Systems", booktitle = "TAPSOFT '89. Proc. International Conf. Theory and Practice of Software Development, Barcelona, Spain. (Lecture Notes in Computer Science, Vol. 352)", editor = "J. Diaz and F. Orejas", publisher = S-V, pages = "81--95", year = "1989", semno = "D-4", summary = "A self-applicable partial evaluator for restricted call-by-value term rewriting systems is described. The problem of partially evaluating pattern matching is solved by translating patterns into decision trees.", keywords = "self-application, partial evaluation, term rewriting systems", } @Misc{ogi-tr-site, key = "Oregon Gradute Institute", OPTauthor = {}, title = "{O}regon {G}raduate {I}nstitute {T}echnical {R}eports. {P.O. Box 91000, Portland, OR 97291-1000,USA.}", howpublished = "Available online from \fr{ftp://cse.ogi.edu/pub/tech-reports/README.html}", OPTyear = {}, note = "Last viewed August 1999", OPTannote = {}, } @Misc{PhD, key = "{Resources for PhD Students}", OPTauthor = {}, title = "{Resources for PhD Students}", howpublished = "Available online from \fr{http://www.cs.rice.edu/~taha/phd-reading.html}", year = 2003, OPTnote = "", OPTannote = {}, } @Misc{MetaOCaml, key = "{MetaOCaml} Homepage", title = "{M}eta{OC}aml: A Compiled, Type-safe Multi-stage Programming Language", howpublished = "Available online from \fr{http://www.cs.rice.edu/~taha/MetaOCaml/}", year = 2001, OPTnote = "", OPTannote = {}, } @Misc{LVFPGA, key = "{LabVIEW FPGA Module}", author = "{National Instruments}", title = "{LabVIEW FPGA Module}" , howpublished = "Available online from \fr{http://sine.ni.com/apps/we/nioc.vp?cid=11784\&lang=US}", year = 2003, } @Misc{LVRT, key = "{Introduction to LabVIEW Real-Time}", author = "{National Instruments}", title = "{Introduction to LabVIEW Real-Time}" , howpublished = "Available online from \fr{http://volt.ni.com/niwc/labviewrt/lvrt\_intro.jsp?node=2381\&node=2381}", year = 2003, OPTnote = "", OPTannote = {}, } @Misc{TwelfOnline, key = "{Twelf} Homepage", OPTauthor = {}, title = "{Twelf}: A Meta-Logical Framework", howpublished = "Available online from \fr{http://www.twelf.org}", year = 2001, OPTnote = "", OPTannote = {} } @TechReport{BMTS98TR, author = "Zine El-Abidine Benaissa and Eugenio Moggi and Walid Taha and Tim Sheard", title = "A Categorical Analysis of Multi-Level Languages (Extended Abstract)", institution = "Department of Computer Science, Oregon Graduate Institute", year = 1998, OPTkey = {}, OPTtype = {}, number = "CSE-98-018", note = "Available from \cite{ogi-tr-site}", OPTannote = {} } @InProceedings{BMTS99, author = "Zine El-Abidine Benaissa and Eugenio Moggi and Walid Taha and Tim Sheard", title = "Logical Modalities and Multi-Stage Programming", booktitle = "Federated Logic Conf. ({FLoC}) Satellite Workshop on Intuitionistic Modal Logics and Applications ({IMLA})", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1999, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, OPTpages = {}, OPTannote = {} } @TechReport{TS99TR, author = "Walid Taha and Tim Sheard", title = "{MetaML} and Multi-Stage Programming with Explicit Annotations", institution = "Department of Computer Science, Oregon Graduate Institute", year = 1999, OPTkey = {}, OPTtype = {}, number = "CSE-99-007", note = "Extended version of \cite{TS97}. Available from \cite{ogi-tr-site}", OPTannote = {} } @Book{Boerger:89:Computability, author = "E. Boerger", title = "Computability", publisher = "North-Holland", year = 1989, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, number = 128, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @TechReport{AITR1427, address = MITad, keywords = "reflection, matching, equiation, reification, higher-order", year = 1993, pages = "180", author = "Guillermo J. Rozas", title = "Translucent Procedures, Abstraction without Opacity", contract = "N00014-92-J-4097, MIP-9001651", number = "AI TR 1427", abstract = "This report introduces TRANSLUCENT PROCEDURES as a new mechanism for implementing behavioral abstractions. Like an ordinary procedure, a translucent procedure can be invoked, and thus provides an obvious way to capture a BEHAVIOR. Translucent procedures, like ordinary procedures, can be manipulated as first-class objects and combined using functional composition. But unlike ordinary procedures, translucent procedures have structure that can be examined in well-specified non-destructive ways, without invoking the procedure.", institution = MIT, url = "ftp://publications.ai.mit.edu/ai-publications/1993/AITR-1427.ps.Z", } @TechReport{AITR901, address = MITad, keywords = "knowledge representation, representation languages, meta-representation, reflection, artificial intelligence, AI languages, RLL", year = 1986, pages = "95", author = "Kenneth W. {Haase and Jr.}", title = "{ARLO}: Another Representation Language Offer", number = "AI TR 901", institution = MIT, } @Misc{Amphion:Page, OPTkey = {}, OPTauthor = {}, title = "Amphion Home Page", OPThowpublished = {}, OPTyear = {}, note = "\mc{http://ic-www.arc.nasa.gov/ic/projects/amphion/}", } @Unpublished{Appel:88:Reopening, author = "Andrew W. Appel", title = "Re-opening Closures", note = "(Unpublished manuscript)", OPTkey = {}, year = 1988, } @Book{Appel:92:Compiling, author = "Andrew W. Appel", title = "Compiling with Continuations", publisher = "Cambridge University Press", year = 1992, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, OPTannote = {} } @Book{vanHeijenoort:1977, editor = "J. van Heijenoort", title = "From Frege to Goedel, a Source Book in Mathematical Logic, 1879-1931", edition = "3", publisher = "Harvard University Press", address = "Cambridge", year = 1977, ISBN = "0-674-32449-8", descriptor = "Mathematische Logik", annote = "Eine Auswahl klassischer Arbeiten auf dem Gebiet der mathematischen Logik", } @InProceedings{Thiemann:96:Full, author = "Peter Thiemann", title = "Towards Partial Evaluation of Full {S}cheme", pages = "95--106", booktitle = "Reflection'96", year = 1996, editor = "Gregor Kiczales", address = "San Francisco", } @Book{Arnberg:87:Bilingually, author = "Lenore Arnber", title = "Raising Children Bilingually: The Pre-school Years", publisher = "Multilingual Matter", year = 1987, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, address = "Bank House, 8a Hill Road, Clevedon, Avon BS21 7HH, UK", OPTedition = {}, note = "ISBN 0-905028-70-8", } @TechReport{BOWEN81, key = "Bowen \& Kowalski", author = "K. A. Bowen and R. A. Kowalski", title = "Amalgamating Language and Meta-Language in Logic Programming", institution = "School of Computer and Information Science Syracuse University", year = 1981, keywords = "Foundations, theory manipulation; reflection", bibdate = "Tue Jul 5 11:21:16 1983", } @Book{Barendregt84, Author = "Henk P. Barendregt", Title = "The Lambda Calculus: Its Syntax and Semantics", Publisher = "North-Holland", Edition = "Revised", Address = "Amsterdam", Year = 1984, Series = "Studies in Logic and the Foundations of Mathematics", Volume = 103 } @PhDThesis{Bates79, Author = "Joseph L. Bates", Title = "A Logic for Correct Program Development", School = "Cornell University", Address = "Ithaca", Year = 1979 } @TechReport{Bates86, Author = "Joseph L. Bates", Title = "***GET REF from TANYA***", Institution = CUCS, Year = 1985, Number = "TR 85--684", Address = "Ithaca" } @InProceedings{Batory:94:Reengineering, author = "Don Batory and Jeff Thomas and Marty Sirkin", title = "Reengineering a Complex Application Using a Scalable Data Structure Compiler", booktitle = " Proc. ACM SIGSOFT '94 Conf.", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1994, OPTorganization = {}, OPTpublisher = {}, address = "New Orleans", OPTpages = {}, OPTnote = {}, } Bibliography on sources for partial eval examples BibTeX format). Mostly based on bib on PE by Peter Sestoft. (The annotations have all been added locally, though). The collections is mainly of papers containing concrete examples of partial evaluation, in addition to a few significant papers in partial evaluation and reflection. Author: Walid Taha. Last update: Wed Dec 20 15:06:49 PST 1995 NB: This file needs the file abbreviations.bib. (Also extracted from the bib by Peter Sestoft.) @InProceedings{Bawden:acm:lfp:1988, author = "Alan Bawden", title = "Reification without Evaluation", crossref = "acm:lfp:1988", pages = "342--351", refs = "7", checked = "19940504", source = "dept. library", keywords = "reification, reflection, Scheme, source", abstract = "Constructing self-referential systems, such as Brian Smith's 3-Lisp language, is actually more straightforward than you think. Anyone can build an infinite tower of processors (where each processor implements the processor at the next level below) by employing some common sense and one simple trick. In particular, it is {\em not} necessary to re-design quotation, take a stand on the relative merits of evaluation vs. normalization, or treat continuations as meta-level objects. This paper presents a simple programming language interpreter that illustrates how this can be done. By keeping its expression evaluator entirely separate from the mechanisms that implement its infinite tower, this interpreter avoids many troublesome aspects of previous self-referential programming languages. Given these basically straightforward techniques, processor towers might be easily constructed for a wide variety of systems to enable them to manipulate and reason about themselves.", sjb = "Amongst other things, describes how the two versions of \fr{call/cc} defined in~\cite{Wand:Friedman:acm:lfp:1986} are incorrect.", } @mastersthesis{Bell94, Author = "Jeffrey M. Bell", Title = "An Implementation of {Reynold's} Defunctionalization Method for a Modern Functional Language", School = ogicse, year = 1994 } @misc{Bell95a, author = "Jeffrey M. Bell", title = "{MTV-G} System Documentation", year = 1995, note = intooldocs } @misc{Bell95b, author = "Jeffrey M. Bell", title = "Lambda-Lifter Tool Documentation", year = 1995, note = intooldocs } @misc{Bell95c, author = "Jeffrey M. Bell", title = "Firstify Tool Documentation", year = 1995, note = intooldocs } @misc{Bell95d, author = "Jeffrey M. Bell", title = "{MTV-G} Test Case Generator Tool Documentation", year = 1995, note = intooldocs } @techreport{Bellegarde90, Author = {Francoise Bellegarde}, Title = {Program transformation and rewriting}, Institution = OGICSE, Number = "CSE-90-021", note = "Available from \cite{ogi-tr-site}", Year = 1990 } @techreport {Bellegarde94a, Author = "Fran\c{c}oise Bellegarde", Title = "Automatic Transformations by Rewriting Techniques", Institution = ogicse, Number = "CSE-94-009", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @techreport {Bellegarde94b, Author = "Fran\c{c}oise Bellegarde", Title = "A Transformation System Combining Partial Evaluation with Term Rewriting", Institution = ogicse, Number = "CSE-94-010", Year = 1994, note = "Available from \cite{ogi-tr-site}", } @techreport {Bellegarde94c, Author = "Fran\c{c}oise Bellegarde", Title = "Induction and Synthesis for Automatic Program Transformation", Institution = ogicse, Number = "CSE-94-022", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @techreport {Bellegarde94d, Author = "Fran\c{c}oise Bellegarde", Title = "Automating Synthesis by Completion", Institution = ogicse, Number = "CSE-94-020", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @misc{Bellegarde94e, author = "Fran\c{c}oise Bellegarde", title = "Astre: A Transformation System for First-Order Functional Programs", year = 1994 } @techreport {Bellegarde94f, Author = "Fran\c{c}oise Bellegarde", Title = "ASTRE: Towards A Fully Automated Program Transformation System", Institution = ogicse, Number = "CSE-94-027", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @techreport {Bellegarde94g, Author = "Fran\c{c}oise Bellegarde", Title = "Termination Issues in Automated Synthesis", Institution = ogicse, Number = "CSE-94-028", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @Article{Beraducci:Venturini:93, author = "Berarducci, A. and Venturini Zilli, M.", title = "Generalization of Unification", journal = JSC, year = 1993, OPTkey = {}, volume = 16, number = 5, pages = "478--492", note = {}, } @Article{Bird:84, author = "R. S. Bird", title = "The Promotion and Accumulation Strategies in Transformational Programming", journal = TOPLAS, year = 1984, OPTkey = {}, volume = 6, number = 4, pages = "487--504", note = {}, } @PHDTHESIS{Boehm84, AUTHOR = {Hans-Juergen Karl Hermann Boehm}, TITLE = {A Logic for the {Russell} Programming Language }, SCHOOL = {Cornell University}, YEAR = 1984, ADDRESS = "Ithaca", } @ARTICLE{Boehm87, AUTHOR = {Hans-Juergen Boehm}, TITLE = {Constructive Real Interpretation of Numerical Programs}, JOURNAL = {{SIGPLAN} Notices}, YEAR = 1987, VOLUME = {22}, NUMBER = {7}, PAGES = {214--221}, NOTE = {Proc. Symposium on Interpreters and Interpretive Techniques} } @Article{Boudet:93, author = "Alexandre Boudet", title = "Combining Unification Algorithms", journal = JSC, year = 1993, OPTkey = {}, volume = 16, number = 6, pages = "597--626", note = {}, } @Book{Bramer:Bramer:84, author = "Max Bramer and Dawn Bramer", title = "The Fifth Generation: An Annotated Bibliography", publisher = "Addison-Wesley Publishing Company", year = 1984, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, note = {}, } @Book{Bridges:94:Computability, author = "Douglas S. Bridges", title = "Computability: A Mathematical Sketchbook", publisher = "Springer-Verlag", year = 1994, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, series = "Graduate Texts in Mathematics", OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @article{Bruijn72, author = "Bruijn, N. G. de", title = "Lambda Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, with Application to the {Church-Rosser} Theorem", journal = "Indagaciones Mathematische", volume = 34, year = 1972, pages = "381--392", NOTE = {This also appeared in the Proc. Koninklijke Nederlandse Akademie van Wetenschappen, Amsterdam, series A, 75, No. 5} } @INPROCEEDINGS{Bruijn78, AUTHOR = {Bruijn, N. G. de}, TITLE = {Lambda calculus with namefree formulas involving symbols that represent reference transforming mappings}, BOOKTITLE = {Proc. Koninklijke Nederlandse Akaemie van Wetenschappen}, YEAR = 1978, PAGES = {348--356}, volume = 81, number = 3, Address = "Amsterdam", NOTE = {This paper was dedicated to A. Heyting at the occasion of his 80th birthday on May 9, 1978} } @InCollection{Bruijn80, Author = "Bruijn, N. G. de", Title = "A Survey of the Project {AUTOMATH}", BookTitle = "To {H.~B. Curry}: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. Roger Hindley", Publisher = "Academic Press", Address = "New York", Year = 1980 } @InCollection{Cardelli91, key = "Cardelli", author = "Luca Cardelli", title = "Typeful Programming", booktitle = "Formal Description of Programming Concepts", publisher = "Springer-Verlag", year = 1991, editor = "E. J. Neuhold and M. Paul", series = "IFIP State-of-the-Art Reports", pages = "431--507", address = "New York", annote = "ISBN 0-387-53961-1. 52 references.", } @Article{Lescanne96, title = "{$\lambda\nu$}, a calculus of explicit substitutions which preserves strong normalisation", author = "Zine-El-Abidine Benaissa and Daniel Briaud and Pierre Lescanne and Jocelyne Rouyer-Degli", pages = "699--722", journal = "Journal of Functional Programming", year = 1996, volume = "6", number = "5", } @InCollection{Cardelli97, author = "Cardelli, Luca", publisher = "CRC Press", title = "Type Systems", editor="{Tucker, Jr.}, Allen B.", booktitle = "The Computer Science and Engineering Handbook", year = 1997, } @TechReport{Cardelli86, Author = "Luca Cardelli", Title = "A Polymorphic lambda-calculus with Type:Type", Institution = DECSRC, Year = 1986, Address = "Palo Alto" } @MISC{Cardelli87pc, AUTHOR = {Luca Cardelli}, YEAR = 1987, NOTE = {Personal communication.} } @unpublished{Chin93, author = "Wei-Ngan Chin and John Darlington", title = "Higher-order removal: A modular approach", note = "Unpublished work", year = 1993 } @book{Church41, author = "Alonzo Church", title = "The Calculi of Lambda Conversion", publisher = "Princeton University Press", address = "Princeton", year = 1941 } @InProceedings{Consel:90:FromInterpreting, author = "Charles Consel and Olivier Danvy", title = "From Interpreting to Compiling Binding Times", booktitle = "ESOP '90. 3rd European Symposium on Programming, Copenhagen, Denmark, May 1990 (Lecture Notes in Computer Science, vol. 432)", year = 1990, editor = "N. Jones", pages = "88--105", publisher = S-V, note = "", } @Article{H98, author = "R.J.M. Hughes", title = "Type specialization", journal = "ACM Computing Surveys", volume = "30", number = "3es", year = "1998", coden = "CMSVAN", ISSN = "0360-0300", bibdate = "Mon Jan 4 05:41:38 MST 1999", acknowledgement = ack-nhfb, } @InProceedings{Consel:91:ForABetter, author = "Charles Consel and Olivier Danvy", title = "For a Better Support of Static Data Flow", booktitle = "Functional Programming Languages and Computer Architecture", year = 1991, editor = "R.J.M. Hughes", pages = "496--519", organization = ACM, series = LNCS, volume = 523, publisher = S-V, address = "Cambridge", note = "", } @Article{Hilbert:MathematicsProblems, author = "David Hilbert", title = "Mathematics Problems", journal = "Bulletin of the American Mathematical Society", year = 1901, OPTkey = {}, volume = "8", OPTnumber = {}, pages = "437--479", note = "Reproduced in \cite[Vol. I]{CampbellHiggins}", OPTannote = {} } @Proceedings{CampbellHiggins, title = "Mathematics: People. Problems. Results.", year = 1984, OPTkey = {}, editor = "Douglas M. Campbell and John C. Higgins", volume = "I-III", OPTnumber = {}, OPTseries = {}, publisher = "Wadsworth International", OPTorganization = {}, OPTaddress = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Consel:92:AProgramming, author = "Charles Consel and S. Pai", title = "A Programming Environment for Binding-Time Based Partial Evaluators", booktitle = PEPM92, publisher = Yale, year = 1992, pages = "62--66", note = "", } @InProceedings{Consel:93:ATour, author = "Charles Consel", title = "A Tour of Schism: {A} Partial Evaluation System for Higher-Order Applicative Languages", booktitle = PEPM93, year = 1993, pages = "145--154", publisher = ACM, note = "", } @InProceedings{Consel:93:IncrementalPartial, author = "Charles Consel and Calton Pu and Jonathan Walpole", title = "Incremental Partial Evaluation: The Key to High Performance, Modularity and Portability in {OP}erating Systems", booktitle = PEPM93, year = 1993, pages = "44--46", publisher = ACM, } @InProceedings{Consel:93:Tutorial, author = "Charles Consel and Olivier Danvy", title = "Tutorial Notes on Partial Evaluation", booktitle = POPL, OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1993, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, pages = "493--501", OPTnote = {}, } @TechReport{Constable85, Author = "Robert L. Constable", Title = "The Semantics of Evidence", Institution = CUCS, Year = 1985, Number = "85--684", Address = "Ithaca" } @phdthesis{Coquand85, Author = "Thierry Coquand", Title = "Une Th{\'e}orie des Constructions", Type = "Th{\`e}se de troisi{\`e}me cycle", School = "Universit{\'e} Paris VII", Year = 1985 } @InProceedings{Coquand86a, Author = "Thierry Coquand", Title = "An Analysis of {Girard's} Paradox", BookTitle = "Proc. Symposium on Logic in Computer Science", Publisher = "IEEE Computer Society Press", Address = "Washington", Year = 1986, pages = "227--236" } @unpublished{Coquand86b, author = "Thierry Coquand", title = "A Calculus of Constructions", note = "Privately circulated.", year = 1986 } @phdthesis{Daalen80, author = "Daalen, Diederik Ton von", title = "The Language Theory of {AUTOMATH}", school = "Technische Hogeschool Eindhoven", year = 1980 } @InProceedings{Danvy88, author = "Olivier Danvy", title = "Across the Bridge between Reflection and Partial Evaluation", booktitle = PEMC, OPTcrossref = {}, OPTkey = {}, editor = "D. Bjorner and A. P. Ershov and N. D. Jones" , OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1988, OPTorganization = {}, publisher = "North-Holland", OPTaddress = {}, pages = "83--116", note = "", } @InProceedings{Danvy:88:Intensions, author = "Olivier Danvy and Karoline Malmkj{\ae}r", title = "Intensions and Extensions in a Reflective Tower", booktitle = "Proc. 1988 ACM Conf. on {LISP} and Functional Programming", year = 1988, semno = "D-9", pages = "327--341", publisher = ACM, keywords = "reflective language, denotational semantics, intensions, extensions, Tower of Interpreters", } @TechReport{Danvy:95:EtaExpansion, author = "Olivier Danvy and Karoline Malmkjaer and Jens Palsberg", title = "Eta-Expansion Does The Trick", institution = "University of Aarhus", year = 1995, OPTkey = {}, OPTtype = {}, number = "RS-95-41", address = "Aarhus", OPTnote = {}, OPTannote = "[Work Extending (The Essence)]", } @ARTICLE{Danvy:95:TheEssence, author = "Olivier Danvy and Karoline Malmkjaer and Jens Palsberg", title = "The Essence of Eta-Expansion in Partial Evaluation", journal = "{LISP} and Symbolic Computation", year = 1995, OPTkey = {}, volume = 1, number = 19, OPTpages = {}, OPTnote = {}, } @InProceedings{Danvy:96:TypeDirected, author = "Olivier Danvy", title = "Type-Directed Partial Evaluation", booktitle = POPL, OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1996, organization = ACM, OPTpublisher = {}, address = "Florida", pages = "242--257", OPTnote = {}, } I am assuming that the names of POPL Conf.s are as regular as they appear. @String{ POPL17 ="Conf. Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL16 ="Conf. Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL15 ="Conf. Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL14 ="Conf. Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL13 ="Conf. Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL12 ="Conf. Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL11 ="Conf. Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL10 ="Conf. Record of the Tenth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL9 ="Conf. Record of the Ninth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL8 ="Conf. Record of the Eigth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL7 ="Conf. Record of the Seventh Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL6 ="Conf. Record of the Sixth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL5 ="Conf. Record of the Fifth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL4 ="Conf. Record of the Fourth Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL3 ="Conf. Record of the Third Annual ACM Symposium on Principles of Programming Languages" } @String{ POPL2 ="Conf. Record of the Second Annual ACM Symposium on Principles of Programming Languages" } @String{CuCS = "Cornell University, Department of Computer Science"} @String{DECSRC = "Digital Equipment Corporation, Systems Research Center"} @String{SRICSL = "SRI International, Computer Science Laboratory"} @String{ORA = "Odyssey Research Associates"} %GROUP(LICS87, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = {7--17}, PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} ) @INPROCEEDINGS{Amadio&86, AUTHOR = {Roberto Amadio and Kim B. Bruce and Giuseppe Longo}, TITLE = {The Finitary Projection Model of Second Order Lambda Calculus and Solutions to Higher Order Domain Equations}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = {7--17}, PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @Book{Davis:65:Undecidable, author = "Martin Davis (editor)" , title = "The Undecidable: Basic Papers On Undecidable Propositions, Unsolvable Problems, and Computable Functions", publisher = "Raven Press", year = 1965, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @Article{Dershowitz:85, author = "Nachum Dershowitz", title = "Program Abstraction and Instantiation", journal = TOPLAS, year = 1985, OPTkey = {}, volume = 7, number = 3, pages = "446--477", note = {}, } @Article{Dershowitz:85:Computing, author = "Nachum Dershowitz", title = "Computing with Rewrite Systems", journal = "Information and Control", year = 1985, OPTkey = {}, volume = 65, OPTnumber = {}, pages = "122--157", OPTnote = {}, } @TECHREPORT{Boehm&80, AUTHOR = {Hans-Juergen Boehm and Alan J. Demers and James E. Donahue}, TITLE = {An Informal Description of {Russell}}, INSTITUTION = CUCS, YEAR = 1980, NUMBER = {80--430}, ADDRESS = "Ithaca", Note = {Revision of \cite{Demers&80a}} } @BOOK{Dijkstra76, AUTHOR = {E. W. Dijkstra}, TITLE = {A Discipline of Programming}, PUBLISHER = {Prentice Hall}, YEAR = 1976, ADDRESS = "Englewood Cliffs" } @ARTICLE{Boehm&86a, AUTHOR = {Hans-Juergen Boehm and Alan J. Demers}, TITLE = {Implementing {Russell}}, JOURNAL = {{SIGPLAN} Notices}, YEAR = 1986, VOLUME = {21}, NUMBER = {7}, PAGES = {186--195}, NOTE = {Proc. symposium on compiler construction.} } @INPROCEEDINGS{Boehm&86b, AUTHOR = {Hans-Juergen Boehm and Robert Cartwright and Michael J. {O'Donnell} and Mark Riggle}, TITLE = {Exact Real Arithmetic: A Case Study in Higher Order Programming}, BOOKTITLE = {Proc. 1986 ACM Conf. on {LISP} and Functional Programming}, YEAR = 1986, PAGES = {162--173}, ORGANIZATION = {ACM} } @ARTICLE{Donahue79, AUTHOR = {James Donahue}, TITLE = {On the Semantics of ``Data Type''}, JOURNAL = sicomp, YEAR = 1979, VOLUME = {8}, NUMBER = {4}, PAGES = {546--560}, } @TECHREPORT{Boehm&85, AUTHOR = {Hans-Juergen Boehm and Alan J. Demers and James E. Donahue}, TITLE = {A Programmer's Introduction to Russell}, INSTITUTION = {Rice University}, YEAR = 1985, NUMBER = {85-16} } @INPROCEEDINGS{Breazu-Tannen&87a, AUTHOR = {Val Breazu-Tannen and Albert R. Meyer}, TITLE = {Computable Values Can Be Classical (Preliminary Report)}, BOOKTITLE = POPL14, YEAR = 1987, PAGES = {238--245}, ORGANIZATION = {ACM}, } @INPROCEEDINGS{Breazu-Tannen&87b, AUTHOR = {Val Breazu-Tannen and Albert R. Meyer}, TITLE = {Polymorphism is conservative over simple types (Preliminary Report) }, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = {7--17}, PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @Article{Donahue:Demmers:85, author = "James Donahue and Alan Demers", title = "Data Types are Values", journal = TOPLAS, year = 1985, OPTkey = {}, volume = 7, number = 3, pages = "426--445", note = {}, } @Article{Dougherty:Johann:92, author = "Daniel J. Dougherty and Patricia Johann", title = "An Improved General E-Unification Method", journal = JSC, year = 1992, OPTkey = {}, volume = 14, number = 4, pages = "303--320", note = {}, } @misc{ESC94, author = "Electronics Systems Center", title = "Statement of Work: Software Design for Reliability and Reuse (SDRR) Phase II Project", year = 1994 } @INPROCEEDINGS{Burstall&80, AUTHOR = {R. M. Burstall and J. A. Goguen}, TITLE = {The semantics of {Clear}, a specification language}, BOOKTITLE = {Proceedings of Advanced Course on Abstract Software Specifications}, YEAR = 1980, PAGES = {292--332}, PUBLISHER = {Springer-Verlag, Lecture Notes in Computer Science} } @InProceedings{Burstall&84, Author = "R. Burstall and B. Lampson", Title = "A Kernel Language for Abstract Data Types and Modules", BookTitle = "Semantics of Data Types, International Symposium, Sophia-Antipolis, France", Year = 1984, Editor = "G. Kahn and D.B. MacQueen and G. Plotkin", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 173 } @Book{Enderton:72:Logic, author = "Herbert B. Enderton", title = "A Mathematical Introduction to Logic", publisher = "Academic Press", year = 1972, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @Article{Feather:82, author = "Martin S. Feather", title = "A system for Assisting Program Transformation", journal = TOPLAS, year = 1982, OPTkey = {}, volume = 4, number = 1, pages = "1--20", note = {}, } @INPROCEEDINGS{Floyd67, AUTHOR = {R. Floyd}, TITLE = {Assigning meaning to programs}, BOOKTITLE = {Mathematical Asspects of Computer Science {XIX}}, YEAR = 1967, PAGES = "19--32", ORGANIZATION = {American Mathematical Society} } @article{Church&36, author = "Alonzo Church and {J. B.} Rosser", title = "Some Properties of Conversion", journal = "Transactions of the American Mathematical Society", volume = 39, year = 1936, pages = "472--482" } @BOOK{Clocksin, AUTHOR = {W. F. Clocksin and C. S. Mellish}, TITLE = {Programming in Prolog}, PUBLISHER = {Springer-Verlag}, YEAR = 1981 } @Article{Fradet:Metayer:91, author = "Pascal Fradet and Daniel Le Metayer", title = "Compilation of Functional Languages by Program Transformation", journal = TOPLAS, year = 1991, OPTkey = {}, volume = 13, number = 1, pages = "21--51", note = {}, } @INPROCEEDINGS{Constable&85a, AUTHOR = {Robert L. Constable and N. P. Mendlar}, TITLE = {Recursive Definitions in Type Theory}, BOOKTITLE = {Proceedings Logic of Programs, Lecture Notes in Computer Science Vol 193.}, YEAR = 1985, PUBLISHER = {Springer-Verlag} } @article{Constable&85b, author = "Robert L. Constable and Todd B. Knoblock and Joseph L. Bates", title = "Writing Programs that Construct Proofs", journal = "Journal of Automated Reasoning", volume = 1, year = 1985, pages = "285--326" } @InProceedings{hils:2000, author = {Erik Hilsdale and Daniel P. Friedman}, title = {Writing Macros in Continuation-passing Style}, booktitle = {Proc. Workshop on Scheme and Functional Programming}, pages = {53-60}, year = {2000}, month = sep, annote = {Rice University Technical Report 00-368} } @ARTICLE{Constable&84, AUTHOR = {Rober L. Constable and Daniel R. Zlatin}, TITLE = {The type theory of {PL/CV3}}, JOURNAL = toplas, YEAR = 1984, VOLUME = {7}, NUMBER = {1}, PAGES = {72--93} } @Book{Constable&86, Author = "Robert L. Constable and others", Title ="Implementing Mathematics with the Nuprl Proof Development System", Publisher = "Prentice Hall", Address = "Englewood Cliffs", Year = 1986 } @INPROCEEDINGS{Constable&87, AUTHOR = {Robert L. Constable and Scott Fraser Smith}, TITLE = {Partial Objects in Constructive Type Theory}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = "183--193", PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @unpublished{Coquand&84, author = "Thierry Coquand and G\'erard Huet", title = "A Theory of Constructions", note = "Presented at the International Symposium on Semantics of Data Types, {Sophia-Antipolis}", year = 1984 } @unpublished{Coquand&85, Author = "Thierry Coquand and G\'erard Huet", Title = "Concepts Math\'ematiques et Informatiques Formalis\'es dans le Calcul des Constructions", Note = "Colloque de Logique, Orsay (July 1985), North-Holland, forthcoming" } @inproceedings{Coquand&86, Author = "Thierry Coquand and G\'erard Huet", Title = "Constructions: A Higher Order Proof System for Mechanizing Mathematics", Booktitle = "EUROCAL85", Publisher = "Springer-Verlag", Address = "Berlin", Series = "Lecture Notes in Computer Science", Volume = 203, Year = 1986, pages = "151--184" } @Article{Freudenberged:83, author = "Stefan M. Freudenberger, Jacob THE. Schwartz and Micha Sharir", title = "Experience with the SETL Optimizer", journal = TOPLAS, year = 1983, OPTkey = {}, volume = 5, number = 1, pages = "26--45", note = {}, } @InProceedings{Friedman84a, author = "Daniel P. Friedman and Mitchell Wand", title = "Reification: Reflection Without Metaphysics", booktitle = "Conf. Record of the 1984 ACM Symposium on {LISP} and Functional Programming", pages = "348--355", address = "Austin", year = 1984, } @Article{Fuller:88:Mixed, author = "D. A. Fuller and S. Abramsky", title = "Mixed Computation of Prolog Programs", journal = "New Generation Computing", year = 1988, OPTkey = {}, volume = 6, number = "2,3", pages = "119--142", OPTnote = {}, } @misc{Cousineau&84, title = "The {ML} Handbook, version 6.1", author = "Guy Cousineau and G\'erard Huet and Larry Paulson", note = "INRIA memeographed manuscript." } @Book{Curry&58, Author = "H. B. Curry and R. Feys", Title = "Combinatory Logic", Volume = "I", Publisher = "North-Holland", Address = "Amsterdam", Year = 1958 } @Article{Futamura:71:PartialEvaluation, author = "Yoshihiko Futamura", title = "Partial Evaluation of Computation Process -- an Approach to a Compiler-Compiler", journal = "Systems, Computers and Control", year = 1971, OPTkey = {}, volume = 2, number = 5, pages = "45--50", note = "[Via \cite{Jones:95:TenYears}]", } @INPROCEEDINGS{Demers&78, AUTHOR = {Alan J. Demers and James E. Donahue and G. Skinner}, TITLE = {Data Types as Values: Polymorphism, Type-checking, Encapsulation}, BOOKTITLE = POPL5, YEAR = 1978, PAGES = "23--30", PUBLISHER = {{ACM}} } @TECHREPORT{Demers&79, AUTHOR = {Alan J. Demers and James E. Donahue}, TITLE = {Revised report on {Russell}}, INSTITUTION = CUCS, YEAR = 1979, NUMBER = {79--389}, ADDRESS = "Ithaca" } @TECHREPORT{Demers&80a, AUTHOR = {Alan J. Demers and James E. Donahue and Hans-Juergen Boehm}, TITLE = {An Informal Description of {Russell}}, INSTITUTION = CUCS, YEAR = 1980, NUMBER = {80--430}, ADDRESS = "Ithaca", Note = {Superceded by \cite{Boehm&80}, a revised version prepared September} } @TECHREPORT{Demers&80b, AUTHOR = {Alan J. Demers and James E. Donahue}, TITLE = {The Semantics of {Russell}: An Exercise in Abstract Data Types}, INSTITUTION = CUCS, YEAR = 1980, NUMBER = {80--431}, ADDRESS = "Ithaca" } @INPROCEEDINGS{Demers&80c, AUTHOR = {Alan J. Demers and James E. Donahue}, TITLE = {Data Types, Parameters and Type-Checking}, BOOKTITLE = POPL7, YEAR = 1980, PAGES = "12--23", ORGANIZATION = {{ACM}} } @INPROCEEDINGS{Demers&80d, AUTHOR = {Alan J. Demers and James E. Donahue}, TITLE = {Type Completeness as a Language Principle}, BOOKTITLE = POPL7, YEAR = 1980, PAGES = "234--244", ORGANIZATION = {{ACM}} } @INPROCEEDINGS{Demers&83, AUTHOR = {Alan J. Demers and James E. Donahue}, TITLE = {Making Variables Abstract: an Equational Theory for {Russell}}, BOOKTITLE = POPL10, INSTITUTION = CUCS, PAGES = "59--72", YEAR = 1983, } @InCollection{Futamura:82:PartialComputation, author = "Yoshihiko Futamura", title = "Partial Computation of Programs", booktitle = "RIMS Symposia on Software Science and Engineering", OPTcrossref = {}, OPTkey = {}, publisher = "Springer-Verlag", year = 1982, editor = "Eiichi Goto and Koichi Furukawa and Reiji Nakajima and Ikuo Nakata and Akinori Yonezawa", volume = 147, OPTnumber = {}, series = LNCS, OPTchapter = {}, OPTtype = {}, OPTaddress = {}, OPTedition = {}, pages = "1--31", OPTnote = {}, } @article{Gentzen34, author = "Gerhard Gentzen", title = "Untersuchungen {{\"u}ber} das logische {Schliessen}", journal = "Mathematische Zeitschrift", volume = 39, year = 1934, pages = "176--210, 405--431", note = "Translated in Sabo (ed.), {\em The Collected Papers of Gerhard Gentzen} as ``Investigations into Logical Deduction''" } @misc{Eichenlaub&88, Author = {Carl Eichenlaub and James Hook}, title = {Preliminary Manual for Theory Manager Interface}, note = {Odyssey Research Associates, internal report.}, year = 1988 } @incollection{Gentzen69, author = "Gerhard Gentzen", title = "Investigations into Logical Deduction", booktitle = "The Collected Papers of Gerhard Gentzen", editor = "M. E. Szabo", publisher = "North-Holland Publishing Company", address = "Amsterdam and London", year = 1969, pages = "68--131" } @Article{Fortune&83, Author = "Steven Fortune and Daniel Leivant and Michael {O'Donnell}", Title = "The Expressiveness of Simple and Second-Order Type Structures", Journal = JACM, Year = 1983, Volume = 30, pages = "151--185" } @INPROCEEDINGS{Futasugi&85, AUTHOR = {Kokichi Futasugi and Joseph A. Goguen and {Jean-Pierre} Jouannaud and {Jos\'e} Meseguer}, TITLE = {Principles of {OBJ2}}, BOOKTITLE = POPL12, YEAR = 1985, PAGES = "52--66", ORGANIZATION = {ACM}, } @InProceedings{Girard71, Author = "{J.-Y.} Girard", Title = "Une Extension de l'interpr{\'e}tation de {G\"odel} {\`a} {l'analyse}, et son application {\`a} {l'\'elimination} des coupures dans {l'analyse} et la {th\'eorie} des types", BookTitle = "Second Scandinavian Logic Symposium", Editor = "J. E. Fenstad", Publisher = "North-Holland", Address = "Amsterdam", Year = 1971, pages = "63--92" } @phdthesis{Girard72, Author = "{J.-Y.} Girard", Title = "Interpr{\'e}tation fonctionelle et {\'e}limination des coupures dans l'arithm{\'e}tique d'ordre sup{\'e}rieur", Type = "Th{\`e}se de Doctorat d'Etat" , School = "University of Paris {VII}", Year = 1972 } @Article{Gomard:92, author = "Carsten K. Gomard", title = "A Self-Applicable Partial Evaluator for the Lambda Calculus: Correctness and Pragmatics", journal = TOPLAS, year = 1992, OPTkey = {}, volume = 14, number = 2, pages = "147--172", note = {}, } @INPROCEEDINGS{Goguen&75, AUTHOR = {Joseph A. Goguen and James Thatcher and Eric Wagner and J.B. Wright }, TITLE = {Abstract Types as Initial Algebras and Correctness of Data Representations}, BOOKTITLE = {Proceedings from the Conf. on Computer Graphics, Pattern Recognition and Data Structures}, YEAR = 1975, PAGES = "89--93", ORGANIZATION = {ACM}, } @Article{Masini93, title = "2-{Sequent} Calculus: Intuitionism and Natural Deduction", author = "Masini, A.", journal = "Journal of Logic and Computation", year = 1993, volume = "3", number = "5" } @InCollection{Masini96, title = "A computational interpretation of modal proofs", booktitle = "Proof Theory of Modal Logic", author = "Martini, S. and Masini, A.", editor = "Wansing, H.", publisher = "Kluwer", year = 1996 } @InProceedings{Benton:1995:MLN, author = "Nick Benton", title = "A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models", series = LNCS, volume = "933", year = 1995, coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Sat May 11 13:45:32 MDT 1996", acknowledgement = ack-nhfb, } @InProceedings{GHJ:99, AUTHOR = {Gl{\"u}ck, Robert and Hatcliff, John and J{\o}rgensen, Jesper}, YEAR = 1999, TITLE = {Generalization in Hierarchies of Online Program Specialization Systems}, BOOKTITLE = {Logic-Based Program Synthesis and Transformation}, editor = {Flener, P.}, publisher = {Springer-Verlag}, series = {Lecture Notes in Computer Science}, volume = {1559}, pages = "179--198", keywords = {program transformation, metasystem transition, self-application, generalization, program specialization}, summary = {In recent work, we proposed a simple functional language S-graph-n to study meta-programming aspects of self-applicable online program specialization. The primitives of the language provide support for multiple encodings of programs. An important component of online program specialization is the termination strategy. In this paper we show that such a representation has the great advantage of simplifying generalization of multiply encoded data. We extend two basic methods to multiply encoded data: most specific generalization and the homeomorphic embedding relation. Examples illustrate their working in hierarchies of programs.}, supersedes = {}, SEMNO = {D-380}, PUF = {Artikel i proceedings (med censur)}, ID = {KonR} } @InProceedings{Lazysml98, author = "Philip Wadler and Walid Taha and David B. MacQueen", title = "How to add laziness to a strict language withouth even being odd", booktitle = "Proc. 1998 ACM Workshop on {ML}", address = "Baltimore", year = 1998, pages = "24--30", } @InProceedings{BW96, title = "Linear Logic, Monads and the Lambda Calculus", author = "Nick Benton and Phil Wadler", OPTpages = "420--431", booktitle = "the Symposium on Logic in Computer Science ({LICS} '96)", year = 1996, address = "New Brunswick", organization = "IEEE Computer Society Press", references = "\cite{JFP::AchtenP1995} \cite{IC::CroleP1992} \cite{TCS::Girard1987} \cite{LICS::LincolnM1992} \cite{IC::Moggi1991} \cite{TCS::Plotkin1975} \cite{MSCS::Wadler1992}", } @InSeries{Bierman:95, author = "G. M. Bierman", title = "What is a categorical model of intuitionistic linear logic?", series = LNCS, volume = "902", year = 1995, coden = "LNCSD9", ISSN = "0302-9743" } @TECHREPORT{Goguen&76, AUTHOR = {Joseph A. Goguen and James Thatcher and Eric Wagner}, TITLE = {An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types}, INSTITUTION = {IBM T.~J.~Watson Research Center}, YEAR = 1976, TYPE = {RC}, NUMBER = {6487}, NOTE = {Appears in {\em Current Trends in Programming Methodology, {IV}}, Raymond Yeh, Editor, Prentice-Hall, 1978, pages {80--149}} } @INCOLLECTION{Goguen&79, AUTHOR = {Joseph A. Goguen and J. Tardo}, TITLE = {An Introduction to {OBJ}: A Language for Writing and Testing Software}, BOOKTITLE = {Specification of Reliable Software}, PUBLISHER = {{IEEE} Press}, YEAR = 1979, PAGES = "170--189" } @ARTICLE{Goguen&82, AUTHOR = {Joseph A. Goguen and {Jos\'e} Meseguer}, TITLE = {Rapid Prototyping in the {OBJ} Executable Specification Language}, JOURNAL = {Software Engineering Notes}, YEAR = 1982, VOLUME = {7}, NUMBER = {5}, PAGES = "75--84", NOTE = {Proceedings of Rapid Prototyping Workshop.} } @INCOLLECTION{Goguen&83, AUTHOR = {Joseph A. Goguen and {Jos\'e} Meseguer and D. Plaisted}, TITLE = {Programming with Parameterized Abstract Objects in {OBJ}}, BOOKTITLE = {Theory and Practice of Software Technology}, PUBLISHER = {North-Holland}, YEAR = 1983, EDITOR = {D. Ferrari and M Bolognani and J. Goguen}, PAGES = "163--193" } @INPROCEEDINGS{Goguen&87, AUTHOR = {Joseph A. Goguen and {Jos\'e} Meseguer}, TITLE = {Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = "18--29", PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @TechReport{Good84, Author = "Donald Good", Title = "Revised Report on Gypsy 2.1 (draft)", Institution = "University of Texas", Year = 1984 } @Misc{Good86, Author = "Donald Good", Title = "The Foundations of Computer Security---We Need Some", Note = "{ARPANET} Computer Security Forum, 29 {September} 1986." } @Book{Gordon&79, Author = "Michael J. Gordon and Robin Milner and Christopher P. Wadsworth", Title = "Edinburgh LCF", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 78, Year = 1979 } @BOOK{Gries81, AUTHOR = {David Gries}, TITLE = {The Science of Programming}, PUBLISHER = {Springer-Verlag}, YEAR = 1981 } @misc{Gries87, author = "David Gries", title = "What Programmers Don't and Should Know", year = 1987, institution = CUCS, address = "Ithaca", note = "Paper prepared for the Twentieth University of Newcastle upon Tyne International Seminar on the Teaching of Computing Science at University Level, titled Logic and its Application to Computing Science." } @Misc{Griffin, Author = "Tim Griffin", Note = "Personal Communication." } @TECHREPORT{Griffin87, AUTHOR = {Timothy G. Griffin}, TITLE = {An Environment for Formal Systems}, INSTITUTION = CUCS, YEAR = 1987, NUMBER = {87-846}, ADDRESS = "Ithaca", } @TECHREPORT{Griffin88, AUTHOR = {Griffin, Timothy G.}, TITLE = {A formal account of notational definition}, INSTITUTION = {Department of Computer Science, Cornell University}, YEAR = 1988, NUMBER = {88-901} } @INPROCEEDINGS{Griffin88b, AUTHOR = {Griffin, Timothy G.}, TITLE = {Notational definitions --- a formal account}, BOOKTITLE = {Proc. Third Symposium on Logic in Computer Science}, YEAR = 1988, } @PhDThesis{Griffin88c, Author = {Griffin, Timothy George}, Title = "Notational Definition and Top-Down Refinement for Interactive Proof Development Systems", School = "Cornell University", Address = "Ithaca", Year = 1988, Note = "Available as Cornell University Department of Computer Science Technical Report {TR 88-937}." } @TechReport{Grue:87:AnEfficientFormalTheory, semno = "D-73", author = "Klaus E. Grue", title = "An Efficient Formal Theory", institution = DIKU, year = 1987, number = "87/14", keywords = "proof system, reflection, metamathematics, syntax", } @Inproceedings{Harper&87, Author = "Robert Harper and Furio Honsell and Gordon Plotkin", Title = "A framework for defining logics", BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = "194--204", PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @Inproceedings{Harper&87a, Author = "Robert Harper and Robin Milner and Mads Tofte", Title = "A Type Discipline for Program Modules", BOOKTITLE = {{TAPSOFT '87}}, YEAR = 1987, PAGES = "308--319", PUBLISHER = {Springer-Verlag}, } @Misc{Harper&89a, Author = "Robert Harper and Donnald Sannella and Andrzej Tarlecki", Title = "Logic Representation, Report on work in progress", Year = 1989 } @INPROCEEDINGS{Harper&89b, AUTHOR = "Robert Harper and Donnald Sannella and Andrzej Tarlecki", TITLE = "Structure and Representation in {LF}", BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1989, PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", } @inproceedings{Harper&90, author = "Robert Harper and John C. Mitchell and Eugenio Moggi", title = "Higher-Order Modules and the Phase Distinction", booktitle = POPL17, year = 1990, pages = "341--354", organization = {ACM} } @InProceedings{Hansen:89:ExperimentsWithImplementations, author = "Torben Amtoft Hansen and Thomas Nikolajsen and Jesper Larsson Tr{\"a}ff and Neil D. Jones", title = "Experiments with Implementations of two Theoretical Constructions", booktitle = "Lecture Notes in Computer Science 363", year = 1989, semno = "D-19", pages = "119--133", publisher = "Springer Verlag", keywords = "S-M-N theorem, recursion theorem, 2 way pushdown automata, partial evaluation, reflection", } @Book{Harel:87:Algorithmics, author = "David Harel", title = "Algorithmics: The Spirit of Computing", publisher = "Addison-Wesley Publishing Company", year = 1987, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @PhDThesis{Harper85, Author = "Harper, Jr., Robert William", Title = "Aspects of the Implementation of Type Theory", School = "Cornell University", Address = "Ithaca", Year = 1985 } @TECHREPORT{Hook&86, AUTHOR = {James G. Hook and Douglas J. Howe}, TITLE = {Impredicative Strong Existential Equivalent to {Type:Type}}, INSTITUTION = CUCS, YEAR = 1986, NUMBER = {86-760}, ADDRESS = "Ithaca", } @techreport{Hook&89, author = "James Hook and Garrel Pottinger", title = "Ulysses Theories: The modular implementation of mathematics", institution = "Odyssey Research Associates", number = "TR 11-14", year = 1989 } @Article{Hindley69, Author = "J. Roger Hindley", Title = "The Principal Type-Scheme of an Object in Combinatory Logic", Journal = TAMS, Year = 1969, Volume = 146, pages = "29--60" } @misc{Hook&88, author = "James Hook and Carl Eichenlaub", title = "Prototype Environment for Tactics Users Manual", note = "Odyssey Research Associates internal report.", year = 1988 } @unpublished{Hook&89b, author = "James Hook and Garrel Pottinger", title = "Natural {L}-systems", note = "Presented to the meeting of the Association for Symbolic Logic held at UCLA in January 1989. An abstract will appear in the {\em Journal of Symbolic Logic}.", year = 1989 } @Book{Hopcroft&79, Author = "John E. Hopcroft and Jeffrey D. Ullman", Title = "Introduction to Automata Theory, Languages, and Computation", Publisher = "Addison Wesley", Year = 1979, Address = "Reading" } @Book{Hindley:86, author = "J. Roger Hindley and Jonathan P. Seldin", title = "Introduction to Cobminators and $\lambda$-Calculus" , publisher = "Cambridge University Press", year = 1986, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, number = 1, series = "London Mathematical Society Student Texts", OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @ARTICLE{Hoare69, AUTHOR = {C. A. R. Hoare}, TITLE = {An Axiomatic basis for Computer Programming }, JOURNAL = cacm, YEAR = 1969, VOLUME = {12}, PAGES = "576--580, 583", } @Article{Hoffmann:Odonnell:82, author = "Christoph M. Hoffmann and Michael J. O'Donnell", title = "Programming with Equations", journal = TOPLAS, year = 1982, OPTkey = {}, volume = 4, number = 1, pages = "1--20", note = {}, } @InProceedings{Holst:91:PartialEvaluation, author = "C. K. Holst and Carsten K. Gomard", title = "Partial Evaluation is Fuller Laziness", booktitle = PEPM91, year = 1991, pages = "223--233", publisher = ACM, note = "", } @InProceedings{Hook84, Author = "James G. Hook", Title = "Understanding {Russell}---A First Attempt", BookTitle = "Semantics of Data Types, International Symposium, Sophia-Antipolis, France", Year = 1984, Editor = "G. Kahn and D.B. MacQueen and G. Plotkin", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 173 } @PhDThesis{Hook88, Author = "Hook, James Garvin", Title = "Abstract Types and Dependence in Programming Languages", School = "Cornell University", Address = "Ithaca", Year = 1988, } @Book{Jensen&75, Author = "K. Jensen and N. Wirth", Title = "Pascal User Manual and Report", Publisher = "Springer-Verlag", Address = "Berlin", Year = 1975 } @InProceedings{Knoblock&86, Author = "Todd B. Knoblock and Robert L. Constable", Title = "Formalized Metareasoning in Type Theory", BookTitle = "Proc. Symposium on Logic in Computer Science", Publisher = "IEEE Computer Society Press", Address = "Washington", Year = 1986, pages = "237--248" } @InCollection{Howard80, Author = "W. A. Howard", Title = "The Formulae-as-types Notion of Construction", BookTitle = "To {H.~B. Curry}: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. Roger Hindley", Publisher = "Academic Press", Address = "New York", Year = 1980, Note = "A version of this paper was privately circulated in 1969." } @INPROCEEDINGS{Howe87, AUTHOR = {Douglas J. Howe}, TITLE = {The Computational Behaviour of {Girard's} Paradox}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = "205--221", PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @PHDTHESIS{Howe88, AUTHOR = {Douglas J. Howe}, TITLE = {Automating Reasoning in an Implementation of Constructive Type Theory}, SCHOOL = {Cornell University}, YEAR = 1988, ADDRESS = "Ithaca", } @InProceedings{ICFP::SabryW1996, title = "A Reflection on Call-by-Value", author = "Amr Sabry and Philip Wadler", pages = "13--24", booktitle = "Proc. International Conf. on Functional Programming", year = 1996, address = "Philadelphia", references = "\cite{POPL::AriolaFMOW1995} \cite{POPL::HatcliffD1994} \cite{POPL::LawallD1993} \cite{LICS::Moggi1989} \cite{IC::Moggi1991} \cite{TCS::Plotkin1975}", } @Article{Hudak:92:Report, author = "Paul Hudak Simon {Peyton Jones} and Philip Wadler and Brian Boutel and John Fairbairn and Joseph Fasel and Maria M. Guzman and Kevin Hammond and John Hughes and Thomas Johnsson and Dick Kieburtz and Rishiyur Nikhil and Will Partain and John Peterson", title = "Report on the programming language {Haskell}", journal = "SIGPLAN Notices", volume = "27", number = "5", year = 1992, pages = "Section R", note = "", } @unpublished{Huet86, author = "G\'erard Huet", title = "Formal Structures for Computation and Deduction", note = "Notes prepared for a graduate-level course given in the Computer Science Department of Carnegie Mellon University during the Spring of 1986.", year = 1986 } @Article{Landwehr&84, Author = "Carl E. Landwehr and Constance L. Heitmeyer and John McLean", Title = "A Security Model for Military Message Systems", Journal = "ACM Transactions on Computer Systems", Volume = 2, Number = 3, Year = 1984, pages = "198--222" } @Book{Liskov&81, Author = "B. Liskov and R. Atkinson and T. Bloom and E. Moss and J. C. Schaffert and R. Scheifler and A. Snyder", Title = "CLU Reference Manual", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 114, Year = 1981 } @unpublished{Huet87, author = "G\'erard Huet", title = "A Uniform Approach to Type Theory", note = "Notes distributed at the University of Texas Institute on Logical Foundations of Functional Programming.", year = 1987 } @MISC{Huet87pc, AUTHOR = { G\'erard Huet}, YEAR = 1987, NOTE = {Personal Communication.} } @InProceedings{MacQueen&84, Author = "David B. MacQueen and Gordon Plotkin and Ravi Sethi", Title = "An Ideal Model of Types", BookTitle = POPL11, Year = 1984 } @Misc{MacQueen&86, Author= "David B. MacQueen and Gordon Plotkin and Ravi Sethi", Note = "Forthcomming" } @PhdThesis{JamesHook, author = "James Garvin Hook", title = "Type Dependencies and Programming Languages", school = "Cornell University", year = 1988, OPTkey = {}, OPTaddress = {}, OPTtype = {}, note = "(Chapter 2)[*]", } @InProceedings{Joerring:86:Compilers, author = "U. J{\o}rring and W. L. Scherlis", title = "Compilers and Staging Transformations", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", address = "St. Petersburg, Florida", year = 1986, pages = "86--96", publisher = ACM, } @inproceedings{Johnsson_lambda_lift, Author = {Thomas Johnsson}, Title = {Lambda lifting: transforming programs to recursive equations}, Booktitle = {Functional Programming Languages and Computer Architecture}, Editor = {J-P. Jouannaud}, Publisher = {Springer-Verlag}, Series = LNCS, Volume = 201, Year = 1985, Pages = "190--203" } @InCollection{Jones:85:AnExperiment, author = "Neil D. Jones and Peter Sestoft and Harald Sondergraard", title = "An Experiment in Partial Evaluation: The Generation of a Compiler Generator", booktitle = "Rewriting Techniques and Applications", OPTcrossref = {}, OPTkey = {}, publisher = "Springer-Verlag", year = 1985, editor = "Jean-Pierre Jouannaud", volume = "202", OPTnumber = {}, series = LNCS, OPTchapter = {}, OPTtype = {}, OPTaddress = {}, OPTedition = {}, pages = "124--140", OPTnote = {}, } @Book{Jones:93:Partial, author = "Neil D. Jones and Carsten K. Gomard and Peter Sestoft", title = "Partial Evaluation and Automatic Program Generation", publisher = "Prentice-Hall", year = 1993, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, note = "", } @InProceedings{Jones:95:TenYears, author = "Neil D. Jones", title = "Mix Ten Years Later", booktitle = "Proc. {S}ymposium on {P}artial {E}valuation and {S}emantics-{B}ased {P}rogram {M}anipulation", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1995, publisher = ACM, OPTaddress = {}, pages = "24--38", OPTnote = {}, } @INPROCEEDINGS{Mendler&86, AUTHOR = {N. P. Mendler and P. Pananganden and R. L. Constablee}, TITLE = {Infinite Objects in Type Theory}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1986, PAGES = "249--255", PUBLISHER = {{IEEE} Computer Society press}, ADDRESS = "Washington", NOTE = {The Conf. was held in Cambridge, Massachusetts.} } @InCollection{Jones:Sheeran, author = "Geraint Jones and Mary Sheeran", title = "Designing arithmetic circuits by refinement in Ruby", booktitle = "Mathematics of Program Construction", OPTcrossref = {}, OPTkey = {}, publisher = "Springer Verlag", year = 1993, editor = "R. S. Bird, C. C. Morgan and J. C. P. Woodcock", volume = "669", OPTnumber = {}, series = LNCS, OPTchapter = {}, OPTtype = {}, OPTaddress = {}, OPTedition = {}, OPTpages = {}, OPTnote = {}, } @Article{Kamin:83, author = "Samuel Kamin", title = "Final Data Types and Their Specification", journal = TOPLAS, year = 1983, OPTkey = {}, volume = 5, number = 1, pages = "97--123", note = {}, } @INPROCEEDINGS{Meyer&87, AUTHOR = {Albert R. Meyer and John C. Mitchell and Eugenio Moggi and Richard Statman}, TITLE = {Empty Types in Polymorphic Lambda Calculus (Preliminary Report)}, BOOKTITLE = POPL14, YEAR = 1987, PAGES = "253--262", ORGANIZATION = {ACM}, NOTE = {The Conf. was held in Munich, West Germany} } @InProceedings{Meyer&86, Author = "Albert R. Meyer and Mark B. Reinhold", Title = "`Type' Is Not a Type", BookTitle = POPL13, Year = 1986, Organization = "Association for Computing Machinery, SIGACT, SIGPLAN" } @TechReport{Keppel:91:ACase, author = "David Keppel and Susan J. Eggers and Robert R. Henry", title = "A Case for Runtime Code Generation", institution = "University of Washington", year = 1991, OPTkey = {}, OPTtype = {}, number = "91-11-04", OPTaddress = {}, OPTnote = {}, } @InProceedings{Mitchell&M85, Author = "John C. Mitchell and Albert R. Meyer", Title = "Second-order logical relations (extended abstract)", BookTitle = "Logics of Programs, Brooklyn", Year = 1985, Editor = "Rohit Parikh", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 193 } @InProceedings{Mitchell&85, Author = "John C. Mitchell and Gordon Plotkin", Title = "Abstract types have existential type", BookTitle = POPL12, Year = 1985, Organization = "Association for Computing Machinery, SIGACT, SIGPLAN" } @Misc{Mitchell&pc86, Author = "John C. Mitchell and Robert W. Harper", Note = "Personal communication" } @InProceedings{Mitchell&88, Author = "John C. Mitchell and Robert Harper", Title = "The Essence of {ML}", BookTitle = POPL15, Year = 1988, Pages = "28--46", Organization = "Association for Computing Machinery, SIGACT, SIGPLAN" } @Misc{Kiczales:96:Open, OPTkey = {}, author = "Gregor Kiczales and Andreas Paepcke", title = "Open Implementations and Metaobject Protocols", OPThowpublished = {}, year = 1996, note = "Available at \cite{Kiczales:Page}", } @Misc{Kiczales:Page, OPTkey = {}, OPTauthor = {}, title = "Gregor {K}iczales' Home Page", OPThowpublished = {}, OPTyear = {}, note = "\mc{http://www.parc.xerox.com/spl/members/gregor/}", } @techreport {Kieburtz93, Author = "Richard Kieburtz", Title = "Software Design for Reliability and Reuse---Preliminary Method Definition", Institution = ogicse, Number = "CSE-93-021", note = "Available from \cite{ogi-tr-site}", Year = 1993 } @unpublished {Kieburtz94, Author = "Richard Kieburtz", Title = "Generating Programs from Specifications", Note = "", Year = 1994 } @book{milner&90, author = "Robin Milner and Mads Tofte and Robert Harper", title = "The Definition of Standard {ML}", publisher = "{MIT} Press", address = "Cambridge", year = 1990 } @misc{Kieburtz95, author = "Richard B. Kieburtz", title = "Software Design for Reliability and Reuse---{Method} Definition", year = 1995, note = "In \cite{Pacsoft95}" } @InProceedings{Moriconi&85, Author = "Mark Moriconi and Dwight F. Hare", Title = "The {PegaSys} System: Using Pictures as Formal Documentation", BookTitle = "Proceedings of Symposium on Language Issues in Programming Environments", Year = 1985, Organization = "Association for Computing Machinery, SIGPLAN", Address = "Seattle", pages = "148--160" } @Article{Moriconi&85b, Author = "Mark Moriconi and Dwight F. Hare", Title = "Visualizing Program Designs Through {PegaSys}", Journal = "IEEE Computer", Volume = 18, Number = 8, Pages = "72--85", Year = 1985 } @misc{Kieburtz95b, author = "Richard B. Kieburtz", title = "Results of the SDRR Validation Experiment", year = 1995, note = "In \cite{Pacsoft95}" } @Article{Kieburtz:Silberschatz:83, author = "Richard B. Kieburtz and Abraham Silberschatz", title = "Access-Right Expressions", journal = TOPLAS, year = 1983, OPTkey = {}, volume = 5, number = 1, pages = "78--96", note = {}, } @PHDTHESIS{Knoblock87, AUTHOR = {Todd B. Knoblock}, TITLE = {Mathematical Extensibility in Type Theory, Correct Programs that Construct Proofs}, SCHOOL = {Cornell University}, YEAR = 1988, ADDRESS = "Ithaca", } @INPROCEEDINGS{Korelski88, AUTHOR = {Tanya Korelsky and others}, TITLE = {Ulysses: a computer-security modeling environment}, BOOKTITLE = {Proc. 11th National Computer Security Conf. }, YEAR = 1988, } @techreport {Kotov94, Author = "Alexei Kotov", Title = "Application of a New Software Metric in a Research Environment", Institution = ogicse, note = "Available from \cite{ogi-tr-site}", Year = 1994 } @misc{Kotov95, author = "Alexei Kotov", title = "Measurement Final Report", year = 1995, note = "In \cite{Pacsoft95}" } @TECHREPORT{Kreitz86, AUTHOR = {Christoph Kreitz}, TITLE = {Constructive Automata Theory Implemented with the Nuprl Proof Development System}, INSTITUTION = cucs, YEAR = 1986, NUMBER = {86-779}, ADDRESS = "Ithaca", } @Article{Laeufer:Odersky, author = "Konstantin Laeufer and Martin Odersky", title = "Polymorphic Type Inference and Abstract", journal = "ACM Transaction of Programming Languages and Systems", } @TechReport{Platek&87, Author = "Richard Platek and James Hook and Tanya Korelsky and Daryl McCullough", Title = "Ulysses: A Computer Security Modelling Environment", Institution = ORA, Year = 1987, Note = "Submitted to 1987 NBS Computer Security Conf.." } @ARTICLE{Lamport78, AUTHOR = {Leslie Lamport}, TITLE = {Time, clocks and the ordering of events in a distributed system}, JOURNAL = cacm, YEAR = 1978, VOLUME = {21}, NUMBER = {7} } @ARTICLE{Landin66, AUTHOR = {P. J. Landin}, TITLE = {The next 700 programming languages}, JOURNAL = cacm, YEAR = 1966, VOLUME = {9}, NUMBER = {3} } @misc{Launchbury95, author = "John Launchbury", title = "Phase II Technology Transition Plan", year = 1995, note = "In \cite{Pacsoft95}" } @PhdThesis{Launchbury:90:Thesis, author = "John Launchbury", title = "Projection Factorisations in Partial Evaluation", school = "University of Glasgow", year = 1990, OPTkey = {}, address = "Glasgow", OPTtype = {}, OPTnote = "(Also published in Distinguished Disertations series)", } @misc{Pottinger&88, author = "Garrel Pottinger and James Hook and Carl Eichenlaub and Carl Klapper", title = "Ulysses: Theories", year = 1988, note = "Odyssey Research Associates internal report." } @InProceedings{Launchbury:95:WarmFusion, author = "John Launchbury and Tim Sheard", title = "Warm Fusion: Deriving Build-Catas from Recursive Definitions", booktitle = "Functional Programming Languages and Computer Architecture", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1995, OPTorganization = {}, publisher = ACM, OPTaddress = {}, pages = "314--323", OPTnote = {}, } @Article{Lescanne:92, author = "Pierre Lescanne", title = "Well rewrite orderings and well quasi-orderings", journal = JSC, year = 1992, OPTkey = {}, volume = 14, number = 5, pages = "419--435", note = {}, } @Article{Levy:86:AMeta, author = "Leon S. Levy", title = "A Meta-programming Method and Its Economic Justification", journal = TSE, year = 1986, OPTkey = {}, volume = 12, number = 2, pages = "272--277", OPTnote = {}, } @techreport {Lewis94, Author = "Jeffrey R. Lewis", Title = "A Specification for an {MTV} Generator", Institution = ogicse, Number = "CSE-94-003", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @unpublished{Lewis95a, Author = "Jeffrey R. Lewis", Title = "The {P}acSoft {SML} Library", Year = 1995, note = intooldocs } @InProceedings{Reps&84, Author = "Thomas Reps and Tim Teitelbaum", Title = "The Synthesizer Generator", BookTitle = "Proc. Software Engineering Symposium on Practical Software Development Environments", Year = 1984, Organization = "Association for Computing Machinery, SIGPLAN", Address = "Baltimore", pages = "42--48" } @misc{Lewis95b, author = "Jeffrey R. Lewis", title = "{ADL} Translator Tool Documentation", year = 1995, note = intooldocs } @InProceedings{Amphion, author = "Michael Lowry and Andrew Philpot and Thomas Pressburger and Ian Underwood", title = "Amphion: Automatic Programming for Scientific Subroutine Libraries", booktitle = "Proc. 8th Intl. Symp. on Methodologies for Intelligent Systems", year = 1994, address = "Charlotte", pages = "326--335", } @Article{Lowry:94:Amphion, author = "", title = "{AMPHION}: Automatic Programming for Scientific Subroutine Libraries", journal = "{NASA} Science Information Systems Newsletter", year = 1994, OPTkey = {}, volume = 31, OPTnumber = {}, pages = "22--25", OPTnote = "Available at \cite{Amphion:Page}", } @Book{MacLennan87, author = "Bruce J. MacLennan", title = "Principles of Programming Languages: Design, Evaluation, and Implementation", publisher = "Holt, Rinehart and Winston", year = 1987, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, edition = "Second", OPTnote = {}, } @inproceedings{Sannella&83, author = "D. T. Sannella and R. M. Burstall", title = "Structured theories in {LCF}", booktitle = "Proc. 8th Colloquium on Algebra and Trees in Programming", pages = "377--391", address = "L'Aquila", year = 1983 } @inproceedings{Sannella&83, author = "D. T. Sannella and R. M. Burstall", title = "Structured theories in {LCF}", booktitle = "Proc. 8th Colloquium on Algebra and Trees in Programming", pages = "377--391", address = "L'Aquila", year = 1983 } @inproceedings{Sannella&85, author = "Donald Sannella and Andrzej Tarlecki", Title = "Program specification and development in standard {ML}", Booktitle = POPL12, pages = "67--77", year = 1985, organization = {ACM}, } @inproceedings{Sannella&86, author = "Donald Sannella and Andrzej Tarlecki", Title = "Extended {ML}: an institution-indepdendent framework for formal program development", Booktitle = "Category Theory and Computer Programming Tutorial and Workshop", pages = "364--389", year = 1986, Editor = "David Pitt and Samson Abramsky and Axel Poign\'e and David Rydeheard", Publisher = "Springer-Verlag", Address = "Berlin", Series = LNCS, Volume = 240, Note = "Meeting was held in September 1985 in Guildford, UK." } @InProceedings{MacQueen86, Author = "David B. MacQueen", Title = "Using Dependent Types to Express Modular Structure", BookTitle = POPL13, Year = 1986, Pages = "277--286" } @InProceedings{Maeda92, author = "Munenori Maeda", title = "Implementing a Process Oriented Debugger with Reflection and Program Transformation", pages = "961--968", crossref = "FGCS92", } @TechReport{Maes87, author = "Pattie Maes", title = "Computational Reflection", institution = "Vrije Universiteit Br{\"u}ssel", address = "Br{\"u}ssel", number = "87-2", keywords = "Meta-Knowledge, Object-Oriented Language, Programming Language, Reflection, Refletive Architecture, Self-Reference", year = 1987, } @InProceedings{Maes87b, author = "Patti Maes", title = "Concepts and Experiments in Computational Reflection", booktitle = "OOPSLA-87Proceedings", address = "Florida", keywords = "LISP", year = 1987, } @InProceedings{Malmkjaer:90:OnSomeSemanticIssues, semno = "D-63", author = "Karoline Malmkj{\ae}r", title = "On Some Semantic Issues in the Reflective Tower", booktitle = "Mathematical Foundations of Programming Semantics. (Lecture Notes in Computer Science, vol. 442)", year = 1989, editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", pages = "229--246", keywords = "reflection, semantics, reification", } @InProceedings{Malmkjaer:93:TowardsEfficient, author = "K. Malmkj{\ae}r", title = "Towards Efficient Partial Evaluation", booktitle = PEPM93, year = 1993, pages = "33--43", publisher = ACM, note = "", } @InProceedings{Malmkjaer:95:Polyvariant, author = "Karoline Malmkjaer and Peter Orbaek", title = "Polyvariant Specialisation for Higher-Order, Block-Structured Languages", booktitle = "Proc. {S}ymposium on {P}artial {E}valuation and {S}emantics-{b}ased {P}rogram {M}anipulation", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1994, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, pages = "66--76", OPTnote = {}, } @Unpublished{Martin-Lof71, Author = "Per {Martin-L\"of}", Title = "A Theory of Types", Note = "Mimeographed manuscript.", Year = 1971 } @Unpublished{Martin-Lof72, Author = "Per {Martin-L\"of}", Title = "An Intuitionistic Theory of Types", Note = "Mimeographed manuscript. This is an unpublished version of {\cite{Martin-Lof75}}. It contains a presentation of Girard's paradox that does not appear in the final version.", Year = 1972 } @InCollection{Martin-Lof75, Author = "Per {Martin-L\"of}", title = "An Intuitionistic Theory of Types: Predicative Part", BookTitle = "Logic Colloquium '73", Editor = "H. E. Rose and J. C. Shepherdson", Pages = "73--118", Publisher = "North Holland", year = 1975 } @InProceedings{Martin-Lof82, Author = "Per {Martin-L\"of}", title = "Constructive Mathematics and Computer Programming", BookTitle = "Sixth International Congress for Logic, Methodology, and Philosophy of Science", Pages = "153--175", Publisher = "North Holland", year = 1982 } @BOOK{Whitehead&25, AUTHOR = {Alfred North Whitehead and Bertrand Russell }, TITLE = {Principia mathematica}, PUBLISHER = {Cambridge University Press}, YEAR = 1925, VOLUME = {1}, ADDRESS = "Cambridge", EDITION = "Second" } @PHDTHESIS{Matthews83, AUTHOR = {David Charles James Matthews}, TITLE = {Programming Language Design with Polymorphism}, SCHOOL = {University of Cambridge}, YEAR = 1983, NOTE = "This dissertation is availiable as technical report number 49 from the University of Cambridge computer laboratory, Corn Exchange Street, Cambridge CB2 3QG, UK." } @TECHREPORT{Matthews85, AUTHOR = {David C. J. Matthews}, TITLE = {{POLY} Manual}, INSTITUTION = {University of Cambridge Computer Laboratory}, YEAR = 1985, NUMBER = {63}, ADDRESS = "Cambridge", } @InProceedings{Mauny:92:ParsersInML, author = "Michel Mauny and Daniel de Rauglaudre", title = "", booktitle = LFP, publisher = ACM, year = 1992, pages = "76--85", note = "", } @Article{Freese:Jezek:Nation:93, author = "Ralph Freese, J. Jezek and J. B. Nation", title = "Term Rewrite Systems for Lattice Theory", journal = JSC, year = 1993, OPTkey = {}, volume = 16, number = 3, pages = "279--288", note = {}, } @PHDTHESIS{McCracken79, AUTHOR = {Nancy Jean McCracken}, TITLE = {An investigation of a programming language with a polymorphic type structure}, SCHOOL = {Syracuse University}, YEAR = 1979 } @Article{McGraw:82, author = "James R. McGraw", title = "The VAL Language: Description and Analysis", journal = TOPLAS, year = 1982, OPTkey = {}, volume = 4, number = 1, pages = "1--20", note = {}, } @misc{McKinney95, author = "Laura McKinney", title = "Tool Survey", year = 1995, note = "In \cite{Pacsoft95}" } @Misc{Church:35:Unsolvable, OPTkey = {}, author = "Alonzo Church", title = "An Unsolvable Problem of Elementry Number Theory", howpublished = "Presented to the American Mathematical Society, April 9, 1935", year = 1935, note = "Available in \cite{Davis:65:Undecidable}", OPTannote = {} } @INPROCEEDINGS{Mendler87, AUTHOR = {N. P. Mendler}, TITLE = {Recursive Types and Type Constraints in Second-Order Lambda Calculus}, BOOKTITLE = {Proceedings Symposium on Logic in Computer Science}, YEAR = 1987, PAGES = "30--36", PUBLISHER = {{IEEE} Computer Society Press}, ADDRESS = "Washington", NOTE = {The Conf. was held at Cornell University, Ithaca, New York.} } @PHDTHESIS{Mendler88, AUTHOR = {Paul Francis Mendler}, TITLE = {Inductive Definition in Type Theory}, SCHOOL = {Cornell University}, YEAR = 1988, ADDRESS = "Ithaca", NOTE = {This thesis is available as Cornell University computer science department technical report number 87-870 (September 1987). Paul Francis Mendler prefers the name ``Nax'' and generally uses the initials ``N. P.''} } @Article{Mitchell&88, Author = "John C. Mitchell and Gordon Plotkin", Title = "Abstract Types Have Existential Type", Journal = toplas, Year = 1988, volume = 10, number = 3, pages = "470--502", contribution = " The observation that data abstract types (or, more precisely, their ``data algebras'') have existential types. \\ " } @Article{Metayer:88, author = "Daniel Le Metayer", title = "ACE: An Automatic Complexity Evaluator", journal = TOPLAS, year = 1988, OPTkey = {}, volume = 10, number = 2, pages = "248--266", note = {}, } @Article{Middeldorp:Toyama:93, author = "Aart Middeldorp and Yoshihito Toyama", title = "Completeness of Combinations of Constructor Systems", journal = JSC, year = 1993, OPTkey = {}, volume = 15, number = 3, pages = "331--348", note = {}, } @TECHREPORT{Milner72a, AUTHOR = {Robin Milner}, TITLE = {Logic for Computable Functions: description of a machine implementation}, INSTITUTION = {Stanford University}, YEAR = 1972, TYPE = {Memo}, NUMBER = {AIM-169} } @INPROCEEDINGS{Milner72b, AUTHOR = {Robin Milner}, TITLE = {Implementation and application of {Scott's} logic for computable functions}, BOOKTITLE = {Proceedings {ACM} Conf. on Proving Assertions about Programs}, YEAR = 1972, ORGANIZATION = {SIGPLAN}, PUBLISHER = {ACM}, NOTE = {SIGPLAN notices 7,1} } @Article{Milner78, Author = "Robin Milner", Title = "A Theory of Type Polymorphism in Programming", Journal = jcss, Volume = 17, Pages = "348--375", Year = 1978 } @TechReport{Milner84, Author ="Robin Milner", Title = "{S}tandard {ML} Report", Institution = "University of Edinburgh, Department of Computer Science", Year = 1984 } @Book{Milner:90:TheDefinition, author = "Robin Milner and Mads Tofte and Robert Harper", title = "The Definition of {Standard ML}", publisher = "MIT Press", year = 1990, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @Article{Mitchell-ATHET, author = {John C. Mitchell and Gordon D. Plotkin}, title = {Abstract Types Have Existential Type}, journal = {TOPLAS}, year = 1988, volume = {10(3)}, pages = "470--502", } @InProceedings{Mitchell86, Author = "John C. Mitchell", Title = "Representation Independence", BookTitle = POPL13, Year = 1986, Organization = "Association for Computing Machinery, SIGACT, SIGPLAN", } @Article{Mitchell:88, Author = "John C. Mitchell and Gordon D. Plotkin", Title = "Abstract Types Have Existential Type", Journal = toplas, Year = 1988, volume = 10, number = 3, pages = "470--502" } @InProceedings{Mogensen:89:BindingTimeAnalysis, author = "T. Mogensen", title = "Binding Time Analysis for Polymorphically Typed Higher Order Languages", booktitle = "TAPSOFT '89. Proc. International Conf. Theory and Practice of Software Development, Barcelona, Spain, March 1989 (Lecture Notes in Computer Science, vol. 352)", editor = "J. Diaz and F. Orejas", publisher = S-V, pages = "298--312", year = 1989, note = "", } @Unpublished{Moriconi85, Author = "Mark Moriconi", Title = "Formal Documentation and Analysis of Dependencies in Large Programs", Note = "Submitted for publication.", Year = 1985 } @Article{Nielson:85, author = "Flemming Nielson", title = "Program Transformations in a Denotational Setting", journal = TOPLAS, year = 1985, OPTkey = {}, volume = 7, number = 3, pages = "359--379", note = {}, } @TechReport{ORAAda, Author = "Staff", Title = "Formal Verification of {Ada} Programs for Mission Critical {SDI} Software", Institution = ORA, Year = 1986, Number = "ORA PR 8502-1", Note = "Revised version" } @Unpublished{Odersky:Laeufer, author = "Martin Odersky and Konstantin Laeufer", title = "Putting Type Annotations To Work", note = "(Preliminary)", OPTkey = {}, OPTyear = {}, } @misc{Oliva95a, author = "Dino P. Oliva", title = "Program Instantiator Tool Documentation", year = 1995, note = intooldocs } @misc{Oliva95b, author = "Dino P. Oliva", title = "Program Instantiator Templates Documentation", year = 1995, note = intooldocs } @misc{Oliva95c, author = "Dino P. Oliva", title = "Baseline Performance Measurements for Unoptimized Generated Code", year = 1995, note = "In \cite{Pacsoft95}" } @Article{Oliva:96:Generating, author = "D.P. Oliva and A.P. Tolmach", title = "Generating Typed Imperative Language Components from Functional Code", year = 1196, OPTkey = {}, OPTvolume = {}, OPTnumber = {}, OPTpages = {}, OPTnote = {}, } @TechReport{PWMNIPKRHCmar92, author = "Peter W. Madany and Nayeem Islam and Panos Kougiouris and Roy H. Campbell", title = "Reification and Reflection in {C}++: an operating systems perspective", institution = "University of Illinois", address = "Department of Computer Science, Urbana-Champaign, IL, USA", number = "{UIUCDCS--R--92--1736}", year = 1992, abstract = "The paper discusses using reification (the representation of an attribute of an object-oriented program such as method dispatch, inheritance, or object structure within the program) and reflection (the ability to make attributes like method invocation, interface, inheritance, object implementation the subject of computation) in Choices. Reification is used, for example, to modify the behaviour of pointers so reference-counting can be done safely. The system includes inheritance and classes as run-time entities, allowing dynamic extension of the system functions.", keyword = "Choices, garbage collection, object-oriented programming, inheritance, class structure, run-time extension", } @misc{PacSoft93a, Author = "Pacific Software Research Center", Title = "Measurement Plan for the {OGI} {SDRR} Technology Development and Validation Program", Year = 1993 } @misc{PacSoft93b, Author = "Pacific Software Research Center", Title = "Management Plan for the {OGI} {SDRR} Technology Development and Validation Program", Year = 1993 } @misc{PacSoft93c, Author = "Pacific Software Research Center", Title = "Technical Plan for the {OGI} {SDRR} Technology Development and Validation Program", Year = 1993 } @misc{PacSoft93d, Author = "Pacific Software Research Center", Title = "Technology Transition Plan for the {OGI} {SDRR} Technology Development and Validation Program", Year = 1993 } @misc{PacSoft94, Author = "Pacific Software Research Center", Title = "Software Design for Reliability and Reuse---Phase II Project Proposal", Year = 1994 } @Misc{CardelliPhase, author = "L. Cardelli", title = "Phase Distinctions in Type Theory", howpublished = "(Unpublished manuscript.) Available online from \fr{http://www.luca.demon.co.uk/Bibliography.html}", year = 1988, } @misc{PacSoft95, Author = "Pacific Software Research Center", Title = "{SDRR} Project {Phase I} Final Scientific and Technical Report", Year = 1995 } @Article{ParlamentoP:JAR91, author = "Franco Parlamento and Alberto Policriti", title = "Decision Procedures for Elementary Sublanguages of Set Theory:{XIII. M}odel Graphs, Reflection and Decidability", journal = JAR, volume = "7", number = "2", year = 1991, pages = "271--284", } @INPROCEEDINGS{Paulin-Mohring89, AUTHOR = {Christine Paulin-Mohring}, TITLE = {Extracting {$F_\omega$}'s Programs from Proofs in the Calculus of Constructions}, BOOKTITLE = POPL16, YEAR = 1989, PAGES = "89--104", ORGANIZATION = {ACM}, } @Article{Paulson86, Author = "Lawrence C. Paulson", Title = "Natural Deduction as Higer-order Resolution", Journal = "The Journal of Logic Programming", Volume = 3, Pages = "237--258", Year = 1986 } @Article{Paulson89, Author = "Lawrence C. Paulson", Title = "The foundation of a generic theorem prover", Journal = "The Journal of Automated Reasoning", Volume = 5, Pages = "363--397", Year = 1989 } @TechReport{PegaSys, Author = "Mark Moriconi and Dwight F. Hare", Title = "The {PegaSys} System: Three Papers", Institution = SRICSL, Year = 1985, Number = 145, Address = "Menlo Park", Note = "This is a collection of three papers: revised versions of {\cite{Moriconi&85}} and {\cite{Moriconi&85b}} and a complete version of {\cite{Moriconi85}}." } @Unpublished{PfenningLee89, author = "Pfenning Frank and Peter Lee", title = "Reflection in the polymorphic lambda-calculus", note = "manuscript", year = 1989, } This is basically the bibliography I prepared for the rpe paper. @InCollection{Phillips:92:Recursion, author = "I. C. C. Phillips", title = "Recursion Theory", booktitle = "Handbook of Logic in Computer Science", OPTcrossref = {}, OPTkey = {}, publisher = "Oxford University Press", year = 1992, editor = "S. Abramsky and Dov M. Gabbay and T. S. E. Maibaum", volume = 1, OPTnumber = {}, OPTseries = {}, OPTchapter = {}, OPTtype = {}, OPTaddress = {}, OPTedition = {}, pages = "83, 133--135", OPTnote = {}, } @techreport{Plinta89, Author = "Plinta, Charles and Lee, Kenneth and Rissman, Michael", Title = "A Model Solution for {C$^{3}$I} Message Translation and Validation", Institution= "Software Engineering Institute, Carnegie Mellon University", Year = 1989, Note= "CMU/SEI-89-TR-12 ESD-89-TR-20" } @Misc{Plotkin-personal, Author ="Plotkin, Gordon D.", Note = "Personal Communication" } @Unpublished{Plotkin78, Author ="Gordon D. Plotkin", Title = "Domain Theory", Note = "Pisa Sumer school lecture notes", Year = 1978 } @TechReport{Plotkin81, Author ="Gordon D. Plotkin", Title = "A Structural Approach to Operational Semantics", Institution = "Computer Science Department, Aarhus University", Year = 1981 } @TechReport{Plotkin82, Author ="Gordon D. Plotkin", Title = "An Operational Semantics for {CSP}", Institution = "University of Edinburgh, Department of Computer Science", Year = 1982 } @techreport{Bell&94a, Author = "Jeffrey M. Bell and James Hook", Title = "Defunctionalization of Typed Programs", year = 1994, institution = ogicse, number = "CSE-94-025" } @inproceedings{Bell&94b, author = "Jeffrey Bell and others", title = "Software Design for Reliability and Reuse: A proof-of-concept demonstration", booktitle = "{TRI-Ada} '94 Proceedings", Publisher = ACM, year = 1994, pages = "396--404" } @techreport{Pottinger87, author = "Garrel Pottinger", title = "Strong Normalization for Terms of the Theory of Constructions", institution = "Odyssey Research Associates", number = "TR 11-7", year = 1987 } @techreport{Pottinger88a, author = "Garrel Pottinger", title = "Ulysses: Logical Foundations of the Definition Facility", institution = "Odyssey Research Associates", number = "TR 11-9", year = 1988 } @techreport{Pottinger88b, author = "Garrel Pottinger", title = "Ulysses: Logical and Computational Foundations of the Primitive Inference Engine", institution = "Odyssey Research Associates", number = "TR 11-8", year = 1988 } @misc{Pottinger88c, author = "Garrel Pottinger", title = "Meta-{TOC}", year = 1988, note = "Odyssey Research Associates internal report, in preparation." } @book{Prawitz65, author = "Dag Prawitz", title = "Natural Deduction", publisher = "Almqvist $\&$ Wiksell", address = "Stockholm, {G\"{o}teborg}, and Uppsala", year = 1965 } @inproceedings{Bellegarde&93, author = "Fran\c{c}oise Bellegarde and James Hook", title = "Monads, Indexes, and Transformations", date = Apr, year = 1993, Booktitle = "{TAPSOFT} '93: Theory and Practice of Software Development", publisher = "Springer-Verlag", series = LNCS, volume = 668, pages = "314--327" } @inproceedings{Prawitz71, Author = "Dag Prawitz", Title = "Ideas and Results in Proof Theory", Booktitle = "Proc. Second Scandinavian Logic Symposium", editor = "{J. E.} Fenstad", year = 1971, publisher = "North-Holland", address = "Amsterdam", pages = "235--307" } @InCollection{Pressburger:96:Amphion, author = "Thomas Pressburger and Michael Lowry", title = "Automating Software Reuse with Amphion", booktitle = "NASA Workshop on Software Reuse", OPTcrossref = {}, OPTkey = {}, OPTpublisher = {}, year = 1996, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTchapter = {}, OPTtype = {}, address = "Fairfax", OPTedition = {}, OPTpages = {}, note = "Available at \cite{Amphion:Page}", } @InProceedings{Pu:95:Optimistic, author = "Calton Pu and Tito Autrey and Andrew Black and Charles Consel and Crispin Cowan and Jon Inouye and Lakshmi Kethana and Jonathan Walpole and and Ke Zhang", title = "Optimistic Incremental Specialization: Streamlining a Commercial Operating System", booktitle = "ACM Symposium on Operating Systems Principles (SOSP'95)", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1995, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, OPTpages = {}, OPTnote = {}, } @Article{Puel:Suarez:93, author = "Laurence Puel and Ascander Suarez", title = "Compiling Pattern Matching by Term Decomposition", journal = JSC, year = {}, OPTkey = {}, volume = 15, number = 1, pages = "1--26", note = {}, } @InProceedings{Queinnec:Cointe:acm:lfp:1988, author = "Christian Queinnec and Pierre Cointe", title = "An Open Ended Data Representation Model for {\sc Eu\_Lisp}", email = "{queinnec,cointe}@inria.inria.fr", crossref = "acm:lfp:1988", pages = "298--308", refs = "18", checked = "19940504", source = "dept. library", keywords = "reflection, metatype, EuLisp", abstract = "The goal of this paper is to describe an open-ended type system for Lisp with explicit and full control of bit-level data representations. This description uses a reflective architecture based on a metatype facility. This low-level formalism solves the problem of an harmonious design of a class taxonomy inside a type system. A prototype for this framework has been written in Le-Lisp and is used to built the integrated type and object systems of the {\sc Eu\_Lisp} proposal.", } @InProceedings{Ramsey89, Author = "Norman Ramsey", Title = "Developing fromally verified {Ada} programs", BookTitle = "Proc. fifth International Conf. on Software Specificationand Design", Year = 1989 } @TechReport{Rees:91:Scheme, title = "$\mbox{Revised}^4$ Report on the Algorithmic Language {S}cheme", year = 1992, number = "AI Memo 848b", pages = "69", editor = "Jonathan Rees and William Clinger", author = "Jonathan Rees and William Clinger and H. Abelson and N. I. {Adams IV} and D. Bartley and G. Brooks and R. K. Dybvig and D. P. Friedman and R. Halstead and C. Hanson and C. T. Haynes and E. Kohlbecker and D. Oxley and K. M. Pitman and G. J. Rozas and G. J. Sussman and M. Wand", institution = MIT, } @Book{Shalit97, key = "Shalit", title = "The {Dylan} Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language", author = "Andrew Shalit", publisher = "Addison-Wesley", address = "Reading, Mass.", year = "1997", } @Article{Dybvig:1992:SAS, author = "R. Kent Dybvig and Robert Hieb and Carl Bruggeman", title = "Syntactic Abstraction in {Scheme}", journal = "Lisp and Symbolic Computation", volume = "5", number = "4", pages = "295--326", month = dec, year = "1992", coden = "LSCOEX", ISSN = "0892-4635", bibdate = "Fri Feb 12 08:11:22 MST 1999", acknowledgement = ack-nhfb, journalabr = "LISP Symb Comput", } @Article{Dybvig:2000:MSA, author = "R. Kent Dybvig", title = "From Macrogeneration to Syntactic Abstraction", journal = "Higher-Order and Symbolic Computation", volume = "13", number = "1--2", pages = "57--63", month = apr, year = "2000", coden = "LSCOEX", ISSN = "1388-3690", bibdate = "Tue Oct 10 07:41:47 MDT 2000", url = "http://www.wkap.nl/oasis.htm/258015", acknowledgement = ack-nhfb, } @article{Bellegarde&94, author = "Fran\c{c}oise Bellegarde and James Hook", title = "Substitution: A formal methods case study using monads and transformations", journal = "Science of Computer Programming", volume = "23", number = "2--3", pages = "287--311", year = 1994 } @Book{Reps84, Author = "Thomas Reps", Title = "Generating language-based environments", Year = 1984, Publisher = "MIT Press", Address = "Cambridge" } @Unpublished{Machkasova99, author = "Elena Machkasova and Franklyn A. Turbak", title = "A Calculus for Link-time Compilation (Extended Abstract)", note = "(Unpublished manuscript.) By way of Franklyn A. Turbak (\fr{fturbak@wellesley.edu})", OPTkey = {}, year = 1999, OPTannote = {} } @Article{Reynolds:HOSC98, author = "John C. Reynolds", title = "Definitional Interpreters for Higher-Order Programming Languages", journal = "Higher-Order and Symbolic Computation", year = 1998, volume = 11, number = 4, OPTpages = "7-105", note ="(Reprinted from the Proc. 25th {ACM} National Conf. (1972) \cite{Reynolds72})" } @inproceedings{Reynolds72, author = "John C. Reynolds", title = "Definitional Interpreters for higher-order programming languages", booktitle = "ACM National Conf.", pages = "717--740", publisher = "{ACM}", year = 1972 } @inproceedings {Fegaras&94, Author = "Leonidas Fegaras and Tim Sheard and Tong Zhou", Title = "Improving Programs which Recurse over Multiple Inductive Structures", Booktitle = "Proceedings from Workshop on Partial Evaluation and Semantics-Based Program Manipulation", Year = 1994 } @techreport {Hook&93, Author = "James Hook and Tim Sheard", Title = "A Semantics of Compile-time Reflection", Institution = ogicse, Number = "CSE-93-019", note = "Available from \cite{ogi-tr-site}", Year = 1993 } @misc{Hook&95, author = "James Hook and Jeffrey M. Bell", title = "Design of the SDRR Pipeline", year = 1995, note = "In \cite{Pacsoft95}" } @INCOLLECTION{Reynolds74, AUTHOR = {John C. Reynolds}, TITLE = {Towards a theory of types structure}, BOOKTITLE = {Proceedings Colloque sur la Programmation}, PUBLISHER = {Springer-Verlag}, YEAR = 1974, PAGES = "408--423", ADDRESS = "New York" } @INCOLLECTION{Reynolds83, AUTHOR = {John C. Reynolds}, TITLE = {Types, Abstraction and Parametric Polymorphism}, BOOKTITLE = {Information Processing 83}, PUBLISHER = {North-Holland}, YEAR = 1983, PAGES = "513--523", ADDRESS = "Amsterdam" } @unpublished {Kieburtz&93a, Author = "Richard Kieburtz and Jeffrey R. Lewis", Title = "Programming with Algebras", Note = "", Year = 1993 } @InCollection{Rivieres88, author = "Jim des Rivieres", title = "Control-Related Meta-Level Facilities in {LISP}", booktitle = "Meta-Level Architectures and Reflection", pages = "101--110", editor = "Patti Maes and D. Nardi", publisher = "Elsevier Science", address = "North-Holland", keywords = "LISP", year = 1988, } @techreport {Kieburtz&94a, Author = "Richard Kieburtz and Jeffrey R. Lewis", Title = "Algebraic Design Language", Institution=ogicse, Year = 1994, note = "Available from \cite{ogi-tr-site}", Number = "CSE-94-002" } @techreport{Kieburtz&94b, Title = {Calculating Software Generators from Solution Specifications}, Author = {Richard B. Kieburtz and Fran\c{c}oise Bellegarde and Jef Bell \ and James Hook and Jeffrey Lewis and Dina Oliva and Tim Sheard\ and Lisa Walton and Tong Zhou}, Number = "CSE-94-032B", Institution = ogicse, Year = 1994, note = "Available from \cite{ogi-tr-site}", Notes = {A revised version will appear in {TAPSOFT'95} ({LNCS}).} } @PhdThesis{Ruf:93:Thesis, author = "Erik Ruf", title = "Topics in Online Partial Evaluation", school = "Stanford University", year = 1993, OPTkey = {}, OPTaddress = {}, OPTtype = {}, note = "(Also CSL-TR-93-563)", } @InCollection{Russell:OnDenoting, author = "Bertran Russell", title = "On Denoting", booktitle = "Bertrand Russell. Logic and Knowledge. Essays 1901-1950", OPTcrossref = {}, OPTkey = {}, publisher = "Capricorn Books", year = 1971, editor = "Robert Charles Marsh", OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTchapter = {}, OPTtype = {}, OPTaddress = {}, OPTedition = {}, OPTpages = {}, OPTnote = {}, OPTannote = {} } @BOOK{Russell03, AUTHOR = {Bertrand Russell}, TITLE = {Principles of Mathematics}, PUBLISHER = {Cambridge University Press}, Year = 1903, NOTE = {The second edition is published by Norton, New York. There is no date of publication in the work.} } @misc{Kieburtz&95, author = "Richard B. Kieburtz and Jeffrey R. Lewis", title = "Algebraic Design Language (Definition)", year = 1995, note = "In \cite{Pacsoft95}" } @InProceedings{Rytz:92:APolyvariant, author = "B. Rytz and M. Gengler", title = "A Polyvariant Binding Time Analysis", booktitle = PEPM92, publisher = Yale, year = 1992, pages = "21--28", note = "", } @PhDThesis{Sasaki86, Author = "Sasaki, James Toshio", Title = "Extracting Efficient Programms from Constructive Proofs", School = "Cornell University", Address = "Ithaca", Year = 1986, } @TechReport{Schneider87, Author = "Fred B. Schneider", Title = "The State Machine Approach: A Tutorial", Institution = CUCS, Year = 1987 } @InProceedings{SchroederHeister93elp, author = "Peter Schroeder-Heister", title = "Definitional Reflection and the Completion", editor = "R. Dyckhoff", booktitle = "Proc. 4th International Workshop on Extensions of Logic Programming", year = 1993, publisher = "Springer-Verlag LNAI 798", pages = "333--347", keywords = "Pi", } @InProceedings{SchroederHeister93lics, author = "Peter Schroeder-Heister", title = "Rules of Definitional Reflection", editor = "M. Vardi", pages = "222--232", booktitle = "Proc. Eighth Annual {IEEE} Symposium on Logic in Computer Science", address = "Montreal", year = 1993, keywords = "Pi", } @INPROCEEDINGS{Scott70, AUTHOR = {Dana Scott}, TITLE = {Constructive Validity}, BOOKTITLE = {the Symposium on Automatic Demonstration, Lecture Notes in Mathematics }, YEAR = 1970, PUBLISHER = {Springer-Verlag}, ADDRESS = "New York" } @INPROCEEDINGS{Scott72, AUTHOR = {Dana Scott}, TITLE = {Lattice theoretic models for various type-free calculi}, BOOKTITLE = {Proceedings 4th International Congress in Logic, Methodology and the Philosophy of Science}, YEAR = 1972, NOTE = {Bucharest} } @TechReport{SecurityFoundations, Author = "Staff", Title = "Foundations: Theory of Security", Institution = ORA, Year = 1987 } @unpublished{Seldin87, author = "Jonathan P. Seldin", title = "Theory of Mathesis", note = "Internal technical report, Odyssey Research Associates. The Air Force will publish a version of this technical report in the near future.", year = 1987 } @unpublished{Seldin89, author = "Jonathan P. Seldin", title = "On the proof theory of {Coquand}'s calculus of constructions", note = "Presented to the meeting of the Association for Symbolic Logic held at UCLA in January 1989. An abstract will appear in the {\em Journal of Symbolic Logic}.", year = 1989 } @Article{Sestoft:88:Annotated, author = "P. Sestoft and A. V. Zamaulin", title = "Annotated Bibliography on Partial Evaluation and Mixed Computation", journal = "New Generation Computing", year = 1988, OPTkey = {}, volume = 6, number = "2,3", pages = "309--354", OPTnote = "[A copy of this bibliography is constantly updated on the Web.]", } @InProceedings{Seward:93:Polymorphic-Strictness-Analysis, author = "Julian Seward", title = "Polymorphic Strictness Analysis using Frontiers", booktitle = PEPM93, year = 1993, pages = "186--193", publisher = ACM, note = "", } @unpublished {Sheard93a, Author = "Tim Sheard", Title = "Type Parametric Programming with Compile-time Reflection", Year = 1993 } @unpublished {Sheard93b, Author = "Tim Sheard", Title = "Guide to Using {CRML}", Note = "", Year = 1993 } @techreport {Sheard93c, Author = "Tim Sheard", Title = "Type Parametric Programming", Institution = ogicse, Number = "CSE-93-018", note = "Available from \cite{ogi-tr-site}", Year = 1993, } @misc{Sheard95a, author = "Tim Sheard", title = "{HOT} Tool Documentation", year = 1995, note = intooldocs } @misc{Sheard95b, author = "Tim Sheard", title = "Chin, a Program Specializer---{Tool} documentation", year = 1995, note = intooldocs } @Misc{Sheard:94:Attribute, OPTkey = {}, author = "Tim Sheard and Jef Bell", title = "Attribute Grammar Computations in {CRML}", howpublished = "Unpublished manuscript", year = 1994, OPTnote = {}, } @Misc{Sheard:95:WellTyped, OPTkey = {}, author = "Tim Sheard", title = "Well Typed Meta-Programming Systems", howpublished = "Unpublished Draft", year = 1995, OPTnote = {}, } @TechReport{Sheard:96:Hitchhicker, author = "Tim Sheard and Walid Taha", title = "The Hitchhicker's Guide to Writing Program Generators in {MetaML}", institution = "Oregon Graudate Institute", year = 1996, OPTkey = {}, OPTtype = {}, OPTnumber = {}, OPTaddress = {}, OPTnote = {}, } @Unpublished{Sheard:Meta, author = "Tim Sheard", title = "Well Typed Meta-Programming Systems", note = "(Draft)[*]", OPTkey = {}, year = 1995, } @inproceedings{Sheard&93, author = "Tim Sheard and Leonidas Fegaras", title = "A Fold for All Seasons", booktitle = "Proc. Conf. on Functional Programming and Computer Architecture", address = "Copenhagen", year = 1993 } @inproceedings{NielsonNielson:97:Perscriptive, author = "Flemming Nielson and Hanne Riis Nielson", title = "A Prescriptive Framework for Designing Multi-Level Lambda-Calculi", booktitle = "Proc. Symposium on Partial Evaluation and Semantics-Based Program Manipulation", address = "Amsterdam", publisher = ACM, pages = "193--202", year = 1997 } @inproceedings{Launchbury:96:Monadic, author = "John Launchbury and Amr Sabry", title = "Monadic State: Axiomatization and Type Safety", booktitle = "Proc. International Conf. on Functional Programming", address = "Amsterdam", year = 1997 } @inproceedings{Sheard:96:TypeDirected, author = "Tim Sheard", title = "A Type-Directed, On-line Partial Evaluator for a Polymorphic Language", booktitle = "Proc. Symposium on Partial Evaluation and Semantics-Based Program Manipulation", address = "Amsterdam", pages = "22--3", year = 1997 } @techreport {Sheard&94a, Author = "Tim Sheard and Leonidas Fegaras", Title = "Optimizing Algebraic Programs", Institution = ogicse, Number = "CSE-94-004", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @unpublished {Sheard&94b, Author = "Tim Sheard and James Hook", Title = "Meta-Programming Tools for {ML}", Note = "", Year = 1994 } @InProceedings{Singh:FPGA, author = "Santam Singh", title = "Architectural Descriptions for FPGA Circuits", booktitle = "IEEE Symposium on FPGAs for Custom Computing Machines", editor = "Peter Athanas and Kennet L. Pocek", year = 1995, organization = "IEEE", publisher = "IEEE Computer Society Press", address = "Napa Valley", note = "[*]" } @PhdThesis{Smith:82:Reflection, author = "Brian Cantwell Smith", title = "Reflection and Semantics in a Procedural Language", school = "Massachusetts Institute of Technology", year = 1982, OPTkey = {}, OPTaddress = {}, OPTtype = {}, pages = "23--35" } @InProceedings{Smith:84:ReflectionInLisp, author = "Brian Cantwell Smith", title = "Reflection and Semantics in {LISP}", booktitle = POPL, OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1984, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, pages = "23--35", OPTnote = {}, } @INPROCEEDINGS{Staff88a, AUTHOR = {Ulysses Staff}, TITLE = {Ulysses: a computer-security modeling environment}, BOOKTITLE = {Proc. 11th National Computer Security Conf. }, YEAR = 1988, } @techreport {Walton&94a, Author = "Lisa Walton and James Hook", Title = "A Preliminary Definition of a Domain Specific Design Language for Message Translation and Validation", Institution = ogicse, Number = "CSE-94-006", note = "Available from \cite{ogi-tr-site}", Year = 1994 } @techreport{Walton&95a, author = "Lisa Walton and James Hook", title = "Message Specification Language {(MSL)}: A Domain Specific Design Language for Message Translation and Validation", institution = ogicse, note = "Available from \cite{ogi-tr-site}", year = 1995 } @techreport{Walton&95b, author = "Lisa Walton and James Hook", title = "Message Specification Language {(MSL)}: Reference Manual", institution = ogicse, note = "Available from \cite{ogi-tr-site}", year = 1995 } @misc{Walton&95c, author = "Lisa Walton and James Hook", title = "Design Automation: Making formal methods relevant", year = 1995, note = "To be presented at {ICSE-17} Workshop on Formal Methods Application in Software Engineering Practice" } @misc{Walton&95d, author = "Lisa Walton and James Hook", title = "MSL Compiler Tool Documentation", year = 1995, note = intooldocs } @inproceedings{Staff88b, AUTHOR = {Ulysses Staff}, TITLE = {Security Modeling in the {Ulysses} Environment}, BOOKTITLE = {Fourth Aerospace Computer Security Conf.}, YEAR = 1988, } @Book{Stenlund72, Author = "{S\"oren} Stenlund", Title = "Combinators, Lambda-Terms and Proof Theory", Year = 1972, Publisher = "D. Reidel", Address = "Dordrecht" } @InProceedings{Stickel:94:Deductive, author = "Mark Stickel and Richard Waldinger and Michael Lowry and Thomas Pressburger and Ian Underwood", title = "Deductive Composition of Astronomical Software from Subroutine Libraries", booktitle = "12th Conf. on Automated Deduction", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1994, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, pages = "341--355", note = "Available at \cite{Amphion:Page}", } @Book{Stoy77, Author ="Joseph E. Stoy", Title = "Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory", Publisher = "MIT Press", Address = "Cambridge", Year = 1977 } @TechReport{Taha:95:OnUsing, author = "Walid Taha", title = "On Using an OODBMS in a CASE Environment", institution = "The Oregon Graduate Institute", year = 1995, OPTkey = {}, OPTtype = {}, number = "CSE-95-007", OPTaddress = {}, OPTnote = {}, note = "Available from \cite{ogi-tr-site}", } @Article{Georgeff:84, author = "Michael Georgeff", title = "Transformatinos and Reduction Strategies for Typed Lambda Expressions", journal = TOPLAS, year = 1984, OPTkey = {}, volume = 6, number = 4, pages = "603--631", note = {}, } @Unpublished{Taha:96:Intro, author = "Walid Taha", title = "A Quick Introduction to Offline Partial Evaluation and Related Topics", note = "Term Paper", OPTkey = {}, year = 1996, } @InProceedings{Talcott:88:Partial, author = "Carolyn L. Talcott and R. Weyhrauch", title = "Partial Evaluation, Higher-Order Abstractions, and Reflection Principles as System Building Tools", booktitle = PEMC, editor = BEJ, pages = "507--529", publisher = N-H, year = 1988, } @Book{Tourlakis:83:Computability, author = "George J. Tourlakis", title = "Computability", publisher = "Reston", year = 1983, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTedition = {}, OPTnote = {}, } @InCollection{VanHarmelen:89:TheLimitations, author = "F. van Harmelen", title = "The Limitations of Partial Evaluation", booktitle = "Logic-Based Knowledge Representation", publisher = MIT, year = 1989, editor = "P. Jackson and H. Reichgelt and F. van Harmelen", note = "", } @inproceedings{Volpano85, author = "Dennis Volpano and Richard B. Kieburtz", title = "Software Templates", booktitle = "Proc. Eighth International Conf. on Software Engineering", pages = "55--60", publisher = "IEEE Computer Society", year = 1985 } @inproceedings{Volpano89, author = "Dennis Volpano and Richard B. Kieburtz", title = "The templates approach to software reuse", booktitle = "Software Reusability", pages = "247--255", editor = "Ted J. Biggersstaff and Alan J. Perlis", publisher = ACM, year = 1989 } @InCollection{Wand88, author = "Mitchell Wand and Daniel P. Friedman", editor = "P. Maes and D. Nardi", title = "The Mystery of the Tower Revealed: {A} Non-Reflective Description of the Reflective Tower", booktitle = "Meta-Level Architectures and Reflection", pages = "111--134", publisher = "Elsevier Science", year = 1988, } @Article{WandFriedman88, author = "Mitchell Wand and Daniel P. Friedman", title = "The Mystery of the Tower Revealed: {A} Non-Reflective Description of the Reflective Tower", journal = "{LISP} and Symbolic Computation", year = 1988, volume = "1", pages = "11--37", note = "Reprinted in {\it Meta-Level Architectures and Reflection} (P. Maes and D. Nardi, eds.) North-Holland, Amsterdam, 1988, pp. 111--134", } @InProceedings{Yonezawa89, author = "A. Yonezawa and T. Watanabe", title = "An Introduction to Object-Based, Reflective, Concurrent Computation", booktitle = "Proc. Workshop on Object-Based Concurrent Programming, ACM SIGPLAN Notices", pages = "50", year = 1989, abstract = "Extends the notion of reflection to object-based concurrent computation.", note = "Published as Proc. ACM SIGPLAN Workshop on Object-Based Concurrent Programming, ACM SIGPLAN Notices, volume 24, number 4", } @InProceedings{desRivieres:Smith:acm:lfp:1984, author = "Jim des Rivi{\`e}res and Brian Cantewell Smith", title = "The implementation of Procedurally Reflective Languages", crossref = "acm:lfp:1984", pages = "331--347", refs = "18", checked = "19940322", source = "dept. library", sjb = "3-LISP is an extended Scheme.", keywords = "reflection, Lisp, Scheme", abstract = "In a procedurally reflective programming language, all programs are executed not through the agency of a primitive and inaccessible interpreter, but rather by the explicit running of a program that represents that interpreter. In the corresponding virtual machine, therefore, there are an infinite number of levels at which programs are processed, all simultaneously active. It is therefore a substantial question to show whether, and why, a reflective language is computationally tractable. We answer this question by showing how to produce an efficient implementation of a procedurally reflective language, based on the notion of a {\em level-shifting} processor. A series of general techniques, which should be applicable to reflective variants of any standard applicative or imperative programming languages, are illustrated in a complete implementation for a particular reflective LISP dialect called 3-LISP.", reffrom = Queinnec:Cointe:acm:lfp:1988, reffrom = Danvy:Malmkjaer:acm:lfp:1988, reffrom = Bawden:acm:lfp:1988, } @Manual{Wile:POPART, title = "POPART: Produce of Parsers and Related Tools, System Builders' Manual", author = "David S. Wile", organization = "USC/Information Sciences Institute", address = "Marina Del Rey, CA 90292,(310)822-15511,wile@isi.edu", edition = "DRAFT", year = 1993, note = "[via Hook]", } @InProceedings{Bawden99, title = "Quasiquotation in {LISP}", author = "Alan Bawden", booktitle = "Proc. Workshop on Partial Evaluation and Semantics-Based Program Manipulation", editor = "O. Danvy", address = "San Antonio", publisher = "University of Aarhus, Dept. of Computer Science", pages = "88--99", note = "Invited talk", year = 1999 } @inproceedings{Kieburtz&95a, Title = {Calculating Software Generators from Solution Specifications}, Author = {Richard B. Kieburtz and Francoise Bellegarde and Jef Bell and James Hook and Jeffrey Lewis and Dino Oliva and Tim Sheard and Lisa Walton and Tong Zhou}, Booktitle = {{TAPSOFT'95}}, Publisher = {Springer-Verlag}, Series = LNCS, Volume = 915, Pages = "546--560", Year = 1995 } @Inproceedings{Kieburtz&96a, Author = "Richard B. Kieburtz and Laura McKinney and Jeffrey Bell and James Hook and Alex Kotov and Jeffrey Lewis and Dino Oliva and Tim Sheard and Ira Smith and Lisa Walton", Title = "A Software Engineering Experiment in Software Component Generation", Booktitle = "18th International Conf. in Software Engineering", Year = 1996, pages = "542-553", } @Article{Plotkin75, author = "Gordon D. Plotkin", title = "Call-by-name, call-by-value and the lambda-calculus", journal = "Theoretical Computer Science", volume = "1", pages = "125--159", year = 1975, keywords = "lambda calculus call be value call by need normal order lazy evaluation functional programming FP", } @TechReport{Leone&Lee93, year = 1993, author = "Mark Leone and Peter Lee", title = "Deferred Compilation: The Automation of Run-time Code Generation", number = "CMU-CS-93-225", institution = "Carnegie Mellon University" } @Article{Launchbury:95, author = "John Launchbury and Simon L. {Peyton Jones}", title = "State in Haskell", pages = "293--342", journal = "{LISP} and Symbolic Computation", year = 1995, volume = "8", number = "4", note = "pldi94", } @InProceedings{Nielson:96, author = "Flemming Nielson and Hanne Riis Nielson", title = "Multi-Level Lambda-Calculi: An Algebraic Description", booktitle = "Partial Evaluation. Dagstuhl Castle, Germany, February 1996", year = 1996, editor = "O. Danvy and R. Gl{\"u}ck and P. Thiemann", volume = "1110", series = "Lecture Notes in Computer Science", publisher = "Berlin:\ Springer-Verlag", pages = "338--354", } @Book{Nielson:92, author = "Flemming Nielson and Hanne Riis Nielson", title = "Two-Level Functional Languages", publisher = CUP, year = 1992, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, number = 34, series = CUPtracts, address = "Cambridge", OPTedition = {}, note = "", } @InProceedings{Moggi:97, author = "Eugenio Moggi", title = "A categorical account of two-level languages", booktitle = "Mathematics Foundations of Program Semantics", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1997, OPTorganization = {}, publisher = "Elsevier Science", OPTaddress = {}, OPTpages = {}, OPTnote = {}, OPTannote = {} } @InProceedings{TS97, author = {Taha, Walid and Sheard, Tim}, YEAR = 1997, mouth = jun, TITLE = {Multi-Stage Programming with Explicit Annotations}, publisher = "ACM Press", booktitle = {Proc. Symposium on Partial Evaluation and Semantic-Based Program Manipulation {(PEPM)}}, address = "Amsterdam", pages = "203--217", OPTnote = "An extended and revised version appears in \cite{TS00}" } @InProceedings{Auslander:96, title = "Fast, Effective Dynamic Compilation", author = "Joel Auslander and Matthai Philipose and Craig Chambers and Susan J. Eggers and Brian N. Bershad", pages = "149--159", booktitle = "Proc. Conf. on Programming Language Design and Implementation", year = 1996, address = "Philadelphia", } @Article{Batory:95, author = "Don Batory and Jeff Thomas", title = "P2: A Lightweight DBMS Generator", journal = "Journal of Intelligent Information Systems", year = 1995, OPTkey = {}, OPTvolume = {}, OPTnumber = {}, OPTpages = {}, OPTnote = {}, OPTannote = {} } @Article{Batory:97, author = "Don Batory and Bart J. Geraci", title = "Composition Validation and Subjectivity in GenVoca Generators", journal = "IEEE Transactions on Software Engineering", year = 1997, OPTkey = {}, OPTvolume = {}, OPTnumber = {}, OPTpages = "67--82", OPTnote = {}, OPTannote = {} } @Article{Wright:94, title = "A Syntactic Approach to Type Soundness", author = "Andrew K. Wright and Matthias Felleisen", pages = "38--94", journal = "Information and Computation", year = 1994, volume = "115", number = "1", } @InProceedings{Consel:93, author = "Charles Consel and Calton Pu and Jonathan Walpole", title = "Incremental Specialization: The Key to High Performance, Modularity, and Portability in Operating Systems", pages = "44--46", ISBN = "0-89791-594-1", booktitle = "Proc. Symposium on Partial Evaluation and Semantics-Based Program Manipulation", publisher = ACM, address = "New York", year = 1993, } @InProceedings{Consel:96, title = "A General Approach for Run-Time Specialization and its Application to {C}", author = "Charles Consel and Fran{\c{c}}ois No{\"e}l", pages = "145--156", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = 1996, address = "St. Petersburg Beach", } @InProceedings{Davies:96, author = "Rowan Davies and Frank Pfenning", title = "A Modal Analysis of Staged Computation", booktitle = "the Symposium on Principles of Programming Languages {(POPL '96)}", year = 1996, address = "St. Petersburg Beach", pages = "258--270", } @InProceedings{WS99, author = "Mitchell Wand and Igor Siveroni", title = "Constraint Systems for Useless Variable Elimination", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = 1999, pages = "291-302", } @InProceedings{Davies:96b, title = "A Temporal-Logic Approach to Binding-Time Analysis", author = "Rowan Davies", pages = "184--195", booktitle = "the Symposium on Logic in Computer Science {(LICS '96)}", year = 1996, address = "New Brunswick", organization = "IEEE Computer Society Press", } @InCollection{Detlefs:91, author = "David L. Detlefs", title = "Concurrent Garbage Collection for {C++}", booktitle = "Topics in Advanced Language Implementation", editor = "Peter Lee", publisher = "MIT Press", year = 1991, } @InProceedings{Engler:96, author = "Dawson R. Engler", title = "{VCODE} : {A} Retargetable, Extensible, Very Fast Dynamic Code Generation System", pages = "160--170", ISBN = "0-89791-795-2", booktitle = "Proc. Conf. on Programming Language Design and Implemantation", publisher = ACM, address = "New York", year = 1996, } @InProceedings{Engler:96b, title = "{`C}: {A} Language for High-Level, Efficient, and Machine-Independent Dynaic Code Generation", author = "Dawson R. Engler and Wilson C. Hsieh and M. Frans Kaashoek", pages = "131--144", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = 1996, address = "St. Petersburg Beach", } @InProceedings{Glueck:95, author = "Robert Gl{\"u}ck and Jesper J{\o}rgensen", year = 1995, title = "Efficient Multi-Level Generating Extensions for Program Specialization", booktitle = "Programming Languages: Implementations, Logics and Programs (PLILP'95)", editor = "S. D. Swierstra and M. Hermenegildo", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", volume = "982", pages = "259--278", } @InProceedings{Glueck:96, author = "Robert Gl{\"u}ck and Jesper J{\o}rgensen", year = 1996, title = "Fast Binding-Time Analysis for Multi-Level Specialization", booktitle = "Perspectives of System Informatics", editor = "Dines Bj{\o}rner and Manfred Broy and Igor V. Pottosin", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", volume = "1181", pages = "261--272", } @Article{Glueck:97, author = "Robert Gl{\"u}ck and Jesper J{\o}rgensen", year = 1997, title = "An Automatic Program Generator for Multi-Level Specialization", journal = "{LISP} and Symbolic Computation", volume = "10", number = "2", pages = "113--158", } @InProceedings{Grant:97, title = "Annotation-Directed Run-Time Specialization in~{C}", author = "Brian Grant and Markus Mock and Matthai Philipose and Craig Chambers and Susan J. Eggers", pages = "163--178", booktitle = "Proc. Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = 1997, address = "Amsterdam", ISBN = "ISBN 0-89791-917-3", } @InProceedings{Guillermo:97, author = "Guillermo Jimenez-Perez and Don Batory", title = "Memory Simulators and Software Generators", booktitle = "the Symposium on Software Reuse", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1997, OPTorganization = {}, OPTpublisher = {}, OPTaddress = {}, pages = "136--145", OPTnote = {}, OPTannote = {} } @INCOLLECTION{Huet:91, AUTHOR = {Huet, G. and L{\'e}vy, J.-J.}, TITLE = {Computations in Orthogonal Rewriting Systems, {I}}, BOOKTITLE = {Computational Logic}, PAGES = "395--414", EDITOR = {Lassez, J.-L. and Plotkin, G.}, PUBLISHER = "MIT press", YEAR = 1991, CHAPTER = {11} } @InCollection{Klop:92, author = {Klop, J. W.}, title = {Term Rewriting Systems}, volume = 2, pages = "1--116", booktitle = {Handbook of Logic in Computer Science}, publisher = {Oxford University Press}, year = 1992, editor = {S. Abramsky and Dov M. Gabbay and T. S. E. Maibaum} } @InProceedings{Koopman:89, title = "Cache Performance of Combinator Graph Reduction", author = "Philip J. Koopman and Peter Lee and Daniel P. Siewiorek", booktitle = "Proc. Conf. on Programming Languages Design and Implementation", address = "Portland", year = 1989, publisher = ACM, series = "ACM SIGPLAN Notices", volume = "24(7)", pages = "110--119", } @InProceedings{Koopman:89b, author = "Philip J. {Koopman, Jr.} and Peter Lee", title = "A Fresh Look at Combinator Graph Reduction", pages = "110--119", ISBN = "0-89791-306-X", editor = "Bruce Knobe", booktitle = "Proc. Conf. on Programming Language Design and Implementation ({SIGPLAN} '89)", address = "Portland", year = 1989, publisher = ACM, } @Article{Lee:88, key = "Lee, {\em et al.}", author = "Peter Lee and Frank Pfenning and Gene Rollins and William Scherlis", title = "The Ergo Support System: An Integrated Set of Tools for Prototyping Integrated Environments", journal = "ACM SIGSOFT Software Engineering Notes", volume = "13", number = "5", year = 1988, pages = "25--34", note = "Proc. Software Engineering Symposium on Practical Software Development Environments", annote = "Prototyping formal methods. 30 references.", } @Book{Lee:89, author = "Peter Lee", title = "Realistic Compiler Generation", year = 1989, publisher = "MIT Press", series = "Foundations of Computing Series", annote = "This book is based on {\em High-Level Semantics\/}, which is essentially a variant of action semantics, especially suited to the purposes of compiler generation for conventional programming languages.", keywords = "action semantics", } @InProceedings{Lee:96, author = "Peter Lee and Mark Leone", title = "Optimizing {ML} with Run-Time Code Generation", pages = "137--148", ISBN = "0-89791-795-2", booktitle = "Proceedingsof the Conf. on Programming Language Design and Implemantation", publisher = ACM, address = "New York", year = 1996, } @TechReport{Leone:93, author = "Mark Leone and Peter Lee", institution = "Carnegie Mellon, Department of Computer Science", title = "Deferred Compilation: The Automation of Run-Time Code Generation", year = 1993, address = "Pittsburgh", url = "ftp://reports.adm.cs.cmu.edu/usr0/anon/1993/CMU-CS-93-225.ps", number = "CMU-CS-93-225", } @InProceedings{Leone:94, author = "Mark Leone and Peter Lee", booktitle = "Proc. Workshop on Partial Evaluation and Semantics-Based Program Manipulation", title = "Lightweight Run-Time Code Generation", year = 1994, url = "ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/papers/lw-rtcg.ps", pages = "97--106", publisher = "Technical Report 94/9, Department of Computer Science, University of Melbourne", } @TechReport{Leone:95, author = "Mark Leone and Peter Lee", institution = "School of Computer Science, Carnegie Mellon University", title = "Optimizing {ML} with Run-Time Code Generation", year = 1995, address = "Pittsburgh", url = "http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/papers/ml-rtcg.ps", keywords = "Run-time code generation, dynamic optimization, partial evaluation, specialization, staged computation", number = "CMU-CS-95-205", } @InProceedings{Leone:96, author = "Mark Leone and Peter Lee", title = "{A} Declarative Approach to Run-Time Code Generation", year = 1996, url = "http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/papers/declarative-rtcg.ps", keywords = "run-time code generation, dynamic optimization, specialization, partial evaluation", scope = "implemen", booktitle = "Workshop on Compiler Support for System Software (WCSSS)", } @InProceedings{implicit, author = "Jeffrey R. Lewis and John Launchbury and Erik Meijer and Mark Shields", title = "Implicit Parameters: Dynamic Scoping with Static Types.", pages = "108--118", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", month = jan # " ~19--21", publisher = "ACM Press", address = "N.Y.", year = "2000", } @PhdThesis{Okasaki96, author = "Chris Okasaki", title = "Purely Functional Data Structures", school = "School of Computer Science, Carnegie Mellon University", year = 1996, OPTkey = {}, OPTaddress = {}, OPTtype = {}, OPTnote = {}, OPTannote = {} } @InProceedings{okasakiViews, author = "Chris Okasaki", title = "Views for Standard ML", booktitle = "ACM SIGPLAN Workshop on ML", OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = 1998, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTmonth = {}, OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @Article{Okasaki:94, author = "Chris Okasaki and Peter Lee and David Tarditi", journal = "{LISP} and Symbolic Computation", title = "Call-by-need and Continuation-passing Style", year = 1994, url = "http://foxnet.cs.cmu.edu/people/cokasaki/lazy-cps.ps", keywords = "call-by-need, continuation-passing style, continuations, lazy evaluation", number = "1", pages = "57--82", volume = "7", } @InProceedings{Pfenning:88, author = "Frank Pfenning and Peter Lee", title = "{LEAP}: {A} Language with Eval And Polymorphism", editor = "Josep D{\'\i}az and Fernando Orejas", booktitle = "{TAPSOFT}'89: Proc. International Joint Conf. on Theory and Practice of Software Development,", year = "1989", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", volume = "352", pages = "345--359", } @InProceedings{Pu:97, author = "Calton Pu and Andrew Black and Crispin Cowan and Jonathan Walpole", title = "Microlanguages for Operating System Specialization", booktitle = "Proc. Workshop on Domain-Specific Languages", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1997, OPTorganization = {}, OPTpublisher = {}, address = "Paris", OPTpages = {}, OPTnote = {}, OPTannote = {} } In Proc. 1998 , Baltimore, Maryland, September 1998. @InProceedings{Yang:1999:ETM, author = "Zhe Yang", title = "Encoding Types in {ML}-like Languages", booktitle = "Proc. International Conf. on Functional Programming ({ICFP})", pages = "289--300", publisher = ACM, address = "Baltimore", year = "1998", } @InProceedings{Sperber:96, title = "Realistic Compilation by Partial Evaluation", author = "Michael Sperber and Peter Thiemann", pages = "206--214", booktitle = "Proc. Conf. on Programming Language Design and Implementation", year = 1996, address = "Philadelphia", } @InProceedings{Sperber:97, title = "Two for the Price of One: Composing Partial Evaluation and Compilation", author = "Michael Sperber and Peter Thiemann", booktitle = "Proc. Conf. on Programming Language Design and Implementation ({PLDI})", address = "Las Vegas", year = 1997, pages = "215--225", } @TechReport{TahaBenaissaSheard97, author = {Taha, Walid and Benaissa, Zine-el-abidine and Sheard, Tim}, title = {The essence of staged programming}, institution = {OGI}, number = {}, address = "Portland", year = 1997, keywords = "metaml" } @TechReport{Tarditi:90, author = "David Tarditi and Anurag Acharya and Peter Lee", institution = "School of Computer Science, Carnegie Mellon University", title = "No assembly required: Compiling Standard {ML} to {C}", year = 1990, url = "ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c/sml2c-techreport.ps", number = "CMU-CS-90-187", } @InProceedings{Thiemann:96, title = "Cogen in Six Lines", author = "Peter J. Thiemann", pages = "180--189", booktitle = "Proc. 1996 International Conf. on Functional Programming", year = 1996, address = "Philadelphia", } @Article{Touretzky:89, key = "Touretzky \& Lee", author = "David S. Touretzky and Peter Lee", title = "Visualizing Evaluation in Applicative Languages", journal = "CACM", year = 1992, volume = "35", number = "10", pages = "49--59", OPTannote = "7 references.", } @InProceedings{Volanschi:96, author = "Eugen-Nicolae Volanschi and Gilles Muller and Charles Consel", title = "Safe Operating System Specialization: the RPC Case Study", booktitle = "1st Workshop on Compiler Support for System Software (WCSSS'96)", OPTcrossref = {}, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = 1996, OPTorganization = {}, OPTpublisher = {}, address = "Tuscon", OPTpages = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Waldinger:94, author = "Richard Waldinger and Michael Lowry", title = "{AMPHION}: Towards kinder, gentler formal methods", booktitle = "Proc. 1994 Monterey Workshop on Formal Methods", year = 1994, organization = "{U.S. Naval Postgraduate School}", } @InProceedings{SSP98, author = "Mark Shields and Tim Sheard and Simon L. {Peyton Jones}", title = "Dynamic Typing through Staged Type Inference", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = 1998, OPTorganization = {}, pages = "289--302", } @InProceedings{HengleinMossin94, author = "Fritz Henglein and Christian Mossin", title = "Polymorphic Binding-Time Analysis", year = 1994, pages = "287--301" , booktitle = "Programming Languages and Systems - ESOP\'94\, 5th European Symposium on Programming", editor = "Donald Sannella", volume = "788", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", isbn = "ISBN 3-540-57880-3", address = "Edinburgh", } @TechReport{Albano90, author = "A. Albano and A. L. Brown and A. Dearle and R. C. H. Connor and L. Fegaras and G. Ghelli and R. Hull and C. D. Marlin and F. Matthes and R. Morrison and R. Orsini and J. W. Schmidt and T. Sheard and D. Stemple", title = "Type Systems and Database Programming Languages", institution = "University of St Andrews", number = "CS/90/3", year = 1990, } @Unpublished{CRML, author = "Tim Sheard", title = "Guide to using {CRML}, Compile-Time Reflective {ML}", note = "Available \fr{http://www.cse.ogi.edu/\es{sheard}/CRML.html}", OPTkey = {}, year = 1993, OPTannote = {} } @TechReport{CSE-92-015, author = "James Hook and Dick Kieburtz and Tim Sheard", title = "Generating Programs by Reflection", institution = "Oregon Graduate Institute", year = 1992, OPTkey = {}, OPTtype = {}, number = "CSE-92-015", OPTaddress = {}, OPTnote = {}, note = "Available from \cite{ogi-tr-site}", OPTannote = {} } @TechReport{CSE-93-018, author = "Tim Sheard", title = "Type Parametric Programming", institution = "Oregon Graduate Institute", year = 1993, note = "Available from \cite{ogi-tr-site}", OPTkey = {}, OPTtype = {}, number = "CSE-93-018", OPTaddress = {}, OPTnote = {}, OPTannote = {} } @TechReport{CSE-93-019, author = "James Hook and Tim Sheard", title = "A Semantics of Compile-time Reflection", institution = "Oregon Graduate Institute", year = 1993, OPTkey = "Oregon Graduate Institute", OPTtype = {}, number = "CSE 93-019", OPTaddress = {}, note = "Available from \cite{ogi-tr-site}", OPTnote = {}, OPTannote = {} } @TechReport{CSE-94-032B, author = "Richard Kieburtz and Francoise Bellegarde and Jef Bell and James Hook and Jeffrey Lewis and Dino Oliva and Tim Sheard and Lisa Walton and Tong Zhou", title = "Calculating Software Generators from Solution Specifications", institution = "Oregon Graduate Institute", year = 1994, OPTkey = {}, OPTtype = {}, note = "Available from \cite{ogi-tr-site}", number = "CSE-94-032B", OPTaddress = {}, OPTnote = {}, OPTannote = {} } @InProceedings{CMT00, author = {Calcagno, Cristiano and Moggi, Eugenio and Taha, Walid}, title = "Closed Types as a Simple Approach to Safe Imperative Multi-Stage Programming", booktitle = "the International Colloquium on Automata, Languages, and Programming {(ICALP '00)}", year = 2000, series = LNCS, volume = 1853, pages = "25--36", address = "Geneva", publisher = "Springer-Verlag", } @InProceedings{SBP99, author = "Sheard, Tim and Benaissa, Zine El-Abidine and Pa\v{s}ali\'{c}, Emir", title = "{DSL} Implementation Using Staging and Monads ", booktitle = "2nd. Conf. on Domain-Specific Languages (DSL'99)", year = "1999", address = "Austin, Texas", } @Article{Sheard:1999:UMS, author = "T. Sheard", title = "Using {MetaML}: {A} Staged Programming Language", journal = "Lecture Notes in Computer Science", volume = "1608", pages = "207--239", year = "1999", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Mon Sep 13 16:57:02 MDT 1999", acknowledgement = ack-nhfb, } @InProceedings{TBS98, author = {Taha, Walid and Benaissa, Zine-El-Abidine and Sheard, Tim}, title = "Multi-Stage Programming: Axiomatization and Type-Safety", booktitle = "25th International Colloquium on Automata, Languages, and Programming {(ICALP)}", year = 1998, series = LNCS, volume = 1443, pages = "918--929", address = "Aalborg", } @TechReport{CSE-98-002, author = "Walid Taha and Zine-El-Abidine Benaissa and Tim Sheard", title = "Multi-Stage Programming: Axiomatization and Type Safety", institution = "Oregon Graduate Institute", year = 1998, OPTkey = {}, OPTtype = {}, number = "CSE-98-002", OPTaddress = {}, OPTnote = {}, note = "Available from \cite{ogi-tr-site}", OPTannote = {} } @InProceedings{Hornof1997, title = "Accurate Binding-Time Analysis for Imperative Languages: Flow, Context, and Return Sensitivity", author = "Luke Hornof and Jacques Noy{\'e}", pages = "63--73", booktitle = "Proc. Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = 1997, address = "Amsterdam", ISBN = "ISBN 0-89791-917-3", annote= "Run-time code generation systems that performs automatic BTA. It is actually preceded by both alias and side-effect analyses [to deal with effects]. In general, Tempo is fully automated given user-supplied binding-time declarations of the program inputs, of course." } @InProceedings{Hornof1997B, title = "Effective specialization of realistic programs via use sensitivity", author = "Luke Hornof and Charles Consel and Jacques Noy{\'e}", pages = "293--314", booktitle = "SAS 1997", year = 1997, address = "Paris", ISBN = {}, annote= {} } @PhdThesis{HornofThesis, author = "Luke Hornof", title = "Static Analyses for the Effective Specialization of Realistic Programs", school = "University of Rennes", year = 1997, OPTkey = {}, address = "France", OPTtype = {}, OPTnote = {}, OPTannote = {} } @PhdThesis{IB-B881033, author = "Timothy E. Sheard", title = "Proving the Consistency of Database Transactions", address = "Ann Arbor", year = 1985, descriptor = "Automatisches Beweisen, Datenbankentwurf, Datenbanksystem, Formale Spezifikation, Integritaet, Logik, Relationenalgebra, Transaktion, Verifikation", } @InProceedings{Jones:96:whatnot, author = "Neil D. Jones", year = 1996, title = "What Not to Do When Writing an Interpreter for Specialisation", booktitle = "Partial Evaluation", editor = "Olivier Danvy and Robert Gl{\"u}ck and Peter Thiemann", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", volume = "1110", pages = "216--237", summary = "", semno = "D-266", puf = "Artikel i proceedings (med censur)", id = "KonR", } @Article{Sheard:1991:AGU, author = "Tim Sheard", title = "Automatic Generation and Use of Abstract Structure Operators", journal = "ACM Transactions on Programming Languages and Systems", volume = "13", number = "4", pages = "531--557", year = 1991, coden = "ATPSDT", ISSN = "0164-0925", bibdate = "Fri Jan 5 07:58:42 MST 1996", url = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115369.html", acknowledgement = ack-nhfb # " and " # ack-pb, keywords = "algorithms; design; languages", subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Abstract data types. {\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Recursion. {\bf D.1.1}: Software, PROGRAMMING TECHNIQUES, Applicative (Functional) Programming.", } @InProceedings{Hughes, author = "R.J.M. Hughes", title = "{Lazy memo-functions}", booktitle = "Functional Programming Languages and Computer Architecture", publisher = "Springer-Verlag LNCS 201", pages = "129--146", year = "1985", } @InProceedings{Cook, title = "Disposable memo Functions (Extended Abstract)", author = "Byron Cook and John Launchbury", pages = "310", booktitle = "Proc. 1997 International Conf. on Functional Programming", year = "1997", address = "Amsterdam, The Netherlands", } @TechReport{Stemple92a, author = "D. Stemple and R. B. Stanton and T. Sheard and P. Philbrow and R. Morrison and G. N. C. Kirby and L. Fegaras and R. L. Cooper and R. C. H. Connor and M. P. Atkinson and S. Alagic", title = "Type-Safe Linguistic Reflection: {A} Generator Technology", institution = "ESPRIT BRA Project 3070 FIDE", number = "FIDE/92/49", year = 1992, url = "http://www-ppg.dcs.st-and.ac.uk/Publications/1992.html#linguistic.reflection", abstract = "Reflective systems allow their own structures to be altered from within. In a programming system reflection can occur in two ways: by a program altering its own interpretation or by it changing itself. Reflection has been used to facilitate the production and evolution of data and programs in database and programming language systems. This paper is concerned with a particular style of reflection, called linguistic reflection, used in compiled, strongly typed languages. Two major techniques for this have evolved: compile-time reflection and run-time reflection. These techniques are described together with a definition and anatomy of reflective systems using them. Two illustrative examples are given and the uses of type-safe reflective techniques in a database programming language context are surveyed. These include attaining high levels of genericity, accommodating changes in systems, implementing data models, optimising implementations and validating specifications.", } @TechReport{TRPL, author = "Tim Sheard", title = "A user's guide to {TRPL}, A compile-time reflective programming language", institution = "Dept. of Computer and Information Science, University of Massachusetts", year = 1990, OPTkey = {}, OPTtype = {}, number = "COINS 90-109", OPTaddress = "Amherst", OPTnote = {}, OPTannote = {} } @InProceedings{Clinger:91, author = "William Clinger and Jonathan Rees", title = "Macros That Work", pages = "155--162", ISBN = "0-89791-419-8", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", address = "Orlando", year = 1991, publisher = ACM, } @Book{SML, author = "Robin Milner and Mads Tofte and Robert Harper and David MacQueen", year = 1997, title = "The {Definition} of {Standard ML} (Revised)", publisher = "MIT Press", } @Book{Curry:Feys:58, author = "Haskell Brookes Curry and Robert Feys", title = "Combinatory Logic, Volume {I}", series = "Studies in Logic and the Foundations of Mathematics", publisher = "North-Holland", address = "Amsterdam", year = 1958, pages = "xvi+417", comments = "with two sections by William Craig", note = "Second printing 1968", callno = "510.1 C97c", checked = "19 January 1986", } @Book{DiCosmo95, author = "Roberto {Di~Cosmo}", title = "Isomorphisms of Types: from $\lambda$-calculus to information retrieval and language design", publisher = {Birkh\"{a}user}, year = 1995, OPTkey = {}, OPTeditor = "Ronald V. Book", OPTvolume = {}, OPTnumber = {}, series = "Progress in Theoretical Computer Science", OPTaddress = {}, OPTedition = {}, OPTnote = {}, OPTannote = {} } @TechReport{Sheard:95:Generators, author = "Tim Sheard and Neal Nelson", title = "Type safe abstractions using program generators", institution = "Oregon Graduate Institute", year = 1995, OPTkey = {}, OPTtype = {}, number = "CSE-95-013", OPTaddress = "", OPTnote = {}, note = "Available from \cite{ogi-tr-site}", OPTannote = {} } @Book{Aho:86:Compilers, author = "Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman", title = "Compilers Principles, Techniques, and Tools", publisher = "Addison Wesley", ISBN = "0-201-10194-7", year = 1986, reffrom = "Lipton:Snyder:fdopc:1978", reffrom = "Cardelli:acm:lfp:1984", reffrom = "Shyu:acm:sigplan:1986", reffrom = "Karinthi:Weiser:iait:1987", reffrom = "Koskimies:Paakki:iait:1987", reffrom = "Offutt:King:iait:1987", reffrom = "Norman:acm:lfp:1988", reffrom = "Mossenbock:spe:1988", reffrom = "Consel:esop:1988", reffrom = "Jones:acm:sigplan:1988", reffrom = "Paakki:acm:sigplan:1988", reffrom = "Snelting:acm:sigplan:1990", reffrom = "vanHorebeek:Lewi:acm:sigplan:1990", reffrom = "Dobler:Pirklbauer:acm:sigplan:1990", reffrom = "Burshtenyn:acm:sigplan:1990", reffrom = "Berlin:Wise:ieee:c:1990", reffrom = "Hanson:acm:lfp:1990", reffrom = "Consel:acm:lfp:1990", reffrom = "Rosendahl:agata:1990", reffrom = "Augusteijn:agata:1990", reffrom = "Smesters:Nocker:vanGronigen:Plasmeijer:fplca:1991", reffrom = "Mauny:deRauglaudre:acm:lfp:1992", reffrom = "Nielson:Nielson:acm:lfp:1992", reffrom = "Flanagan:Sabry:Duba:Felleisen:acm:pldi:1993", reffrom = "Baker:acm:om:1993", } @Article{Gomard:91:Untyped, author = "Carsten K. Gomard and Neil D. Jones", title = "A Partial Evaluator for untyped lambda calculus", journal = "Journal of Functional Programming", volume = "1", number = "1", pages = "21--69", year = 1991, reffrom = "Bondorf:acm:lfp:1992", } @InProceedings{Hatcliff:96:Reasoning, author = "John Hatcliff and Robert Gl{\"u}ck", year = 1996, title = "Reasoning about hierarchies of online specialization systems", booktitle = "Partial Evaluation", editor = "Olivier Danvy and Robert Gl{\"u}ck and Peter Thiemann", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", volume = "1110", pages = "161--182", keywords = "program specialization, program transformation, metacomputation, metasystem transition", summary = "We present the language S-Graph-n --- the core of a multilevel metaprogramming environment for exploring foundational issues of self-applicable online program specialization. We illustrate how special-purpose S-Graph-n primitives can be used to obtain an efficient and conceptually simple encoding of programs as data objects. The key feature of the encoding scheme is the use of numerical indices which indicate the number of times that a program piece has been encoded. Evaluation of S-Graph-n is formalized via an operational semantics. This semantics is used to justify the fundamental operations on metavariables --- special-purpose tags for tracking unknown values in self-applicable online specialization systems. We show how metavariables can be used to construct biased generating extensions without relying on a separate binding-time analysis phase.", semno = "D-269", puf = "Artikel i proceedings (med censur)", id = "KonR", } @InProceedings{Meijer1991:Bananas, author = "E. Meijer and M. M. Fokkinga and R. Paterson", booktitle = "Functional Programming and Computer Architecture", title = "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire", year = 1991, abstract-url = "http://hydra.cs.utwente.nl/~fokkinga/mmf91m.html", pages = "124--144", publisher = "Springer-Verlag", scope = "trans", } @InProceedings{Meijer:95:Exponential, author = "Erik Meijer and Graham Hutton", title = "Bananas in Space: Extending Fold and Unfold to Exponential Types", booktitle = "Proc. International Conf. on Functional Programming Languages and Computer Architecture (FPCA)", address = "La Jolla", organization = "ACM SIGPLAN/SIGARCH and IFIP WG2.8", publisher = ACM, url = "http://www.cs.nott.ac.uk/Department/Staff/gmh/bananas.ps", year = 1995, pages = "324--333", } @Article{Mogensen:92:Efficient, semno = "D-101", author = "Torben {\AE}. Mogensen", title = "Efficient Self-Interpretation in Lambda Calculus", journal = "Functional Programming", year = 1992, volume = "2", number = "3", pages = "345--364", summary = "A compact representation of $\lambda$-terms in pure lambda calculus is presented and it is shown that this gives possibility for efficient self-interpretation and self-reduction. The representation also gives an efficient construction of the second recursion theorem. Proofs or proof outlines are given of all constructions.", keywords = "lambda calculus, representation, self-interpretation, second recursion theorem, self-reduction", } @InProceedings{Nielson:95:Correctness, author = "Flemming Nielson", title = "Correctness of code generation from a two-level meta-language", pages = "30--40", ISBN = "3-540-16442-1", editor = "B. Robinet and R. Wilhelm", booktitle = "Proc. European Symposium on Programming ({ESOP} 86)", address = "Saarbr{\"u}cken", year = 1986, series = LNCS, volume = "213", publisher = "Springer", } @InCollection{Nielson89, author = "Flemming Nielson", editor = "K. Odijk and M. Rem and J.-C. Syre", title = "The Typed $\lambda$-Calculus with First-Class Processes", booktitle = "PARLE '89: Parallel Languages and Architectures Europe, volume 1", pages = "357--373", publisher = "Springer-Verlag", address = "New York", year = 1989, keywords = "lambda calculus CCS CSP functional", abstract = "The author extends the typed lambda-calculus with CCS- or CSP-like processes and allows these to be first-class citizens just as functions are first-class citizend in functional languages. The main novel feature of the language is the use of types to record the communication possibilities possessed by processes and in this we give up the causality between communications, i.e. the types do not model whether or not one communication may takeplace before another. In analogy with the semantics of the lambda-calculus, and of CCS, we develop a structural operational semantics for the language. We then prove that the operational semantics preserves the types and we use this to give examples of `errors' that cannot arise for well-typed programs.", note = "Lecture Notes in Computer Science 365.", } @InCollection{Nielson87, author = "Flemming Nielson", title = "A formal type system for comparing partial evaluators", editor = "D Bj{\o}rner and Ershov and Jones", booktitle = "Proc. workshop on Partial Evaluation and Mixed Computation (1987)", pages = "349--384", publisher = "North-Holland", year = 1988, } @InProceedings{PeytonJones:91:Unboxed, author = "Simon L. {Peyton Jones} and John Launchbury", booktitle = "Functional Programming and Computer Architecture", title = "Unboxed values as first class citizens in a non-strict functional language", year = 1991, document-size = "96.9 kbytes", url = "ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/papers/unboxed-values.ps.Z", scope = "implemen", } @Book{Tennent:91:Semantics, author = "Robert D. Tennent", title = "Semantics of Programming Languages", publisher = "Prentice Hall", address = "New York", year = 1991, pages = "7", ISBN = "0-13-805607-2 (hardcover) 0-13-805599-8 (paperback)", callno = "QA76.7.T473", checked = "13 August 1992", } @Book{Quine:71:LPV, author = "Willard van Orman Quine", title = "From a Logical Point of View", publisher = "Harper \& Row", year = 1971, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, series = "Logic-Philosphical Essays", OPTaddress = {}, edition = "Second, revised", OPTannote = {} } @Book{WhiteheadRussell:Principia, author = "Alfred North Whitehead and Bertrand Russell", title = "Principia Mathematica", publisher = "Cambridge University Press", address = "Cambridge", year = 1925, } @Book{quine:1963a, author = "Willard van Orman Quine", title = "Set Theory and Its Logic", publisher = "Harvard University Press", year = 1963, address = "Cambridge", } @Book{Quine:51:ML, author = "Willard van Orman Quine", title = "Mathematical Logic", publisher = "Harvard University Press", year = 1951, OPTkey = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, edition = "Revised", note = "First published in 1940 by Norton", OPTannote = {} } @PhdThesis{Schmidt81, author = "D. A. Schmidt", title = "Compiler Generation from Lambda Calculus Definitions of Programming Languages", school = "Kansas State University", type = "Ph.{D}. Thesis", address = "Manhattan", year = 1981, keywords = "functional", } @InProceedings{Mosses76, author = "P. D. Mosses", title = "Compiler Generation Using Denotational Semantics", pages = "436--441", ISBN = "3-540-07854-1", editor = "A. Mazurkiewicz", booktitle = "Proc. 5th Symposium on Mathematical Foundations of Computer Science", address = "Gda{\'n}sk", year = 1976, series = LNCS, volume = "45", publisher = "Springer", } @PhdThesis{Palsberg92, author = "Jens Palsberg", title = "Provably Correct Compiler Generation", year = 1992, school = "Department of Computer Science, University of Aarhus", note = "xii+224 pages", annote = "We have designed , implemented, and proved the correctness of a compiler generator that accepts action semantic descriptions of imperative programming languages. We have used it to generate compilers for both a toy language and a non-trivial subset of Ada. The generated compliers emit absolute code for an abstract RISC machine language that is assembled into code for the SPARC and the HP Precision Architecture. The generated code is an order of magnitude better than that produced by compilers generated by the classical systems of Mosses, Paulson, and Wand. Our machine language needs no runtime type-checking and is thus more realistic than those considered in previous compiler proofs. We use solely algebraic specifications; proofs are given in the initial model. The use of action semantics makes the processable language specification easy to read and pleasant to work with. We view our compiler generator as the first step towards user-friendly and automatic generation of realistic and provably correct compilers.", keywords = "action semantics", available = "Aarhus: DAIMI PB-422", } @Book{Lee89, author = "Peter Lee", title = "Realistic Compiler Generation", year = 1989, publisher = "MIT Press", series = "Foundations of Computing Series", annote = "This book is based on {\em High-Level Semantics\/}, which is essentially a variant of action semantics, especially suited to the purposes of compiler generation for conventional programming languages.", keywords = "action semantics", } @Book{Tofte90, semno = "D-85", author = "Mads Tofte", title = "Compiler Generators - What They Can Do, What They Might Do and What They Probably Never Do", publisher = "Springer-Verlag", year = 1990, volume = "19", summary = "Contains a description of the CERES Compiler Generator and other systems. CERES was developed by Neil Jones and Mads Tofte.", keywords = "compiler generation, CERES", } @Proceedings{Jones80, editor = "Neil D. Jones", title = "Proceedings of a Workshop on Semantics-Directed Compiler Generation", booktitle = "Proceedings of a Workshop on Semantics-Directed Compiler Generation", publisher = "Springer Verlag", series = "Lecture Notes in Computer Science", volume = "94", year = 1980, reffrom = "Hannan:Miller:acm:lfp:1990", } @Book{Paulson, author = "Larry Paulson", edition = "Second", publisher = "Cambridge University Press", title = "{ML} for the Working Programmer", year = 1992, }@Book{Reade89, key = "Reade", author = "Chris Reade", title = "Elements of Functional Programming", publisher = "Addison-Wesley", year = 1989, series = "International Computer Science Series", address = "Wokingham", }@InCollection{Paulson84, author = "Lawrence Paulson", title = "Compiler Generation from Denotational Semantics", editor = "B. Lorho", booktitle = "Methods and Tools for Compiler Construction", publisher = "Cambridge University Press", year = 1984, pages = "219--250", reffrom = "Rosendahl:agata:1990", } @InProceedings{wand84, author = "M. Wand", title = "From Interpreter to Compiler: {A} Representational Derivation", booktitle = "Programs as Data Objects", editor = "H. Ganzinger and N. D. Jones", organization = "Springer-Verlag LNCS, Vol. 217", pages = "306--324", year = 1984, } @Article{Clinger84, author = "William Clinger", year = 1984, journal = "Conf. Record of the 1984 ACM Symposium on {LISP} and Functional Programming", pages = "356--364", title = "The {S}cheme 311 compiler: An Exercise in Denotational Semantics", } @Article{Cohen85, key = "Cohen", author = "Jacques Cohen", title = "Describing Prolog by Its Interpretation and Compilation", journal = "CACM", volume = "28", number = "12", year = 1985, pages = "1311--1324", annote = "Overview of Prolog. Good bibliography. 47 references.", } @Book{McKeeman70, key = "McKeeman \& Horning \& Wortman", author = "William M. McKeeman and James J. Horning and David B. Wortman", title = "A Compiler Generator", publisher = "Prentice-Hall", year = 1970, address = "Englewood Cliffs", annote = "44 refrences.", } @InProceedings{Hilsdale95, author = "E. Hilsdale and J. M. Ashley and R. K. Dybvig and D. P. Friedman", title = "Compiler construction using {S}cheme", series = LNCS, volume = "1022", pages = "251--??", year = 1995, coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Sat May 11 13:45:32 MDT 1996", acknowledgement = ack-nhfb, } @InProceedings{Lori85, author = "Lori L. Pollock and Mary Lou Soffa", title = "Incremental Compilation of Optimized Code", pages = "152--164", ISBN = "0-89791-147-4", editor = "Brian K. Reid", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", address = "New Orleans", year = 1985, publisher = ACM, } @InProceedings{Cheatham94, author = "T. Cheatham", title = "Models, Languages, and Compiler Technology for High Performance Computers", series = LNCS, volume = "841", pages = "3--??", year = 1994, coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Mon May 13 11:52:14 MDT 1996", acknowledgement = ack-nhfb, } @InProceedings{TH98, author = "Walid Taha and Jim Hook", title = "The Anatomy of a Component Generation System", booktitle = "International Workshop on the Principles of Software Evolution", address = "Kyoto", year = 1998, } @Article{TS00, author = "Walid Taha and Tim Sheard", title = "{MetaML}: Multi-Stage Programming with Explicit Annotations", journal = "Theoretical Comp. Sci.", year = "2000", volume = 248, number = "1-2", } @Article{Partsch83, author = "H. Partsch and R. Stein Brueggen", title = "Program Transformation Systems", journal = "ACM Computing Surveys", year = 1983, volume = "15", number = "3", pages = "199--237", annote = "My favorite. :) (WT) [R-2]" } @Book{Smith96, author = "Brian Cantwell Smith", title = "On The Origin of Objects", publisher = "MIT Press", year = 1996, } @Article{Betz:1994, author = "Mark Betz", title = "Interoperable objects", journal = "Dr. Dobb's Journal of Software Tools", volume = "19", number = "11", pages = "18--20, 24--26, 28, 32, 34, 36--39", year = 1994, coden = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jan 9 09:35:43 MST 1997", abstract = "If the next great battle in the computing wars revolves around interoperable (or component) objects, you'd beeter know who the combatants are and what their arsenals hold. Mark analyzes the specification and proposals, ranging from CORBA and SOM DSOM to COM and OpenDoc.", acknowledgement = ack-nhfb, classification = "722.4; 723.1; 723.2; 723.5; 722.2; 723.1.1; C6150N (Distributed systems); C6110J (Object-oriented programming)", journalabr = "Dr Dobb's J Software Tools Prof Program", keywords = "C (programming language); COM; Compound documents; Computer architecture; Computer hardware; Computer hardware description languages; Computer networks; Computer operating systems; Computer simulation; Computer-industry battleground; Computing wars; CORBA; Data structures; Distributed computer systems; Distributed object computing; Distributed objects; Distributed processing; Distributed-object computing; Interfaces (computer); Interoperable objects; Large scale systems; Object models; Object oriented programming; Object oriented software; OpenDoc; Personal computers; Proposals; SOM/DSOM; Specifications", thesaurus = "Distributed processing; Object-oriented methods; Object-oriented programming; Open systems", } @Article{Morgan:1998, author = "Bryan Morgan", title = "Building Distributed Applications with {Java} and {CORBA}", journal = "Dr. Dobb's Journal of Software Tools", volume = "23", number = "4", pages = "94, 96--99, 104--105", year = 1998, coden = "DDJOEB", ISSN = "1044-789X", bibdate = "Fri Mar 6 18:42:46 MST 1998", url = "http://www.ddj.com/ftp/1998/1998_04/corbajav.txt; http://www.ddj.com/ftp/1998/1998_04/corbajav.zip", abstract = "Bryan examines the concepts behind CORBA-based development using Borland's JBuilder and Visigenic's VisiBroker for Java. Additional resources include corbajav.txt (listings) and corbajav.zip (source code).", acknowledgement = ack-nhfb, } @Article{Adler95, key = "adler95a", author = "Richard M. Adler", title = "Emerging Standards For Component Software", journal = "IEEE Computer", year = 1995, volume = "28", number = "3", pages = "68--77", abstract = "Component software benefits include reusability and interoperability, among others. What are the similarities and differences between the competing standards for this new technology, and how will they interoperate? Object-oriented technology is steadily gaining acceptance for commercial and custom application development through programming languages such as C++ and Smalltalk, object oriented CASE tools, databases, and operating systems such as Next Computer's NextStep. Two emerging technologies, called compound documents and component software, will likely accelerate the spread of objectoriented concepts across system-level services, development tools, and application-level behaviours. Tied closely to the popular client/server architecture for distributed computing, compound documents and component software define object-based models that facilitate interactions between independent programs. These new approaches promise to simplify the design and implementation of complex software applications and, equally important, simplify human-computer interactive work models for application end users. Following unfortunate tradition, major software vendors have developed competing standards to support and drive compound document and component software technologies. These incompatible standards specify distinct object models, data storage models, and application interaction protocols. The incompatibilities have generated confusion in the market, as independent software vendors, system integrators, in-house developers, and end users struggle to sort out the standards' relative merits, weaknesses, and chances for commercial success. Let's take a look now at the general technical concepts underlying compound documents and component software. Then we examine the OpenDoc, OLE 2, COM, and CORBA standards being proposed for these two technologies. Finally, we'll review the work being done to extend the standards and to achieve interoperability across them (10 Refs.)", } @InProceedings{TS97B, author = "Walid Taha and Tim Sheard", title = "Multi-stage programming", pages = "321--321", ISSN = "0362-1340", booktitle = "Proc. International Conf. on Functional Programming ({ICFP})", series = "ACM SIGPLAN Notices", volume = "32,8", publisher = ACM, address = "New York", year = 1997, } @InCollection{Gentzen35, author = "Gerhard Gentzen", title = "Investigations into Logical Deductions, 1935", booktitle = "The Collected Papers of Gerhard Gentzen", editor = "M. E. Szabo", publisher = "North-Holland Publishing Co.", address = "Amsterdam", year = 1969, pages = "68--131", } @PhdThesis{Sitaram:92, author = "Dorai Sitaram", title = "Models of Control and Their Implications for Programming Language Design", school = "Rice University", pages = "166", year = 1994, refs = "54", url = "ftp://cs.rice.edu/public/languages/thesis-sitaram.dvi.Z", url = "ftp://cs.rice.edu/public/languages/thesis-sitaram.ps.Z", } @Article{Bal81, author = "R. Balzer", title = "Transformational Implementation: an Example", journal = "IEEE Transactions on Software Engineering", year = 1981, volume = 7, number = 1, } @InProceedings{Bal92, author = "R. Balzer", title = "Design Refinement in DSSAs", booktitle = "Proc. JSGCC Software Initiative Strategy Workshop", year = 1992, } @InProceedings{BH+94, author = "J. Bell and F. Bellegarde and J. Hook and et~al.", title = "Software Design for Reliability and Reuse: A Proof-of-Concept Demonstration", booktitle = "Proceedings of TRI-Ada'94", year = 1994, pages = "396--404" } @Article{BST+94, author = "D. Batory and V. Singhal and J. Thomas and S. Dasari and B. Geraci and M. Sirkin", title = "The GenVoca Model of Software-System Generators", journal = "IEEE Software", year = 1994, } @TechReport{GLM+97, author = "G. Kiczales and J. Lamping and A. Mendhekar and C. Maeda and C. Lopes and J. Loingtier and J. Irwin", title = "Aspect Oriented Programming", institution = "PARC", year = 1997, } @TechReport{[Jon75, author = "S. Johnson", title = "YACC --- Yet Another Compiler-Compiler", institution = "Bell Laboratories", year = 1997, number = "32" } @InProceedings{[KMB96, author = "R. Kieburtz and L. Mckinney and J. Bell and J. Hook and A. Kotov and J. Lewis and D. Oliva and T. Sheard and I. Smith and L. Walton", title = "A Software Engineering Experiment in Software Component Generation", booktitle = "Proceedings of 18th International Conf. on Software Engineering", year = 1996, publisher = "IEEE Computer Society Press", address = "Berlin", } @InProceedings{LB95, author = "M. Lowry and J. van Baalen", title = "Meta-Amphion: Synthesis of Efficient Domain-Specific Program Synthesis Systems", booktitle = "Proceedings of 10th Knowledge-Based Software Engineering Conf.", year = 1995, address = "Boston", pages = "2--10" } @InProceedings{Jones:88, author = "Neil D. Jones", title = "Challenging Problems in Partial Evaluation and Mixed Computation", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", semno = "D-26", editor = "D. Bj{\o}rner and A. P. Ershov and N. D. Jones", pages = "1--14", organization = "IFIP World Congress Proceedings", publisher = "Elsevier Science Publishers B.V.", address = "North-Holland", summary = "After a discussion of the state of the art in this field, a list of challenging problems for future research is presented.", keywords = "partial evaluation, mixed computation, program specialization", } @InProceedings{MKS97, author = "A. Misra and G. Karsai and J. Sztipanovits and A. Ledeczi and M. Moore and E. Long", title = "A Model-Integrated Information System for Increasing Throughput in Discrete Manufacturing", booktitle = "Proceeding of the Engineering of Computer Based Systems (ECBS) Conf.", year = 1997, address = "Monterey", } @Article{PW92, author = "D. Perry and A. Wolf", title = "Foundations for the Study of Software Architecture", journal = "ACM SIGSOFT Software Engineering Notes", year = 1992, OPTkey = {}, volume = "17", number = "4", OPTpages = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Distil, author = "Yannis Smaragdakis and Don Batory", title = "{DiSTiL}: A Transformation Library for Data Structures", booktitle = "USENIX Conf. on Domain-Specific Languages", year = 1997, } @InProceedings{SJ94, author = "Y. Srinivas and R. Jullig", title = "SpecWare: Formal Support for Composing Software", booktitle = "Proc. Conf. on Mathematics of Program Construction", year = 1995, address = "Kloster Irsee", note = "Also Kestrel Institute Technical Report KES.U.94.5." } @Article{Smi90, author = "Doug Smith", title = "{KIDS}: A Semi-Automatic Program Development System", journal = "IEEE Transactions on Software Engineering --- Special Issue on Formal Methods", year = 1990, volume = "16", number = "9", } @TechReport{TahaFacets97, author = "Walid Taha and Tim Sheard", title = "Facets of Multi-Stage Computation in Software Architectures", institution = "Oregon Graduate Institute", year = 1997, number = "CSE-97-010", note = "Available from \cite{ogi-tr-site}", } @TechReport{Wil81, author = "D. Wile", title = "POPART: Producer of Parsers and Related Tools. System Builders' Manual", institution = "USC Information Sciences Institute", year = 1981 } @Article{Wil90, author = "D. Wile", title = "Adding Relational Abstraction to Programming Languages", journal = "ACM SIGSOFT Software Engineering Notes", year = 1990, volume = "15", number = "4", pages = "128--139" } @InProceedings{PfenningElliott88, author = "Frank Pfenning and Conal Elliott", title = "Higher-Order Abstract Syntax", booktitle = "Proc. Symposium on Language Design and Implementation", address = "Atlanta", year = 1988, pages = "199--208", urlps = "http://www.cs.cmu.edu/~fp/papers/pldi88.ps.gz", keywords = "lambda-Prolog", } @Article{Takahashi, title = "Parallel Reductions in {$\lambda$}-Calculus", author = "Masako Takahashi", pages = "120--127", journal = "Information and Computation", year = 1995, volume = "118", number = "1", } @Book{Gunter, author = "Carl A. Gunter", title = "Semantics of Programming Languages", publisher = "MIT Press", year = 1992, } @Article{HatcliffD97, title = "Thunks and the {$\lambda$}-calculus", author = "John Hatcliff and Olivier Danvy", pages = "303--319", journal = "Journal of Functional Programming", year = "1997", volume = "7", number = "3", } @Book{Sterling, author = "Leon Sterling and Ehud Shapiro", title = "The Art of Prolog", edition = "Second", publisher = "MIT Press", address = "Cambridge", year = "1994", annote = "Explaination of logic programming, Prolog, and related programming techniques. Many references.", } @Book{Maier, author = "D. Maier and D. S. Warren", title = "Computing with logic: Logic programming with {P}rolog", year = "1988", publisher = "The Benjamin/Cummings Publishing Company, Inc.", } @Book{Winskel, author = "Glynn Winskel", title = "The Formal Semantics of Programming Languages: An Introduction.", series = "Foundations of Computing series", pages = "384", publisher = "MIT Press", year = "1993", keywords = "text, book, denotational, DS, programming language definition", } @Book{Mitchell, key = "Mitchell", author = "John C. Mitchell", title = "Foundations for Programming Languages", publisher = "MIT Press", address = "Cambridge", year = "1996", ISBN = "0-262-13321-0", annote = "Graduate text on programming language theory. Focus on typed lambda calculus. Hundreds of references.", } @InProceedings{Muller3, title = "A Staging Calculus and its Application to the Verification of Translators", author = "Robert Muller", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = "1994", address = "Portland", pages = "389--396", } @Article{Muller2, author = "Robert Muller", title = "{M-LISP}: {A} Representation-Independent Dialect of {LISP} with Reduction Semantics", journal = "ACM Transactions on Programming Languages and Systems", volume = "14", number = "4", pages = "589--616", year = "1992", coden = "ATPSDT", ISSN = "0164-0925", url = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133254.html", abstract = "In this paper we introduce M-LISP, a dialect of LISP designed with an eye toward reconciling LISP's metalinguistic power with the {\em structural} style of operational semantics advocated by Plotkin [28]. We begin by reviewing the original definition of LISP [20] in an attempt to clarify the source of its metalinguistic power. We find that it arises from a problematic clause in this definition. We then define the abstract syntax and operational semantics of M-LISP, essentially a hybrid of M-expression LISP and Scheme. Next, we tie the operational semantics to the corresponding equational logic. As usual, provable equality in the logic implies operational equality.\par Having established this framework we then extend M-LISP with the metalinguistic {\em eval} and {\em reify} operators (the latter is a nonstrict operator that converts its argument to its metalanguage representation). These operators encapsulate the matalinguistic representation conversions that occur globally in S-expression LISP. We show that the naive versions of these operators render LISP's equational logic inconsistent. On the positive side, we show that a naturally restricted form of the {\em eval} operator is confluent and therefore a conservative extension of M-LISP. Unfortunately, we must weaken the logic considerably to obtain a consistent theory of reification.", acknowledgement = ack-pb, keywords = "languages; theory", subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics of Programming Languages, Operational semantics. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, LISP. {\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal Definitions and Theory. {\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language Constructs and Features. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors. {\bf F.3.3}: Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Lambda calculus and related systems.", } @Article{fexprs, author = "Mitchell Wand", title = "The Theory of Fexprs is Trivial", journal = "Lisp and Symbolic Computation", year = 1998, OPTkey = {}, volume = 10, OPTnumber = 189, pages = "189--199", OPTnote = {}, OPTannote = {} } @InProceedings{Todd, title = "C++ Templates as Partial Evaluation", author = "Todd L. Veldhuizen", booktitle = "Proc. Workshop on Partial Evaluation and Semantics-Based Program Manipulation", editor = "O. Danvy", address = "San Antonio", publisher = "University of Aarhus, Dept. of Computer Science", pages = "13--18", year = 1999 } @PhdThesis{T99, author = "Walid Taha", title = "Multi-Stage Programming: Its Theory and Applications", school = "Oregon Graduate Inst. of Sci. and Tech.", year = "1999", } @InProceedings{LawallThiemann:97, author = "J. Lawall and P. Thiemann", title = "Sound Specialization in the Presence of Computational Effects", booktitle = "Theoretical Aspects of Computer Software, Sendai, Japan, September 1997. (Lecture Notes in Computer Science, vol. 1281)", year = "1997", publisher = "Springer-Verlag", pages = "165--190", } @InProceedings{Mini-ML:86, author = {Dominique Clement and Joelle Despeyroux and Thierry Despeyroux and Gilles Kahn}, title = {A simple applicative language: Mini-{ML}}, booktitle = {Proc. 1986 {ACM} Conf. on Lisp and Functional Programming}, year = "1986", publisher = "ACM press", pages = "13--27", } @InProceedings{DHT97, author = "D. Dussart and R.J.M. Hughes and P. Thiemann", title = "Type Specialization for Imperative Languages", pages = "204--216", booktitle = "Proc. International Conf. on Functional Programming (ICFP), Amsterdam, The Netherlands, June 1997", year = "1997", publisher = "New York:\ ACM", } @Article{HD97, title = "A computational formalization for partial evaluation", author = "John Hatcliff and Olivier Danvy", pages = "507--541", journal = "Mathematical Structures in Computer Science", year = "1997", volume = "7", number = "5", } @Unpublished{TD, author = "Peter Thiemann and Dirk Dussart", title = "Partial Evaluation for Higher-Order Languages with State", note = "Available online from \fr{http://www.informatik.uni-freiburg.de/$\splicee{}$thiemann/papers/ index.html}", year = "1996", OPTkey = {}, OPTyear = {}, OPTannote = {} } @ARTICLE{Sands:95, author = {David Sands}, title = {A Na\"{\i}ve Time Analysis and its Theory of Cost Equivalence}, journal = {Journal of Logic and Computation}, year = {1995}, volume = {5}, number = {4}, optpages = {495--541}, optpostscript = {}, 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 paper begins with the development of a simple but useful calculus for time analysis of non-strict functional programs with lazy lists. One limitation of this basic calculus is that the ordinary equational reasoning on functional programs is not valid. In order to buy back some of these equational properties we develop a non-standard operational equivalence relation called {\em cost equivalence}, by considering the number of computation steps as an ``observable'' component of the evaluation process. We define this relation by analogy with Park's definition of bisimulation in {\sc ccs}. This formulation allows us to show that cost equivalence is a contextual congruence (and thus is substitutive with respect to the basic calculus) and provides useful proof techniques for establishing cost-equivalence laws. It is shown that basic evaluation time can be derived by demonstrating a certain form of cost equivalence, and we give a axiomatisation of cost equivalence which complete is with respect to this application. This shows that cost equivalence subsumes the basic calculus. Finally we show how a new operational interpretation of evaluation demands can be used to provide a smooth interface between this time analysis and more compositional approaches, retaining the advantages of both.}, } @InProceedings{Moran-Sands99, key = "Moran \& Sands", author = "Andrew Moran and David Sands", title = "Improvement in a Lazy Context: An Operational Theory for Call-By-Need", booktitle = "the Symposium on Principles of Programming Languages {(POPL '99)}", address = "San Antonio, Texas", year = "1999", organization = "ACM", month = jan, pages = "43--56", annote = "Operational theory for reasoning about optimization of lazy programs. 42 references.", } @InProceedings{T97, author = "P. Thiemann", title = "Correctness of a Region-Based Binding-Time Analysis", booktitle = "Mathematical Foundations of Programming Semantics, Thirteenth Annual Conf., Pittsburgh, Pennsylvania, March 1997", year = "1997", publisher = "Elsevier", organization = "Carnegie Mellon University", pages = "26", } @InProceedings{MP99@HOOTS, author = {Moggi, Euegenio and Palumbo, Fabrizio}, title = {Monadic Encapsulation of Effects: a Revised Approach}, booktitle = {HOOTS 3rd International Workshop}, series = {Electronic Notes in Theoretical Computer Science}, volume = {26}, year = {1999} } @InProceedings{Danvy98, author = "Olivier Danvy", title = "A Simple Solution to Type Specialization", booktitle = "25th International Colloquium on Automata, Languages, and Programming", year = 1998, series = LNCS, volume = 1443, address = "Aalborg", } @InProceedings{HengleinJoergensen:94l, author = "Fritz Henglein and Jesper J{\o}rgensen", title = "Formally optimal boxing", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", address = "Portland, Oregon", year = "1994", semno = "D-179", pages = "213--226", summary = "Representation analysis seeks to optimize the run-time representation of elements of data types in high-level programming languages. Using a language with explicit representation types and boxing/unboxing operations we axiomatize equationally the set of all explicitly boxed versions called {\em completions}. We give the equality axioms a rewriting interpretation that captures eliminating boxing/unboxing operations without relying on a specific implementation or even semantics of the underlying language. The rewriting system produces a unique ``optimal'' completion.", keywords = "representation analysis, polymorphism, type systems, Standard-ML", } @Article{Henglein:92Dynamic, author = "Fritz Henglein", title = "Dynamic typing: syntax and proof theory", journal = "Lecture Notes in Computer Science", volume = "582", pages = "197--230", year = "1992", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Wed Sep 15 10:01:31 MDT 1999", acknowledgement = ack-nhfb, keywords = "ESOP; programming", } @Article{Pier91b, author = "Mart{\'\i}n Abadi and Luca Cardelli and Benjamin Pierce and Gordon D. Plotkin", title = "Dynamic Typing in a Statically Typed Language", journal = "ACM Transactions on Programming Languages and Systems", volume = "13", number = "2", pages = "237--268.", year = "1991", keywords = "types popl91 binder", url = "ftp://ftp.cs.indiana.edu/pub/pierce/dynamic.ps.gz", abstract = "Statically typed programming languages allow earlier error checking, better enforcement of disciplined programming styles, and generation of more efficient object code than languages where all type consistency checks are performed at run time. However, even in statically typed languages, there is often the need to deal with data whose type cannot be determined at compile time. To handle such situations safely, we propose to add a type Dynamic whose values are pairs of a value v and a type tag T where v has the type denoted by T. Instances of Dynamic are built with an explicit tagging construct and inspected with a type safe typecas construct. This paper explores the syntax, operational semantics, and denotational semantics of a simple language including the type Dynamic.", } @Unpublished{T00RTE, author = "Walid Taha", title = "Runtime Tag Elimination (Extended Abstract)", note = "Unpublished manuscript vailable online", OPTkey = {}, year = 2000, OPTannote = {} } @InProceedings{Henglein:92, author = "Fritz Henglein", title = "Global Tagging Optimization by Type Inference", booktitle = "1992 {ACM} Conferenc on Lisp and Functional Programming", publisher = "ACM Press", year = "1992", pages = "205--215", refs = "41", checked = "19950204", source = "Dept. Library", abstract = "Tag handling accounts for a substantial amount of execution cost in latently typed languages such as Common Lisp and Scheme, especially on architectures that provide no special hardware support. We present a tagging optimization algorithm based on type inference that is \begin{description} \item[global:] it traces tag information across procedure boundaries, not only withing procedures; \item[efficient:] it runs assymptotically in almost-linear time with excellent practical run-time behavior (e.g. 5,000 line Scheme programs are processed in a matter of seconds); \item[useful:] it eliminates at compile-time between 60 and 95\% of tag handling operations in nonnumerical Scheme code (based on preliminary data); \item[structural:] it traces tag information in higher order (procedure) values and especially in structured (e.g. list) values, where reportedly 80\% of tag handling operations take place; \item[well-founded:] it is based on a formal static typing discipline with a special type {\tt Dynamic} that has a robust and semantically sound ``minimal typing'' property; \item[implementation-independent:] no tag implementation technology is presupposed; the results are displayed as an explicitly typed sources program and can be interfaced with compiler backends of statically typed languages such as Standard ML; \item[user-friendly:] no annotations by the programmer are necessary; it operates on the program source, provides useful type information to a programmer in the spirit of ML's type system, and makes all tag handling operations necessary at run-time explicit (and thus shows which ones can be eliminated without endangering correctness of program execution). \end{description} This agenda is accomplished by: \begin{itemize} \item maintaining and tracing only a minimum of information -- no sets of abstract colsures or cons points {\em etc.} that may reach a program point are kept, only their collective tagging information; no repeated analysis of program points is performed; \item scheduling processing steps such that each one contributes to the final result -- no idle or partially idle traversals of the syntax tree are performed; instead all relevant constraints are extracted in a single pass over the syntax tree; \item using theoretically and practically very efficient data structures; in particular, the union/find data structure is used to maintain and solve the extracted constraints. \end{itemize} This improves and complements previous work on tagging optimization in several respects. \begin{itemize} \item In the LISP compiler for S1~\cite{Brooks:Gabriel:Steele:acm:lfp:1982}, in Orbit~\cite{Kranz:Kelsey:Rees:Hudak:Philbin:Adams:acm:cc:1986}, and in Screme~\cite{Vegdahl:Pleban:acm:asplos:1989,Pleban:tiall:1991} tagging optimization (representation analysis) is typically performed for atomic types (numbers), based on local control flow information. Our analysis is global and based on abstract data flow information. \item In TICL~\cite{Ma:Kessler:spe:1990} type analysis of Common LISP programs relies on costly repeated analysis and programmer type declarations. \item Shivers~\cite{Shivers:acm:pldi:1988} similarly uses potentially expensive and complicated data flow reanalysis for type recovery in Scheme and relies to some degree on programmer type declarations; his analysis works on the CPS transform of a Scheme program and as such the results are not presentable to the user/programmer. \end{itemize} The main practical contribution of our tagging optimization algorithm is likely to be its combination of execution efficiency and ability to eliminate tag handling operations in structured data, especially in lists: Steenkiste and Hennessy report that 80\% of all dynamic type checking operations are due to list operations, most of which are statically eliminated by our type inference algorithm. The computed information can also be used for unboxing and closure allocation (reference escape) analysis, although this is not pursued in this paper.", reffrom = "Wright:Cartwright:acm:lfp:1994", } @InProceedings{Peterson89, author = "J. Peterson", title = "Untagged Data in Tagged Environments: Choosing Optimal Representations at Compile Time", booktitle = "Proc. Conf. on Functional Programming Languages and Computer Architecture '89, Imperial College, London", pages = "89--99", publisher = "ACM Press", address = "New York, NY", year = "1989", abstract = "The inefficiency of tag bits can be alleviated by avoiding unnecessary conversions between tagged and untagged representations. An algorithm which determines the optimal representation of an object at each program point is presented.", } @InProceedings{Torben, author = "Torben {\AE}. Mogensen", semno = "D-159", title = "Constructor Specialization", booktitle = "ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = "1993", editor = "David Schmidt", pages = "22--32", publisher = "ACM press", keywords = "Partial evaluation, specialization, data-types, constructors", summary = "Constructors are specialized with respect to the static part of their arguments, similarly to specialization of functions. This allows specialized data-types to be invented and in general improves binding times.", } @InCollection{Pitts, author = "Andrew M. Pitts", title = "Operationally-Based Theories of Program Equivalence", booktitle = "Semantics and Logics of Computation", editor = "P. Dybjer and Andrew M. Pitts", publisher = "Cambridge University Press", year = "1995", note = "Based on lectures given at the CLICS-II Summer School on Semantics and Logics of Computation, Isaac Newton Institute for Mathematical Sciences, Cambridge UK, September 1995.", citation-source = "Greg Sullivan, Thu Jun 27 11:28:21 1996", } @InProceedings{CorrectnessOfTS, author = "R.J.M. Hughes", title = "The Correctness of Type Specialisation", booktitle = "European Symposium on Programming (ESOP)", OPTcrossref = {}, OPTkey = {}, year = 2000, OPTeditor = {}, OPTnumber = {}, OPTaddress = {}, OPTorganization = {}, } @InProceedings{Mitchell91, title = "On Abstraction and the Expressive Power of Programming Languages", author = "John C. Mitchell", pages = "290--310", booktitle = "Theoretical Aspects of Computer Software", editor = "T. Ito and A. R. Meyer", series = "Lecture Notes in Computer Science", volume = "526", year = "1991", publisher = "Springer-Verlag", abstract = "We present a tentative theory of programming language expressiveness based on reductions (language translations) that preserve observational equivalence. These are called ``abstraction-preserving'' because of a connection with a definition of ``abstraction'' or ``information-hiding'' mechanism. If there is an abstraction-preserving reduction from one language to another, then essentially every function on natural numbers that is definable in the first is also definable in the second. Moreover, regardless of the set of first-order functions definable in either language, no programming language with an abstraction mechanism can be reduced to a language without. Since Lisp with user-defined special forms does not have an abstraction mechanism, it is therefore not ``universal'' in this theory, in spite of the ability to define every partial recursive function on the natural numbers. Several examples and counter-examples to abstraction-preserving reductions are given. We do not know whether there is a natural universal language with respect to abstraction-preserving reduction.", } @misc{fidel, title = {Towards Principal Type Specialisation}, author = {Mart{\'\i}nez L\'opez, Pablo E. and Hughes, R.J.M.}, year = 2000, note = {Unpublished manuscript. Available from \texttt{http://www-lifia.info.unlp.edu.ar/\es{fidel}/Works/TowardsPTS.dvi}}, } @TechReport{PST00TR, author = "Emir Pa\v{s}ali\'{c} and Tim Sheard and Walid Taha", title = "{DALI}: An Untyped, {CBV} Functional Language Supporting First-Order Datatypes with Binders (Technical Development)", institution = "OGI", year = 2000, OPTkey = {}, OPTtype = {}, number = "CSE-00-007", note = "Available from \cite{ogi-tr-site}" } @Article{FP91, author = "Tim Freeman and Frank Pfenning", title = "Refinement Types for {ML}", booktitle = "Proc. Conf. on Programming Language Design and Implementation", year = "1991", pages = "268--277", address = "Toronto", journal = "SIGPLAN Notices", volume = "26", number = "6", annote = "Adds (explicitely defined) subtypes to MLs type system, which can help the static type checking.", } @InProceedings{L91, author = "John Launchbury", title = "A Strongly-Typed Self-Applicable Partial Evaluator", pages = "145--164", booktitle = "Proc. International Conf. on Functional Programming Languages and Computer Architecture (FPCA)", key = "FPCA", Conf. = "5th {ACM} Conf.", venue = "Cambridge, MA, USA", year = 1991, editor = "R.J.M. Hughes", series = LNCS, volume = 523, } @InProceedings{Mogensen:93:ConstructorSpecialization, author = "Torben {\AE}. Mogensen", semno = "D-159", title = "Constructor Specialization", booktitle = "ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = "1993", editor = "David Schmidt", pages = "22--32", publisher = "ACM press", keywords = "Partial evaluation, specialization, data-types, constructors", summary = "Constructors are specialized with respect to the static part of their arguments, similarly to specialization of functions. This allows specialized data-types to be invented and in general improves binding times.", } @InCollection{Pitts95, author = "Andrew M. Pitts", title = "Operationally-Based Theories of Program Equivalence", booktitle = "Semantics and Logics of Computation", editor = "P. Dybjer and Andrew M. Pitts", publisher = "Cambridge University Press", year = "1995", note = "Based on lectures given at the CLICS-II Summer School on Semantics and Logics of Computation, Isaac Newton Institute for Mathematical Sciences, Cambridge UK, September 1995.", citation-source = "Greg Sullivan, Thu Jun 27 11:28:21 1996", } @InProceedings{CTHL03, title = "Implementing Multi-stage Languages Using ASTs, Gensym, and Reflection", booktitle = "Generative Programming and Component Engineering (GPCE)", author = "Cristiano Calcagno and Walid Taha and Liwen Huang and Xavier Leroy", year = 2003, editor = "Krzysztof Czarnecki and Frank Pfenning and Yannis Smaragdakis", OPTnumber = {}, series = "Lecture Notes in Computer Science", OPTorganization = {}, publisher = "Springer-Verlag", OPTnote = {}, OPTannote = {} } @Proceedings{saig00, title = "Semantics, Applications, and Implementation of Program Generation", year = 2000, key = {SAIG}, editor = "Walid Taha", volume = 1924, OPTnumber = {}, series = "Lecture Notes in Computer Science", address = "Montr\'{e}al", OPTorganization = {}, publisher = "Springer-Verlag", OPTnote = {}, OPTannote = {} } @Proceedings{saig01, title = "Semantics, Applications, and Implementation of Program Generation", year = 2001, key = {SAIG}, editor = "Walid Taha", volume = 2196, OPTnumber = {}, series = "Lecture Notes in Computer Science", address = "Firenze", OPTorganization = {}, publisher = "Springer-Verlag", OPTnote = {}, OPTannote = {} } @InProceedings{Batory, title = "Refinements and Product Line Architectures", author = "Don Batory", booktitle = "\cite{saig00}", pages = "3--4", year = 2000, } @InProceedings{Pfenning, title = "Reasoning About Staged Computation", author = "Frank Pfenning", booktitle = "\cite{saig00}", pages = "5--6", year = 2000, } @InProceedings{Muller, title = "Specialization of Systems Programs: Lessons and Perspectives", author = "Gilles Muller", booktitle = "\cite{saig00}", pages = "7--8", year = 2000, } @inproceedings{fran-dsl ,author={Conal Elliott} ,title={Modeling Interactive {3D} and Multimedia Animation with an Embedded Language} ,booktitle={Proc. first Conf. on Domain-Specific Languages} ,organization={USENIX} ,year=1997 ,pages={285-296} } @Inproceedings(FrobIcra99, Author="J. Peterson and G. Hager and P. Hudak", Title="A Language for Declarative Robotic Programming", BookTitle="Proceedings of IEEE Conf. on Robotics and Automation", Year=1999 ) @Inproceedings(FrobPadl99, Author="J. Peterson and P. Hudak and C. Elliott", Title="Lambda in Motion: Controlling Robots With {H}askell", BookTitle="Proc. 1st International Conf. on Practical Aspects of Declarative Languages (PADL'99)", pages = "91-105", Year=1999 ) @Inproceedings(FVisionICSE99, Author="A. Reid and J. Peterson and P. Hudak and G. Hager", Title="Prototyping Real-Time Vision Systems: An Experiment in {DSL} Design", BookTitle="Proc. 21st International Conf. on Software Engineering (ICSE'99)", Year=1999 ) @InProceedings{Elliott, title = "Compiling Embedded Languages", author = "Conal Elliott and Sigbj\o{}rn Finne and Oege de Moore", booktitle = "\cite{saig00}", pages = "9--27", year = 2000, } @InProceedings{Kamin, author = "Sam Kamin and Miranda Callahan and Lars Clausen", title = "Lightweight and Generative Components {II}: Binary-Level Components", booktitle = "\cite{saig00}", pages = "28--50", year = 2000, } @InProceedings{Helsen, author = "Simon Helsen and Peter Thiemann", title = "Fragmental Specialization", booktitle = "\cite{saig00}", pages = "51--71", year = 2000, } @InProceedings{Song, author = "Litong Song and Yoshihiko Futamura", title = "A New Termination Approach for Specialization", booktitle = "\cite{saig00}", pages = "72--91", year = 2000, } @InProceedings{Calcagno, author = "Cristiano Calcagno and Eugenio Moggi", title = "Multi-Stage Imperative Languages: A Conservative Extension Result", booktitle = "\cite{saig00}", pages = "92--107", year = 2000, } @InProceedings{Fischbach, author = "Adam Fischbach and John Hannan", title = "Specification and Correctness of Lambda Lifting", booktitle = "\cite{saig00}", pages = "108--128", year = 2000, } @InProceedings{Makholm, author = "Henning Makholm", title = "On {J}ones-Optimal Specialization for Strongly Typed Languages", booktitle = "\cite{saig00}", pages = "129--148", year = 2000, } @InProceedings{Ramsey, title = "Pragmatic Aspects of Reusable Software Generators", author = "Norman Ramsey", booktitle = "\cite{saig00}", pages = "149--171", year = 2000, } @InProceedings{Berardi, title = "Type-Based Useless-Code Elimination for Functional Programs", author = "Stefano Berardi and Marrio Coppo and Ferruccio Damiani and Paola Giannini", booktitle = "\cite{saig00}", pages = "172--189", year = 2000, } @InProceedings{Vuduc, author = "Richard Vuduc and James W. Demmel", title = "Code Generators for Automatic Tuning of Numerical: Experiences with {FFTW}", booktitle = "\cite{saig00}", pages = "190--211", year = 2000, } @InProceedings{fftc, author = "Matteo Frigo", title = "A Fast {F}ourier Transform Compiler", booktitle = "Proc. ACM Conf. on Prog. Lang. Design and Impl. (PLDI~'99)", year = "1999", pages = "169--180", url = "http://www.acm.org/pubs/articles/proceedings/pldi/301618/p169-frigo/p169-frigo.pdf", genterms = "ALGORITHMS, DESIGN, LANGUAGES, MEASUREMENT, PERFORMANCE, THEORY", categories = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Compilers. F.2.1 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Numerical Algorithms and Problems, Computation of transforms.", annote = "incomplete", } @InProceedings{Dynamo, author = "V. Bala and E. Duesterwald and S. Banerjia", title = "Dynamo: A transparent dynamic optimization system", booktitle = "Proc. Conf. on Programming Language Design and Implementation", year = "1999", pages = "1--12", } @InProceedings{Fischer, author = "Bernd Fischer and Johann Schumann and Tom Pressburger", title = "Generating Data Analysis Programs from Statistical Models", booktitle = "Semantics, Applications, and Implementation of Program Generation", year = 2000, volume = 1924, series = "LNCS", publisher = "Springer-Verlag", pages = "212--230", } @InCollection{Abramsky:LazyLambda, author = "Samson Abramsky", title = "The Lazy Lambda Calculus", booktitle = "Research topics in Functional Programming", publisher = "Addison-Wesley", year = "1990", editor = "D. Turner", } @Article{CG:Ambient, author = "Luca Cardelli and Andrew D. Gordon", title = "Mobile ambients", journal = "Theoretical Computer Science", year = "2000", volume = "240", number = "1", pages = "177-213", } @InProceedings{CGG:SecretPi, author = "Luca Cardelli and Giorgio Ghelli and Andrew D. Gordon", title = "Secrecy and Group Creation", booktitle = "CONCUR 2000", year = "2000", editor = "Catuscia Palamidessi", volume = "1877", series = "LNCS", address = "University Park, PA, USA", publisher = "Springer", } @InProceedings{Ene:Muntean:BPI, author = "Cristian Ene and Traian Muntean", title = "Expressivness of Point-to-Point versus Broadcast Communications", bookTitle = "Fundamentals of Computation Theory", year = "1999", volume = "1684", series = "LNCS", } @article{FerreiraJH98, author = "William Ferreira and Matthew Hennessy and Alan Jeffrey", title = "A Theory of Weak Bisimulation for Core CML", journal = "Journal of Functional Programming", pages = "447--491", year = "1998", volume = 8, number = "5" } @InProceedings{FG96:join, author = "C\'{e}dric Fournet and Georges Gonthier", title = "The Reflexive Chemical Abstract Machine and the Join-Calculus", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", pages = "372--385", publisher = "ACM Press", year = "1996", OPTaddress = "St. Petersburg Beach, Florida", } @TechReport{Gordon:Bisimulation, author = "Andrew D. Gordon", title = "Bisimilarity as a theory of functional programming: mini-course", institution = "{BRICS}", year = "1995", type = "Notes Series", number = "BRICS-NS-95-3", address = "Department of Computer Science, University of Aarhus", } @Article{Howe, title = "Proving Congruence of Bisimulation in Functional Programming Languages", author = "Douglas J. Howe", pages = "103--112", journal = "Information and Computation", year = "1996", volume = "124", number = "2", abstract = "We give a method for proving congruence of bisimulation-like equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some generalizations of Abramsky's applicative bisimulation are congruences whenever evaluation can be specified by a certain natural form of structured operational semantics. One of the generalizations handles nondeterminism and diverging computations.", } @InProceedings{Rosenblum:DSL, author = "N. Medvidovic and D. Rosenblum", title = "Domains of Concern in Software Architectures and Architecture Description Languages", booktitle = "Proc. USENIX Conf. on Domain-Specific Languages", address = "Santa Barbara, CA", year = "1997", } @Book{Milner:CC, author = "Robin Milner", title = "Communication and Concurrency", publisher = "Prentice Hall", year = "1989", series = "International Series in Computer Science", } @Book{Milner:PI, author = "Robin Milner", title = "Communicating and Mobile Systems: the $\pi$-Calculus", publisher = "Cambridge University Press", year = "1999" } @TechReport{Milner:piI, author = "Robin Milner and Joachim Parrow and David Walker", title = "A Calculus of Mobile Processes, {Part I}", institution = "University of Edinburgh", type = "LFCS Report Series", number = "ECS-LFCS-89-85", year = "1989", } @TechReport{Milner:piII, author = "Robin Milner and Joachim Parrow and David Walker", title = "A Calculus of Mobile Processes, {Part II}", institution = "University of Edinburgh", type = "LFCS Report Series", number = "ECS-LFCS-89-86", year = "1989", } @TechReport{Milner:Pi91, author = "Robin Milner", title = "The Polyadic $\pi$-Calculus: a tutorial", institution = "Department of Computer Science, University of Edinburgh", number = "ECS-LFCS-91-180", year = "1991", keywords = "pcalc mobility binder", url = "ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z", } @InProceedings{OPT:WM2000, author = "Karol Ostrovsk\'y and K.~V.~S.~Prasad and Walid Taha", title = "A Preliminary Account of {P}rimitive {HOBS}: {A} Calculus for Higher Order Broadcasting", booktitle = "Proceedings of Winter Meeting", year = "2000", organization = "Deptartment of Computing Science, Chalmers University of Technology", } @Misc{OPT:HOBS:ex, author = "Karol Ostrovsk\'y and K.~V.~S.~Prasad and Walid Taha", title = "Towards a Primitive Higher Order Calculus of Broadcasting Systems (Extended Version)", howpublished = "available electronically: http://www.cs.chalmers.se/\~{}karol/Papers/, http://www.cs.chalmers.se/\~{}prasad/", year = "2000", } @Misc{OPT:ESOP2000:ex, author = "Karol Ostrovsk\'y and K.~V.~S.~Prasad and Walid Taha", title = "Towards a Primitive Higher Order Calculus of Broadcasting Systems", year = "2000", note = "extended version; http://www.cs.chalmers.se/\~{}karol/Papers/, http://www.cs.chalmers.se/\~{}prasad/", URL = "http://www.cs.chalmers.se/~karol/Papers\/, http://www.cs.chalmers.se/~prasad/", } @Unpublished{OldHobs, author = "K.~V.~S. Prasad", title = "Status report on ongoing work: Higher Order Broadcasting Systems and Reasoning about Broadcasts", note = "Unpublished manuscript", year = "1994", } @Article{PrasadKVS:CalBro95, author = "K.~V.~S.~Prasad", title = "A Calculus of Broadcasting Systems", journal = "Science of Computer Programming", volume = "25", year = "1995", URL = "http://www.cs.chalmers.se/~prasad/scp.html", abstract = " CBS is a simple and natural CCS-like calculus where processes speak one at a time and are heard instantaneously by all others. Speech is autonomous, contention between speakers being resolved non-deterministically, but hearing only happens when someone else speaks. Observationally meaningful laws differ from those of CCS. The change from handshake communication in CCS to broadcast in CBS permits several advances. (1) Priority, which attaches only to autonomous actions, is simply added to CBS in contrast to CCS, where such actions are the result of communication. (2) A CBS simulator runs a process by returning a list of values it broadcasts. This permits a powerful combination, CBS with the host language. It yields several elegant algorithms. Only processes with a unique response to each input are needed in practice, so weak bisimulation is a congruence. (3) CBS subsystems are interfaced by translators; by mapping messages to silence, these can restrict hearing and hide speech. Reversing a translator turns its scope inside out. This permits a new specification for a communication link: the environment of each user should behave like the other user. This paper reports the stable aspects of an evolving study." } @InProceedings{PrasadKVS:CalBro91, author = "K. V. S. Prasad", title = "A Calculus of Broadcasting Systems", bookTitle = "TAPSOFT, Volume 1: CAAP", year = "1991", note = "Springer-Verlag LNCS 493", URL = "http://www.cs.chalmers.se/~prasad/caap91.html", abstract = " Local area networks (LANs) and everyday speech inspire a model of communication by unbuffered broadcast. Computation proceeds by a sequence of messages, each transmitted by one agent and received by zero or more others. Transmission is autonomous, but reception is not. Each message is received instantaneously by all agents except the transmitter, but is read only by those who were monitoring it at the time; others discard it. As in CCS, agents learn about the environment only through the messages they read. Programming such a system is hard because we have to ensure that messages are read. Testing resembles a viva-voce examination. Observation, restriction and hidden actions differ from their CCS counterparts, as does testing equivalence. We capture this model in a Calculus of Broadcasting Systems (CBS). We use transition systems with transmit, read and discard actions. Discards are self-loops, and only auxiliary. We have some results on strong bisimulation and testing, but much work remains to make CBS tractable." } @phdthesis{Sangiorgi:PhD, author = "Sangiorgi, Davide", title = "Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms", school = "Department of Computer Science, University of Edinburgh", year = "1992", type = "{PhD} thesis {CST}--99--93" } @Article{Thomsen:1993:PCS, author = "Bent Thomsen", title = "Plain {CHOCS}: {A} Second Generation Calculus for Higher Order Processes", journal = "Acta Informatica", volume = "30", number = "1", pages = "1--59", year = "1993", coden = "AINFA2", ISSN = "0001-5903 (printed version), 1432-0525 (electronic version)", mrclass = "68Q65 (68Q60)", mrnumber = "94i:68197", mrreviewer = "Ferucio Laurentiu Tiplea", bibdate = "Sat Oct 9 09:56:22 MDT 1999", acknowledgement = ack-nhfb, source = "nestmann", } @Article{Thomsen:IC:1995, refkey = "C1219", title = "A Theory of Higher Order Communicating Systems", author = "Bent Thomsen", pages = "38--57", journal = "Information and Computation", year = "1995", volume = "116", number = "1", abstract = "{\em A Calculus of Higher Order Communicating Systems\/} was presented in Thomsen [1989]. This calculus considers sending and receiving processes to be as fundamental as nondeterminism and parallel composition. In this paper we present an investigation of the foundation of the theory of this calculus, together with the full proofs of all major theorems. \par The calculus called CHOCS is an extension of Milner's CCS in the sense that all the constructions of CCS are included or may be derived from more fundamental constructs. Most of the mathematical framework of CCS carries over almost unchanged. The operational semantics of CHOCS is given as a labelled transition system and it is a direct extension of the semantics of CCS with value passing. A set of algebraic laws satisfied by the calculus is presented. These are similar to the CCS laws only introducing obvious extra laws for sending and receiving processes. The power of process passing is underlined by a result showing that recursion can be simulated by means of process passing and communication.", } @MastersThesis{Ostrovsky:MSc, author = "Karol Ostrovsk\'y", title = "Mobile Calculus Semantics of Concurrent Object-Oriented Languages", school = "Faculty of Mathematics and Physics, Comenius University", address = "Bratislava", year = "1998", } @PhdThesis{Turner:PhD, author = "David N. Turner", title = "The Polymorphic Pi-Calculus: Theory and Implementation", school = "Dept. of Computer Science, University of Edinburgh", year = "1996", type = "{PhD} thesis {CST}--126--96", note = {(also published as ECS-LFCS-96-345)}, } @misc{ocaml, author = "Xavier Leroy", title = "Objective {C}aml", year = 2000, note = "Available from \fr{http://caml.inria.fr/ocaml/}", } @InProceedings{Wand85a, author = "Wand, Mitchell", title = "Embedding Type Structure in Semantics", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", year = "1985", pages = "1--6", source = {/proj/wand/old/popl85/paper.tex}, URL = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/popl-85.ps}, abstract = "We show how a programming language designer may embed the type structure of of a programming language in the more robust type structure of the typed lambda calculus. This is done by translating programs of the language into terms of the typed lambda calculus. Our translation, however, does not always yield a well-typed lambda term. Programs whose translations are not well-typed are considered meaningless, that is, ill-typed. We give a conditionally type-correct semantics for a simple language with continuation semantics. We provide a set of static type-checking rules for our source language, and prove that they are sound and complete: that is, a program passes the typing rules if and only if its translation is well-typed. This proves the correctness of our static semantics relative to the well-established typing rules of the typed lambda-calculus." } @Article{OlivaRamsdellWand95, author = "Dino P. Oliva and John D. Ramsdell and Mitchell Wand", title = "The {VLISP} Verified PreScheme Compiler", journal = "Lisp and Symbolic Computation", year = "1995", URL = {ftp://ftp.ccs.neu.edu/pub/people/wand/vlisp/lasc/prescheme.dvi}, volume = "8", number = "1/2", pages = "111-182", abstract = "This paper describes a verified compiler for PreScheme, the implementation language for the {\vlisp} run-time system. The compiler and proof were divided into three parts: A transformational front end that translates source text into a core language, a syntax-directed compiler that translates the core language into combinator-based tree-manipulation language, and a linearizer that translates combinator code into code for an abstract stored-program machine with linear memory for both data and code. This factorization enabled different proof techniques to be used for the different phases of the compiler, and also allowed the generation of good code. Finally, the whole process was made possible by carefully defining the semantics of {\vlisp} PreScheme rather than just adopting Scheme's. We believe that the architecture of the compiler and its correctness proof can easily be applied to compilers for languages other than PreScheme." } @Article{GuttmanRamsdellWand95, author = "Joshua Guttman and John Ramsdell and Mitchell Wand", title = "{VLISP}: A Verified Implementation of Scheme", journal = "Lisp and Symbolic Computation", year = "1995", volume = "8", number = "1/2", pages = "5--32", abstract = "The Vlisp project showed how to produce a comprehensively verified implementation for a programming language, namely Scheme. This paper introduces two more detailed studies on Vlisp. It summarizes the basic techniques that were used repeatedly throughout the effort. It presents scientific conclusions about the applicability of the these techniques as well as engineering conclusions about the crucial choices that allowed the verification to succeed.", URL = {ftp://ftp.ccs.neu.edu/pub/people/wand/vlisp/lasc/overview.dvi}, } @Inproceedings{cousot, author = "Patrik Cousot", year = 1997, title = "Constructive design of a hierarchy of semantics of a transition system by abstract interpretation", booktitle = "Mathematical Foundations of Programming Semantics", } @Inproceedings{shao95, author = "Zhong Shao and Andrew Appel", title = "A Type-Based Compiler for {Standard ML}", booktitle = "Conf. on Programming Language Design and Implementation", pages = "116--129", year = "1995" } @Inproceedings{league99, author = "Christopher League and Zhong Shao and Valery Trifonov", title = "Representing {Java} classes in a typed intermediate language", booktitle = "International Conf. on Functional Programming", year = "1999", pages = "183--196", } @Article{sestoft, title = "Deriving a lazy abstract machine", author = "Peter Sestoft", pages = "231--264", journal = "Journal of Functional Programming", year = "1997", volume = "7", number = "3", references = "\cite{TCS::Josephs1989} \cite{POPL::Launchbury1993} \cite{JFP::Jones1992} \cite{POPL::SansomJ1995} \cite{POPL::Wand1982}", } @Misc{MetaMLOnline, key = "MHP", title = "{The MetaML Home Page}", year = 2000, note = "Provides source code and documentation online at \fr{http://www.cse.ogi.edu/PacSoft/projects/metaml/index.html}" } @PhdThesis{Sundaresh, author = "R. S. Sundaresh", title = "Incremental Computation via Partial Evaluation", school = "Yale University", year = "1992", address = "New Haven, Connecticut, USA", } @InProceedings{DyC, author = "Brian Grant and Matthai Philipose and Markus Mock and Craig Chambers and Susan J. Eggers", title = "An Evaluation of Staged Run-Time Optimizations in {DyC}", booktitle = "Proc. Conf. on Programming Language Design and Implementation", year = "1999", pages = "293--304", url = "http://www.acm.org/pubs/articles/proceedings/pldi/301618/p293-grant/p293-grant.pdf", genterms = "DESIGN, EXPERIMENTATION, LANGUAGES, MEASUREMENT, PERFORMANCE, THEORY", categories = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Run-time environments. D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Optimization.", annote = "incomplete", } @PhdThesis{Benaissa:thesis, author = "Zine El-Abidine Benaissa", title = "Explicit Substitution Calculi as a Foundation of Functional Programming Languages Implementations", school = "INRIA", year = "1997", } @InProceedings{LevyMaranget:99, author = "Jean-Jacques Levy and Luc Maranget", title = "Explicit Substitutions and Programming Languages", booktitle = "19th Conf. on Foundations of Software Technology and Theoretical Computer Science (FSTTCS)", OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = "1999", OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, address = "Chennai, India", OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Hofmann00, author = "Martin Hofmann", title = "A type system for bounded space and functional in-place update", booktitle = "European Symposium on Programming (ESOP)", pages = "", year = 2000, series = LNCS, publisher = "Springer-Verlag", } @InProceedings{Hofmann99, author = "Martin Hofmann", title = "Semantical Analysis of Higher-Order Abstract Syntax", editor = "G. Longo", booktitle = "Proc. 14th Annual Symposium on Logic in Computer Science (LICS'99)", year = "1999", publisher = "IEEE Computer Society Press", address = "Trento, Italy", month = jul, keywords = "misc", } @InProceedings{Fiore99lics, author = "Marcelo Fiore and Gordon D. Plotkin and Daniele Turi", title = "Abstract Syntax and Variable Binding", editor = "G. Longo", pages = "193--202", booktitle = "Proc. 14th Annual Symposium on Logic in Computer Science (LICS'99)", year = "1999", publisher = "IEEE Computer Society Press", address = "Trento, Italy", month = jul, keywords = "misc", } @Article{Chin99, author = "Wei-Ngan Chin and Siau-Cheng Khoo", title = "Calculating sized types", journal = "ACM SIG{\-}PLAN Notices", volume = "34", number = "11", pages = "62--72", year = "1999", bibdate = "Thu Apr 27 07:24:12 MDT 2000", url = "http://www.acm.org/pubs/citations/proceedings/pepm/328690/p62-chin/", acknowledgement = ack-nhfb, } @InProceedings{sized96, author = "R.J.M. Hughes and Lars Pareto and Amr Sabry", booktitle = "Proc. ACM Symp. on Principles of Prog. Langs. {(POPL~'96)}", title = "Proving the Correctness of Reactive Systems using Sized Types", year = "1996", abstract-url = "http://www.cs.chalmers.se/~rjmh/Papers/popl-96.html", url = "http://www.cs.chalmers.se/~rjmh/Papers/popl-96.ps", keywords = "sized types, reactive systems, embedded software, liveness and termination analysis, productivity", publisher = "ACM Press", scope = "static", } @InProceedings{CML, author = "J. H. Reppy", title = "{CML: A Higher-Order Concurrent Language}", booktitle = "Proc. Conf. on Programming Language Design and Implementation", address = "Toronto, Ontario, Canada, June 26--28", year = "1991", series = "SIGPLAN Notices", volume = "26(6)", pages = "294--305", publisher = "ACM Press, New York", abstract = "Concurrent ML (CML) is a high-level, high-performance language for concurrent programming. It is an extension of Standard ML (SML) and is implemented on top of Standard ML of New Jersey (SML/NJ). CML is a practical language and is being used to build real systems. It demonstrates that we need not sacrifice high-level notation in order to have a good performance.", keywords = "ML, Threads", } @inproceedings{split-c, author = {D. E. Culler and A. Dusseau and S. C. Goldstein and A. Krishnamurthy and S. Lumetta and T. von Eicken and K. Yelick}, title = "{Parallel Programming in {Split-C}}", booktitle = "Supercomputing '93", address = {Portland, Oregon}, year = {1993}} @inproceedings{KRI:ASPLOS, author = {A. Krishnamurthy and K. Schauser and C. Scheiman and R. Wang and D. Culler and K. Yelick}, title = {{Evaluation of Architectural Support for Global Address-Based Communication in Large-Scale Parallel Machines}}, booktitle = "Proceedings of Architecture Support for Programming Languages and Operating Systems", year = {1996}} @inproceedings{KRI:SYNC, author= {Arvind Krishnamurthy and Katherine Yelick}, title= {Optimizing Parallel Programs with Explicit Synchronization}, booktitle = {Programming Language Design and Implementation}, year = {1995} } @article{KRI:JPDC, author = {Arvind Krishnamurthy and Katherine Yelick}, title = {{Analyses and Optimizations for Shared Address Space Programs}}, journal = "Journal of Parallel and Distributed Computation", year = 1996 } @inproceedings{t3dperformstudy, author = "R. Arpaci and D. Culler and A. Krishnamurthy and S. Steinberg and K. Yelick", title = {{Empirical Evaluation of the CRAY-T3D: A Compiler Perspective}}, booktitle = "International Symposium on Computer Architecture", year = {1995}, } @inproceedings{par-frp, author= "John Peterson and Valery Trifonov and Andrei Serjantov", title = {{Parallel Functional Reactive Programming}}, booktitle = "Proc. 2nd International Workshop on Practical Aspects of Declarative Languages", year = {2000} } @Book{jones-97-ccbook, author = "Neil D. Jones", title = "Computability and Complexity From a Programming Perspective", year = "1997", series = "Foundations of Computing", ISBN = "0-262-10064-9", publisher = "The {MIT} Press", address = "Cambridge, MA, USA", } @InProceedings{inherit, author = "Torben Mogensen", title = "Inherited Limits", booktitle = "Partial Evaluation: Practice and Theory", pages = "189--202", year = 1999, volume = 1706, series = LNCS, publisher = "Springer-Verlag", } @InProceedings{HR95, author = "Fritz Henglein and Jakob Rehof", year = "1995", title = "Safe Polymorphic Type Inference for a Dynamically Typed Language: Translating {Scheme} to {ML}", booktitle = "Proc. International Conf. on Functional Programming Languages and Computer Architecture (FPCA)", address = "La Jolla", publisher = "ACM Press", summary = "We describe a new method for polymorphic type inference for the dynamically typed language Scheme. The method infers both types and explicit {\em run-time type operations (coercions)} for a given program. It can be used to statically debug Scheme programs and to give a high-level translation to ML, in essence providing an ``embedding'' of Scheme into ML.", } @Misc{ghc, key = "GHC", author = "The {GHC Team}", title = "The Glasgow Haskell Compiler User's Guide, Version 4.08", howpublished = "Available online from {\tt http://haskell.org/ghc/}", OPTmonth = {}, OPTyear = {}, note = "Viewed on 12/28/2000", OPTannote = {} } @Book{Gordon94, author = "Andrew D. Gordon", title = "Functional Programming and Input/Output.", series = "Distinguished Dissertations in Computer Science.", publisher = "Cambridge University Press", month = sep, year = "1994", keywords = "FP, input, output, monad, monads, PhD thesis, book, text, CSci, CS", abstract = "ISBN 0 521 47103 6 hardback Cambridge University Press, http://www.cl.cam.ac.uk/users/adg/fpio.html (Summary (11/'94)) 1. Introduction 2. A Calculus of Recursive Types 3. A Metalanguage for Semantics 4. Operational Precongruence 5. Theory of the Metalanguage 6. An Operational Theory of FP 7. Four Mechanisms for Teletype I/O 8. Monadic I/O 9. Summary email: adg@cl.cam.ac.uk (11/'94) http://www.cl.cam.ac.uk/users/adg/ (home page (11/'94))", } @Article{Mason-Talcott91, key = "Mason \& Talcott", author = "Ian Mason and Carolyn L. Talcott", title = "Equivalence in Functional Languages with Effects", journal = "Journal of Functional Programming", year = "1991", volume = "1", number = "3", month = jul, pages = "287--328", annote = "Adds objects with memory to a call-by-value lambda calculus. 43 references.", } @Article{Talcott:1992:TPD, author = "Carolyn L. Talcott", title = "A theory for program and data type specification", journal = "Theoretical Computer Science", volume = "104", number = "1", pages = "129--159", day = "05", month = oct, year = "1992", coden = "TCSCDI", ISSN = "0304-3975", bibdate = "Mon Jul 19 22:16:43 MDT 1999", url = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1992&;volume=104&issue=1&aid=1163", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6110B (Software engineering techniques); C6120 (File organisation)", corpsource = "Dept. of Comput. Sci., Stanford Univ., CA, USA", keywords = "abstraction; algebraic abstract data types; data structures; data type specification; data types; definedness; escape mechanisms; essentially first-order; formal specification; functional application; IOCC; program equivalence; programming theory; programs; reasoning; semantic models; two-layered theory", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @InProceedings{PODC::VenkatasubramanianT1995, title = "Reasoning about Meta Level Activities in Open Distributed Systems", author = "Nalini Venkatasubramanian and Carolyn L. Talcott", booktitle = "Proc. Fourteenth Annual {ACM} Symposium on Principles of Distributed Computing", address = "Ottawa, Ontario, Canada", month = "2--23~" # aug, year = "1995", pages = "144--152", } @InCollection{PittsAM:operfl, author = "Andrew~M.~Pitts and Ian~D.~B.~Stark", title = "Operational Reasoning for Functions with Local State", booktitle = "Higher Order Operational Techniques in Semantics", editor = "Andrew~D.~Gordon and Andrew~M.~Pitts", year = "1996" } @Article{Felleisen:1992:RRS, author = "M. Felleisen and R. Hieb", title = "The revised report on the syntactic theories of sequential control and state", journal = "Theoretical Computer Science", volume = "103", number = "2", pages = "235--271", day = "14", month = sep, year = "1992", coden = "TCSCDI", ISSN = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6140 (Programming languages)", corpsource = "Dept. of Comput. Sci., Rice Univ., Houston, TX, USA", keywords = "Church-Rosser; equational reasoning; equivalence relations; formal languages; formal logic; fully compatible equational theories; functional programs; higher-order languages; imperative programming; programming languages; programming theory; sequential control; standardization theorems; state; syntactic theories", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @InProceedings{GiuPT-FROCOS-96, author = "Fausto Giunchiglia and Paolo Pecchiari and Carolyn L. Talcott", title = "Reasoning Theories - Towards an Architecture for Open Mechanized Reasoning Systems", editor = "F.~Baader and K. U.~Schulz", booktitle = "Frontiers of Combining Systems: Proc. 1st International Workshop, Munich (Germany)", publisher = "Kluwer Academic Publishers", series = "Applied Logic", month = mar, year = "1996", pages = "157--174", } @inproceedings{icra99 ,author={John Peterson and Gregory Hager and Paul Hudak} ,title={A Language for Declarative Robotic Programming} ,booktitle={International Conf. on Robotics and Automation} ,year=1999 ,pages={} } @InProceedings{padl99, author = "John Peterson and Paul Hudak and Conal Elliott", title = "Lambda in Motion: Controlling Robots With Haskell", booktitle = "First International Workshop on Practical Aspects of Declarative Languages", organization = "SIGPLAN", month = "Jan", year = "1999" } @inproceedings{RePeHaHu99, title="Prototyping Real-Time Vision Systems: An Experiment in {DSL} Design", author ="Alastair Reid and John Peterson and Greg Hager and Paul Hudak", booktitle = "Proc. International Conf. on Software Engineering", month = May, year = 1999 } @inproceedings{linearMADT ,author={Chih-Ping Chen and Paul Hudak} ,title={Rolling Your Own Mutable ADT---A Connection between Linear Types and Monads} ,booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}" ,year = "1997" ,publisher = "ACM Press" ,address = "New York" ,month = "January" ,pages={54--66} } @InProceedings{sulzmann, author = "Martin Sulzmann and Martin Odersky and Martin Wehr", title = "Type Inference with Constrained Types", booktitle = "FOOL4: 4th. International Workshop on Foundations of Object-oriented programming Languages", year = "1997", month = "January" } @InProceedings{Pitts00, author = "Andrew M. Pitts and Murdoch J. Gabbay", title = "A Metalanguage for Programming with Bound Names Modulo Renaming", booktitle = "Mathematics of Programme Construction", pages = "230-255", year = 2000, volume = 1837, series = LNCS, publisher = "Springer-Verlag", } @InProceedings{Twelf, author = "Frank Pfenning and Carsten Sch{\"u}rmann", title = "System Description: Twelf --- {A} Meta-Logical Framework for Deductive Systems", editor = "H. Ganzinger", pages = "202--206", booktitle = "the International Conf. on Automated Deduction (CADE-16)", year = "1999", publisher = "Springer-Verlag LNAI 1632", address = "Trento, Italy", month = jul, keywords = "LF, Elf", urlps = "http://www.cs.cmu.edu/~fp/papers/twelf98.ps.gz", } @Article{Isabelle, author = "L. C. Paulson", title = "{Isabelle}: {A} Generic Theorem Prover", journal = "Lecture Notes in Computer Science", volume = "828", pages = "xvii + 321", year = "1994", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Tue Apr 28 14:47:35 1998", acknowledgement = ack-nhfb, } @InProceedings{Despeyroux97, author = "Jo{\"e}lle Despeyroux and Frank Pfenning and Carsten Sch{\"u}rmann", title = "Primitive Recursion for Higher-Order Abstract Syntax", editor = "J. Roger Hindley", pages = "147--163", booktitle = "Proc. Third International Conf. on Typed Lambda Calculus and Applications (TLCA'97)", year = 1997, publisher = "Springer-Verlag LNCS 1210", address = "Nancy, France", month = apr, keywords = "misc", note = "An extended version is available as Technical Report CMU-CS-96-172, Carnegie Mellon University", urldvi = "http://www.cs.cmu.edu/~fp/papers/tlca97.dvi.gz", urlps = "http://www.cs.cmu.edu/~fp/papers/tlca97.ps.gz" } @Manual{Pfenning98guide, title = "Twelf User's Guide", author = "Frank Pfenning and Carsten Sch{\"u}rmann", edition = "1.2", year = 1998, month = sep, keywords = "LF, Elf", note = "Available as Technical Report CMU-CS-98-173, Carnegie Mellon University", urlhtml = "http://www.cs.cmu.edu/~twelf/guide" } @InProceedings{Pfenning98types, author = "Frank Pfenning and Carsten Sch{\"u}rmann", title = "Algorithms for Equality and Unification in the Presence of Notational Definitions", editor = "T. Altenkirch and W. Naraschewski and B. Reus", booktitle = "Types for Proofs and Programs", month = mar, year = 1998, pages = "179--193", address = "Kloster Irsee, Germany", publisher = "Springer-Verlag LNCS 1657", keywords = "LF, Elf", urlps = "http://www.cs.cmu.edu/~fp/papers/types98.ps.gz" } @InProceedings{Pfenning99cade, author = "Frank Pfenning and Carsten Sch{\"u}rmann", title = "System Description: Twelf --- A Meta-Logical Framework for Deductive Systems", editor = "H. Ganzinger", pages = "202--206", booktitle = "Proc. 16th International Conf. on Automated Deduction (CADE-16)", year = 1999, publisher = "Springer-Verlag LNAI 1632", address = "Trento, Italy", month = jul, keywords = "LF, Elf", urlps = "http://www.cs.cmu.edu/~fp/papers/cade99.ps.gz" } @MastersThesis{Schurmann95, author = "Carsten Sch{\"u}rmann", title = "A Computational Meta Logic for the {Horn} Fragment of {LF}", school = "Carnegie Mellon University", year = 1995, month = dec, note = "Available as Technical Report CMU-CS-95-218", keywords = "LF" } @InProceedings{Schurmann98cade, author = "Carsten Sch{\"u}rmann and Frank Pfenning", title = "Automated Theorem Proving in a Simple Meta-Logic for {LF}", editor = "Claude Kirchner and H{\'e}l{\`e}ne Kirchner", pages = "286--300", booktitle = "Proc. 15th International Conf. on Automated Deduction (CADE-15)", year = 1998, publisher = "Springer-Verlag LNCS 1421", address = "Lindau, Germany", month = jul, keywords = "LF, Elf", urlps = "http://www.cs.cmu.edu/~fp/papers/cade98m2.ps.gz" } @PhdThesis{Schurmann00phd, author = "Carsten Sch{\"u}rmann", title = "Automating the Meta Theory of Deductive Systems", school = "Department of Computer Science, Carnegie Mellon University", year = 2000, month = aug, note = "Available as Technical Report CMU-CS-00-146", keywords = "LF, Elf", urlps = "http://cs-www.cs.yale.edu/homes/carsten/papers/S00b.ps.gz" } @InProceedings{Kreitz98, author = "Christoph Kreitz and Mark Hayden and Jason Hickey", title = "A Proof Environment for the Development of Group Communication Systems", booktitle = "15$^{th}$ International Conf. on Automated Deduction", year = "1998", editor = "C. Kirchner and H. Kirchner", volume = "1421", series = "Lecture Notes in Artificial Intelligence", pages = "317--332", publisher = "Springer Verlag" } @InProceedings{Kreitz99, author = "Christoph Kreitz", title = "Automated Fast-Track Reconfiguration of Group Communication Systems", booktitle = "5$^{th}$ International Conf. on Tools and Algorithms for the Construction and Analysis of Systems", year = "1999", editor = "R.~Cleaveland", number = "1579", series = "Lecture Notes in Computer Science", pages = "104--118", publisher = "Springer Verlag" } @TechReport{Luo92, author = "Zhaohui Luo and Robert Pollack", title = "The {LEGO} Proof Development System: A User's Manual", institution = "University of Edinburgh", month = may, year = "1992", number = "ECS-LFCS-92-211", keywords = "misc" } @InProceedings{Nordstrom93, author = "Bengt Nordstr{\"o}m", title = "The {ALF} proof editor", booktitle = "Proc. Workshop on Types for Proofs and Programs", address = "Nijmegen", year = "1993", pages = "253--266", keywords = "ALF" } @TechReport{Dowek93tr, author = "Gilles Dowek and Amy Felty and Hugo Herbelin and G{\'e}rard Huet and Chet Murthy and Catherine Parent and Christine Paulin-Mohring and Benjamin Werner", title = "The {Coq} Proof Assistant User's Guide", institution = "INRIA", address = "Rocquencourt, France", type = "Rapport Techniques", number = "154", year = "1993", note = "Version 5.8", keywords = "misc" } @InProceedings{Allen00, author = "Stuart Allen and Robert Constable and Richard Eaton and Christoph Kreitz and Lori Lorigo", title = "The {\sf Nuprl} Open Logical Environment", booktitle = "the International Conf. on Automated Deduction", year = "2000", editor = "D. McAllester", volume = "1831", series = "Lecture Notes in Artificial Intelligence", pages = "170--176", publisher = "Springer-Verlag" } @techreport{Goad80, author = "Christopher A. Goad" , title = "Computational Uses of the Manipulation of Formal Proofs" , institution= "Stanford University" , number = "Stan-CS-80-819" , month = "August" , year = "1980" } @inproceedings{Xi99@PADL, author = "Xi, Hongwei", title = {Dead Code Elimination through Dependent Types}, booktitle = "First International Workshop on Practical Aspects of Declarative Languages", series = "Lecture Notes in Computer Science", volume = 1551, year = 1999 } @InCollection{HarperStone98, author = "Robert Harper and Chris Stone", title = "A Type-Theoretic Interpretation of {Standard ML}", booktitle = "Proof, Language and Interaction: Essays in Honour of Robin Milner", publisher = "MIT Press", year = "1998", editor = "Gordon D. Plotkin and Colin Stirling and Mads Tofte", note = "To appear", } @TechReport{HarperStone97, author = "Robert Harper and Chris Stone", title = "A Type-Theoretic Account of {S}tandard {ML} 1996 (Version 2)", institution = "Carnegie Mellon University", year = "1997", number = "CMU--CS--97--147", address = "Pittsburgh, PA" } @InProceedings{miller90tr, author = "Dale Miller", title = "An Extension to {ML} to Handle Bound Variables in Data Structures: Preliminary Report", month = jun, year = "1990", booktitle = "Informal Proc. Logical Frameworks BRA Workshop", where = "Nice, France", note = "Available as UPenn CIS technical report MS-CIS-90-59", } @Article{Miller:1992:UUM, author = "Dale Miller", title = "Unification Under a Mixed Prefix", journal = "Journal of Symbolic Computation", volume = "14", number = "4", pages = "321--358", month = oct, year = "1992", coden = "JSYCEH", ISSN = "0747-7171", mrclass = "68T15 (03B35 03B40)", mrnumber = "93g:68121", bibdate = "Sat May 10 15:54:09 MDT 1997", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Pennsylvania Univ., Philadelphia, PA, USA", keywords = "decidability; mixed prefix; optimizations; pre-unifiers; search problems; symbol manipulation; unification problems; unification search problem", treatment = "T Theoretical or Mathematical", } @InProceedings{miller92rclp, author = "Dale Miller", title = "Abstract Syntax and Logic Programming", booktitle = "Logic Programming: Proc. First and Second Russian Conf.s on Logic Programming", year = "1992", pages = "322--337", publisher = "Springer-Verlag", series = "Lecture Notes in Artificial Intelligence", number = "592", alsoavailable = "Also available as technical report MS-CIS-91-72, UPenn.", } @InProceedings{POPL00*133, author = "Alan Bawden", title = "First-Class Macros have Types.", pages = "133--141", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL)}", month = jan # " ~19--21", publisher = "ACM Press", address = "N.Y.", year = "2000", } @Article{Ingerman61, author = "P. Z. Ingerman", title = "Thunks: a way of compiling procedure statements with some comments on procedure declarations.", journal = "Comm. A.C.M.", volume = "4", number = "1", pages = "55--58", month = jan, year = "1961", keywords = "Algol 60, call by name, call-by-name, by-name, FP, parameter, passing, thunk, think, pass, closure, algol-60, programming language", } @InProceedings{FM01A, author = "J. Ford and I. A. Mason", title = "Operational Techniques in PVS - A Preliminary Evaluation", booktitle = "The Australasian Theory Symposium, CATS '01", year = 2001 } @InProceedings{FM01B, author = "J. Ford and I. A. Mason", title = "Establishing a General Context Lemma in PVS", booktitle = "The 2nd Australasian Workshop on Computational Logic, AWCL'01", year = 2001 } @manual{PVS, TITLE = {PVS Tutorial}, AUTHOR = {N. Shankar and S. Owre and J. M. Rushby}, MONTH = feb, YEAR = 1993, ORGANIZATION = {Computer Science Laboratory, SRI International}, ADDRESS = {Menlo Park, CA}, NOTE = {Also appears in Tutorial Notes, {\em Formal Methods Europe '93: Industrial-Strength Formal Methods}, pages 357--406, Odense, Denmark, April 1993}} @InProceedings{CMA94, key = "CMA94", author = "L. Cardelli and F. Matthes and M. Abadi", title = "Extensible Grammars for Language Specialization", booktitle = "Database Programming Languages (DBPL-4)", editor = "C. Beeri and A. Ohori and D. E. Shasha", series = "Workshops in Computing", publisher = "Springer-Verlag", month = feb, year = "1994", url = "http://www.sts.tu-harburg.de/papers/1994/CMA94", abstract = "A basic dilemma in the design of a database programming language is the choice between a user-friendly language with a rich set of tailored notations for schema definitions, query expressions, etc., and a small, conceptually simple core language. We address this dilemma by proposing extensible grammars, a syntax-definition formalism for incremental language extensions and restrictions based on an initial core language.\\ The translation of programs written in tailored object languages into programs of a core language is defined via syntax-directed patterns. In contrast to traditional macro-expansion and program-rewriting tools, our extensible grammars respect scoping rules. Therefore, it is possible to introduce new binding constructs like quantifiers, iterators, and type declarations, while avoiding problems with variable captures and name clashes.\\ We develop extensible grammars and illustrate their use by extending the lambda calculus with let-bindings, conditionals, and SQL-style query expressions. We then give a formal description of the underlying parsing, transformation, and substitution rules. We also highlight some implementation details of a type-safe, extensible parser package based on the concept of extensible grammars developed for the Tycoon programming environment.", } @article{hashimoto97, author = "M. Hashimoto and A. Ohori", title = "A typed context calculus", journal = "Theoretical Computer Science", note = "To appear. Preliminary version. Preprint RIMS-1098, Research Institute for Mathematical Sciences, Kyoto University, 1996", url = "citeseer.nj.nec.com/hashimoto01typed.html" } @Article{Mason99, author = "Ian A. Mason", title = "Computing with Contexts", journal = "Higher-Order and Symbolic Computation", volume = "12", number = "2", pages = "171--201", month = sep, year = "1999", coden = "LSCOEX", ISSN = "1388-3690", bibdate = "Sat Jul 17 17:47:09 MDT 1999", url = "http://www.wkap.nl/oasis.htm/234970", acknowledgement = ack-nhfb, } @InCollection{Sand98, author = "David Sands", title = "Computing with Contexts: {A} simple approach", booktitle = "Second Workshop on Higher-Order Operational Techniques in Semantics (HOOTS II)", editor = "Andrew D. Gordon and Andrew M. Pitts and Carolyn L. Talcott", series = "Electronic Notes in Theoretical Computer Science", year = "1998", volume = "10", publisher = "Elsevier Science Publishers B.V.", keywords = "pisem", } @TechReport{MS2000, author = "Stefan Monnier and Zhong Shao", title = "Inlining as Staged Computation", institution = "Department of Computer Science, Yale University", year = 2000, OPTkey = {}, OPTtype = {}, number = "YALEU/DCS/TR-1193", OPTaddress = {}, month = mar, OPTnote = {}, annote = "{\sf http://flint.cs.yale.edu/flint/publications/isc.html}" } @InProceedings{Ong, author = "A. S. Murawski and C.-H. L. Ong", title = "Can safe recursion be interpreted in light logic?", booktitle = "Second International Workshop on Implicit Computational Complexity", year = 200, address = "Santa Barbara", month = jun } @Unpublished{Kieburtz2001, author = "Richard Kieburtz", title = "Real-time Reactive Programming for Embedded Controllers", note = "Available from author's home page", OPTkey = {}, month = mar, year = 2001, OPTannote = {} } @article{UpperBounds, author = {Hongwei Xi}, title = "{Upper bounds for standardizations and an application}", journal = {Journal of Symbolic Logic}, volume = 64, number = 1, pages = "291-303", year = 1999, month = "March" } @InCollection{DepTypes, author = "Martin Hofmann", title = "Syntax and Semantics of Dependent Types", editor = "Andrew M. Pitts and Peter Dybjer", booktitle = "Semantics and Logics of Computation", series = "Publications of the Newton Institute", volume = "14", pages = "79--130", publisher = "Cambridge University Press", address = "Cambridge", year = "1997", } @InProceedings{Hofmann99b, author = "Martin Hofmann", title = "Linear Types and Non-Size-Increasing Polynomial Time Computation", pages = "464--473", booktitle = "the Symposium on Logic in Computer Science ({LICS} '99)", ISBN = "0-7695-0158-3", month = jul, publisher = "IEEE", year = "1999", } @InProceedings{Effects92, author = "Jean-Pierre Talpin and Pierre Jouvelot", title = "The Type and Effect Discipline", editor = "A. Scedrov", booktitle = "Proc. 1992 Logics in Computer Science Conf.", pages = "162--173", year = "1992", publisher = "IEEE", abstract = "The {\em type and effect discipline} is a new framework for reconstructing the principal type and the minimal effect of expressions in implicitly typed polymorphic functional languages that support imperative constructs. The type and effect discipline outperforms other polymorphic type systems. Just as types abstract collections of concrete values, {\em effects} denote imperative operations on regions. {\em Regions} abstract sets of possibly aliased memory locations. \par Effects are used to control type generalization in the presence of imperative constructs while regions delimit observable side-effects. The observable effects of an expression range over the regions that are free in its type environment and its type; effects related to local data structures can be discarded during type reconstruction. The type of an expression can be generalized with respect to the variables that are not free in the type environment or in the observable effect.", } @InProceedings{Wadler99, key = "Wadler", author = "Philip Wadler", title = "The marriage of effects and monads", booktitle = "the International Conf. on Functional Programming (ICFP '98)", series = "ACM SIGPLAN Notices", volume = "34(1)", month = jun, year = "1999", organization = "ACM", pages = "63--74", annote = "Shows how effect systems can be adapted to monads. 33 references.", } @Article{Regions97, refkey = "C1753", title = "Region-Based Memory Management", author = "Mads Tofte and Jean-Pierre Talpin", pages = "109--176", journal = "Information and Computation", month = "1~" # feb, year = "1997", volume = "132", number = "2", abstract = "This paper describes a memory management discipline for programs that perform dynamic memory allocation and de-allocation. At runtime, all values are put into \emph{regions}. The store consists of a stack of regions. All points of region allocation and de-allocation are inferred automatically, using a type and effect based program analysis. The scheme does not assume the presence of a garbage collector. The scheme was first presented in 1994 (M.~Tofte and J.-P. Talpin, \emph{in} ``Proc. 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages,'' pp.~188--201); subsequently, it has been tested in the ML Kit with Regions, a region-based, garbage-collection free implementation of the Standard ML Core Language, which includes recursive datatypes, higher-order functions and updatable references (L.~Birkedal, M.~Tofte, and M.~Vejlstrup, (1996), \emph{in} ``Proc. 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages,'' pp.~171--183). This paper defines a region-based dynamic semantics for a skeletal programming language extracted from Standard ML\@. We present the inference system which specifies where regions can be allocated and de-allocated and a detailed proof that the system is sound with respect to a standard semantics. We conclude by giving some advice on how to write programs that run well on a stack of regions, based on practical experience with the ML Kit.", references = "pldi::AikenFL1995, book::Appel1992, CACM::Baker1978, clfp::Baker1990, popl::BirkedalTV1996, TR::GiffordJS1987, POPL::DamasM1982, MISC::Dijkstra1960, MISC::ElsmanH1995, toplas::Georgeff1984, clfp::Hudak1986, popl::JouvelotG1991, toplas::InoueSY1988:555, book::Knuth1972, cacm::LiebermanH1983, popl::LucassenG1988, thesis::Lucassen1987, jcss::Milner1978, book::MilnerTH1990, lncs::Mycroft1984, cacm::Backus+1963:1, popl::RuggieriM1988, thesis::Talpin1993, jfp::TalpinJ1992, TR::TofteT1993, popl::TofteT1994", preliminary = "POPL::TofteT1994", references = "\cite{PLDI::AikenFL1995} \cite{BOOK::Appel1992} \cite{CACM::Baker1978} \cite{CLFP::Baker1990} \cite{POPL::BirkedalTV1996} \cite{TR::GiffordJS1987} \cite{POPL::DamasM1982} \cite{MISC::Dijkstra1960} \cite{MISC::ElsmanH1995} \cite{TOPLAS::Georgeff1984} \cite{CLFP::Hudak1986} \cite{POPL::JouvelotG1991} \cite{TOPLAS::InoueSY1988} \cite{BOOK::Knuth1972} \cite{CACM::LiebermanH1983} \cite{POPL::LucassenG1988} \cite{THESIS::Lucassen1987} \cite{JCSS::Milner1978} \cite{BOOK::MilnerTH1990} \cite{LNCS::Mycroft1984} \cite{CACM::Backus+1963} \cite{POPL::RuggieriM1988} \cite{THESIS::Talpin1993} \cite{JFP::TalpinJ1992} \cite{TR::TofteT1993} \cite{POPL::TofteT1994}", } @InProceedings{Calcagno01, author = "Cristiano Calcagno", title = "Stratified Operational Semantics for Safety and Correctness of the Region Calculus", booktitle = "the Symposium on Principles of Programming Languages ({POPL}'01)", year = "2001", } @article{Caspi&Pouzet:1994a, Author = {Paul Caspi and Marc Pouzet}, Title = {A functional extension to {Lustre}}, Year = 1994 } @techreport{Caspi&Pouzet:1997, Author = {Paul Caspi and Marc Pouzet}, Title = {A co-iterative characterization of synchronous stream functions}, Number = {{VERIMAG} Research Report 97-07}, Institution = {{VERIMAG}}, CITY = {Gieres, France}, Month = Oct, Year = 1997 } @InProceedings{Kieburtz, title = "Implementing Closed Domain-Specific Languages", author = "Richard B. Kieburtz", booktitle = "\cite{saig00}", pages = "1--2", year = 2000, } @Article{arrow, author = {R.J.M. Hughes}, title = {Generalising Monads to Arrows}, journal = {Science of Computer Programming}, year = {2000}, volume = {37}, pages = {67-111}, month = {May} } @InProceedings{caspi96synchronous, title = "Synchronous {Kahn} networks", author = "Paul Caspi and Marc Pouzet", pages = "226--238", booktitle = "the International Conf. on Functional Programming (ICFP'96)", month = "24--26 " # may, year = "1996", address = "Philadelphia, Pennsylvania", } @article{ , author = "Paul Caspi and Marc Pouzet", title = "Synchronous {Kahn} networks", journal = "ACM SIG{\-}PLAN Notices", volume = "31", number = "6", pages = "226--238", year = "1996", url = "citeseer.nj.nec.com/24360.html" } @InProceedings{rt-frp, author = {Zhanyong Wan and Walid Taha and Paul Hudak}, title = {{R}eal-time {FRP}}, booktitle = {Proc. Intl. Conf. on Functional Programming ({ICFP} '01)}, year = {2001}, address = {Florence, Italy}, month = {September}, organization = {ACM}, } @InProceedings{efrp, author = {Zhanyong Wan and Walid Taha and Paul Hudak}, title = {{E}vent-driven {FRP}}, booktitle = {Proc. 4th. Intl. Sym. on Practical Aspects of Declarative Languages (PADL~'02)}, year = {2002}, month = {Jan}, organization = {ACM}, } @InProceedings{typed-macros, author = {Steven Ganz and Amr Sabry and Walid Taha}, title = {Macros as Multi-Stage Computations: Type-Safe, Generative, Binding Macros in {M}acro{ML}}, booktitle = {the International Conf. on Functional Programming (ICFP '01)}, year = {2001}, address = {Florence, Italy}, month = {September}, organization = {ACM}, } @inproceedings{mycroft00statically, author = "Alan Mycroft and Richard Sharp", title = "A Statically Allocated Parallel Functional Language", booktitle = "Automata, Languages and Programming", pages = "37-48", year = "2000", url = "citeseer.nj.nec.com/mycroft00statically.html" } @InProceedings{HP99, author = "R.J.M. Hughes and Lars Pareto", title = "Recursion and Dynamic Data-structures in Bounded Space: Towards Embedded {ML} Programming", pages = "70--81", ISBN = "1-58113-111-9", booktitle = "Proc. Fourth {ACM} {SIGPLAN} International Conf. on Functional Programming ({ICFP}-99)", month = sep # " ~27--29", series = "ACM Sigplan Notices", volume = "34.9", publisher = "ACM Press", address = "N.Y.", year = "1999", } @techreport{esterel-semantics ,author={Gerard Berry} ,title={The Constructive Semantics of Pure {E}sterel (Draft Version 3)} ,institution={Ecole des Mines de Paris and INRIA} ,type={Draft Version} ,number={3} ,month=Jul ,year=1999 } @phdthesis{acd-phd, author = {Anthony C. Daniels}, title = {A Semantics for Functions and Behaviours}, month = {December}, year = {1999}, pages = {193}, url = {http://www.cs.ukc.ac.uk/pubs/1999/1172}, publication_type = {phdthesis}, submission_id = {24157_981726971}, school = {The University of Nottingham} } @InProceedings{franTk, author = {Meurig Sage}, title = {{F}ran{T}k -- A Declarative {GUI} Language for {H}askell}, booktitle = {Proceedings of Fifth ACM SIGPLAN International Conf. on Functional Programming}, pages = {106-118}, year = {2000}, address = {Montreal, Canada}, month = {September}, organization = {ACM}, } @InProceedings{frappe, author = {Antony Courtney}, title = {{F}rapp\'e: Functional Reactive Programming in {J}ava}, booktitle = {Proceedings of Symposium on Practical Aspects of Declarative Languages}, year = {2001}, organization = {ACM}, } @TechReport{henzinger-hybrid-automata, author = {Thomas A. Henzinger}, title = {The theory of hybrid automata}, institution = {University of California, Berkeley}, year = {1996} } @phdthesis{sulzmann-phd ,author={Sulzmann, Martin} ,title={A General Framework for Hindley/Milner Type Systems with Constraints} ,school={Department of Computer Science, Yale University} ,month=May ,year=2000 } @phdthesis{chen-chih-ping-phd ,author={Chen, Chih-Ping} ,title={Mutable Abstract Datatypes--A Connection Between Linear Types and State Monads} ,school={Department of Computer Science, Yale University} ,month=Dec ,year=1999 } @book{barnsley ,author={Barnsley, Michael F.} ,title={Fractals Everywhere (Second Edition)} ,publisher={Morgan Kaufmann} ,address={New York} ,year=2000 } @book{logo ,author={Michael Friendly} ,title={Advanced Logo: A Language for Learning} ,publisher={Lawrence Erlbaum Associates} ,address={} ,year=1988 } @book{karel ,author={Richard E. Pattis} ,title={Karel the Robot} ,publisher={John Wiley and Sons} ,address={New York} ,year=1981 } @book{littleschemer ,author={Daniel P. Friedman and Matthias Felleisen} ,title={The Little Schemer} ,publisher={MIT Press} ,address={Cambridge} ,year=1996 } @book{labanotation ,author={Ann Hutchinson} ,title={Labanotation} ,publisher={Routledge Theatre Arts Books} ,address={New York} ,year=1991 } @book{hofstadter ,author={Douglas R. Hofstadter} ,title={G\"{o}del, Escher, Bach: an Eternal Golden Braid} ,publisher={Basic Books} ,address={New Yorl} ,year=1979 } @book{emmer ,editor={Michele Emmer} ,title={The Visual Mind} ,publisher={MIT Press} ,address={Cambridge} ,year=1993 } @book{rothstein ,author={Edward Rothstein} ,title={Emblems of Mind: The Inner Life of Music and Mathematics} ,publisher={Times Books} ,address={New York} ,year=1995 } @inproceedings{frp-pldi ,author={Zhanyong Wan and Paul Hudak} ,title={Functional Reactive Programming From First Principles} ,booktitle={the Symposium on Programming Language Design and Implementation ({PLDI} '00)} ,organization={ACM} ,year=2000 ,pages={} } @Book{inside-com, author = "Dale Rogerson", title = "Inside COM", publisher = "Microsoft Press", year = "1997", } @Book{javabeans-ref, author = "Dan Brookshier", title = "JavaBeans Developer's Reference", publisher = "Macmillan Computer Publishing", year = "1997", } @Book{corba-ref, author = "Thomas Mowbray and Ron Zahavi", title = "The Essential Corba", publisher = "John Wiley and Sons", year = "1995", } @book{nelson91, editor="Greg Nelson", title="Systems programming with {M}odula-3", publisher="Prentice Hall", address ="Englewood Cliffs, NJ", year="1991" } @misc{PITAC ,author={President's Information Technology Advisory Committee} ,title={Information Technology Research: Investing in Our Future} ,note={chaired by Bill Joy and Ken Kennedy} ,month=Feb ,year=1999 } @book{soe ,author={Paul Hudak} ,title={The Haskell School of Expression -- Learning Functional Programming through Multimedia} ,publisher={Cambridge University Press} ,address={New York} ,year=2000 } @book{java ,author={Gosling, J. and Joy, B. and Steele, G.} ,title={The Java Language Specification} ,publisher={Addison-Wesley} ,address={Reading, MA} ,year=1996 } @misc{ada ,key={Ada} ,title={Rationale for the Design of the Ada Programming Language} ,organization={United States Department of Defense} ,journal={ACM Sigplan Notices} ,volume=14 ,number=6 ,year=1979 ,month=Jun } @misc{cobol ,key={Cobol} ,title={American National Standard COBOL (ANS X3.23-1968)} ,organization={American National Standards Institue, New York} ,year=1968 } @article{algol ,author={de Morgan, R.M. and Hill, I.D. and Wichmann, B.A.} ,title={Modified Report on the Algorithmic Language {ALGOL} 60} ,journal={Computer Journal} ,volume=19 ,number=4 ,year=1976 ,pages={364-379} } @inproceedings{lisp ,author={McCarthy, J.} ,title={Towards a Mathematical Theory of Computation} ,booktitle={Porc. IFIP Congress 6.2} ,publisher={North-Holland, Amsterdam} ,year=1962 ,pages={21-28} } @article{backus:fortran78 ,author={Backus, J.} ,title={The history of {FORTRAN} {I}, {II}, and {III}} ,journal={ACM Sigplan Notices} ,volume=13 ,number=8 ,year=1978 ,month=Aug ,pages={165-180} } @inproceedings{metaml ,author={Taha, Walid and Sheard, Tim} ,title={Mult-Stage Programming with Explicit Annotations} ,booktitle={Proceedings of Symposium on Partial Evaluation and Semantics Based Program manipulation} ,organization={ACM SIGPLAN} ,year=1997 ,pages={203-217} } @book{pierce-ct ,author={Pierce, Benjamin} ,title={Basic Category Theory for Computer Scientists} ,publisher={MIT Press} ,address={Cambridge, MA} ,year=1991 } @INPROCEEDINGS{Widen&98, AUTHOR = {Tanya Widen and James Hook}, TITLE = {Software design automation: language design in the context of domain engineering}, BOOKTITLE = {Proc. 10th International Conf. on Software Engineering and Knowledge Engineering}, YEAR = 1998, PAGES = {308-317}, PUBLISHER = {Knowledge Systems Institute}, ADDRESS = {Skokie, Illinois} } @Article{R5RS, author = "Richard Kelsey and William Clinger and Jonathan {Rees, editors}", title = "Revised${}^5$ Report on the Algorithmic Language {S}cheme", journal = "Higher-Order and Symbolic Computation", year = 1998, volume = 11, number = 1, pages = "7-105", note = "Also appears in ACM SIGPLAN Notices 33(9), September 1998" } @inproceedings{jcp-ms-ifip ,author={John Peterson and Martin Sulzmann} ,title={Analysis of Architectures using Constraint--Based Types (position paper)} ,booktitle={First Working IFIP Conf. on Software Architecture} ,organization={IFIP} ,month=Feb ,year=1999 } @inproceedings{h-direct ,author={Sigbjorn Finne and Daan Leijen and Erik Meijer and Simon L. {Peyton Jones}} ,title={H/Direct: A Binary Foreign Language Interface for Haskell} ,booktitle={Proceedings of International Conf. on Functional Programming} ,organization={ACM/IFIP} ,year=1998 ,pages={} } @article{Arya86 ,author={Kavi Arya} ,title={A Functional Approach To Animation} ,journal={Computer Graphics Forum} ,volume=5 ,number=4 ,month=Dec ,year=1986 ,pages={297--311} } @techreport{Bartlett91 ,author={Joel F. Bartlett} ,title={Don't Fidget With Widgets, Draw!} ,institution={DEC Western Digital Laboratory} ,type={Technical Report} ,number=6 ,month=May ,year=1991 } @inproceedings{Elliott94 ,author={Conal Elliott, Greg Schechter, Ricky Yeung, and Salim Abi-Ezzi} ,title={TBAG: A High Level Framework For Interactive, Animated 3D Graphics Applications} ,booktitle={Proceedings of SIGGRAPH '94} ,organization={ACM SIGGRAPH} ,month=Jul ,year=1994 ,pages={421-434} } @techreport{Elliott96a ,author={Conal Elliott} ,title={A Brief Introduction to ActiveVRML} ,institution={Microsoft Research} ,type={Technical Report} ,number={MSR-TR-96-05} ,year=1996 } @inproceedings{Escher88 ,author={S.N. Zilles, P. Lucas, T.M. Linden, J.B. Lotspiech, and A.R. Harbury} ,title={The Escher Document Imaging Model} ,booktitle={Proc. ACM Conf. on Document Processing Systems} ,month=Dec ,year=1988 ,pages={159-168} } @inproceedings{HaggisGraphics95} ,author={Sigbjorn Finne and Simon L. {Peyton Jones}} ,title={Pictures: A Simple Structured Graphics Model} ,booktitle={Proceedings of Glasgow Functional Programming Workshop} ,month=Jul ,year=1995 ,pages={} } @techreport{LucasZilles87 ,author={Peter Lucas and Stephen N. Zilles} ,title={Graphics in an Applicative Context} ,institution={IBM Almaden Research Center} ,type={Technical Report} ,number={} ,month=Jul ,year=1987 } @inproceedings{PJGordonFinne96 ,author={Simon L. {Peyton Jones}, Andrew D. Gordon and Sigbjorn Finne} ,title={Concurrent Haskell} ,booktitle={Proceedings of ACM Symposium on Principles of Programming Languages} ,organization={ACM SIGPLAN} ,month=Jan ,year=1996 ,pages={} } @inproceedings{Schecht.er94 ,author={Greg Schechter, Conal Elliott, Ricky Yeung, and Salim Abi-Ezzi} ,title={Functional 3D Graphics in C++ - With an Object-Oriented, Multiple Dispatching Implementation} ,booktitle={Proc. 1994 Eurographics Object-Oriented Graphics Workshop} ,organization={Eurographics, Springer Verlag} ,year=1994 ,pages={} } @article{Scheifler90 ,author={R.W. Scheifler and J. Gettys} ,title={The X Window system} ,journal={Software---Practice and Experience} ,volume=20 ,number={S2} ,month=Oct ,year=1990 ,pages={5-34} } @inproceedings{video-dsl ,author={S. Thibault, R. Marlet, C. Consel} ,title={A Domain-Specific Language for Video Device Drivers: From Design to Implementation} ,booktitle={Proc. first Conf. on Domain-Specific Languages} ,organization={USENIX} ,year=1997 ,month=Oct ,pages={11--26} } @inproceedings{sw-eng-dsl ,author={D. Spinellis, V. Guruprasad} ,title={Lightweight Languages for Software Engineering Tools} ,booktitle={Proc. first Conf. on Domain-Specific Languages} ,organization={USENIX} ,year=1997 ,month=Oct ,pages={67--76} } @article{strategies98 ,author={P.W. Trinder, K. Hammond, H.-W. Loidl, and Simon L. {Peyton Jones}} ,title={Algorithm + strategy = parallelism} ,journal={Journal of Functional Programming} ,volume=8 ,number=1 ,year=98 ,pages={23--60} } @inproceedings{hudak-shaumyan-LACL97 ,author={Sebastian Shaumyan and Paul Hudak} ,title={Linguistic, Philosophical, and Pragamatic Aspects of Type-Directed Natural Language Parsing} ,booktitle={Proceedings of Logical Aspects of Computational Linguistics} ,organization={Springer-Verlag} ,year=1997 ,month=Sep } @misc{modular-monadic-semantics-98 ,author={Sheng Liang and Paul Hudak} ,title={Modular Monadic Semantics} ,note={submitted to {\em Journal of ACM}} ,month=Mar ,year=1998 } @inproceedings{dsel-reuse-98 ,author={Paul Hudak} ,title={Modular Domain Specific Languages and Tools} ,booktitle={Proceedings of Fifth International Conf. on Software Reuse} ,organization={IEEE Computer Society} ,year=1998 ,month=Jun ,pages={134-142} } @TechReport{Tullsen:Hudak:1998, author = "Mark Tullsen and Paul Hudak", email = "mark.tullsen@yale.edu and paul.hudak@yale.edu", title = "An Intermediate Meta-Language for Program Transformation", institution = "Yale University", month = jun, year = "1998", url = "ftp://haskell.systemsz.cs.yale.edu/pub/tullsen/imlforpt.ps", pages = "15", number = "YALEU/DCS/RR-1154", abstract = "As part of an effort to bridge the gap between the theory and practice of program transformation, we have designed a meta-language for transforming functional programs. The meta-language is sound in preserving both value and termination properties of programs (and is thus superior to the unfold/fold methodology). Our key contribution is an equational specification of Scherlis's expression procedures, in which we express the essence of expression procedures as a single transformation rule. Our approach has the following advantages over both unfold/fold and expression procedures: (1) all program derivations are reversible; (2) many transformations can be done which unfold/fold and expression procedures cannot do; and (3) the proof of correctness is far simpler." } @Proceedings{Maler:1997:HRT, editor = "O. (Oded) Maler", booktitle = "Hybrid and real-time systems: international workshop, {HART} '97, Grenoble, France, March 26--28, 1997: proceedings", title = "Hybrid and real-time systems: international workshop, {HART} '97, Grenoble, France, March 26--28, 1997: proceedings", volume = "1201", publisher = "Springer-Verlag", address = "New York, NY, USA", pages = "ix + 414", year = "1997", coden = "LNCSD9", ISBN = "3-540-62600-X (Berlin softcover)", ISSN = "0302-9743", LCCN = "QA76.38 .H37 1997", bibdate = "Mon Aug 25 10:50:15 MDT 1997", series = "Lecture Notes in Computer Science", acknowledgement = ack-nhfb, keywords = "Hybrid computers -- Congresses.; Real-time data processing -- Congresses.", } @Proceedings{Alur:1996:HSI, editor = "Rajeev Alur and T. A. (Thomas A.) Henzinger and Eduardo D. Sontag", booktitle = "Hybrid systems {III}: verification and control", title = "Hybrid systems {III}: verification and control", volume = "1066", publisher = "Springer-Verlag", address = "New York, NY, USA", pages = "ix + 618", year = "1996", coden = "LNCSD9", ISBN = "3-540-61155-X", ISSN = "0302-9743", LCCN = "QA267.A1 L43 no.1066", bibdate = "Sat Dec 21 16:06:37 MST 1996", note = "Proc. DIMACS/SYCON Workshop on Verification and Control of Hybrid Systems, organized October 22--25, 1995 at Rutgers University, New Brunswick, New Jersey", series = "Lecture Notes in Computer Science", acknowledgement = ack-nhfb, alttitle = "Hybrid systems 3 Hybrid systems three", annote = "``Proc. DIMACS/SYCON Workshop on Verification and Control of Hybrid Systems, organized October 22--25, 1995 at Rutgers University, New Brunswick, New Jersey''", keywords = "Hybrid computers -- Congresses; Digital control systems -- Congresses.", } @Proceedings{Best:1993:CIC, editor = "Eike Best", booktitle = "{CONCUR} '93: 4th International Conf. on Concurrency Theory, Hildesheim, Germany, August 993: proceedings", title = "{CONCUR} '93: 4th International Conf. on Concurrency Theory, Hildesheim, Germany, August 993: proceedings", volume = "715", publisher = "Springer-Verlag", address = "New York, NY, USA", pages = "ix + 540", year = "1993", coden = "LNCSD9", ISBN = "0-387-57208-2 (New York), 3-540-57208-2 (Berlin)", ISSN = "0302-9743", LCCN = "QA76.58 .I53 1993", bibdate = "Fri Apr 12 07:38:03 1996", series = "Lecture Notes in Computer Science", acknowledgement = ack-nhfb, keywords = "parallel processing (electronic computers) --- congresses", xxvolume = "4004199954", } @Proceedings{Grossman:1993:HS, editor = "Robert L. Grossman", booktitle = "Hybrid systems", title = "Hybrid systems", volume = "736", publisher = "Springer-Verlag", address = "New York, NY, USA", pages = "viii + 474", year = "1993", coden = "LNCSD9", ISBN = "0-387-57318-6 (New York), 3-540-57318-6 (Berlin)", ISSN = "0302-9743", LCCN = "QA76.5 .H93 1993", bibdate = "Fri Apr 12 07:14:59 1996", note = "Papers presented at a workshop held Oct. 19--21, 1992 at the Technical University, Lyngby, Denmark.", price = "DM86.00", series = "Lecture Notes in Computer Science", acknowledgement = ack-nhfb, keywords = "hybrid computers --- congresses", xxvolume = "4004351807", } @article{devanbu ,author={Devanbu, P. and Rosenblum, D. and Wolf, A.} ,title={Generating Testing and Analysis tools} ,journal={ACM Transactions on Software Engineering and Methodology} ,year=1996 } @inproceedings{haskell-com ,author={Simon L. {Peyton Jones} and Erik Meijer and Dan Leijen} ,title={Scripting {COM} Components in Haskell} ,booktitle={Proceedings of 5th International Conf. on Software Reuse} ,organization={IEEE/ACM} ,year=1998 ,pages={224--233} } @inproceedings{jakarta ,author={Don Batory and Bernie Lofaso and Yannis Smaragdakis} ,title={{JTS}: A Tool Suite for Building {GenVoca} Generators} ,booktitle={Proceedings of 5th International Conf. on Software Reuse} ,organization={IEEE/ACM} ,year=1998 ,pages={} } @inproceedings{fran-dsl ,author={Conal Elliott} ,title={Modeling Interactive {3D} and Multimedia Animation with an Embedded Language} ,booktitle={Proc. first Conf. on Domain-Specific Languages} ,organization={USENIX} ,year=1997 ,month=Oct ,pages={285-296} } @book{design-patterns ,author={Gamma, E. and Helm, R. and Johnson, R. and Vlissides, J.} ,title={Design Pattens: Elements of Reusable Object-Oriented Software} ,publisher={Addison-Wesley} ,year=1995 } @article{little-languages ,author={Jon Bentley} ,title={Little Languages} ,journal={CACM} ,volume=29 ,number=8 ,year=1986 ,pages={711-721} } @misc{tullsen-hudak-97 ,author={Mark Tullsen and Paul Hudak} ,title={An Intermediate Meta-Language for Program Transformation} ,note={submitted to 1998 ACM Symposium on Programming Language Design and Implementation} ,month=Nov ,year=1997 } @TechReport{dynamic-code ,author={John Peterson and Paul Hudak and Gary Shu Ling} ,title={Principled Dynamic Code Improvement} ,institution={Yale University, Department of Computer Science} ,month=Jul ,year=1997 ,type={Research Report} ,number={YALEU/DCS/RR-1135} } @TechReport{Hugs ,author={Mark P. Jones and John C. Peterson} ,title={Hugs 1.4 {U}ser {M}anual} ,institution={Yale University, Department of Computer Science} ,year=1997 ,type={Research Report} ,number={YALEU/DCS/RR-1123} } @misc{appel-hot-sliding ,author={Appel, Andrew W.} ,title={Hot Sliding in Standard ML} ,month=Dec ,year=1994 ,note={unpublished manuscript} } @TechReport{sulzmann-odersky-wehr:tr-type-inference, author = "Martin Sulzmann and Martin Odersky and Martin Wehr", title = "Type {I}nference with {C}onstrained {T}ypes", institution = "Yale University, Department of Computer Science", year = 1997, folder = "13-23", type = "Research Report", number = "YALEU/DCS/RR-1129", month = "April" } @TechReport{sulzmann:tr-records, author = "Martin Sulzmann", title = "Designing {R}ecord {S}ystems", institution = "Yale University, Department of Computer Science", year = 1997, folder = "13-23", type = "Research Report", number = "YALEU/DCS/RR-1128", month = "April", abstract = "We explore the design space for type systems with polymorphic records. We design record systems for extension, concatenation and removal of fields. Furthermore, we design a record system where field labels become first class values. That means, we can now quantify over field lables and pass them around as arguments. All designed record systems enjoy type inference with principal types. Especially, we can combine any features into a new record system retaining type inference with principal types. We also point out some problems which are present in previous record systems. Our designed record systems can be seen as the proper logical formulation of previous approaches with even more expressive power. We base our design on the HM(X) framework. HM(X) is a general framework for Hindley/Milner type systems that are parameterized in the constraint domain X. HM(X) enables us to design record systems in a systematic way retaining type inference with principal types. That means, designing record systems becomes construction of constraint systems which model record systems." } @TechReport{sulzmann:tr-type-inference, author = "Martin Sulzmann", title = "Proofs of {S}oundness and {C}ompleteness of {T}ype {I}nference for {HM(X)}", institution = "Yale University, Department of Computer Science", year = 1997, folder = "13-23", type = "Research Report", number = "YALEU/DCS/RR-1102", month = "February" } @InProceedings{type-inf-constrained-types, author = "Martin Sulzmann and Martin Odersky and Martin Wehr", title = "Type Inference with Constrained Types", booktitle = "FOOL4: 4th. International Workshop on Foundations of Object-oriented programming Languages", year = "1997", month = "January" } @article{dsls-on-line ,author={Paul Hudak} ,title={Building Domain Specific Embedded Languages} ,journal={ACM Computing Surveys} ,volume={28A} ,month=Dec ,year=1996 ,pages={(electronic)} } @inproceedings{Fran ,author={Conal Elliott and Paul Hudak} ,title={Functional Reactive Animation} ,booktitle={International Conf. on Functional Programming} ,month=Jun ,year=1997 ,pages={163--173} } @inproceedings{elliott98 ,author={Conal Elliott} ,title={Functional Implementations of Continuous Modeled Animation} ,booktitle={Proceedings of PLILP/ALP '98} ,organization={Springer-Verlag} ,year=1998 ,pages={} } @TechReport{Haskell1.4, author = {John Peterson et. al}, title = {Haskell 1.4: A Non-strict, Purely Functional Language}, institution = {Department of Computer Science, Yale University}, year = {1997}, number = {YALEU/DCS/RR-1106}, month = {Mar}, note = {World Wide Web version at \fr{http://haskell.cs.yale.edu/haskell-report}} } @TechReport{Haskell1.3, author = {John Peterson et. al}, title = {Haskell 1.3: A Non-strict, Purely Functional Language}, institution = {Department of Computer Science, Yale University}, year = {1996}, key = {Has96}, number = {YALEU/DCS/RR-1106}, month = {May}, note = {World Wide Web version at {\tt http://haskell.cs.yale.edu/haskell-report}} } @inproceedings{haskore-tutorial ,author={Paul Hudak} ,title={Haskore Music Tutorial} ,booktitle={Second International School on Advanced Functional Programming} ,publisher={Springer Verlag, LNCS 1129} ,year=1996 ,month=Aug ,pages={38-68} } @book{ML-definition ,author={Milner, R. and Tofte, M. and Harper, R.} ,title={The Definition of Standard ML} ,publisher={The MIT Press} ,address={Cambridge, MA} ,year=1990 } @phdthesis{chenphd ,author={Kung Chen} ,title={A Parametric Extension of Haskell's Type Classes} ,school={Yale University, Department of Computer Science} ,month=May ,year=1994 } @phdthesis{miraniphd ,author={Rajiv Mirani} ,title={High-Level Abstractions for Parallel Functional Programming} ,school={Yale University, Department of Computer Science} ,month=Jul ,year=1996 } @phdthesis{rabinphd ,author={Daniel Rabin} ,title={Calculi for Functional Programming with Assignment} ,school={Yale University, Department of Computer Science} ,month=May ,year=1996 } @inproceedings{jones-hudak-NLP ,author={Jones, M.P. and Hudak, P. and Shaumyan, S.} ,title={Using Types to Parse Natural Language} ,booktitle={Proceedings of Glasgow Functional Programming Workshop} ,organization={IFIP} ,publisher={Springer Verlag} ,year=1995 ,pages={} } @InProceedings{liang-hudak-jones:monad-transformers, author = "Sheng Liang and Paul Hudak and Mark Jones", title = "Monad Transformers and Modular Interpreters", booktitle = "22nd {ACM} Symposium on Principles of Programming Languages ({POPL '95}), {San Francisco, California}", year = "1995", publisher = "ACM Press", address = "New York", month = "January", pages={333-343} } @phdthesis{espinosa:thesis ,author={David Espinosa} ,title={Semantic Lego} ,school={Columbia University} ,year=1995 } @Unpublished{espinosa:modular, author = "David Espinosa", title = "Modular Denotational Semantics", note = "Unpublished manuscript", year = "1993", month = "December", } @InProceedings{liang-hudak:modular-semantics, author = "Sheng Liang and Paul Hudak", title = "Modular Denotational Semantics for Compiler Construction", booktitle = "European Symposium on Programming", year = "1996", month = "April" } @PhDThesis{liang:thesis, author = "Sheng Liang", title = "Modular Monadic Semantics and Compilation", school = "Yale University, Department of Computer Science", year = "1998", month = "May" } @InProceedings{steele:building, author = "Guy L. {Steele Jr.}", title = "Building Interpreters by Composing Monads", pages = "472--492", booktitle = "Conf. Record of {POPL '94}: 21st {ACM SIGPLAN-SIGACT} Symposium on Principles of Programming Languages, {Portland, Oregon}", year = "1994", publisher = "ACM Press", address = "New York", month = "January" } @article{ernoult-mycroft-95 ,author={Ernoult, C. and Mycroft, M.} ,title={Untyped strictness analysis} ,journal={Journal of Functional Programming} ,volume=5 ,number=1 ,year=1995 ,pages={37-49} } @inproceedings{Bur95, author = {C. T. P. Burton}, title = {Conceptual structures for recursion}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {179-194}} @inproceedings{Cla95, author = {C. Clack and C. Myers}, title = {The dys-functional student}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {289-309}} @inproceedings{Dav95, author = {A. Davison}, title = {Teaching {C} after {Miranda}}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {35-50}} @inproceedings{Fok95, author = {J. Fokker}, title = {Explaining algebraic theory with functional programs}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {139-158}} @inproceedings{Har95, author = {P. H. Hartel and B. van Es and D. Tromp}, title = {Basic proof skills of computer science students}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {269-288}} @inproceedings{Hil95, author = {E. Hilsdale and J. M. Ashley and R. K. Dybvig and D. P. Friedman}, title = {Compiler construction using Scheme}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {251-268}} @inproceedings{Jac95, author = {J.-P. Jacquot and J. Guyard}, title = {Requirements for an ideal first language}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {51-64}} @inproceedings{Jar95, author = {S. Jarvis and S. Poria and R. Morgan}, title = {Understanding {LOLITA}: Experiences in teaching large scale functional programming}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {103-120}} @inproceedings{Kar95, author = {J. Karczmarczuk}, title = {Functional programming and mathematical objects}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {121-138}} @inproceedings{Ker95, author = {E. T. Keravnou}, title = {Introducing computer science undergraduates to principles of programming through a functiona l language}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {15-34}} @inproceedings{Klu95, author = {W. E. Kluge and C. Rathsack and S.-B. Scholz}, title = {Using $\pi$-{\sc red} as a teaching tool for functional programming and program execution}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {231-250}} @inproceedings{Koo95, author = {P. Koopman and V. Zweije}, title = {Functional programming in a basic database course}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {215-230}} @inproceedings{Les95, author = {D. Lester and S. Mintchev}, title = {Inducing students to induct}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {159-178}} @inproceedings{Nun95, author = {M. N\'u\~nez and P. Palao and R. Pe\~na}, title = {A second year course on data structures based on functional programming}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {65-84}} @inproceedings{ODo95, author = {J. O'Donnell}, title = {From transistors to computer architecture: Teaching functional circuit specification in Hydr a}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {195-214}} @inproceedings{Tho95, author = {S. Thompson and S. Hill}, title = {Functional programming through the curriculum}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {85-102}} @inproceedings{Tur95, author = {D. A. Turner}, title = {Elementary strong functional programming}, booktitle = {Functional programming languages in education ({FPLE}), {LNCS} 1022}, editor = {P. H. Hartel and M. J. Plasmeijer}, publisher = {Springer-Verlag, Heidelberg}, address = {Nijmegen, The Netherlands}, month = {Dec}, year = {1995}, pages = {1-13}} @book{revesz ,author={Revesz, G.} ,title={Lambda Calculus, Combinators, and Functional Programming} ,publisher={Cambridge University Press} ,address={Cambridge} ,year=1988 } @inproceedings{hudakberger95 ,author={Hudak, P. and Berger, J.} ,title={A Model of Performance, Interaction, and Improvisation} ,booktitle={Proceedings of International Computer Music Conf.} ,organization={International Computer Music Association} ,year=1995 } @article{arya94 ,author={Arya, K.} ,title={A Functional Animation Starter-Kit} ,journal={Journal of Functional Programming} ,volume=4 ,number=1 ,year=1994 ,pages={1-18} } @incollection{musickit ,author={Jaffe, D. and Boynton, L.} ,title={An Overview of the Sound and Music Kits for the {NeXT} Computer} ,booktitle={The Well-Tempered Object} ,publisher={MIT Press} ,year=1991 ,editor={Pope, S.T.} ,pages={107-118} } @incollection{balaban92 ,author={Balaban, M.} ,title={Music Structures: Interleaving the Temporal and Hierarchical Aspects of Music} ,booktitle={Understanding Music With AI} ,publisher={AAAI Press} ,year=1992 ,editor={Balaban, M. and Ebcioglu, K. and Laske, O.} ,pages={110-139} } @inproceedings{grame94 ,author={Orlarey, O. and Fober, D. and Letz, S. and Bilton, M.} ,title={Lambda Calculus and Music Calculi} ,booktitle={Proceedings of International Computer Music Conf.} ,organization={International Computer Music Association} ,year=1994 } @article{berger-91 ,author={Berger, J.} ,title={A Theory of Musical Ambiguity} ,journal={Journal of Computers in Music Research} ,volume="II" ,year=1991 } @techreport{huberman-hogg-94 ,author={Huberman, B. and Hogg, T.} ,title={Communities in Practice: Performance and Evolution} ,institution={Dynamics of Computation Group, Xerox PARC} ,year=1994 } @book{rapoport ,author={Rapoport, A.} ,title={N-Person Game Theory} ,publisher={University of Michigan Press} ,address={Ann Arbor} ,year=1970 } @book{luce-raiffa ,author={Luce, D. and Raiffa, H.} ,title={Games and Decisions} ,publisher={John Wiley and Sons} ,address={New York} ,year=1957 } @incollection{ames-domino-92 ,author={Ames, C. and Domino, M.} ,title={Cybernetic Composer: An Overview} ,booktitle={Understanding Music with AI: Perspectives on Music Cognition} ,publisher={AAAI Press/MIT Press} ,year=1992 ,editor={Balaban, M. and Ebcioglu, K. and Laske, O.} ,pages={186-205} } @incollection{baggi-92 ,author={Baggi, D.L.} ,title={NeurSwing: An Intelligent Workbench for the Investigation of Swing in Jazz} ,booktitle={Readings in Computer-Generated Music} ,publisher={IEEE Computer Society Press} ,year=1992 ,editor={Baggi, D.L.} ,pages={79-94} } @incollection{johnson-laird-91 ,author={Johnson-Laird, P.N.} ,title={Jazz Improvisation: A Theory at the Computational Level} ,booktitle={Representing Musical Structure} ,publisher={Academic Press} ,year=1991 ,editor={Howell, P. and West, R. and Cross, I.} ,pages={291-325} } @inproceedings{fpca95:parafun ,author={Mirani, Rajiv and Hudak, Paul} ,title={First Class Schedules and Virtual Maps} ,booktitle = "Proceedings of Conf. on Functional Programming Languages and Computer Architecture" ,organization={ACM/IFIP} ,month=Jun ,year=1995 ,pages={78--85} } @InProceedings{popl95:monadint, author = "Sheng Liang and Paul Hudak and Mark Jones", title = "Monad Transformers and Modular Interpreters", booktitle ={Proceedings of 22nd ACM Symposium on Principles of Programming Languages}, year = "1995", publisher = "ACM Press", address = "New York", month = "January", pages={333-343} } @TechReport{Haskell-vs-ada, author = "Hudak, P. and Jones, M.P.", title = "Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software Prototyping Productivity", institution = "Department of Computer Science, Yale University", year = "1994", type = "Research Report", number = "YALEU/DCS/RR-1049", address = "New Haven, CT", month = "Oct", note = "Available from {\tt http://haskell.org/practice.html}" } @article{hutton ,author={Hutton, G.} ,title={Combinator Parsing} ,journal={Journal of Functional Programming} ,year=1993 } @article{haskore ,author={Hudak, P. and Makucevich, T. and Gadde, S. and Whong, B.} ,title={Haskore Music Notation -- An Algebra of Music} ,month=May ,year=1996 ,volume=6 ,number=3 ,pages={465--483} ,journal={Journal of Functional Programming} } @misc{haskore-old ,author={Hudak, P. and Makucevich, T. and Gadde, S. and Whong, B.} ,title={Haskore Music Notation -- An Algebra of Music} ,month=Sep ,year=1994 ,note={To appear in the Journal of Functional Programming; preliminary version available via\\ {\tt ftp://nebula.systemsz.cs.yale.edu/pub/yale-fp/papers/haskore/hmn-lhs.ps}} } @article{milner-turing ,author={Milner, R.} ,title={Elements of Interaction} ,journal={CACM} ,volume=36 ,number=1 ,year=1993 ,month=Jan ,pages={78--89} } @incollection{salishan-book-chapter ,author="Hudak, P. and Anderson, S." ,title="{H}askell Solutions to the Language Session Problems at the 1988 {S}alishan {H}igh-{S}peed {C}omputing {C}onference" ,booktitle={A Comparative Study of Parallel Programming Languages: The Salishan Problems} ,publisher={North-Holland, Amsterdam} ,editor={Feo, J.T.} ,year=1992 } @article{canon ,author={Dannenberg, R.B.} ,title={The {C}anon Score Language} ,journal={Computer Music Journal} ,volume=13 ,number=1 ,year=1989 ,pages={47-56} } @techreport{csound ,author={Vercoe, B.} ,title={Csound: A Manual for the Audio Processing System and Supporting Programs} ,institution={MIT Media Lab} ,year=1986 } @article{pla ,author={Schottstaedt, B.} ,title={PLA: A Composer's Idea of a Language} ,journal={Computer Music Journal} ,volume=7 ,number=1 ,year=1983 ,pages={11-20} } @inproceedings{moxie ,author={Collinge, D.} ,title={Moxie: A Languge for Computer Music Performance} ,booktitle={Proc. International Computer Music Conf.} ,organization={Computer Music Association} ,year=1984 ,pages={217-220} } @incollection{formula ,author={Anderson, D.P. and Kuivila, R.} ,title={Formula: A Programming Language for Expressive Computer Music} ,booktitle={Computer Generated Music} ,publisher={IEEE Computer Society Press} ,year=1992 ,editor={Denis Baggi} } @incollection{fugue ,author={Dannenberg, R.B. and Fraley, C.L. and Velikonja, P.} ,title={A Functional Language for Sound Synthesis with Behavioral Abstraction and Lazy Evaluation} ,booktitle={Computer Generated Music} ,publisher={IEEE Computer Society Press} ,year=1992 ,editor={Denis Baggi} } @incollection{scoresynth ,author={Haus, G. and Sametti, A.} ,title={ScoreSynth: A System for the Synthesis of Music Scores Based on Petri Nets and a Music Algebra} ,booktitle={Computer Generated Music} ,publisher={IEEE Computer Society Press} ,year=1992 ,editor={Denis Baggi} } @misc{midi ,key={IMA} ,title={MIDI 1.0 Detailed Specification: Document Version 4.1.1} ,publisher={International MIDI Association} ,address={Los Angeles, CA} ,month=Feb ,year=1990 } @inproceedings{formes ,author={Cointe, P. and Rodet, X.} ,title={Formes: an Object and Time Oriented System for Music Composition and Synthesis} ,booktitle={Proc. 1984 ACM Symposium on Lisp and Functional Programmming} ,organization={ACM} ,year=1984 ,pages={85-95} } @misc{common-music ,key={CM} ,title={Common Music} ,note={Unpublished release notes.} } @book{forte ,author={Forte, A.} ,title={The Structure of Atonal Music} ,publisher={Yale University Press} ,address={New Haven, CT} ,year=1973 } @book{hindemith ,author={Hindemith, P.} ,title={Elementary Training for Musicians} ,publisher={Associated Music Publishers} ,address={New York} ,edition=2 ,year=1949 } @inproceedings{rapide ,author={Luckham, D. and Vera, J. and Bryan, D. and Augustin, L. and Belz, F.} ,title={Partial Orderings of Event Sets and Their Application to Prototyping Concurrent Timed Systems} ,booktitle={Proceedings of Software Technology Conf.} ,organization={DARPA} ,year=1992 ,pages={443-457} } @inproceedings{griffin ,author={Harrison, M.C. and Hsieh, C-H. and Laufer, C. and Henglein, F.} ,title={Polymorphism and Type Abstraction in the {G}riffin Prototyping Language} ,booktitle={Proceedings of Software Technology Conf.} ,organization={DARPA} ,year=1992 ,pages={458-470} } @inproceedings{proteus ,author={Mills, P. and Reif, J.H. and Nyland, L.S. and Prins, J.F.} ,title={Prototyping High-Performance Parallel Computing Applications in {P}roteus} ,booktitle={Proceedings of Software Technology Conf.} ,organization={DARPA} ,year=1992 ,pages={433-442} } @techreport{NSWC-spec ,author={Caruso, J.} ,title={Prototyping Demonstration Problem for the Prototech HiPer-D Joint Prototyping Demonstration Project} ,institution={Naval Surface Warfare Center} ,type={CCB Report} ,number={0.2} ,month=Aug ,year=1993 ,annote={Last modified October 27, 1993; further changes specified by J.~Caruso are described in "Addendum to Prototyping Demonstration Problem for the Prototech HiPer-D Joint Prototyping Demonstration Project," November 9, 1993.} } @article{kishonhudak95 ,author = "Kishon, A. and Hudak, P." ,title = "Semantics-Directed Program Execution Monitoring" ,journal= "Journal of Functional Programming" ,volume=5 ,number=4 ,month=Oct ,year=1995 } @book{salishan-book ,author={Feo, J.T.} ,title={A Comparative Study of Parallel Programming Languages: The Salishan Problems} ,publisher={North-Holland} ,address={Amsterdam} ,year=1992 } @techreport{runciman-rt ,author={Wallace, M. and Runciman, C.} ,title={Extending a Functional Programming System for Embedded Real-Time Applications} ,institution={Department of Computer Science, University of York} ,type={Technical Report} ,month=Apr ,year=1994 } @TechReport{parmonads, author = "Jones, M.P. and Hudak, P.", title = "Implicit and Explicit Parallel Programming in Haskell", institution = "Department of Computer Science, Yale University", year = "1993", type = "Research Report", number = "YALEU/DCS/RR-982", address = "New Haven, Connecticut", month = "Nov" } @misc{rt-erlang ,author={Persson, M. and Odling, K. and Eriksson, D.} ,title={A Switching Software Architecture Prototype Using Real Time Declarative Language} ,institution={Ericsson Business Communication AB} ,year=1993 } @misc{erlang ,author={Armstrong, J.L and Virding, S.R.} ,title={Erlang -- An Experimental Telephony Programming Language} ,institution={Computer Science Laboratory, Ellemtel Etvecklings AB} ,month=Jun ,year=1990 } @book{ADA:83, key = "Ada", title = "Reference Manual for the ADA Programming Language", publisher = "U.S. Department of Defense", year = "1983" } @book{OCCAM:83, key = "Occam", title = "OCCAM Programming Manual", publisher = "INMOS Limited", year = "1983" } @Article{CSP:78, author = "C.A.R. Hoare", title = "Communicating Sequential Processes", journal = "Comm. of the ACM", volume = "21", number = "8", month = "August", year = "1978", pages = "666-677" } @InProceedings{esterel, author = "Gerard Berry and L. Cosserat", title = "The ESTEREL Synchronous Programming Language and its Mathematical Semantics", booktitle = "Seminar on Concurrency", editor = "S.D. Brookes, A.W. Roscoe and G. Winskel, editors", volume = "197", pages = "389-448", series = "Lect. Notes in Computer Science", publisher = "Springer Verlag", year = "1985" } @InProceedings{signal, author = "Thierry Gautier and Paul Le Guernic and Loic Besnard", title = "SIGNAL: A Declarative Language For Synchronous Programming of Real-Time Systems", booktitle = "Functional Programming Languages and Computer Architecture", editor = "Gilles Kahn", volume = "274", pages = "257-277", series = "Lect Notes in Computer Science, edited by G. Goos and J. Hartmanis", publisher = "Springer-Verlag", year = "1987" } @InProceedings{ada9x-rt, author = "Mike Kamrad and Jim Hassett", title = "Applying Ada9X to Two Real Time Applications: A Case Study", booktitle = "Ada - Europe '93", editor = "Michel Gauthier", volume = "688", pages = "79-94", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "June", year = "1993" } @InProceedings{ISL, author = "Asis Goswami and Michael Bell and Mathai Joseph", title = "ISL: An Interval Logic for the Specification of Real-time Programs", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "J. Vytopil", volume = "571", pages = "1-21", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{rlucid, author = "John A. Plaice", title = "RLucid, a general real-time dataflow language ", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "J. Vytopil", volume = "571", pages = "363-374", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{Z-RTL, author = "C. J. Fidge", title = "Specification and Verification of Real-Time Behaviour Using Z and RTL", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "J. Vytopil", volume = "571", pages = "393-410", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{TAM, author = "D.J. Scholefield and H.S.M. Zedan", title = "TAM: A Formal Framework for the Development of Distributed Real-Time Systems", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", volume = "571", editor = "J. Vytopil", pages = "411-428", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{asynch-esterel, author = "Martin Richard and Olivier Roux", title = "An Attempt to Confront Asynchronous Reality to Synchronous Modelization in the ESTEREL Language", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", volume = "571", editor = "J. Vytopil", pages = "429-450", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{rt-csp, author = "Frank de Boer and Jozef Hooman", title = "The Real-Time Behaviour of Asynchronously Communicating Processes", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "J. Vytopil", volume = "571", pages = "451-472", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{baeten-bergstra, author = "J.C.M. Baeten and J.A. Bergstra", title = "Asynchronous Communication in Real Space Process Algebra", booktitle ="Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "J. Vytopil", volume = "571", pages = "473-492", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "January", year = "1992" } @InProceedings{RAISE, author = "Chris George", title = "The RAISE Specification Language A Tutorial", booktitle = "VDM '91 Formal Software Development Methods", editor = "S. Prehn and W.J. Toetenel", volume = "552", pages = "238-319", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "October", year = "1991" } @InProceedings{good-young, author = "Donald I. Good and William D. Young", title = "Mathematical Methods for Digital Systems Development", booktitle = "VDM '91 Formal Software Development Methods", editor = "S. Prehn and W.J. Toetenel", volume = "552", pages = "406-430", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "October", year = "1991" } @InProceedings{timed-proc-alg, author = "Xavier Nicollin and Joseph Sifakis", title = "An Overview and Synthesis on Timed Process Algebras", Booktitle = "Computer Aided Verification", editor = "K.G. Larsen and A. Skou", volume = "575", pages = "376-398", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "July", year = "1991" } @InProceedings{action-tranducers, author = "Frits Vaandrager and Nancy Lynch", title = "Action Transducers and Timed Automata", Booktitle = "CONCUR '92", editor = "W.R. Cleaveland", volume = "630", pages = "436-455", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "August", year = "1991" } @InProceedings{hard-rt-ada, author = "Nasser Kettani and Vincent Celier", title = "Toward a Secondary Standard for Hard Real-Time Ada: The Real-Time Rapporteur Group", booktitle = "Ada - Europe '93", editor = "Michel Gauthier", volume = "688", pages = "330-352", series = "Lecture Notes in Computer Science", publisher = "Springer-Verlag", month = "June", year = "1993" } @Article{rt-lisp, author = "James R. Allard and Lowell B. Hawkinson", title = "Real-Time Programming in Common Lisp", journal ="Communications of the ACM", volume = "34", number = "9", pages = "65-69", publisher = "ACM", month = "September", year = "1991" } @Article{fpos:jones-sinclair, author = "S.B. Jones and A.F. Sinclair", title = "Functional Programming and Operating Systems", journal = "The Computer Journal (Special Issue of Lazy Functional Programming)", volume = "32", number = "2", pages = "162-172", publisher = "Cambridge University Press", month = "April", year = "1989" } @Article{ieee-oores:92, author = "Thomas E. Bihari and Prabha Gopinath", title = "Object-Oriented Real-Time Systems: Concepts and Examples", journal = "Computer", volume = "25", number = "12", pages = "25-32", publisher = "IEEE", month = "December", year = "1992" } @InProceedings{lustre, author = "Paul Caspi and Halbwachs Halbwachs and Nicolas Pilaud and John A. Plaice", title = "LUSTRE: A declarative language for programming synchronous systems", booktitle = "the Symposium on Principles of Programming Languages ({POPL} '87)", month = "January", year = "1987" } @Book{wadge-ashcroft:85, author = "W.W. Wadge and E.A. Ashcroft", title = "Lucid, the Dataflow Programming Language", publisher = "Academic Press U.K.", year = "1985" } @Book{burns-wellings:89, author = "A. Burns and A.J. Wellings", title = "Real-time systems and their programming languages", publisher = "Addison Wesley", year = "1989" } @Article{spj:89, author = "Simon L. {Peyton Jones}", title = "Parallel Implementations of functional programming languages", journal = "The Computer Journal", volume = "32", number = "2", pages = "175-186", publisher = "Cambridge University Press", month = "April", year = "1989" } @Article{wirth:77, author = "Niklaus Wirth", title = "Design and Implementation of Modula", journal = "Software Practice and Experience", volume = "7", number = "1", pages = "67-84", month = "January", year = "1977" } @Article{burns-review:91, author = "Alan Burns", title = "Scheduling hard real-time systems: a review", journal = "Software Engineering Journal", volume = "6", number = "3", pages = "116-128", month = "May", year = "1991" } @InProceedings{reppy-cml:91, author = "John H. Reppy", title = "CML: A higher-order concurrent language", booktitle = "Conf. on Programming Language Design and Implementation", organization = "SIGPLAN", pages = "293-305", month = "June", year = "1991" } @InProceedings{SETSS:92, author = "J.L. Armstrong and B. O. Dacker and S.R. Virding and M.C. Williams", title = "Implementing a functional language for highly parallel real time applications", booktitle = "Proceedings of SETSS 92, Florence", month = "April", year = "1992" } @InProceedings{wallace-runciman:R73, author = "Malcolm Wallace and Colin Runciman", title = "An incremental garbage collector for embedded real-time systems", booktitle ="in Proc. Winter Meeting, PMG-R73", organization = "Chalmers University of Technology, Gothenburg, Sweden", month = "June", year = "1993" } @techreport{NSWC-haskell ,author={Carlson, W.E. and Hudak, P. and Jones, M.P.} ,title={An Experiment Using {H}askell To Prototype "Geometric Region Servers" for Navy Command And Control} ,institution={Department of Computer Science, Yale University} ,type={Research Report} ,number={1031} ,month=Nov ,year=1993 } @misc{NSWC-report ,author={Lee, J.A.N. and Blum, B. and Kanellakis, P. and Crisp, H. and Caruso, J.A.} ,title={{ProtoTech HiPer-D Joint Prototyping Demonstration Project}} ,note={Unpublished; 400 pages} ,month=Feb ,year=1994 } @inproceedings{lo-ml92, author = {L\"aufer, Konstantin and Odersky, Martin}, title = {An Extension of {ML} with First-Class Abstract Types}, month = {June}, year = {1992}, booktitle = {Proc. Workshop on ML and its Applications} } @InProceedings{orh:assignment, author = "Martin Odersky and Dan Rabin and Paul Hudak", title = "Call-by-name, Assignment, and the Lambda Calculus", booktitle = {Proc. Twentieth Annual {ACM} Symposium on Principles of Programming Languages, Charleston, South Carolina}, pages = "43-57", year = "1993", month = "January" } @TechReport{or:assignment-tr-revised, author = "Martin Odersky and Dan Rabin", title = "The Unexpurgated Call-by-name, Assignment, and the Lambda-Calculus, Revised Report", institution = "Department of Computer Science, Yale University", year = "1993", type = "Research Report", number = "YALEU/DCS/RR-930", address = "New Haven, Connecticut", month = "May", } @TechReport{od:lamnu-report, author = "Martin Odersky", title = "A Syntactic Theory of Local Names", institution = "Yale University", year = "1993", number = "YALEU/DCS/RR-965", month = "May" } @TechReport{odersky:critical-pairs, author = "Martin Odersky", title = "A Syntactic Method for Proving Operational Equivalences", institution = {Department of Computer Science, Yale University}, type = {Research Report}, number = {YALEU/DCS/RR-964}, year = "1993", month = "May" } @TechReport{tyinf:ptc, author = "Kung Chen and Martin Odersky and Paul Hudak", title = "Type Inference for Parametric Type Classes", institution = "Yale University", year = "1992", OPTtype = "", number = "YALEU/DCS/RR-900", OPTaddress = "", month = "June", OPTnote = "" } @TechReport{chen-odersky:tlvar, author = "Kung Chen and Martin Odersky", title = "A Type System for a Lambda Calculus with Assignments", institution = "Yale University", year = "1993", OPTtype = "", number = "YALEU/DCS/RR-963", OPTaddress = "", month = "May", OPTnote = "" } % Added Thu Oct 22 14:11:21 1992 % Modified Mon Oct 26 14:10:20 1992 @TechReport{odersky-rabin-hudak:assignment-conf-tr, author = "Martin Odersky and Dan Rabin and Paul Hudak", title = "Call-by-name, Assignment, and the Lambda-calculus", institution = "Department of Computer Science, Yale University", year = "1992", type = "Research Report", number = "YALEU/DCS/RR-929", address = "New Haven, Connecticut", month = "October", status = {binder-14} } % Added Thu Oct 22 14:13:04 1992 @TechReport{odersky-rabin:assignment-tr, author = "Martin Odersky and Dan Rabin", title = "The Unexpurgated Call-by-name, Assignment, and the Lambda-Calculus", institution = "Department of Computer Science, Yale University", year = "1993", type = "Research Report", number = "YALEU/DCS/RR-930", address = "New Haven, Connecticut", month = "May", } @misc{ansicl, title = "X3.226, 199x, Programming Language Common Lisp", note = "Draft proposed American National Standard", editor = "Kent Pitman and Kathy Chapman and Richard P. Gabriel and Sandra Loosemore", publisher = "Global Engineering Documents", year = 1992 } @TechReport{mpj:partial-explosion, author = "Mark P. Jones", title = "Partial Evaluation for Dictionary-free Overloading", institution = "Department of Computer Science, Yale University", year = "1993", type = "Research Report", number = "YALEU/DCS/RR-959", address = "New Haven, Connecticut", month = "April", note = "Elaboration on \cite{orh:assignment}." } @InProceedings{mpj:prog-with-con-classes, author = "Mark P. Jones", title = "Programming with constructor classes (preliminary summary)", booktitle = {Proc. Fifth Annual Glasgow Functional Programming Workshop, Ayr, Scotland}, year = "1992", month = "July" } @InProceedings{mpj:con-classes, author = "Mark P. Jones", title = "A system of constructor classes: overloading and implicit higher-order polymorphism", booktitle = {Proc. Conf. on Functional Programming Languages and Computer Architecture, Copenhagen, Denmark}, year = "1993", month = "June" } @InJournal{mpj:compute-lattices, author = "Mark P. Jones", title = "Computing with lattices: An application of type classes", journal = "Journal of Functional Programming, Volume 2, Part 4", month = "October", year = "1992", } @Thesis{mpj:qualified-types, author = "Mark P. Jones", title = "Qualified types: Theory and Practice", degree = "D.Phil. Thesis", institution = "Programming Research Group, University of Oxford", month = "July", year = "1992", toAppear = "To appear as PRG Technical Monograph" } @inproceedings{petersonjones93 ,author={John Peterson and Mark P. Jones} ,title={Implementing Type Classes} ,booktitle={Proceedings of ACM SIGPLAN Symposium on Programming Language Design and Implementation} ,organization={ACM SIGPLAN} ,month=Jun ,year=1993 } @InProceedings{pitts&stark, author = "Pitts, A. and Stark, I.", title = "On the Observable Properties of Higher Order Functions that Dynamically Create Local Names", booktitle = "Proc. ACM SIGPLAN Workshop on State in Programming Languages, Copenhagen, Denmark", year = "1993", publisher = "Yale University, Department of Computer Science, Research Report YALEU/DCS/RR-968", month = "June" } @phdthesis{mohrphd ,author={Mohr, E.} ,title={Dynamic Partitioning of Parallel Lisp Programs} ,school={Yale University, Department of Computer Science} ,month=Oct ,year=1991 } @phdthesis{khoophd, author = "Khoo, S.C.", title = "Parameterized Partial Evaluation", school = "Yale University, Department of Computer Science", year = "1992" } @phdthesis{berry:thesis, author = "Gerard Berry", title = "Generating Program Animators from Programming Language Semantics", school = "University of Edinburgh", year = 1991, month = "June" } @book{sterling:art, author = "L. Sterling and E. Shapiro", title = "The Art of Prolog, Advanced Programming Techniques", publisher = "The MIT PRess", address = "Cambridge, MA", year = 1986 } @inproceedings{toyn:snapshots, author = "I. Toyn and C. Runichman", title = "Adapting Combinator and SECD Machines to Display Snapshots of Functional Computations", booktitle = "New Generation Computing(4)", pages = "339-363", year = 1986 } @inproceedings{bertot:occurrences, author = "Y. Bertot", title = "Occurrences in Debugger Specifications", booktitle = "Proc. 1991 ACM Conf. on Programming Languages Design and Implementation", publisher = "ACM", month = "June", year = 1988 } @TechReport{yale-haskell, author = "John Peterson", title = "The {Y}ale {H}askell {U}sers {M}anual", institution = "Department of Computer Science, Yale University", year = "1992", type = "Research Report", number = "Version Y2.0", address = "New Haven, Connecticut", month = "October", } @phdthesis{aasaphd92 ,author={Aasa, A.} ,title={User Defined Syntax} ,school={Chalmers University of Technology} ,address={Goteborg, Sweden} ,year=1992 } @misc{karrhudak91 ,author={Karr, M. and Hudak, P.} ,title={A Kernel Family and the Common Prototyping System} ,institution={Software Options, Cambridge, MA} ,type={Technical Report} ,month=Jan ,year=1991 } @techreport{karrsyntax90 ,author={Karr, M.} ,title={CPL Working Notes on Grammars and Related Technology} ,institution={Software Options, Cambridge, MA} ,type={Technical Report} ,month=Mar ,year=1990 } @inproceedings{mauny89 ,author={Mauny, M.} ,title={Parsers and Printers as Stream Destructors Embedded in Functional Languages} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1989 ,pages={360-370} } @techreport{yacc ,author={Johnson, S.C.} ,title={Yacc -- Yet Another Compiler Compiler} ,institution={Bell Labs} ,type={Technical Report} ,number={32} ,year=1975 } @techreport{lex ,author={Lesk, M.E.} ,title={LEX -- A Lexical Analyzer Generator} ,institution={Bell Labs} ,type={Technical Report} ,number={39} ,year=1975 } @phdthesis{kishonphd, author = "Kishon, A.", title = "Theory and Art of Semantics-Directed Program Execution Monitoring", school = "Yale University, Department of Computer Science", year = "1992" } @inproceedings{wadler-popl92 ,author={Wadler, Philip} ,title={The Essence of Functional Programming} ,booktitle={the Symposium on Principles of Programming Languages ({POPL} '92)} ,organization={ACM} ,month=Jan ,year=1992 ,pages={1-14} } @inproceedings{moggi89 ,author={Moggi, E.} ,title={Computational Lambda-Calculus and Monads} ,booktitle={Proceedings of Symposium on Logic in Computer Science} ,organization={IEEE} ,year=1989 ,month=Jun ,pages={14--23} } @inproceedings{peytonjoneswadler-popl93 ,author={Peyton Jones, Simon and Wadler, Philip} ,title={Imperative Functional Programming} ,booktitle={the Symposium on Principles of Programming Languages ({POPL} '93)} ,organization={ACM} ,month=Jan ,year=1993 ,note={71--84} } @phdthesis{guzmanphd ,author={Guzm\'an, J.} ,title={On Expressing the Mutation of State in a Functional Programming Language} ,school="Yale University, Department of Computer Science" ,year="1993" } @book{appelbook ,author={Appel, A.} ,title={Compiling with Continuations} ,publisher={Cambridge University Press} ,address={Cambridge} ,year=1992 } @techreport{hudakcmadttr ,author={Hudak, P.} ,title={Mutable Abstract Datatypes -- or -- How to Have Your State and Munge It Too} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-914} ,month=Dec ,year=1992 } @InCollection(Filinski-continuations, Author = "Filinski, A.", Title = "Declarative Continuations: {A}n Investigation of Duality in Programming Language Semantics", BookTitle = "Category Theory and Computer Science", Pages = "224-249", Editor = "Pitt, D. H.", Publisher = "Springer-Verlag", Address = "Berlin", Note = "(Lect. Notes in Comp. Science Vol. 389)", Year = "1989" ) @inproceedings{lfp92, author = {Chen, K. and Hudak, P. and Odersky, M.}, title = {Parametric Type Classes}, month = {June}, year = {1992}, pages ={170--181}, publisher = "ACM", booktitle = {Proceedings of ACM Conf. on Lisp and Functional Programming} } @article{haskell-tutorial ,author={Hudak, Paul and Fasel, Joe} ,title={A Gentle Introduction to {H}askell} ,journal={ACM SIGPLAN Notices} ,volume=27 ,number=5 ,month=May ,year=1992 } @Article{fradet-le-metayer:compilation, author = "Pascal Fradet and Daniel Le M\'{e}tayer", title = "Compilation of Functional Languages by Program Transformation", journal = "{ACM} Transactions on Programming Languages and Systems", year = "1991", volume = "13", number = "1", pages = "21--51", month = "January", status = {own-journal} } @misc{hudak91FPCAtut ,author={Hudak, P.} ,title={Manipulating State in Functional Languages} ,note={Tutorial given at ACM/IFIP-sponsored FPCA Conf.} ,month=Aug ,year=1991 } @misc{odersky91b ,author={Odersky, M.} ,title={Observers for Linear Types} ,note={(draft)} ,month=Jul ,year=1991 } @techreport{abramsky90 ,author={Abramsky, S.} ,title={Computational Interpretations of Linear Logic} ,institution={Imperial College} ,type={Research Report} ,number={{DOC} 90/20} ,month=Oct ,year=1990 } @inproceedings{holmstrom88 ,author={Holmstrom, S.} ,title={A Linear Functional Language} ,booktitle={Proc. Workshop on the Implementation of Lazy Functional Languages, PMG Report 53} ,institution={Chalmers University of Technology} ,year=1988 ,pages={13-32} } @article{lafont88 ,author={Lafont, Y.} ,title={The Linear Abstract Machine} ,journal={Theoretical Computer Science} ,volume=59 ,year=1988 ,pages={157-180} } @techreport{rabinhudak91 ,author={Rabin, D. and Hudak, P.} ,title={Mutable Heaps with Structure Sharing in a Pure Functional Language} ,institution="Yale University, Department of Computer Science" ,month=Aug ,type="Research Report" ,number="YALEU/DCS/RR" ,year=1991 } @inproceedings{odonnell85 ,author={O'Donnell, J.} ,title={Dialogues: A basis for constructing programming environments} ,booktitle={Proc. ACM Symposium on Language Issues in Programming Environments} ,organization={ACM} ,year=1985 ,pages={19-27} } @inbook{thompson89 ,author={Thompson, S.J.} ,title={Interactive functional programs: a method and formal semantics} ,booktitle={Declarative Programming} ,chapter=10 ,pages={249-285} ,editors={Turner, D.A.} ,year=1989 ,publisher={Addison Wesley} } @inproceedings{dwelly89 ,author={Dwelly, A.} ,title={Dialogue Combinators and Dynamic User Interfaces} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1989 ,pages={371-381} } @inproceedings{masontalcott89 ,author={Mason, I.A. and Talcott, Carolyn L.} ,title={Axiomatizing Operational Equivalence in the Presence of Side Effects} ,booktitle={Proceedings of Symposium on Logic in Computer Science} ,organization={IEEE} ,year=1989 ,pages={284-293} } @inproceedings{swarupetal91 ,author={Swarup, V. and Reddy, U. and Ireland, E.} ,title={Assignments for Applicative Languages} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1991 } @inproceedings{wakelingrunciman91 ,author={Wakeling, D. and Runciman, C.} ,title={Linearity and Laziness} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1991 } @inproceedings{barthetal91 ,author={Barth, P.S. and Nikhil, R.S. and Arvind} ,title={M-Structures: Extending a Parallel, Non-Strict, Functional Language with State} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1991 } @inproceedings{wadler91a ,author={Wadler, Philip} ,title={Is There a Use for Linear Logic?} ,booktitle={the Symposium on Partial Evaluation and Semantics Based Program Manipulation} ,organization={ACM/IFIP} ,year=1991 ,pages={255-273} } @inproceedings{odersky91 ,author={Odersky, M.} ,title={How To Make Destructive Updates Less Destructive} ,booktitle={Proceedings 18th Symposium on Principles of Programming Languages} ,organization={ACM} ,month=Jan ,year=1991 ,pages={25-36} } @inproceedings{guzmanhudak91 ,author={Guzm\'an, J. and Hudak, P.} ,title={First-order liveness analysis via type inference} ,booktitle={XVII Latin American Informatics Conf.} ,year=1991 ,month=Jul } @inproceedings{henderson82 ,author={Henderson, P.} ,title={Functional Geometry} ,booktitle={Proc. 1982 ACM Symposium on Lisp and Functional Programmming} ,organization={ACM} ,year=1982 ,pages={179--187} } @inproceedings{arya89 ,author={Arya, K.} ,title={Processes in a Functional Animation System} ,booktitle={Proc. Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM/IFIP} ,year=1989 ,pages={382-395} } @InProceedings{consel-khoo:91, author = "C. Consel and Khoo, S. C.", title = "Parameterized Partial Evaluation", booktitle = "ACM SIGPLAN Conf. on Programming Language Design and Implementation", year = "1991", pages = "92-106" } @InProceedings{kishonhudakconsel91, author = "A. Kishon and C. Consel and P. Hudak", title = "Monitoring Semantics: a Formal Framework for Specifying, Implementing and Reasoning about Execution Monitors", booktitle = "ACM SIGPLAN Conf. on Programming Language Design and Implementation", month = Jun, year = "1991", pages = "338-352" } @inproceedings{baker90 ,key={baker} ,author={Baker, Henry G.} ,title={Unify and Conquer (Garbage, Updating, Aliasing, ...) in Functional Languages} ,booktitle={Proc. 1990 ACM Conf. on Lisp and Functional Programmming} ,year=1990 ,publisher={ACM} } @book{K&R, author = "Brian W. Kernighan and Dennis M. Ritchie", title = "The C Programming Language", publisher = {Prentice-Hall}, year = 1978 } @book{DRAGON2, author = "A. V. Aho and R. Sethi and J. D. Ullman", title = "Compilers Principles, Techniques and Tools", publisher = "Addison-Wesley", year = 1987 } @book{REPS, author = "T. W. Reps", title = "Generating Language-Based Environments", publisher = "The MIT Press", year = 1984 } @book{SPJ, author = "Simon L. {Peyton Jones}", title = "The Implementation of Functional Programming Languages", publisher = {Prentice-Hall}, year = 1987 } @techreport{PFL, author = {S\"{o}ren Holmstr\"{o}m}, title = "PFL: A Functional Language for Parallel Programming, and its Implementation", institution = {Programming Methodology Group, University of G\"{o}teborg and Chalmers University of Technology}, year = 1983, month = "September", number = "7" } @techreport{INCTECH, author = "R. S. Sundaresh and P. Hudak", title = "A theory of incremental computation and its application", institution = "Yale University, Department of Computer Science", year = 1990, month = "March", number = "YALEU/DCS/RR770" } @techreport{INC, author = "D. Yellin and R. Strom", title = "{INC}: A Language for Incremental Computation", institution = "IBM", year = 1989, month = "RC 14375(\#64375)" } @book{CCS, author = "Robin Milner", title = "A Calculus of Communicating Systems", publisher = {Springer-Verlag}, year = 1981, volume = 81, series = LNCS } @incollection{HMERGE, author = "P. Henderson", title = "Purely Functional Operating Systems", pages = "177-189", editor = "J. Darlington and P. Henderson and D.A. Turner", booktitle = "Functional Programming and its Applications", publisher = {Cambridge University Press}, year = 1982 } @inproceedings{NDCLINGER, author = "W. Clinger", title = "Nondeterministic call by need is neither lazy nor by name", booktitle = "Proc. 1982 ACM Symp. LISP and Functional Programming", year = 1982 } @techreport{AUSNDFL, author = "Harald Sondergaard and Peter Sestoft", title = "Nondeterminism in Functional Languages", institution = {Department of Computer Science, University of Melbourne}, year = 1988, number = " 88/18" } @techreport{STOYE, author = "W. Stoye", title = "A New Scheme for Writing Functional Operating Systems", institution = {Cambridge University Computer Laboratory}, year = 1984, number = "56" } @inbook{KAOS, author = "David Turner", title = "Functional Programming and Communicating Processes", booktitle = "PARLE Parallel Architectures and Languages Europe", year = 1987, publisher = {Springer Verlag}, pages = "54-74", volume = 259, series = LNCS } @article{BURTON, author = "F. W. Burton", title = "Nondeterminism with Referential Transparency in Functional Programming Languages", journal = "The Computer Journal", year = 1988, volume = 31, number = 3, pages = {243-247} } @book{DIJKSTRA, author = "Edsger W. Dijkstra", title = "A Discipline of Programming", publisher = {Prentice-Hall}, year = 1976 } @book{AGHA1, author = "Gul Agha", title = "Actors A Model of Concurrent Computation in Distributed Systems", publisher = {The MIT Press}, year = 1986 } @inbook{AGHA2, author = "Gul Agha", title = "Semantic Considerations in the Actor Paradigm of Concurrent Computation", pages = "151-179", volume = 197, series = LNCS, publisher = {Springer Verlag}, year = 1984 } @book{UNITY, author = "K. Mani Chandy and Jayadev Misra", title = "Parallel Program Design", publisher = {Addison-Wesley}, year = 1988 } @article{LINDA, author = "David Gelernter", title = "Generative Communication in Linda", journal = "ACM Trans. Program. Lang. Syst.", year = 1985, month = "January", pages = "80-112", volume = 7, number = 1 } @article{CSP1, author = "C. A. R. Hoare", title = "Communicating Sequential Processes", journal = "Comm. ACM", year = 1978, pages = "666-677", volume = 21, number = 8 } @book{CSP2, author = "C. A. R. Hoare", title = "Communicating Sequential Processes", publisher = {Prentice-Hall}, year = 1985 } @inbook{KAHN, author = "G. Kahn", chapter = "The Semantics of a simple language for Parallel Programming", title = "Information Processing", pages = "471-475", publisher = {North Holland}, year = 1974, volume = 74 } @techreport{HASKELL0, author = "Paul Hudak and Philip Wadler et al.", title = "Report on the Functional Programming Language Haskell", institution = "Department of Computer Science, Yale University", year = 1988, month = "December", number = "YALEU/DCS/RR-666" } @techreport{NEBULA, author = "K. Karlsson", title = "Nebula, a Functional Operating System", institution = "Chalmers University", year = 1981 } @misc{HOPEIO, author = "Lee M. McLoughlin and Sean Hayes", title = "Interlanguage Working from a Pure Functional Language", howpublished = "Functional Programming mailing list", month = "November", year = 1988 } @techreport{FL, author = "John Backus and John H. Williams and Edward L. Wimmers", title = "FL Language Manual (Preliminary Version)", institution = "IBM Almaden Research Center", year = 1986, month = "November", number = "RJ 5339 (54809)" } @techreport{SML-v2, author = "Robert Harper and Robin Milner and Mads Tofte", title = "The Definition of Standard ML Version 2", institution = "Laboratory for Foundations of Computer Science, Department of Computer Science - University of Edinburgh", year = 1988, month = "August", number = "ECS-LFCS-88-62" } @techreport{PONDER, author = "Jon Fairbairn", title = "Design and Implementation of a Simple Typed Language Based on the Lambda-Calculus", institution = "University of Cambridge Computer Laboratory", year = 1985, month = "May", number = 75 } @inproceedings{HOPE, author = "Burstall and McQueen and Sanella", title = "HOPE: An experimental applicative language", booktitle = "Proceedings 1st International LISP Conf., Stanford", year = 1980 } @techreport{ALFL, author = "Paul Hudak", title = "ALFL Reference Manual and Programmer's Guide", institution = "Yale University Department of Computer Science", year = 1984, month = "August", number = "YALEU/DCS/TR-322" } @techreport{IO, author = "Paul Hudak and Raman S. Sundaresh", title = "On the Expressiveness of Purely Functional I/O Systems", institution = "Yale University Department of Computer Science", year = 1988, month = "December", number = "YALEU/DCS/RR-665" } @inproceedings{MIRANDA, author = "David Turner", title = "Miranda: A non-strict functional language with polymorphic types", booktitle = "Proceedings IFIP International Conf. on Functional Programming Languages and Computer Architecture, Nancy France (Springer Lecture Notes in Computer Science, vol 201)", year = 1985, month = "September" } @article{LANDIN1, author = "P. J. Landin", title = "A Correspondence between ALGOL 60 and Church's Lambda Notation", journal = "Comm. ACM", year = 1965, volume = 21, number = 11, pages = {931-933} } @inproceedings{FIO, author = "John H. Williams and Edward L. Wimmers", title = "Sacrificing simplicity for convenience: Where do you draw the line?", booktitle = "Proc. Fifteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages , San Diego, California", year = 1988, month = "January" } @techreport{SALISHAN, author = "Paul Hudak and Steve Anderson", title = "Haskell Solutions to the Language Session Problems at the 1988 Salishan High-Speed Computing Conf.", institution = "Yale University, Department of Computer Science", year = "1988", month = "January", number = "YALEU/DCS/RR-627" } @article{PF, author = "Paul Hudak", title = "Denotational Semantics of a Para-functional Programming Language", journal = "International Journal of Parallel Programming", year = 1986, volume = 15, number = 2, pages = {103-125} } @inproceedings{CHOCS, author = "Bent Thomsen", title = "A Calculus of Higher Order Communicating Systems", booktitle = "POPL", year = 1989 } @inproceedings{MARRYD, author = "T. J. Marlowe and B. G. Ryder", title = "An Efficient Hybrid Algorithm for Incremental Data Flow Analysis", booktitle = "Conf. Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages", year = 1990 } @inproceedings{CONSDAN, author = "C. Consel and O. Danvy", title = "From Interpreting to Compiling Binding times", booktitle = "Proc. 3rd European Symposium on Programming, Lecture Notes in Computer Science, Vol. 432", publisher = "Springer-Verlag", month = "May", year = 1990 } @article{REPSTD, author = "T. Reps and T. Teitelbaum and A. Demers", title = "Incremental Context Dependent Analysis for Language-Based Editors", journal = "ACM Transactions on Programming Languages and Systems", year = 1983, volume = 5, number = 3, month = "July", pages = {449-477} } @phdthesis{sundareshphd, author = "Sundaresh, R.S.", title = "Incremental Computation via Partial Evaluation", school = "Yale University, Department of Computer Science", year = "1992" } @phdthesis{PUGH, author = "Pugh, Jr., W. W.", title = "Incremental Computation and the Incremental Evaluation of Functional Programs", school = "Cornell University", year = 1988, month = "August" } @phdthesis{LAUNCHTH, author = "Launchbury, J.", title = "Projection Factorisations in Partial Evaluation", school = "University of Glasgow", year = 1990, month = "January" } @phdthesis{MARLOWE, author = "T. J. Marlowe", title = "Data Flow Analysis and Incremental Iteration", school = "Rutgers, The State University of New Jersey", year = 1989, month = "October" } @phdthesis{ZANDEN, author = "B. T. Vander\ Zanden", title = "Incremental constraint satisfaction and its application to graphical interfaces", school = "Cornell University", year = 1989, month = "January" } @inproceedings{LAUNCH, author = "J. Launchbury", title = "Projections for Specialisation", booktitle = "Partial Evaluation and Mixed Computation", year = 1988, editor = "D.Bj{\o}rner, A.P.Ershov and N.D.Jones", publisher = "North-Holland" } @inproceedings{RYDEHEARD, author = "D. Rydeheard", title = "Tutorial on Natural Transformations", booktitle = "Category Theory and Computer Programming", year = 1985, publisher = "Springer LNCS 240", } @article{BROUWER, author = "J. C. C. McKinsey and A. Tarski", title = "On Closed Elements in Closure Algebras", journal = "Annals of Mathematics", year = 1946, volume = 47, number = 1, month = "January" } @article{FUT, author = "Y. Futamura", title = "Partial Evaluation of Computation Process-An approach to a Compiler-Compiler", journal = "Systems, Computers, Controls", year = 1971, volume = 2, number = 5 } @article{MIX, author = "N. D. Jones and P. Sestoft and H. S{\o}ndergaard", title = "Mix: A Self-Applicable Partial Evaluator for Experiments in Compiler Generation", journal = "Lisp and Symbolic Computation", year = 1989, volume = 2, number = 1 } @inproceedings{FIELD, author = "J. Field and T. Teitelbaum", title = "Incremental Reduction in the Lambda Calculus", booktitle = "Proc. 1990 ACM Conf. on Lisp and Functional Programming", month = "June", year = 1990 } @inproceedings{LOM, author = "L. A. Lombardi and B. Raphael", title = "LISP as the Language for an Incremental Computer", booktitle = "The Programming Language LISP: Its Operation and Applications", year = 1964, publisher = "Information International Inc., The MIT Press", pages = "204-219" } @inproceedings{REPSB, author = "T. Reps", title = "Algebraic properties of program integration", booktitle = "Proc. 3rd European Symposium on Programming, Lecture Notes in Computer Science, Vol. 432", publisher = "Springer-Verlag", month = "May", year = 1990 } @inproceedings{HUDYOUNG, author = "P. Hudak and J. Young", title = "Higher-order strictness analysis for the untyped lambda calculus", booktitle = "Proc. 12th ACM symposium on principles of programming languages", month = "January", year = 1986 } @Book{aho-al:86, author = "Aho, A. D. and R. Sethi and Ullman, J. D.", title = "Compilers: Principles, Techniques and Tools", publisher = aw, year = "1986" } @InProceedings{backus:85, author = "J. Backus", title = "From Function Level Semantics to Program Transformation and Optimization", booktitle = "International Conf. on Theory and Practice of Software Development", pages = "60-91", year = "1985", editor = "H. Ehrig and C. Floyd and M. Nivat and J. Thatcher", volume = "186", series = lncs, publisher = sv } @Article{bauer-al:89, author = "Bauer, F. L. and B. Moller and H. Partsch and P. Pepper", title = "Formal Program Construction by trasformations -- Computer-Aided, Intuition-Guided Programming", journal = "IEEE Transactions on Software Engineering", year = "1989", volume = "15", number = "2", pages = "165-180" } @Article{beckman-al:76, author = "L. Beckman and A. Haraldsson and {O}. Oskarsson and E. Sandewall", title = "A Partial Evaluator, and Its Use as a Programming Tool", journal = "Artificial Intelligence", year = "1976", volume = "7", number = "4", pages = "319-357" } @InProceedings{berlin:90, author = "A. Berlin", title = "Partial Evaluation Applied to Numerical Computation", booktitle = "ACM Conf. on Lisp and Functional Programming", pages = "139-150", year = "1990" } @Book{book:abs-int, title = "Abstract Interpretation of Declarative Languages", publisher = "Ellis Horwood", year = "1987", editor = "Abramsky, S. and Hankin, C." } @Article{boyer-moore:75, author = "Boyer, R. S. and Moore, J. S.", title = "Proving theorems about {LISP} functions", journal = "Journal of ACM", year = "1975", pages = "129-144", volume = "22", number = "1" } @InProceedings{bondorf1:88, author = "A. Bondorf", title = "Towards a Self-Applicable Partial Evaluator for Term Rewriting Systems", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @TechReport{bondorf2:88, author = "A. Bondorf", title = "Pattern Matching in a Self-Applicable Partial Evaluator", institution = "University of Copenhagen", year = "1988", type = "Diku Report", address = "Copenhagen, Denmark" } @TechReport{bondorf-al:88, author = "A. Bondorf and Jones, N. D. and T. Mogensen and P. Sestoft", title = "Binding Time Analysis and the Taming of Self-Application", institution = "University of Copenhagen", year = "1988", type = "Diku Report", address = "Copenhagen, Denmark" } @TechReport{bondorf-danvy:89, author = "A. Bondorf and O. Danvy", title = "Automatic Autoprojection of Recursive Equations with Global Variables and Abstract Data Types", institution = "University of Copenhagen", number = "90/04", year = "1990", type = "Diku Research Report", note = "To appear in Science of Computer Programming", address = "Copenhagen, Denmark" } @InProceedings{bondorf:90, author = "A. Bondorf", title = "Automatic Autoprojection of Higher Order Recursive Equations", booktitle = "ESOP'90, 3$^{rd}$ European Symposium on Programming", pages = "70-87", year = "1990", editor = "Jones, N. D.", volume = "432", series = lncs, publisher = sv } @Article{burstall-darlington:77, author = "Burstall, R. M. and J. Darlington", title = "A Transformational System for Developing Recursive Programs", journal = "Journal of ACM", year = "1977", pages = "44-67", volume = "24", number = "1" } @TechReport{burge:76, author = "W. Burge", title = "An Optimizing Technique for High Level Programming Languages", institution = "IBM Thomas J. Watson Research Center", number = "RC 5834 (\# 25271)", year = "1976", type = "Research Report", address = "Yorktown Heights, New York, New York" } @Book{common-lisp, author = "Steele, G. L.", title = "Common Lisp: The Language", publisher = "Digital Press", year = "1984" } @TechReport{consel:86, author = "C. Consel", title = "{P}ils: un interpr\`ete {L}isp, un syst\`eme multiprocessus et un compilateur", institution = "Universit\'e de Paris VIII", year = "1986", type = "M\'emoire de ma\^itrise", address = "Saint Denis, France" } @Manual{consel-al:86, title = "Cskim Reference Manual", author = "C. Consel and A. Deutsch and R. Dumeur and J.-D. Fekete ", organization = "Universit\'e de Paris VIII", address = "Saint Denis, France", year = "1986", note = "Informal report" } @TechReport{consel:87, author = "C. Consel", title = "Skipe: un \'evaluateur partiel", institution = "Universit\'e de Paris VIII", year = "1987", type = "M\'emoire de DEA", address = "Saint Denis, France" } @InProceedings{consel1:88, author = "C. Consel", title = "New Insights into Partial Evaluation: the {S}chism Experiment", booktitle = "ESOP'88, 2$^{nd}$ European Symposium on Programming", pages = "236-246", year = "1988", editor = "H. Ganzinger", volume = "300", series = lncs, publisher = sv } @TechReport{consel2:88, author = "C. Consel", title = "Realistic Compiler Generation using Partial Evaluation", institution = "LIX, Ecole Polytechnique", year = "1989", type = "Research Report", number = "89-02", address = "Palaiseau, France" } @Article{consel-danvy:89, author = "C. Consel and O. Danvy", title = "Partial Evaluation of Pattern Matching in Strings", journal = "Information Processing Letters", year = "1989", pages = "79-86", volume = "30", number = "2" } @TechReport{consel-al:88, author = "C. Consel and O. Danvy and K. Malmkj{\ae}r", title = "Generating Compacted Weiner Trees Automatically: an Exercise in Partial Evaluation", institution = "LITP--DIKU", year = "1988", type = "Working Report" } @Article{consel-al:89, author = "C. Consel and A. Deutsch and R. Dumeur and J-D. Fekete", title = "Cskim: an Extended Dialect of {S}cheme", journal = "Bigre Journal", year = "1989", } @PhdThesis{consel1:89, author = "C. Consel", title = "Analyse de Programmes, Evaluation Partielle et Generation de Compilateurs", school = "Universit\'e de Paris VI", year = "1989", address = "Paris, France" } @InProceedings{consel-danvy2:89, author = "C. Consel and O. Danvy", title = "Static and Dynamic Semantics Processing", booktitle = "ACM Symposium on Principles of Programming Languages", note = "Also Yale Research Report 761", year = "1991" } @InProceedings{consel-danvy1:90, author = "C. Consel and O. Danvy", title = "From Interpreting to Compiling Binding Times", booktitle = "ESOP'90, 3$^{rd}$ European Symposium on Programming", year = "1990", editor = "Jones, N. D.", volume = "432", pages = "88-105", series = lncs, publisher = sv } @InProceedings{consel2:89, author = "C. Consel", title = "Binding time analysis for higher order untyped functional languages", booktitle = "ACM Conf. on Lisp and Functional Programming", pages = "264-272", year = "1990" } @TechReport{consel-khoo1:90, author = "C. Consel and Khoo, S. C.", title = "Semantics-Directed Generation of a {P}rolog Compiler", number = "781", institution = "Yale University", year = "1990", address = "New Haven, Connecticut, USA", type = "Research Report" } @Misc{consel-khoo2:90, author = "C. Consel and Khoo, S. C.", title = "Higher Order Polyvariant Analysis", year = "1990", note = "Paper in preparation" } @Manual{consel1:90, author = "C. Consel", title = "The {S}chism {M}anual", Organization = "Yale University", address = "New Haven, Connecticut, USA", year = "1990", note = "Version 1.0" } @Misc{consel2:90, author = "C. Consel", title = "Higher Order Partial Evaluation with Data Structures", year = "1990", note = "Paper in preparation" } @Misc{consel3:90, author = "C. Consel", title = "Partial Evaluation for Scientific Computing", year = "1990", note = "Presented at the 1990 Workshop on Advanced Programming Environment for Scientific Computing" } @TechReport{consel-danvy:90, author = "C. Consel and O. Danvy", title = "Partial Evaluation in Parallel", number = "820", institution = "Yale University", year = "1990", address = "New Haven, Connecticut, USA", type = "Research Report" } @InProceedings{cousot:81, author = "P. Cousot", title = "Semantic foundations of program analysis: Theory and Applications", publisher = "Prentice-Hall", year = "1981", booktitle = "Program Flow Analysis: Theory and Applications", editor = "Muchnick, S. S. and Jones, N. D." } @Book{clocksin-mellish:81, author = "Clocksin, W. F. and Mellish, C. S.", title = "Programming in {P}rolog", publisher = sv, year = "1981" } @TechReport{danvy1:90, author = "O. Danvy", title = "Semantics-Directed Compilation of Non-Linear Patterns", number = "303", institution = "Indiana University", year = "1990", address = "Bloomington, Indiana, USA", type = "Technical Report" } @InProceedings{dijkstra:68, author = "Dijkstra,E. W.", title = "Co-operating Sequential Processes", pages = "43-112", publisher = "Academic Press", year = "1968", booktitle = "Programming Languages", editor = "F. Genuys" } @InProceedings{emanuelson-al:80, author = "P. Emanuelson and A. Haraldsson", title = "On Compiling Embedded Languages in Lisp", booktitle = "ACM Conf. on Lisp and Functional Programming, Stanford, California", year = "1980", pages = "208--215" } @InProceedings{ershov:78, author = "Ershov, A. P.", title = "On the Essence of Compilation", booktitle = "Formal Description of Programming Concepts", year = "1978", editor = "Neuhold, E. J.", pages = "391-420", publisher = nh } @TechReport{felleisen:85, author = "M. Felleisen", title = "Transliterating {P}rolog into {S}cheme", institution = "Indiana University", year = "1985", type = "Technical Report", number = "182", address = "Bloomington, Indiana" } @InProceedings{fujita-al:88, author = "H. Fujita and K. Furukawa", title = "A Self-Applicable Partial Evaluator and Its Use in Incremental Compiler", booktitle = "New Generation Computing", year = "1988", editor = "Y. Futamura", publisher = "OHMSHA. LTD. and Springer-Verlag", volume = "6", series = "2,3" } @Article{futamura:71, author = "Y. Futamura", title = "Partial Evaluation of Computation Process -- An Approach to a Compiler-Compiler", journal = "Systems, Computers, Controls 2, 5", year = "1971", pages = "45--50" } @InProceedings{futamura:83, author = "Y. Futamura", title = "Partial Evaluation of Programs", booktitle = "RIMS Symposia on Software Science and Engineering, Kyoto, Japan", year = "1983", editor = "E. Goto et al.", pages = "1--35", publisher = sv, series = lncs, volume = "147" } @InProceedings{fuller-abramsky:88, author = "Fuller, D. A. and S. Abramsky", title = "Mixed Computation of {P}rolog", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @Book{ganzinger-jones:85, title = "Programs as Data Objects", year = "1985", editor = "H. Ganzinger and Jones, N. D.", volume = "217", series = lncs, publisher = sv } @InProceedings{gomard:90, author = "Gomard, Carsten K.", title = "Partial Type Inference for Untyped Functional Programs", booktitle = "ACM Conf. on Lisp and Functional Programming", year = "1990" } @TechReport{gomard-jones:90, author = "Jones, Neil D and Gomard, Carsten K.", title = "A Partial Evaluator for the Untyped Lambda Calculus", institution = "University of Copenhagen", year = "1990", type = "{DIKU} Report", address = "Copenhagen, Denmark", note = "Extended version of \cite{jones-al:90}" } @Book{gordon:79, author = "Gordon, M. J. C.", title = "The Denotational Decription of Programming Languages", publisher = sv, year = "1979" } @Book{graph, author = "Michel Sakarovitch", title = "Optimisation combinatoire (m\'{e}thodes math\'{e}matiques et algorithmiques)", publisher = "Hermann", year = "1984" } @Article{halstead:85, author = "Halstead, R. Jr.", title = "Multilisp: A Language for Concurrent Symbolic Computation", journal = "ACM Transaction on Programming Languages and Systems", pages = "501-538", year = "1985", volume = "7", number = "4" } @PhdThesis{haraldsson:77, author = "A. Haraldsson", title = "A Program Manipulation System Based on Partial Evaluation", school = "Link{o}ping University, Sweden", year = "1977", note = "Link{o}ping Studies in Science and Technology Dissertations N$^o$ 14" } @Article{heering:86, author = "J. Heering", title = "Partial Evaluation and $\omega$-Completeness of Algebraic Specifications", journal = "Theoretical Computer Science", year = "1986", volume = "43", pages = "149-167" } @Book{henson:87, author = "Henson, M. C.", title = "Elements of Functional Languages", publisher = "Blackwell", year = "1987" } @InProceedings{hudak-young:86, author = "P. Hudak and J. Young", title = "Higher-Order Strictness Analysis in Untyped Lambda Calculus", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "97-109", year = "1986" } @InProceedings{hudak-young:88, author = "P. Hudak and J. Young", title = "A Collecting Interpretation of Expressions (Without Powerdomains)", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "107-118", year = "1988", note={Superseded by \cite{hudak-young:88}.} } @Manual{interlisp, title = "Interlisp", author = "W. Teitelman", organization = "Xerox Palo Alto Research Center", year = "1978" } @InProceedings{johnsson:85, author = "T. Johnsson", title = "Lambda Lifting: Transforming Programs to Recursive Equations", booktitle = "Conf. on Functional Programming Languages and Computer Architecture", year = "1985", editor = "J.-P. Jouannaud", volume = "201", series = lncs, publisher = sv } @Book{jones:80, editor = "Jones, N. D.", title = "Semantics-Directed Compiler Generation", publisher = sv, series = lncs, volume = "94", year = "1980" } @InProceedings{jones-muchnick:76, author = "Jones, N. D. and Muchnick, S. S.", title = "Some Thoughts towards the Design of an Ideal Language", booktitle = "ACM Conf. on Principles of Programming Languages", year = "1976", pages = "77-94" } @InProceedings{jones-muchnick:81, author = "Jones, N. D. and Muchnick, S. S.", title = "Flow Analysis and Optimization of LISP-like Structures", publisher = "Prentice-Hall", year = "1981", booktitle = "Program Flow Analysis: Theory and Applications", editor = "Muchnick, S. S. and Jones, N. D." } @InProceedings{jones-muchnick:82, author = "Jones, N. D. and Muchnick, S. S.", title = "A flexible Approach to Interprocedural Data Flow Analysis and Programs with Recursive Data Structures", booktitle = "ACM Conf. on Principles of Programming Languages", year = "1982", pages = "66-74" } @InProceedings{jones-al:85, author = "Jones, N. D. and P. Sestoft and H. S{\o}ndergaard", title = "An Experiment in Partial Evaluation: the Generation of a Compiler Generator", booktitle = "Rewriting Techniques and Applications, Dijon, France", year = "1985", editor = "J.-P. Jouannaud", pages = "124--140", publisher = sv, volume = "202", series = lncs } @InProceedings{jones-mycroft:86, author = "Jones, N. D. and A. Mycroft", title = "Data flow analysis of applicative programs using minimal function graphs", booktitle = "ACM Symposium on Principles of Programming Languages", year = "1986" } @Book{jones:87, author = "Jones, N. D.", title = "Flow analysis of lazy higher-order functional programs", publisher = "Ellis Horwood Limited", year = "1987" } @Article{jones-al:87, author = "Jones, N. D. and P. Sestoft and H. S{\o}ndergaard", title = "Mix: a Self-Applicable Partial Evaluator for Experiments in Compiler Generation", journal = "Lisp and Symbolic Computation", year = "1989", volume = "2", number = "1", pages = "9-50" } @Article{jones-al:88, author = "Jones, N. D. and P. Sestoft and H. S{\o}ndergaard", title = "Mix: a Self-Applicable Partial Evaluator for Experiments in Compiler Generation", journal = "LISP and Symbolic Computation", year = "1989", volume = "2", number = "1", pages = "9-50" } @InProceedings{jones:88, author = "Jones, N. D.", title = "Challenging Problems in Partial Evaluation and Mixed Computation", booktitle = "{\rm \cite{ngc:88}}", pages = "1-14" } @TechReport{jones2:88, author = "Jones, N. D", title = "Binding Time Analysis and Static Semantics (extended abstract)", institution = "University of Copenhagen", year = "1988", type = "Diku Report", address = "Copenhagen, Denmark" } @InProceedings{jones-al:90, author = "Jones, Neil D. and Gomard, Carsten K. and A. Bondorf and O. Danvy and T. Mogensen", title = "A Self-applicable Partial Evaluator for the Lambda Calculus", booktitle = "IEEE International Conf. on Computer Languages", pages = "49-58", year = "1990" } @InProceedings{jorring-scherlis:86, author = "U. J{\o}rring and Scherlis, W. L.", title = "Compilers and Staging Transformations", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "86-96", year = "1986" } @Article{kmp:77, author = "Knuth, D. E. and Morris, J. H. and Pratt, V. R.", title = "Fast Pattern Matching in Strings", journal = "SIAM", year = "1977", volume = "6", number = "2", pages = "323-350" } @InProceedings{kesley-hudak:89, author = "R. Kesley and P. Hudak", title = "Realistic compilation by program transformation", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "281-292", year = "1989" } @InProceedings{kahn-carlsson:84, author = "Kahn, K. M. and Carlsson, M.", title = "The Compilation of {P}rolog Programs Without the Use of {P}rolog Compiler", booktitle = "International Conf. on Fifth Generation Computer Systems", year = "1984", pages = "348-355" } @Book{kleene:52, author = "Kleene, S. C.", title = "Introduction to Metamathematics", publisher = "Van Nostrand", year = "1952" } @TechReport{komorowski:81, author = "Komorowski, H. J.", title = "A Specification of an Abstract {P}rolog Machine and Its Application to Partial Evaluation", institution = "Link{o}ping University", year = "1981", type = "Link{o}ping Studies in Science and Technology Dissertations N$^o$ 69", address = "Link{o}ping, Sweden" } @InProceedings{komorowski:82, author = "H. J. Komorowski", title = "Partial Evaluation as a Means for Inferencing Data Structures in an Applicative Language: A Theory and Implementation in the Case of {P}rolog", booktitle = "ACM Symposium on Principles of Programming Languages", year = "1982" } @Article{kranz-al:86, author = "Kranz, D. A. and R. Kesley and Rees, J. A. and P. Hudak and J. Philbin and Adams, N. I.", title = "{O}rbit: an optimizing compiler for {S}cheme", journal = "SIGPLAN Notices, ACM Symposium on Compiler Construction", volume = "21", number = "7", pages = "219-233", year = "1986" } @Book{lcf, author = "Gordon, M. J. and Wadsworth, C. P.", title = "LCF", publisher = sv, year = "1979", volume = "78", series = lncs } @Book{lee:87, author = "P. Lee", title = "Realistic Compiler Generation", publisher = "MIT Press", year = "1989" } @InProceedings{lee-pleban:86, author = "P. Lee and Pleban, U. F.", title = "On the Use of {L}isp in Implementing Denotational Semantics", booktitle = "ACM Conf. on Lisp and Functional Programming", year = "1986", pages = "233-248" } @InProceedings{lombardi-al:64, author = "Lombardi, L. A. and B. Raphael", title = "Lisp as the Language for an Incremental Computer", booktitle = "The Programming Language Lisp: Its Operation and Applications", year = "1964", editor = "Berkeley, E. C. and Bobrow, D. G.", pages = "204-219", publisher = "MIT Press, Cambridge, Massachusetts" } @InProceedings{lombardi:67, author = "Lombardi, L. A.", title = "Incremental Computation", booktitle = "Advances in Computers", year = "1967", editor = "alt, F. L. and M. Rubinoff", pages = "247--333", volume = "8", publisher = "Academic Press" } @InProceedings{loveman:76, author = "Loveman, D. B.", title = "Program Improvement by Source to Source Transformation", booktitle = "ACM Symposium on Principles of Programming Languages", year = "1976" } @Article{manna-waldinger:80, author = "Z. Manna and R. Waldinger", title = "A deductive approach to program synthesis", journal = "ACM Transaction on Programming Languages and Systems", pages = "90-121", year = "1980", volume = "2", number = "1" } @Manual{mosses:79, author = "P. Mosses", title = "{SIS} -- Semantics Implementation System, reference manual and user guide", Organization = "University of Aarhus", address = "Aarhus, Denmark", year = "1979", type = "{DAIMI} report {MD}-30", note = "Version 1.0" } @InProceedings{mosses:84, author = "Mosses, P. A.", title = "A Basic Abstract Semantic Algebra", booktitle = "Semantics of Data Types", year = "1984", pages = "87-108", volume = "173", series = lncs, publisher = sv } @InProceedings{mogensen:88, author = "T. Mogensen", title = "Partially Static Structures in a Self-applicable Partial Evaluator", booktitle = "Partial Evaluation and Mixed Computation", pages = "325-348", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @InProceedings{mogensen:89, author = "T. Mogensen", title = "Binding Time Analysis for Polymorphically Typed Higher Order Languages", booktitle = "International Joint Conf. on Theory and Practice of Software Development", pages = "298-312", year = "1989", editor = "J. Diaz and F. Orejas", volume = "352", series = lncs, publisher = sv } @InProceedings{mogensen2:89, author = "T. Mogensen", title = "Separating binding times in language specifications", booktitle = "FPCA'89, 4$^{th}$ International Conf. on Functional Programming Languages and Computer Architecture", year = "1989" } @TechReport{morris:70, author = "Morris, F. L.", title = "The Next 700 Formal Language Descriptions", year = "1970", type = "Unpublished paper" } @InProceedings{montenyohl-wand:88, author = "M. Montenyohl and M. Wand", title = "Correct Flow Analysis in Continuation Semantics", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "204-218", year = "1988" } @Manual{mix:87, author = "The Mix Group", title = "The Mix System User's Guide 3.0", organization = "University of Copenhagen", address = "Copenhagen, Denmark", year = "1987" } @Article{nicholson-foo:89, author = "T. Nicholson and N. Foo", title = "A Denotational Semantics for {P}rolog", journal = "ACM Transaction on Programming Languages and Systems", year = "1989", volume = "11", number = "4" } @Book{ngc:88, title = "Selected Papers from the Workshop on Partial Evaluation and Mixed Computation", journal = "New Generation Computing", volume = "6", series = "2,3", editor = "Ershov, A. P. and D. Bj{\o}rner and Y. Futamura and K. Furukawa and A. Haraldsson and Scherlis, W. L.", publisher = "OHMSHA. LTD. and Springer-Verlag", year = "1988" } @Manual{psi:87, author = "Nielson, Hanne Riis", title = "The core of the {PSI}-system", organization = "Institut for Elektroniske Systemer", address = "Aalborg, Denmark", note = "{IR} 87-02", year = "1987" } @InProceedings{nielson:88, author = "Nielson, Hanne Riis and Flemming Nielson", title = "Automatic binding time analysis for a typed $\lambda$-calculus", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "98-106", year = "1988" } @TechReport{nielson2:88, author = "Nielson, Hanne Riis and Flemming Nielson", title = "The {TML}-Approach to Compiler-Compilers", type = "Technical Report", number = "88-47", institution = "Technical University of Denmark", address = "Lyngby, Denmark", year = "1988" } @InProceedings{nielson:89, author = "Nielson, Hanne Riis and Flemming Nielson", title = "Tranformations on Higher-Order Functions", booktitle = "FPCA'89, 4$^{th}$ International Conf. on Functional Programming Languages and Computer Architecture", pages = "129-143", year = "1989" } @InProceedings{nielson:90, author = "Nielson, Hanne Riis and Flemming Nielson", title = "Eureka Definitions for Free! or Disagreement Points for fold/unfold transformations", booktitle = "ESOP'90, 3$^{rd}$ European Symposium on Programming", year = "1990", editor = "Jones, N. D.", volume = "432", pages = "291-305", series = lncs, publisher = sv } @Article{partsch-steinbruggen:83, author = "H. Partsch and R. Steinbr{\"{u}}ggen", title = "Program Transformation Systems", journal = "ACM Computing Surveys", year = "1983", volume = "15", number = "3", pages = "199-236" } @PhdThesis{paulson:81, author = "L. Paulson", title = "A Compiler Generator for Semantic Grammars", school = "Stanford University", year = "1981", address = "Stanford, California", note = "Report No. STAN-CS-81-893" } @InProceedings{paulson:82, author = "L. Paulson", title = "A Semantics-Directed Compiler Generator", booktitle = "ACM Symposium on Principles of Programming Languages", pages = "224-233", year = "1982", } @InProceedings{pepper:84, author = "P. Pepper", title = "Inferential techniques for program development", booktitle = "Program Transformation and Programming Environments", year = "1984", editor = "P. Pepper", pages = "275-290", volume = "F8", publisher = sv } @Book{pemc:88, title = "Partial Evaluation and Mixed Computation", publisher = nh, year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D." } @InProceedings{pebib, author = "P. Sestoft and Zamulin, A. V.", title = "Annotated Bibliography on Partial Evaluation and Mixed Computation", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @TechReport{pebib:90, author = "P. Sestoft", title = "Annotated Bibliography on Partial Evaluation and Mixed Computation", institution = "University of Copenhagen", year = "1990", type = "Diku Report", address = "Copenhagen, Denmark" } @Book{peyton-jones:87, author = "Peyton Jones, Simon L.", title = "The Implementation of Functional Programming Languages", publisher = ph, year = "1987", editor = "Hoare, C. A. R.", series = "Computer Science" } @TechReport{peyton-jones2:87, author = "Peyton Jones, Simon L.", title = "{FLIC} -- a Functional Language Intermediate Code", institution = "University College London", year = "1990", type = "Internal Note 2048", address = "London, UK" } @InProceedings{pleban:87, author = "U. Pleban", title = "Semantics-Directed Compiler Generation", booktitle = "ACM Symposium on Principles of Programming Languages", year = "1987", note = "Tutorial" } @InProceedings{reynolds:69, author = "J. Reynolds", title = "Automatic computation of data set definitions", booktitle = "Information Processing", year = "1969", editor = nh, pages = "456-61" } @InProceedings{reynolds:72, author = "J. Reynolds", title = "Definitional interpreters for higher order programming languages", booktitle = "ACM National Conf.", pages = "717-740", year = "1971" } @InProceedings{reynolds:81, author = "J. Reynolds", title = "The essence of {A}lgol", booktitle = "International Symposium on Algorithmic Languages", pages = "345-372", year = "1981", editor = "Van Vliet", publisher = nh } @InProceedings{romanenko:88, author = "Romanenko, S. A.", title = "A Compiler Generator Produced by a Self-applicable Specializer Can Have a Surprisingly Natural and Understandable Structure", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @Article{r3rs, author = "J. Rees and W. Clinger", title = "Revised$^3$ Report on the Algorithmic Language {S}cheme", journal = "SIGPLAN Notices", year = "1986", volume = "21", number = "12", pages = "37--79" } @MastersThesis{safra:90, author = "S. Safra", title = "Partial Evaluation of Concurrent Prolog and Its Implications", school = "Weizmann Institute of Science", year = "1990", address = "Israel" } @Article{schmidt:85, author = "Schmidt, D. A.", title = "Detecting Global Variables in Denotational Specification", journal = "ACM Transactions on Programming Languages and Systems", year = "1985", pages = "299-310", volume = "7", number = "2" } @Book{schmidt:86, author = "Schmidt, D. A.", title = "Denotational Semantics: a Methodology for Language Development", publisher = ab, year = "1986" } @TechReport{sestoft2:85, author = "P. Sestoft", title = "The Structure of a Self-Applicable Partial Evaluator", institution = "University of Copenhagen", year = "1985", type = "Diku Report (extended version of \cite{sestoft:85})", number = "85/11", address = "Copenhagen, Denmark" } @InProceedings{sestoft:85, author = "P. Sestoft", title = "The Structure of a Self-Applicable Partial Evaluator", booktitle = "{\rm \cite{ganzinger-jones:85}}", pages = "236-256" } @InProceedings{sestoft:88, author = "P. Sestoft", title = "Automatic Call Unfolding in a Partial Evaluator", booktitle = "Partial Evaluation and Mixed Computation", year = "1988", editor = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", publisher = nh } @MastersThesis{sestoft-m:88, author = "P. Sestoft", title = "Replacing function parameters by global variables", school = "Diku, University of Copenhagen", year = "1989", address = "Copenhagen, Denmark" } @InProceedings{sestoft:89, author = "P. Sestoft", title = "Replacing function parameters by global variables", booktitle = "FPCA'89, 4$^{th}$ International Conf. on Functional Programming Languages and Computer Architecture", pages = "39-53", year = "1989" } @Book{stoy:77, author = "J. Stoy", title = "Denotational Semantics: the {S}cott-{S}trachey approach to programming languages theory", publisher = "{MIT} Press", year = "1977" } @Misc{stransky:88, author = "Jan Stransky", title = "Analyse s\'emantique de structures de donn\'ees dynamiques avec application au cas particulier de langages LISPiens.", howpublished = "Universit\'e de Paris-Sud Centre d'Orsay", year = "1988", note = "Th\`ese de doctorat de troisi\`eme cycle" } @MastersThesis{steele:78, author = "Steele, G. L.", title = "Rabbit: A Compiler for Scheme", school = "M.I.T (A.I. LAB.)", year = "1978", address = "Massachusetts, U.S.A" } @Manual{T, author = "Rees, J. A. and Adams, N. I. and Meehan, J. R.", title = "The {T} {M}anual", Organization = "Yale University", address = "New Haven, Connecticut, USA", year = "1984", note = "Fourth edition" } @InProceedings{tennent:77, author = "Tennent, R. D.", title = "Language Design Methods Based on Semantic Principles", booktitle = "Acta Informatica", year = "1977", pages = "97-112", volume = "8" } @Article{turchin:86, author = "Turchin, V. F.", title = "The Concept of a Supercompiler", journal = "ACM Transaction on Programming Languages and Systems", year = "1986", volume = "8", number = "3", pages = "292-325" } @InProceedings{venken:84, author = "R. Venken", title = "A {P}rolog Meta-Interpreter for Partial Evaluation and Its Application to Source to Source Transformation and Query-Optimisation", booktitle = "ECAI'84", year = "1988", editor = "T. O'Shea", publisher = nh } @Article{wand:82, author = "M. Wand", title = "Deriving target code as a representation of continuation semantics", journal = "ACM Transactions on Programming Languages and Systems", volume = "4", number = "3", pages = "496-517", year = "1982" } @TechReport{wand:83, author = "M. Wand", title = "A Semantic Algebra for Logic Programming", institution = "Indiana University", year = "1983", type = "Technical Report", number = "148", address = "Bloomington, Indiana" } @Article{wand:84, author = "M. Wand", title = "A Semantic Prototyping System", journal = "SIGPLAN Notices, ACM Symposium on Compiler Construction", volume = "19", number = "6", pages = "213-221", year = "1984" } @InProceedings{wand-wang:90, author = "M. Wand and Z. Wang", title = "Conditional Lambda-Theories and the Verification of Static Properties of Programs", booktitle = "IEEE Symposium on Logic in Computer Science", pages = "321-332", year = "1990" } @TechReport{warren:77, author = "D. Warren", title = "Implementing {P}rolog -- Compiling Predicate Logic Programs", institution = "University of Edinburgh", year = "1977", type = "D.A.I Research Report", number = "39 and 40", address = "Edinburgh, Scotland" } @InProceedings{wadler:88, author = "Philip Wadler", title = "Deforestation: Transforming programs to eliminate trees", booktitle = "ESOP'88, 2$^{nd}$ European Symposium on Programming", year = "1988", editor = "H. Ganzinger", volume = "300", series = lncs, publisher = sv } @PhdThesis{weis:87, author = "P. Weis", title = "Le Syst\`eme Sam: M\'etacompilation Tr\`es efficace \`a l'Aide d'Op\'erateurs S\'emantiques", school = "Universit\'e de Paris VII", year = "1987", address = "Paris, France" } @manual{schism, author = "C. Consel", title = "The Schism Manual", organization = "Yale University", address = "New-Haven, USA", year = 1989, remarks = "a masterpiece, a colossal wark", } @article {consel:insights, author = "C. Consel", title = "New Insights into Partial Evaluation: the {SCHISM} Experiment", journal = "ESOP'88, 2nd European Symposium on Programming", note = "in LNCS 300, pages 236-246", year = "88" } @article {cook, author = "W. Cook and J. Palsberg", title = "A Denotational Semantics of Inheritance and its Correctness", journal = "OOPSLA 1989, SIGPLAN Notices 24:10", year = "89" } @incollection{friedman:expansion, author = "R. Kent Dybvig and D. P. Friedman and C. T. Haynes", title = "Expansion-Passing Style: A General Macro Mechanism", booktitle = "Lisp and Symbolic Computation, 1", pages = "53--75", publisher = "Kluwer Academic Publishers", address = "Netherlands", year = 1988, remarks = "nice debugging and transformation ideas. hard-code the transformation using macros to the function instead of dealing with a MCE.", } @inproceedings{hudak:collecting, author = "P. Hudak and J. Young", title = "A Collecting Interpretation of Expressions (Without Powerdomains)", booktitle = "Proc. 1988 ACM Symposium of Principles of Programming Languages", publisher = "ACM", year = 1988, remarks = "a good reference for collecting interpretation style. discusses abstracting out the standard evaluator from the instrumented semantics. a good reference for how to present a semantics based paper." } @incollection{maio:execution, author = "A. Di Maio and S. Ceri and S. Crespi Reghizzi", title = " Execution Monitoring and Debugging Tool for ADA Using Relational Algebra", editor = "J. G. P. Barnes and G. A. {Fisher Jr}", booktitle = "Ada in use, Proceeding of the Ada International Conf.. Paris 14-16 May 1985", publisher = "Cambridge University Press", year = 1985, remarks = "This is an implementation report. Has a good classifications of predicates (many not related to our model). Mentions that predicates are often referred to as 'breakpoints'. Classify actions as neutral and non-neutral. Has a nice idea to include toolbox of debugging aids. Has some nice bibliography" } @incollection{odonnell:debugging, author = "J. T. O'Donnell and C. V. Hall", title = "Debugging In Applicative Languages", booktitle = "Lisp and Symbolic Computation, 1", publisher = "Kluwer Academic Publishers", address = "Netherlands", year = 1988, remarks = "contains some good examples of applicative debugging implementations. Theme = using MCE buys you the same computational paradigm of the underlying language" } @article{survey, author = "B. Plattner and J. Nievergelt", title = "Monitoring Program Execution: A Survey", journal = "IEEE Computer", year = 1981, month = "November", pages = "76--93", remarks = "A very good reference for terminology. A good conceptual discussion about Monitoring activities as a whole. No model is presented although design issues are extensively discussed. presents the notion of predicate-action which is different from our label actions. Argues that labels do not suffice for monitoring purposes (I do not think so -amir). Includes some good references." } @incollection{safra:meta, author = "S. Safra and E. Shapiro", title = "Meta Interpreters for Real", booktitle = "Concurrent Prolog, collected papers", publisher = "MIT Press", year = 1989, volume = "2", remarks = "Same general idea. Lacking the obviousity of MCE because uses prolog. PE the program with the interpreter while we partial the MCE with debugging specification (our higher level)." } @book{shapiro:algorithmic, author = "E. Shapiro", title = "Algorithmic Program Debugging", publisher = "MIT Press", year = "1982" } @book{pemc, author = "D. Bj{\o}rner and Ershov, A. P. and Jones, N. D.", title = "Partial Evaluation and Mixed Computation", publisher = "North-Holland", year = "1988" } @book{schmidt:denotational, author = "David A. Schmidt", title = "Denotational Semantics", publisher = "Wm. C. Brown Publishers", address = "Dubuque, Iowa", year = 1986 } @book{stoy:denotational, author = "J. E. Stoy", title = "Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory", publisher = "MIT Press", address = "Cambridge, Massachusetts", year = 1977 } @book{gordon:denotational, author = "M. J. C. Gordon", title = "The Denotational Description of Programming Languages", publisher = "Springer", address = "Berlin", year = 1979 } @article{balzer:exdams, author = "R. M. Balzer", title = "EXDAMS - EXtendable Debugging and Monitoring System", journal = "Proc. of AFIPS Spring Joint Computer Conf.", year = 1969, volume = 34, pages = "567--580", remarks = "an important paper about the implementation of running backwarks a computation by keeping efficiently relevent computation history" } @inproceedings{odonnell:dialogues, author = "J. T. O'Donnell", title = "Dialogues: A Basis for Constructing Programming Environments", booktitle = "ACM Symposium on Languages Issues in Programming Environment", year = 1985, month = "June", remarks = "a nice programming exercise..." } @misc{sterling:composing, author = "???Sterling and Lakhotia", title = "Composing Prolog Meta-Interpreters", remarks = "I read it now - amir" } @techreport{jones:mix, author = "Jones, N. D. and P. Sestoft and H. Sondergaard", title = "Mix: a Self-Applicable Partial Evaluator for Experiments in Compiler Generation", institution = "University of Copenhagen", year = "1987", number = "DIKU Report 87/08", address = "Denmark", remarks = "a good intro paper for partial evaluation and self applicability" } @inproceedings{delisle:viewing, author = "N. M. Delisle and D. E. Menicosy and M. D. Schwarts", title = "Viewing a Programming Environment as a Single Tool", booktitle = "Proc. of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", year = "1984", month = "April", note = "ACM SIGPLAN Notices, Vol 19, No. 5, May 1984", remarks = "in the right direction but not formulized and limited since only attach demons to identifiers and does not include post and pre actions, especially overlooking the generality of the method." } @inproceedings{snodgrass:monitoring, author = "R. Snodgrass", title = "Monitoring in a Software Development Environment: A Relational Approach", booktitle = "Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symoposium on Practical Software Development Environments", year = "1984", month = "April", day = "23--25", editor = "Peter Handerson", address = "Pittsburgh, Pennsylvania", publisher = "ACM", note = "SIGPLAN Notices, Volume 19, Number 5", remarks = "good terminalogy and definitions. The main theme is the use of relational database to accumulate the information. Does not discuss the generality of the monitor mechanism for expression any monitoring activities." } @inproceedings{hall:debugging, author = "Hall, C. V. and O'Donnell, J. T.", title = "Debugging in a side effect free programming environment", booktitle = "Proc. 1985 SIGPLAN Symposium on Programming Languages and Programming environments", year = "1985", month = "June", remarks = "Discusses more the transformatin of functions to a debugged form. Uses streams and shadow variables. Uses syntactic transformations." } @inproceedings{tolman:debugging, author = "Tolmach, A. P. and Appel, A. W.", title = "Debugging {Standard} {ML} Without Reverse Engineering", booktitle = "Proc. 1990 ACM Conf. on Lisp and functional programming", year = "1990", month = "June", remarks = "..." } @article {winder:jdb, author = "R. Winder and J. Nicolson", title = " JDB: An Adaptable Interface for Debugging", journal = "Software-Practice and Experience", year = "1988", month = "March", pages = "221--238", volume = "18(3)", remarks = "Talk about design issues, like a nice user interface. Provide some good terminology. Also provide a high-level frontend to existing debuggers. Important: provide a good list of debugger activities" } @inproceedings{evans:on-line, author = "Evans G. T. and Darley D. L.", title = "On-line Debugging Techniques: A Survey", booktitle = "Fall Joint Computer Conf.", year = "1966", month = "Fall", remarks = "very old. believe static chekcing will replace debugging" } @InProceedings{cardelli:multiple, author = "Luca Cardelli", title = "A semantics of multiple inheritance", booktitle = "Proceedings Semantics of Data Types, {France}", year = "1984", editor = "G. Kahn and D. MacQueen and G. Plotkin", pages = "51--68", publisher = "Springer-Verlag", note = "LNCS 173. Also in Information and Computation 76, 138-164(1988)" } @Article{cardelli-wegner:fun, author = "Luca Cardelli and Peter Wegner", title = "On understanding types, data abstraction and polymorphism", journal = "Computing Survey", year = "1985", OPTvolume = "17", OPTnumber = "4", OPTpages = "471-522", OPTmonth = "December", OPTnote = "" } @InProceedings{cook-mitchell:f-bound, author = "P. Canning and W. Cook and W. Hill and W. Olthof and J. Mitchell", title = "F-Bounded polyphorism for object-oriented programming", booktitle = "Proc. of Conf. on Functional Programming Languages and Computer Architecture", year = "1989", OPTeditor = "", OPTpages = "273--280", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "", OPTnote = "" } @PhdThesis{cook:inheritance, author = "William Cook", title = "A Denotational Semantics of Inheritance", school = "Brown University", year = "1989", OPTaddress = "", OPTmonth = "", OPTnote = "" } @InProceedings{cook:subtype, author = "William R. Cook and Walter L. Hill and Peter S. Canning", title = "Inheritance Is Not Subtyping", booktitle = "Conf. Record of {ACM} Seventeenth Symposium on Principles of Programming Languages", year = "1990", OPTeditor = "", OPTpages = "125--135", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "Jan", OPTnote = "" } @InProceedings{wand:simple, author = "Mitchell Wand", title = "Complete type inference for simple objects", booktitle = "Second Annual IEEE Symp. on Logic in Computer Science", year = "1987", OPTeditor = "", OPTpages = "37--44", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "June", OPTnote = "" } @TechReport{wand:single, author = "Mitchell Wand", title = "Type inference for objects with instance variables and inheritance", institution = "Computer Science, Northeastern University", year = "1988", OPTtype = "", OPTnumber = "", OPTaddress = "", OPTmonth = "November", OPTnote = "NU-CCS-89-2" } @InProceedings{wand:multiple, author = "Mitchell Wand", title = "Type inference for record concatenation and multiple inheritance", booktitle = "Fourth Annual IEEE Symp. on Logic in Computer Science", year = "1989", OPTeditor = "", OPTpages = "92--97", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "June", OPTnote = "" } @InProceedings{jategaonkar:ml, author = " Lalita A. Jategaonkar and John C. Mitchell", title = "ML with extended pattern matching and subtypes", booktitle = "Proc. of the ACM Conf. on Lisp and Functional Programming", year = "1988", OPTeditor = "", OPTpages = "198--211", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "July", OPTnote = "" } @InProceedings{ohori-buneman:db, author = "Atsushi Ohori and Peter Buneman", title = "Type inference in a database programming language", booktitle = "Proc. of the ACM Conf. on Lisp and Functional Programming", year = "1988", OPTeditor = "", OPTpages = "174--183", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "July", OPTnote = "" } @InProceedings{remy:popl89, author = "Didier R\'emy", title = "Typechecking records and variants in a natural extension of ML", booktitle = "Sixteenth Annual ACM Symp. on Principles of Programming Languages", year = "1989", OPTeditor = "", OPTpages = "242--249", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "January", OPTnote = "" } @TechReport{remy:upenn, author = "Didier R\'emy", title = "Type inference for records in a natural extension of ML", institution = "Dept. of Computer and Information Science, Univ. of Pennsylvania", year = "1989", OPTtype = "", OPTnumber = "", OPTaddress = "", OPTmonth = "", OPTnote = "Technical Report MS-CIS-90-73" } @misc{cs421 ,author={Hudak, P.} ,title={{C}ourse {N}otes {CS}421: {C}ompilers and {I}nterpreters} ,note={Unpublished} ,month=Sep ,year=1990 } @misc{blenkohudak90pre ,author={Blenko, T. and Hudak, P.} ,title={A Framework for Reasoning about Abstract Interpretations} ,note={Submitted to Conf. on Mathematical Foundations of Programming Language Semantics} ,month=Oct ,year=1990 } @techreport{sundarhudak90TR ,author={Sundaresh, R.S. and Hudak, P.} ,title={A Theory of Incremental Computation and its Application} ,institution="Yale University, Department of Computer Science" ,month=Mar ,type="Research Report" ,number="YALEU/DCS/RR770" ,year=1990 } @inproceedings{sundarhudak91 ,author={Sundaresh, R.S. and Hudak, P.} ,title={Incremental Computation via Partial Evaluation} ,booktitle={Proceedings 18th Symposium on Principles of Programming Languages} ,organization={ACM} ,month=Jan ,year=1991 ,pages={1-13} } @inproceedings{wadler90b ,author={Wadler, Philip} ,title={Comprehending Monads} ,booktitle={Proceedings of Symposium on Lisp and Functional Programming} ,organization={ACM} ,month=Jun ,year=1990 ,pages={61-78} ,address={Nice, France} } @inproceedings{jonessondergaard87 ,author="Jones, N. and Sondergaard, H." ,title="A semantics-based framework for the abstract interpretation of {Prolog}" ,booktitle="Abstract Interpretation of Declarative Languages" ,editors="Abramsky, S. and Hankin, C." ,pages="123-142" ,year=1987 ,publisher="Ellis Horwood" } @inproceedings{mellish87 ,author="Mellish, C." ,title="Abstract interpretation of {PROLOG} programs" ,booktitle="Abstract Interpretation of Declarative Languages" ,editors="Abramsky, S. and Hankin, C." ,pages="181-198" ,year=1987 ,publisher="Ellis Horwood" } @inproceedings{bloss89 ,author={Bloss, A.} ,title={Update Analysis and the Efficient Implementation of Functional Aggregates} ,booktitle={Proceedings of 4th International Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM, IFIP} ,year=1989 ,pages={26-38} } @phdthesis{mouphd ,author={Mou, Z.G.} ,title={A Formal Model for Divide-and-Conquer and Its Parallel Realization} ,school="Yale University, Department of Computer Science" ,year=1990 ,month=May } @inproceedings{andersonhudak90 ,author={Anderson, S. and Hudak, P.} ,title={Compilation of {H}askell Array Comprehensions for Scientific Computing} ,booktitle={ACM SIGPLAN Conf. on Programming Language Design and Implementation} ,year=1990 ,month=Jun ,pages={137-149} } @techreport{varmahudak89, author = "Varma, P. and Hudak, P.", title = "Memo-Functions in {ALFL}", institution = "Yale University Department of Computer Science", year = 1989, month = "December", number = "YALEU/DCS/RR-759" } @InProceedings{consel4:90, author = "Consel, C.", title = "Binding time analysis for higher order untyped functional languages", booktitle = "Proc. 1990 {ACM} {S}ymposium on {L}isp and {F}unctional {P}rogramming", year = "1990", note = "To appear" } @inproceedings{guzmanhudak90 ,author={Guzm\'an, J. and Hudak, P.} ,title={Single-Threaded Polymorphic Lambda Calculus} ,booktitle={Proceedings of Symposium on Logic in Computer Science} ,organization={IEEE} ,month=Jun ,year=1990 ,pages={333-343} } @misc{hudakguzman90 ,author={Hudak, P. and Guzm\'an, J.} ,title={Taming Side Effects with a Single-Threaded Type System} ,note={in preparation} ,address={Yale University, Department of Computer Science} ,year=1990 } @inproceedings{mohretal90 ,author={Mohr, E. and Kranz, D. and Halstead, R.} ,title={Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs} ,booktitle={Proceedings of Symposium on Lisp and Functional Programming} ,organization={ACM} ,month=Jun ,year=1990 ,pages={185-197} ,address={Nice, France} } @inproceedings{felleisen87 ,key={felleisen} ,author={Felleisen, M.} ,title={{$\lambda$-v-CS}: An Extended $\lambda$-Calculus for {S}cheme} ,booktitle={Proc. 1988 ACM Conf. on Lisp and Functional Programming} ,organization={ACM} ,year=1988 ,pages={72-85} } @inproceedings{mitchell84 ,author={Mitchell, J.C.} ,title={Coercion and Type Inference} ,booktitle={Proceedings of 11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,pages={175-185} } @article{fuhmishra89a ,key={fuh} ,author={Fuh, Y-C. and Mishra, P.} ,title={Type Inference with Subtypes} ,journal={Theoretical Computer Science} ,volume={} ,year=1987 ,pages="" } @techreport{kuomishra89 ,key={kuo} ,author={Kuo, T-M. and Mishra, P.} ,title={Strictness Analysis: A New Perspective Based on Type Inference} ,institution="The State University of New York at Stony Brook" ,number="89/13" ,year=1989 } @inproceedings{fuhmishra89b ,key={fuh} ,author={Fuh, Y-C. and Mishra, P.} ,title={Polymorphic Subtype Inference: Closing the Theory-Practice Gap} ,booktitle={Proceedings of TAPSOFT 89} ,year=1989 ,publisher={Springer-Verlag LNCS (to appear)} } @misc{wadler89a ,author={Wadler, Philip} ,title={Linear Types Can Change the World!} ,note={Draft, presented at WG2.8 Workshop on Functional Programming} ,address={Mystic, CT} ,year=1989 ,month=May } @misc{wadler90a ,author={Wadler, Philip} ,title={Linear Types Can Change the World!} ,note={Presented at IFIP TC 2 Working Conf. on Programming Concepts and Methods} ,address={Sea of Galilee, Israel} ,year=1990 ,month=Apr } @techreport{gifford87 ,key={gifford} ,author={Gifford, D.K.} ,title={FX-87 Reference Manual} ,institution="MIT" ,number="LCS TR-409" ,year=1987 ,month=Sept } @phdthesis{eekelen88 ,key={eekelen} ,author={Eekelen, M.C.J.D. van} ,title={Parallel Graph Rewriting --- Some Contribution to its Theory, its Implementation and its Applications} ,school="University of Nijmegen" ,year=1988 ,month=Dec } @techreport{haskell1 ,author="Hudak, P. and Wadler (editors), P." ,title="Report on the {P}rogramming {L}anguage {H}askell, {A} {N}on-strict {P}urely {F}unctional {L}anguage ({V}ersion 1.0)" ,institution="Yale University, Department of Computer Science" ,month=Apr ,year=1990 ,number="YALEU/DCS/RR777" } @techreport{haskell2 ,author="Hudak, P. and Peyton Jones, Simon L. and Wadler (editors), P." ,title="Report on the {P}rogramming {L}anguage {H}askell, {A} {N}on-strict {P}urely {F}unctional {L}anguage ({V}ersion 1.1)" ,institution="Yale University, Department of Computer Science" ,month=Aug ,year=1991 ,number="YALEU/DCS/RR777" } @article{haskell-sigplan ,author="Hudak, Paul and Peyton Jones, Simon L. and Wadler (editors), Philip" ,title="Report on the {P}rogramming {L}anguage {H}askell, {A} {N}on-strict {P}urely {F}unctional {L}anguage ({V}ersion 1.2)" ,journal="ACM SIGPLAN Notices" ,volume=27 ,number=5 ,month=May ,year=1992 } @article{haskell ,author="Hudak, Paul and Peyton Jones, Simon L. and Wadler (editors), Paul" ,title="Report on the {P}rogramming {L}anguage {H}askell, {A} {N}on-strict {P}urely {F}unctional {L}anguage ({V}ersion 1.2)" ,journal="ACM SIGPLAN Notices" ,volume=27 ,number=5 ,month=May ,year=1992 } @article{blos88b ,author={Bloss, A. and Hudak, P. and Young, J.} ,title={An Optimizing Compiler for a Modern Functional Language} ,journal={The Computer Journal} ,volume=31 ,number=6 ,year=1988 ,pages={152-161} } @inproceedings{mul-t ,author={Kranz, D.A. and Halstead, R.H. and Mohr, E.} ,title={Mul-{T}: A High-Performance Parallel {L}isp} ,booktitle={Proceedings of 1989 SIGPLAN Conf. on Programming Language Design and Implementation} ,organization={ACM/SIGPLAN} ,year=1989 ,month=Jun ,pages={81-90} } @inproceedings{hudakchapter91 ,author={Hudak, P.} ,title={Para-functional Programming in {H}askell} ,booktitle={Parallel Functional Languages and Compilers} ,editors={Szymanski, B.K.} ,year=1991 ,publisher={ACM Press (New York) and Addison-Wesley (Reading)} ,chapter={5} ,pages={159-196} } @misc{huda89c ,author={Hudak, P. and Guzm\'an, J.} ,title={On Expressing the Mutation of State in a Functional Programming Language} ,note={presented at WG2.8 Workshop on Functional Programming} ,address={Mystic, CT} ,year=1989 ,month=May } @inproceedings{wadl85b ,key={wadler} ,author={Wadler, P.} ,title={Listlessness is Better Than Laziness II: Composing listless functions} ,booktitle={LNCS 217: Programs as Data Objects} ,pages={282-305} ,publisher={Springer-Verlag} ,year=1985 } @InProceedings{darlingtonwhile87 ,author={Darlington, J. and While, L.} ,title={Controlling the Behavior of Functional Language Systems} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer-Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={278-300} } @techreport{hughes85 ,author={Hughes, R.J.M.} ,title={An Efficient Implementation of Purely Functional Arrays} ,institution={Programming Methodology Group, Chalmers University of Technology} ,year=1985 } @inproceedings{holmstrom83 ,author={Holmstrom, S.} ,title={How to Handle Large Data Structures in Functional Languages} ,booktitle={Proc.~of SERC/Chalmers Workshop on Declarative Programming Languages} ,year=1983 } @techreport{aasaetal87 ,author={Aasa, A. and Holmstrom, S. and Nilsson, C.} ,title={An Efficiency Comparison of Some Representations of Purely Functional Arrays} ,institution={Programming Methodology Group, Chalmers University of Technology} ,number=33 ,month=May ,year=1987 } @phdthesis{mullin88 ,author={Mullin, L.R.} ,title={A Mathematics of Arrays} ,school={Computer and Information Science and CASE Center, Syracuse University} ,year=1988 ,month=Dec } @techreport{ande89 ,author="Anderson, S. and Hudak, P." ,title="Efficient Compilation of {H}askell Array Comprehensions" ,institution="Yale University, Department of Computer Science" ,month=Mar ,type="Research Report" ,number="YALEU/DCS/RR693" ,year=1989 } @InProceedings{lucassengifford88 ,key={lucassen} ,author={Lucassen, J.M. and Gifford, D.K.} ,title={Polymorphic Effect Systems} ,booktitle={Proceedings of 15th ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1988 ,pages={47-57} } @InProceedings{giffordlucassen86 ,Key={gifford} ,Author={Gifford, D.K. and Lucassen, J.M.} ,Title={Integrating Functional and Imperative Programming} ,Booktitle={Proceedings~1986 ACM Conf. on Lisp and Functional Programming} ,Organization={ACM SIGPLAN/SIGACT/SIGART} ,Year=1986 ,Month=Aug ,Pages={28-38} } @misc{hancock87inpeyt87 ,author={Hancock, P.} ,title={Polymorphic Type-Checking} ,note={Chapters 8 and 9 in \cite{peyt87}} } @misc{wadler87inpeyt87 ,author={Wadler, P.} ,title={Efficient Compilation of Pattern-Matching} ,note={Chapter 5 in \cite{peyt87}} } @article{burton88 ,author={Burton, F.W.} ,title={Nondeterminism with Referential Transparency in Functional Programming Languages} ,journal={The Computer Journal} ,year=1988 ,volume=31 ,number=3 ,pages={243-247} } @phdthesis{tofte88 ,key={tofte} ,author={Tofte, M} ,title={Operational Semantics and Polymorphic Type Inference} ,school={University of Edinburgh, Department of Computer Science (CST-52-88)} ,year=1988 ,month=May } @InProceedings{berry78 ,key={berry} ,author={Berry, Gerard} ,title={S\'{e}quentialit\'{e} de l'\'{e}valuation formelle des $\lambda$-expressions} ,booktitle={Proceedings 3-e Colloque International sur la Programmation} ,year=1978 ,month=Mar } @phdthesis{girard72 ,key={girard} ,author={Girard, J.-Y.} ,title={Interpr\'{e}tation Fonctionelle et Elimination des Coupures dans l'Arithm\'{e}tique d'Ordre Sup\'{e}rieur} ,school={Univ. of Paris} ,year=1972 } @book{wegner68 ,key={wegner} ,author={Wegner, P.} ,title={Programming Languages, Information Structures, and Machine Organization} ,publisher={McGraw-Hill} ,year=1968 } @InProceedings{reynolds85 ,key={reynolds} ,author={Reynolds, J.C.} ,title={Three Approaches to Type Structure} ,booktitle={Mathematical Foundations of Software Development} ,publisher={Springer-Verlag LNCS 185} ,year=1985 ,month=Mar ,pages={97-138} } @book{wikstrom88 ,key={wikstrom} ,author={Wikstr$\ddot{o}$m, A.} ,title={Functional Programming Using Standard ML} ,publisher={Prentice-Hall} ,year=1987 } @techreport{tui ,key="boutel" ,author="Boutel, B.E." ,title="Tui Language Manual" ,institution="Victoria University of Wellington, Department of Computer Science" ,number="CSD-8-021" ,year=1988 } @techreport{orwell ,key="Wadler" ,author="Wadler, P. and Miller, Q." ,title="An Introduction to Orwell" ,institution="Programming Research Group, Oxford University" ,year=1988 ,note="(First version, 1985.)" } @InProceedings{grip87 ,key={peytonjones} ,author={Peyton Jones, Simon L. and Clack, C. and Salkild, J. and Hardie, M.} ,title={{GRIP}---A High-performance Architecture for Parallel Graph Reduction} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer-Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={98-112} } @InProceedings{watsonwatson87 ,key={watson} ,author={Watson, P. and Watson, I.} ,title={Evaluating Functional Programs on the {FLAGSHIP} machine} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer-Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={80-97} } @InProceedings{burnetal88 ,Key={burn} ,Author={Burn, G.L. and Peyton Jones, Simon L. and Robson, J.D.} ,Title={The Spineless {G}-Machine} ,Booktitle={Proceedings~1988 ACM Conf. on Lisp and Functional Programming} ,Organization={ACM SIGPLAN/SIGACT/SIGART} ,Year=1988 ,Month=Aug ,Address={Salt Lake City, Utah} ,Pages={244-258} } @techreport{huda89b ,key="Hudak" ,author="Hudak, P. and Sundaresh, R." ,title="On the Expressiveness of Purely Functional {I/O} Systems" ,institution="Yale University, Department of Computer Science" ,month=Feb ,number="YALEU/DCS/RR-665" ,year=1989 } @InProceedings{kaes88 ,key={kaes} ,author={Kaes, S.} ,title={Parametric Polymorphsim} ,booktitle={Proc. 2nd Eupropean Symposium on Programming} ,month=Mar ,year=1988 ,publisher={Springer-Verlag LNCS 300} } @InProceedings{wadlerblott89 ,key={wadler} ,author={Wadler, P. and Blott, S.} ,title={How to Make {\em ad hoc} Polymorphism Less {\em ad hoc}} ,booktitle={Proceedings of 16th ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1989 ,pages={60-76} } @article{tuperlis86 ,key={tuperlis} ,author={Tu, H-C. and Perlis, A.J.} ,title={{FAC}: A Functional {APL} Language} ,journal={IEEE Software} ,volume=3 ,number=1 ,year=1986 ,month=Jan ,pages={36-45} } @article{fortuneetal85 ,key={fortune} ,author={Fortune, S. and Leivant, D. and O'Donnell, M.} ,title={The Expressiveness of Simple and Second-Order Type Structures} ,journal={JACM} ,volume=30 ,number=1 ,year=1985 ,month=Jan ,pages={151-185} } @techreport{daisy ,key={johnson} ,author={Johnson, S.D.} ,title={Daisy Programming Manual} ,institution={Indiana University Computer Science Department} ,year=1988 ,note={(in progress, draft available on request)} } @book{fieldharrison88 ,key={field} ,author={Field, A.J. and Harrison, P.G.} ,title={Functional Programming} ,publisher={Adison-Wesley} ,address={Workingham, England} ,year=1988 } @inproceedings{henderson82a ,author={Henderson, P.} ,title={Purely Functional Operating Systems} ,booktitle={Functional Programming and Its Applications: An Advanced Course} ,editors={Darlington, J. and Henderson, P. and Turner, D.A.} ,pages={177-192} ,year=1982 ,publisher={Cambridge University Press} } @InProceedings{appelmacqueen87 ,author={Appel, A.W. and MacQueen, D.B.} ,title={A Standard {ML} Compiler} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer-Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={301-324} } @book{degrootlindstrom85 ,title={Functional and Logic Programming} ,author={Degroot, D. and Lindstrom, G.} ,year=1985 ,publisher={Prentice-Hall} } @book{milnestrachey76 ,key={milne} ,author={Milne, R.E. and Strachey, C.} ,title={A Theory of Programming Language Semantics} ,publisher={Chapman and Hall, London, and John Wiley, New York} ,year=1976 } @article{hindley69 ,key={hindley} ,author={Hindley, J. Roger} ,title={The Principal Type Scheme of an Object in Combinatory Logic} ,journal={Transactions of the American Mathematical Society} ,volume=146 ,year=1969 ,month=Dec ,pages={29-60} } @article{blos88 ,key={blosshudak} ,author={Bloss, A. and Hudak, P. and Young, J.} ,title={Code Optimizations for Lazy Evaluation} ,journal={Lisp and Symbolic Computation: An International Journal} ,year=1988 ,volume=1 ,number=2 ,month=Sep ,pages={147-164} } @phdthesis{wadsworth71 ,key={wadsworth} ,author={Wadsworth, C.P.} ,title={Semantics and Pragmatics of the Lambda Calculus} ,school={Oxford University} ,year=1971 } @techreport{hughes84 ,key={hughes} ,author={Hughes, R.J.M.} ,title={Why Functional Programming Matters} ,institution={Programming Methodology Group, Chalmers University of Technology} ,number={16} ,month=Nov ,year=1984 } @techreport{wadler87 ,key={wadler} ,author={Wadler, P.} ,title={Views: A Way for Pattern-Matching to Cohabit with Data Abstraction} ,institution={Programming Methodology Group, Chalmers University of Technology} ,number={34} ,month=Mar ,year=1987 ,note={Preliminary version appeared in the Proc. 14th ACM Symposium on Principles of Programming Languages, January 1987} } @article{cardelliwegner85 ,key={cardelli} ,author={Cardelli, L. and Wegner, P.} ,title={On Understanding Types, Data Abstraction, and Polymorphism} ,journal={Computing Surveys} ,volume=17 ,number=4 ,year=1985 ,month=Dec ,pages={471-522} } @book{wadgeashcroft85 ,key={wadge} ,author={Wadge, W.W. and Ashcroft, E.A.} ,title={Lucid, the Dataflow Programming Language} ,publisher={Academic Press} ,address={London} ,year=1985 } @article{ashcroftwadge77 ,key={ashcroft} ,author={Ashcroft, E.A. and Wadge, W.W.} ,title={Lucid, a Nonprocedural Language with Iteration} ,journal=CACM ,volume=20 ,year=1976 ,pages={519-526} } @techreport{backusetal86 ,key={backus} ,author={Backus, J. and Williams, J.H. and Wimmers, E.L.} ,title={{FL} Language Manual (Preliminary Version)} ,institution={IBM Almaden Research Center} ,number={RJ 5339 (54809) Computer Science} ,month=Nov ,year=1986 } @phdthesis{tu86 ,key={tu} ,author={Tu, H-C.} ,title={{FAC}: Functional Array Calculator and its Application to {APL} and Functional Programming} ,school={Yale University, Department of Computer Science} ,month=Apr ,year=1986 ,note={Available as Research Report YALEU/DCS/RR-468} } @techreport{twentel ,key={kroeze} ,author={Kroeze, H.J.} ,title={The {TWENTEL} System (Version 1)} ,institution={Department of Computer Science, University of Twente, The Netherlands} ,year="1986/87" } @book{thakkar87 ,key={thakkar} ,editor={Thakkar, S.S.} ,title={Selected Reprints on Dataflow and Reduction Architectures} ,publisher={The Computer Society Press} ,address={Washington, DC} ,year=1987 } @article{vegdahl84 ,key={vegdahl} ,author={Vegdahl, S.R.} ,title={A Survey of Proposed Architectures for the Execution of Functional Languages} ,journal={IEEE Transactions on Computers} ,volume="C-23" ,number=12 ,month=Dec ,year=1984 ,pages={1050-1071} } @inproceedings{gordonetal78 ,key={gordon} ,author={Gordon, M. and Milner, R. and Morris, L. and Newey, M. and Wadswirth, C.} ,title={A Metalanguage for Interactive Proof in {LCF}} ,booktitle={Conf. Record of the Fifth Annual ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1978 ,pages={119-130} } @phdthesis{fairbairn85 ,key={fairbairn} ,author={Fairbairn, J.} ,title={Design and Implementation of a Simple Typed Language Based on the Lambda Calculus} ,school={University of Cambridge} ,month=May ,year=1985 ,note={Available as Computer Laboratory TR No.\ 75} } @techreport{mcgrawetal83 ,key={mcgraw} ,author={McGraw, J. and Allan, S. and Glauart, J. and Dobes, I.} ,title={{SISAL}: Streams and Iteration in a Single-Assignment Language, Language Reference Manual} ,institution={Lawrence Livermore National Laboratory, M-146} ,month=Jul ,year=1983 } @inproceedings{guttagetal81 ,key={guttaghorning} ,author={Guttag, J. and Horning, J. and Williams, J.} ,title={{FP} with Data Abstraction and Strong Typing} ,booktitle={Proc. 1981 Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM} ,year=1981 ,pages={11-24} } @inproceedings{turner82 ,key={turner} ,author={Turner, D.A.} ,title={Recursion Equations as a Programming Language} ,booktitle={Functional Programming and Its Applications: An Advanced Course} ,editors={Darlington, J. and Henderson, P. and Turner, D.A.} ,pages={1-28} ,year=1982 ,publisher={Cambridge University Press} } @inproceedings{turner81 ,key={turner} ,author={Turner, D.A.} ,title={The Semantic Elegance of Applicative Languages} ,booktitle={Proc. 1981 Conf. on Functional Programming Languages and Computer Architecture} ,organization={ACM} ,year=1981 ,pages={85-92} } @book{iverson62 ,key={iverson} ,author={Iverson, K.} ,title={A Programming Language} ,publisher={Wiley} ,address={New York} ,year=1962 } @article{milner78 ,key={milner} ,author={Milner, R.A.} ,title={A Theory of Type Polymorphism in Programming} ,journal={Journal of Computer and System Sciences} ,volume=17 ,number=3 ,year=1978 ,month=Dec ,pages={348-375} } @book{birdwadler88 ,key={bird} ,author={Bird, R. and Wadler, P.} ,title={Introduction to Functional Programming} ,publisher={Prentice Hall} ,address={New York} ,year=1988 } @article{post43 ,key={post} ,author={Post, E.L.} ,title={Formal Reductions of the General Combinatorial Decision Problem} ,journal={American Journal of Mathematics} ,volume=65 ,year=1943 ,pages={197-215} } @article{markov51 ,key={markov} ,author={Markov, A.A.} ,title={Teoriya Algorifmov ({T}heory of Algorithms)} ,journal={Trudy Mat. Inst. Steklov} ,volume=38 ,year=1951 ,pages={176-189} } @techreport{cartwright76 ,key={cartwright} ,author={Cartwright, R.} ,title={A Practical Formal Semantic Definition and Verification System for Typed Lisp} ,institution={Stanford Artifical Intelligence Laboratory AIM-296} ,year=1976 } @article{gelernteretal60 ,key={gelernter} ,author={Gelernter, H. and Hansen, J.R. and Gerberich, C.L.} ,title={A {FORTRAN}-Compiled List Processing Language} ,journal={JACM} ,volume=7 ,number=2 ,year=1960 ,pages={87-101} } @InProceedings{McCarthy62d, author = "John McCarthy", title = "Computer Programs for Checking Mathematical Proofs", booktitle = "Proceedings of Symposia in Pure Mathematics", organization = "Symposia in Pure Mathematics", address = "Providencce", volume = "5", note = "AMS", year = "1962", } @inproceedings{mccarthy78 ,key={mccarthy} ,author={McCarthy, J.} ,title={History of {L}isp} ,booktitle={Preprints of Proceedings of {ACM} {SIGPLAN} History of Programming Languages Conf.} ,year=1978 ,pages={217-223} ,note={Published as SIGPLAN Notices 13(8), August 1978} } @phdthesis{petznick70 ,key={petznick} ,author={Petznick, G.W.} ,title={Combinatory Programming} ,school={University of Wisconsin, Madison} ,year=1970 ,note={Available as publication 70-24812 from University Microfilms Int.} } @article{turing36 ,key={turing} ,author={Turing, A.M.} ,title={On Computable Numbers with an Application to the Entscheidungsproblem} ,journal={Proc. London Mathematical Society} ,volume=42 ,year=1936 ,pages={230-265} } @article{turing37 ,key={turing} ,author={Turing, A.M.} ,title={Computability and $\lam$-definability} ,journal={Journal of Symbolic Logic} ,volume=2 ,year=1937 ,pages={153-163} } @book{curryfeys58 ,key={curryfeys} ,author={Curry, H.B. and Feys, R.} ,title={Combinatory Logic, Vol. 1} ,publisher={North-Holland} ,address={Amsterdam} ,year=1958 } @article{curry30 ,key={curry} ,author={Curry, H.B.} ,title={Grundlagen der Kombinatorischen Logik} ,journal={American Journal of Mathematics} ,volume=52 ,year=1930 ,pages={509-536,789-834} } @book{church56 ,key={church} ,author={Church, A.} ,title={Introduction to Mathematical Logic} ,publisher={Princeton University Press} ,address={Princeton, NJ} ,year=1956 } @article{church32 ,key={church} ,author={Church, A.} ,title={A Set of Postulates for the Foundation of Logic} ,journal={Annals of Mathematics} ,volume=2 ,number={33-34} ,year={1932-1933} ,pages={346-366,839-864} } @article{churchrosser36 ,key={church} ,author={Church, A. and Rosser, J.B.} ,title={Some Properties of Conversion} ,journal={Transactions of the American Mathematical Society} ,volume=39 ,year=1936 ,pages={472-482} } @article{kleenerosser35 ,key={kleene} ,author={Kleene, S.C. and Rosser, J.B.} ,title={The Inconsistency of Certain Forms of Logic} ,journal={Annals of Mathematics} ,volume=2 ,number=36 ,year=1935 ,pages={630-636} } @article{kleene36 ,key={kleene} ,author={Kleene, S.C.} ,title={$\lam$-definability and Recursiveness} ,journal={Duke Mathematical Journal} ,volume=2 ,year=1936 ,pages={340-353} } @article{landin64 ,key={landin} ,author={Landin, P.J.} ,title={The Mechanical Evaluation of Expressions} ,journal={Computer Journal} ,volume=6 ,number=4 ,year=1964 ,month=Jan ,pages={308-320} } @article{landin65 ,key={landin} ,author={Landin, P.J.} ,title={A Correspondance between {ALGOL} 60 and {C}hurch's Lambda Notation} ,journal=CACM ,volume=8 ,year=1965 ,pages={89-101,158-165} } @article{landin66 ,key={landin} ,author={Landin, P.J.} ,title={The Next 700 Programming Languages} ,journal=CACM ,volume=9 ,number=3 ,year=1966 ,pages={157-166} } @book{vanheijenoort67 ,key={vanheijenoort} ,author={van Heijenoort, J.} ,title={From {F}rege to {G}\"{o}del} ,publisher={Harvard University Press} ,address={Cambridge, MA} ,year=1967 } @article{reynolds70 ,key={reynolds} ,author={Reynolds, J.C.} ,title={{GEDANKEN} -- a simple typless language based on the principle of completeness and reference concept} ,journal=CACM ,volume=13 ,number=5 ,year=1970 ,pages={308-319} } @article{tennent76 ,key={tennent} ,author={Tennent, R.D.} ,title={The Denotational Semantics of Programming Languages} ,journal=CACM ,volume=19 ,number=8 ,year=1976 ,pages={} } @book{gordonetal79 ,key={gordon} ,author={Gordon, M.J. and Milner, R. and Wadsworth, C.P.} ,title={Edinburgh {LCF}} ,publisher={Springer-Verlag LNCS 78} ,address={Berlin} ,year=1979 } @techreport{stoye85 ,key={stoye} ,author={Stoye, W.} ,title={A New Scheme for Writing Functional Operating Systems} ,institution={University of Cambridge, Computer Laboratory} ,number=56 ,year=1985 } @inproceedings{boehm85 ,key={boehm} ,author={Boehm, H-J.} ,title={Partial Polymorphic Type Inference is Undecidable} ,booktitle={Proceedings of 26th Symposium on Foundations of Computer Science} ,pages={339-345} ,month=Oct ,year=1985 } @inproceedings{pfenning88 ,key={pfenning} ,author={Pfenning, F.} ,title={Partial Polymorphic Type Inference and Higher-Order Unification} ,Booktitle={Proceedings~1988 ACM Conf. on Lisp and Functional Programming} ,Organization={ACM SIGPLAN/SIGACT/SIGART} ,Year=1988 ,Month=Aug ,Address={Salt Lake City, Utah} ,Pages={153-163} } @article{huda89a ,author={Hudak, P.} ,title={Conception, Evolution, and Application of Functional Programming Languages} ,journal={ACM Computing Surveys} ,volume=21 ,number=3 ,year=1989 ,pages={359-411} } @article{mou88 ,author={Mou, Z.G. and Hudak, P.} ,title={An Algebraic Model for Divide-and-Conquer and its Parallelism} ,journal={Journal of Supercomputing} ,volume=2 ,number=3 ,year=1988 } @article{girard87 ,author={Girard, J.-Y.} ,title={Linear Logic} ,journal={Theoretical Computer Science} ,volume=50 ,year=1987 ,pages={1-102} } @InProceedings{abadietal89 ,author={Abadi, Mart{\'\i}n and Cardeli, Luca and Pierce, Benjamin and Plotkin, Gordon D.} ,title={Dynamic Typing in a Statically Typed Language} ,booktitle={ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1989 ,pages={213-227} } @InProceedings{appel89 ,author={Appel, A.W. and Jim, T.} ,title={Continuation-passing, Closure-passing Style} ,booktitle={ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1989 ,pages={193-302} } @article{odon88 ,key={odonnell} ,author={O'Donnell, J.T. and Hall, C.V.} ,title={Debugging in Applicative Languages} ,journal={Lisp and Symbolic Computation: In International Journal} ,volume=1 ,number=2 ,year=1988 ,month=Sep ,pages={113-146} } @techreport{mou89 ,key={mou} ,author={Mou, Z.G. and Anderson, S. and Hudak, P.} ,title={Parallelism in Sequential Divide-and Conquer (Extended Abstract)} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-683} ,month=Feb ,year=1989 } @article{flic ,key={peytonjones} ,author={Peyton Jones, Simon L.} ,title={{FLIC} --- a functional language intermediate code} ,journal={SIGPLAN Notices} ,volume=23 ,number=8 ,year=1988 ,pages={30-48} } @techreport{darl85 ,key={darlington} ,author={Darlington, J. and Field, A.J. and Pull, H.} ,title={The unification of functional and logic languages} ,institution={Department of Computing, Imperial College of Science and Technology} ,month=Feb ,year=1985 } @article{slag74 ,key={slagle} ,author={Slagle, J.R.} ,title={Automated theorem-proving for theories with simplifiers} ,journal={JACM} ,volume=21 ,number=4 ,year=1974 ,pages={622-642} } @techreport{lank75 ,key={lankford} ,author={Lankford, D.S.} ,title={Canonical inference} ,institution={University of Texas at Austin} ,number={ATP-32} ,year=1975 } @inproceedings{hull80 ,key={hullot} ,author={Hullot, J-M.} ,title={Canonical forms and unification} ,booktitle={Conf. on Automated Deduction} ,year=1980 ,pages={318-334} } @article{warr77 ,key={warren} ,author={Warren, D. and Pereira, L.M. and Pereira, F.} ,title={Prolog --- the language and its implementation compared with Lisp} ,journal={SIGPLAN Notices} ,volume=12 ,number=8 ,year=1977 ,pages={} } @inproceedings{subr84b ,key={subrahmanyam} ,author={Subrahmanyam, P.A. and You, J-H.} ,title={FUNLOG = functions + logic: a computational model integrating functional and logic programming} ,booktitle={International Symposium Logic Programming} ,organization={IEEE} ,year=1984 ,pages={144-153} } @inproceedings{sato83 ,key={sato} ,author={Sato, M. and Sakurai, T.} ,title={Qute: a Prolog/Lisp type language for logic programming} ,booktitle={Eigth International Joint Conf. Artificial Intelligence} ,year=1983 } @inproceedings{robi82a ,key={robinson} ,author={Robinson, J.A. and Sibert, E.E.} ,title={LOGLISP: motivation, design and implementation} ,booktitle={Logic Programming} ,editors={Clark, K.L. and Tarnlund, S-A.} ,pages={299-314} ,year=1982 ,publisher={Academic Press} } @inproceedings{mell84 ,key={mellish} ,author={Mellish, C. and Hardy, S.} ,title={Integrating PROLOG in the POPLOG environment} ,booktitle={Implementations of PROLOG} ,editors={Campbell, J.A.} ,pages={147-162} ,year=1984 ,publisher={Ellis Horwood} } @inproceedings{mala84 ,key={malachi} ,author={Malachi, Y. and Manna, Z. and Waldinger, R.} ,title={TABLOG: The deductive-tableau programming language} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1984 ,month=Aug ,pages={323-330} } @inproceedings{lind85 ,key={lindstrom} ,author={Lindstrom, G.} ,title={Functional programming and the logical variable} ,booktitle={Proceedings 11th Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1985 ,month=Jan ,pages={266-280} } @inproceedings{komo82 ,key={komorowski} ,author={Komorowski, H.J.} ,title={QLOG --- The programming environment PROLOG in LISP} ,booktitle={Logic Programming} ,editors={Clark, K.L. and Tarnlund, S-A.} ,pages={315-323} ,year=1982 ,publisher={Academic Press} } @inproceedings{hans82 ,key={hansson} ,author={Hansson, A. and Haridi, S. and Tarnlund, S-A.} ,title={Properties of a logic programming language} ,booktitle={Logic Programming} ,editors={Clark, K.L. and Tarnlund, S-A.} ,pages={267-280} ,year=1982 ,publisher={Academic Press} } @inproceedings{gogu84 ,key={goguen} ,author={Goguen, J.A. and Meseguer, J.} ,title={Equality, types, modules and generics for logic programming} ,booktitle={Proceedings 2nd International Logic Programming Conf.} ,year=1984 ,pages={115-125} } @inproceedings{fay79 ,key={fay} ,author={Fay, M.} ,title={First-order unification in an equational theory} ,booktitle={Fourth Workshop on Automated Deduction} ,year=1979 ,pages={161-167} } @inproceedings{barb85 ,key={barbutti} ,author={Barbutti, R. and Bellia, M. and Levi, G. and Martelli, M.} ,title={LEAF: A language which integrates logic, equations, and functions} ,booktitle={Functional and Logic Programming} ,editors={Degroot, D. and Lindstrom, G.} ,pages={} ,year=1985 ,publisher={Prentice-Hall} } @inproceedings{bell82 ,key={bellia} ,author={Bellia, M. and Degano, P. and Levi, G.} ,title={Call by name semantics of a clause language with functions} ,booktitle={Logic Programming} ,editors={Clark, K.L. and Tarlund, S-A.} ,pages={189-198} ,year=1982 ,publisher={Academic Press} } @inproceedings{redd85a ,key={reddya} ,author={Reddy, U.S.} ,title={Narrowing as the operational semantics of functional languages} ,booktitle={Submitted to International Symposium on Logic Programming} ,organization={IEEE} ,year=1985 } @inproceedings{redd85b ,key={reddyb} ,author={Reddy, U.S.} ,title={On the relationship between logic and functional languages} ,booktitle={Functional and Logic Programming} ,editors={Degroot, D. and Lindstrom, G.} ,pages={} ,year=1985 ,publisher={Prentice-Hall} } @inproceedings{carl84 ,key={carlsson} ,author={Carlsson, M.} ,title={On implementing Prolog in functional programming} ,booktitle={International Symposium on Logic Programming} ,organization={IEEE} ,year=1984 ,month=Feb ,pages={154-159} } @article{huet80 ,key={huet} ,author={Huet, G.} ,title={Confluent reductions: abstract properties and applications to term rewriting systems} ,journal={JACM} ,volume=27 ,number=4 ,year=1980 ,pages={797-821} } @techreport{ders85 ,key={dershowitz} ,author={Dershowitz, N.} ,title={Termination of rewriting} ,institution={University of Illinois, Department of Computer Science} ,number={UIUCDCS-R-85-1220, UILU-ENG-85-1728} ,month=Aug ,year=1985 } @inproceedings{huet80a ,key={huet} ,author={Huet, G. and Oppen, D.C.} ,title={Equations and rewrite rules: a survey} ,booktitle={Formal Languages: Perspectives and Open Problems} ,editors={Book, R.} ,pages={349-405} ,year=1980 ,publisher={Academic Press} } @unpublished{aitk85 ,key={Ait-Kali} ,author={Ait-Kali, H.} ,title={R-unification} ,note={(Unpublished summary)} ,year=1985 } @techreport{rety85 ,key={rety} ,author={Rety, P. and Kirchner, C. and Kirchner, H. and Lescanne, P.} ,title={NARROWER: a new algorithm for unification and its application to logic programming} ,institution={Center de Recherche en Informatique de Nancy} ,year=1985 } @techreport{pull85 ,key={pull} ,author={Pull, H.} ,title={Unification in Hope -- some theory and practice} ,institution={Department of Computing, Imperial College of Science and Technology} ,month=Jul ,year=1985 } @techreport{smol85 ,key={smolka} ,author={Smolka, G. and Panangaden, P.} ,title={Fresh: a higher-order language with unification and multiple results} ,institution={Department of Computer Science, Cornell University} ,number={85-685} ,month=May ,year=1985 } @inproceedings{sriv85 ,key={srivastava} ,author={Srivastava, A. and Oxley, D. and Srivastava, A.} ,title={An(other) integration of logic and functional programming} ,booktitle={International Symposium on Logic Programming (CHECK THIS)} ,organization={IEEE} ,year=1985 ,month=Feb ,pages={254-260} } @techreport{huda85h ,key={hudak} ,author={Hudak, P. and Guzm\'an, J.} ,title={A proof-stream semantics for lazy narrowing} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-446} ,month=Dec ,year=1985 } @inproceedings{jone86 ,key={jones} ,author={Jones, Neil D. and Mycroft, A.} ,title={Data flow analysis of applicative programs using minimal function graphs} ,booktitle={Proceedings 13th Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1986 ,month=Jan ,pages={296-306} } @book{gabr85a ,key={gabriel} ,author={Gabriel, R.P.} ,title={Performance and Evaluation of Lisp Systems} ,publisher={MIT Press} ,address={Cambridge, Mass.} ,year=1985 } @article{huda86c ,key={li} ,author={Li, K. and Hudak, P.} ,title={A new list compaction method} ,journal={Software -- Practice and Experience} ,volume=16 ,number=2 ,month=Feb ,year=1986 ,pages={145-163} } @inproceedings{augu84 ,key={augustsson} ,author={Augustsson, L.} ,title={A compiler for {L}azy {ML}} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,month=Aug ,year=1984 ,pages={218-227} } @techreport{huda86h ,key={hudak} ,author={Hudak, P.} ,title={Exploring para-functional programming} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-467} ,month=Apr ,year=1986 ,note={(Obsolete)} } @techreport{srid85 ,key={sridharan} ,author={Sridharan, N.S.} ,title={Semi-Applicative Programming: An Example} ,institution={BBN Laboratories} ,month=Nov ,year=1985 } @techreport{huda86i ,key={hudak} ,author={Hudak, P.} ,title={Collecting Interpretations of Expressions} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-497} ,year=1986 } @article{hoar62 ,key={hoare} ,author={Hoare, C.A.R.} ,title={Quicksort} ,journal={Computing J.} ,volume=5 ,number=4 ,month=Apr ,year=1962 ,pages={10-15} } @inproceedings{kran86 ,key={kranz} ,author={Kranz, D. and Kelsey, R. and Rees, J. and Hudak, P. and Philbin, J. and Adams, N.} ,title={ORBIT: an optimizing compiler for {Scheme}} ,booktitle={SIGPLAN '86 Symposium on Compiler Construction} ,organization={ACM} ,month=Jun ,year=1986 ,pages={219-233} ,note={Published as SIGPLAN Notices Vol. 21, No. 7, July 1986} } @inproceedings{huda86d ,key={kranz} ,author={Kranz, D. and Kelsey, R. and Rees, J. and Hudak, P. and Philbin, J. and Adams, N.} ,title={ORBIT: an optimizing compiler for {Scheme}} ,booktitle={SIGPLAN '86 Symposium on Compiler Construction} ,organization={ACM} ,month=Jun ,year=1986 ,pages={219-233} ,note={Published as SIGPLAN Notices Vol. 21, No. 7, July 1986} } @article{huda86j ,key={hudak} ,author={Hudak, P.} ,title={Para-functional programming} ,journal={Computer} ,volume=19 ,number=8 ,month=Aug ,year=1986 ,pages={60-71} } @article{niel82 ,key={nielson} ,author={Nielson, Flemming} ,title={A denotational framework for data flow analysis} ,journal={Acta Informatica} ,volume=18 ,year=1982 ,pages={265-287} } @article{niel85 ,key={nielson} ,author={Nielson, Flemming} ,title={Program transformations in a denotational setting} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=7 ,number=3 ,month=Jul ,year=1985 ,pages={359-379} } @phdthesis{niel84 ,key={nielson} ,author={Nielson, Flemming} ,title={Abstract Interpretation Using Domain Theory} ,school={University of Edinburgh} ,month=Oct ,year=1984 } @inproceedings{cous81 ,key={cousot} ,author={Cousot, P.} ,title={Semantic foundations of program analysis} ,booktitle={Program Flow Analysis: Theory and Applications} ,editors={Muchnick, S.S. and Jones, Neil D.} ,pages={303-342} ,year=1981 ,publisher={Prentice-Hall} } @inproceedings{donz81 ,key={Donzeau-Gouge} ,author={Donzeau-Gouge, V.} ,title={Denotational definition of properties of program computations} ,booktitle={Program Flow Analysis: Theory and Applications} ,editors={Muchnick, S.S. and Jones, Neil D.} ,pages={343-379} ,year=1981 ,publisher={Prentice-Hall} } @inproceedings{burn86 ,key={Burn} ,author={Burn, G.L. and Hankin, C.L. and Abramsky, S.} ,title={The theory of strictness analysis for higher order functions} ,booktitle={LNCS 217: Programs as Data Objects} ,editors={Ganzinger, H. and Jones, Neil D.} ,pages={42-62} ,year=1985 ,publisher={Springer-Verlag} } @inproceedings{mycr86 ,key={mycroft} ,author={Mycroft, A and Jones, Neil D.} ,title={A Relational Framework for Abstract Interpretation} ,booktitle={LNCS 217: Programs as Data Objects} ,editors={Ganzinger, H. and Jones, Neil D.} ,pages={156-171} ,year=1985 ,publisher={Springer-Verlag} } @inproceedings{hugh86 ,key={hughes} ,author={Hughes, R.J.M.} ,title={Strictness detection in non-flat domains} ,booktitle={LNCS 217: Programs as Data Objects} ,editors={Ganzinger, H. and Jones, Neil D.} ,pages={42-62} ,year=1986 ,publisher={Springer-Verlag} } @inproceedings{huda86e ,key={hudak} ,author={Hudak, P.} ,title={A semantic model of reference counting and its abstraction (detailed summary)} ,booktitle={Proceedings 1986 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,month=Aug ,year=1986 ,pages={351-363} } @inproceedings{blos86a ,key={bloss} ,author={Bloss, A. and Hudak, P.} ,title={Variations on Strictness Analysis} ,booktitle={Proc. 1986 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,month=Aug ,year=1986 ,pages={132-142} } @book{abra87 ,key={abramsky} ,author={Abramsky, S. and Hankin, C.} ,title={Abstract Interpretation of Declarative Languages} ,publisher={Ellis Horwood} ,year=1987 } @inproceedings{jone81 ,key={jones} ,author={Jones, Neil D. and Muchnick, S.S.} ,title={Complexity of flow analysis, inductive assertion synthesis, and a language due to {D}ijkstra} ,booktitle={Program Flow Analysis: Theory and Applications} ,editors={Muchnick, S.S. and Jones, Neil D.} ,pages={380-393} ,year=1981 ,publisher={Prentice-Hall} } @techreport{huda86l ,key={goldberg} ,author={Goldberg, B. and Hudak, P.} ,title={Detecting Sharing of Partial Applications in Functional Languages} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-526} ,month=Mar ,year=1987 } @InProceedings{farrow86 ,key={Farrow} ,author={Farrow, R.} ,title={Automatic Generation of Fixed-Point-Finding Evaluators for Circular, but Well-Defined, Attribute Grammars} ,booktitle={Proceedings SIGPLAN '86 Symposium on Compiler Construction} ,organization={ACM} ,year=1986 ,pages={85-98} } @inproceedings{PJ86 ,key="Peyton Jones" ,author="Peyton Jones, Simon L. and Clack, C." ,title="Finding fixpoints in abstract interpretation" ,booktitle="Abstract Interpretation of Declarative Languages" ,editors="Abramsky, S. and Hankin, C." ,pages="to appear" ,year=1987 ,publisher="Ellis Horwood"} @InProceedings{thom86 ,Key = "Thompson" ,Author = "Simon Thompson" ,Title = "Laws in {M}iranda" ,Pages = "1-12" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts"} @InProceedings(clem86 ,Key = "Clement" ,Author = "Dominique Cl\'ement and {Jo\"elle} Despeyroux and Thierry Despeyroux and Gilles Kahn" ,Title = "A Simple Applicative Language: {M}ini-{ML}" ,Pages = "13-27" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(giff86 ,Key = "Gifford" ,Author = "David K. Gifford and John M. Lucassen" ,Title = "Integrating Functional and Imperative Programming" ,Pages = "28-38" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(albe86 ,Key = "Alberga" ,Author = "Cyril N. Alberga and Chris Bosman-Clark and Martin Mikelsons and Mary S. Van Deusen and Julian Padget" ,Title = "Experience with an Uncommon {L}isp" ,Pages = "39-53" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(padg86 ,Key = "Padget" ,Author = "Julian Padget and others" ,Title = "Desiderata for the Standardisation of {L}isp" ,Pages = "54-66" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(broo86 ,Key = "Brooks" ,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 {C}ommon {L}isp" ,Pages = "67-85" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(bart86 ,Key = "Bartley" ,Author = "David H. Bartley and John C. Jensen" ,Title = "The Implementation of {PC} {S}cheme" ,Pages = "86-93" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(fair86 ,Key = "Fairbairn" ,Author = "Jon Fairbairn and Stuart C. Wray" ,Title = "Code Generation Techniques for Functional Languages" ,Pages = "94-104" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(knig86 ,Key = "Knight" ,Author = "Tom Knight" ,Title = "An Architecture for Mostly Functional Languages" ,Pages = "105-112" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(lema86 ,Key = "Lemaitre" ,Author = "M. Lema\^\itre and M. Castan and M.-H. Durand and G. Durrieu and B. Lecussan" ,Title = "Mechanisms for Efficient Multiprocessor Combinator Reduction" ,Pages = "113-121" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(rams86 ,Key = "Ramsdell" ,Author = "John D. Ramsdell" ,Title = "The {CURRY} Chip" ,Pages = "122-131" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(blos86 ,Key = "Bloss" ,Author = "Adrienne Bloss and Paul Hudak" ,Title = "Variations on Strictness Analysis" ,Pages = "132-142" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(dybv86 ,Key = "Dybvig" ,Author = "R. Kent Dybvig and Daniel P. Friedman and Christopher T. Haynes" ,Title = "Expansion-Passing Style: Beyond Conventional Macros" ,Pages = "143-150" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(kohl86 ,Key = "Kohlbecker" ,Author = "Eugene Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce Duba" ,Title = "Hygienic Macro Expansion" ,Pages = "151-161" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(boeh86 ,Key = "Boehm" ,Author = "Hans-J. Boehm and Robert Cartwright and Mark Riggle and Michael J. O'Donnell" ,Title = "Exact Real Arithmetic: A Case Study in Higher Order Programming" ,Pages = "162-173" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(whit86 ,Key = "White" ,Author = "Jon L. White" ,Title = "Reconfigurable, Retargetable Bignums: A Case Study in Efficient, Portable {L}isp System Building" ,Pages = "174-191" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(steen86 ,Key = "Steenkiste" ,Author = "Peter Steenkiste and John Hennessy" ,Title = "{L}isp on a Reduced-Instruction-Set-Processor" ,Pages = "192-201" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(sark86 ,Key = "Sarkar" ,Author = "Vivek Sarkar and John Hennessy" ,Title = "Partitioning Parallel Programs for Macro-Dataflow" ,Pages = "202-211" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(sche86 ,Key = "Scheevel" ,Author = "Mark Scheevel" ,Title = "{NORMA}: A Graph Reduction Processor" ,Pages = "212-219" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(clac86 ,Key = "Clack" ,Author = "Chris Clack and Simon L. {Peyton Jones}" ,Title = "The Four-Stroke Reduction Engine" ,Pages = "220-232" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(lee86 ,Key = "Lee" ,Author = "Peter Lee and Uwe Pleban" ,Title = "On the Use of {L}isp in Implementing Denotational Semantics" ,Pages = "233-248" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(niel86 ,Key = "Nielson" ,Author = "Hanne Riis Nielson and Flemming Nielson" ,Title = "Semantics Directed Compiling for Functional Languages" ,Pages = "249-257" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(bawd86 ,Key = "Bawden" ,Author = "Alan Bawden" ,Title = "Connection Graphs" ,Pages = "258-265" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(maun86 ,Key = "Mauny" ,Author = "Michel Mauny and Asc\'ander Su\'arez" ,Title = "Implementing Functional Languages in the Categorical Abstract Machine" ,Pages = "266-278" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(stee86 ,Key = "Steele" ,Author = "Steele, Guy L., Jr. and W. Daniel Hillis" ,Title = "Connection Machine LISP: Fine-Grained Parallel Symbolic Processing" ,Pages = "279-297" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(wand86 ,Key = "Wand" ,Author = "Mitchell Wand and Daniel P. Friedman" ,Title = "The Mystery of the Tower Revealed: A Non-Reflective Description of the Reflective Tower" ,Pages = "298-307" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(mitc86 ,Key = "Mitchell" ,Author = "John C. Mitchell" ,Title = "A Type-Inference Approach to Reduction Properties and Semantics of Polymorphic Expressions (summary)" ,Pages = "308-319" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(jaya86 ,Key = "Jayaraman" ,Author = "Bharat Jayaraman and Frank S. K. Silbermann" ,Title = "Equations, Sets, and Reduction Semantics for Functional and Logic Programming" ,Pages = "320-331" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(that86 ,Key = "Thatte" ,Author = "Satish R. Thatte" ,Title = "Towards a Semantic Theory for Equational Programming Languages" ,Pages = "332-342" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(lerm86 ,Key = "Lermen" ,Author = "Claus-Werner Lermen and Dieter Maurer" ,Title = "A Protocol for Distributed Reference Counting" ,Pages = "343-350" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(huda86eFP ,Key = "Hudak" ,Author = "Paul Hudak" ,Title = "A Semantic Model of Reference Counting and its Abstraction (detailed summary)" ,Pages = "351-363" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @InProceedings(ruda86 ,Key = "Rudalics" ,Author = "Martin Rudalics" ,Title = "Distributed Copying Garbage Collection" ,Pages = "364-372" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") @techreport{youn86 ,key={Young} ,author={Young, J. and Hudak, P.} ,title={Finding fixpoints on function spaces} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-505} ,month=Nov ,year=1986 } @article{schm85 ,key={schmidt} ,author={Schmidt, D.A.} ,title={Detecting global variables in denotational specifications} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=7 ,number=2 ,year=1985 ,pages={299-310} } @article{bart77 ,key={barth} ,author={Barth, J.M.} ,title={Shifting garbage collection overhead to compile time} ,journal={CACM} ,volume=20 ,number=7 ,year=1977 ,pages={513-518} } @article{schw82 ,key={Schwarz} ,author={Schwarz, J.} ,title={Using annotations to make recursion equations behave} ,journal={IEEE Transactions on Software Engineering} ,volume={SE-8} ,number=1 ,year=1982 ,month=Jan ,pages={21-33} } @article{burs77 ,key={burstall} ,author={Burstall, R.M. and Darlington, J.} ,title={A transformation system for developing recursive programs} ,journal={JACM} ,volume=24 ,number=1 ,year=1977 ,pages={44-67} } @phdthesis{gold88 ,key={goldberg} ,author={Goldberg, B.} ,title={Multiprocessor Execution of Functional Programs} ,school={Yale University, Department of Computer Science} ,year=1988 ,note={Available as technical report {YALEU/DCS/RR-618}} } @InProceedings{hugh85 ,key={hughes} ,author={Hughes, R.J.M.} ,title={Lazy memo-functions} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={129-146} } @InProceedings{burt85 ,key={burton} ,author={Burton, F.W.} ,title={Controlling speculative computation in a parallel functional language} ,booktitle={International Conf. on Distributed Computing Systems} ,pages={453-458} ,month=May ,year=1985 } @techreport{habe75 ,key={haberman} ,author={Haberman, A.N.} ,title={Path Expressions} ,institution={Carnegie-Mellon University} ,month=Jun ,year=1975 } @article{shap86 ,key={shapiro} ,author={Shapiro, E.} ,title={Concurrent Prolog: a progress report} ,journal={Computer} ,volume=19 ,number=8 ,month=Aug ,year=1986 ,pages={44-59} } @InProceedings{delo85 ,key={delosme} ,author={Delosme, J.-M. and Ipsen, I.C.F.} ,title={An illustration of a methodology for the construction of efficient systolic architectures in {VLSI}} ,booktitle={Proceedings 2nd International Symposium on VLSI Technology, Systems, and Applications} ,pages={268-273} ,year=1985 } @article{huda86k ,key={hudak} ,author={Hudak, P.} ,title={Denotational Semantics of a Para-functional Programming Language} ,journal={International Journal of Parallel Programming} ,volume=15 ,number=2 ,year=1986 ,month=Apr ,pages={103-125} } @InProceedings{myni83 ,key={mycroft} ,author={Mycroft, Alan and Nielson, Flemming} ,title={Strong abstract interpretation using powerdomains} ,booktitle={Proceedings ICALP, Springer Verlag LNCS No. 154} ,pages={536-547} ,year=1983 } @techreport{pana84 ,key={panangaden} ,author={Panangaden, P. and Mishra, P.} ,title={A Category Theoretic Formalism for Abstract Interpretation} ,institution={University of Utah} ,number={UUCS-84-005} ,year=1984 } @inproceedings{blos87a ,key={bloss} ,author={Bloss, A. and Hudak, P.} ,title={Path Semantics} ,booktitle={Proceedings of Third Workshop on the Mathematical Foundations of Programming Language Semantics} ,year=1987 ,organization={Tulane University} ,publisher={Springer-Verlag LNCS Volume 298} ,pages={476-489} } @inproceedings{lind86 ,key={lindstrom} ,author={Lindstrom, G.} ,title={Static evaluation of functional programs} ,booktitle={SIGPLAN '86 Symposium on Compiler Construction} ,organization={ACM} ,month=Jun ,year=1986 ,pages={196-206} ,note={Published as SIGPLAN Notices Vol. 21, No. 7, July 1986} } @inproceedings{wadl84 ,key={wadler} ,author={Wadler, P.} ,title={Listlessness is better than laziness: lazy evaluation and garbage collection at compile time} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1984 ,month=Aug ,pages={45-52} } @InProceedings{odon85 ,key={O'Donnell} ,author={O'Donnell, J.T.} ,title={An architecture that efficiently updates associative aggregates in applicative programming language} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={164-189} } @techreport{huda85j ,key={hudak} ,author={Hudak, P.} ,title={Functional programming on multiprocessor architectures} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-447} ,month=Dec ,year=1985 } @article{huda88b ,key={LiKai} ,author={Li, K. and Hudak, P.} ,title={Memory Coherence in Shared Virtual Memory Systems} ,journal={ACM Transactions on Computer Systems} ,volume=7 ,number=4 ,month=Nov ,year=1989 ,pages={321-359} } @InProceedings{huda86g ,key={LiKai} ,author={Li, K. and Hudak, P.} ,title={Memory Coherence in a Shared Virtual Memory System} ,booktitle={5th ACM Symposium on Principles of Distributed Computing} ,month=Aug ,year=1986 ,organization={ACM SIGACT-SIGOPS} ,pages={229-239} } @InProceedings{wise85 ,key={Wise} ,author={Wise, D.S.} ,title={Design for a multiprocessing heap with on-board reference counting} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={289-304} } @InProceedings{wadl87 ,key={wadler} ,author={Wadler, P.} ,title={A New Array Operation} ,booktitle={Workshop on Graph Reduction Techniques} ,month=Oct ,year=1986 ,publisher={Springer-Verlag LNCS 279} } @techreport{nikh86 ,key={nikhil} ,author={Nikhil, R.S. and Pingali, K. and Arvind} ,title={Id Nouveau} ,institution={Massachusetts Institute of Technology, Laboratory for Computer Science} ,type={Computation Structures Group Memo} ,number={265} ,month=Jul ,year=1986 } @misc{arvi86 ,key={Arvind} ,author={Arvind} ,title={Data structures for parallel computing} ,note={Talk given at Graph Reduction Workshop, co-sponsored by Los Alamos National Lab and MCC, held in Santa Fe, NM} ,month=Oct ,year=1986 } @article{prat86 ,key={Pratt} ,author={Pratt, V.} ,title={Modeling Concurrency with Partial Orders} ,journal={International Journal of Parallel Programming} ,volume=15 ,number=1 ,month=Feb ,year=1986 ,pages={33-72} } @article{hend86 ,key={Henderson} ,author={Henderson, P.} ,title={Functional Programming, Formal Specification, and Rapid Prototyping} ,journal={IEEE Transactions on SW Engineering} ,volume="SE-12" ,number=2 ,year=1986 ,pages={241-250} } @InProceedings{gold84 ,key={goldberg} ,author={Goldberg, A. and Paige, R.} ,title={Stream Processing} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1984 ,month=Aug ,pages={53-62} } @InProceedings{huda87b ,key={hudak} ,author={Hudak, P.} ,title={Arrays, Non-Determinism, Side-Effects, and Parallelism: A Functional Perspective} ,booktitle={Proc. Santa Fe Graph Reduction Workshop} ,organization={Los Alamos/MCC} ,year=1986 ,month=Oct ,publisher={Springer-Verlag LNCS 279} ,pages={312-327} } @InProceedings{gold86 ,key={Goldberg} ,author={Goldberg, B. and Hudak, P.} ,title={Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor} ,booktitle={Proc. Santa Fe Graph Reduction Workshop} ,organization={Los Alamos/MCC} ,year=1986 ,month=Oct ,publisher={Springer-Verlag LNCS 279} ,pages={94-113} } @misc{mich86 ,key={michelsen} ,author={Michelsen, R. and Yantis, B. and Williams, E. and Smith, L. } ,title={Reducing on the Cray X/MP} ,booktitle={talk given at Graph Reduction Workshop, co-sponsored by Los Alamos National Lab and MCC, held in Santa Fe, NM} ,month=Oct ,year=1986 } @InProceedings{huda87a ,key={hudak} ,author={Hudak, P.} ,title={Para-functional languages for parallel and distributed computing} ,booktitle={Proceedings of Spring COMPCON '87} ,organization={IEEE} ,year=1987 ,month=Feb ,pages={334-337} } @article{huda72 ,key={Hudak} ,author={Bourne, J.R. and Hudak, P. and Duke, J.L.} ,title={Computer Automated Electro-oculography} ,journal={Computers and Biomedical Research} ,volume=5 ,year=1972 ,month=Jun ,pages={654-658} } @phdthesis{gisc84 ,key={gischer} ,author={Gischer, J.} ,title={Partial Orders and the Axiomatic Theory of Shuffle} ,school={Stanford University, Department of Computer Science} ,year=1984 } @article{kell86 ,key={Keller} ,author={Keller, R.M. and Sleep, R.} ,title={Applicative Caching} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=8 ,number=1 ,month=Jan ,year=1986 ,pages={88-108} } @techreport{guzm87a ,key={guzman} ,author={Guzm\'an, J. and Hudak, P.} ,title={Provably Complete Operational Semantics for First-Order Lazy Narrowing} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-525} ,month=Mar ,year=1987 } @techreport{huda87c ,key={hudak} ,author={Hudak, P. and Delosme, J-M. and Ipsen, I.} ,title={ParLance: A Para-Functional Programming Environment for Parallel and Distributed Computing} ,institution={Yale University, Department of Computer Science} ,type={Research Report} ,number={YALEU/DCS/RR-524} ,month=Apr ,year=1987 } @InProceedings{gold87b ,key={goldberg} ,author={Goldberg, B.} ,title={Detecting Sharing of Partial Applications in Functional Programs} ,booktitle={Proc. 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={408-425} } @InProceedings{huda87d ,key={hudak} ,author={Hudak, P. and Anderson, S.} ,title={Pomset Interpretations of Parallel Functional Programs} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={234-256} } @book{abel85 ,key={abelson} ,author={Abelson, H. and Sussman, G.J. and Sussman, J.} ,title={Structure and Interpretation of Computer Programs} ,publisher={The MIT Press (Cambridge, MA) and McGraw-Hill Book Company (New York, NY)} ,year=1985 } @article{mich68 ,key={michie} ,author={Michie, D.} ,title={``{M}emo'' Functions and Machine Learning} ,journal={Nature} ,volume=218 ,month=Apr ,year=1968 ,pages={19-22} } @book{schm86 ,key={schmidt} ,author={Schmidt, D.A.} ,title={Denotational Semantics -- A Methodology for Language Development} ,publisher={Allyn and Bacon} ,address={Boston, Mass.} ,year=1986 } @misc{jone87 ,key={jones} ,author={Jones, Neil D.} ,title={Private communication} ,month=Jun ,year=1987 } @inproceedings{mcca63 ,key={mccarthy} ,author={McCarthy, J.} ,title={A Basis for a Mathematical Theory of Computation} ,booktitle={Computer Programming and Formal Systems} ,editors={Braffort, P. and Hirschberg, D.} ,pages={33-70} ,year=1963 ,publisher={North Holland} ,address={Amsterdam} } @article{RRRRS ,key={rees} ,author={Rees, J. and Clinger (eds.), W.} ,title={The Revised$^3$ Report on the Algorithmic Language {S}cheme} ,journal={SIGPLAN Notices} ,volume=21 ,number=12 ,year=1986 ,month=Dec ,pages={37-79} } @InProceedings{wise87 ,key={wise} ,author={Wise, D.} ,title={Matrix Algebra and Applicative Programming} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={134-153} } @book{peyt87 ,key={peyton jones} ,author={Peyton Jones, Simon L.} ,title={The Implementation of Functional Programming Languages} ,publisher={Prentice-Hall International} ,address={Englewood Cliffs, NJ} ,year=1987 } @InProceedings{augu85 ,key={augustsson} ,author={Augustsson, L.} ,title={Compiling Pattern-Matching} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={368-381} } @InProceedings{huda88a ,key={hudak} ,author={Hudak, P. and Young, J.} ,title={A Collecting Interpretation of Expressions (Without Powerdomains)} ,booktitle={Proceedings of ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1988 ,pages={107-118} } @InProceedings{wadl87b ,key={wadlerhughes} ,author={Wadler, P. and Hughes, R.J.M.} ,title={Projections for Strictness Analysis} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={385-407} } @InProceedings{mart87 ,key={martin} ,author={Martin, C. and Hankin, C.} ,title={Finding Fixed Points in Finite Lattices} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={426-445} } @InProceedings{john85b ,key={johnsson} ,author={Johnsson, T.} ,title={Lambda Lifting: Transforming Programs to Recursive Equations} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={190-203} } @InProceedings{chen86 ,key={chenmarina} ,author={Chen, M.C.} ,title={Transformations of Parallel Programs in Crystal} ,booktitle={Information Processing '86} ,editors={Kugler, H.-J.} ,year=1986 ,publisher={Elsevier Science Publishers B.V. (North-Holland)} ,organization={IFIP} ,pages={455-462} } @InProceedings{fair87 ,key={fairbairn} ,author={Fairbairn, J. and Wray, S.} ,title={TIM: A Simple, Lazy Abstract Machine to Execute Supercombinators} ,booktitle={Proceedings of 1987 Functional Programming Languages and Computer Architecture Conf.} ,publisher={Springer Verlag LNCS 274} ,year=1987 ,month=Sep ,pages={34-45} } @article{hals85 ,key={halstead} ,title={Multilisp: A Language for Concurrent Symbolic Computation} ,author={Halstead Jr., R.H.} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=7 ,number=4 ,month=Oct ,year=1985 ,pages={501-538} } @misc{lisk87 ,key={liskov} ,author={Liskov, B.} ,title={Private communication} ,month=Oct ,year=1987 } @article{huda87g ,key={hudak} ,author={Hudak, P.} ,title={Arrays, Non-Determinism, Side-Effects, and Parallelism: A (Pseudo-) Functional Perspective} ,journal={Submitted to CACM} ,year=1987 } @article{huda88c ,key={hudak} ,author={Hudak, P.} ,title={Exploring Para-Functional Programming: {S}eparating the {\em What} from the {\em How}} ,journal={IEEE Software} ,month=Jan ,year=1988 ,volume=5 ,number=1 ,pages={54-61} } @inproceedings{huda86f ,key="hudak" ,author="Hudak, P." ,title="A semantic model of reference counting and its abstraction" ,booktitle="Abstract Interpretation of Declarative Languages" ,editors="Abramsky, S. and Hankin, C." ,pages="45-62" ,year=1987 ,publisher="Ellis Horwood" ,note="(Preliminary version appeared in Proceedings 1986 ACM Conf. on LISP and Functional Programming, August 1986, pp. 351-363)" } @book{miln80 ,key={milner} ,author={Milner, R.} ,title={A Calculus of Communicating Systems} ,publisher={Springer-Verlag, LNCS 92} ,address={Englewood Cliffs, NJ} ,year=1980 } @book{hoar85 ,key={hoare} ,author={Hoare, C.A.R.} ,title={Communicating Sequential Processes} ,publisher={Prentice-Hall International, Series in Computer Science} ,address={Englewood Cliffs, NJ} ,year=1985 } @article{huda88aj ,key={hudak} ,author={Hudak, P. and Young, J.} ,title={Collecting Interpretations of Expressions} ,journal={ACM Transactions on Programming Languages and Systems} ,year=1991 ,volume=13 ,number=2 ,pages={269-290} ,note={Preliminary version appeared in the Proc. 1988 ACM Symposium on Principles of Programming Languages.} } @article{cook85 ,key={cook} ,author={Cook, S.A.} ,title={A Taxonomy of Problems with Fast Parallel Algorithms} ,journal={Information and Control} ,volume=64 ,number={2-22} ,year=1985 } @article{ston71 ,key={stone} ,author={Stone, H.S.} ,title={Parallel Processing with the Perfect Shuffle} ,journal={IEEE Transactions on Computers} ,volume={C-20} ,number=2 ,year=1971 } @article{prep81 ,key={preparata} ,author={Preparata, F.P. and Vuillemin, Jean} ,title={The Cube-connected Cycles: A Versatile Network for Parallel Computation} ,journal={Communications of ACM} ,volume={?} ,number=5 ,year=1981 } @article{hill86 ,key={hill} ,author={Hillis, W.D. and Steel, Jr. G.L.} ,title={Data Parallel Algorithms} ,journal={Communications of ACM} ,number=12 ,volume=29 ,year=1986 } @article{berg87 ,key={berger} ,author={Berger, M.J. and Bokhari, S.H.} ,title={A Partitioning Strategy for Nonuniform Problems on Multiprocessors} ,journal={IEEE Transactions on Computers} ,volume={C-36} ,number=5 ,year=1987 } @article{smit87 ,key={smith} ,author={Smith, D.R.} ,title={Applications of a Strategy for Designing Divide-and-conquer Algorithms} ,journal={Science of Computer Programming} ,number=8 ,year=1987 } @article{hartxx ,key={Hartel} ,author={Hartel, P.H.} ,title={Parallel Graph Reduction for Divide-and-conquer} ,journal={} ,year=1987 } @book{ahu74 ,key={ahu} ,author={Aho and Hopcroft and Ullman} ,title={The Design and Analysis of Computer Algorithms} ,publisher={Addison-wesley Publishing Company} ,year=1974 } @book{ullm84 ,key={ullman} ,author={Ullman, J.D.} ,title={Computational Aspect of VLSI} ,publisher={Computer Science Press} ,year=1984 } @book{mead80 ,key={mead} ,author={Mead, C. and Conway, L.} ,title={Introduction to VLSI systems} ,pblisher={Addison-wesley Publishing Company} ,year=1980 } @article{ladn80 ,key={ladner} ,author={Ladner, R.E. and Fischer, M.J.} ,title= {Parallel Prefix Computation} ,journal={Journal of the ACM} ,volume=27 ,number=4 ,year=1980 } @article{vali82 ,key={valiant} ,author={Valiant, L.G.} ,title={A Scheme for Fast Parallel Communications} ,journal={SIAM J. Computing} ,volume={?} ,number=2 ,year=1982 } @phdthesis{blossphd ,key={bloss} ,author={Bloss, A.} ,title={Path Analysis: Using Order-of-Evaluation Information to Optimize Lazy Functional Languages} ,school={Yale University, Department of Computer Science} ,year=1988 } @phdthesis{youngphd ,key={young} ,author={Young, J.} ,title={The Semantic Analysis of Functional Programs: Theory and Practice} ,school={Yale University, Department of Computer Science} ,year=1988 } @article{huda88d ,author={Mou, Z.G. and Hudak, P.} ,title={An Algebraic Model for Divide-and-Conquer and its Parallelism} ,journal={Journal of Supercomputing} ,volume=2 ,number=3 ,year=1988 } @InProceedings{gold88a ,key={Goldberg} ,author={Goldberg, B. and Hudak, P.} ,title={Implementing Functional Programs on a Hypercube Multiprocessor} ,booktitle={Proceedings of Third Conf. on Hypercube Concurrent Computers and Applications} ,organization={ACM} ,year=1988 ,month=Jan } @book{hill85 ,key="Hillis" ,author="Hillis, W. D." ,title="The Connection Machine" ,publisher="MIT Press" ,address="Cambridge, Massachusetts" ,year=1985 } @mastersthesis{kusz86 ,key="kuszmaul" ,author="Kuszmaul, B. C." ,title="Simulating Applicative Architectures on the Connection Machine" ,school="M.I.T." ,month=May ,year=1986 } @InProceedings{gron87 ,key={grondalski} ,author={Grondalski, R.} ,title={A VLSI Chip Set for a Massively Parallel Architecture} ,booktitle={IEEE International Solid-State Circuits Conf.} ,organization={IEEE} ,year=1987 ,pages={198-199,399-400} } @InProceedings{hank86 ,key={hankin} ,author={Hankin, C. L. and Burn, G. L. and Peyton Jones, Simon L.} ,title={A Safe Approach to Parallel Combinator Reduction} ,booktitle={European Symposium on Programming (LNCS 213)} ,pages={99-110} ,year=1986 ,publisher={Springer-Verlag} } @Inproceedings{maur85 ,key={maurer} ,author={Maurer, D.} ,title={Strictness Computation Using Generalised $\lambda$-expressions} ,booktitle={Workshop on Programs as Data Objects (LNCS)} ,year=1985 ,publisher={Springer-Verlag} } @techreport{rana88 ,key="Ranade" ,author="Ranade, A. G. and Bhatt, S. N. and Johnsson, S. L." ,title="The Fluent Abstract Machine" ,institution="Yale University, Department of Computer Science" ,month=Jan ,number="YALEU/DCS/RR-573" ,year=1988 } @InProceedings(lem86 ,Key = "Lemaitre" ,Author = "M. Lema\^\i tre and M. Castan and M.-H. Durand and G. Durrieu and B. Lecussan" ,Title = "Mechanisms for Efficient Multiprocessor Combinator Reduction" ,Pages = "113-121" ,Booktitle = "Proceedings~1986 ACM Conf. on Lisp and Functional Programming" ,Organization = "ACM SIGPLAN/SIGACT/SIGART" ,Year = "1986" ,Month = Aug ,Address = "Cambridge, Massachusetts") } @InProceedings(lein87 ,Key = "Leinwand" ,Author = "S. Leinwand and J. Goguen" ,Title = "Architectural Options for the Rewrite Rule Machine" ,Booktitle = "Proceedings~Second International Conf. on Supercomputing" ,Year = "1987" ,Month = May ,Address = "Santa Clara, California") } @article{chee87 ,key={Cheese} ,author={Cheese, A.} ,title={Combinatory Code and a Parallel Packet Based Computational Model} ,journal={SIGPLAN Notices} ,volume=22 ,number=4 ,month=Apr ,year=1987 } @unpublished{lass88 ,key={lasser} ,author={Lasser, C.} ,month=Jan ,year=1988 ,title={Personal communication} } @techreport{huda88f ,key="Hudak" ,author="Hudak, P. and Anderson, S." ,title="{H}askell Solutions to the Language Session Problems at the 1988 {S}alishan {H}igh-{S}peed {C}omputing {C}onference" ,institution="Yale University, Department of Computer Science" ,month=Jan ,number="YALEU/DCS/RR-627" ,year=1988 } @phdthesis{kelseyphd ,key={kelsey} ,author={Kelsey, R.} ,title={Compilation by Program Transformation} ,school={Yale University, Department of Computer Science} ,year=1988 } @phdthesis{kranzphd ,key={kranz} ,author={Kranz, D.} ,title={ORBIT: An Optimizing Compiler For Scheme} ,school={Yale University, Department of Computer Science} ,year=1988 ,note={Available as technical report {YALEU/DCS/RR-632}} } @phdthesis{liphd ,key={li} ,author={Li, K.} ,title={Shared Virtual Memory on Loosely Coupled Multiprocessors} ,school={Yale University, Department of Computer Science} ,year=1986 } @InProceedings{kels89 ,key={kelsey} ,author={Kelsey, R. and Hudak, P.} ,title={Realistic Compilation by Program Transformation} ,booktitle={ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1989 ,pages={181-192} } @techreport{haskell0 ,key="Hudak" ,author="Hudak, P. and Wadler (editors), P." ,title="Report on the Functional Programming Language {H}askell" ,institution="Yale University, Department of Computer Science" ,month=Nov ,number="YALEU/DCS/RR666" ,year=1988 } @InProceedings{huda88g ,Key={hudak} ,Author={Hudak, P. and Mohr, E.} ,Title={Graphinators and the Duality of {SIMD} and {MIMD}} ,Booktitle={Proceedings~1988 ACM Conf. on Lisp and Functional Programming} ,Organization={ACM SIGPLAN/SIGACT/SIGART} ,Year=1988 ,Month=Aug ,Address={Salt Lake City, Utah} ,Pages={224-234} } @InProceedings{gold88b ,Key={goldberg} ,Author={Goldberg, B.} ,Title={Buckwheat: Graph Reduction on a Shared Memory Multiprocessor} ,Booktitle={Proceedings~1988 ACM Conf. on Lisp and Functional Programming} ,Organization={ACM SIGPLAN/SIGACT/SIGART} ,Year=1988 ,Month=Aug ,Address={Salt Lake City, Utah} ,Pages={40-51} } @inproceedings{youn87 ,key={young} ,author={Young, J. and O'Keefe, P.} ,title={Experience with a Type Evaluator} ,booktitle={Proceedings 2nd Workshop on Partial Evaluation} ,month={October} ,year=1987 } @techreport{trak88 ,key="Trakhtenbrot" ,author="Trakhtenbrot, B.A." ,title="Comparing the Church and Turing Approaches: Two Prophetic Messages" ,institution="Eskenasy Institute of Computer Science, Tel-Aviv University" ,month=Apr ,number="98/88" ,year=1988 } @article{vuil74 ,key={vuillemin} ,author={Vuillemin, Jean} ,title= {Correct and Optimal Implementations of Recursion in a Simple Programming Language} ,journal={Journal of Computer and Systems Science} ,volume=9 ,number=3 ,year=1974 } @techreport{wadl85 ,key="Wadler" ,author="Wadler, P. and Miller, Q." ,title="An Introduction to Orwell" ,institution="Programming Research Group, Oxford University" ,year=1985 } @InProceedings{abra86 ,Key={abramsky} ,Author={Abramsky, A.} ,Title={Strictness Analysis and Polymorphic Invariance} ,Booktitle={Proceedings {DIKU} Workshop on Programs as Data Objects} ,Organization={Springer-Verlag {LNCS} 217} ,Year=1986 ,Pages={1-24} } @article{stee75 ,key="Steele" ,author="Steele, G.L. Jr." ,title="Multiprocessing compactifying garbage collection" ,journal="CACM" ,volume=18 ,number=9 ,pages="491-500" ,month=Sep ,year=1975 } @article{wadl76 ,key="Wadler" ,author="Wadler, P.L." ,title="Analysis of an algorithm for real time garbage collection" ,journal="CACM" ,volume=19 ,number=9 ,pages="495-508" ,month=Sep ,year=1976 } @techreport{kell80a ,key="Keller" ,author="Keller, R.M." ,title="Semantics and applications of function graphs" ,institution="Department of Computer Science, University of Utah" ,month=Oct ,number="UUCS-80-112" ,year=1980 } @book{knut73 ,key="Knuth" ,author="Knuth, D.E." ,title="The Art of Computer Programming" ,volume=1 ,publisher="Addison-Wesley Publishing Company" ,address="Reading, Mass." ,year=1973 ,pages="406-451" } @article{hibi80 ,key="Hibino" ,author="Hibino, Y." ,title="A practical parallel garbage collection algorithm and its implementation" ,journal="Sigarch Newsletter" ,volume=8 ,number=3 ,pages="113-120" ,month=May ,year=1980 } @article{bake78 ,key="Baker" ,author="Baker, H.G. Jr." ,title="List processing in real time on a serial computer" ,journal="CACM" ,volume=21 ,number=4 ,pages="280-294" ,month=Apr ,year=1978 } @techreport{mins63 ,key="Minsky" ,author="Minsky, M.L." ,title="A LISP garbage collection algorithm using secondary storage" ,institution="Mass. Institute of Technology, Cambridge, Mass." ,type="AI Memo" ,number=58 ,month=Oct ,year=1963 } @techreport{lieb80 ,key="Lieberman" ,author="Lieberman, H. and Hewitt, C." ,title="A real time garbage collector that can recover temporary storage quickly" ,institution="Mass. Institute of Technology, Cambridge, Mass." ,type="AI Memo" ,number=569 ,month=Apr ,year=1980 } @techreport{denn74 ,key="Dennis" ,author="Dennis, J.B." ,title="On storage management for advanced programming languages" ,institution="Mass. Institute of Technology" ,type="Computation Structures Group Memo" ,number=109 ,month=Oct ,year=1974 } @mastersthesis{nori79 ,key="Nori" ,author="Nori, A.K." ,title="A storage reclamation scheme for applicative multiprocessor system" ,school="Department of Computer Science, University of Utah" ,month=Dec ,year=1979 } @phdthesis{bish77 ,key="Bishop" ,author="Bishop, P." ,title="Computer Systems with a Very Large Address Space and Garbage Collection" ,school="Laboratory for Computer Science, Mass. Institute of Technology" ,month=May ,year=1977 } @article{bobr80 ,key="Bobrow" ,author="Bobrow, D.G." ,title="Managing reentrant structures using reference counts" ,journal="ACM Transactions on Programming Languages and Systems" ,volume=2 ,number=3 ,pages="269-273" ,month=Jul ,year=1980 } @article{deut76 ,key="Deutsch" ,author="Deutsch, L.P. and Bobrow, D.G." ,title="An efficient incremental automatic garbage collector" ,journal="CACM" ,volume=19 ,number=9 ,pages="522-526" ,month=Sep ,year=1976 } @article{morr78 ,key="Morris" ,author="Morris, F.L." ,title="A time- and space-efficient garbage compaction algorithm" ,journal="CACM" ,volume=21 ,number=8 ,pages="662-665" ,month=Aug ,year=1978 } @article{wise79 ,key="Wise" ,author="Wise, D.S." ,title="Morris's garbage compaction algorithm restores reference counts" ,journal="ACM Transactions on Programming Languages and Systems" ,volume=1 ,number=1 ,pages="115-120" ,month=jul ,year=1979 } @article{back78 ,key="Backus" ,author="Backus, J." ,title="Can programming be liberated from the von {N}eumann style? {A} functional style and its algebra of programs" ,journal="CACM" ,volume=21 ,number=8 ,pages="613-641" ,month=Aug ,year=1978 } @book{baas78 ,key="Baase" ,author="Baase, S." ,title="Computer Algorithms: Introduction to Design and Analysis" ,publisher="Addison-Wesley Publishing Company" ,address="Reading, Mass." ,year=1978 } @article{jaya80 ,key="Jayaraman" ,author="Jayaraman, B. and Keller, R.M." ,title="Resource control in a demand-driven data-flow model" ,journal="1980 International Conf. on Parallel Processing" ,pages="118-127" ,month=Aug ,year=1980 } @article{grie77b ,key="Gries" ,author="David Gries" ,title="An exercise in proving parallel programs correct" ,journal="CACM" ,volume=20 ,number=12 ,pages="921-930" ,month=Dec ,year=1977 } @techreport{kung77 ,key="Kung" ,author="Kung, H.T. and Song, W." ,title="An efficient parallel garbage collection system and its correctness proof" ,institution=" Department of Computer Science, Carnegie-Mellon University" ,month=Sep ,year=1977 } @techreport{bake77 ,key="Baker" ,author="Baker, H.G. and Hewitt, C." ,title="The incremental garbage collection of processes" ,institution="Mass. Institute of Technology" ,type="AI Working Paper" ,number=149 ,month=Jul ,year=1977 } @article{cohe81 ,key="Cohen" ,author="Cohen, J." ,title="Garbage collection of linked data structures" ,journal="Computing Surveys" ,volume=13 ,number=3 ,pages="341-367" ,month=Sep ,year=1981 } @phdthesis{alme80 ,key="Almes" ,author="Almes, G.T." ,title="Garbage Collection in an Object-Oriented System" ,school="Carnegie-Mellon University" ,month=Jun ,year=1980 } @article{whit80 ,key="White" ,author="White, J.L." ,title="Address/memory management for a gigantic LISP environment or, GC considered harmful" ,journal="Proc. 1980 LISP Conf." ,pages="119-127" ,month=Jul ,year=1980 } @article{lind74 ,key="Lindstrom" ,author="Lindstrom, G." ,title="Copying list structures using bounded work space" ,journal="CACM" ,volume=17 ,number=4 ,pages="198-202" ,month=April ,year=1974 } @article{grit81 ,key="Grit" ,author="Grit, D.H. and Page, R.L." ,title="Deleting irrelevant tasks in an expression oriented multiprocessor system" ,journal="ACM Transactions on Programming Languages and Systems" ,volume=3 ,number=1 ,pages="49-59" ,month=jan ,year=1981 } @article{clar77 ,key="Clark" ,author="Clark, D.W." ,title="An empirical study of list structure in LISP" ,journal="CACM" ,volume=20 ,number=2 ,pages="78-87" ,month=Feb ,year=1977 } @phdthesis{owic75 ,key="Owicki" ,author="Owicki, S." ,title="Axiomatic Proof Techniques For Parallel Programs" ,school="Cornell University, Department of Computer Science TR 75-251" ,month=Jul ,year=1975 } @techreport{owic80 ,key="Owicki" ,author="Owicki, S. and Lamport, Leslie" ,title="Proving liveness properties of concurrent programs" ,institution="Stanford University/SRI International" ,number="57 (S\&L 1)" ,month=Oct ,year=1980 } @techreport{lamp75 ,key="Lamport" ,author="Lamport, Leslie" ,title="On-the-fly garbage collection: once more with rigor" ,institution=" CA-7508-1611, Massachusetts Computer Associates" ,month=Aug ,year=1975 } @techreport{lamp76 ,key="Lamport" ,author="Lamport, Leslie" ,title="Garbage collection with multiple processors: an exercise in parallelism" ,institution=" CA-7602-2511, Massachusetts Computer Associates" ,month=Feb ,year=1976 } @TechReport{ Halstead78, key="Halstead", author={Halstead, R.H. Jr}, title={Multiple-processor implementations of message-passing systems}, institution={MIT Laboratory for Computer Science}, number={MIT/LCS/TR-198}, month=Jan, year=1978} @TechReport{ Halstead79, Key={Halstead}, Author={Halstead, R.H. Jr.}, Institution={ MIT Laboratory for Computer Science}, Title={Reference tree networks: virtual machine and implementation}, Year={1979}, Number={MIT/LCS/TR-22}} @TechReport{ FriedmanWise78c, key="Friedman", author={Friedman, D.P. and Wise, D.S.}, title={Applicative multiprogramming}, number= 72, institution={Computer Science Department, Indiana University}, month=Dec, year=1978} @inproceedings{mcca67 ,key="McCarthy" ,author="McCarthy,J." ,title="A basis of the mathematical theory of computation" ,booktitle="Programming Systems and Languages" ,editors="Braffort, P. and Hirschberg, D." ,pages="455-480" ,year=1967 ,publisher="McGraw-Hill, New York"} @article{grie77a ,key="Gries" ,author="Gries, D." ,title="On believing programs to be correct" ,journal="CACM" ,volume=20 ,number=1 ,pages="49-50" ,month=Jan ,year=1977 } @phdthesis{mull76 ,key="Muller" ,author="Muller, K.G." ,title="On The Feasibility Of Concurrent Garbage Collection" ,school="Technical Hogeschool Delft" ,month=Mar ,year=1976 } @article{fran78 ,key="Francez" ,author="Francez, N." ,title="An application of a method for the analysis of cyclic programs" ,journal="IEEE Transactions on Software Engineering" ,volume=4 ,number=5 ,pages="371-377" ,month=Sep ,year=1978 } @techreport{huda80 ,key="Hudak" ,author="Hudak, P." ,title="Memory management in applicative language architectures" ,institution="University of Utah" ,type="Department of Computer Science PhD Research Proposal" ,month=Oct ,year=1980 } @techreport{jhon82 ,key="jhon" ,author="Jhon, C.S. and Keller, R." ,title="Analysis of unbounded token-flow graphs and realization of unbounded token-flow graph by bounded token-flow graphs" ,institution="University of Utah" ,type="AMPS Technical Memorandum" ,number=8 ,month=April ,year=1982 } @inproceedings{wadg79 ,key="wadge" ,author="Wadge, W.W." ,title="An extensional treatment of dataflow deadlock" ,editor="Kahn, G." ,booktitle="Semantics of Concurrent Computation" ,pages="285-299" ,year=1979 ,publisher="Springer-Verlag" } @phdthesis{hunt82 ,key="hunt" ,author="Hunt, F." ,title="Applicative updating and provisional computation in functional programmming" ,school="University of Utah" ,month=Aug ,year=1982 } @article{coll60 ,key="Collins" ,author="Collins, G.E." ,title="A method for overlapping and erasure of lists" ,journal="CACM" ,volume=3 ,number=12 ,pages="655-657" ,month=Dec ,year="1960" } @article{coll66 ,key="Collins" ,author="Collins, G.E." ,title="PM, a system for polynomial manipulation" ,journal="CACM" ,volume=9 ,number=8 ,pages="578-589" ,month=Aug ,year=1966 } @article{mcca60 ,key="McCarthy" ,author="McCarthy, J." ,title="Recursive functions of symbolic expressions and their computation by machine, {P}art {I}" ,journal="CACM" ,volume=3 ,number=4 ,pages="184-195" ,month=Apr ,year=1960 } @article{weiz63 ,key="Weizenbaum" ,author="Weizenbaum, J." ,title="Symmetric list processor" ,journal="CACM" ,volume=6 ,number=9 ,pages="524-544" ,month=Sep ,year=1963 } @techreport{huda81a ,key="Hudak" ,author="Hudak, P." ,title="Call-graph reclamation: an alternative storage reclamation scheme" ,institution="Department of Computer Science, University of Utah" ,type="AMPS Technical Memorandum" ,number=4 ,month=Aug ,year=1981 } @InProceedings{davis78a, key={Davis}, author={Davis, A.L.}, title={The architecture and system method of {DDM}-1: a recursively-structured data driven machine}, booktitle={Proceedings Fifth Annual Symposium on Computer Architecture}, year=1978} @InProceedings{Denn74a, key={Dennis}, Author={Dennis, J.B. and Misunas, D.P.}, Title={A preliminary architecture for a basic data-flow processor}, BookTitle={Proc. 2nd Annual Symposium on Computer Architecture}, year={1974}, Organization={ACM, IEEE}, pages={126-132}, date={December 1974}} @Article{Mago79, key={Mago}, author={Mago, G.A.}, volume={8}, number={5}, title={A network of microprocessors to execute reduction languages, Part I}, journal={International Journal of Computer and Information Sciences}, publisher={Plenum Publishing Corp}, Month=Mar, year={1979 revised}, pages={349-385}} @article{rem81 ,key="Rem" ,author="Rem, M." ,title="Associons: a program notation with tuples instead of variables" ,journal="ACM Transactions on Programming Languages and Systems" ,volume=3 ,number=3 ,pages="251-262" ,month=Jul ,year=1981 } @phdthesis{huda82a ,key="Hudak" ,author="Hudak, P." ,title="Object and Task Reclamation in Distributed Applicative Processing Systems" ,school="University of Utah" ,month=Jul ,year=1982 } @techreport{ward74 ,key="Ward" ,author="Ward, S.A." ,title="Functional domains of applicative languages" ,institution="Mass. Institute of Technology" ,type="Project MAC" ,number="TR-136" ,month=Sep ,year=1974 } @TechReport{Hearn74, key={Hearn}, author={Hearn, A.C.}, title={Reduce 2 symbolic mode primer}, type={Utah Symbolic Computation Group, Operating Note}, number={5.1}, institution={University of Utah}, month=October, year={1974}} @article{frie78 ,key="Friedman" ,author="Friedman, D.P. and Wise, D.S." ,title="Aspects of applicative programming for parallel processing" ,journal="IEEE Transactions Computers" ,volume=27 ,number=4 ,pages="289-296" ,month=April ,year=1978 } @article{scho67 ,key="Schorr" ,author="Schorr, H. and Waite, W." ,title="An efficient machine-independent procedure for garbage collection in various list structures" ,journal="CACM" ,volume=10 ,number=8 ,pages="501-506" ,month=Aug ,year=1967 } @article{john80 ,key="Johnson" ,author="Johnson, D. et al." ,title="Automatic partitioning of programs in multiprocessor systems" ,journal="Proceedings Compcon Spring 80" ,pages="175-178" ,month=Feb ,year=1980 } @article{wats82 ,key="Watson" ,author="Watson, I. and Gurd, J.R." ,title="A practical data flow computer" ,journal="Computer" ,volume=15 ,number=2 ,pages="51-57" ,month=Feb ,year=1982 } @InProceedings{ Berk81, Key={Berkling}, Author={K. Berkling}, BookTitle={the Symposium on functional languages and computer architecture}, Organization={Chalmers University of Technology and Goteborg University}, Title={Transformations in a reduction system.}, Year={1981}, Editors={Homstrom, et al.}, Month=Jun, Pages={64-71}} @InProceedings{ Berk75, key={Berkling}, author={K. J. Berkling}, title={Reduction languages for reduction machines}, booktitle={Proceedings 2nd Annual Symposium on Computer Architecture}, organization={IEEE}, pages={133-140}, year={1975}} @article{rumb77 ,key="Rumbaugh" ,author="Rumbaugh J." ,title="A data flow multiprocessor." ,journal="IEEE Transactions on Computers" ,volume="C-26" ,number=2 ,pages="138-146" ,month=Feb ,year=1977 } @techreport{gris82 ,key="Griss" ,author="Griss, M.L. and Morrison, B." ,title="The portable standard LISP users manual" ,institution="University of Utah" ,type="Utah Symbolic Computation Group" ,number="V3" ,month=May ,year=1982 } @article{turn79 ,key="Turner" ,author="Turner, D.A." ,title="A new implementation technique for applicative languages" ,journal="Software --- Practice and Experience" ,volume=9 ,pages="31-49" ,year=1979 } @article{turn79b ,key={Turner} ,author={Turner, D.A.} ,title={Another algorithm for bracket abstraction} ,journal={The Journal of Symbolic Logic} ,volume=44 ,number=2 ,month=Jun ,year=1979 ,pages={267-270} } @article{abda76 ,key={abdali} ,author={Abdali, S.K.} ,title={An abstraction algorithm for combinatory logic} ,journal={The Journal of Symbolic Logic} ,volume=41 ,number=1 ,month=Mar ,year=1976 ,pages={222-224} } @phdthesis{abda74 ,key={abdali} ,author={Abdali, S.K.} ,title={A Combinatory Logic Model of Programming Languages} ,school={University of Wisconsin} ,year=1974 } @InProceedings{klug80 ,key={kluge} ,author={Kluge, W. and Schlutter, H.} ,booktitle={Proc. International Workshop on High-Level Language Computer Architecture} ,title={An architecture for direct execution of reduction languages} ,year=1980 ,editors={Chu, et al.} ,month=May ,pages={174-180} } @InProceedings{huda82b ,key={Hudak} ,author={Hudak, P. and Keller, R.M.} ,title={Garbage collection and task deletion in distributed applicative processing systems} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={168-178} } @article{huda83b ,key={Hudak} ,author={Hudak, P.} ,title={Decentralized marking of an evolving graph} ,year=1983 ,journal={submitted to TOPLAS} } @techreport{huda83a ,key={hudak} ,author={Hudak, P.} ,title={Distributed Graph Marking} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-268} ,month=Jan ,year=1983 } @InProceedings{huda83c ,key={hudak} ,author={Hudak, P.} ,title={Distributed Task and Memory Management} ,booktitle={Proceedings of Symposium on Principles of Distributed Computing} ,organization={ACM} ,year=1983 ,editors={Lynch, N.A., et al.} ,month=Aug ,pages={277-289} } @InProceedings{hugh82 ,key={hughes} ,author={Hughes, R.J.M.} ,title={Super-combinators: a new implementation method for applicative languages} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={1-10} } @InProceedings{much82 ,key={muchnick} ,author={Muchnick, S.S. and Jones, Neil D.} ,title={A fixed-program machine for combinator expression evaluation} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={11-20} } @InProceedings{peyt82 ,key={peyton} ,author={Peyton Jones, Simon L.} ,title={An investigation of the relative efficiencies of combinators and lambda expressions} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={150-158} } @InProceedings{ross82 ,key={rosser} ,author={Rosser, J.B.} ,title={Highlights of the history of the lambda-calculus} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={216-225} } @InProceedings{hewi80 ,key={hewitt} ,author={Hewitt, C.} ,title={Design of the APIARY for actor systems} ,booktitle={The 1980 LISP Conf.} ,organization={Stanford University} ,year=1980 ,editors={Davis, R.E. and Allen, J.R.} ,month=Aug ,pages={107-118} } @InProceedings{trel80b ,key={treleaven} ,author={Treleaven, P.C. and Mole, L.F.} ,title={A multi-processor reduction machine for user-defined reduction languages} ,booktitle={Proc. 7'th International Symposium on Computer Architecture} ,organization={IEEE} ,year=1980 ,month=May ,pages={121-130} } @book{curr58 ,key={curry} ,author={Curry, H.K. and Feys, R.} ,title={Combinatory Logic} ,publisher={Noth-Holland Pub. Co.} ,address={Amsterdam} ,year=1958 } @article{scho24 ,key={schonfinkel} ,author={Sch\"{o}nfinkel, M.} ,title={Uber die bausteine der mathematischen logik} ,journal={Mathematische Annalen} ,volume=92 ,year=1924 ,pages={305} } @article{lmi82 ,key={lmi} ,author={LISP Machine, Inc.} ,title={LMI introduces lambda: the next generation LISP machine} ,journal={LMI Newsletter} ,volume=2 ,number=1 ,month=Jul ,year=1982 } @inproceedings{rees82 ,key={rees} ,author={Rees, J.A. and Adams, N.I.} ,title={T: a dialect of LISP or, Lambda: the ultimate software tool} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,editors={Park, et al.} ,month=Aug ,pages={114-122} } @techreport{xero82 ,key={xerox} ,author={Xerox} ,title={The Xerox 1100 Smalltalk-80 system} ,institution={Xerox Corp.} ,type={Advertising Literature} ,number={2M 8/82R 3221} ,month=Aug ,year=1982 } @techreport{kell82 ,key={keller} ,author={Keller, R.M.} ,title={FEL programmer's guide} ,institution={University of Utah} ,type={AMPS TR} ,number=7 ,month=Mar ,year=1982 } @techreport{turn76 ,key={turner} ,author={Turner, D.A.} ,title={SASL language manual} ,institution={University of St. Andrews} ,year=1976 } @article{demi82 ,key={deminet} ,author={Deminet, J.} ,title={Experience with multiprocessor algorithms} ,journal={IEEE Transactions on Computers} ,volume={C-41} ,number=4 ,month=Apr ,year=1982 ,pages={278-287} } @article{misr82a ,key={misra} ,author={Misra, J. and Chandy, K.M.} ,title={A distributed graph algorithm: knot detection} ,journal={ACM Transactions Programming Languages Syst.} ,volume=4 ,number=4 ,month=Oct ,year=1982 ,pages={678-686} } @article{chand82a ,key={chandy} ,author={Chandy, K.M. and Misra, J.} ,title={Distributed computation on graphs: shortest path algorithms} ,journal={CACM} ,volume=25 ,number=11 ,month=Nov ,year=1982 ,pages={833-837} } @article{dijk80 ,key={dijkstra} ,author={Dijkstra, E.W. and Scholten, C.S.} ,title={Termination detection for diffusing computations} ,journal={Information Processing Letters} ,volume=11 ,number=1 ,month=Aug ,year=1980 ,pages={1-4} } @phdthesis{chanxx ,key={chang} ,author={Chang, E.} ,title={} ,school={University of Waterloo} ,month={} ,year={} } @techreport{chanyy ,key={chang} ,author={Chang, E.} ,title={Decentralized deadlock detection in distributed systems} ,institution={University of Victoria, Victoria, B.C., Canada} ,year=1978 } @InProceedings{kenna82 ,key={kennaway} ,author={Kennaway, J.R. and Sleep, M.R.} ,title={Expressions as Processes} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,month=Aug ,pages={21-28} } @InProceedings{lisk82 ,key={liskov} ,author={Liskov, B. and Scheifler, R.} ,title={Guardians and Actions: Linguistic Support for Robust, Distributed Programs} ,booktitle={9th ACM Symposium on Principles of Programming Lan.} ,organization={ACM} ,year=1982 ,month=Jan ,pages={7-19} } @InProceedings{broy81 ,key={broy} ,author={Broy, Manfred} ,title={A fixed point approach to applicative multi-programming} ,booktitle={Lecture Notes} ,organization={International Summer School on Theoretical Foundations of Programming Methodology} ,year=1981 ,annote={Considers both fixed point and operational semantics for a form of parallelism in a simple nondeterministic applicative programming language. The operational semantics are given by a system of term rewriting rules based on a dataflow semantics. The fixed point semantics is based on multi-domains.} } @article{cons79 ,key={constable} ,author={Constable, R.L. and Donohue, J.E.} ,title={A hierarchical approach to formal semantics with application to the definition of PL/CS} ,journal={TOPLAS} ,volume=1 ,number=1 ,month=Jul ,year=1979 ,pages={98-114} } @inproceedings{kell78 ,key={keller} ,author={Keller, R.M.} ,title={Denotational models for parallel programs with indeterminate operators} ,booktitle={Formal Descriptions of Programming Concepts} ,editors={Neuhold, E.J.} ,pages={337-336} ,year=1978 ,publisher={North-Holland} ,annote={Discusses various models for indeterminate operators in FGL.} } @InProceedings{kosi78 ,key={kosinski} ,author={Kosinski, P.R.} ,title={A straightfprward denotational semantics for non-determinate data flow programs} ,booktitle={Fifth Annual Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1978 ,month=Jan ,pages={214-221} } @techreport{moss79 ,key={mosses} ,author={Mosses, P.D.} ,title={SIS -- Semantics implementation system: Reference manual and user guide} ,institution={University of Aarhus} ,type={Department of Computer Science} ,number={DAIMI MD-30} ,year=1979 ,annote={Guide to best known implementation system driven by den. sem.} } @techreport{mycr81 ,key={mycroft} ,author={Mycroft, A.} ,title={Call-by-need = call-by-value + conditional} ,institution={University of Edinburugh} ,type={Draft, Department of Computer Science} ,year=1981 } @InProceedings{pola81 ,key={polak} ,author={Polak, W.} ,title={Program verification based on denotational semantics} ,booktitle={8th Annual Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1981 ,month=Jan ,pages={149-158} } @techreport{sche78 ,key={scheifler} ,author={Scheifler, R.W.} ,title={A denotational semantics for CLU} ,institution={MIT} ,type={LCS} ,number={TR-201} ,month=May ,year=1978 } @inproceedings{schw79 ,key={schwarz} ,author={Schwarz, J.S.} ,title={Denotational semantics of parallelism} ,booktitle={Semantics of Concurrent Computation -- LNCS 70} ,editors={Kahn, G.} ,pages={191-202} ,year=1979 ,publisher={Springer-Verlag} } @article{scot76 ,key={Scott} ,author={Scott, D.S.} ,title={Data Types as Lattices} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={522-587} ,annote={Gospel from the prophet.} } @techreport{scot81 ,key={scott} ,author={Scott, D.S.} ,title={Lecture Notes on a Mathematical Theory of Computation} ,institution={Oxford University} ,type={Programming Research Group} ,number={PRG-19} ,month=May ,year=1981 ,annote={From 1980 lectures. A treatment of the foundations for denotational semantics, based on neighborhood systems.} } @techreport{scot70 ,key={scott} ,author={Scott, D.S.} ,title={Outline of a Mathematical Theory of Computation} ,institution={Oxford University} ,type={Programming Research Group} ,number={PRG-2} ,month=Nov ,year=1970 ,annote={Early domain theory. I have one other article by Scott written when he was at Princeton, called "Lattice Theory, Data Types and Semantics". I don't know where I got it from.} } @techreport{seth81 ,key={sethi} ,author={Sethi, R.} ,title={Control flow aspects of semantics directed compiling} ,institution={Bell Labs} ,type={CS Technical Report} ,number=98 ,month=Sep ,year=1981 } @article{wads76 ,key={wadsworth} ,author={Wadsworth, C.P.} ,title={The relation between computational and denotational properties for Scott's models of the lambda-calculus} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={488-521} } @article{ashc76 ,key={ashcroft} ,author={Ashcroft, E.A. and Wadge, W.W.} ,title={Lucid -- A formal system for writing and proving programs} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={336-354} } @article{plot76 ,key={plotkin} ,author={Gordon D. Plotkin} ,title={A powerdomain construction} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={452-487} ,annote={Hard to read.} } @article{mann76 ,key={manna} ,author={Manna, Z. and Shamir, A.} ,title={The theoretical aspects of the optimal fixpoint} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={414-426} } @article{down78 ,key={downey} ,author={Downey, P.J. and Sethi, R.} ,title={Correct computation rules for recursive languages} ,journal={SIAM Journal of Computing} ,volume=5 ,number=3 ,month=Sep ,year=1976 ,pages={378-401} } @article{milner79 ,key={milner} ,author={Milner, R.} ,title={Flowgraphs and flow algebras} ,journal={JACM} ,volume=26 ,number=4 ,month=oct ,year=1979 ,pages={794-818} ,annote={Companion paper to "Concurrent processes and their syntax". Uses category theory and free algebras to give semantics to process nets.} } @article{milne79 ,key={milne} ,author={Milne, G. and Milner, R.} ,title={Concurrent processes and their syntax} ,journal={JACM} ,volume=26 ,number=2 ,month=Apr ,year=1979 ,pages={302-321} } @techreport{mane79 ,key={manes} ,author={Manes, E.G.} ,title={Partially-additive semantics: a progress report} ,institution={University of Mass.} ,type={COINS Technical Report} ,number={79-8} ,month=May ,year=1979 } @techreport{stee81 ,key={steenstrup} ,author={Steenstrup, M. and Arbib, M.A.} ,title={Port automata and the algebra of concurrent processes} ,institution={University of Mass.} ,type={COINS Technical Report} ,number={81-25} ,month=oct ,year=1981 } @inproceedings{smyt76 ,key={smyth} ,author={Smyth, Michael B.} ,title={Powerdomains} ,booktitle={the Mathematical Foundations of Computer Science Symposium} ,pages={537-543}, series = LNCS, volume = 45 ,year=1976 ,publisher={Springer-Verlag} ,annote={Good discussion of powerdomains -- more readable than Plotkin.} } @Article{SmythMB:pow, author = "Michael B. Smyth", title = "Powerdomains", journal = "Journal of Computer and Systems Sciences", year = "1978", pages = "23--36", month = feb, volume = "16", number = "1", } @inproceedings{pnue79 ,key={pnueli} ,author={Pnueli, A.} ,title={The temporal semantics of concurrent programs} ,booktitle={Semantics of Concurrent Computation -- LNCS 70} ,editors={Kahn, G.} ,pages={1-20} ,year=1979 ,publisher={Springer-Verlag} } @inproceedings{frie79 ,key={friedman} ,author={Friedman, D.P. and Wise, D.S.} ,title={An approach to fair applicative multiprogramming} ,booktitle={Semantics of Concurrent Computation -- LNCS 70} ,editors={Kahn, G.} ,pages={203-225} ,year=1979 ,publisher={Springer-Verlag} } @InProceedings{back82 ,key={back} ,author={Back, R.J.R. and Mannila, H.} ,title={A refinement of Kahn's semantics to handle non-determinism and communication} ,booktitle={Proceedings of Symposium on Principles of Distributed Computing} ,organization={ACM} ,year=1982 ,month=Aug ,pages={111-120} } @InProceedings{milner82 ,key={milner} ,author={Milner, R.} ,title={Four Combinators for Concurrency} ,booktitle={Proceedings of Symposium on Principles of Distributed Computing} ,organization={ACM} ,year=1982 ,month=Aug ,pages={104-110} } @InProceedings{clin82 ,key={clinger} ,author={Clinger, W.} ,title={Nondeterministic call by need is neither lazy nor by name} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,month=Aug ,pages={226-234} } @InProceedings{macq82 ,key={macqueen} ,author={MacQueen, D.B. and Sethi, R.} ,title={A semantic model of types for applicative languages} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,month=Aug ,pages={243-252} } @InProceedings{cart82 ,key={cartwright} ,author={Cartwright, R. and Donahue, J.} ,title={The semantics of lazy (and industrious) evaluation} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,month=Aug ,pages={253-264} } @techreport{backus72 ,key={backus} ,author={Backus, J.} ,title={Reduction languages and variable-free programming} ,institution={IBM Research} ,number={RJ 1010} ,month=Apr ,year=1972 } @InProceedings{backus82 ,key={backus} ,author={Backus, J.} ,title={Function level programs as mathematical objects} ,booktitle={Proceedings 1982 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1982 ,month=Aug ,pages={1-10} } @InProceedings{wand82 ,key={wand} ,author={Wand, M.} ,title={Semantics-directed machine architecture} ,booktitle={9th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1982 ,month=Jan ,pages={234-241} } @InProceedings{wand83 ,key={wand} ,author={Wand, M.} ,title={Loops in combinator-based compilers} ,booktitle={10th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1983 ,month=Jan ,pages={190-196} } @InProceedings{hens82 ,key={henson} ,author={Henson, M.C. and Turner, R.} ,title={Completion semantics and interpreter generation} ,booktitle={9th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1982 ,month=Jan ,pages={242-254} } @phdthesis{clin81 ,key={clinger} ,author={Clinger, W.D.} ,title={Foundations of Actor Semantics} ,school={MIT} ,month=May ,year=1981 } @phdthesis{smit82 ,key={smith} ,author={Smith, B.C.} ,title={Reflection and Semantics in a Procedural Language} ,school={MIT} ,month=Jan ,year=1982 } @inproceedings{mann81 ,key={manna} ,author={Manna, Z. and Wolper, P.} ,title={Synthesis of communicating processes from temporal logic specifications} ,booktitle={Workshop on Logics of Programs -- LNCS} ,pages={1-28?} ,year=1981 ,publisher={Springer-Verlag} } @techreport{puru82 ,key={purushothaman} ,author={Purushothaman, S. and Subrahmanyam, P.A.} ,title={Modelling of call-by-need and stream primitives using CCS} ,institution={University of Utah} ,type={unpublished manuscript} ,month=Jun ,year=1982 } @article{raou80 ,key={raoult} ,author={Raoult, Jean-Claude and Vuillemin, Jean} ,title={Operational and semantic equivalence between recursive programs} ,journal={JACM} ,volume=27 ,number=4 ,month=Oct ,year=1980 ,pages={772-796} } @article{arbi82 ,key={arbib} ,author={Arbib, M.A. and Manes, E.G.} ,title={The pattern-of-calls expansion is the canonical fixpoint for recursive definitions} ,journal={JACM} ,volume=29 ,number=2 ,month=Apr ,year=1982 ,pages={577-602} } @article{meye82 ,key={meyer} ,author={Meyer, A.R. and Halpern, J.Y.} ,title={Axiomatic definitions of programming languages: a theoretical assessment} ,journal={JACM} ,volume=29 ,number=2 ,month=Apr ,year=1982 ,pages={555-576} } @article{ashc82 ,key={ashcroft} ,author={Ashcroft, E.A. and Wadge, W.W.} ,title={Rx for semantics} ,journal={TOPLAS} ,volume=4 ,number=2 ,month=Apr ,year=1982 ,pages={283-294} } @article{hoar69 ,key={hoare} ,author={Hoare, C.A.R.} ,title={An axiomatic basis for computer programming} ,journal={CACM} ,volume=12 ,month=Dec ,year=1969 ,pages={576-580} ,annote={Established the standard for the axiomatic verification method} } @article{smyt82 ,key={smyth} ,author={Smyth, M.B. and Plotkin, G.D.} ,title={The category-theoretic solution of recursive domain equations} ,journal={SIAM Journal of Computing} ,volume=11 ,number=4 ,month=Nov ,year=1982 ,pages={761-783} ,annote={Anyone who can adequately explain to me the contents of this paper gets an automatic honors...} } @book{stoy77 ,key={stoy} ,author={Stoy, J.E.} ,title={Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory} ,publisher={The MIT Press} ,address={Cambridge, Mass.} ,year=1977 } @book{gord79 ,key={gordon} ,author={Gordon, J.C.} ,title={The Denotational Description of Programming Languages} ,publisher={Springer-Verlag} ,address={New York} ,year=1979 } @techreport{davi78 ,key={davis} ,author={Davis, A.L.} ,title={Data driven nets: a maximally concurrent, procedural, parallel pocess representation for distributed control systems} ,institution={University of Utah} ,number={UUCS-78-108} ,month=Jul ,year=1978 } @techreport{davi77 ,key={davis} ,author={Davis, A.L.} ,title={The architecture of DDM1: a recursively structured data driven machine} ,institution={University of Utah} ,number={UUCS-77-113} ,month=Oct ,year=1977 } @techreport{acke79 ,key={ackerman} ,author={Ackerman, W.B. and Dennis, J.B} ,title={VAL -- a value-oriented algorithmic language preliminary reference manual} ,institution={MIT} ,type={Laboratory for Computer Science} ,number={MIT/LCS/TR-218} ,month=Jun ,year=1979 } @techreport{arvi80 ,key={arvind} ,author={Arvind} ,title={I-structures: an efficient data type for functional languages} ,institution={MIT} ,type={Technical Memo} ,number={MIT/LCS/TM-210} ,month=Sep ,year=1980 } @article{mcgr82 ,key={mcgraw} ,author={Mcgraw, J.R.} ,title={The {VAL} language: description and analysis} ,journal={TOPLAS} ,volume=4 ,number=1 ,month=Jan ,year=1982 ,pages={44-82} } @techreport{lind82 ,key={lindstrom} ,author={Lindstrom, G. and Hunt, F.E.} ,title={Consistency and concurrency in functional databases} ,institution={University of Utah} ,type={Draft} ,month=Feb ,year=1982 } @techreport{lind81 ,key={lindstrom} ,author={Lindstrom, G. and Wagner, R.} ,title={Incremental recomputation on data-flow graphs} ,institution={University of Utah} ,type={Draft} ,month=Apr ,year=1981 } @InProceedings{bic81 ,key={bic} ,author={Bic, L. and Herendeen, M.} ,title={An architecture for a relational dataflow database} ,booktitle={some acm proceedings...} ,organization={ACM} ,year=1981 ,month={} ,pages={136-145} } @InProceedings{ Arvi77, key={Arvind}, author={Arvind and Gostelow, K.P.}, title={A computer capable of exchanging processors for time}, booktitle={Proceedings IFIP Congress}, Pages={849-853}, month=Jun, year= 1977} @article{gost80 ,key={gostelow} ,author={Gostelow, K.P and Thomas, R.L.} ,title={Performance of a simulated dataflow computer} ,journal={IEEE Transactions on Computers} ,volume={C-29} ,number=10 ,month=Oct ,year=1980 ,pages={905-919} } @techreport{arvi81 ,key={arvind} ,author={Arvind and Pingali, K.} ,title={Safe data driven evaluation} ,institution={MIT} ,type={Draft} ,month=May ,year=1981 ,annote={This was published somewhere...} } @InProceedings{darl81 ,key={darlington} ,author={Darlington, J. and Reeve, M.} ,title={ALICE: a multi-processor reduction machine for the parallel evaluation of applicative languages} ,booktitle={Functional Programming Languages and Computer Architecture} ,organization={ACM} ,year=1981 ,month=Oct ,pages={65-76} } @InProceedings{catt81 ,key={catto} ,author={Catto, A.J. and Gurd, J.R} ,title={Resource management in dataflow} ,booktitle={Functional Programming Languages and Computer Architecture} ,organization={ACM} ,year=1981 ,month=Oct ,pages={65-76} } @article{acke82 ,key={ackerman} ,author={Ackerman, W.B.} ,title={Data flow languages} ,journal={Computer} ,volume=15 ,number=2 ,month=Feb ,year=1982 ,pages={15-25} } @article{davi82 ,key={davis} ,author={Davis, A.L. and Keller, R.M.} ,title={Data flow program graphs} ,journal={Computer} ,volume=15 ,number=2 ,month=Feb ,year=1982 ,pages={26-41} } @article{arvi82 ,key={Arvind} ,author={Arvind and Gostelow, K.P.} ,title={The {U}-interpreter} ,journal={Computer} ,volume=15 ,number=2 ,month=Feb ,year=1982 ,pages={42-50} } @InProceedings{burk82 ,key={burkowski} ,author={Burkowski, F.J.} ,title={Instruction set design issues relating to a static dataflow computer} ,booktitle={Proceedings 9th Symposium Computer Architecture} ,organization={ACM -- SIGARCH} ,year=1982 ,month=Apr ,pages={101-111} } @InProceedings{homm82 ,key={hommes} ,author={Hommes, F.} ,title={The heap-substitution concept -- an implementation of functional operations on data structures for a reduction machine} ,booktitle={Proceedings 9th Symposium Computer Architecture} ,organization={ACM -- SIGARCH} ,year=1982 ,month=Apr ,pages={248-258} } @InProceedings{arvi81b ,key={arvind} ,author={Arvind and Kathail, V.} ,title={A multiple processor data flow machine that supports generalized procedures} ,booktitle={Proceedings 8th Annual Symposium Computer Architecture} ,organization={ACM SIGARCH 9(3)} ,year=1981 ,month=May ,pages={291-302} } @InProceedings{srin81 ,key={srini} ,author={Srini, V.P.} ,title={An architecture for extended abstract data flow} ,booktitle={Proceedings 8th Annual Symposium Computer Architecture} ,organization={ACM -- SIGARCH 9(3)} ,year=1981 ,month=May ,pages={303-326} } @InProceedings{burk81 ,key={burkowski} ,author={Burkowski, F.J.} ,title={A mult-user data flow architecture} ,booktitle={Proceedings 8th Annual Symposium Computer Architecture} ,organization={ACM -- SIGARCH 9(3)} ,year=1981 ,month=May ,pages={327-340} } @book{feig83 ,key={Feigenbaum} ,author={Feigenbaum, E.A. and McCorduck, P.} ,title={The Fifth Generation} ,publisher={Addison-Wesley Publishing Company} ,address={Reading, MA} ,year=1983 } @techreport{fish82 ,key={fisher} ,author={Fisher, J.A.} ,title={Very Long Word Architectures} ,institution={Yale University} ,number={YALEU/DCS/RR-253} ,month=Dec ,year=1982 } @article{budn71 ,key={budnick} ,author={Budnick, P and Kuck, D.J.} ,title={The organization and use of parallel memories} ,journal={IEEE Transactions on Computers} ,volume={C-20} ,number={} ,month={} ,year=1971 ,pages={} } @article{linc83 ,key={lincoln} ,author={Lincoln, N.R.} ,title={Supercomputers = colossal computations + enormous expectations + renowned risk} ,journal={IEEE Computer} ,volume=16 ,number=5 ,month=May ,year=1983 ,pages={38-47} } @book{hend80 ,key={Henderson} ,author={Henderson, P.} ,title={Functional Programming: Application and Implementation} ,publisher={Prentice-Hall} ,address={Englewood Cliffs, NJ} ,year=1980 } @inproceedings{robi82 ,key={robinson} ,author={Robinson, J.A.} ,title={Fundamentals of machine-oriented deductive logic} ,booktitle={Introductory Readings in Expert Systems} ,editors={Michie, D.} ,pages={81-92} ,year=1982 ,publisher={Gordon and Breach} } @inproceedings{bram82 ,key={bramer} ,author={Bramer, M.A.} ,title={A survey and critical review of expert systems research} ,booktitle={Introductory Readings in Expert Systems} ,editors={Michie, D.} ,pages={3-30} ,year= 1982 ,publisher={Gordon and Breach} } @inproceedings{quin82 ,key={quinlan} ,author={Quinlan, J.R.} ,title={Fundamentals of the knowledge engineering problem} ,booktitle={Introductory Readings in Expert Systems} ,editors={Michie, D.} ,pages={33-46} ,year= 1982 ,publisher={Gordon and Breach} } @inproceedings{clar82 ,key={clark} ,author={Clark, K.L.} ,title={An introduction to logic programming} ,booktitle={Introductory Readings in Expert Systems} ,editors={Michie, D.} ,pages={93-112} ,year= 1982 ,publisher={Gordon and Breach} } @book{wins79 ,key={winston} ,author={Winston, P.H.} ,title={Artificial Intelligence} ,publisher={Addison-Wesley Publishing Co.} ,address={Don Mills, Ontario, Canada} ,year= 1979 } @article{wood83 ,key={woods} ,author={Woods, W.A.} ,title={What's important about knowledge representation?} ,journal={Computer} ,volume=16 ,number=10 ,month= Oct ,year=1983 ,pages={22-29} } @article{scha80 ,key={schank} ,author={Schank, R.C.} ,title={Language and memory} ,journal={Cognitive Science} ,volume= 4 ,number= 3 ,month={Jul-Sep} ,year= 1980 ,pages={243-284} } @article{brac83 ,key={brachman} ,author={Brachman, R.J.} ,title={What is-a is and isn't: an analysis of taxonomic links in semantic networks} ,journal={Computer} ,volume=16 ,number=10 ,month= Oct ,year= 1983 ,pages={30-36} } @article{isra83 ,key={israel} ,author={Israel, D.J.} ,title={The role of logic in knowledge representation} ,journal={Computer} ,volume=16 ,number=10 ,month= Oct ,year= 1983 ,pages={37-41} } @article{dahl83 ,key={dahl} ,author={Dahl,V.} ,title={Logic programming as a representation of knowledge} ,journal={Computer} ,volume=16 ,number=10 ,month= Oct ,year=1983 ,pages={106-111} } @article{robi65 ,key={robinson} ,author={Robinson, A.} ,title={A machine-oriented logic based on the resolution principle} ,journal={JACM} ,volume= 12 ,year= 1965 ,pages={23-41} } @techreport{mins74 ,key={minsky} ,author={Minsky, M.} ,title={A framework for representing knowledge} ,institution={MIT} ,type={AI Memo} ,number=306 ,month=Jun ,year=1974 } @InProceedings{scha75 ,key={schank,abelson} ,author={Schank, R. and Abelson, R.} ,title={Scripts, plans and knowledge} ,booktitle={Proceedings International Joint Conf. AI} ,organization={AI} ,year= 1975 ,pages={151-157} } @article{nau83 ,key={nau} ,author={Nau, D.} ,title={Expert computer systems} ,journal={Computer} ,volume=16 ,number=2 ,month=Feb ,year=1983 ,pages={63-68} } @book{fahl79 ,key={fahlman} ,author={Fahlman, S.} ,title={NETL: A System for Representing and Using Real-World Knowlege} ,publisher={MIT Press} ,address={Cambridge, MA} ,year=1979 } @InProceedings{schm81 ,key={schmolze,brachman} ,author={Schmolze, J. and Brachman, R.} ,title={Summary of the KL-one language} ,booktitle={Proceedings 1981 KL-ONE Workshop,FLAIR tech-report 4} ,organization={Fairchild Laboratory for AI Research} ,year=1982 ,pages={231-257} } @InProceedings{moor82 ,key={moore} ,author={Moore, R.C.} ,title={The role of logic in knowledge representation and commonsense reasoning} ,booktitle={Proceedings Nat'l Conf. Artificial Intelligence} ,organization={American Association for Artificial Intelligence} ,year=1982 ,month= Aug ,pages={428-433} } @InProceedings{rich82 ,key={rich} ,author={Rich, C.} ,title={Knowledge representation languages and predicate calculus: How to have your cake and eat it too} ,booktitle={Proceedings AAAI} ,organization={AAAI} ,year=1982 ,pages={192-196} } @article{trel82b ,key={treleaven,lima} ,author={Treleaven, P. and Lima, I.} ,title={Japan's fifth-generation computer systems} ,journal={Computer} ,volume=15 ,number=8 ,month=Aug ,year=1982 ,pages={79-88} } @book{FGCS81 ,key={Moto-oka} ,title={Proceedings International Conf. 5th Generation Computer Systems} ,publisher={Japan Information Processing Development Center} ,author={Moto-oka, T., et al.} ,month=Oct ,year=1981 } @techreport{hill81 ,key={Hillis} ,author={Hillis, W.D.} ,title={The Connection Machine} ,institution={MIT} ,number={AI-Memo 646} ,month=Sep ,year=1981 } @techreport{shap83 ,key={Shapiro} ,author={Shapiro, E.Y.} ,title={A Subset of Concurrent Prolog and its Interpreter} ,institution={Weizmann Institute of Science} ,month=Jan ,year=1983 } @book{barr81 ,key={barr} ,title={The Handbook of Artificial Intelligence} ,publisher={HeurisTech Press} ,author={Barr, A. and Feigenbaum, E.A.} ,volume=1 ,year=1981 } @InProceedings{fahl83 ,key={fahlman} ,author={Fahlman, S.E. and Hinton, G.E.} ,title={Massively Parallel Architectures for AI: NETL, Thistle, and Boltzmann Machines} ,booktitle={Proceedings AAAI} ,organization={AAAI} ,year=1983 ,pages={109-113} } @techreport{rabbit ,key={Steele} ,author={Steele, G.L. Jr.} ,title={RABBIT: a compiler for SCHEME} ,institution={MIT} ,month=May ,number=474 ,type={AI Memo} ,year=1978 } @techreport{stee78 ,key={Steele} ,author={Steele, G.L. Jr. and Sussman, G.J.} ,title={The Revised Report on Scheme} ,institution={MIT} ,month=Jan ,number=452 ,type={AI Memo} ,year=1978 } @book{dragon ,key={Aho} ,title={Principles of Compiler Design} ,publisher={Addison-Wesley} ,author={Aho, A.V. and Ullman, J.D.} ,year=1977 } @InProceedings{stee77 ,key={steele} ,author={Steele, G.L. Jr.} ,title={Debunking the expensive procedure call myth} ,booktitle={Proceedings ACM National Conf.} ,organization={ACM} ,year=1977 ,pages={153-162} } @InProceedings{mcde80 ,key={mcdermott} ,author={McDermott, D.} ,title={An efficient environment allocation scheme in an interpreter for a lexically-scoped LISP} ,booktitle={The 1980 LISP Conf.} ,organization={Stanford University} ,year=1980 ,editors={Davis, R.E. and Allen, J.R.} ,month=Aug ,pages={154-162} } @article{bobr73 ,key={bobrow} ,author={Bobrow, D.G. and Wegbreit, B.} ,title={A model and stack implementation of multiple environments} ,journal={CACM} ,volume=16 ,number=10 ,month=Oct ,year=1973 ,pages={591-603} } @article{hoff82a ,key={hoffman} ,author={Hoffman, C.M. and O'Donnell, M.J.} ,title={Programming with equations} ,journal={ACM Transactions Programming Languages Systems} ,volume=4 ,number=1 ,month=Jan ,year=1982 ,pages={83-112} } @InProceedings{huda84a ,key={hudak} ,author={Hudak, P. and Kranz, D.} ,title={A combinator-based compiler for a functional language} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={121-132} } @InProceedings{Joua84 ,key={Jouannaud} ,author={Jouannaud, J-P. and Kirchner, H.} ,title={Completion of a set of rules modulo a set of equations} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={83-92} } @InProceedings{shap84 ,key={shapiro} ,author={Shapiro, E.} ,title={Systems programming in concurrent prolog} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={93-105} } @InProceedings{band84 ,key={bandes} ,author={Bandes, R.G.} ,title={Constraining-unification and the programming language Unicorn} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={106-110} } @InProceedings{hoff84 ,key={hoffman} ,author={Hoffman, C.M. and O'Donnell, M.J.} ,title={Implementation of an interpreter for abstract equations} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={111-120} } @InProceedings{subr84a ,key={subrahmanyam} ,author={Subrahmanyam, P.A. and You, J-H.} ,title={Pattern-driven lazy reduction: a unifying evaluation mechanism for functional and logic programs} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={228-234} } @InProceedings{wand84 ,key={wand} ,author={Wand, M.} ,title={A types-as-sets semantics for Milner-style polymorphism} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={158-164} } @InProceedings{mish84 ,key={mishra} ,author={Mishra, P. and Keller, R.M.} ,title={Static inference of properties of functional programs} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={235-244} } @InProceedings{schw84 ,key={schwarz} ,author={Schwarz, J.S. and Rubine, D.} ,title={Treat -- an applicative code generator} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={133-139} } @InProceedings{mitc84 ,key={mitchell} ,author={Mitchell, J.C.} ,title={Coercion and type inference} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={175-185} } @InProceedings{hend76 ,key={henderson} ,author={Henderson and Morris} ,title={A lazy evaluator} ,booktitle={3rd ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1976 ,month=Jan ,pages={95-103} } @inproceedings{frie76 ,key={friedman} ,author={Friedman, D.P. and Wise, D.S.} ,title={CONS should not evaluate its arguments} ,booktitle={Automata, Languages and Programming} ,editors=xx ,pages={257-284} ,year=1976 ,publisher={Edinburgh University Press} } @article{friexx ,key={friedman} ,author={Friedman, D.P. and Wise, D.S.} ,title={Unbounded computational structures} ,journal={Software -- Practice and Experience} ,volume=8 ,number=0 ,month="foobar" ,year="198n" ,pages={407-416} } @article{shal82 ,key={shallit} ,author={Shallit} ,title={Unbounded arrays in APL} ,journal={APL} ,volume=xx ,number=xx ,month=xx ,year=1982 } @article{knut68 ,key={knuth} ,author={Knuth, D.} ,title={Semantics of context-free languages} ,journal={Math Systems Theory} ,volume=2 ,number=2 ,month=Feb ,year=1968 ,pages={127-145} } @article{jali83 ,key={Jalili} ,author={Jalili, F.} ,title={A general linear-time evaluator for attribute grammars} ,journal={SIGPLAN Notices} ,volume=18 ,number=9 ,month=Sep ,year=1983 ,pages={35-44} } @article{raih80 ,key={raiha} ,author={Raiha} ,title={Bibliography on attribute grammars} ,journal={SIGPLAN Notices} ,volume=15 ,number=3 ,month=Mar ,year=1980 } @techreport{hewi76 ,key={hewitt} ,author={Hewitt, C.} ,title={Viewing control structures as patterns of passing messages} ,institution={MIT} ,type={Working Paper} ,number=92 ,month=Apr ,year=1976 } @article{ward80 ,key={ward} ,author={Ward, S.A. and Halstead, R.H.} ,title={A syntactic theory of message passing} ,journal={JACM} ,volume=27 ,number=2 ,month=Apr ,year=1980 ,pages={365-383} } @InProceedings{gele84 ,key={gelernter} ,author={Gelernter, D.} ,title={A note on systems programming in concurrent Prolog} ,booktitle={International Symposium on Logic Programming} ,organization={IEEE} ,year=1984 ,month=Feb ,pages={xx} } @article{kowa79 ,key={kowalski} ,author={Kowalski, R.} ,title={Algorithm = logic + control} ,journal={CACM} ,volume=22 ,number=7 ,month=Jul ,year=1979 ,pages={424-436} } @article{clar77b ,key={clark} ,author={Clark and Tarnlund} ,title={A 1st-order theory of data and programs} ,journal={IFIP} ,volume=xx ,number=xx ,year=1977 } @book{cloc81 ,key={clocksin} ,title={Programming in Prolog} ,publisher={Springer-Verlag} ,author={Clocksin, W.F. and Mellish, C.S.} ,year=1981 } @article{paig82 ,key={paige} ,author={Paige, R. and Koenig, S.} ,title={Finite differencing of computable expressions} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=4 ,number=3 ,year=1982 ,pages={402-454} } @inproceedings{Arsac ,key={arsac} ,author={Arsac} ,title={Transformation of recursive procedures into iterative ones} ,booktitle={Tools and Notions for Program Construction} ,editors=xx ,pages=xx ,year=xx ,publisher=xx } @article{part81 ,key={partsch} ,author={Partsch} ,title={A Comprehensive Survey on Program Transformation Schemes} ,journal={TUM} ,volume=I81 ,number=08 ,year=1981 ,pages=xx } @techreport{huda84b ,key={hudak} ,author={Hudak, P.} ,title={{ALFL} {R}eference {M}anual and {P}rogrammer's {G}uide} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-322, Second Edition} ,month=Oct ,year=1984 } @book{gold83 ,key={goldberg} ,title={Smalltalk-80: The Language and its Implementation} ,publisher={Addison-Wesley} ,author={Goldberg, A. and Robson, D.} ,address={Reading, MA} ,year=1983 } @article{wand82b ,key={wand} ,author={Wand, M.} ,title={Deriving target code as a representation of continuation semantics} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=4 ,number=3 ,month=Jul ,year=1982 ,pages={496-517} } @article{hoff82b ,key={hoffman} ,author={Hoffman, C.M. and O'Donnell, M.J.} ,title={Pattern matching in trees} ,journal={JACM} ,volume=29 ,number=1 ,month=Jan ,year=1982 ,pages={68-95} } @article{down80 ,key={downey} ,author={Downey, P.J. and Sethi, R.} ,title={Variations on the common subexpression problem} ,journal={JACM} ,volume=27 ,number=4 ,month=Oct ,year=1980 ,pages={758-771} } @book{burg75 ,key={burge} ,author={Burge, W.H.} ,title={Recursive Programming Techniques} ,publisher={Addison-Wesley} ,address={Reading, MA} ,year=1975 } @phdthesis{gesc72 ,key={geschke} ,author={Geschke, C.M.} ,title={Global Program Optimizations} ,school={CMU} ,month=Oct ,year=1972 } @InProceedings{huda84c ,key={hudak} ,author={Hudak, P. and Goldberg, B.} ,title={Experiments in diffused combinator reduction} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1984 ,month=Aug ,pages={167-176} } @InProceedings{jone84 ,key={jones} ,author={Jones, Neil D. and Muchnick, S.S.} ,title={A flexible approach to interprocedural data flow analysis and programs with recursive data structures} ,booktitle={9th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1982 ,month=Jan ,pages={66-74} } @article{seth82 ,key={sethi} ,author={Sethi, R.} ,title={Pebble games for studying storage sharing} ,journal={Theoretical Computer Science} ,volume=19 ,number=1 ,month=Jul ,year=1982 ,pages={69-84} } @inproceedings{pipp80 ,key={pippenger} ,author={Pippenger, N.} ,title={Pebbling} ,booktitle={Proceedings 5th IBM Symposium on Mathematical Foundations of Computer Sci.} ,organization={IBM} ,month=May ,year=1980 ,pages={1-19} } @InProceedings{raou84 ,key={raoult} ,author={Raoult, Jean-Claude and Sethi, Ravi} ,title={The global storage needs of a subcomputation} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={148-157} } @techreport{huda84e ,key={hudak} ,author={Hudak, P.} ,title={Distributed Applicative Processing Systems: Project Goals, Motivation and Status Report} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-317} ,month=May ,year=1984 } @article{kell84 ,key={keller} ,author={Keller, R.M. and Lin, F.C.H.} ,title={Simulated performance of a reduction-based multiprocessor} ,journal={IEEE Computer} ,volume=17 ,number=7 ,month=Jul ,year=1984 ,pages={70-82} } @article{kahn84 ,key={Kahn} ,author={Kahn, K.} ,title={Implementation of arrays} ,journal={PROLOG Digest} ,volume=2 ,number=4 ,month=Jan ,year=1984 } @InProceedings{schw78 ,key={schwarz} ,author={Schwarz, J.} ,title={Verifying the safe use of destructive operations in applicative programs} ,booktitle={Program Transformations -- Proc. 3rd International Symposium on Programming} ,editor={Robinet, B.} ,organization={Dunod Informatique} ,year=1978 ,pages={395-411} } @techreport{lamp79 ,key={lamport} ,author={Lamport, Leslie} ,title={@dq"Sometime" is sometimes @dq"not never"} ,institution={SRI International} ,type={Research Report} ,number={CSL-86 #49} ,month=Jan ,year=1979 } @book{mann74 ,key={Manna} ,editor={Manna, Z.} ,title={Mathematical Theory of Computation} ,publisher={McGraw-Hill Book Company} ,address={New York} ,year=1974 ,pages={322-328} } @InProceedings{cous77 ,key={cousot} ,author={Cousot, P. and Cousot, R.} ,title={Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints} ,booktitle={4th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1977 ,pages={238-252} } @InProceedings{cous79 ,key={cousot} ,author={Cousot, P. and Cousot, R.} ,title={Systematic design of program analysis frameworks} ,booktitle={6th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1979 ,pages={269-282} } @InProceedings{huda85a ,key={hudak} ,author={Hudak, P. and Bloss, A.} ,title={The aggregate update problem in functional programming systems} ,booktitle={12th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1985 ,pages={300-314} } @techreport{huda85b ,key={hudak} ,author={Hudak, P. and Smith, L.} ,title={Para-functional programming: a paradigm for programming multiprocessor systems} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-390} ,month=Jun ,year=1985 } @techreport{huda85c ,key={hudak} ,author={Hudak, P. and Young, J.} ,title={A set-theoretic characterization of function strictness in the Lambda Calculus} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-391} ,month=Jun ,year=1985 } @article{huda85d ,key={hudak} ,author={Hudak, P. and Goldberg, B.} ,title={Distributed execution of functional programs using serial combinators} ,journal={IEEE Transactions on Computers} ,volume={C-34} ,number=10 ,month=Oct ,year=1985 ,pages={881-891} ,note={Also appeared in Proceedings of 1985 International Conf. on Parallel Processing, Aug. 1985, pp. 831-839.} } @InProceedings{huda85e ,key={hudak} ,author={Hudak, P. and Goldberg, B.} ,title={Serial combinators: ``optimal'' grains of parallelism} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={382-388} } @phdthesis{mycr81b ,key={mycroft} ,author={Mycroft, A.} ,title={Abstract Interpretation and Optimizing Transformations for Applicative Programs} ,school={University of Edinburgh} ,year=1981 } @InProceedings{mycr80 ,key={Mycroft} ,author={Mycroft, A.} ,title={The theory and practice of transforming call-by-need into call-by-value} ,booktitle={Proceedings of International Symposium on Programming} ,organization={Springer-Verlag LNCS Vol. 83} ,year=1980 ,pages={269-281} } @InProceedings{miln84 ,key={milner} ,author={Milner, R.} ,title={A proposal for {S}tandard {ML}} ,booktitle={Proceedings 1984 ACM Conf. on LISP and Functional Programming} ,organization={ACM} ,year=1984 ,month=Aug ,pages={184-197} } @book{gold83 ,key="goldberg" ,author="Goldberg, A. and Robson, D." ,title="Smalltalk-80: The Language and its Implementation" ,publisher="Addison-Wesley Publishing Company" ,address="Reading, Mass." ,year=1983 } @techreport{john81 ,key={johnsson} ,author={Johnsson, T.} ,title={Detecting when call-by-value can be used instead of call-by-need} ,institution={Chalmers University of Technology, Department of Computer Science} ,type={Laboratory for Programming Methodology Memo} ,number={14} ,month=Oct ,year=1981 } @InProceedings{dama82 ,key={damas} ,author={Damas, Lu\'{\i}s and Milner, Robin} ,title={Principal type schemes for functional languages} ,booktitle={9th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1982 ,month=Aug } @article{burt84 ,key={Burton} ,author={Burton, F.W.} ,title={Annotations to control parallelism and reduction order in the distributed evaluation of functional programs} ,journal={ACM Transactions on Programming Languages and Systems} ,volume=6 ,number=2 ,month=Apr ,year=1984 ,pages={159-174} } @article{beel84 ,key={Beeler} ,author={Beeler, M} ,title={Beyond the baskett benchmark} ,journal={Computer Architecture News} ,volume=19 ,number=3 ,month=Mar ,year=1984 } @InProceedings{smit84 ,key={smith} ,author={Smith, B.C.} ,title={Reflection and semantics in LISP} ,booktitle={11th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1984 ,month=Jan ,pages={121-132} } @InProceedings{frie85 ,key={friedman} ,author={Friedman, D.P. and Haynes, C.T.} ,title={Constraining control} ,booktitle={12th ACM Symposium on Principles of Programming Languages} ,organization={ACM} ,year=1985 ,pages={245-254} } @article{seit85 ,key={seitz} ,author={Seitz, C.L.} ,title={The cosmic cube} ,journal={CACM} ,volume=28 ,number=1 ,month=Jan ,year=1985 } @techreport{shap84b ,key={shapiro} ,author={Shapiro, E.} ,title={Systolic Programming: A Paradigm of Parallel Processing} ,institution={The Weizmann Institute of Science} ,type={Department of Applied Mathematics} ,number={CS84-21} ,month=Aug ,year=1984 } @book{papp80 ,key={Pappert} ,author={Pappert, S.} ,title={Mindstorms: Children, Computers and Powerful Ideas} ,publisher={Basic Books} ,place={New York} ,year=1980 } @book{bare84 ,key={Barendregt} ,author={Barendregt, H.P.} ,title={The lambda calculus: its syntax and semantics} ,publisher={North-Holland} ,place={Amsterdam} ,year=1984 } @techreport{rich85 ,key={richards} ,author={Richards, H. Jr.} ,title={An overview of the Burroughs NORMA} ,institution={Burroughs Austin Research Center} ,month=Jan ,year=1985 } @techreport{huda85g ,key={li} ,author={Li, K. and Hudak, P.} ,title={A new list compaction method} ,institution={Yale University} ,type={Research Report} ,number={YALEU/DCS/RR-362} ,month=Feb ,year=1985 } @InProceedings{kell85 ,key={Keller} ,author={Keller, R.M. and Lindstrom, G.} ,title={Approaching distributed database implementations through functional programming concepts} ,booktitle={International Conf. on Distributed Systems} ,month=May ,year=1985 } @techreport{kieb85 ,key={kieburtz} ,author={Kieburtz, R.B.} ,title={The G-machine: a fast, graph-reduction evaluator} ,institution={Department of Computer Science, Oregon Graduate Center} ,month=Jan ,number="CS/E-85-002" ,year=1985 } @techreport{john85 ,key={Johnsson} ,author={Johnsson, T.} ,title={The G-machine: an abstract machine for graph reduction} ,institution={PMG, Department of Computer Science, Chalmers University of Tech.} ,month=Feb ,year=1985 } @techreport{inte85 ,key={Intel} ,author={Intel Corporation} ,title={iPSC User's Guide -- Preliminary} ,institution={Intel Corporation} ,month=Jul ,year=1985 ,number="175455-001" } @unpublished{meye85 ,key={Meyer} ,author={Meyer, A.R.} ,title={Complexity of program flow-analysis for strictness} ,note={(Unpublished summary)} ,month=Aug ,year=1985} @InProceedings{clac85 ,key={clack} ,author={Clack, C. and Peyton Jones, Simon L.} ,title={Strictness analysis -- a practical approach} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={35-49} } @InProceedings{huda86a ,key={hudak} ,author={Hudak, P. and Young, J.} ,title={Higher-order strictness analysis for untyped lambda calculus} ,booktitle={12th ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1986 ,pages={97-109} } @InProceedings{huda86b ,key={hudak} ,author={Hudak, P. and Smith, L.} ,title={Para-functional programming: a paradigm for programming multiprocessor systems} ,booktitle={12th ACM Symposium on Principles of Programming Languages} ,month=Jan ,year=1986 ,pages={243-254} } @InProceedings{turn85 ,key={turner} ,author={Turner, D.A.} ,title={Miranda: a non-strict functional language with polymorphic types} ,booktitle={Functional Programming Languages and Computer Architecture} ,month=Sep ,year=1985 ,publisher={Springer-Verlag LNCS 201} ,pages={1-16} } @techreport{stee76a ,key={steele} ,author={Steele, G.L. Jr.} ,title={LAMBDA --- the ultimate imperative} ,institution={Massachusetts Institute of Technology} ,type={AI Memo} ,month=Mar ,year=1976 ,number=353 } @techreport{stee76b ,key={steele} ,author={Steele, G.L. Jr.} ,title={LAMBDA --- the ultimate declarative} ,institution={Massachusetts Institute of Technology} ,type={AI Memo} ,month=Nov ,year=1976 ,number=379 } @techreport{stee78 ,key={steele} ,author={Steele, G.L. Jr.} ,title={The art of the interpreter or, the modularity complex (parts zero, one, and two)} ,institution={Massachusetts Institute of Technology} ,type={AI Memo} ,month=May ,year=1978 ,number=453 } @techreport{RRRS ,key={clinger} ,author={{Clinger, W. et al.}} ,title={The Revised Revised Report on Scheme, or An UnCommon Lisp} ,institution={Massachusetts Institute of Technology} ,type={AI Memo} ,month=Aug ,year=1985 ,number=848 } @InProceedings{powe84 ,key={powell} ,author={Powell, M.L.} ,title={A portable optimizing compiler for Modula-2} ,booktitle={Proceedings Symposium on Compiler Construction} ,organization={ACM, SIGPLAN Notices 19(6)} ,month=Jun ,year=1984 ,pages={310-318} } @unpublished{gabr85 ,key={gabriel} ,author={Gabriel, R.} ,year=1985 ,title={(personal communication)} } @unpublished{roza85 ,key={rozas} ,author={Rozas, W.} ,year=1985 ,title={(personal communication)} } @article{szym78 ,key={szymanski} ,author={Szymanski} ,title={Assembling code for machines with span-dependent instructions} ,journal={CACM} ,volume=21 ,number=4 ,month=Apr ,year=1978 ,pages={300-308} } @phdthesis{elli85 ,key={ellis} ,author={Ellis, J.R.} ,title={Bulldog: A Compiler for VLIW Architectures} ,school={Yale University} ,note={Available as Research Report YALEU/DCS/RR-364} ,year=1985 } @InProceedings{huda85f ,key={fasel} ,author={Fasel, J.H. and Hudak, P. and Douglass, R.J. and Michelson, R.} ,title={A distributed implementation of functional program evaluation} ,booktitle={Proceedings of AI-85} ,month=May ,year=1985 } @InProceedings{T00, author = "Walid Taha", title = "A Sound Reduction Semantics for Untyped {CBN} Multi-Stage Computation. {O}r, the Theory of {MetaML} is Non-trivial.", booktitle = {Proc. Workshop on Partial Evaluation and Semantics-Based Program Maniplation {(PEPM)}}, OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = "2000", OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, address = "Boston", OPTorganization = {}, publisher = "ACM Press", OPTnote = {}, OPTannote = {} } @InProceedings{Ong, author = "A. S. Murawski and C.-H. L. Ong", title = "Can safe recursion be interpreted in light logic?", booktitle = "Second International Workshop on Implicit Computational Complexity", year = 200, address = "Santa Barbara", month = jun } @Book{Hodges97, author = "Wilfred Hodges", title = "A Shorter Model Theory", publisher = "Cambridge University Press", year = "1997", } @Book{Nielson92, author = "Hanne Riis Nielson and Flenning Nielson", title = "Semantics with Applications : {A} Formal Introduction", publisher = "John Wiley \& Sons", address = "Chichester", year = "1992", descriptor = "Axiomatische Semantik, Denotationelle Semantik, Miranda, Operationale Semantik, Semantik", annote = "Einfuehrung und Grundlagen der Semantik von Programmiersprachen: operational, denotational und axiomatisch. Anhand einer Miniatursprache (While) werden die drei unterschiedlichen Methoden vorgestellt und verglichen.", } @InCollection{CharityI, author = "J. Robin B. Cockett and Dwight Spencer", title = "Strong Categorical Datatypes {I}", editor = "R. A. G. Seely", booktitle = "Proceedings International Summer Category Theory Meeting, Montr{\'e}al, Qu{\'e}bec, 23--30 June 1991", series = "Canadian Mathematical Society Conf.\ Proceedings", volume = "13", pages = "141--169", publisher = "American Mathematical Society", address = "Providence, RI", year = "1992", url = "ftp://ftp.cpsc.ucalgary.ca/pub/projects/charity/literature/papers_and_reports/dataI.ps.gz", } @Article{CharityII, author = "J. Robin B. Cockett and Dwight Spencer", title = "Strong Categorical Datatypes {II}: {A} Term Logic for Categorical Programming", journal = "Theoretical Computer Science", volume = "139", number = "1--2", pages = "69--113", year = "1995", url = "ftp://ftp.cpsc.ucalgary.ca/pub/projects/charity/literature/papers_and_reports/dataII.ps.gz", } @Book{Okasaki98, key = "Okasaki", author = "Chris Okasaki", title = "Purely Functional Data Structures", publisher = "Cambridge University Press", year = "1998", address = "Cambridge, UK", annote = "Data structures and efficiency analysis for functional programming. Code in ML and Haskell. Many references.", } @Manual{esterel-manual, title = {The {E}sterel v5.21 System Manual}, author = {Gerard Berry and the Esterel Team}, organization = {Centre de Math\'ematiques Appliqu\'ees, Ecole des Mines de Paris and INRIA}, month = {March}, year = {1999}, note = {Available at \fr{http://www.inria.fr/meije/esterel}} } @Article{statecharts, author = {David Harel}, title = {\textsc{Statecharts}: a visual formalism for complex systems}, journal = {Science of Computer Programming}, year = {1987}, volume = {8}, number = {3}, pages = {231--274}, month = {June} } @InProceedings{berry-rtp, author = {Gerard Berry}, title = {Real time programming: {S}pecial purpose or general purpose languages}, booktitle = {IFIP World Computer Congress}, OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = {1989}, address = {San Francisco} } @InProceedings{ComputingForEmbedded, author = "Edward A. Lee", title = "Computing for Embedded Systems", booktitle = "IEEE Instrumentation and Measurement Technology Conf.", year = 2001, address = "Budapest, Hungary" } @InProceedings{WhatsAhead, author = "Edward A. Lee", title = "What's Ahead for Embedded Software?", booktitle = "IEEE Computer", OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = 2000, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, month = sep, OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @Article{Okasaki98b, key = "Okasaki", author = "Chris Okasaki", title = "Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function?", journal = "Journal of Functional Programming", year = "1998", volume = "8", number = "2", month = mar, pages = "195--199", annote = "Parsing combinators for ML. 6 references.", } @InProceedings{craryModules, author = "K. Crary and R. Harper and S. Puri", title = "What is a recursive module?", booktitle = "Programming Language Design and Implementation ({PLDI})", OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = 1999, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTmonth = {}, OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @InProceedings{McSi98, author = "Nicholas McKay and Satnam Singh", title = "Dynamic Specialization of {XC6200} {FPGA}s by Partial Evaluation", editor = "Reiner W. Hartenstein and Andres Keevallik", series = LNCS, volume = 1482, publisher = "Springer-Verlag", booktitle = "International Workshop on Field-Programmable Logic and Applications", year = "1998", pages = "298--307", } @InProceedings{Kieburtz99, author = "Richard Kieburtz", title = "Taming Effects with Monadic Typing", booktitle = "the International Conf. on Functional Programming (ICFP '98)", series = "ACM SIGPLAN Notices", volume = "34(1)", pages = "51--62", month = jun, year = "1999", organization = "ACM", } @Article{EP97, author = "Abbas Edalat and Peter John Potts", title = "A new representation for exact real numbers", journal = "Electronical Notes in Theoretical Computer Science", year = "1997", volume = "6", pages = "14 pp.", note = "Mathematical foundations of programming semantics (Pittsburgh, PA, 1997)", } @Article{Hofmann00a, author = "Martin Hofmann", title = "Programming Languages Capturing Complexity Classes", journal = "SIGACTN: SIGACT News (ACM Special Interest Group on Automata and Computability Theory)", volume = "31", year = "2000", } @PhdThesis{Koen, author = "Koen Claessen", title = "Embedded Languages for Describing and Verifying Hardware", school = "Chalmers", year = 2001, OPTkey = {}, OPTtype = {}, OPTaddress = {}, OPTmonth = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Hawk, author = "John Matthews and Byron Cook and John Launchbury", title = "Microprocessor Specification in {H}awk", booktitle = "Proc. 1998 International Conf. on Computer Languages", publisher = "IEEE Computer Society Press", year = "1998", ISBN = "0-780-35005-7, 0-8186-8454-2, 0-8186-8456-9", pages = "90--101", abstract = "Modern microprocessors require an immense investment of time and effort to create and verify, from the high-level architectural design downwards. We are exploring ways to increase the productivity of design engineers by creating a domain-specific language for specifying and simulating processor architectures. We believe that the structuring principles used in modern functional programming languages, such as static typing, parametric polymorphism, first-class functions, and lazy evaluation provide a good formalism for such a domain-specific language, and have made initial progress by creating a library on top of the functional language Haskell. We have specified the integer subset of an out-of-order, superscalar DLX microprocessor, with register-renaming, a reorder buffer, a global reservation station, multiple execution units, and speculative branch execution. Two key abstractions of this library are the signal abstract data type (ADT), which models the simulation history of a wire, and the transaction ADT, which models the state of an entire instruction as it travels through the microprocessor.", references = "Aagaard, M., and Leeser, M. Reasoning about pipelines with structural hazards. In Second International Conf. on Theorem Provers in Circuit Design (Bad Herrenalb, Germany, Sept. 1994). Barton, D. Advanced modeling features of MHDL. In International Conf. on Electronic Hardware Description Languages (Jan. 1995). Gill, A., Launchbury, J., and Jones, S. P. A short-cut to deforestation. In ACM Conf. on Functional Programming and Computer Architecture (Copenhagen, Denmark, June 1993). Hennessy, J. L., and Patterson, D. A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 1995. Hudak, P., Peterson, J., and Fasel, J. A gentle introduction to Haskell. Available at www.haskell.org, Dec. 1997. Johnson, M. Superscalar Microprocessor Design. Prentice Hall, 1991. Jones, G., and Sheeran, M. Circuit design in Ruby. In Formal Methods for VLSI Design, J. Staunstrup, Ed. North-Holland, 1990. Li, Y., and Leeser, M. HML: An innovative hardware design language and its translation to VHDL. In Conf. on Hardware Design Languages (June 1995). Melham, T. Abstraction mechanisms for hardware verification. In VLSI Specification, Verification and Synthesis, G. Birtwhistle and P. A. Subrahmanyam, Eds. Kluwer Academic Publishers, 1988. O'Donnell, J. From transistors to computer architecture: Teaching functional circuit specification in Hydra. In Symposium on Functional Programming Languages in Education (July 1995). Paulson, L. Isabelle: A Generic Theorem Prover. Springer-Verlag, 1994. Peterson, J., and et al. Report on the programming language Haskell: A non-strict, purely functional language, version 1.4. Available at www.haskell.org, Apr. 1997. Sinderson, E., and et al. Hawk: A hardware specification language, version 1. Available at www.cse.ogi.edu/PacSoft/projects/Hawk/, Oct. 1997. Windley, P., and Coe, M. A correctness model for pipelined microprocessors. In Second International Conf. on Theorem Provers in Circuit Design (Sept. 1994).", annote = "checked", } @Book{Nordstrom90, key = "Bengt Nordstrom and Kent Peterson and Jan M. Smith", author = "Bengt Nordstr{\"o}m and Kent Peterson and Jan M. Smith", title = "Programming in Martin-L{\"o}f's Type Theory: An Introduction", publisher = "Oxford University Press", year = "1990", volume = "7", address = "New York, NY", } @InProceedings{Aehlig00, author = "Klaus Aehlig and Helmut Schwichtenberg", title = "A Syntactical Analysis of Non-Size-Increasing Polynomial Time Computation", pages = "84--94", booktitle = "the Symposium on Logic in Computer Science ({LICS}' 00)", ISBN = "0-7695-0725-5", month = jun, publisher = "IEEE", year = "2000", } @InProceedings{ac:fruit01, author = {Antony Courtney and Conal Elliott}, title = "Genuinely Functional User Interfaces", booktitle = {Proc. Haskell Workshop}, year = 2001, month = {September} } @Article{henderson86ieee, author = "Peter Henderson", title = "Functional Programming, Formal Specification and Rapid Prototyping", journal = "IEEE Transactions on Software Engineering", year = 1986, volume = 12, number = 2, pages = {241--250} } @incollection{ stoy82some, author = "Joseph E. Stoy", title = "Some Mathematical Aspects of Functional Programming", booktitle = "Functional Programming and its Applications", publisher = "Cambridge University Press", editor = "John Darlington and Peter Henderson and David A. Turner", pages = "217--252", year = "1982" } @article{ turner84functional, author = "David A. Turner", title = "Functional Programs as Executable Specifications", journal = "Philosophical Transactions of the Royal Society of London", volume = "A312", pages = "363--388", year = "1984" } @Article{backus:78, author = "John Backus", title = "Can Programming Be Liberated from the von {N}eumann Style? {A} functional Style and Its Algebra of Programs", journal = "Communications of the ACM", year = "1978", volume = "21", number = "8", pages = "613-641" } @PhdThesis{tos94, author = "Healfdene Goguen", title = "A Typed Operational Semantics for Type Theory", school = "University of Edinburgh", year = 1994, OPTkey = {}, OPTtype = {}, OPTaddress = {}, OPTmonth = {}, OPTnote = {}, OPTannote = {} } @Article{Hofmann2000, author = "Martin Hofmann", title = "A Type System for Bounded Space and Functional In-Place Update", journal = "Nordic Journal of Computing", volume = "7", number = "4", month = "Winter", year = "2000", coden = "NJCOFR", ISSN = "1236-6064", bibdate = "Sat Jul 14 11:08:02 MDT 2001", url = "http://www.cs.helsinki.fi/njc/References/hofmann2000:258.html", acknowledgement = ack-nhfb, } @PhdThesis{russoThesis, author = "Claudio Russo", title = "Types for Modules", school = "Edinburgh University", year = 1998, OPTkey = {}, OPTtype = {}, OPTaddress = {}, OPTmonth = {}, OPTnote = {}, OPTannote = {} } @InCollection{Pfenning99handbook, author = "Frank Pfenning", title = "Logical Frameworks", booktitle = "Handbook of Automated Reasoning", publisher = "Elsevier Science Publishers", year = 1999, editor = "Alan Robinson and Andrei Voronkov", volume = {II}, keywords = "LF, Elf, misc" } @Article{Harper93jacm, author = "Robert Harper and Furio Honsell and Gordon Plotkin", title = "A Framework for Defining Logics", journal = "Journal of the Association for Computing Machinery", volume = "40", number = "1", month = jan, year = "1993", pages = "143--184", urldvi = "http://www.cs.cmu.edu/~fp/elf-papers/jacm93.dvi.gz", keywords = "LF" } @InCollection{Basin93le, author = "David A. Basin and Robert L. Constable", title = "Metalogical Frameworks", booktitle = "Logical Environments", publisher = "Cambridge University Press", year = 1993, editor = "G. Huet and G. Plotkin", pages = "1--29", keywords = "misc" } @Book{Paulson94book, author = "Lawrence C. Paulson", title = "Isabelle: A Generic Theorem Prover", publisher = "Springer-Verlag LNCS 828", year = 1994, keywords = "Isabelle" } @article (CHURCH40, key = "Church40" , author = "Alonzo Church" , title = "A Formulation of the Simple Theory of Types" , journal = "Journal of Symbolic Logic" , volume = "5" , year = "1940" , pages = "56--68" , keywords= "hol, fp" ) @InProceedings{appel01lics, author = {Andrew W. Appel}, title = {Foundational Proof-Carrying Code}, booktitle = {16th Annual IEEE Symposium on Logic in Computer Science (LICS '01)}, year = 2001, address = {Boston, USA}, month = {June}, note = {to appear} } @InProceedings{Appel99ccs, author = "Andrew W. Appel and Edward W. Felten", title = "Proof-Carrying Authentication", editor = "G. Tsudik", booktitle = "Proc. 6th Conf. on Computer and Communications Security", year = 1999, publisher = "ACM Press", address = "Singapore", month = nov, note = "To appear", keywords = "LF, Elf" } @PhdThesis{Necula98phd, author = "George C. Necula", title = "Compiling with Proofs", school = "Carnegie Mellon University", year = 1998, month = oct, note = "Available as Technical Report CMU-CS-98-154" } @InProceedings{Necula97popl, author = "George C. Necula", title = "Proof-Carrying Code", booktitle = "Conf. Record of the 24th Symposium on Principles of Programming Languages (POPL'97)", year = 1997, publisher = "ACM Press", address = "Paris, France", month = jan, editor = "Neil D. Jones", pages = "106--119" } @InProceedings{Necula96osdi, author = "George C. Necula and Peter Lee", title = "Safe Kernel Extensions Without Run-Time Checking", booktitle = "Proc. Second Symposium on Operating System Design and Implementation (OSDI'96)", year = 1996, address = "Seattle, Washington", month = oct, pages = "229--243" } @InProceedings{Schurmann01csl, author = {Carsten Sch{\"u}rmann}, title = {Recursion for higher-order encodings}, booktitle = {Proc. Conf. on Computer Science Logic (CSL 2001)}, pages = {585--599}, year = 2001, editor = {Laurent Fribourg}, address = {Paris, France}, month = {August}, publisher = {Springer Verlag LNCS 2142} } @InProceedings{Schurmann01lpar, author = {Carsten Sch{\"u}rmann}, title = {A type-theoretic approach to induction with higher-order encodings}, booktitle = {Proc. Conf. on Logic for Programming, Artificial Intelligence and Reasoning (LPAR 2001)}, year = 2001, address = {Havana, Cuba}, note = {to appear} } @InProceedings{polyp, title = "{PolyP}---a polytypic programming language extension", author = "Patrik Jansson and Johan Jeuring", pages = "470--482", booktitle = "Conf. Record of {POPL}~'97: The 24th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages", month = "15--17 " # jan, year = "1997", address = "Paris, France", references = "\cite{TCS::BohmB1985} \cite{IEEETIT::Cameron1988} \cite{SPE::Contla1985} \cite{POPL::DamasM1982} \cite{IPL::Dershowitz1979} \cite{LICS::Freyd1990} \cite{POPL::HarperM1995} \cite{SCP::Jay1995} \cite{JFP::Jones1995} \cite{SCP::Malcolm1990} \cite{FACS::Meertens1992} \cite{TOPLAS::PalsbergXL1995}", } @PhdThesis{ParikThesis, author = "Patrik Jansson", title = "Functional Polytypic Programming", type = "PhD thesis", school = "Department of Computing Science, Chalmers Univ.\ of Technology and Univ.\ of G{\"o}teborg", month = may, year = "2000", url = "http://www.cs.chalmers.se/~patrikj/poly/polythesis/polythesis.ps.gz", } @InCollection{Gibbons, author = "Jeremy Gibbons", title = "Polytypic Downward Accumulations", editor = "J. Jeuring", booktitle = "Proceedings 4th Int.\ Conf.\ on Mathematics of Program Construction, MPC'98, Marstrand, Sweden, 15--17 June 1998", series = "Lecture Notes in Computer Science", volume = "1422", pages = "207--233", publisher = "Springer-Verlag", address = "Berlin", year = "1998", url = "http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/polyda.ps.gz", } @Article{Hinze, author = "Ralf Hinze", title = "Polytypic Functions over Nested Datatypes", journal = "Discrete Mathematics and Theoretical Computer Science", volume = "3", number = "4", pages = "193--214", year = "1999", url = "http://dmtcs.loria.fr/volumes/ps.gzpapers/dm030407.ps.gz", } @Book{b-book, author = "J.-R. Abrial", title = "The {B}-Book: Assigning Programs to Meanings", publisher = "Cambridge University Press", year = "1996", price = "\pounds 40.00", ISBN = "0-521-49619-5", length = "850", annote = "This book is a reference manual for the B-Method developed by Jean-Raymond Abrial, also the originator of the Z notation. B is designed for tool-assisted software development whereas Z is designed mainly for specification. \par Contents: Mathematical reasoning; Set notation; Mathematical objects; Introduction to abstract machines; Formal definition of abstract machines; Theory of abstract machines; Constructing large abstract machines; Example of abstract machines; Sequencing and loop; Programming examples; Refinement; Constructing large software systems; Example of refinement; \par Appendices: Summary of the most current notations; Syntax; Definitions; Visibility rules; Rules and axioms; Proof obligations.", } @book{vdm, author = "Cliff B. Jones", title = "Systematic Software Development Using {VDM}", publisher = "Pren{\-}tice-Hall", address = "Upper Saddle River, NJ 07458, USA", isbn = "0-13-880733-7", pages = "xiv + 333", year = "1990" } @misc{Z, author = "J. Spivey", title = "A Specification Language and its Formal Semantics", text = "J. M. Spivey, Understanding Z: A Specification Language and its Formal Semantics, Cambridge U. P. (1988).", year = "1988" } @InProceedings{Cierniak00, author = "Michal Cierniak and Guei-Yuan Lueh and James M. Stichnoth", title = "Practicing {JUDO}: Java under dynamic optimizations.", pages = "13--26", booktitle = "Proc. {ACM} {SIGPLAN} 2000 Conf. on Programming Language Design and Implementation ({PLDI}-00)", month = jun # " ~18--21", series = "ACM Sigplan Notices", volume = "35.5", publisher = "ACM Press", address = "N.Y.", year = "2000", } @InProceedings{Cierniak98, author = "Ali-Reza Adl-Tabatabai and Micha{\l} Cierniak and Guei-Yuan Lueh and Vishesh M. Parikh and James M. Stichnoth", title = "Fast, Effective Code Generation in a Just-in-Time {J}ava Compiler", booktitle = "Proc. {ACM} {SIGPLAN}~'98 Conf. on Programming Language Design and Implementation", year = "1998", pages = "280--290", url = "http://www.acm.org/pubs/articles/proceedings/pldi/277650/p280-adl-tabatabai/p280-adl-tabatabai.pdf", genterms = "ALGORITHMS, EXPERIMENTATION, LANGUAGES, PERFORMANCE", categories = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Code generation. D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications, Java. D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Compilers.", annote = "incomplete", } @InProceedings{FORTRANSpec, author = "Robert Gl{\"u}ck and Ryo Nakashige and Robert Z{\"o}chling", year = "1995", title = "Binding-Time Analysis Applied to Mathematical Algorithms", booktitle = "System Modelling and Optimization", editor = "J. Dole\v{z}al and J. Fidler", publisher = "Chapman \& Hall", pages = "137--146", keywords = "partial evaluation, numerical algorithms, scientific computing, Fortran", summary = "This paper shows how a binding-time analysis can be used to identify potential sources for specialization in mathematical algorithms. The method is surprisingly simple and effective. To demonstrate the effectiveness of this approach we used an automatic partial evaluator for Fortran that we developed. Results for five well-known algorithms show that some remarkable speedup factors can be obtained on a uniprocessor architecture (Romberg integration, cubic splines interpolation, partial differential equations, fast Fourier transformation, Chebyshev approximation)", semno = "D-244", puf = "Artikel i proceedings (med censur)", id = "KonR", } @InProceedings{Consel98, author = "Fran{\c{c}}ois No{\"e}l and Luke Hornof and Charles Consel and Julia L. Lawall", title = "Automatic, Template-Based Run-Time Specialization: Implementation and Experimental Study", booktitle = "Proc. 1998 International Conf. on Computer Languages", publisher = "IEEE Computer Society Press", year = "1998", ISBN = "0-780-35005-7, 0-8186-8454-2, 0-8186-8456-9", pages = "132--142", abstract = "Specializing programs with respect to run-time values has been shown to drastically improve code performance on realistic programs ranging from operating systems to graphics. Recently, various approaches to specializing code at run-time have been proposed. However, these approaches still suffer from shortcomings that limit their applicability: they are manual, too expensive, or require programs to be written in a dedicated language. We solve these problems by introducing new techniques to implement run-time specialization. The key to our approach is the use of code templates. Templates are automatically generated from ordinary programs and are optimized before run time, allowing high-quality code to be quickly generated at run time. Experimental results obtained on scientific and graphics code indicate that our approach is highly effective. Little run-time overhead is introduced, since code generation primarily consists of copying instructions. Run-time specialized programs run up to 10~times faster, and are nearly as fast as fully optimized programs (80\% on average). The combination of low run-time overhead and high code quality enables specialization to be amortized in as few as 3~runs. Although this approach is highly effective, its implementation is relatively simple since it exploits existing partial evaluation and compiler technologies.", references = "J. Auslander, M. Philipose, C. Chambers, S.J. Eggers, and B.N. Bershad. Fast, effective dynamic compilation. In PLDI'96 [21], pages 149--159. R. Bernstein. Multiplication by integer constants. Software---Practice and Experience, 16(7):641--652, July 1986. C. Consel, L. Hornof, F. No{\"e}l, J. Noy{\'e}, and E.N. Volanschi. A uniform approach for compile-time and run-time specialization. In O. Danvy, R. Gl{\"u}ck, and P. Thiemann, editors, Partial Evaluation, International Seminar, Dagstuhl Castle, number 1110 in Lecture Notes in Computer Science, pages 54--72, February 1996. C. Consel and F. No{\"e}l. A general approach for run-time specialization and its application to C. In POPL96 [22], pages 145--156. D.R. Engler, W.C. Hsieh, and M.F. Kaashoek. `C: A language for high-level, efficient, and machine-independent dynamic code generation. In POPL96 [22], pages 131--144. C. W. Fraser and D. R. Hanson. A code generation interface for ANSI C. Software---Practice and Experience, 21(9):963--988, 1991. R. Gl{\"u}ck, R. Nakashige, and R. Z{\"o}chling. Binding-time analysis applied to mathematical algorithms. In J. Dole{\v{z}}al and J. Fidler, editors, System Modelling and Optimization, pages 137--146. Chapman \& Hall, 1995. L. Hornof. Static Analyses for the Effective Specialization of Realistic Applications. PhD thesis, Universit{\'e} de Rennes I, June 1997. L. Hornof and J. Noy{\'e}. Accurate binding-time analysis for imperative languages: Flow, context, and return sensitivity. In PEPM'97 [19], pages 63--73. L. Hornof, J. Noy{\'e}, and C. Consel. Effective specialization of realistic programs via use sensitivity. In P. Van Hentenryck, editor, Proc. Fourth International Symposium on Static Analysis, SAS'97, volume 1302 of Lecture Notes in Computer Science, pages 293--314, Paris, France, September 1997. Springer-Verlag. N.D. Jones, Carsten K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. International Series in Computer Science. Prentice-Hall, June 1993. D. Keppel, S. Eggers, and R. Henry. A case for run-time code generation. Technical Report 91-11-04, Department of Computer Science, University of Washington, Seattle, WA, 1991. D. Kincaid and W. Cheney. Numerical Analysis: Mathematics of Scientific Computing. Brooks/Cole, 1991. P. Lee and M. Leone. Optimizing ML with run-time code generation. In PLDI'96 [21], pages 137--148. M. Leone and P. Lee. Lightweight run-time code generation. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, FL, USA, June 1994. Technical Report 94/9, University of Melbourne, Australia. Karoline Malmkj{\ae}r. Abstract Interpretation of Partial-Evaluation Algorithms. PhD thesis, Department of Computing and Information Sciences, Kansas State University, Manhattan, Kansas, March 1993. G. Muller, B. Moura, F. Bellard, and C. Consel. JIT vs. offline compilers: Limits and benefits of byte-code compilation. Rapport de recherche 1063, IRISA, Rennes, France, December 1996. F. No{\"e}l. Sp{\'e}cialisation dynamique de code par {\'e}valuation partielle. PhD thesis, Universit{\'e} de Rennes I, October 1996. ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997. ACM Press. R. Pike, B. N. Locanthi, and J.F. Reiser. Hardware/software trade-offs for bitmap graphics on the blit. Software---Practice and Experience, 15(2):131--151, 1985. Proc. ACM SIGPLAN '96 Conf. on Programming Language Design and Implementation, Philadelphia, PA, May 1996. ACM SIGPLAN Notices, 31(5). Conf. Record of the 23rd Annual ACM SIGPLAN-SIGACT Symposium on Principles Of Programming Languages, St. Petersburg Beach, FL, USA, January 1996. ACM Press. W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical Recipes in FORTRAN The Art of Scientific Computing. Cambridge University Press, Cambridge, 2nd edition, 1993. C. Pu, H. Massalin, and J. Ioannidis. The Synthesis kernel. Computing Systems, 1(1):11--32, Winter 1988. M. Sperber and T. Thiemann. Two for the price of one: Composing partial evaluation and compilation. In Proceedings of the ACM SIGPLAN '97 Conf. on Programming Language Design and Implementation, pages 215--224, Las Vegas, Nevada, June 15--18, 1997. W. Taha and T. Sheard. Multi-state programming with explicit annotations. In PEPM'97 [19], pages 203--217. 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.", annote = "checked", } @InCollection{Erratic, author = "A. K. Moran and D. Sands and M. Carlsson", title = "Erratic {F}udgets: {A} semantic theory for an embedded coordination language", booktitle = "Coordination '99", series = "{LNCS}", volume = "1594", publisher = "Springer-Verlag", year = "1999", month = apr, } @InProceedings{Mins97a, author = "Naftaly Minsky and Victoria Ungureanu", editor = "David Garlan and Daniel Le M{\`e}tayer", title = "Regulated Coordination in Open Distributed Systems", booktitle = "Proceedings COORDINATION'97", series = "LNCS 1282", pages = "81--97", publisher = "Springer-Verlag", address = "Berlin, Germany", month = sep, year = "1997", keywords = "olit coordination97", } @InProceedings{Inve97a, author = "Paola Inverardi and Alexander L. Wolf and Daniel Yankelevich", title = "Checking Assumptions in Component Dynamics at the Architectural Level", booktitle = "Proceedings of COORDINATION'97", series = "LNCS 1282", pages = "46--63", publisher = "Springer-Verlag", month = sep, year = "1997", keywords = "CHAM Coordination", } @InProceedings{BroJac99, author = "A. Brogi and JM. Jacquet", title = "{On the expressiveness of Coordination Models}", booktitle = "Proc. 3rd Int. Conf. on Coordination Models and Languages", month = apr, address = "Amsterdam, Netherland", year = "1999", series = "Lecture Notes in Computer Science", volume = "1594", pages = "134--149", editor = "P. Ciancarini and A. Wolf", publisher = "Springer-Verlag, Berlin", keyword = "coordination semantics", } @InProceedings{BKZ99, author = "M. Bonsangue and J. Kok and G. Zavattaro", title = "{Comparing Software Architectures for coordination languages}", booktitle = "Proc. 3rd Int. Conf. on Coordination Models and Languages", month = apr, address = "Amsterdam, Netherland", year = "1999", series = "Lecture Notes in Computer Science", volume = "1594", pages = "150--165", editor = "P. Ciancarini and A. Wolf", publisher = "Springer-Verlag, Berlin", keyword = "coordination semantics", } @Article{CoadyEtAl01, author = "Coady and Kiczales and Feeley and Hutchinson and Ong", title = "Structuring Operating System Aspects: Using {AOP} to Improve {OS} Structure Modularity", journal = "CACM: Communications of the ACM", volume = "44", year = "2001", } @Article{ElrFilBad01, author = "Elrad and Filman and Bader", title = "Aspect-Oriented Programming", journal = "CACM: Communications of the ACM", volume = "44", year = "2001", } @InProceedings{Heitmeyer01, author = "Heitmeyer", title = "Applying Practical Formal Methods to the Specification and Analysis of Security Properties", booktitle = "International Workshop on Methods, Models and Architectures for Network Security, LNCS", year = "2001", } @InProceedings{Heitmeyer97a, author = "Constance Heitmeyer and James Kirby and Bruce Labaw", title = "The {SCR} Method for Formally Specifying, Verifying, and Validating Software Requirements: Tool Support", booktitle = "Proc. ~19th~ International Conf. on Software Engineering", year = "1997", pages = "610--611", publisher = "ACM Press", month = may, } @InProceedings{heintze:lics92, title = "An {E}ngine for {L}ogic {P}rogram {A}nalysis", author = "N. Heintze and J. Jaffar", pages = "318--328", booktitle = "Proceedings, Seventh Annual {IEEE} Symposium on Logic in Computer Science", year = "1992", month = jun # " 22--25", address = "Santa Cruz, California", organization = "IEEE Computer Society Press", ISBN = "0-8186-2735-2", acknowledgement = ack-mmc, } @InProceedings{Abadi-etal99, key = "Abadi, {\em et al.}", author = "Mart\'{\i}n Abadi and Anindya Banerjee and Nevin Heintze and Jon G. Riecke", title = "A Core Calculus of Dependency", booktitle = "Conf. Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas", year = "1999", organization = "ACM", address = "New York, NY", month = jan, pages = "147--160", annote = "40 references.", } @Article{CMS, author = "Calcagno, Cristiano and Moggi, Eugenio and Sheard, Tim", title = "Closed Types for a Safe Imperative {MetaML}", journal = "Journal of Functional Programming", year = {2003}, OPTkey = {}, OPTvolume = {}, OPTnumber = {}, OPTpages = {}, OPTmonth = {}, note = "To appear", OPTannote = {} } @InProceedings{PTS02, author = {Pa\v{s}ali\'{c}, Emir and Taha, Walid and Sheard, Tim}, title = {Tagless Staged Interpreters for Typed Languages}, booktitle = {the International Conf. on Functional Programming ({ICFP} '02)}, year = {2002}, address = {Pittsburgh, USA}, month = {October}, organization = {ACM}, } @InProceedings{N02, author = {Aleksander Nanevski}, title = {Meta-Programming with Names and Necessity}, booktitle = {the International Conf. on Functional Programming ({ICFP} '02)}, year = {2002}, address = {Pittsburgh, USA}, month = {October}, organization = {ACM}, } @Book{BasicCat, author = "Benjamin C. Pierce", title = "Basic Category Theory for Computer Scientists", publisher = "MIT Press", address = "Cambridge, Mass.", year = "1991", ISBN = "0-262-66071-7", descriptor = "Semantik, Programmiersprache, Natuerliche Transformation, Kategorie, Funktor", annote = "Das Buch ist ein einfuehrendes Lehrbuch in die Kategorientheorie. Es enthaelt einige Anwendungen der Kategorientheorie aus dem Bereich der Semantik von Programmiersprachen.", } @InProceedings{CayenneInterp, author = " Lennart Augustsson and Magnus Carlsson", title = "An exercise in dependent types: A well-typed interpreter", booktitle = "Workshop on Dependent Types in Programming", OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = 1999, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, address = "Gothenburg", OPTmonth = {}, OPTorganization = {}, OPTpublisher = {}, note = "Available online from \verb|www.cs.chalmers.se/~augustss/cayenne/interp.ps|", OPTannote = {} } @TechReport{Pu:83, author = "Calton Pu and Jonathan Walpole", title = "A Study of Dynamic Optimization Techniques: Lessons and Directions in Kernel Design", institution = "Oregon Graduate Institute", year = 1993, OPTkey = {}, OPTtype = {}, number = "CSE-93-007", OPTaddress = {}, OPTmonth = {}, OPTnote = {}, OPTannote = {}, note = "Available from \cite{ogi-tr-site}", } @article{dsls-on-line ,author={Paul Hudak} ,title={Building Domain Specific Embedded Languages} ,journal={ACM Computing Surveys} ,volume={28A} ,month=Dec ,year=1996 ,pages={(electronic)} } @article{little-languages ,author={Jon Bentley} ,title={Little Languages} ,journal={CACM} ,volume=29 ,number=8 ,year=1986 ,pages={711-721} } @inproceedings{dsel-reuse-98 ,author={Paul Hudak} ,title={Modular Domain Specific Languages and Tools} ,booktitle={Proceedings of Fifth International Conf. on Software Reuse} ,organization={IEEE Computer Society} ,year=1998 ,month=Jun ,pages={134-142} } @InProceedings{TMH01, author = "Walid Taha and Henning Makholm and John Hughes", title = "Tag Elimination and {Jones}-Optimality", pages = "257-275", booktitle = {Programs as Data Objects}, venue = "Aarhus, Denmark", year = 2001, editor = "Olivier Danvy and Andrzej Filinksi", series = LNCS, volume = 2053, } @InProceedings{HarperMorrisett, key = "Harper \& Morrisett", author = "Robert Harper and Greg Morrisett", title = "Compiling Polymorphism Using Intentional Type Analysis", booktitle = "Conf. Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", month = jan, year = "1995", organization = "ACM", address = "New York, NY", pages = "130--141", annote = "53 references.", } @InProceedings{FullyReflexive, author = "Valery Trifonov and Bratin Saha and Zhong Shao", title = "Fully reflexive intensional type analysis.", pages = "82--93", booktitle = "Proc. {ACM} Sigplan International Conf. on Functional Programming ({ICFP}-00)", month = sep # " ~18--21", series = "ACM Sigplan Notices", volume = "35.9", publisher = "ACM Press", address = "N.Y.", year = "2000", } @Unpublished{Huang, author = "Liwen Huang and Walid Taha", title = "A Practical Implementation of Tag Elimination", note = "In preperation" } @Unpublished{McCreight, author = "Andrew McCreight and Walid Taha", title = "An Experiment in Staging MetaPRL", note = "In preperation" } @InProceedings{XP99, key = "Xi \& Pfenning", author = "Howgwei Xi and Frank Pfenning", title = "Dependent Types in Practical Programming", booktitle = "Conf. Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas", year = "1999", organization = "ACM", address = "New York, NY", month = jan, pages = "214--227", annote = "28 references.", } @InProceedings{Dybjer87, author = "Peter Dybjer", title = "Inductively Defined Sets in {M}artin-{L}{\"o}f's Set Theory", booktitle = "Workshop on General Logic", editor = "A. Avron and R. Harper and F. Honsell and I. Mason and G. Plotkin", institution = "Report ECS-LFCS-88-52, Department of Computer Science, University of Edinburgh", month = feb, year = "1987", } @InCollection{Dybjer90, author = "Peter Dybjer", title = "Inductive Sets and Families in {M}artin-{L}{\"o}f's Type Theory and Their Set-Theoretic Semantics", editor = "G. Huet and G. Plotkin", booktitle = "Preliminary Proc.\ of 1st Int.\ Workshop on Logical Frameworks, Antibes, France, 7--11 May 1990", pages = "213--230", note = "ftp://ftp.inria.fr/INRIA/Projects/coq/types/Proceedings/book90.ps.Z", year = "1990", } @InCollection{Dybjer91, author = "Peter Dybjer", title = "Inductive Sets and Families in {M}artin-{L}{\"o}f's Type Theory and Their Set-Theoretic Semantics", editor = "G. Huet and G. Plotkin", booktitle = "Logical Frameworks", publisher = "Cambridge University Press", year = "1991", pages = "280--306", url = "ftp://ftp.cs.chalmers.se/pub/clics/peterd/Setsem_Inductive.ps", } @Article{Dybjer94, author = "Peter Dybjer", title = "Inductive Families", journal = "Formal Aspects of Computing", year = "1994", volume = "6", number = "4", pages = "440--465", url = "ftp://ftp.cs.chalmers.se/pub/clics/peterd/Inductive_Families.ps", } @Unpublished{Dybjer97, author = "Peter Dybjer", title = "A General Formulation of Simultaneous Inductive-Recursive Definitions in Type Theory", month = jun, year = "1997", note = "To appear in JSL", url = "ftp://ftp.cs.chalmers.se/pub/clics/peterd/Inductive_Recursive.ps", } @InCollection{Dybjer98, author = "Peter Dybjer and Anton Setzer", title = "Finite Axiomatizations of Inductive and Inductive-Recursive Definitions", editor = "R. Backhouse and T. Sheard", booktitle = "Informal Proc.\ of Workshop on Generic Programming, WGP'98, Marstrand, Sweden, 18 June 1998", publisher = "Dept.\ of Computing Science, Chalmers Univ.\ of Techn., and G{\"o}teborg Univ.", month = jun, year = "1998", note = "Electronic version available at http://wsinwp01.win.tue.nl:1234/WGPProceedings/", url = "http://www.math.uu.se/~setzer/articles/genprog98.ps.gz", } @InProceedings{Nordstrm81, author = "Bengt Nordstr{\"o}m", title = "Programming in Constructive Set Theory: Some Examples", booktitle = "Proc. ACM Conf. on Functional Programming and Computer Architecture, Portsmouth, NH", pages = "141--154", publisher = "ACM", address = "New York", year = "1981", } @Article{Magnusson94, author = "L. Magnusson and B. Nordstroem", title = "The {ALF} Proof Editor and Its Proof Engine", journal = "Lecture Notes in Computer Science", volume = "806", pages = "213--237", year = "1994", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Wed Sep 15 10:01:31 MDT 1999", acknowledgement = ack-nhfb, keywords = "proofs; programs; TYPES", } @InCollection{NOR83a, author = "B. Nordstr{\"o}m and K. Petersson", title = "Types and Specifications", booktitle = "IFIP '83", publisher = "Elsevier Science Publishers", editor = "R. E. Mason", pages = "915--920", year = "1983", } @InCollection{NOR85a, author = "B. Nordstr{\"o}m", title = "Multilevel Functions in Type Theory", booktitle = "Programs as Data Objects", editor = "N. Jones", publisher = "Springer-Verlag, LNCS 217", year = "1985", } @Article{Coquand94, author = "Thierry Coquand and Bengt Nordstr{\"o}m and Jan M. Smith and Bjorne von Sydow", title = "Type Theory and Programming", journal = "Bulletin of the European Association for Theoretical Computer Science", volume = "52", pages = "203--228", month = feb, year = "1994", note = "Columns: Logic in Computer Science", } @Book{NPS90, key = "Nordstrom \& Peterson \& Smith", author = "Bengt Nordstr{\"o}m and Kent Peterson and Jan M. Smith", title = "Programming in Martin-Lof's Type Theory", publisher = "Oxford University Press", year = "1990", volume = "7", series = "International Series of Monographs on Computer Science", address = "New York, NY", note = "Currently available online from first authors homepage." } @Article{Saibi:1995:FLC, author = "A. Saibi", title = "Formalization of a lambda-Calculus with Explicit Substitutions in {Coq}", journal = "Lecture Notes in Computer Science", volume = "996", pages = "183--202", year = "1995", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Wed Sep 15 10:01:31 MDT 1999", acknowledgement = ack-nhfb, keywords = "types; proofs; programs", } @Article{Monin:1998:PRT, author = "J.-F Monin", title = "Proving a Real Time Algorithm for {ATM} in {Coq}", journal = "Lecture Notes in Computer Science", volume = "1512", pages = "277--??", year = "1998", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Tue Jan 5 08:21:58 MST 1999", acknowledgement = ack-nhfb, } @Article{Leclerc:1994:PSC, author = "F. Leclerc and C. Paulin-Mohring", title = "Programming with Streams in {Coq} --- {A} Case Study: The Sieve of Eratosthenes", journal = "Lecture Notes in Computer Science", volume = "806", pages = "191--212", year = "1994", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Wed Sep 15 10:01:31 MDT 1999", acknowledgement = ack-nhfb, keywords = "proofs; programs; TYPES", } @InProceedings{Chetali97a, author = "B. Chetali and B. Heyd", year = "1997", title = "Formal Verification of Concurrent Programs in {LP} and in {COQ}: {A} Comparative Analysis", booktitle = "Proc. 10th International Theorem Proving in Higher Order Logics Conf.", pages = "69--85", abstract = "This paper describes the formal verification of parallel programs using a rewrite and induction based theorem prover like LP and a higher order theorem prover based on the Calculus of Inductive Construction, namely COQ. The chosen specification environment is UNITY, a subset of temporal logic for specifying and verifying concurrent programs. By means of an example, a lift-control program, we describe the embedding of UNITY and we show how to verify mechanically program properties using the two provers. Then we summarize a comparison between the theorem proving environments, based on our practical experience with both systems for the verification of UNITY programs.", } @InProceedings{Zammit97a, author = "V. Zammit", year = "1997", title = "A Comparative Study of Coq and {HOL}", booktitle = "Proc. 10th International Theorem Proving in Higher Order Logics Conf.", pages = "323--337", abstract = "This paper illustrates the differences between the style of theory mechanisation of Coq and of HOL. This comparative study is based on the mechanisation of fragments of the theory of computation in these systems. Examples from these implementations are given to support some of the arguments discussed in this paper. The mechanisms for specifying definitions and for theorem proving are discussed separately, building in parallel two pictures of the different approaches of mechanisation given by these systems.", } @Article{PMW:synmps, author = "Christine Paulin-Mohring and Benjamin Werner", title = "Synthesis of {ML} Programs in the System {Coq}", journal = "Journal of Symbolic Computation", volume = "15", number = "5--6", pages = "607--640", year = "1993", url = "ftp://ftp.inria.fr/INRIA/Projects/coq/Benjamin.Werner/JSC93.dvi.gz", } @TechReport{PM92, author = "Christine Paulin-Mohring", title = "Inductive Definitions in the System {Coq}: Rules and Properties", type = "Research report", number = "RR 92-49", institution = "Laboratoire de l'Informatique du Parall{\'e}lisme, Ecole normale sup{\'e}rieure de Lyon", month = dec, year = "1992", url = "ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR1992/RR1992-49.ps.Z", } @InCollection{PM93, author = "Christine Paulin-Mohring", title = "Inductive Definitions in the System {Coq}: Rules and Properties", editor = "M. Bezem and J. F. Groote", booktitle = "Proc.\ of 1st Int.\ Conf.\ on Typed Lambda Calculi and Applications, TLCA'93, Utrecht, The Netherlands, 16--18 March 1993", series = "Lecture Notes in Computer Science", volume = "664", pages = "328--345", publisher = "Springer-Verlag", address = "Berlin", year = "1993", } @TechReport{Gim:appcit-r, author = "Eduardo Gim{\'e}nez", title = "Co-Inductive Types in {Coq}: An Experiment with the Alternating Bit Protocol", type = "Research report", number = "RR 95-38", institution = "Laboratoire de l'Informatique du Parall{\'e}lisme, Ecole Normale Sup{\'e}rieure de Lyon", month = jun, year = "1995", url = "ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR95/RR95-38.ps.Z", } @InCollection{Gim:appcit, author = "Eduardo Gim{\'e}nez", title = "An Application of Co-Inductive Types in {Coq}: An Experiment with the Alternating Bit Protocol", editor = "S. Berardi and M. Coppo", booktitle = "Selected Papers 3rd Int.\ Workshop on Types for Proofs and Programs, TYPES'95, Torino, Italy, 5--8 June 1995", series = "Lecture Notes in Computer Science", volume = "1158", pages = "135--152", publisher = "Springer-Verlag", address = "Berlin", year = "1996", } @TechReport{G98, author = "Eduardo Gim{\'e}nez", title = "A Tutorial on Recursive Types in {Coq}", type = "Technical Report", number = "TR-0221", institution = "INRIA Rocquencourt", month = may, year = "1998", url = "ftp://ftp.inria.fr/INRIA/publication/RT/RT-0221.ps.gz", } @InCollection{CGJ:coqhw, author = "Solange Coupet-Grimal and Line Jakubiec", title = "{Coq} and Hardware Verification: {A} Case Study", editor = "J. von Wright and J. Grundy and J. Harrison", booktitle = "Proc.\ of 9th Int.\ Conf.\ on Theorem Proving in Higher Order Logics, TPHOLs'96, Turku, Finland, 26--30 Aug 1996", series = "Lecture Notes in Computer Science", volume = "1125", pages = "125--139", publisher = "Springer-Verlag", address = "Berlin", year = "1996", } @InCollection{Coq:patmdt, author = "Thierry Coquand", title = "Pattern Matching with Dependent Types", editor = "B. Nordstr{\"o}m and K. Pettersson and G. Plotkin", booktitle = "Informal Proc.\ of Workshop on Types for Proofs and Programs, B{\aa}stad, Sweden, 8--12 June 1992", publisher = "Dept.\ of Computing Science, Chalmers Univ.\ of Technology and G{\"o}teborg Univ.", pages = "71--84", year = "1992", note = "ftp://ftp.cs.chalmers.se/pub/cs-reports/baastad.92/proc.ps.Z", } @InCollection{Coq:infott, author = "Thierry Coquand", title = "Infinite Objects in Type Theory", editor = "H. Barendregt and T. Nipkow", booktitle = "Selected Papers 1st Int.\ Workshop on Types for Proofs and Programs, TYPES'93, Nijmegen, The Netherlands, 24--28 May 1993", series = "Lecture Notes in Computer Science", volume = "806", pages = "62--78", publisher = "Springer-Verlag", address = "Berlin", year = "1994", } @InProceedings{Argon96, author = "Pablo Arg{\'o}n and John Mullins and Olivier Roux", title = "A Correct Compiler Construction Using {Coq}", editor = "Didier Galmiche", pages = "3--12", booktitle = "Informal Proc. Workshop on Proof Search in Type-Theoretic Languages", year = "1996", address = "New Brunswick, New Jersey", month = jul, keywords = "misc", } @TechReport{ercim.inria.publications//RR-2536, pages = "33 p.", type = "Technical Report", number = "RR-2536", institution = "Inria, Institut National de Recherche en Informatique et en Automatique", title = "Proving Correctness of the Translation from Mini-{ML} to the {CAM} with the Coq Proof Development System", bibdate = "April 1, 1995", author = "Samuel Boutin", language = "A", abstract = "Nous d\écrivons dans ce papier comment, en utilisant le syst\ème d\'aide \à la d\émonstration Coq, nous avons r\éalis\é une preuve formelle de la correction d\'un compilateur d\'un petit langage applicatif contenant des d\éfinitions r\écursives (Mini-ML) en code CAM (Categorical Abstract Machine). Notre objectif a \ét\é de m\écaniser une preuve pr\ésent\ée dans l\'article de J. Despeyroux \\cite\{Des\} et \écrite \à l\'aide du langage Typol. Nous utilisons des s\émantiques naturelles pour mod\éliser l\'\évaluation de nos langages. Nous ne sommes parvenus que partiellement \à m\écaniser cette preuve de correction. En effet, les sp\écifications naturelles des langages source et cible contiennent des termes rationnels difficiles \à axiomatiser dans l\'\état actuel du syst\ème. Nous proposons un d\écoupage de la preuve isolant cette difficult\é. In this report we show how we proved correctness of the translation from a small applicative language with recursive definitions (Mini-ML) to the Categorical abstract machine (CAM) using the Coq system. Our aim was to mechanize the proof of J. Despeyroux \\cite\{Des\}. Like her, we use natural semantics to axiomatise the semantics of our languages. We have only partially mecanised the proof. The semantics of the source and target languages use rational trees in their definition and at this stage the Coq system is inefficient in axiomatising such structures. We propose a presentation of the correctness proof to isolate this difficulty.", } @TechReport{ercim.inria.publications//RR-3488, pages = "30 p.", type = "Technical Report", number = "RR-3488", institution = "Inria, Institut National de Recherche en Informatique et en Automatique", title = "A certified Compiler for an Imperative Language", bibdate = "September 1, 1998", author = "Yves Bertot", language = "A", abstract = "Cet article d\écrit la v\érification m\écanique de la d\émonstration de certification d\'un compilateur vis-\à-vis des sp\écifications s\émantiques du langage source et du langage cible. Ces v\érifications sont effectu\ées dans le formalisme de la th\éorie des types, \à l\'aide du syst\ème Coq. Cette v\érification permet d\'introduire des outils th\éoriques adapt\és: th\éor\èmes de fragmentation et principe de r\écurrence g\én\éral. This paper describes the process of mechanically certifying a compiler with respect to the semantic specification of the source and target languages. The proofs are performed in type theory using the Coq system. These proofs introduce specific theoretical tools: fragmentation theorems and general induction principles.", } @Article{Terrasse:1995:ENS, author = "D. Terrasse", title = "Encoding Natural Semantics in Coq", journal = "Lecture Notes in Computer Science", volume = "936", pages = "230--??", year = "1995", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Sat May 11 13:45:32 MDT 1996", acknowledgement = ack-nhfb, } @InProceedings{AFADL2000-Bodeveix, author = "J.-P. Bodeveix and Mamoun Filali and C. A. Munoz", title = "Formalisation de la m{\'e}thode {B} en {COQ} et {PVS}", booktitle = "AFADL'2000", booktitle = "Approches Formelles dans l'Assistance au {D}{\'e}veloppement de Logiciels", year = "2000", address = "LSR/IMAG -- BP 72 38402 Saint-Martin d'Heres Cedex -- Grenoble -- France", month = jan, organization = "LSR/IMAG", publisher = "LSR/IMAG", local = "yes", url = "http://www-lsr.imag.fr/afadl/Programme/ProgrammeAFADL2000.html", pages = "96--110", year = "2000", } @InProceedings{Cayenne, key = "Augustsson", author = "Lennart Augustsson", title = "Cayenne --- a language with dependent types", booktitle = "Proc. ACM SIGPLAN International Conf. on Functional Programming (ICFP '98)", series = "ACM SIGPLAN Notices", volume = "34(1)", month = jun, year = "1999", organization = "ACM", pages = "239--250", annote = "A Haskell variant with dependent types. 27 references.", } @Article{JAR::AndrewsBINPX1996, title = "{TPS}: {A} Theorem-Proving System for Classical Type Theory", author = "Peter B. Andrews and Matthew Bishop and Sunil Issar and Dan Nesmith and Frank Pfenning and Hongwei Xi", journal = "Journal of Automated Reasoning", pages = "321--353", month = jun, year = "1996", volume = "16", number = "3", } @InProceedings{XP98, title = "Eliminating Array Bound Checking through Dependent Types", author = "Hongwei Xi and Frank Pfenning", booktitle = "Proc. {ACM} {SIGPLAN}'98 Conf. on Programming Language Design and Implementation ({PLDI})", address = "Montreal, Canada", month = "17--19~" # jun, year = "1998", pages = "249--257", references = "\cite{PLDI::FreemanP1991} \cite{LOPLAS::Gupta1994} \cite{POPL::Necula1997} \cite{PLDI::NeculaL1998} \cite{PLDI::Pugh1992} \cite{JACM::Shostak1977} \cite{POPL::SusukiI1977}", } @InProceedings{FLINT, title = "A Type-Based Compiler for Standard {ML}", author = "Zhong Shao and Andrew W. Appel", booktitle = "Proc. {ACM} {SIGPLAN}'95 Conf. on Programming Language Design and Implementation ({PLDI})", address = "La Jolla, California", month = "18--21~" # jun, year = "1995", pages = "116--129", } @InProceedings{THW01, author = {Taha, Walid and Hudak, Paul and Wan, Zhanyong}, title = "Directions in Functional Programming for Real(-Time) Applications", booktitle = "the International Workshop on Embedded Software {(EMSOFT '01)}", year = 2001, series = LNCS, volume = 221, pages = "185--203", address = "Lake Tahoe", publisher = "Springer-Verlag", } @InProceedings{Crary2000, author = "Karl Crary and Stephanie Weirich", title = "Resource Bound Certification.", pages = "184--198", booktitle = "the Symposium on Principles of Programming Languages ({POPL} '00)", month = jan # " ~19--21", publisher = "ACM Press", address = "N.Y.", year = "2000", } @InProceedings{inherit, author = "Torben Mogensen", title = "Inherited Limits", booktitle = "Partial Evaluation: Practice and Theory", pages = "189--202", year = 1999, volume = 1706, series = LNCS, publisher = "Springer-Verlag", } @Article{Shao:2002:TSC, author = "Zhong Shao and Bratin Saha and Valery Trifonov and Nikolaos Papaspyrou", title = "A type system for certified binaries", journal = "ACM SIG{\-}PLAN Notices", volume = "31", number = "1", pages = "217--232", month = jan, year = "2002", coden = "SINODQ", ISSN = "0362-1340", bibdate = "Tue Feb 12 10:39:33 MST 2002", acknowledgement = ack-nhfb, annote = "Proc. 29th ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL'02).", } @InProceedings{crary98intensional, author = "Karl Crary and Stephanie Weirich and J. Gregory Morrisett", title = "Intensional Polymorphism in Type-Erasure Semantics", booktitle = "{I}nternational {C}onference on {F}unctional {P}rogramming ({ICFP}) , Baltimore, Maryland, USA", pages = "301--312", year = "1998", fullurl = "citeseer.nj.nec.com/article/crary98intensional.html", } @InProceedings{Makholm, author = "Henning Makholm", title = "On {J}ones-Optimal Specialization for Strongly Typed Languages", booktitle = "\cite{saig00}", pages = "129--148", year = 2000, } @Misc{MetaDOnline, key = "{Meta-D} Prototype", OPTauthor = {}, title = "{M}eta-{D}: A Dependently Typed Multi-stage Language", howpublished = "Available online from \fr{http://www.cse.ogi.edu/~pasalic/metad/}", year = 2002, OPTnote = "", OPTannote = {} } @Unpublished{TM00, author = "Walid Taha and Henning Makholm", title = "Tag Elimination -- or -- Type Specialisation is a Type-Indexed Effect", note = "In Subtyping and Dependent Types in Programming, APPSEM Workshop. INRIA technical report", OPTkey = {}, year = 2000, OPTannote = {} } @InProceedings{ICFP99*233, author = "Karl Crary and Stephanie Weirich", title = "Flexible Type Analysis", pages = "233--248", ISBN = "1-58113-111-9", booktitle = "Proc. Fourth {ACM} {SIGPLAN} International Conf. on Functional Programming ({ICFP}-99)", month = sep # " ~27--29", series = "ACM Sigplan Notices", volume = "34.9", publisher = "ACM Press", address = "N.Y.", year = "1999" } @InProceedings{Cardelli:Linking, title = "Program Fragments, Linking, and Modularization", author = "Luca Cardelli", pages = "266--277", booktitle = "Conf. Record of {POPL}~'97: The 24th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages", month = "15--17 " # jan, year = "1997", address = "Paris, France", references = "\cite{POPL::AbadiCCL1990} \cite{TOPLAS::ChambersL1995} \cite{POPL::HarperL1994} \cite{POPL::Leroy1994} \cite{POPL::MacQueen1986} \cite{POPL::ShaoA1993}", } @InCollection{TFF, author = "Philip Wadler", title = "Theorems for Free!", booktitle = "Proc.\ of 4th Int.\ Conf.\ on Funct.\ Prog.\ Languages and Computer Arch., FPCA'89, London, UK, 11--13 Sept.\ 1989", pages = "347--359", publisher = "ACM Press", address = "New York", year = "1989", url = "http://cm.bell-labs.com/cm/cs/who/wadler/papers/free/free.ps.gz", } @InProceedings{Abadi93, author = "Mart{\'\i}n Abadi and Luca Cardelli and Pierre-Louis Curien", title = "Formal Parametric Polymorphism", booktitle = "Conf. Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", pages = "157--170", publisher = "ACM New York, NY", year = "1993", keywords = "functional", ISBN = "0-89791-560-7", abstract = "A polymorphic function is parametric if its behavior does not depend on the type at which it is instantiated. Starting with J.C. Reynolds' (1983) work, the study of parametricity is typically semantic. The authors develop a syntactic approach to parametricity, and a formal system that embodies this approach: system R. Girard's system F (J.Y. Girard et al., 1989) deals with terms and types; R is an extension of F that deals also with relations between types. In R, it is possible to derive theorems about functions from their types, or 'theorems for free', as P. Wadler (1989) calls them. An easy 'theorem for free' asserts that the type For all (X)X to Bool contains only constant functions; this is not provable in F. There are many harder and more substantial examples. Various metatheorems can also be obtained.", } @Article{DaviesPfenning01jacm, author = "Rowan Davies and Frank Pfenning", title = "A Modal Analysis of Staged Computation", journal = "Journal of the ACM", year = 2001, volume = 48, number = 3, pages = "555--604", annote = "Preliminary version available as Technical Report CMU-CS-99-153, August 1999", keywords = "fp, staged", url = "http://www.cs.cmu.edu/~fp/papers/CMU-CS-99-153.ps.gz" } @Article{MoggiSabry, author = "Eugenio Moggi and Amr Sabry", title = "Monadic Encapsulation of Effects", journal = "Journal of Functional Programming", year = {2001}, OPTkey = {}, OPTvolume = {}, OPTnumber = {}, OPTpages = {}, OPTmonth = {}, OPTnote = {}, OPTannote = {} } @Article{DrScheme, author = "Robert Bruce Findler and Cormac Flanagan and Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen", title = "{D}r{S}cheme: {A} Pedagogic Programming Environment for Scheme", year = "1997", url = "http://www.cs.rice.edu/CS/PLT/Publications/plilp97-fffkf.ps.gz", keywords = "Programming Environments, Scheme, Programming, Pedagogy, Algebraic Evaluation, Static Debugging, Teaching Programming to Introductory Students", month = sep, pages = "369--388", volume = "1292", scope = "Programming Environments", journal = "Programming Languages: Implementations, Logics, and Program s", } @Article{Garrigue99, author = "Garrigue and Remy", title = "Semi-Explicit First-Class Polymorphism for {ML}", journal = "INFCTRL: Information and Computation (formerly Information and Control)", volume = "155", year = "1999", } @InCollection{Wells, author = "J. B. Wells", title = "Typability and Type Checking in the Second-Order {$\lambda$}-Calculus Are Equivalent and Undecidable", booktitle = "Proc.\ of 9th Ann.\ IEEE Symp.\ on Logic in Computer Science, LICS'94, Paris, France, 4--7 July 1994", pages = "176--185", publisher = "IEEE Computer Society Press", address = "Los Alamitos, CA", year = "1994", } @InProceedings{OPT02, author = "Karol Ostrovsk\'y and K.~V.~S.~Prasad and Walid Taha", title = {Towards a Primitive Higher Order Calculus of Broadcasting Systems}, booktitle = {The International Conf. on Principles and Practice of Declarative Programming ({PPDP} '02)}, year = {2002}, address = {Pittsburgh, USA}, month = {October}, organization = {ACM}, } @InProceedings{TemplateHaskell, author = "Tim Sheard and Simon Peyton-Jones", title = "Template meta-programming for Haskell.", booktitle = "Proc. of the workshop on Haskell", pages = "1--16", publisher = "ACM", year = "2002", keywords = "workshop, functional programming, FP, zz1002", abstract = "...extension to the purely functional programming language Haskell that supports compile-time meta-programming. The purpose of the system is to support the algorithmic construction of programs at compile-time. The ability to generate code at compile time allows the programmer to implement such features as polytypic programs, macro-like expansion, user directed optimization (such as inlining), and the generation of supporting data structures and functions from existing data structures and functions. Our design is being implemented in the Glasgow Haskell Compiler, ghc. [http://doi.acm.org/10.1145/581690.581691 (paper)][10/'02] http://www.amazon.com/exec/obidos/ISBN=1581136056/fourwheeldriveinA/ .", } @InProceedings{Michaylov, author = "Spiro Michaylov and Frank Pfenning", title = "Natural Semantics and Some of its Meta-Theory in {Elf}", booktitle = "Extensions of Logic Programming", editor = "Lars Halln{\"a}s", publisher = "Springer-Verlag LNCS", year = "1992", note = "To appear. A preliminary version is available as Technical Report MPI-I-91-211, Max-Planck-Institute for Computer Science, Saarbr{\"u}cken, Germany, August 1991", } @InProceedings{Filinski99, author = "Andrzej Filinski", title = "A Semantic Account of Type-Directed Partial Evaluation", year = 1999, volume = 1702, series = LNCS, publisher = "Springer-Verlag", booktitle = {Principles and Practice of Declarative Programming {(PPDP)}}, pages = "378--395", } @InProceedings{Filinski01, author = "Andrzej Filinski", title = "Normalization by Evaluation for the Computational Lambda-Calculus", year = 2001, volume = 2044, series = LNCS, publisher = "Springer-Verlag", booktitle = {Typed Lambda Calculi and Applications: 5th International Confe rence {(TLCA)}}, pages = "151--165", } @InProceedings{MML, author = {Eugenio Moggi}, title = {A Monadic Multi-stage Metalanguage}, booktitle = {Foundations of Software Science and Computation Structures (FOSSACS)}, OPTcrossref = {}, OPTkey = {}, OPTpages = {}, year = {2003}, OPTeditor = {}, volume = {2620}, OPTnumber = {LNCS}, series = {}, OPTaddress = {}, OPTmonth = {}, OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @InProceedings{LJB01, AUTHOR = {Lee, Chin Soon and Jones, Neil D. and Ben-Amram, Amir M.}, YEAR = {2001}, TITLE = {The Size-Change Principle for Program Termination}, BOOKTITLE = POPL, editor = {}, publisher = {ACM press}, organization = {}, address = {}, series = {}, volume = {28}, pages = {81--92}, month = {january}, keywords = {termination, program analysis, lexical order, pspace hardness}, summary = {The ``size-change termination'' principle for a first-order functional language with well-founded data is: a program terminates on all inputs if {\em every infinite call sequence} (following program control flow) would cause an infinite descent in some data values. Size-change analysis is based only on local approximations to parameter size changes derivable from program syntax. The set of infinite call sequences that follow program flow and can be recognized as causing infinite descent is an $\omega$-regular set, representable by a B\"uchi automaton. Algorithms for such automata can be used to decide size-change termination. We also give a direct algorithm operating on ``size-change graphs'' (without the passage to automata). Compared to other results in the literature, termination analysis based on the size-change principle is surprisingly simple and general: lexical orders (also called lexicographic orders), indirect function calls and permuted arguments (descent that is not {\em in-situ}) are all handled {\em automatically and without special treatment}, with no need for manually supplied argument orders, or theorem-proving methods not certain to terminate at analysis time. We establish the problem's {\em intrinsic complexity}. This turns out to be surprisingly high, complete for {\sc pspace}, in spite of the simplicity of the principle. {\sc pspace} hardness is proved by a reduction from Boolean program termination. An interesting consequence: the same hardness result applies to many other analyses found in the termination and quasi-termination literature.}, SEMNO = {D-429}, PUF = {Artikel i proceedings (med censur)}, ID = {KonR}, POSTSCRIPT = {http://www.diku.dk/~neil/term.ps} } @InProceedings{CBUE02, author = "Krzysztof Czarnecki and Thomas Bednasch and Peter Unger and Ulrich Eisenecker", year = "2002", title = "Generative Programming for Embedded Software: An Industrial Experience Report", booktitle = "Generative Programming and Component Engineer SIGPLAN/SIGSOFT Conf., GPCE 2002", editor = "Don Batory and Charles Consel and Walid Taha", publisher = "Springer", organization = "ACM", series = "Lecture Notes in Computer Science", volume = "2487", pages = "156--172", month = oct, } @InProceedings{L02, author = "Chin Soon Lee", year = "2002", title = "Program termination analysis in polynomial time", booktitle = "Generative Programming and Component Engineering: ACM SIGPLAN/SIGSOFT Conf., GPCE 2002", editor = "Don Batory and Charles Consel and Walid Taha", publisher = "Springer", organization = "ACM", series = "Lecture Notes in Computer Science", volume = "2487", pages = "218--235", month = oct, keywords = "program termination analysis, size-change termination", summary = "Recall the {"}size-change principle{"} for program termination: An infinite computation is impossible, if it would give rise to an infinite sequence of size decreases for some data values. For an actual analysis, {"}size-change graphs{"} are used to capture data size changes in possible program state transitions. A graph sequence that respects program control flow is called a {"}multipath.{"} Multipaths describe possible state transition sequences. To show that such sequences are finite, it is sufficient that the graphs satisfy {"}size-change termination{"} (SCT): Every infinite multipath has infinite descent, according to the arcs of the graphs. This is an application of the size-change principle. SCT is decidable, but complete for PSPACE. In this paper, we explore efficient approximations that are sufficiently precise in practice. For size-change graphs that can loop (i.e., they give rise to an infinite multipath), and that satisfy SCT, it is usually easy to identify among them an {"}anchor{"}-- some graph whose infinite occurrence in a multipath causes infinite descent. The SCT approximations are based on finding and eliminating anchors as far as possible. If the remaining graphs cannot loop, then SCT is established. An efficient method is proposed to find anchors among {"}fan-in free{"} graphs, as such graphs occur commonly in practice. This leads to a worst-case quadratic-time approximation of SCT. An extension of the method handles general graphs and can detect some rather subtle descent. It leads to a worst-case cubic-time approximation of SCT. Experiments confirm the effectiveness and efficiency of the approximations in practice.", semno = "D-472", puf = "Artikel i proceedings (med censur)", id = "KonR", } @InProceedings{satnam, author = "Nicholas McKay and Satnam Singh", title = "Dynamic Specialization of {XC6200} {FPGA}s by Partial Evaluation", editor = "Reiner W. Hartenstein and Andres Keevallik", series = LNCS, volume = 1482, publisher = "Springer-Verlag", booktitle = "International Workshop on Field-Programmable Logic and Applications", year = "1998", pages = "298--307", } @Article{transmeta, author = "Linda Geppert and Tekla S. Perry", journal = "IEEE Spectrum", number = "5", pages = "26--33", title = "Transmeta's magic show", volume = "37", year = "1999", crindex = "Fichier", url = "http://www.spectrum.ieee.org/spectrum/may00/features/tran.html", } @InProceedings{DML, author = "Hongwei Xi and Frank Pfenning", title = "Dependent types in practical programming", editor = "{ACM}", booktitle = "{POPL} '99. Proc. 26th {ACM} {SIGPLAN-SIGACT} on Principles of programming languages, January 20--22, 1999, San Antonio, {TX}", publisher = "ACM Press", address = "New York, NY, USA", year = "1999", ISBN = "????", series = "ACM SIG{\-}PLAN Notices", pages = "214--227", year = "1999", bibdate = "Mon May 3 12:58:58 MDT 1999", url = "http://www.acm.org:80/pubs/citations/proceedings/plan/292540/p214-xi/", acknowledgement = ack-nhfb, subject = "{\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, ML. {\bf D.1.1} Software, PROGRAMMING TECHNIQUES, Applicative (Functional) Programming. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Polymorphism.", } @Article{lava, author = "Per Bjesse and Koen Claessen and Mary Sheeran and Satnam Singh", title = "{Lava}: Hardware Design in {Haskell}", journal = "ACM SIG{\-}PLAN Notices", volume = "34", number = "1", pages = "174--184", month = jan, year = "1999", coden = "SINODQ", ISSN = "0362-1340", bibdate = "Wed Dec 30 14:35:17 1998", acknowledgement = ack-nhfb, affiliation = "Chalmers University; Xilinx", } @InProceedings{aliastypes, author = "Frederick Smith and David Walker and Greg Morrisett", title = "Alias Types", editor = "Gert Smolka", booktitle = "Ninth European Symposium on Programming", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", month = apr, volume = "1782", year = "2000", pages = "366--381", } @Article{Hume, author = "Kevin Hammond", title = "The Dynamic Properties of {Hume}: {A} Functionally-Based Concurrent Language with Bounded Time and Space Behaviour", journal = "Lecture Notes in Computer Science", volume = "2011", pages = "122--??", year = "2001", coden = "LNCSD9", ISSN = "0302-9743", bibdate = "Sat Feb 2 13:03:29 MST 2002", url = "http://link.springer-ny.com/link/service/series/0558/bibs/2011/20110122.htm; http://link.springer-ny.com/link/service/series/0558/papers/2011/20110122.pdf", acknowledgement = ack-nhfb, } @InProceedings{TN03, author = "Walid Taha and Michael Florentin Nielsen", title = "Environment Classifiers", booktitle = "In Proc. ACM Symposium on Principles of Programming Languages {(POPL '03)}", year = 2003, address = "New Orleans" }