From 6694be795bd61e46b011409e9195a0266d0d8a30 Mon Sep 17 00:00:00 2001 From: David MacQueen Date: Fri, 29 May 2020 15:52:22 -0700 Subject: [PATCH] updated hopl.bib and copied it to standardml.bib and updated index.html --- history/hopl.bib | 214 +- history/index.html | 4 +- history/standardml.bib | 8809 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 9000 insertions(+), 27 deletions(-) create mode 100644 history/standardml.bib diff --git a/history/hopl.bib b/history/hopl.bib index 2c8e468..e2a6c16 100644 --- a/history/hopl.bib +++ b/history/hopl.bib @@ -1178,19 +1178,6 @@ @article{mlj-monads:99 doi = {10.1016/S1571-0661(05)80280-4} } -@inproceedings{generics-for-dotnet:2001, -author = {Kennedy, Andrew and Syme, Don}, -title = {Design and Implementation of Generics for the {.NET} Common Language Runtime}, -booktitle = PLDI01, -year = {2001}, -month = PLDI01:month, -publisher = acm:pub, -address = acm:addr, -pages = {1–12}, -location = PLDI01:loc, -doi = {10.1145/378795.378797}, -} - @article{benton2001exceptional, author = {Nick Benton and Andrew Kennedy}, title = {Exceptional syntax}, @@ -1885,6 +1872,7 @@ @inproceedings{chen-erwig:2014 } % NOT REFERENCED +% $DESIGN/types/weak-poly/Chen-Odersky-LamCalcAssignment-TACS-94.pdf @inproceedings{chen-oderski:TACS94, author = {Kung Chen and Martin Odersky}, title = {A type system for a lambda calculus with assignments}, @@ -1894,7 +1882,8 @@ @inproceedings{chen-oderski:TACS94 publisher = springer:pub, address = springer:addr, year = 1994, -pages = {347--364} +pages = {347--364}, +doi = {10.1007/3-540-57887-0_103} } % $DESIGN/types/type\ errors/Chitil-ICFP-2001.pdf @@ -2418,6 +2407,19 @@ @inproceedings{mixin-up:2008 doi = {10.1145/2450136.2450137} } +% NOT REFERENCED +% $DESIGN/types/weak-poly/Duba-Harper-MacQueen-typing-continations-POPL-1991.pdf +@inproceedings{duba-harper-macqueen:POPL1991, +author = {Bruce Duba and Robert Harper and David MacQueen}, +booktitle = POPL18, +publisher = ACM:pub, +address = ACM:addr, +year = POPL18:year, +month = jan, +pages = {163-173}, +doi = {10.1145/99583.99608} +} + % NOT REFERENCED @inproceedings{duggan:1994, author = {Dominic Duggan and Constantinos Sourelis}, @@ -2550,7 +2552,7 @@ @inproceedings{elsman:ICFP:99 } % SML-history/Applications/carillon.pdf -@Manual{ carillon:1999, +@Manual{carillon:1999, author = {Martin Elsman and Jeffrey S. Foster and Alexander Aiken}, title = {Carillon --- A System to Find Y2K Problems in C Programs}, note = {User's Manual}, @@ -2577,7 +2579,7 @@ @inproceedings{sml-server:2003 } % NOT REFERENCED -% SML-history/Implementation/regions/Elsman-GC-safety-regions-TLDI-2003.pdf +% $IMPLEMENTATION/regions/Elsman-GC-safety-regions-TLDI-2003.pdf @inproceedings{elsman:tldi03, author = {Martin Elsman}, title = {Garbage Collection Safety for Region-based Memory Management}, @@ -2589,6 +2591,20 @@ @inproceedings{elsman:tldi03 doi = {10.1145/640136.604190} } +% NOT REFERENCED +% $IMPLEMENTATION/papers/Elsman-pickling-TFP-05.pdf +@inproceedings{elsman:pickle:2005, +author = {Martin Elsman}, +title = {Type-Specialized Serialization with Sharing}, +booktitle = {TFP '05: Sixth Symposium on Trends in Functional Programming}, +location = {Talinn, Estonia}, +publisher = {intellect}, +address = {Bristol, UK}, +month = sep, +year = {2005}, +pages = {47--62} +} + % NOT REFERENCED % SML-history/Implementation/MLKit/Elsman-recompilation-ITU-2008.pdf @TechReport{elsman:sepcomp:2008, @@ -2662,11 +2678,13 @@ @inproceedings{elsman:RBMM-GGC:2020 number = {12007} } +% SML-history/lang\ histories/PAL/Evans-PAL-ACM-1968.pdf @inproceedings{PAL:1, author = {Arthur {Evans, Jr.}}, title = {{PAL} -- a language designed for teaching programming linguistics}, booktitle = ACM68, -publisher = acm:pub, address = acm:addr, +publisher = {Brandin Systems Press}, +address = {Princeton, N. J., USA} year = {1968}, month = aug, pages = {395--403}, doi = {10.1145/800186.810604} @@ -2737,6 +2755,18 @@ @Article{class-types-in-moby doi = {10.1006/inco.2002.3169} } +% NOT REFERENCED +% $DESIGN/modules/papers/Flatt-Felleisen-PLDI-1998.pdf +@inproceedings{flatt-felleisen:PLDI98, +author = {Matthew Flatt and Matthias Felleisen}, +title = {{Units}: cool modules for {HOT} languages}, +booktitle = PLDI98, +publisher = ACM:pub, +address = ACM:addr, +month = PLDI98:month, +pages = {236--248} +} + @article{manticore-parallelism:2010, author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam}, title = {Implicitly Threaded Parallelism in Manticore}, @@ -2853,6 +2883,20 @@ @book{SMLbasisbook year = 2004 } +% $DESIGN/types/weak-poly/Garrigue-value-restriction-FLOPS-2004.pdf +@inproceedings{garrigue:FLOPS:2004, +author = {Jacques Garrigue}, +title = {Relaxing the Value Restriction}, +booktitle = {FLOPS 2004: Functional and Logic Programming}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +numer = {2998}, +year = {2004}, +pages = {196--213}, +doi = {10.1007/978-3-540-24754-8_15} +} + % NOT REFERENCED @article{garrigue-nakata:2011, author = {Jacques Garrigue and Keiko Nakata}, @@ -3385,7 +3429,7 @@ @techreport{ECS-LFCS-91-162 % NEED ARCHIVE LINK (not referenced) % $DESIGN/types/weak-poly/Harper-SML-meeting-1985_05.pdf -% DO NOT CITE requested +% DO NOT CITE requested, use IPL 1994 reference below @unpublished{harper:poly-refs:91b, author = {Robert Harper}, title = {Yet another approach to polymorphic references}, @@ -3457,6 +3501,18 @@ @techreport{CMU-CS-94-104 numpages = 28 } +% $DESIGN/types/Harper-Lillibridge-LASC-1993.pdf +@article{harper-lillibridge:1993, +author = {Robert Harper and Mark Lillibridge}, +title = {Polymorphic type assignment and {CPS} conversion}, +journal = LASC, +volume = 6, +number = {3--4}, +year = {1993}, +pages = {361--380}, +doi = {10.1007/BF01019463} +} + % $DESIGN/modules/papers/1994-01-POPL-Harper-Lillibridge-HO-modules-with-sharing.pdf @inproceedings{harper-lillibridge:1994, author = {Robert Harper and Mark Lillibridge}, @@ -3639,6 +3695,21 @@ @article{hindley:newman:2008 doi = {10.1093/logcom/exm001} } +% $DESIGN/modules/papers/Hirschowitz-mixin-modules-FLOPS-2004.pdf +@inproceedings{hirschowitz:FLOPS:2004, +author = {Tom Hirschowitz}, +title = {Rigid Mixin Modules}, +booktitle = {FLOPS 2004: Functional and Logic Programming}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +numer = {2998}, +year = {2004}, +pages = {214--228}, +doi = {10.1007/978-3-540-24754-8_16} +} + + @article{hirschowitz-leroy:2005, author = {Tom Hirschowitz and Xavier Leroy}, title = {Mixin modules in a call-by-value setting}, @@ -3653,6 +3724,16 @@ @article{hirschowitz-leroy:2005 doi = {10.1145/1086642.1086644} } +% $DESIGN/types/weak-poly/Hoang-Mitchell-Viswanathan-weak-poly-SMLNJ-LICS-1993.pdf +@inproceedings{hoang-mitchell-viswanathan:1993, +author = {M. Hoang and J. Mitchell and Ramesh Viswanathan}, +title = {Standard {ML-NJ} weak polymorphism and imperative constructs}, +booktitle = {LICS '93: Proceedings of Eighth Annual IEEE Symposium on Logic in Computer Science}, +month = jul, +year = {1993}, +doi = 10.1109/LICS.1993.287604} +} + @inproceedings{holmstrom:pfl:83, author = {S. Holmstr{\"{o}}m}, title = {{PFL}: A functional language for parallel programming}, @@ -3939,12 +4020,42 @@ @article{kamareddine-seldin-wells:2016 } @phdthesis{kennedy:phd-thesis:96, -author = "Andrew J. Kennedy", -title = "Programming languages and dimensions", +author = {Andrew J. Kennedy}, +title = {Programming languages and dimensions}, year = 1996, month = apr, -school = "University of Cambridge, Computer Science Department", -address = "Cambridge, UK", -note = "Also available as Technical Report CL-TR-391" +school = {University of Cambridge, Computer Science Department}, +address = {Cambridge, UK}, +note = {Also available as Technical Report CL-TR-391} +} + +@inproceedings{generics-for-dotnet:2001, +author = {Kennedy, Andrew and Syme, Don}, +title = {Design and Implementation of Generics for the {.NET} Common Language Runtime}, +booktitle = PLDI01, +year = {2001}, +month = PLDI01:month, +publisher = acm:pub, +address = acm:addr, +pages = {1–12}, +location = PLDI01:loc, +doi = {10.1145/378795.378797}, +} + +% NOT REFERENCED +% $IMPLEMENTATION/papers/Kennedy-picklercombinators-JFP-2004.pdf +@article{kennedy:pickler:2004, +author = {Andrew J. Kennedy}, +title = {Pickler Combinators} +journal = JFP, +volume = {14}, +number = {6}, +month = nov, +year = {2004}, +publisher = CUP:pub, +address = CUP:addr, +pages = {727--739}, +doi = {10.1017/S0956796804005209}, +note = {\url{https://github.com/diku-dk/pickle/blob/master/README.md}} } @inproceedings{kennedy:cwcc:07, @@ -4032,6 +4143,7 @@ @inproceedings{kuan-macqueen:2009 doi = {10.1007/978-3-642-16478-1_13} } +% $DESIGN/modules/papers/Kuan-phd-thesis-2010.pdf @phdthesis{kuan:phd:2010, author = {George Kuan}, title = {A True Higher-Order Module System}, @@ -4316,6 +4428,19 @@ @inproceedings{lerner:searching-type-error:2007 doi = {10.1145/1250734.1250783} } +% $DESIGN/types/weak-poly/Leroy-Weis-POPL-1991.pdf +@inproceedings{leroy-weis:POPL:1991, +author = {Xavier Leroy and Pierre Weis}, +title = {Polymorphic type inference and assignment}, +booktitle = POPL18, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = {1991}, +pages = {291--302}, +doi = {10.1145/99583.99622} +} + @inproceedings{leroy93, author = {Xavier Leroy}, title = {Polymorphism by name for references and continuations}, @@ -5583,6 +5708,7 @@ @inproceedings{mitchell88:popl doi = {10.1145/73560.73563} } +% $DESIGN/types/weak-poly/Mitchell-Viswanathan-SMLNJ-weak-poly-IC-1996.pdf @article{mitchell-viswanathan:96, author = {John Mitchell and Ramesh Viswanathan}, title = {Standard {ML}-{NJ} Weak Polymorphism and Imperative Constructs}, @@ -5850,6 +5976,7 @@ @inproceedings{morrisett+:recursive-closures %%%%%%%%% % NOT REFERENCED +% $DESIGN/modules/papers/Nakata-Garrigue-rec-modules-ICFP-2006.pdf @inproceedings{nakata-garrigue:2006, author = {Keiko Nakata and Jacques Garrigue}, title = {Recursive modules for programming}, @@ -5861,6 +5988,16 @@ @inproceedings{nakata-garrigue:2006 pages = {74--86} } +% NOT REFERENCED +% $DESIGN/modules/papers/Nakata-Garrigue-Path_resolution_undecidable-WST-2007.pdf +@inproceedings{nakata-garrigue:2007, +author = {Keiko Nakata and Jacques Garrigue}, +title = {Path resolution for recursive nested modules is undecidable}, +booktitle = {WST 2007}, +year = 2007, +numpages = {7} +} + % NOT REFERENCED % $DESIGN/modules/papers/Nakata-phd-recmods-2007.pdf @phdthesis{nakata:phd:2007, @@ -6039,6 +6176,20 @@ @article{ophel:89 year = 1989 } +% $DESIGN/modules/papers/Owens-Flatt-SIGPLAN-2006.pdf +@article{owens-flatt:2006, +author = {Scott Owens and Matthew Flatt}, +title = {From structures and functors to modules and units}, +journal = {{ACM} {SIGPLAN} Notices}, +volume = 41, +number = 9, +month = sep, +year = 2006, +numpages = {12}, +doi = {10.1145/1160074.1159815} +} + + %%%%%%%%% %% %% %% PPP %% @@ -6691,7 +6842,17 @@ @inbook{alice-looking-glass } % NOT REFERENCED -% SML-history/Design/modules/papers/Rossberg-dynamic-translucency-2008.pdf +% $DESIGN/modules/papers/Rossberg-thesis-2007.pdf +@phdthesis{rossberg:phdthesis:2007, +author = {Andreas Rossberg}, +title = {Typed Open Programming: A higher-order, typed approach to dynamic + modularity and distribution}, +school = {Universit\"at des Saarlandes}, +year = {2007} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Rossberg-dynamic-translucency-2008.pdf @inproceedings{rossberg:dynamic-translucency:2008, author = {Andreas Rossberg}, title = {Dynamic Translucency with Abstraction Kinds and Higher-Order Coercions}, @@ -7520,7 +7681,10 @@ @inproceedings{strachey72 publisher = {Cini Foundation}, location = {Venice, Italy}, year = 12972, -pages = {345--362} +pages = {345--362}, +doi = {10.1007/978-1-4612-4118-8_3}, +note = {Technical Monograph PRG-10, Programming Research Group, + Oxford University Computing Laboratory, March, 1973} } % $DESIGN/types/type\ errors/Stuckey-Sulzmann-Wazny-Haskell-2004.pdf diff --git a/history/index.html b/history/index.html index b6cc56e..4662990 100644 --- a/history/index.html +++ b/history/index.html @@ -32,7 +32,7 @@

Papers and Talks

presented at the ACM History of Programming Langauges conference, currently postponed until perhaps the first half of 2021. Also, we offer the extensive - BibTeX bibliography file used for this paper. + standardml.bib BibTeX bibliography file used for this paper.

Design Documents

@@ -318,6 +318,6 @@

Basis Library Documents


dmacqueen at mac.com
-Last modified: Sun Apr 5 21:05:22 PDT 2020 +Last modified: Fri May 29 15:51:27 PDT 2020 diff --git a/history/standardml.bib b/history/standardml.bib new file mode 100644 index 0000000..e2a6c16 --- /dev/null +++ b/history/standardml.bib @@ -0,0 +1,8809 @@ +% BiBTeX file for HOPL paper +% + +% common strings for proceedings, journals, etc. +% +@String{academic-press:pub = "Academic Press, Inc."} +@String{academic-press:addr = "London, UK"} +@String{ACM:pub = "Association for Computing Machinery"} +@String{ACM:addr = "New York, NY, USA"} +@String{CUP:pub = "Cambridge University Press"} +@String{CUP:addr = "Cambridge, UK"} +@String{NH:pub = "North Holland"} +@String{NH:addr = "Amsterdam, Netherlands"} +@String{elsevier:pub = "Elsevier"} +@String{elsevier:addr = "New York, NY, USA"} +@String{EUP:pub = "Edinburgh University Press"} +@String{EUP:addr = "Edinburgh, UK"} +@String{kluwer:pub = "Kluwer Academic Publishers"} +@String{kluwer:addr = "Dordrecht/Boston/London"} +@String{mit-press:pub = "The {MIT} Press"} +@String{mit-press:addr = "Cambridge, MA, USA"} +@String{oxford:pub = "Oxford University Press"} +@String{oxford:addr = "Oxford, UK"} +@String{prentice:pub = "Prentice-Hall"} +@String{prentice:addr = "Upper Saddle River, NJ, USA"} +@String{springer:pub = "Springer-Verlag"} +@String{springer:addr = "New York, NY, USA"} +@String{USENIX:pub = "The {USENIX} Association"} +@String{USENIX:addr = "Berkeley, CA, USA"} +@String{DEC-SRC = "Digital Systems Research Center"} +@String{DEC-SRC:addr = "Palo Alto, CA, USA"} +@String{wiley:pub = "John Wiley \& Sons, Inc."} +@String{wiley:addr = "New York, NY, USA"} + +@String{princeton-cs = "Department of Computer Science, Princeton University"} +@String{princeton-cs:addr = "Princeton, NJ, USA"} + +@String{CACM = "Communications of the {ACM}"} +@String{CL = "Computer Languages"} +@String{Computer = "{IEEE} Computer"} +@String{ComputerJournal = "The Computer Journal"} +@String{HOSC = "Higher-order and Symbolic Computation"} +@String{ENTCS = "Electronic Notes in Theoretical Computer Science"} +@String{IC = "Information and Computation"} +@string{IEEE-COMPUTER = "{IEEE} Computer"} +@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{JSL = "Journal of Symbolic Logic"} +@String{LASC = "Journal of Lisp and Symbolic Computation"} +@STRING{LNCS = "Lecture Notes in Computer Science"} +@STRING{LNAI = "Lecture Notes in Artificial Intelligence"} +@String{LOPLAS = "{ACM} Letters on Programming Languages and Systems"} +@String{MSCS = "Mathematical Structures in Computer Science"} +@String{PACM = "Proceedings of the {ACM} on Programming Languages"} +@String{PLAS = "Programming Languages and Systems"} +@String{POLYMORPHISM = "Polymorphism: The {ML}/{LCF}/{Hope} {Newsletter}"} +@string{SIAMJC = "{SIAM} Journal on Computing"} +@string{SIGPLAN = "{ACM} {SIGPLAN} Notices"} +@string{SPE = "Software -- Practice and Experience"} +@string{SURVEYS = "{ACM} Computing Surveys"} +@String{TAPOS = "Theory and Practice of Object Systems"} +@String{TCS = "Theoretical Computer Science"} +@String{TOCL = "{ACM} Transactions on Computational Logic"} +@String{TOCS = "{ACM} Transactions on Computer Systems"} +@String{TOPLAS = "{ACM} Transactions on Programming Languages and Systems"} +@String{TOSEM = "{ACM} Transactions on Software Engineering and Methodology"} +@String{SCP = "Science of Computer Programming"} + +@String{LFCS = "{LFCS}, Department of Computer Science, University of Edinburgh"} +@String{LFCS:addr = "Edinburgh, UK"} + + +@String{ACM68 = "Proceedings of the 1968 23rd {ACM} + National Conference ({ACM} '68)"} + +@String{APLAS08 = "Proceedings of the 6th Asian Symposium on + Programming Languages and Systems ({APLAS} '08)"} +@String{APLAS08:month = dec} +@String{APLAS08:loc = "Bangalore, India"} + +@String{DSL99 = "Proceedings of the 2nd Conference on + Domain-Specific Languages ({DSL} '99)"} +@String{DSL99:loc = "Austin, TX, USA"} +@String{DSL99:month = oct} + +@String{ESOP92 = "Proceedings of the 4th European Symposium on + Programming ({ESOP} '92)"} +@String{ESOP92:month = feb} +@String{ESOP92:loc = "Rennes, France"} +@String{ESOP92:number = 582} +@String{ESOP94 = "Proceedings of the 5th European Symposium on + Programming ({ESOP} '94)"} +@String{ESOP94:month = apr} +@String{ESOP94:loc = "Edinburg, UK"} +@String{ESOP94:number = 788} +@String{ESOP00 = "Proceedings of the 9th European Symposium on + Programming ({ESOP} '00)"} +@String{ESOP00:month = mar} +@String{ESOP00:loc = "Berlin, Germany"} +@String{ESOP00:number = 1782} + +@string{FPCA81 = "Functional Programming Languages and + Computer Architecture (FPCA '81)"} +@String{FPCA81:month = oct} +@String{FPCA81:loc = "Portsmouth, NH, USA"} +@string{FPCA85 = "Functional Programming Languages and + Computer Architecture (FPCA '85)"} +@String{FPCA85:month = sep} +@string{FPCA87 = "Functional Programming Languages and + Computer Architecture (FPCA '87)"} +@String{FPCA87:month = sep} +@String{FPCA87:loc = "Portland, OR, USA"} +@string{FPCA89 = "Functional Programming Languages and + Computer Architecture (FPCA '89)"} +@String{FPCA89:month = sep} +@string{FPCA91 = "Functional Programming Languages and + Computer Architecture (FPCA '91)"} +@String{FPCA91:month = aug} +@string{FPCA93 = "Functional Programming Languages and + Computer Architecture (FPCA '93)"} +@String{FPCA93:month = jun} +@String{FPCA93:loc = "Copenhagen, Denmark"} +@string{FPCA95 = "Functional Programming Languages and + Computer Architecture (FPCA '95)"} +@String{FPCA95:month = jun} + +@String{ICFP96 = "Proceedings of the 1996 {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP} '96)"} +@String{ICFP96:month = may} +@String{ICFP96:loc = "Philadelphia, PA, USA"} +@String{ICFP97 = "Proceedings of the 1997 {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '97})"} +@String{ICFP97:month = jun} +@String{ICFP98 = "Proceedings of the Third {ACM} {SIGPLAN} International + Conference on Functional Programming ({ICFP '98})"} +@String{ICFP98:month = sep} +@String{ICFP98:loc = "Baltimore, MD, USA"} +@String{ICFP99 = "Proceedings of the Fourth {ACM} {SIGPLAN} International + Conference on Functional Programming ({ICFP '99})"} +@String{ICFP99:month = sep} +@String{ICFP00 = "Proceedings of the Fifth {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '00})"} +@String{ICFP00:month = sep} +@String{ICFP00:loc = "Montreal, Canada"} +@String{ICFP01 = "Proceedings of the Sixth {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '01})"} +@String{ICFP01:month = sep} +@String{ICFP01:loc = "Florence, Italy"} +@String{ICFP02 = "Proceedings of the Seventh {ACM} {SIGPLAN} International + Conference on Functional Programming ({ICFP '02})"} +@String{ICFP02:month = oct} +@String{ICFP04 = "Proceedings of the 9th {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '04})"} +@String{ICFP04:month = sep} +@String{ICFP05 = "Proceedings of the 10th {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '05})"} +@String{ICFP05:month = sep} +@String{ICFP05:loc = "Tallinn, Estonia"} +@String{ICFP06 = "Proceedings of the 11th {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '06})"} +@String{ICFP06:month = sep} +@String{ICFP06:loc = "Portland, OR, USA"} +@String{ICFP07 = "Proceedings of the 12th {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '07})"} +@String{ICFP07:month = oct} +@String{ICFP07:loc = "Freiburg, Germany"} +@String{ICFP08:year = {2008}} +@String{ICFP08 = "Proceedings of the 13th {ACM} {SIGPLAN} + International Conference on Functional + Programming ({ICFP '08})"} +@String{ICFP08:month = sep} +@String{ICFP08:loc = "Victoria, BC, Canada"} +@STRING{ICFP09 = "Proceedings of the 14th {ACM} {SIGPLAN} International + Conference on Functional Programming ({ICFP '09})"} +@String{ICFP09:month = "August--September"} +@String{ICFP09:loc = "Edinburgh, Scotland, UK"} +@STRING{ICFP10 = "Proceedings of the 15th {ACM} {SIGPLAN} International + Conference on Functional Programming ({ICFP '10})"} +@String{ICFP10:month = sep} +@String{ICFP10:loc = "Baltimore, MD, USA"} +@String{ICFP12 = "Proceedings of the 17th {ACM} {SIGPLAN} International + Conference on Functonal Programming ({ICFP '12})"} +@String{ICFP12:year = {2012}} +@String{ICFP12:month = sep} +@String{ICFP12:loc = "Copenhagen, Denmark"} +@String{ICFP13 = "Proceedings of the 18th {ACM} {SIGPLAN} International + Conference on Functonal Programming ({ICFP '13})"} +@String{ICFP13:month = sep} +@String{ICFP13:loc = "Boston, MA, USA"} +@String{ICFP14 = "Proceedings of the 20th {ACM} {SIGPLAN} International + Conference on Functonal Programming ({ICFP '14})"} +@String{ICFP14:month = sep} +@String{ICFP14:loc = "Gothenburg, Sweden"} +@String{ICFP15 = "Proceedings of the 20th {ACM} {SIGPLAN} International + Conference on Functonal Programming ({ICFP '15})"} +@String{ICFP15:month = sep} +@String{ICFP15:loc = "Vancouver, BC, Canada"} +@String{ICFP16 = "Proceedings of the 21st {ACM} {SIGPLAN} International + Conference on Functonal Programming ({ICFP '16})"} +@String{ICFP15:month = sep} +@String{ICFP16:loc = "Nara, Japan"} +@String{ICFP18 = "Proceedings of the 2018 {SIGPLAN} International + Conference on Functonal Programming ({ICFP '18})"} +@String{ICFP18:month = sep} +@String{ICFP18:loc = "St. Louis, MO, USA"} + +@String{IFL99 = "11th International Workshop on the + Implementation of Functional + Languages (IFL '99)"} +@String{IFL99:month = sep} +@String{IFL99:loc = "Lochem, The Netherlands"} +@String{IFL99:vol = 1868} + +@String{IFL03 = "15th International Workshop on the + Implementation of Functional + Languages ({IFL} '03)"} +@String{IFL03:month = sep} +@String{IFL03:loc = "Edinburgh, UK"} +@String{IFL03:vol = 3145} +@String{IFL06 = "18th International Symposium on the + Implementation and Application of + Functional Languages ({IFL} '06)"} +@String{IFL06:loc = "Budapest, Hungary"} +@String{IFL06:vol = 4449} +@String{IFL09 = "21st International Workshop on the + Implementation and Application of Functional + Languages ({IFL} '09)"} +@String{IFL09:month = sep} +@String{IFL09:loc = "South Orange, NJ, USA"} +@String{IFL09:vol = 6041} +@String{IFL18 = "30th Symposium on Implementation and Application + of Functional Languages ({IFL} '18)"} +@String{IFL18:month = sep} +@String{IFL18:loc = "Lowell, MA, USA"} + +@string{LISP80 = "Conference Record of the 1980 {ACM} Conference + on {Lisp} and Functional Programming ({LFP} '80)"} +@string{LISP80:month = aug} +@string{LISP82 = "Conference record of the 1982 {ACM} Conference + on {Lisp} and Functional Programming ({LFP} '82)"} +@String{LISP84 = "Conference Record of the 1984 {ACM} Symposium on + {Lisp} and Functional Programming ({LFP} '84)"} +@String{LISP84:month = aug} +@String{LISP84:loc = "Austin, TX, USA"} +@string{LISP86 = "Conference record of the 1986 {ACM} Conference on + {Lisp} and Functional Programming ({LFP} '86)"} +@string{LISP88 = "Conference record of the 1988 {ACM} Conference on + {Lisp} and Functional Programming ({LFP} '88)"} +@string{LISP88:month = jul} +@string{LISP88:loc = "{Snowbird, UT, USA}"} +@string{LISP90 = "Conference record of the 1990 {ACM} Conference on + {Lisp} and Functional Programming ({LFP} '90)"} +@string{LISP90:month = jun} +@string{LISP92 = "Conference record of the 1992 {ACM} Conference on + {Lisp} and Functional Programming ({LFP} '92)"} +@string{LISP92:month = jun} +@string{LISP94 = "Proceedings of the 1994 {ACM} Conference on + {Lisp} and Functional Programming ({LFP} '94)"} +@string{LISP94:month = jun} +@string{LISP94:loc = "Orlando, FL, USA"} + +@string{ML90 = "{Standard ML} Workshop"} +@string{ML90:month = jun} +@string{ML90:year = "1990"} +@string{ML91 = "Third International Workshop on {Standard ML}"} +@string{ML92 = "Proceedings of the 1992 {ACM SIGPLAN} Workshop on {ML} and its Applications"} +@string{ML94 = "Proceedings of the 1994 {ACM SIGPLAN} Workshop on {ML} and its Applications"} +@string{ML98 = "Proceedings of the 1998 {ACM SIGPLAN} Workshop on {ML} ({ML} '98)"} +@string{ML05 = "Proceedings of the 2005 {ACM SIGPLAN} Workshop on {ML} ({ML} '05)"} +@string{ML06 = "Proceedings of the 2006 {ACM SIGPLAN} Workshop on {ML} ({ML} '06)"} +@string{ML06:month = sep} +@string{ML06:loc = "Portland, OR, USA"} +@string{ML07 = "Proceedings of the 2007 {ACM SIGPLAN} Workshop on {ML} ({ML} '07)"} +@string{ML07:month = oct} +@string{ML08 = "Proceedings of the 2008 {ACM SIGPLAN} Workshop on {ML} ({ML} '08)"} +@string{ML08:month = sep} +@String{ML10 = "Proceedings of the 2010 {ACM SIGPLAN} Workshop on {ML} ({ML} '10)"} +@String{ML10:month = sep} +@String{ML10:loc = "Baltimore, MD, USA"} +@String{ML18 = "{ACM SIGPLAN} {ML} Family Workshop"} +@String{ML18:month = sep} +@String{ML18:loc = "Saint Louis, MO, USA"} + + +@STRING{MSPC11 = "Proceedings of the {ACM} {SIGPLAN} Workshop on + Memory Systems Performance and Correctness + ({MSPC} 2011)"} + +@String{PEPM94 = "Proceedings of the {ACM} {SIGPLAN} Workshop on + Partial Evaluation and Semantics-Based + Program Manipulation ({PEPM} '94)"} +@String{PEPM94:month = jun} +@String{PEPM94:loc = "Orlando, FL, USA"} + +@String{PLDI88:month = jun} +@String{PLDI88 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '88)"} +@string{PLDI89 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '89)"} +@string{PLDI90 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '90)"} +@String{PLDI91:month = jun} +@string{PLDI91 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '91)"} +@String{PLDI92:month = jun} +@string{PLDI92 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '92)"} +@string{PLDI93 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '93)"} +@string{PLDI94 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '94)"} +@String{PLDI94:month = jun} +@String{PLDI94:loc = "Orlando, FL, USA"} +@string{PLDI95 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '95)"} +@String{PLDI95:month = jun} +@String{PLDI95:loc = "La Jolla, CA, USA"} +@string{PLDI96 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '96)"} +@String{PLDI96:month = may} +@String{PLDI96:loc = "Philadelphia, PA, USA"} +@string{PLDI97 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '97)"} +@string{PLDI98 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '98)"} +@String{PLDI98:month = jun} +@string{PLDI99 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '99)"} +@String{PLDI99:month = may} +@String{PLDI99:loc = "Atlanta, GA, USA"} +@string{PLDI00 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '00)"} +@String{PLDI00:month = jun} +@string{PLDI01 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '01)"} +@String{PLDI01:month = jun} +@String{PLDI01:loc = "Snowbird, UT, USA"} +@String{PLDI02 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '02)"} +@String{PLDI02:month = jun} +@String{PLDI02:loc = "Berlin, Germany"} +@String{PLDI03 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '03)"} +@String{PLDI03:month = jun} +@String{PLDI03:loc = "San Diego, CA, USA"} +@string{PLDI04 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '04)"} +@String{PLDI04:month = jun} +@string{PLDI05 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '05)"} +@String{PLDI05:month = jun} +@String{PLDI05:loc = "Chicago, IL, USA"} +@string{PLDI06 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '06)"} +@String{PLDI06:loc = "Ottawa, Canada"} +@string{PLDI07 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '07)"} +@String{PLDI07:month = jun} +@String{PLDI07:loc = "San Diego, CA, USA"} +@string{PLDI08 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '08)"} +@String{PLDI08:month = jun} +@String{PLDI08:loc = "San Diego, CA, USA"} +@String{PLDI12 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '12)"} +@String{PLDI12:month = jun} +@String{PLDI12:loc = "Beijing, China"} +@String{PLDI15 = "Proceedings of the {SIGPLAN} Conference on Programming + Language Design and Implementation ({PLDI} '15)"} +@String{PLDI15:month = jun} + +@String{POPL1 = "Conference Record of the 1st Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '73)"} +@String{POPL1:year = "1973"} +@String{POPL2 = "Conference Record of the 2nd Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '75)"} +@String{POPL2:year = "1975"} +@String{POPL5 = "Conference Record of the 5th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '78)"} +@String{POPL5:year = "1978"} +@String{POPL9 = "Conference Record of the 9th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '82)"} +@String{POPL9:year = "1982"} +@String{POPL11 = "Conference Record of the 11th Annual ACM Symposium on + Principles of Programming Languages (POPL '84)"} +@String{POPL11:year = "1984"} +@String{POPL12 = "Conference Record of the 12th Annual ACM Symposium on + Principles of Programming Languages (POPL '85)"} +@String{POPL12:year = "1985"} +@String{POPL13 = "Conference Record of the 13th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '86)"} +@String{POPL13:year = "1986"} +@String{POPL14 = "Conference Record of the 14th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '87)"} +@String{POPL14:year = "1987"} +@String{POPL15 = "Conference Record of the 15th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '88)"} +@String{POPL15:year = "1988"} +@String{POPL16 = "Conference Record of the 16th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '89)"} +@String{POPL16:year = "1989"} +@String{POPL16:loc = "Austin, TX, USA"} +@String{POPL17 = "Conference Record of the 17th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '90)"} +@String{POPL17:year = "1990"} +@String{POPL18 = "Conference Record of the 18th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '91)"} +@String{POPL18:year = "1991"} +@String{POPL19 = "Conference Record of the 19th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '92)"} +@String{POPL19:year = "1992"} +@String{POPL19:loc = "Albuquerque, NM, USA"} +@String{POPL20 = "Conference Record of the 20th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '93)"} +@String{POPL20:year = "1993"} +@String{POPL21 = "Conference Record of the 21st Annual {ACM }Symposium on + Principles of Programming Languages (POPL '94)"} +@String{POPL21:year = "1994"} +@String{POPL21:loc = "Portland, Oregon, USA"} +@String{POPL22 = "Conference Record of the 22nd Annual {ACM }Symposium on + Principles of Programming Languages (POPL '95)"} +@String{POPL22:year = "1995"} +@String{POPL22:loc = "San Francisco, CA, USA"} +@String{POPL23 = "Conference Record of the 23rd Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '96)"} +@String{POPL23:year = "1996"} +@String{POPL23:loc = "St. Petersburg Beach, FL, USA"} +@String{POPL24 = "Conference Record of the 24th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '97)"} +@String{POPL24:year = "1997"} +@String{POPL24:loc = "Paris, France"} +@String{POPL25 = "Conference Record of the 25th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '98)"} +@String{POPL25:year = "1998"} +@String{POPL25:loc = "San Diego, CA, USA"} +@String{POPL26 = "Conference Record of the 26th Annual {ACM} + Symposium on Principles of Programming + Languages (POPL '99)"} +@String{POPL26:year = "1999"} +@String{POPL26:loc = "San Antonio, TX, USA"} +@String{POPL27 = "Proceedings of the 27th Annual {ACM} {SIGPLAN-SIGACT} + Symposium on Principles of Programming + Languages (POPL'00)"} +@String{POPL27:year = "2000"} +@String{POPL27:loc = "Boston, MA, USA"} +@String{POPL28 = "Conference Record of the 28th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '01)"} +@String{POPL28:year = "2001"} +@String{POPL30 = "Conference Record of the 30th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '03)"} +@String{POPL30:year = "2003"} +@String{POPL31 = "POPL '04: Proceedings of the 31th Annual {ACM} Symposium on + Principles of Programming Languages"} +@String{POPL31:year = "2004"} +@String{POPL31:loc = "Venice, Italy"} +@String{POPL32 = "Conference Record of the 32nd Annual {ACM} Symposium on + Principles of Programming Languages (POPL '05)"} +@String{POPL32:year = "2005"} +@String{POPL33 = "Conference Record of the 33rd Annual {ACM} Symposium on + Principles of Programming Languages (POPL '06)"} +@String{POPL33:year = "2006"} +@String{POPL34 = "Conference Record of the 34th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '07)"} +@String{POPL34:month = jan} +@String{POPL34:year = "2007"} +@String{POPL35 = "Conference Record of the 35th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '08)"} +@String{POPL35:month = jan} +@String{POPL35:year = "2008"} +@String{POPL35:loc = "San Francisco, CA, USA"} +@String{POPL36 = "POPL '09: Proceedings of the 36th Annual {ACM} Symposium on + Principles of Programming Languages"} +@String{POPL36:month = jan} +@String{POPL36:year = "2009"} +@String{POPL37 = "Conference Record of the 37th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '10)"} +@String{POPL37:year = "2010"} +@String{POPL37:loc = "Madrid, Spain"} +@String{POPL38 = "Conference Record of the 38th Annual {ACM} Symposium on + Principles of Programming Languages (POPL '11)"} +@String{POPL38:year = "2011"} +@String{POPL38:loc = "Austin, TX, USA"} +@String{POPL41 = "Proceedings of the 41st Annual {ACM} {SIGPLAN}-{SIGACT} + Symposium on Principles of Programming Languages"}, +@String{POPL41:month = jan} +@String{POPL41:year = "2014"} +@String{POPL42 = "Proceedings of the 42nd Annual {ACM} {SIGPLAN}-{SIGACT} + Symposium on Principles of Programming Languages"}, +@String{POPL42:month = jan} +@String{POPL42:year = "2015"} +@String{POPL42:loc = "Mumbai, India"} +@String{POPL44 = "Proceedings of the 44th {ACM} Symposium on + Principles of Programming Languages ({POPL} '17)"} +@String{POPL44:month = jan} +@String{POPL44:year = "2017"} +@String{POPL44:loc = "Paris, France"} + +@String{PPDP99 = "Proceedings of the International + Conference on Principles and Practice of Declarative + Programming ({PPDP} '99)"} +@String{PPDP99:month = "September--October"} +@String{PPDP99:loc = "Paris, France"} +@String{PPDP03 = "Proceedings of the 5th International {ACM} {SIGPLAN} + Conference on Principles and Practice of Declarative + Programming ({PPDP} '03)"} +@String{PPDP03:month = aug} +@String{PPDP03:loc = "Uppsala, Sweden"} +@String{PPDP04 = "Proceedings of the 6th International {ACM} {SIGPLAN} + Conference on Principles and Practice of Declarative + Programming ({PPDP} '04)"} +@String{PPDP04:month = aug} +@String{PPDP04:loc = "Verona, Italy"} + +@string{PPoPP93 = "Proceedings of the 4th {ACM} {SIGPLAN} Symposium on Principles \& + Practice of Parallel Programming"} +@string{PPoPP93:month = may} + +@string{TIC98 = "Proceedings of the 2nd International Workshop on Types + in Compilation ({TIC} '98)"} +@string{TIC98:month = mar} +@string{TIC98:vol = 1473} +@string{TIC98:loc = "Kyoto, Japan"} + +% Bibliography entries ordered by first-author's last name +% + +%%%%%%%%% +%% %% +%% AAA %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@incollection{aczel:ind-def, +author = {Peter Aczel}, +title = {An Introduction to Inductive Definitions}, +booktitle = {Handbook of Mathematical Logic}, +editor = {Jon Barwise}, +publisher = elsevier:pub, +address = elsevier:addr, +series = {Studies in Logic and the Foundations of Mathematics}, +volume = {90}, +year = {1977}, +pages = {739 - 782} +} + +@inproceedings{bane:1998, +title = "A toolkit for constructing type- and constraint-based program analyses", +author = "Alexander Aiken and Manuel F{\"{a}}hndrich and Jeffrey S. Foster and Zhendong Su", +booktitle = TIC98, +location = TIC98:loc, +series = LNCS, +volume = TIC98:vol, +publisher = springer:pub, +address = springer:addr, +year = 1998, month = TIC98:month, +pages = "78-96", +doi = {10.1007/BFb0055513} +} + +@techreport{absconst-for-sml, +title = {Abstract Value Constructors: Symbolic Constants for {Standard} {ML}}, +author = {William E. Aitken and John H. Reppy}, +institution = {Department of Computer Science, Cornell University}, +number = {TR 92-1290}, +year = 1992, +month = JUN, +note = {A shorter version appears in the proceedings of the ``ACM SIGPLAN + Workshop on ML and its Applications,'' 1992}, +url = {https://people.cs.uchicago.edu/~jhr/papers/1992/tr-sml-const.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170715041149/https://people.cs.uchicago.edu/~jhr/papers/1992/tr-sml-const.pdf}, +archiveddate = {2017-07-15T04:11:49}, +numpages = {31} +} + +% NOT REFERENCED +% $DEFN/modules/Ancona-Zucca-module-calculus-PPDP-1999.pdf +@inproceedings{ancona-zucca:1999, +author = {Davide Ancona and Elena Zucca}, +title = {A Primitive Calculus for Module Systems}, +booktitle = PPDP99, +location = PPDP99:loc, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {1702}, +year = {1999}, month = PPDP99:month, +pages = {62--79} +} + +% NOT REFERENCED +% $DEFN/modules/Ancone-Zucca-module-calculus-JFP-2002.pdf +@article{ancona-zucca:2002, +author = {Davide Ancona and Elena Zucca}, +title = {A calculus of module systems}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 12, +number = 2, +year = 2002, +pages = {91--132} +} + +@inproceedings{appel-macqueen:87, +author = {Andrew W. Appel and David B. MacQueen}, +title = {A {Standard} {ML} {Compiler}}, +booktitle = FPCA87, +series = LNCS, +volume = 274, +year = 1987, month = FPCA87:month, +location = FPCA87:loc, +publisher = springer:pub, +address = springer:addr, +pages = {301--324}, +doi = {10.1007/3-540-18317-5_17} +} + +@article{appel-gc-faster:87, +author = {Andrew W. Appel}, +title = {Garbage collection can be faster than stack allocation}, +journal = IPL, +volume = 25, +number = 4, +month = jun, +year = 1987, +pages = {275--279}, +doi = {10.1016/0020-0190(87)90175-X} +} + +%file: SML-history/Edinburgh-TM/ECS-LFCS-88-55.pdf +@techreport{ECS-LFCS-88-55, +author = {Andrew Appel and David MacQueen and Robin Milner and Mads Tofte}, +title = {Unifying Exceptions with Constructors in {Standard} {ML}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-88-55}, +month = may, +year = 1988 +} + +% NOT REFERENCED +@techreport{appel-jim-closure-env:88, +author = {Andrew W. Appel and Trevor T. Y. Jim}, +title = {Optimizing Closure Environment Representations}, +institution = princeton-cs, +address = princeton-cs:addr, +number = {CS-TR-168-88}, +year = 1988 +} + +% NOT REFERENCED +@techreport{appel-etal-profiling:88, +author = {Andrew W. Appel and Bruce F. Duba and David B. MacQueen}, +title = {Profiling in the Presence of Optimization and Garbage Collection}, +institution = princeton-cs, +address = princeton-cs:addr, +number = {CS-TR=197-88}, +month = nov, +year = 1988 +} + +@article{appel:runtime-tags:1989, +author = {Andrew W. Appel}, +title = {Runtime Tags Aren't Necessary}, +journal = LASC, +year = 1989, month = jun, +volume = 2, number = 2, +pages = {153-62}, +doi = {10.1007/BF01811537} +} + +@article{appel-generational-GC:89, +author = {Andrew W. Appel}, +title = {Simple Generational Garbage Collection and Fast Allocation}, +journal = SPE, +publisher = wiley:pub, address = wiley:addr, +year = 1989, +volume = 19, +number = 2, +pages = {171--183}, +doi = {10.1002/spe.4380190206} +} + +@inproceedings{appel-jim-cps:89, +author = {Andrew W. Appel and Trevor Jim}, +title = {Continuation-Passing, Closure-Passing Style}, +publisher = ACM:pub, address = ACM:addr, +bookTitle = POPL16, +location = POPL16:loc, +year = POPL16:year, +pages = {293--302}, +doi = {10.1145/75277.75303} +} + +@article{appel-runtime-system:90, +author = {Andrew W. Appel}, +title = {A Runtime System}, +journal = LASC, +publisher = springer:pub, +address = springer:addr, +year = 1990, month = nov, +volume = 3, number = 4, +pages = {343--380}, +doi = {10.1007/BF01807697} +} + +% $IMPLEMENTATION/SMLNJ/papers/Appel-MacQueen-SMLNJ-1991.pdf +@inproceedings{SMLNJ91, +author = {Andrew Appel and David B. {MacQueen}}, +title = {Standard ML of New Jersey}, +booktitle = {Programming Language Implementation and Logic Programming ({PLILP} '91)}, +editor = {J. Maluszynski and M. Wirsing}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = {528}, +year = {1991}, +pages = {1--13}, +doi = {10.1007/3-540-54444-5_83} +} + +@book{appel-compiling-continuations:92, +author = {Andrew W. Appel}, +title = {Compiling with Continuations}, +publisher = CUP:pub, +address = CUP:addr, +year = 1992 +} + +% NOT REFERENCED +@techreport{appel-unrolling-recursions:92, +author = {Andrew W. Appel}, +title = {Unrolling Recursions Saves Space}, +institution = princeton-cs, +address = princeton-cs:addr, +number = {CS-TR-363-92}, +month = mar, +year = 1992 +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{appel-value-oriented:9X, +author = {Andrew W. Appel}, +title = {Value Oriented Programming not Object Oriented Programming}, +year = {199X}, +note = {slides for a talk}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@article{appel-shao-callee-save:92, +author = {Andrew W. Appel and Zhong Shao}, +title = {Callee-save Registers in Continuation-Passing Style}, +journal = LASC, +volume = 5, +publisher = kluwer:pub, +address = kluwer:addr, +month = sep, year = 1992, +pages = {191-221}, +doi = {10.1007/BF01807505} +} + +@article{appel-critique:93, +author = {Andrew W. Appel}, +title = {A critique of {Standard} {ML}}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +year = {1993}, month = oct, +volume = {3}, number = {4}, +pages = {391--429}, +doi = {10.1017/S0956796800000836} +} + +@techreport{appel-concalves-hash-GC:93, +author = {Andrew W. Appel and Marcelo J. R. Concalves}, +title = {Hash-consing Garbage Collection}, +institution = princeton-cs, +address = princeton-cs:addr, +year = 1993, +month = feb, +number = {CS-TR-412-93} +} + +@unpublished{basis-draft:94-03-05, +author={Andrew W. Appel and Dave Berry and Emden R. Gansner and Lal George + and Lorenz Huelsbergen and Dave MacQueen and John Reppy}, +title = {A {New} {Initial} {Basis} for {Standard} {ML} (Draft)}, +year = 1994, month = mar, +note = {Draft design document dated March 5, 1994}, +url = {http://sml-family.org/history/basis-1994-03-05.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200313180417/http://sml-family.org/history/basis-1994-03-05.pdf}, +archiveddate = {2020-03-13T18:04:17}, +numpages = 74 +} + +@unpublished{appel:io-design:94-11-03, +title = "Proposed interface for {Standard} {ML} {Stream} {I/O}", +author = "Andrew W. Appel", +year = 1994, month = nov, +url = {http://sml-family.org/history/io.94-11-14.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200314181846/http://sml-family.org/history/io.94-11-14.pdf}, +archiveddate = {2020-03-14T18:18:46}, +numpages = {24} +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{appel-bootstrapping-SMLNJ:94, +author = {Andrew W. Appel}, +title = {Bootstrapping {SML/NJ} Axiomatically}, +month = jan, +year = 1994, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +% NOT REFERENCED +@techreport{appel-bootstrapping-TM:94, +author = {Andrew W. Appel}, +title = {Axiomatic Bootstrapping: A Guide for the Compiler Hacker}, +institution = princeton-cs, +address = princeton-cs:addr, +year = 1994, +month = {March}, +number = {CS-TR-451-94} +} + +% $IMPLEMENTATION/SMLNJ/papers/Appel-MacQueen-separate-compilation-PLDI-1994.pdf +@inproceedings{separate-comp-for-smlnj:1994, +author = {Appel, Andrew W. and MacQueen, David B.}, +title = {Separate Compilation for {Standard} {ML}}, +booktitle = PLDI94, +year = {1994}, month = PLDI94:month, +publisher = acm:pub, +address = acm:addr, +pages = {13–23}, +numpages = {11}, +doi = {10.1145/178243.178245}, +} + +% NOT REFERENCED +@techreport{appel-bootstrapping:94, +author = {Andrew W. Appel}, +title = {Axiomatic Bootstrapping: A Guide for Compiler Hackers}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume = 16, +number = 6, +year = 1994, +month = nov, +pages = {1699--1718} +} + +@unpublished{basis-draft:95-06-26, +author={Andrew W. Appel and Matthew Arcus and Nick Barnes and Dave Berry and + Richard Brooksby and Emden R. Gansner and Lal George and Lorenz Huelsbergen and + Dave MacQueen and Brian Monahan and John Reppy and Jon Thackray and Peter Sestoft}, +title = {A {New} {Initial} {Basis} for {Standard} {ML} (Draft)}, +year = 1995, month = jun, +note = {Draft design document dated June 26, 1995}, +url = {http://sml-family.org/history/basis-1995-06-26.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200314182655/http://sml-family.org/history/basis-1995-06-26.pdf}, +archiveddate = {2020-03-14T18:26:55}, +numpages = 113 +} + +@unpublished{appel:io-design:95-07-13, +title = "Proposed interface for {Standard} {ML} {Stream} {I/O}", +author = "Andrew W. Appel", +year = 1995, month = jul, +url = {http://sml-family.org/history/io.95-07-13.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200315172956/http://sml-family.org/history/io.95-07-13.pdf}, +archiveddate = {2020-03-15T17:29:56}, +numpages = {24} +} + +% NOT REFERENCED +@article{appel-shao:stack-vs-heap:96, +author= {Andrew W. Appel and Zhong Shao}, +title = {An Empirical and Analytic Study of Stack vs. Heap Cost for Languages with Closures}, +journal = JFP, +publisher = cup:pub, +address = cup:addr, +volume = 6, +number = 1, +month = jan, +year = 1996, +pages = {47--74}, +doi = {10.1017/S095679680000157X} +} + +@book{appel:modern-compiler-in-ml, + author = "Andrew W. Appel", + title = "Modern Compiler Implementation in {ML}", + year = 1998, + publisher = cup:pub, + address = cup:addr +} + +@inproceedings{optimal-spilling:2001, +author = {Andrew W. Appel and Lal George}, +title = {Optimal Spilling for CISC Machines with Few Registers}, +booktitle = PLDI01, +year = {2001}, month = PLDI01:month, +isbn = {1-58113-414-2}, +location = PLDI01:loc, +pages = {243--253}, +numpages = {11}, +doi = {10.1145/378795.378854}, +acmid = {378854}, +publisher = acm:pub, +address = acm:addr, +} + +@phdthesis{astarte:phd:2019, +author = {Troy Kaighin Astarte}, +title = {Formalising Meaning, a History of Programming Language Semantics}, +school = {School of Computing, Newcastle University}, +month = jun, +year = 2019, +note = {Advisor: Cliff Jones} +} + +% NOT REFERENCED +@inproceedings{aponte:modules:1993, +author = {Maria-Virginia Aponte}, +title = {Extending record typing to type parametric modules with sharing}, +booktitle = POPL20, +publisher = ACM:pub, +address = ACM:addr, +year = POPL20:year, +pages = {465--478} +} + +@inproceedings{aspinall:subtyping-singletons:1994, +author = {David Aspinall}, +title = {Subtyping with singleton types}, +booktitle = {Proceedings of the 8th Workshop on Computer Science Logic ({CSL} '94)}, +location = {Kazimierz, Poland}, +year = 1995, month = sep, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {933}, +pages = {1--15}, +doi = {10.1007/BFb0022243} +} + +% NOT REFERENCED +@incollection{astarte-jones:2018, +author = {Troy K. Astarte and Cliff B. Jones}, +title = {Formal Semantics of {ALGOL} 60: Four Descriptions in their Historical Context}, +booktitle = {Reflections on Programming Systems}, +editor = {L. De Mol and G. Primiero}, +publisher = springer:pub, +address = springer:addr, +series = {Philosophical Studies Series}, +volume = 133, +year = 2018, +pages = {83--152} +} + +% NOT REFERENCED +@inproceedings{augustsson:84, +author = {Lennart Augustsson}, +title = {A compiler for lazy {ML}}, +booktitle = LISP84, +publisher = ACM:pub, +address = ACM:addr, +month = LISP84:month, +year = 1984, +pages = {218--227} +} + +% NOT REFERENCED +@inproceedings{augustsson:85, +author = {Lennart Augustsson}, +title = {Compiling pattern matching}, +booktitle = FPCA85, +series = LNCS, +volume = 201, +publisher = springer:pub, +address = springer:addr, +year = 1985, month = FPCA85:month, +pages = {368--381} +} + +@inproceedings{gc-for-multicore-numa:11, + author = {Sven Auhagen and Lars Bergstrom and Matthew Fluet and John Reppy}, + title = {Garbage Collection for Multicore {NUMA} Machines}, + booktitle = MSPC11, + publisher = acm:pub, + address = acm:addr, + year = 2011, month=jun, + pages="51-57", + doi = {10.1145/1988915.1988929} +} + +@inproceedings{aydemir-etal:formal-metatheory, +author = {Aydemir, Brian and Chargu\'{e}raud, Arthur and Pierce, Benjamin C. + and Pollack, Randy and Weirich, Stephanie}, +title = {Engineering Formal Metatheory}, +year = {2008}, month = jan, +isbn = {9781595936899}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/1328438.1328443}, +booktitle = POPL35, +pages = {3–15}, +numpages = {13}, +keywords = {coq, binding, locally nameless}, +location = POPL35:loc +} + +%%%%%%%%% +%% %% +%% BBB %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@inproceedings{baeten-bergstra-klop:87, +author = {J. C. M. Baeten and J. A. Bergstra and J. W. Klop}, +title = {Term rewriting systems with priorities}, +booktitle = {RTA 1987: Rewriting Techniques and Applications}, +series = LNCS, +volume = 256, +publisher = springer:pub, +address = springer:addr, +year = 1987, +pages = {83--94} +} + +% NOT REFERENCED +% $DEFN/other languages/PL-I/Bandat-PL_I-1968.pdf +@inproceedings{bandat:PL-I:1968, +author = {K. Bandat}, +title = {On the formal definition of {PL/I}}, +booktitle = {Proceedings of the Spring Joint Computer Conference (AFIPS '68)}, +location = {Atlantic City, NJ, USA}, +month = apr, +year = 1968, +pages = {363--373} +} + +% NOT REFERENCED +@inproceedings{banerjee-schmidt, +author = {Anindya Banerjee and David A. Schmidt}, +title = {A Categorical Interpretation of Landin's Correspondence Principle}, +booktitle = {MFPS 1993: Mathematical Foundations of Programming Semantics}, +publisher = springer:pub, +address = springer:addr, +year = 1993, +pages = {587--602} +} + +@incollection{barendregt:92, +author = {H. P. Barendregt}, +title = {Lambda calculi with types}, +booktitle = {Handbook of Logic in Computer Science (Volume 2)}, +publisher = oxford:pub, +address = oxford:addr, +year = 1992, +pages = {117--309} +} + +% NOT REFERENCED +@book{barendregt:2013, +authors = {H. Barendregt and W. Dekkers and R. Statman}, +title = {Lambda Calculus with Types}, +series = {Perspectives in Logic}, +publisher = CUP:pub, +address = CUP:addr, +year = 2013 +} + +@article{CPL:2, +author = {D. W. Barron and J. N. Buxton and D. F. Hartley and E. Nixon and C. Strachey}, +title = "The Main Features of {CPL}", +journal = ComputerJournal, +publisher = oxford:pub, address = oxford:addr, +volume = {6}, number = {2}, +month = aug, year = {1963}, +pages = {134-143}, +doi = {10.1093/comjnl/6.2.134} +} + +% $IMPLEMENTATION/pat-match/papers/Baudinet/Baudinet-DM-tree-pat-match-12-85.pdf +@unpublished{baudinet-macqueen:85, +author = {Marianne Baudinet and David MacQueen}, +title = {Tree Pattern Matching for ML (extended abstract)}, +month = dec, +year = 1985, +url = {http://sml-family.org/history/Baudinet-DM-tree-pat-match-12-85.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316180154/http://sml-family.org/history/Baudinet-DM-tree-pat-match-12-85.pdf}, +archiveddate = {2020-03-16T18:01:54} +} + +% $DESIGN/types/type\ errors/Beaven-Stansifer-ACM-LPLS-1993.pdf +@article{beaven-stansifer:1993, +author = {Mike Beaven and Ryan Stansifer}, +title = {Explaining Type Errors in Polymorphic Languages}, +journal = LOPLAS, +publisher = ACM:pub, +address = ACM:addr, +volume = {2}, +number = {1--4}, +month = {March--December}, +year = {1993}, +pages = {17--30}, +doi = {10.1145/176454.176460} +} + +% NOT REFERENCED +@inproceedings{beech:defn-PLI:1973, +author = {David Beech}, +title = {On the definitional method of standard {PL/I}}, +booktitle = POPL1, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL1:year, +pages = {87--94} +} + +@inproceedings{sml-to-jvm, +author = {Nick Benton and Andrew Kennedy and George Russell}, +title = {Compiling {Standard} {ML} to {Java} Bytecodes}, +booktitle = ICFP98, +publisher = acm:pub, address = acm:addr, +pages = {129--140}, +year = {1998}, month = ICFP98:month, +location = ICFP98:loc, +doi = {10.1145/289423.289435} +} + +@article{mlj-monads:99, +author = "Nick Benton and Andrew Kennedy", +title = "Monads, Effects and Transformations", +journal = ENTCS, +volume = "26", +pages = "3 - 20", +year = "1999", +note = "Higher Order Operational Techniques in Semantics ({HOOTS} '99)", +doi = {10.1016/S1571-0661(05)80280-4} +} + +@article{benton2001exceptional, +author = {Nick Benton and Andrew Kennedy}, +title = {Exceptional syntax}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = {11}, +number = {4}, +year = {2001}, +pages = {295--410}, +doi = {10.1017/S0956796801004099}, +} + +% $DESIGN/types/type\ errors/Bernstein-Stark-type-errors-1995.pdf +@techreport{bernstein-stark:1995, +author = {Karen L. Bernstein and Eugene W. Stark}, +title = {Debugging Type Errors (Full Version)}, +institution = {State University of New York and Stony Brook}, +year = {1995}, +url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3711}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20130515040737/http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3711}, +archiveddate = {2013-05-15T04:07:37} +} + +@inproceedings{sml.net-experience, +author = {Nick Benton and Andrew Kennedy and Claudio V. Russo}, +title = {Adventures in interoperability: the {SML.NET} experience}, +booktitle = PPDP04, +publisher = acm:pub, address = acm:addr, +pages = {215--226}, +year = {2004}, month = PPDP04:month, +location = PPDP04:loc, +doi = {10.1145/1013963.1013987} +} + +@inproceedings{sml.net-shrinking:2005, +author = {Nick Benton and Andrew Kennedy and Sam Lindley and Claudio Russo}, +editor = {Clemens Grelck and Frank Huch and Greg J. Michaelson and Phil Trinder}, +title = {Shrinking Reductions in {SML.NET}}, +booktitle = {Implementation and Application of Functional Languages}, +year = {2005}, +publisher = springer:pub, +address = springer:addr, +pages = {142--159}, +doi = {10.1007/11431664_9} +} + +% NOT REFERENCED +% $Background/Edinburgh ML/ECS-LFCS-91-148.pdf +% SML-history/Edinburgh-TR/ECS-LFCS-91-148.pdf +@techreport{ECS-LFCS-91-148, +author = {Dave Berry}, +title = {The {Edinburgh} {SML} {Library}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-91-148}, +month = apr, +year = 1991 +} + +% NOT REFERENCED +@inproceedings{ml-concur-semantics:92, +author = {Dave Berry and Robin Milner and David N. Turner}, +title = {A semantics for {ML} concurrency primitives}, +booktitle = POPL19, +year = 1992, month = jan, +pages = {119-129} +} + +% NOT REFERENCED +% SML-history/basis-library/Berry/Berry-lessons-92.pdf +@article{sml-library-design-lessons, +author = {Dave Berry}, +title = {Lessons from the design of a {Standard} {ML} library}, +journal = JFP, +publisher = CUP:pub, +address = CUP:addr, +volume = 4, number = 3, +year = 1993, month = oct, +pages = {527--552}, +doi = {10.1017/S0956796800000873} +} + +% SML-history/Applications/Fox/1994-06-EB+RH+PL+BM-Sigs-for-Network-Protocol-Stack.pdf +@inproceedings{sigs-for-protocol-stacks:1994, +author = {Biagioni, Edoardo and Harper, Robert and Lee, Peter and Milnes, Brian G.}, +title = {Signatures for a Network Protocol Stack: A Systems Application of Standard ML}, +booktitle = LISP94, +location = LISP94:loc, +year = {1994}, month = LISP94:month, +publisher = acm:pub, +address = acm:addr, +pages = {55–64}, +doi = {10.1145/182590.182431} +} + +% SML-history/Implementation/MLKit/Birkedal-etal-ML-Kit-Version1-1993.pdf +@techreport{mlkit:v1, +author = {Lars Birkedal and Nick Rothwell and Mads Tofte and David N. Turner}, +title = {The {ML} {Kit} (Version 1)}, +institution = {Department of Computer Science, University of Copenhagen}, +number = {93/14}, +year = 1993, month = mar, +numpages = {112} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/1995-01-POPL-Biswas-higher-order-functors.pdf +@inproceedings{biswas:95, +author = {Sandip K. Biswas}, +title = {Higher-Order Functors with Transparent Signatures}, +booktitle = POPL22, +publisher = acm:pub, address = acm:addr, +month = jan, +year = POPL22:year, +pages = {154--163} +} + +% NOT REFERENCED +@proceedings{DBLP:conf/ac/1979ass, +editor = {Dines Bj{\o}rner}, +title = {Abstract Software Specifications, Proceedings of the 1979 Copenhagen Winter School}, +series = LNCS, +volume = {86}, +publisher = springer:pub, +address = springer:addr, +year = {1980} +} + +@article{blume-appel-CM:99, +author = {Matthias Blume and Andrew W. Appel}, +title = {Hierarchical Modularity}, +journal = TOPLAS, +volume = {21}, +number = {4}, +month = jul, +year = {1999}, +issn = {0164-0925}, +pages = {813--847}, +numpages = {35}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/325478.325518} +} + +@inproceedings{blume:nlffi:01, +author = {Matthias Blume}, +title = {{No-Longer-Foreign}: Teaching an {ML} compiler to speak {C} ``natively.''}, +booktitle = {First workshop on multi-language infrastructure and interoperability ({BABEL} '01)}, +year = 2001, month = sep, +location = {Firenze, Italy}, +series = ENTCS, +volume = 59, +issue = 1, +publisher = elsevier:pub, +address = elsevier:addr, +numpages=16, +doi = {10.1016/S1571-0661(05)80452-9} +} + +@inproceedings{mlpolyr:first-class-cases:2006, +author = {Blume, Matthias and Acar, Umut A. and Chae, Wonseok}, +title = {Extensible Programming with First-Class Cases}, +booktitle = ICFP06, +location = ICFP06:loc, +year = {2006}, month = ICFP06:month, +publisher = acm:pub, address = acm:addr, +pages = {239–250}, +doi = {10.1145/1159803.1159836} +} + +@InProceedings{mlpolyr:exceptions:2008, +author="Blume, Matthias and Acar, Umut A. and Chae, Wonseok", +title="Exception Handlers as Extensible Cases", +booktitle = APLAS08, +location = APLAS08:loc, +series = LNCS, +volume = 5356, +publisher=springer:pub, +address=springer:addr, +editor="Ramalingam, G.", +year="2008", month = APLAS08:month, +pages="273--289", +doi = {10.1007/978-3-540-89330-1_20} +} + +@techreport{modula3-io-streams, +author = {Mark R. Brown and Greg Nelson}, +title = {{IO} Streams: Abstract Types, Real Programs}, +institution = DEC-SRC, +address = DEC-SRC:addr, +number = 53, +year = 1989, month = nov +} + +@incollection{POP2:1968a, +author = {Rod M. Burstall and R. J. Popplestone}, +title = {POP-2 reference manual}, +booktitle = {Machine Intelligence 2}, +editor = {E. Dale and D. Mitchie}, +publisher = EUP:pub, address = EUP:addr, +year = {1968}, +pages = {207--46} +} + +% SML-history/Background/People/Burstall/Burstall-Landin-algebraic-approach-69.pdf +@incollection{burstall69, +author = {Rod M. Burstall and Peter Landin}, +title = {Programs and their Proofs: an Algebraic Approach}, +booktitle = {Machine Intelligence}, +editor = {B. Meltzer and D. Michie}, +volume = 4, +year = 1969, +pages = {17--43}, +publisher = elsevier:pub, address = elsevier:addr +} + +% NOT REFERENCED +@inproceedings{burstall-lampson:1984, +author = {R. Burstall and B. Lampson}, +title = {A Kernel Language for Abstract Data Types and Modules}, +booktitle = {Proceedings of the International Symposium on Semantics of Data Types}, +editor = {Gilles Kahn and David MacQueen and Gordon Plotkin}, +volume = {173}, +series = LNCS, +publisher = springer:pub, +address = springer:addr, +year = {1984}, +pages = {1--50}, +doi = {10.1007/3-540-13346-1_1} +} + +@book{burstall77, +author = {Rod M. Burstall and J. S. Collins and R. J. Popplestone}, +title = {Programming in {POP}-2}, +publisher = EUP:pub, address = EUP:addr, +year = 1977 +} + +@article{burstall77a, +author = {Rod M. Burstall and John Darlington}, +title = {A Tranformation System for Developing Recursive Programs}, +journal = JACM, +publisher = acm:pub, address = acm:addr, +volume = 24, number = 1, +year = {1977}, month = jan, +pages = {44--67}, +doi = {10.1145/321992.321996} +} + +@inproceedings{burstall-goguen:77, +author = {R. Burstall and J. Goguen}, +title = {Putting theories together to make specifications}, +booktitle = {Proceedings of the 5th International Joint Conference on Artificial Intelligence (II)}, +editor = {Raj Reddy}, +publisher = {AAAI Press}, +address = {Palo Alto, CA, USA}, +location = {Cambridge, MA, USA}, +month = aug, +year = 1977, +pages = {1045--1058} +} + +@inproceedings{burstall77b, +author = {Rod M. Burstall}, +title = {Design Considerations for a Functional Programming Language}, +booktitle = {The Software Revolution: Proceedings of the Infotech State of the Art Conference}, +publisher = {Infotech and Pergamon Press}, +address = {Oxford, UK}, +location = {Copenhagen, Denmark}, +month = oct, +year = {1977}, +pages = {45-57} +} + +% NOT REFERENCED +% $BACKGROUND/Clear/Burstall-Goguen-TheSemanticsOfClear-1980.pdf +@inproceedings{burstall-goguen:CLEAR:1979, +author = {Rod M. Burstall and Joseph A. Goguen}, +title = {The Semantics of {CLEAR}, {A} Specification Language}, +booktitle = {Abstract Software Specifications, Proceedings of the 1979 Copenhagen Winter School}, +pages = {292--332}, +year = {1979}, +month = jan, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {86}, +doi = {10.1007/3-540-10007-5_41} +} + +% $BACKGROUND/Hope/Burstall-MacQueen-Sannella-HOPE-1980.pdf +@inproceedings{HOPE80, +author = {Rod M. Burstall and David B. MacQueen and Donald Sannella}, +title = {{HOPE}: an experimental applicative language}, +booktitle = LISP80, +publisher = acm:pub, address = acm:addr, +year = {1980}, month = LISP80:month, +pages = {136--143}, +doi = {10.1145/800087.802799} +} + +% NOT REFERENCED +@inproceedings{burstall:84, +author = {Rod Burstall}, +title = {Programming with modules as typed functional programming}, +booktitle = {International Conference on 5th Generation Computing Systems}, +publisher = {ICOT}, +location = {Tokyo, Japan}, +year = {1984} +} + +% NOT REFERENCED +@article{burstall87, +author = {Rod M. Burstall}, +title = {Inductively Defined Functions in Functional Programming Languages}, +journal = JCSS, +publisher = elsevier:pub, address = elsevier:addr, +volume = 34, number = {2/3}, +month = {April/June}, +year = 1987, +pages = {409--421} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-86-9, +author = {R. M. Burstall and David Rydeheard}, +title = {Computing with Categories}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-86-9}, +month = sep, +year = 1986 +} + +%%%%%%%%% +%% %% +%% CCC %% +%% %% +%%%%%%%%% + +@article{cantor:1874, +author = {Georg Cantor}, +title = {\"Uber eine Eigenschaft des Inbegriffes aller reellen algebraischen Zahlen}, +journal = {Journal f\"ur die Reine und Angewandte Mathematik}, +volume = {77}, +year = {1874}, +pages = {258--262} +} + +% $BACKGROUND/People/Cardelli/VAX-ML/Cardelli-ML-abstract-machine-1980_10.pdf +@unpublished{Cardelli:AM80, +author = {Luca Cardelli}, +title = {The {ML} Abstract Machine}, +year = {1980}, month = nov, +note = {Early description of the ML abstract machine ({AM}), precursor to the {FAM}.}, +url = {http://sml-family.org/history/Cardelli-ML-abstract-machine-1980.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316/http://sml-family.org/history/Cardelli-ML-abstract-machine-1980.pdf}, +archiveddate = {2020-03-16} +} + +% $BACKGROUND/Cardelli/VAX-ML/Cardelli-MEX-1980_12.pdf +@unpublished{Cardelli:MEX80, +author = {Luca Cardelli}, +title = {A Module Exchange Format}, +year = {1980}, month = dec, +note = {Description of a textual format for exporting internal ML data structures.}, +url = {http://sml-family.org/history/Cardelli-MEX-1980_12.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316202334/http://sml-family.org/history/Cardelli-MEX-1980_12.pdf}, +archiveddate = {2020-03-16T20:23:34} +} + +% $BACKGROUND /Cardelli/VAX-ML/Cardelli-mlchanges_doc-1982_03.pdf +% original file name: mlchanges.doc +@unpublished{Cardelli:VAXvDEC10-ML, +author = {Luca Cardelli}, +title = {Differences Between {VAX} and {DEC}-10 {ML}}, +year = {1981}, month = mar, +url = {http://sml-family.org/history/Cardelli-mlchanges_doc-1982_03.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317193405/http://sml-family.org/history/Cardelli-mlchanges_doc-1982_03.pdf}, +archiveddate = {2020-03-17T19:34:05}, +numpages = 8 +} + +% $BACKGROUND/Cardelli/VAX-ML/ML under VMS 82/VMSman.pdf +% Archive name: Cardelli-ML-VMS-manual-1982.pdf +@manual{ml-vms82, +author = {Luca Cardelli}, +title = {{ML} under {VMS}}, +organization = {Department of Computer Science, University of Edinburgh}, +year = {1982}, +note = {Manual for ML under VMS}, +url = {http://sml-family.org/history/Cardelli-ML-VMS-manual-1982.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317193823/http://sml-family.org/history/Cardelli-ML-VMS-manual-1982.pdf}, +archiveddate = {2020-03-17T19:38:23}, +numpages = 17 +} + +% BACKGROUND/Cardelli/VAX-ML/Edinburgh-ML-README.pdf +% Archive name: Cardelli-Edinburgh-ML-README-1982_03.pdf +@unpublished{Cardelli:EdinburghML:82, +author = {Luca Cardelli}, +title = {Edinburgh {ML}}, +Year = {1982}, month = mar, +note = {README file for {VAX} {ML} ({ML} under {VMS}) distribution.}, +url = {http://sml-family.org/history/Cardelli-Edinburgh-ML-README-1982_03.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317194022/http://sml-family.org/history/Cardelli-Edinburgh-ML-README-1982_03.pdf}, +archiveddate = {2020-03-17T19:40:22}, +numpages = 2 +} + +@phdthesis{Cardelli:Phd82, +author = {Luca Cardelli}, +title = {An Algebraic Approach to Hardware Description and Verification}, +school = {University of Edinburgh}, +month = apr, +year = {1982} +} + +@article{Cardelli:locations82, +author = {Luca Cardelli}, +title = {Known {VAX-ML} System Locations}, +journal = POLYMORPHISM, +volume = {I}, +number = 0, +year = {1982}, +month = nov, +pages = {4--5}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%200.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190225153220/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%200.pdf}, +archiveddate = {2019-02-25T15:32:20} +} + +@article{Cardelli:FAM83, +author = {Luca Cardelli}, +title = {The {Functional} {Abstract} {Machine}}, +journal = POLYMORPHISM, +year = {1983}, +month = jan, +volume = {I}, +number = 1, +pages = {16--52}, +numpages = {36}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307022704/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archiveddate = {2019-03-07T02:27:04} +} + +% NOT REFERENCED +@manual{ml-vms-82, +author = {Luca Cardelli}, +title = {{ML} under {VMS}}, +organization = {Bell Laboratories}, +year = {1982}, +note = {Manual for ML under VMS} +} + +@manual{ml-unix-P2, +author = {Luca Cardelli}, +title = {{ML} under {Unix}}, +organization = {Bell Laboratories}, +year = {1983}, month = aug, +note = {Manual for ML under Unix, Pose 2} +} + +% NOT REFERENCED +@article{cardelli:ml-under-unix-P3, +author = {Luca Cardelli}, +title = {ML under Unix}, +journal = POLYMORPHISM, +year = {1983}, month = dec, +volume = {I}, +number = 3, +note = {Manual for ML under Unix, Pose 3}, +numpages={9}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307145556/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archiveddate = {2019-03-07T14:55:56} +} + +@article{cardelli:stream-io, +author = {Luca Cardelli}, +title = {Stream Input/Output}, +journal = POLYMORPHISM, +year = {1983}, Month = dec, +volume = "I", +number = 3, +numpages={9}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307145556/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archiveddate = {2019-03-07T14:55:56} +} + +@manual{ml-unix-P4, +author = {Luca Cardelli}, +title = {{ML} under {Unix}}, +organization = {Bell Laboratories}, +year = {1984}, month = apr, +note = {Manual for ML under Unix, Pose 4} +} + +% NOT REFERENCED +@unpublished{cardelli:BPTC:84, +author = {Luca Cardelli}, +title = {Basic Polymorphic Typechecking}, +journal = POLYMORPHISM, +volume = {II}, +number = 1, +month = jan, +year = {1985}, +note = {version with ML code}, +numpages = {17}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%201.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190225113300/http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%201.pdf}, +archiveddate = {2019-02-25T11:33:00} +} + +@inproceedings{Cardelli:compiler84, +author = {Luca Cardelli}, +title = {Compiling a Functional Language}, +booktitle = LISP84, +publisher = acm:pub, address = acm:addr, +year = {1984}, month = LISP84:month, +location = LISP84:loc, +pages = {208--217}, +doi = {10.1145/800055.802037} +} + +% NOT REFERENCED +@article{cardelli:BPTC:87, +author = {Luca Cardelli}, +title = {Basic Polymorphic Typechecking}, +journal = SCP, +volume = 8, +number = 2, +year = {1987}, +pages = {147--172} +} + +% NOT REFERENCED +% $DEFN/modules/Cardelli-structural-subtyping-POPL88.pdf +@inproceedings{cardelli:POPL:1988, +author = {Luca Cardelli}, +title = {Structural Subtyping and the Notion of Power Type}, +booktitle = POPL15, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL15:year, +pages = {70--79} +} + +@inproceedings{cardelli-leroy:1990, +author = {Luca Cardelli and Xavier Leroy}, +title = {Abstract Types and the Dot Notation}, +booktitle ={Proceedings of the IFIP TC2 Working Conference on Programming Concepts and Methods}, +publisher = NH:pub, +address = NH:addr, +month = apr, +year = 1990, +pages = {479--504}, +note = {also DEC SRC Tech Report 56} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Cardelli-Longo-Quest-semantics.pdf +@article{cardelli-longo:1991, +author = {Luca Cardelli and Giuseppe Longo}, +title = {A semantic basis for Quest}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 1, +number = 4, +year = {1991}, +pages = {417--458} +} + +@incollection{cardone-hindley:2009, +author = {Felice {Cardone, Jr.} and Roger Hindley}, +title = {Lambda-Calculus and Combinators in the 20th Century}, +booktitle = {Logic from Russell to Church}, +series = {Handbook of the History of Logic}, +volume = 5, +pages = {723--817}, +year = 2009, +publisher = elsevier:pub, +address = elsevier:addr, +note = {Also available as Swansea University Mathematics Department Research + Report No. MRRS-05-06.} +} + +@book{carnap:1929, +author = {Rudolf Carnap}, +title = {Abriss der Logistik, mit besonderer ber\"ucksichtigung + der relationstheorie und ihrer anwendungen}, +publisher = springer:pub, +address = springer:pub, +year = 1929, +url = {https://archive.org/details/RudolfCarnapAbrissDerLogistik} +} + +@inproceedings{flow-directed-closure-conversion:2000, +author = {Henry Cejtin and Suresh Jagannathan and Stephen Weeks}, +title = {Flow-Directed Closure Conversion for Typed Languages}, +booktitle = {Proceedings of the 9th European Symposium on +Programming Languages and Systems ({ESOP} '00)}, +year = {2000}, month = {March--April}, +locatiojn = {Berlin, Germany}, +isbn = {3-540-67262-1}, +pages = {56--71}, +publisher = springer:pub, +address = springer:addr, +doi = {10.1007/3-540-46425-5_4} +} + +@unpublished{ml-basis-system:04, +author = {Cejtin, Henry and Fluet, Matthew and Jagannathan, Suresh and Weeks, Stephen}, +title = {Formal Specification of the {ML} {Basis} System}, +year = 2004, +url = {http://mlton.org/MLBasis.attachments/mlb-formal.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20160909024016/http://mlton.org/MLBasis.attachments/mlb-formal.pdf}, +archiveddate = {2016-09-09T02:40:16}, +numpages = 8 +} + +% NOT REFERENCED +@techreport{chailloux:LLM:85, +author = {J. Chailloux}, +title = {La machine LLM3}, +institution = {{INRIA}}, +number = {RT-0055}, +year = 1985, +numpages = 54 +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Chargueraud-ML14.pdf +@inproceedings{chargueraud:2014, +author = {Arthur Chargu\'eraud}, +title = {Improving Type Error Messages in {OCaml}}, +booktitle = ML14, +editor = {Kiselyov and Garrigue}, +year = {2014}, +pages = {80--97} +} + +@inproceedings{parallel-real-time-gc:01, +author = {Cheng, Perry and Blelloch, Guy E.}, +title = {A Parallel, Real-Time Garbage Collector}, +booktitle = PLDI01, +year = {2001}, month = PLDI01:month, +publisher = acm:pub, +address = acm:addr, +pages = {125–136}, numpages = {12}, +location = PLDI01:loc, +doi = {10.1145/378795.378823} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Chen-Erwig-type-error-2013.pdf +@techreport{chen-erwig:type-error:2013, +author = {Sheng Chen and Martin Erwig}, +title = {Better Type-Error Messages Through Lazy Typing}, +institution = {School of Electrical Engineering and Computer Science, Oregon State University}, +number = {2013-04}, +year = {2013}, +numpages = {15} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Chen-Erwig-POPL-2014.pdf +@inproceedings{chen-erwig:2014, +author = {Sheng Chen and Martin Erwig}, +title = {Counter-Factual Typing for Debugging Type Errors}, +booktitle = POPL41, +month = POPL41:month, +year = POPL41:year, +publisher = ACM:pub, +address = ACM:addr, +pages = {583--594} +} + +% NOT REFERENCED +% $DESIGN/types/weak-poly/Chen-Odersky-LamCalcAssignment-TACS-94.pdf +@inproceedings{chen-oderski:TACS94, +author = {Kung Chen and Martin Odersky}, +title = {A type system for a lambda calculus with assignments}, +booktitle = {TACS 1994: Theoretical Aspects of Computer Software}, +series = LNCS, +volume = 789, +publisher = springer:pub, +address = springer:addr, +year = 1994, +pages = {347--364}, +doi = {10.1007/3-540-57887-0_103} +} + +% $DESIGN/types/type\ errors/Chitil-ICFP-2001.pdf +@inproceedings{chitil:2001, +author = {Olaf Chitil}, +title = {Compositional Explanation of Types and Algorithmic Debugging of Type Errors}, +booktitle = ICFP01, +month = sep, +year = {2001}, +location = {Florence, Italy}, +publisher = ACM:pub, +address = ACM:addr, +pages = {193--204}, +doi = {10.1145/507635.507659} +} + +@inproceedings{diderot-dsl:2012, +author = {Chiw, Charisee and Kindlmann, Gordon and Reppy, John and Samuels, Lamont and Seltzer, Nick}, +title = {Diderot: A Parallel DSL for Image Analysis and Visualization}, +booktitle = PLDI12, +location = PLDI12:loc, +year = {2012}, month = PLDI12:month, +publisher = acm:pub, +address = acm:addr, +pages = {111–120}, +doi = {10.1145/2254064.2254079} +} + +@inproceedings{chlipala:ur-web:2015, +author = {Chlipala, Adam}, +title = {{Ur/Web}: A Simple Model for Programming the Web}, +booktitle = POPL42, +year = POPL42:year, month = jan, +location = POPL42:loc, +publisher = acm:pub, +address = acm:addr, +pages = {153–165}, +doi = {10.1145/2676726.2677004} +} + +@phdthesis{choppella:2002, +author = {Venkatesh Choppella}, +title = {Unification Source-Tracking with Application to Diagnosis of Type Inference}, +school = {Department of Computer Science, University of Indiana}, +address = {Bloomington, IN, USA}, +month = aug, +year = {2002} +} + +@article{church:1940, +author = {Alonzo Church}, +title = {A Formulation of the Simple Theory of Types}, +journal = JSL, +volume = 5, +number = 2, +month = jun, +year = 1940, +pages = {56--68} +} + +@article{concurrency:workbench, +author = {Rance Cleaveland and Joachim Parrow and Bernard Steffen}, +title = {The Concurrency Workbench: A Semantics-based Tool for the + Verification of Concurrent Systems}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume = 15, +number = 1, +month = jan, +year = 1993, +pages = {36--72}, +doi = {10.1145/151646.151648} +} + +% NOT REFERENCED +% $BACKGROUND/papers/Clement-etal-mini-ml-LFP-1986.pdf +@inproceedings{centaur:LFP:1986, +author = {Dominique Cl\'ement and Thierry Despeyroux and Gilles Kahn and Jo\"elle Despeyroux}, +title = {A simple applicative language: mini-{ML}}, +booktitle = LISP86, +year = {1986}, +month = aug, +publisher = ACM:pub, +address = ACM:addr, +pages = {13--27}, +doi = {10.1145/319838.319847} +} + +@book{cohn:univ-alg:1965, +author = {P. M. Cohn}, +title = {Universal Algebra}, +publisher = {Harper Row}, +address = {New York and London}, +year = {1965} +} + +@inproceedings{dml-dist-prog, +author = {Robert Cooper and Clifford D. Krumvieda}, +title = {Distributed Programming with Asynchronous Ordered Channels in + {Distributed ML}}, +booktitle = ML92, +year = 1992, month = jun, +pages = {134--148}, +publisher = {Department of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +note = {Proceedings available as Technical Report CMU-CS-93-105} +} + +@incollection{coquand:TT:2018, +author = {Thierry Coquand}, +title = {Type Theory}, +booktitle = {The Stanford Encyclopedia of Philosophy (Fall 2018 Edition)}, +editor = {Edward N. Zalta}, +publisher = {The Metaphysics Research Lab, Center for the Study of Language and Information, + Stanford University}, +address = {Stanford, CA, USA}, +year = 2018, month = jul, +url = {https://plato.stanford.edu/entries/type-theory/}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20191211203338/https://plato.stanford.edu/entries/type-theory/}, +archiveddate = {2019-12-11T20:33:38}, +} + +% NOT REFERENCED +@inproceedings{CAM:85, +author = {G. Cousineau, P.-L. Curien, M. Mauny}, +title = {The categorical abstract machine}, +booktitle = FPCA85, +series = LNCS, +volume = 201, +publisher = springer:pub, +address = springer:addr, +year = 1985, month = FPCA85:month, +pages = {50--64} +} + +% NOT REFERENCED +@techreport{CAML-primer:90, +author = {G. Cousineau and G\'erard Huet}, +title = {The {CAML} primer}, +institution = {{INRIA}}, +number = {RT-0122}, +year = 1990, +numpages = 81 +} + +% NOT REFERENCED +@inproceedings{crary-harper-puri:99, +author = {Karl Crary and Robert Harper and Sidd Puri}, +title = {What is a recursive module?}, +booktitle = PLDI99, +month = PLDI:month, +year = 1999, +pages = {50--63} +} + +% NOT REFERENCED +@article{crary:singleton:2007, +author = {Karl Crary}, +title = {Sound and complete elimination of singleton kinds}, +journal = TOCL, +volume = 8, +number = 2, +year = 2007, +numpages = {31} +} + +@online{crary-harper:twelf, +author = {Karl Crary and Robert Harper}, +title = {Mechanization of Type Safety of {Standard} {ML}}, +organization = {Carnegie Mellon University}, +year = {2009}, month = aug, +url = {http://www.cs.cmu.edu/~rwh/misc/mlredef.tar.gz}, +doi = {10.5281/zenodo.3700588}, +archivedrepository = {Zenodo}, +archivedurl = {https://zenodo.org/record/3700588/files/mechdefsml.tar.gz} +} + +% NOT REFERENCED +@inproceedings{crary:POPL:2017, +author = {Karl Crary}, +title = {Modules, abstraction, and parametric polymorphism}, +booktitle = POPL44, +publisher = ACM:pub, +address = ACM:addr, +month = POPL44:month, +year = POPL44:year, +pages = {100--113} +} + +@inproceedings{what-is-a-rec-module:1999, +author = {Crary, Karl and Harper, Robert and Puri, Sidd}, +title = {What is a Recursive Module?}, +booktitle = PLDI99, +location = PLDI99:loc, +year = {1999}, month = PLDI99:month, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/301631.301641}, +pages = {50–63}, numpages = {14} +} + +% NOT REFERENCED +@article{crary:POPL:2019, +author = {Karl Crary}, +title = {Fully Abstract Module Compilation}, +journal = PACM, +volume = {3 Issue POPL}, +number = {10}, +month = jan, +year = 2019, +publsher = ACM:pub, +address = ACM:addr, +numpages = 29, +doi = {10.1145/3291650} +} + +% $DESIGN/modules/papers/Cregut-MacQueen-impl-HOF-94.pdf +@inproceedings{HOFimp94, +author = {Pierre Cr\'egut and David B. {MacQueen}}, +title = {An Implementation of Higher-Order Functors}, +booktitle = ML94, +publisher = {{INRIA}}, +address = {Rocquencourt, France}, +month = jun, +year = {1994}, +location = {Orlando, FL, USA}, +pages = {13--22} +} + +% NOT REFERENCED +% NEED ARCHIVE LINK (not referenced) +@unpublished{cregut-aponte:alternative-HOF, +author = {Pierre Cr\'egut and Maria-Viginia Aponte}, +title = {Semantics of Modules}, +year = {1994}, +note = {title, date are speculative}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@article{curry:1930, +author = {H. B. Curry}, +title = {Grundlagen der kombinatorischen Logik}, +journal = {American Journal of Mathematics}, +volume = {52}, +year = 1930, +pages = {509--536, 789--834} +} + +@article{curry:1932, +author = {H. B. Curry}, +title = {Some additions to the theory of combinators}, +journal = {American Journal of Mathematics}, +volume = {54}, +year = 1932, +pages = {551--558} +} + +@article{curry:1934, +author = {H. B. Curry}, +title = {Functionality in Combinatory Logic}, +journal = {Proceedings of the National Academy of Sciences of the United States of America}, +volume = {20}, +number = {11}, +month = nov, +year = {1934}, +pages = {584--590} +} + +@book{curry:feys, +author = {H. B. Curry and R. Feys}, +title = {Combinatory Logic, Volume I}, +publisher = NH:pub, +address = NH:addr, +year = 1958, +note = {3rd edition 1974} +} + +% NOT CITED (cited by Hindley, not available online) +@unpublished{curry66, +author = {H. B. Curry}, +title = {Technique for evaluating principal functional character}, +month = mar, +year = 1966, +note = {filed as T660317A in Curry Archive, Pennsylvania State University, U.S.A} +} + +@article{curry69, +author = {H. B. Curry}, +title = {Modified basic functionality in combinatory logic}, +journal = {Dialectica}, +volume = 23, +pages = {83--92}, +year = 1969 +} + + +%%%%%%%%% +%% %% +%% DDD %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +% $BACKGROUND/types/Damas-Milner-82.pdf +@inproceedings{damas-milner:82, +author = {Luis Damas and Robin Milner}, +title = {Principal type-schemes for functional programs}, +booktitle = POPL9, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL9:year, +pages = {207--212}, +doi = {10.1145/582153.582176} +} + +% $BACKGROUND/types/Damas-thesis-84.pdf +@phdthesis{damas:phd:84, +author = {Luis Damas}, +title = {Type Assignment in Programming Languages}, +school = {Department of Computer Science, University of Edinburgh}, +address = {Edignburgh, UK}, +year = 1984 +} + +% NOT REFERENCED +@inproceedings{dean:1992, +author = {Drew Dean}, +title = {A File System in {Standard} {ML}}, +booktitle = {{ACM} {SIGPLAN} Workshop on {ML} and its Applications}, +publisher = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +month = jun, +year = {1992}, +pages = {175--180}, +note = {Tech Report CMU-CS-93-105} +} + +% NOT REFERENCED +% SML-history/Background/papers/Despeyroux-INRIA-RR295-1984.pdf +@inproceedings{typol, +author = {Thierry Despeyroux}, +title = {Executable specification of static semantics}, +booktitle = {Proceedings of the International Symposium on Semantics of Data Types}, +editors = {Gilles Kahn and David MacQueen and Gordon Plotkin}, +location = {Sophia Antipolis, France}, +series = LNCS, +volume = {173}, +publisher = springer:pub, +address = springer:addr, +month = jun, +year = {1984}, +pages = {215--234}, +note = {Also available as INRIA tech report RR295-1984.} +} + +% NOT REFERENCED +% SML-history/Background/papers/Despeyroux-INRIA-RR514-1986.pdf +@inproceedings{despeyroux:1986, +author = {Jo\"elle Despeyroux}, +title = {Proof of Translation in Natural Semantics}, +booktitle = {LICS '86: Proceedings of the First Symposium on Logic in Computer Science}, +publisher = {IEEE}, +year = {1986}, +pages = {193--205}, +note = {Also available as INRIA tech report RR514-1986.} +} + +@inproceedings{custom-fun-reps-for-sml:2001, +author = {Dimock, Allyn and Westmacott, Ian and Muller, Robert and Turbak, Franklyn and Wells, J. B.}, +title = {Functioning without Closure: Type-Safe Customized Function Representations for Standard ML}, +booktitle = ICFP01, +location = ICFP01:loc, +year = {2001}, month = ICFP01:month, +pages = {14–25}, +numpages = {12}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/507669.507640} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Dinesh-Modular_Error-handling-1994.pdf +@inproceedings{dinesh:1994, +author = {T. B. Dinesh}, +title = {Type-checking Revisited: Modular Error-handling}, +booktitle = {Semantics of Specification Languages (SoSL)}, +series = {Workshops in Computing}, +editor = {D. J. Andrews and J. F. Goote and C. A. Middelburg}, +year = {1994}, +publisher = springer:pub, +address = springer:addr, +pages = {216--231} +} + +@techreport{dreyer-harper-crary:2001, +author = {Derek R. Dreyer and Robert Harper and Karl Crary}, +title = {Toward a Practical Type Theory for Recursive Modules}, +institution = {School of Computer Science, Carnegie Mellon University}, +number = {CMU-CS-01-112}, +month = mar, +year = 2001, +numpages = {46} +} + +% $DESIGN/modules/papers/2003-01-POPL-DD-KC-RH-type-system-HO-modules.pdf +@inproceedings{dreyer-crary-harper:2003, +author = {Derek Dreyer and Karl Crary and Robert Harper}, +title = {A Type System for Higher-Order Modules}, +booktitle = POPL30, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL30:year, +pages = {236--249}, +doi = {10.1145/640128.604151} +} + +% NOT REFERENCED +@inproceedings{dreyer:04, +author = {Derek Dreyer}, +title = {A type system for well-founded recursion}, +booktitle = POPL31, +publisher = ACM:pub, +address = ACM:addr, +year = POPL31:year, +location = POPL31:loc, +pages = {293--305} +} + +% $DEFN/modules/Dreyer-phdthesis-2005.pdf +@phdthesis{dreyer:phd-thesis, +author = {Derek Dreyer}, +title = {Understanding and Evolving the ML Module System}, +school = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +month = may, +year = 2005, +} + +% NOT REFERENCED +@inproceedings{dreyer:05, +author = {Derek Dreyer}, +title = {Recursive Type Generativity}, +booktitle = ICFP05, +month = ICFP05:month, +location = ICFP05:loc, +publisher = acm:pub, +address = acm:addr, +year = 2005, +pages = {41--53}, +doi = {10.1145/1090189.1086372} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Dreyer_recursive_type_generativity-JFP-2007.pdf +@article{dreyer:JFP:07, +author = {Derek Dreyer}, +title = {Recursive type generativity}, +journal = JFP, +publisher = CUP:pub, +address = CUP:addr, +volume = 17, +number = {4 & 5}, +year = 2007, +pages = {433--471} +} + +@inproceedings{dreyer:07, +author = {Derek Dreyer}, +title = {A Type System for Recursive Modules}, +booktitle = ICFP07, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP07:month, +year = 2007, +pages = {289--302}, +doi = {10.1145/1291220.1291196} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Dreyer-Blume-principal-type-schemes-ESOP-2007.pdf +@inproceedings{dreyer-blume:ESOP:07, +author = {Derek Dreyer and Matthias Blume}, +title = {Principal Type Schemes for Modular Programs}, +booktitle = {ESOP 2007: European Symposium on Programming Languages and Systems}, +series = LNCS, +volume = 4421, +publisher = springer:pub, +address = springer:addr, +pages = {441--457} +} + +@inproceedings{dreyer-etal:type-classes:07, +author = {Derek Dreyer and Robert Harper and Manuel M. T. Chakravarty and Gabrielle Keller}, +title = {Modular type classes}, +booktitle = POPL34, +publisher = ACM:pub, +address = ACM:addr, +month = POPL34:month, +year = POPL34:year, +pages = {63--70}, +doi = {10.1145/1190215.1190229} +} + +@inproceedings{mixin-up:2008, +author = {Dreyer, Derek and Rossberg, Andreas}, +title = {Mixin’ up the ML Module System}, +booktitle = ICFP08, +year = 2008, +month = ICFP08:month, +location = ICFP08:loc, +publisher = acm:pub, address = acm:addr, +pages = {307–320}, +numpages = {14}, +doi = {10.1145/2450136.2450137} +} + +% NOT REFERENCED +% $DESIGN/types/weak-poly/Duba-Harper-MacQueen-typing-continations-POPL-1991.pdf +@inproceedings{duba-harper-macqueen:POPL1991, +author = {Bruce Duba and Robert Harper and David MacQueen}, +booktitle = POPL18, +publisher = ACM:pub, +address = ACM:addr, +year = POPL18:year, +month = jan, +pages = {163-173}, +doi = {10.1145/99583.99608} +} + +% NOT REFERENCED +@inproceedings{duggan:1994, +author = {Dominic Duggan and Constantinos Sourelis}, +title = {Parameterized Modules, Recursive Modules, and Mixin Modules}, +booktitle = ML94, +publisher = ACM:pub, +address = ACM:addr, +month = sep, +year = 1994, +pages = {87--96} +} + +@inproceedings{duggan:mixin-modules:1996, +author = {Duggan, Dominic and Sourelis, Constantinos}, +title = {Mixin Modules}, +booktitle = ICFP96, +location = ICFP96:loc, +year = {1996}, month = ICFP96:month, +publisher = ACM:pub, +address = ACM:addr, +doi = {10.1145/232627.232654}, +pages = {262–273}, +numpages = {12}, +} + +% $DESIGN/types/type\ errors/Duggan-Bent-SCP-1996.pdf +@article{duggan-bent:SCP:1996, +author = {Dominic Duggan and Frederick Bent}, +title = {Explaining type inference}, +journal = {Science of Computer Programming}, +volume = {27}, +number = {1}, +month = jul, +year = {1996}, +pages = {37--83} +} + +% NOT REFERENCED +@book{dummett:1977, +author = {Michael Dummett}, +title = {Elements of Intuitionism}, +publisher = {Clarendon Press}, +address = {Oxford}, +series = {Oxford Logic Guides}, +year = {1977} +} + + +%%%%%%%%% +%% %% +%% EEE %% +%% %% +%%%%%%%%% + +@inproceedings{ADJ-parameterization:80, +author = {H. Ehrig and H.-J. Kreowski and J. Thatcher and E. Wagner and J. Wright}, +title = {Parameterized data types in algebraic specification languages}, +booktitle = {Automata, Languages and Programming ({ICALP} '80)}, +editor = {J. de Bakker and J. van Leeuwen}, +location = {Noordwijkerhout, Netherlands}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = 85, +month = jul, +year = 1980, +pages = {157--168}, +doi = {10.1007/3-540-10003-2_68} +} + +@inproceedings{anno-domini:1999, +author = {Eidorff, Peter Harry and Henglein, Fritz and Mossin, Christian + and Niss, Henning and S{\o{}}rensen, Morten Heine and Tofte, Mads}, +title = {AnnoDomini: From Type Theory to Year 2000 Conversion Tool}, +booktitle = POPL26, +location = POPL26:loc, +year = {1999}, month = jan, +publisher = acm:pub, +address = acm:addr, +pages = {1–14}, +numpages = {14}, +doi = {10.1145/292540.292543} +} + +% NOT REFERENCED +@mastersthesis{elsman:masters:94, +author = {Martin Elsman}, +title = {A Portable {S}tandard {ML} Implementation}, +school = {Technical University of Denmark, Department of + Computer Science}, +year = {1994}, +month = aug +} + +% SML-history/Implementation/papers/Elsman-polyequality-notags-TIC98.pdf +@inproceedings{elsman:tic98, +author = {Martin Elsman}, +title = {Polymorphic Equality --- No Tags Required}, +booktitle = {Proceedings of the Second International Workshop on Types in Compilation}, +month = mar, +year = {1998}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {1473}, +pages = {136--155}, +doi = {10.1007/BFb0055516} +} + +% $DESIGN/modules/papers/Elsman-phd-99.pdf +@phdthesis{elsman:phd:99, +author = {Martin Elsman}, +title = {Program Modules, Separate Compilation, and Intermodule Optimisation}, +school = {Department of Computer Science, University of Copenhagen}, +year = {1999}, +month = jan +} + +% $DESIGN/modules/papers/Elsman-ICFP-99.pdf +@inproceedings{elsman:ICFP:99, +author = {Martin Elsman}, +title = {Static Interpretation of Modules}, +booktitle = ICFP99, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP99:month, +year = {1999}, +pages = {208--219}, +doi = {10.1145/317765.317800} +} + +% SML-history/Applications/carillon.pdf +@Manual{carillon:1999, +author = {Martin Elsman and Jeffrey S. Foster and Alexander Aiken}, +title = {Carillon --- A System to Find Y2K Problems in C Programs}, +note = {User's Manual}, +organization = {Computer Science Division, University of California, Berkeley}, +month = jul, +year = {1999} +} + +% SML-history/Applicatons/Elsman-web-PADL2003.pdf +@inproceedings{sml-server:2003, +author = {Martin Elsman and Niels Hallenberg}, +title = {Web Programming with {SMLserver}}, +booktitle = {Fifth International Symposium on + Practical Aspects of Declarative Languages ({PADL}'03)}, +location = {New Orleans, LA, USA}, +series = LNCS, +number = 2562, +year = {2003}, +month = jan, +publisher = springer:pub, +address = springer:addr, +pages = {74--91}, +doi = {10.1007/3-540-36388-2_7} +} + +% NOT REFERENCED +% $IMPLEMENTATION/regions/Elsman-GC-safety-regions-TLDI-2003.pdf +@inproceedings{elsman:tldi03, +author = {Martin Elsman}, +title = {Garbage Collection Safety for Region-based Memory Management}, +booktitle = {Proceedings of ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'03)}, +year = {2003}, +month = jan, +publisher = ACM:pub, +address = ACM:addr, +doi = {10.1145/640136.604190} +} + +% NOT REFERENCED +% $IMPLEMENTATION/papers/Elsman-pickling-TFP-05.pdf +@inproceedings{elsman:pickle:2005, +author = {Martin Elsman}, +title = {Type-Specialized Serialization with Sharing}, +booktitle = {TFP '05: Sixth Symposium on Trends in Functional Programming}, +location = {Talinn, Estonia}, +publisher = {intellect}, +address = {Bristol, UK}, +month = sep, +year = {2005}, +pages = {47--62} +} + +% NOT REFERENCED +% SML-history/Implementation/MLKit/Elsman-recompilation-ITU-2008.pdf +@TechReport{elsman:sepcomp:2008, +author = {Martin Elsman}, +title = {A Framework for Cut-Off Incremental Recompilation and Inter-Module Optimization}, +institution = {IT University of Copenhagen}, +address = {Copenhagen, Denmark}, +year = {2008}, +month = apr, +type = {Technical Report}, +numpages = {11} +} + +@inproceedings{elsman:sml-to-js:11, +author = {Elsman, Martin}, +title = {{SMLtoJs}: Hosting a {Standard} {ML} Compiler in a Web Browser}, +booktitle = {Proceedings of the 1st ACM SIGPLAN International Workshop on + Programming Language and Systems Technologies + for Internet Clients ({PLASTIC ’11})}, +year = {2011}, +publisher = acm:pub, +address = acm:addr, +pages = {39–48}, +numpages = {10}, +keywords = {javascript, standard ml}, +location = {Portland, OR, USA}, +doi = {10.1145/2093328.2093336} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Elsman-HO-modules-futhark-ICFP-1018 +@inproceedings{elsman:futhark:2018, +author = {Martin Elsman and Troels Henriksen and Danil Annenkov and Cosmiin E. Oancea}, +title = {Static Interpretation of Higher-order Modules in Futhark}, +booktitle = ICFP18, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP18:month, +year = {2018}, +pages = {97:1--97:30} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Elsman-module-experience-MLW18.pdf +@inproceedings{elsman:module-experience:2018, +author = {Martin Elsman and Philip Munksgaard and Ken Friis Larsen}, +title = {Experience Report: Type-Safe Multi-Tier Programming with + {Standard ML} Modules}, +booktitle = ML18, +month = ML18:month, +year = {2018}, +location = ML18:loc, +publisher = ACM:pub, +address = ACM:addr, +numpages = {4} +} + +% NOT REFERENCED +% SML-history/Implementation/regions/Elsman-RBMM-GGC-PADL-2020.pdf +@inproceedings{elsman:RBMM-GGC:2020, +author = {Martin Elsman and Niels Hallenberg}, +title = {On the Effects of Integrating Region-based Memory Management and + Generational Garbage Collection in ML}, +booktitle = {PADL 2020: International Symposium on Practical Aspects of Declarative Languages}, +month = jan, +year = {2020}, +pages= {95--112}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {12007} +} + +% SML-history/lang\ histories/PAL/Evans-PAL-ACM-1968.pdf +@inproceedings{PAL:1, +author = {Arthur {Evans, Jr.}}, +title = {{PAL} -- a language designed for teaching programming linguistics}, +booktitle = ACM68, +publisher = {Brandin Systems Press}, +address = {Princeton, N. J., USA} +year = {1968}, month = aug, +pages = {395--403}, +doi = {10.1145/800186.810604} +} + +@techreport{PAL:2, +author = {Arthur {Evans, Jr.}}, +title = {{PAL} -- A reference manual and a primer}, +institution = {{MIT} Department of Electrical Engineering}, +year = {1968} +} + +@techreport{PAL:3, +author = {Arthur {Evans, Jr.}}, +title = {{PAL} -- Pedagigic Algorithmic Language}, +institution = {{MIT} Department of Electrical Engineering}, +month = feb, +year = {1970} +} + +%%%%%%%%% +%% %% +%% FFF %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@incollection{control-secd-lambda, +author = {Matthias Felleisen and Daniel P. Friedman}, +title = {Control Operators, the {SECD}-machine, and the $\lambda$-calculus}, +booktitle = {Formal Description of Programming Concepts -- {III}}, +editor = {Martin Wirsing}, +publisher = {North-Holland}, +address = {New York, N.Y.}, +year = 1986, +pages = {193-219} +} + +@book{little-mler, +author = {Matthias Felleisen and Daniel P. Friedman}, +title = {The Little MLer}, +year = 1998, +publisher = mit-press:pub, +address = mit-press:addr +} + +@inproceedings{moby-classes, +author = {Kathleen Fisher and John Reppy}, +title = {The design of a class mechanism for {Moby}}, +booktitle = PLDI99, +location = PLDI99:loc, +publisher = acm:pub, +address = acm:addr, +year = 1999, month = PLDI99:month, +pages = {37--49}, +doi = {10.1145/301618.301638} +} + +@Article{class-types-in-moby, +author = {Kathleen Fisher and John Reppy}, +title = {Inhertance-based subtyping}, +journal = IC, +publisher = academic-press:pub, +address = academic-press:addr, +volume = 177, number = 1, +year = 2002, month = aug, +pages = {28--55}, +doi = {10.1006/inco.2002.3169} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Flatt-Felleisen-PLDI-1998.pdf +@inproceedings{flatt-felleisen:PLDI98, +author = {Matthew Flatt and Matthias Felleisen}, +title = {{Units}: cool modules for {HOT} languages}, +booktitle = PLDI98, +publisher = ACM:pub, +address = ACM:addr, +month = PLDI98:month, +pages = {236--248} +} + +@article{manticore-parallelism:2010, +author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam}, +title = {Implicitly Threaded Parallelism in Manticore}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = {20}, +number = {5-6}, +year = {2010}, month = nov, +pages = {537--576}, +numpages = {40}, +doi = {10.1017/S0956796810000201}, +} + +% NOT REFERENCED +% $DESIGN/types/Freeman-Pfenning-refinement-PLDI-1991.pdf +@inproceedings{freeman-pfenning:1991, +author = {Tim Freeman and Frank Pfenning}, +title = {Refinement types for {ML}}, +booktitle = PLDI91, +month = PLDI:month, +year = {1991}, +publisher = ACM:pub, +address = ACM:addr, +pages = {268-277}, +doi = {10.1145/113445.113468} +} + +@book{frege:1879, +author = {Gottlob Frege}, +title = {Begriffsschrift}, +publisher = {Verlag Louis Nebert}, +address = {Halle, Germany}, +year = {1879}, +note = {Also available in English as Begriffsschrift in van Heijenoort, 1967, pp. 1--82} +} + +% NOT REFERENCED +@incollection{frege:1879a, +author = {Gottlob Frege}, +title = {Begriffsschrift}, +booktitle = {From Frege to G\"odel: A Source Book in Mathematical Logic, 1879 -- 1931}, +editor = {Jean van Heijenoort}, +publisher = {Harvard University Press}, +address = {Cambridge, MA, USA}, +year = {1967}, +pages = {1--83} +} + +@book{frege:1893, +author = {Gottlob Frege}, +title = {Grundgesetze der Arithmetik}, +publisher = {Verlag Hermann Pohle}, +address = {Jena, Germany}, +year = {1893} +} + +% NOT REFERENCED +inproceedings{frisch-garrigue:2010, +author = {Alain Frisch and Jacques Garrigue}, +title = {First-class modules and composable signatures in Objective Caml 3.12}, +booktitle = {{ACM SIGPLAN} Workshop on ML}, +year = 2010, +location = {Baltimore, MD, USA} +} + +%%%%%%%%% +%% %% +%% GGG %% +%% %% +%%%%%%%%% + +@inproceedings{ml91:exene, +author = {Emden R. Gansner and John H. Reppy}, +title = {{eXene}}, +booktitle = ML91, +publisher = {Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +year = 1991, month = sep, +numpages = 16, +url = {https://people.cs.uchicago.edu/~jhr/papers/1991/ml-exene.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200328152609/https://people.cs.uchicago.edu/~jhr/papers/1991/ml-exene.pdf}, +archiveddate = {2020-03-28T15:26:09}, +} + +% NOT REFERENCED +@incollection{gui-foundation:1992, + author = {Emden R. Gansner and John H. Reppy}, + title = {A Foundation for User Interface Construction}, + chapter = {14}, + editor = {Brad Myers}, + booktitle = {Languages for Developing User Interfaces}, + publisher = {Jones and Bartlett}, + year = 1992 +} + +@incollection{multithreaded-windows:1993, + author = {Emden R. Gansner and John H. Reppy}, + title = {A Multi-threaded Higher-order User Interface Toolkit}, + booktitle = {User Interface Software, Bass and Dewan (Eds.)}, + series = {Software Trends}, + volume = 1, + publisher = wiley:pub, + address = wiley:addr, + YEAR = 1993, + PAGES = {61-80} +} + + +@book{SMLbasisbook, +editor = {Emden R. Gansner and John H. Reppy}, +title = {The {Standard} {ML} {Basis} {Library}}, +publisher = cup:pub, address = cup:addr, +year = 2004 +} + +% $DESIGN/types/weak-poly/Garrigue-value-restriction-FLOPS-2004.pdf +@inproceedings{garrigue:FLOPS:2004, +author = {Jacques Garrigue}, +title = {Relaxing the Value Restriction}, +booktitle = {FLOPS 2004: Functional and Logic Programming}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +numer = {2998}, +year = {2004}, +pages = {196--213}, +doi = {10.1007/978-3-540-24754-8_15} +} + +% NOT REFERENCED +@article{garrigue-nakata:2011, +author = {Jacques Garrigue and Keiko Nakata}, +title = {Path resolution for nested recursive modules}, +journal = HOSC, +volume = 24, +number = 3, +year = 2011, +pages = {207--237} +} + +@inproceedings{mlrisc:1994, +author = {Lal George and Florent Guillame and John H. Reppy}, +title = {A Portable and Optimizing Back End for the {SML/NJ} Compiler}, +booktitle = {Proceedings of the 5th International Conference on Compiler Construction ({CC '94})}, +year = {1994}, month = apr, +isbn = {3-540-57877-3}, +pages = {83--97}, +publisher = springer:pub, +address = springer:addr, +doi = {10.1007/3-540-57877-3_6} +} + +% NOT REFERENCED +@inproceedings{iterated-reg-coalescing:1996, +author = {Lal George and Andrew W. Appel}, +title = {Iterated Register Coalescing}, +booktitle = POPL23, +year = POPL23:year, month = jan, +location = POPL23:loc, +pages = {208--218}, +numpages = {11}, +publisher = acm:pub, +address = acm:addr +} + +@article{iterated-reg-coalescing:toplas:1996, +author = {George, Lal and Appel, Andrew W.}, +title = {Iterated Register Coalescing}, +journal = TOPLAS, +year = {1996}, +month = may, +volume = {18}, +number = {3}, +publisher = acm:pub, +address = acm:addr, +pages = {300–324}, +doi = {10.1145/229542.229546}, +} + +@inproceedings{nova-compiler:2003, +author = {George, Lal and Blume, Matthias}, +title = {Taming the {IXP} Network Processor}, +booktitle = PLDI03, +location = PLDI03:loc, +year = {2003}, month = PLDI03:month, +publisher = acm:pub, +address = acm:addr, +pages = {26–37}, +doi = {10.1145/781131.781135} +} + +@techreport{ECS-LFCS-97-364, +author = {Stephen Gilmore}, +title = {Programming in {Standard} {ML} '97: A Tutorial Introduction}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-97-364}, +month = sep, +year = 1997, +note = {Also available online at \url{http://homepages.inf.ed.ac.uk/stg/NOTES}} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-97-378, +author = {Stephen Gilmore and Dilsun Kirli and Shristopher Walton}, +title = {Dynamic {ML} without Dynamic Types}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-97-378}, +month = jun, +year = 1998 +} + +@phdthesis{girard:thesis:72, +author = {Jean-Yves Girard}, +title = {Interpr\'etation fonctionelle et \'elimination des coupures de + l'arithm\'etique d'ordre sup\'erieur}, +school = {Universit\'e Paris {VII}}, +note = {Th\'ese d'\'etat}, +year = {1972} +} + +% NOT REFERENCED +@article{goguen-burstall:92, +author = {Joseph A. Goguen and Rod M. Burstall}, +title = {Institutions: abstract model theory for specification and programming}, +journal = JACM, +publisher = acm:pub, +address = acm:addr, +volume = 39, number = 1, +month = jan, +year = 1992, +pages = {95--146} +} + +@inproceedings{goldberg:tag-free-gc:1991, +author = {Goldberg, Benjamin}, +title = {Tag-free Garbage Collection for Strongly Typed Programming Languages}, +booktitle = PLDI91, +year = {1991}, month = PLDI91:month, +location = {Toronto, Canada}, +pages = {165--176}, +numpages = {12}, +publisher = acm:pub, address = acm:addr, +doi = {10.1145/113446.113460} +} + +@inproceedings{goldberg:type-reconstruction:1992, +author = {Goldberg, Benjamin and Gloger, Michael}, +title = {Polymorphic Type Reconstruction for Garbage Collection Without Tags}, +booktitle = LISP92, +year = {1992}, month = LISP92:month, +location = {San Francisco, CA, USA}, +pages = {53--65}, +numpages = {13}, +publisher = acm:pub, address = acm:addr, +doi = {10.1145/141471.141504} +} + +% NOT REFERENCED +@inproceedings{goodenough:exceptions:1975, +author = {John B. Goodenough}, +title = {Structured exception handling}, +booktitle = POPL2, +publisher = ACM:pub, +address = ACM:addr, +year = POPL2:year, +pages = {204--224} +} + +% NOT REFERENCED +@article{goodenough:CACM:1975, +author = {John B. Goodenough}, +title = {Exception Handling: Issues and a Proposed Notation}, +journal = CACM, +publisher = ACM:pub, +address = ACM:addr, +volume = {18}, +number = {12}, +month = dec, +year = {1975}, +pages = {683--696} +} + +% $BACKGROUND/LCF/Gordon-Milner-POPL78.pdf +@inproceedings{gordon78, +author = {M. J. C. Gordon and R. Milner and L. Morris and M. C. Newey + and C. P. Wadsworth}, +title = {A metalanguage for interactive proof in {LCF}}, +booktitle = POPL5, +publisher = acm:pub, address = acm:addr, +month = jan, year = POPL5:year, +pages = "119-130", +doi = {10.1145/512760.512773} +} + +@book{gordon79, +author = {Michael J. Gordon and Arthur J. Milner and Christopher P. Wadsworth}, +title = {Edinburgh {LCF}}, +publisher = springer:pub, address = springer:addr, +series = LNCS, +volume = {78}, +year = 1979, +doi = {10.1007/3-540-09724-4} +} + +% $DESIGN/refs/Gordon-ML-refs-1980.pdf +@unpublished{gordon:refs80, +author = {Michael J. C. Gordon}, +title = {Locations as first class objects in {ML}}, +year = {1980}, +note = {Note to Luis Damas proposing a research topic.}, +url = {http://sml-family.org/history/Gordon-ML-refs-1980.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317194215/http://sml-family.org/history/Gordon-ML-refs-1980.pdf}, +archiveddate = {2020-03-17T19:42:15} +} + +% NOT REFERENCED +% SML-history/Background/LCF/Gordon-LCF-history.pdf +@incollection{gordon:hol, +author = {Mike Gordon}, +title = {From {LCF} to {HOL}: A Short History}, +booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner}, +editor = {Gordon Plotkin and Colin Sterling and Mads Tofte}, +publisher = {MIT Press}, +year = 2000, +pages = {169--186} +} + +% SML-history/Applications/pdiff.pdf +@article{pdiff:1994, +author = {Timoth Griffin and Howard Trickey}, +title = {Integrity Maintenance in a Telecommunications Switch}, +journal = {Bulletin of the Technical Committee on Data Engineering}, +editor = {David Lomet}, +publisher = {{IEEE} Computer Scociety}, +address = {Washington, DC, USA}, +year = 1994, month = jun, +volume = 17, number = 2, +pages = {43--46} +} + +% NOT REFERENCED +@inproceedings{cgunter-egunter-macqueen:91, +author = {C. A. Gunter and E. L. Gunter and D. B. {MacQueen}}, +title = {An abstract interpretation for ML equality kinds}, +booktitle = {Theoretical Aspects of Computer Software}, +year = {1991}, +editor = {A. Meyer and T. Ito}, +pages = {112--130}, +series = LNCS, +volume = {526}, +publisher = springer:pub, +address = springer:addr, +} + +% NOT REFERENCED +@article{gunter:maharaj:95, +author = {E. Gunter and S. Maharj}, +title = {Studying the {ML} module system in {HOL}}, +journal = ComputerJournal, +volume = 38, +number = 2, +year = {1995}, month = jan, +pages = {142--151} +} + + +%%%%%%%%% +%% %% +%% HHH %% +%% %% +%%%%%%%%% + +% $DESIGN/types/type\ errors/Haack-Wells-SCP-2004.pdf +@article{haack-wells:2004, +author = {Christian Haack and J. B. Wells}, +title = {Type Error Slicing in Implicitly Typed Higher-Order Languages}, +journal = {Science of Computer Programming}, +volume = {50}, +number = {1--3}, +month = mar, +year = {2004}, +pages = {189--224}, +doi = {10.1016/j.scico.2004.01.004} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Hage-Heeren-TR-2005.pdf +@techreport{hage-heeren:2005, +author = {Jurriaan Hage and Bastiaan Heeren}, +title = {Heuristics for type error discovery and recovery}, +institution = {Institute of Information and Computing Sciences, Utrecht University}, +number = {UU-CS-2005-029}, +year = {2005}, +numpages = {15} +} + +% $DESIGN/types/type\ errors/Hage-Heeren-IFL-2006.pdf +@inproceedings{hage-heeren:2006, +author = {Jurriaan Hage and Bastiaan Heeren}, +title = {Heuristics for type error discovery and recovery}, +booktitle = IFL06, +location = IFL06:loc, +series = LNCS, +number = IFL06:vol, +publisher = springer:pub, +address = springer:addr, +year = {2006}, +pages = {199--216}, +doi = {10.1007/978-3-540-74130-5_12} +} + +@inproceedings{haines:1991, +author = {Nick Haines}, +title = {Compiling {ML} to a Strongly-typed System}, +booktitle = {Third International Workshop on Standard ML}, +publisher = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +month = sep, +year = {1991}, +numpages = {11} +} + +% SML-history/Implementation/regions/Hallenberg-Elsman-Tofte-PLDI-2002.pdf +@inproceedings{regions+gc:2002, +author = {Niels Hallenberg and Martin Elsman and Mads Tofte}, +title = {Combining Region Inference and Garbage Collection}, +booktitle = PLDI02, +year = {2002}, +location = PLDI02:loc, +month = PLDI02:month, +publisher = acm:pub, +address = acm:addr, +pages = {141–152}, +doi = {10.1145/512529.512547} +} + +@book{hammond:parallel-sml-book:88, +author = {Kevin Hammond}, +title = {Parallel {SML}: a Functional Language and its Implementation in {Dactl}}, +publisher = {Pitman}, +address = {London, UK}, +series = {Research Monographs in Parallel and Distributed Computing}, +year = 1988, +numpages = 252 +} + +@article{hanson:arena-alloc:90, +author = {Hanson, D. R.}, +title = {Fast Allocation and Deallocation of Memory Based on Object Lifetimes}, +journal = SPE, +volume = {20}, number = {1}, +year = {1990}, month = jan, +publisher = wiley:pub, +address = wiley:addr, +pages = {5–12}, numpages = {8}, +doi = {10.1002/spe.4380200104} +} + +@article{hansen:first-class-substrings, +author = {Wilfred J. Hansen}, +title = {Subsequence References: First-class Values for Substrings}, +journal = TOPLAS, +volume = {14}, number = {4}, +year = {1992}, month = oct, +publisher = acm:pub, address = acm:addr, +pages = {471--489}, +doi = {10.1145/133233.133234} +} + +% $DESIGN/meetings/May85/RH-SML-meeting-85.pdf +% Archive name: Harper-SML-meeting-1985_05.pdf +@unpublished{harper:meeting-report:85, +author = {Robert Harper}, +title = {Report on the {Standard} {ML} Meeting, + Edinburgh, May 23--25, 1985 (DRAFT)}, +year = 1985, +numpages = {10}, +url = {http://sml-family.org/history/Harper-SML-meeting-1985_05.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316201215/http://sml-family.org/history/Harper-SML-meeting-1985_05.pdf}, +archiveddate = {2020-03-16T20:12:15} +} + +% NOT REFERENCED +@article{harper:sml-io, +author = {Robert W. Harper}, +title = {{Standard} {ML} Input/Output}, +journal = POLYMORPHISM, +volume = {II}, number = 2, +year = {1985}, month = oct, +numpages = 6, +note = {internally dated June 6, 1985}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190308005136/http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archiveddate = {2019-03-08T00:51:36} +} + +% NEED ARCHIVE LINK (not referenced) +% $Background/Edinburgh ML/RH-remarks-Edinburgh-SML-compiler-2-11-86.pdf +@unpublished{harper:ESML:1986, +author = {Robert Harper}, +title = {Remarks on the Edinburgh Standard ML compiler}, +month = feb, +year = {1986}, +numpages = {11}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@techreport{ECS-LFCS-86-2, +author = {Robert Harper and David MacQueen and Robin Milner}, +title = {Standard {ML}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-86-2}, +month = mar, +year = 1986 +} + +% is the same as "harper:sml-io" above? +@incollection{harper:SML-IO:LFCS:86-2, +author = {Robert Harper}, +title = {{Standard} {ML} Input/Output}, +booktitle = {Standard ML}, +series = {LFCS Report Series}, +number = {ECS-LFCS-86-2}, +publisher = LFCS, +address = LFCS:addr, +month = mar, +year = {1986}, +numpages = {6}, +note = {This paper is dated June 10, 1985.} +} + +% $DESIGN/modules/papers/Harper-ATypeDisciplineForProgramModules-87.pdf +@inproceedings{harper:milner:tofte:tapsoft87, +author = {R. Harper and R. Milner and M. Tofte}, +title = {A type discipline for program modules}, +booktitle = {Proceedings of the International Joint Conference + on Theory and Practice of Software Development ({TAPSOFT} '87)}, +editor = {H. Ehrig and R. Kowalski and G. Levi and U. Montanari}, +publisher = springer:pub, +address = springer:addr, +month = mar, +year = 1987, +series = LNCS, +number = 250, +pages = {308--319}, +doi = {10.1007/BFb0014988} +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{harper:issues:87, +author = {Robert Harper}, +title = {Issues in the {ML} Semantics}, +year = 1987, +month = may, +numpages = 3, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@techreport{ECS-LFCS-87-36, +author = {Robert Harper and Robin Milner and Mads Tofte}, +title = {The {Semantics} of {Standard} {ML}, {Version} 1}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-87-36}, +month = aug, +year = 1987 +} + +@techreport{ECS-LFCS-88-62, +author = {Robert Harper and Robin Milner and Mads Tofte}, +title = {The {Definition} of {Standard} {ML}, {Version} 2}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-88-62}, +month = aug, +year = 1988 +} + +% NOT REFERENCED +@techreport{ECS-LFCS-86-14, +author = {Robert Harper}, +title = {Introduction to {Standard} {ML}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-86-14}, +year = 1986, +note = {With exercises by Kevin Mitchell} +} + +@techreport{ECS-LFCS-89-81, +author = {Robert Harper and Robin Milner and Mads Tofte}, +title = {The {Definition} of {Standard} {ML}, {Version} 3}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-89-81}, +month = may, +year = 1989 +} + + +@article{moggi:1991, +title={A category-theoretic account of program modules}, +volume={1}, +number={1}, +journal={Mathematical Structures in Computer Science}, +publisher=cup:pub, +address = cup:addr, +author={Moggi, Eugenio}, +year={1991}, +pages={103–139}, +DOI={10.1017/S0960129500000074}, +} + +@inproceedings{phase-distinction, +author = {Robert Harper and John C. Mitchell and Eugenio Moggi}, +title = {Higher-order modules and the phase distinction}, +booktitle = POPL17, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = 1990, +pages = {341--354}, +doi = {10.1145/96709.96744} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-90-112, +author = {Robert Harper and John C. Mitchell and Eugenio Moggi}, +title = {Higher-Order Modules and the Phase Distinction}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-90-112}, +month = apr, +year = 1990 +} + +% NOT REFERENCED +@techreport{ECS-LFCS-91-162, +author = {Robert Harper and Furio Honsell and Gordon Plotkin}, +title = {A Framework for Defining Logics}, +number = {ECS-LFCS-91-162}, +institution = LFCS, +address = LFCS:addr, +month = jun, +year = 1991 +} + +% NEED ARCHIVE LINK (not referenced) +% $DESIGN/types/weak-poly/Harper-SML-meeting-1985_05.pdf +% DO NOT CITE requested, use IPL 1994 reference below +@unpublished{harper:poly-refs:91b, +author = {Robert Harper}, +title = {Yet another approach to polymorphic references}, +month = jul, +year = 1991, +note = {draft dated 7/21/91}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@article{harper:refs-ipl:1994, +author = {Robert Harper}, +title = {A Simplified Account of Polymorphic References}, +journal = IPL, +year = {1994}, +volume = {51}, +pages = {201--206}, +doi = {10.1016/0020-0190(94)90120-1} +} + +@article{ harper+:lf-jacm, +author = {Robert Harper and Furio Honsell and Gordon Plotkin}, +title = {A Framework for Defining Logics}, +journal = JACM, +volume = {40}, +number = {1}, +month = jan, +year = {1993}, +pages = {143--184}, +doi = {10.1145/138027.138060} +} + +% $DESIGN/modules/papers/1993-TOPLAS-RH-JM-type-structure-SML.pdf +@article{harper-mitchell:1993, +author = {Robert Harper and John C. Mitchell}, +title = {On the type structure of {Standard} {ML}}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume ={15}, +number = {2}, +year = 1993, +pages = {211--252}, +doi = {10.1145/169701.169696} +} + +@article{harper-macqueen-duba:93, +author = {Robert Harper and David B. {MacQueen} and Bruce F. Duba}, +title = {Typing first-class continuations in {ML}}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = {3}, +numer = {4}, +month = oct, +year = {1993}, +pages = {465--484}, +url = {10.1017/S095679680000085X} +} + +@techreport{CMU-CS-94-104, +author = "Robert Harper and Peter Lee", +title = "Advanced Languages for System Software --- The Fox Project in 1994", +institution = "School of Computer Science, Carnegie Mellon University", +address = "Pittsburgh, PA", +number = "CMU-CS-94-104", +year = 1994, month = jan, +numpages = 28 +} + +% $DESIGN/types/Harper-Lillibridge-LASC-1993.pdf +@article{harper-lillibridge:1993, +author = {Robert Harper and Mark Lillibridge}, +title = {Polymorphic type assignment and {CPS} conversion}, +journal = LASC, +volume = 6, +number = {3--4}, +year = {1993}, +pages = {361--380}, +doi = {10.1007/BF01019463} +} + +% $DESIGN/modules/papers/1994-01-POPL-Harper-Lillibridge-HO-modules-with-sharing.pdf +@inproceedings{harper-lillibridge:1994, +author = {Robert Harper and Mark Lillibridge}, +title = {A type-theoretic approach to higher-order modules with sharing}, +booktitle = POPL21, +publisher = acm:pub, address = acm:addr, +month = jan, +year = {1994}, +pages = {123--137}, +doi = {10.1145/174675.176927} +} + +@techreport{inc-recomp-for-sml:1994, +author = {Robert Harper and Peter Lee and Frank Pfenning and Gene Rollins}, +title = {Incremental Recompilation for {Standard} {ML} of {New} {Jersey}}, +institution = "School of Computer Science, Carnegie Mellon University", +address = "Pittsburgh, PA", +number = "CMU-CS-94-116", +year = 1994, month = feb, +numpages = 12 +} + +@inproceedings{sepcomp-for-smlnj:1994, +author = {Robert Harper and Peter Lee and Frank Pfenning and Gene Rollins}, +title = {A Compilation Manager for {SML/NJ}}, +booktitle = ML94, +location = {Orlando, FL, USA}, +publisher = {INRIA}, +address = {Rocquencourt, France}, +series = {INRIA Technical Report}, +number = {RR 2265}, +month = jun, +year = 1994, +pages = {136--147} +} + +% NOT REFERENCED +@article{harper-lillibridge-continuations:1996, +author = {Robert Harper and Mark Lillibridge}, +title = {Operational Interpretations of an Extension of {$F_\omega$} + with Control Operators}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 6, +number = 3, +month = may, +year = 1996, +pages = {393--417}, +doi = {10.1017/S0956796800001775} +} + +% NOT REFERENCED +@article{harper-mitchell:1996, +author = {Robert Harper and John C. Mitchell}, +title = {{ML} and Beyond}, +journal = SURVEYS, +publisher = acm:pub, +address = acm:addr, +volume = 28, +number = {4es}, +year = 1996, month = dec, +pages = {1--6}, +doi = {10.1145/242224.242438} +} + +@incollection{harper-stone:2000, +author = {Robert Harper and Christopher Stone}, +title = {A type-theoretic interpretation of {Standard ML}}, +booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner}, +editor = {Gordon Plotkin and Colin Sterling and Mads Tofte}, +publisher = mit-press:pub, +address = mit-press:addr, +year = 2000, +pages = {341--388} +} + +% NOT REFERENCED +@incollection{harper-pierce:2005, +author = {Robert Harper and Benjamin C. Pierce}, +title = {Design Considerations for ML-Style Module Systems}, +booktitle = {Advanced Topics in Types and Programming Languages}, +editor = {Benjamine C. Pierce}, +publisher = mit-press:pub, +address = mit-press:addr, +year = 2005, +pages = {293--346} +} + +@online{harper:programming-in-sml, +author = {Robert Harper}, +title = {Programming in {Standard} {ML}}, +organization = {Carnegie Mellon University}, +year = 2011, month = feb, +url = {http://www.cs.cmu.edu/~rwh/isml/book.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20191212212327/http://www.cs.cmu.edu/~rwh/isml/book.pdf}, +archiveddate = {2019-12-12T21:23:27}, +numpages = 284 +} + +@book{harper:PFPL:2016, +author = {Robert Harper}, +title = {Practical Foundations for Programming Languages}, +edition = {2}, +publisher = CUP:pub, +address = CUP:addr, +year = 2016 +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Heeren-etal-UtrechtTR-UU-CS-2002-009-2002.pdf +@techreport{heeren:type-error-msgs:2002, +author = {Bastiaan Heeren and Johan Jeuring and Doaitse Swierstra and Pablo Azero-Alcocer}, +title = {Improving type-error messages in functional languages}, +institution = {Department of Information and Computing Sciences, Utrecht University}, +number = {UU-CS-2002-009}, +year = {2002}, +numpages = {15} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Heeren-phd-2005.pdf +@phdthesis{heeren:phd:2005, +author = {Bastiaan Heeren}, +title = {Top Quality Type Error Messages}, +school = {Department of Informatics, University of Utrecht}, +year = {2005} +} + +@book{hilbert-ackermann:1928, +author = {D. Hilbert and W. Ackermann}, +title = {Grundz\"uge der Theoretischen Logik}, +series = {Gundlehren der Mathematischen Wissenschaften in Einzeldarstellungen}, +colume = {Band XXVII}, +publisher = springer:pub, +address = {Berlin, Germany}, +year = 1928 +} + +@article{hindley69, +author = {J. Roger Hindley}, +title = {The principal type scheme of an object in combinatory logic}, +journal = {Transactions of the American Mathematical Society}, +volume = 146, +pages = {29--60}, +month = dec, +year = 1969, +doi = {10.2307/1995158} +} + +% NOT REFERENCED +@book{hindley-seldin:86, +author = {J. Roger Hindley and Jonathan P. Seldin}, +title = {Introduction to Combinators and $\lambda$-Calculus}, +publisher = CUP:pub, +address = CUP:addr, +series = {London Mathematical Society Student Texts}, +volume = 1, +year = 1986 +} + +@book{hindley:type-theory:97, +author = {J. Roger Hindley}, +title = {Basic Simple Type Theory}, +series = {Cambridge Tracts in Theoretical Computer Science}, +volume = 42, +publisher = CUP:pub, +address = CUP:addr, +year = {1997} +} + +@article{hindley:newman:2008, +author = {J. Roger Hindley}, +title = {M. H. Newman's Typability Algorithm for Lambda-calculus}, +journal = {Journal of Logic and Computation}, +volume = 18, +number = 2, +year = 2008, +pages = {229--238}, +doi = {10.1093/logcom/exm001} +} + +% $DESIGN/modules/papers/Hirschowitz-mixin-modules-FLOPS-2004.pdf +@inproceedings{hirschowitz:FLOPS:2004, +author = {Tom Hirschowitz}, +title = {Rigid Mixin Modules}, +booktitle = {FLOPS 2004: Functional and Logic Programming}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +numer = {2998}, +year = {2004}, +pages = {214--228}, +doi = {10.1007/978-3-540-24754-8_16} +} + + +@article{hirschowitz-leroy:2005, +author = {Tom Hirschowitz and Xavier Leroy}, +title = {Mixin modules in a call-by-value setting}, +journal = TOPLAS, +publisher = ACM:pub, +address = ACM:addr, +volume = 27, +number = 5, +month = sep, +year = 2005, +pages = {857--881}, +doi = {10.1145/1086642.1086644} +} + +% $DESIGN/types/weak-poly/Hoang-Mitchell-Viswanathan-weak-poly-SMLNJ-LICS-1993.pdf +@inproceedings{hoang-mitchell-viswanathan:1993, +author = {M. Hoang and J. Mitchell and Ramesh Viswanathan}, +title = {Standard {ML-NJ} weak polymorphism and imperative constructs}, +booktitle = {LICS '93: Proceedings of Eighth Annual IEEE Symposium on Logic in Computer Science}, +month = jul, +year = {1993}, +doi = 10.1109/LICS.1993.287604} +} + +@inproceedings{holmstrom:pfl:83, +author = {S. Holmstr{\"{o}}m}, +title = {{PFL}: A functional language for parallel programming}, +booktitle = {Declarative Programming Workshop}, +publisher = {University College}, +address = {London, UK}, +year = 1983, month = apr, +pages = {114--139}, +note = {Extended version published as Report~7, Programming Methodology Group, + Chalmers University, September 1983.} +} + +% NOT REFERENCED +@incollection{Howard:formula-as-type:80, +author = {William A. Howard}, +title = {The formula-as-types notion of construction}, +booktitle = {To H. B. {Curry}: Essays on Combinatory Logic, Lambda Calculus and Formalism}, +editor = {J. P. Seldin and J. R. Hindley}, +publisher = academic-press:pub, +address = academic-press:addr, +year = 1980, +pages = {479--490} +} + + +%%%%%%%%% +%% %% +%% III %% +%% %% +%%%%%%%%% + +@techreport{ieee-std-754-1985, +key = {{IEEE}}, +author = {{IEEE}}, +title = {{IEEE} Standard for Binary Floating-Point Arithmetic}, +publisher = {{IEEE}}, +institution = {{IEEE}}, +number = {{IEEE} {Std} 754-1985}, +month = aug, +year = {1985} +} + +@techreport{posix93, +title = "Portable Operating System Interface --- + {Part} 1: System Application Program Interface ({API}) [{C Language}]", +author = {{IEEE}}, +publisher = "{IEEE}", +institution = {{IEEE}}, +number = "IEEE Std 1003.1", +key = "POSIX", +year = 1993 +} + +% NOT REFERENCED +@techreport{posix96, +title = "Portable Operating System Interface --- + {Part} 1: System Application Program Interface ({API}) [{C Language}]", +author = {{IEEE}}, +publisher = "{IEEE}", +institution = {{IEEE}}, +number = "ISO/IEC 9945-1: 1996 (E) IEEE Std 1003.1", +key = "POSIX", +year = 1996 +} + +% NOT REFERENCED +@inproceedings{im-nakata-garrigue-park:2011, +author = {Hyeonseung Im and Keiko Nakata and Jacques Garrigue and Sungwoo Park}, +title = {A syntactic type system for recursive modules}, +booktitle = {{OOPLSA} '11: Proceedings of the 2011 {ACM} International Conference + on Object Oriented Programming Systems Languages and Applications}, +publisher = ACM:pub, +address = ACM:addr, +year = 2011, +pages = {993--1012} +} + +% NOT REFERENCED +@incollection{gabbay-woods:2009, +author = {Andrew D. Irvine}, +title = {Bertrand Russell's Logic}, +editor = {Dov M. Gabbay and John Woods}, +booktitle = {Logic from Russell to Church}, +series = {Handbook of the History of Logic}, +publisher = elsevier:pub, +address = elsevier:pub, +volume = 5, +pages = {1--28}, +year = 2009, +} + + +%%%%%%%%% +%% %% +%% JJJ %% +%% %% +%%%%%%%%% + +@inproceedings{design-rationale-multi-mlton:10, +title = {The Design Rationale for {Multi-MLton}}, +author = {Suresh Jagannathan and Armand Navabi and KC Sivaramakrishnan and Lukasz Ziarek}, +booktitle = ML10, +publisher = ACM:pub, +address = ACM:addr, +location = ML10:loc, +year = 2010, month = ML10:month, +url = {https://multimlton.cs.purdue.edu/mML/Publications_files/MultiMLton-MLW.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200328161027/https://multimlton.cs.purdue.edu/mML/Publications_files/MultiMLton-MLW.pdf}, +archiveddate = {2020-03-28T16:10:27}, +numpages = 2, +} + +@book{Pascal78, +title = {Pascal User Manual and Report}, +author = {Kathleen Jensen and Niklaus Wirth}, +edition = {2nd}, +publisher = springer:pub, address = springer:addr, +year = {1978} +} + +% $DESIGN/types/type\ errors/Johnson-Walz-type-inf-POPL-1986.pdf +@inproceedings{johnson-walz:POPL:1986, +author = {Gregory F. Johnson and Janet A. Walz}, +title = {A maximum-flow approach to anomaly isolation in unification-based + incremental type inference}, +booktitle = POPL13, +year = POPL13:year, +month = jan, +publisher = ACM:pub, +address = ACM:addr, +pages = {44--57}, +doi = {10.1145/512644.512649} +} + +% NOT REFERENCED +@techreport{jones-astarte:2016, +author = {Cliff B. Jones and Troy K. Astarte}, +title = {An Exegesis of Four Formal Descriptions of {ALGOL} 60}, +institution = {Computing Science Department, Newcastle University}, +number = {CS-TR-1498}, +month = sep, +year = 2016, +numpages = {59} +} + +% NOT REFERENCED +@techreport{jones-astarte:2017, +author = {Cliff B. Jones and Troy K. Astarte}, +title = {Challenges for semantic description: Comparing responses from the main approaches}, +institution = {Computing Science Department, Newcastle University}, +number = {CS-TR-1516}, +month = nov, +year = 2017, +numpages = {43} +} + +% NOT REFERENCED +@inproceedings{jones:96, +author = {Mark P. Jones}, +title = {Using Parameterized Signatures to Express Modular Structure}, +booktitle = POPL23, +month = jan, +year = POPL23:year, +location = POPL23:loc, +pages = {68--78} +} + +%%%%%%%%% +%% %% +%% KKK %% +%% %% +%%%%%%%%% + +% SML-history/Background/papers/Kahn-natural-semantics-STACS-1987.pdf +@inproceedings{kahn:natural-semantics:87, +author = {Gilles Kahn}, +title = {Natural Semantics}, +booktitle = {Symposium on Theoretical Aspects of Computer Science ({STACS} '87)}, +series = LNCS, +volume = 247, +publisher = springer:pub, +address = springer:addr, +year = 1987, +pages = {22--39}, +doi = {10.1007/BFb0039592} +} + +% NOT REFERENCED +% SML-history/Background/papers/Kahn-Plotkin-concrete-domains-TCS-93.pdf +@article{kahn-plotkin:93, +author = {G. Kahn and G. D. Plotkin}, +title = {Concrete Domains}, +journal = TCS, +number = 121, +year = 1993, +pages = {187--277} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-92-238, +author = {Stefan Kahrs}, +title = {Polymorphic Type Checking by Interpretation of Code}, +number = {ECS-LFCS-92-238}, +institution = LFCS, +address = LFCS:addr, +month = sep, +year = 1992 +} + +@techreport{ECS-LFCS-93-257, +author = {Stefan Kahrs}, +title = {Mistakes and ambiguities in the {Definition} of {Standard} {ML}}, +number = {ECS-LFCS-93-257}, +institution = LFCS, +address = LFCS:addr, +month = apr, +year = 1993 +} + +% NOT REFERENCED +@techreport{ECS-LFCS-94-284, +author = {Stefan Kahrs}, +title = {First-Class Polymorphism for {ML}}, +number = {ECS-LFCS-94-284}, +institution = LFCS, +address = LFCS:addr, +month = feb, +year = 1994 +} + +@techreport{ECS-LFCS-94-300, +author = {Stefan Kahrs and Don Sannella and Andrzej Tarlecki}, +title = {The Definition of {Extended} {ML}}, +number = {ECS-LFCS-94-300}, +institution = LFCS, +address = LFCS:addr, +year = 1994 +} + +@article{kahrs:ExtendedML:1997, +author = {Stefan Kahrs and Donald Sannella and Andrzej Tarlecki}, +title = {The Definition of Extended {ML:} {A} Gentle Introduction}, +journal = TCS, +volume = {173}, +number = {2}, +pages = {445--484}, +year = {1997}, +doi = {10.1016/S0304-3975(96)00163-6} +} + +@inproceedings{reflections-on-eml:1998, +author = {Stefan Kahrs and Donald Sannella}, +title = {Reflections on the Design of a Specification language}, +booktitle = {Proceedings of the First International Conference + on Fundamental Approaches to Software Engineering (FASE '98)}, +series = LNCS, +number = 1382, +publisher = springer:pub, +address = springer:addr, +pages = {154--170}, +year = {1998}, +doi = {10.1007/BFb0053589} +} + +@book{kamareddine:TT:2004, +author = {Fairouz Kamareddine and Twan Laan and Rob Nederpelt}, +title = {A Modern Perspective on Type Theory: From its Origins until Today}, +series = {Applied Logic Series}, +volume = 29, +year = 2004, +publisher = kluwer:pub, +address = kluwer:addr +} + +% NOT REFERENCED +@article{kamareddine-seldin-wells:2016, +author = {Fairouz Kamareddine and Jonathan P. Seldin and J. B. Wells}, +title = {Bridging Curry and Church's typing style}, +journal = {Journal of Applied Logic}, +volume = 18, +year = 2016, +pages = {42--70} +} + +@phdthesis{kennedy:phd-thesis:96, +author = {Andrew J. Kennedy}, +title = {Programming languages and dimensions}, +year = 1996, month = apr, +school = {University of Cambridge, Computer Science Department}, +address = {Cambridge, UK}, +note = {Also available as Technical Report CL-TR-391} +} + +@inproceedings{generics-for-dotnet:2001, +author = {Kennedy, Andrew and Syme, Don}, +title = {Design and Implementation of Generics for the {.NET} Common Language Runtime}, +booktitle = PLDI01, +year = {2001}, +month = PLDI01:month, +publisher = acm:pub, +address = acm:addr, +pages = {1–12}, +location = PLDI01:loc, +doi = {10.1145/378795.378797}, +} + +% NOT REFERENCED +% $IMPLEMENTATION/papers/Kennedy-picklercombinators-JFP-2004.pdf +@article{kennedy:pickler:2004, +author = {Andrew J. Kennedy}, +title = {Pickler Combinators} +journal = JFP, +volume = {14}, +number = {6}, +month = nov, +year = {2004}, +publisher = CUP:pub, +address = CUP:addr, +pages = {727--739}, +doi = {10.1017/S0956796804005209}, +note = {\url{https://github.com/diku-dk/pickle/blob/master/README.md}} +} + +@inproceedings{kennedy:cwcc:07, +author = {Kennedy, Andrew}, +title = {Compiling with Continuations, Continued}, +booktitle = ICFP07, +year = {2007}, month = ICFP07:month, +location = ICFP07:loc, +pages = {177--190}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/1291151.1291179} +} + +% NOT REFERENCED +@inproceedings{krumvieda:dml:91, +author = {Clifford D. Krumvieda}, +title = {{DML}: Packaging High-level Distributed Abstractions in {SML}}, +booktitle = ML91, +year = 1991, month = sep +} + +% NOT REFERENCED +@inproceedings{krumvieda:dml-fault-tolerant:92, +author = {Clifford D. Krumvieda}, +title = {Expressing Fault-tolerant and Consistency-preserving Programs + in {Distributed ML}}, +booktitle = ML92, +year = 1992, month = jun, +pages = {157--162}, +publisher = {Carnegie Mellon, Department of Computer Science}, +address = {Pittsburgh, PA, USA}, +note = {Proceedings available as Technical Report CMU-CS-93-105.} +} + +@phdthesis{krumvieda:phd-thesis:93, +author = {Clifford D. Krumvieda}, +title = {Distributed {ML}: Abstractions for Efficient and Fault-Tolerant Programming}, +school = {Department of Computer Science, Cornell University}, +address = {Ithaca, {NY}, USA}, +year = 1993, month = aug, +note = {Available as Technical Report TR 93-1376.} +} + +% NOT REFERENCED +% SML-history/Design/types/Kuan-MacQueen-rewriting-type-inference-2007.pdf +@inproceedings{kuan-macqueen-findler:2007, +author = {George Kuan and David MacQueen and Robert Bruce Findler}, +title = {A Rewriting Semantics for Type Inference}, +booktitle = {ESOP 2007: Programming Langauges and Systems}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {4421}, +year = {2007}, +pages = {426--440} +} + +% SML-history/Design/types/Kuan-MacQueen-ML07.pdf +@inproceedings{kuan-macqueen:MLW:2007, +author = {George Kuan and David MacQueen}, +title = {Efficient {ML} Type Inference Using Ranked Type Variables}, +booktitle = ML07, +publisher = ACM:pub, +address = ACM:addr, +month = ML07:month, +year = 2007, +pages = {3--14}, +doi = {10.1145/1292535.1292538} +} + +% SML-history/Design/modules/papers/Kuan-MacQueen-HOF-IFL-09.pdf +@inproceedings{kuan-macqueen:2009, +author = {George Kuan and David MacQueen}, +title = {Engineering Higher-Order Modules in {SML/NJ}}, +booktitle = IFL09, +location = IFL09:loc, +editor = {M. T. Morazán and S. B. Scholz}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = IFL09:vol, +year = 2010, month = IFL09:month, +pages = {218--235}, +doi = {10.1007/978-3-642-16478-1_13} +} + +% $DESIGN/modules/papers/Kuan-phd-thesis-2010.pdf +@phdthesis{kuan:phd:2010, +author = {George Kuan}, +title = {A True Higher-Order Module System}, +school = {Department of Computer Science, University of Chicago}, +address = {Chicago, IL, USA}, +year = {2010}, +numpages = {181} +} + +%%%%%%%%% +%% %% +%% LLL %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@article{lampson-burstall:88, +author = {B. Lampson and R. Burstall}, +title = {Pebble, a kernel language for modules and abstract data types}, +journal = IC, +publisher = Elsevier, +volume = 76, +number = {2--3}, +month = {February--March}, +year = 1988, +pages = {278--346} +} + +@article{landin:1964, +author = {Peter J. Landin}, +title = {The mechanical evaluation of expressions}, +journal = ComputerJournal, +publisher = oxford:pub, address = oxford:addr, +volume = {6}, number = {4}, +year = {1964}, +pages = {308--320}, +doi = {10.1093/comjnl/6.4.308} +} + +% NOT REFERENCED +@inproceedings{landin:FLDL:1966, +author = {P. J. Landin}, +title = {A formal description of {ALGOL} 60}, +booktitle = {Formal Language Description Languages for Computer Programming}, +publisher = NH:pub, +address = NH:addr, +year = {1966}, +pages = {266--294} +} + +@article{landin:algol-part-1:1965, +author = {Peter J. Landin}, +title = {A correspondence between {ALGOL} 60 and {Church's} lambda-notation: Part I}, +journal = CACM, +publisher = acm:pub, address = acm:addr, +volume = {8}, number = {2}, +pages = {89--101}, +month = feb, +year = 1965, +doi = {10.1145/363744.363749} +} + +@article{landin:algol-part-2:1965, +author = {Peter J. Landin}, +title = {A correspondence between {ALGOL} 60 and {Church's} lambda-notation: Part II}, +journal = CACM, +publisher = acm:pub, address = acm:addr, +volume = {8}, number = {3}, +pages = {158--165}, +month = mar, +year = 1965, +doi = {10.1145/363791.363804} +} + +% NOT REFERENCED +@techreport{landin:J:1965, +author = {Peter J. Landin}, +title = {A generalization of jumps and labels}, +institution = {{UNIVAC} {Systems} {Programming} {Research}}, +month = aug, year = {1965} +} + +@article{landin:1966, +author = {Peter J. Landin}, +title = {The next 700 programming languages}, +Journal = CACM, +publisher = acm:pub, address = acm:addr, +volume = 9, +number = 3, +year = 1966, +pages = {157-66}, +doi = {10.1145/365230.365257} +} + +@incollection{landin:1966a, +author = {Peter J. Landin}, +title = {A Lambda-Calculus Approach}, +chapter = {5}, +editor = {L. Fox}, +booktitle = {Advances in Programming and Non-Numerical Computation}, +publisher = {Pergamon Press}, +address = {Oxford, UK}, +pages = {97--141}, +year = 1966, +isbn = {978-0-08-011356-2}, +doi = {10.1016/B978-0-08-011356-2.50008-2}, +url = {http://www.sciencedirect.com/science/article/pii/B9780080113562500082} +} + +@article{landin:J:1998, +author = {Peter J. Landin}, +title = {A Generalization of Jumps and Labels}, +journal = HOSC, +publisher = springer:pub, address = springer:addr, +volume = {11}, number = 2, +year = {1998}, month = dec, +pages = {117-123}, +doi = {10.1023/A:1010068630801} +} + +% NOT REFERENCED +@techreport{lauer:defn-ALGOL60:1968, +author = {P. Lauer}, +title = {Formal definition of {ALGOL} 60}, +institution = {IBM Laboratory Vienna}, +month = dec, +year = 1968, +number = {TR 25.088} +} + +% NOT REFERENCED +% $DESIGN/types/Laufer-Odersky-TOPLAS-1994.pdf +@article{laufer-odersky:1994, +author = {Konstantin L\"aufer and Martin Odersky}, +title = {Polymorphich Type Inference and Abstract Data Types}, +journal = TOPLAS, +volume = {16}, +number = {5}, +month = sep, +year = {1994}, +pages = {1411--1430} +} + +% NOT REFERENCED +@inproceedings{laville:87, +author = {Alain Laville}, +title = {Lazy pattern matching in the {ML} language}, +booktitle = {FSTTCS 1987: Foundations of Software Technology and + Theoretical Computer Science}, +series = LNCS, +volume = 287, +publisher = springer:pub, +address = springer:addr, +year = 1987, +pages = {400--419} +} + +% NOT REFERENCED +@inproceedings{laville:88, +author = {Alain Laville}, +title = {Implementation of lazy pattern matching algorithms}, +booktitle = {ESOP 1988: European Symposium on Programming}, +series = LNCS, +volume = 300, +publisher = springer:pub, +address = springer:addr, +year = 1988, +pages = {298--0316} +} + +% NOT REFERENCED +@article{laville:91, +author = {Alain Laville}, +title = {Comparison of priority Rules in Pattern Matching and Term Rewriting}, +journal = JSC, +volume = 11, +publisher = academic-press:pub, +address = academic-press:addr, +year = 1991, +pages = {321--347} +} + +@inproceedings{lee+07:mechanizing, +author = {Daniel K. Lee and Karl Crary and Robert Harper}, +title = {Towards a mechanized metatheory of {Standard} {ML}}, +booktitle = POPL34, +month = POPL34:month, +year = POPL34:year, +isbn = {1-59593-575-4}, +location = {Nice, France}, +publisher = ACM:pub, +address = ACM:addr, +pages = {173--184}, +doi = {10.1145/1190216.1190245} +} + +% NOT REFERENCED +@incollection{lee:2017, +author = {Kent D. Lee}, +title = {Compiling {Standard} {ML}}, +booktitle = {Foundations of Programming Languages}, +series = {Undergraduate Topics in Computer Science}, +publisher = springer:pub, +address = springer:addr, +year = 2017, +pages = {235--276} +} + +% $DESIGN/types/Lee-Yi-folklore-1998.pdf +@article{lee-yi:folklore:1998, +author = {Oukseh Lee and Kwangkeun Yi}, +title = {Proofs about a folklore let-polymorphic type inference algorithm}, +journal = TOPLAS, +volume = 20, +number = 4, +publisher = ACM:pub, +address = ACM:addr, +month = jul, +year = {1998}, +pages = {707--723}, +doi = {10.1145/291891.291892} +} + +% NOT REFERENCED +@inproceedings{lefessant-maranget:2001, +author = {Fabrice Le Fessant and Luc Maranget}, +title = {Optimizing pattern matching}, +booktitle = ICFP01, +publisher = ACM:pub, +address = ACM:addr, +month = sep, +year = 2001, +pages = {26--37} +} + +% introduction of the term "phantom type" +@inproceedings{leijn:embedded-compilers, +author = {Daan Leijen and Erik Meijer}, +title = {Domain Specific Embedded Compilers}, +booktitle = DSL99, +location = DSL99:loc, +year = 1999, month = DSL99:month, +publisher = USENIX:pub, address = USENIX:addr, +pages = {109–122}, +doi = {10.1145/331963.331977} +} + +% NOT REFERENCED +@inproceedings{lightweight-runtime-cg:1994, +author = {Mark Leone and Peter Lee}, +title = {Lightweight Run-Time Code Generation}, +booktitle = pepm94, +location = pepm94:loc, +publisher = {University of Melbourne, Australia, Department of Computer Science}, +pages = {97--106}, +year = {1994}, month = pepm94:month, +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Lerner-Grossman-Chambers-ML06-2006.pdf +@inproceedings{lerner-grossman-chambers:2006, +author = {Benjamin Lerner and Dan Grossman and Craig Chambers}, +title = {{Seminal}: Searching for {ML} Type-Error Messages}, +booktitle = ML06, +month = ML06:month, +publisher = ACM:pub, +address = ACM:addr, +pages = {63--73} +} + +% $DESIGN/types/type\ errors/Lerner-Flower-Grossman-Chambers-PLDI-2007.pdf +@inproceedings{lerner:searching-type-error:2007, +author = {Benjamin Lerner and Matthew Flower and and Dan Grossman and Craig Chambers}, +title = {Searching for Type-Error Messages}, +booktitle = PLDI07, +publisher = ACM:pub, +address = ACM:addr, +year = {2007}, +month = PLDI07:month, +location = PLDI07:loc, +pages = {425--434}, +doi = {10.1145/1250734.1250783} +} + +% $DESIGN/types/weak-poly/Leroy-Weis-POPL-1991.pdf +@inproceedings{leroy-weis:POPL:1991, +author = {Xavier Leroy and Pierre Weis}, +title = {Polymorphic type inference and assignment}, +booktitle = POPL18, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = {1991}, +pages = {291--302}, +doi = {10.1145/99583.99622} +} + +@inproceedings{leroy93, +author = {Xavier Leroy}, +title = {Polymorphism by name for references and continuations}, +booktitle = POPL20, +publisher = acm:pub, address = acm:addr, +year = POPL20:year, month = jan, +pages = {220--231}, +doi = {10.1145/158511.158632} +} + +@inproceedings{leroy94, +author = {Xavier Leroy}, +title = {Manifest types, modules, and separate compilation}, +booktitle = POPL21, +publisher = acm:pub, +address = acm:addr, +month = jan, +year = POPL21:year, +pages = {109--122}, +doi = {10.1145/174675.176926} +} + +@inproceedings{leroy95, +author = {Xavier Leroy}, +title = {Applicative functors and fully transparent higher-order modules}, +booktitle = POPL22, +publisher = acm:pub, +address = acm:addr, +month = jan, +year = POPL22:year, +pages = {142--153}, +doi = {10.1145/199448.199476} +} + +@article{leroy96, +author = {Xavier Leroy}, +title = {A syntactic theory of type generativity and sharing}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 6, +number = 5, +year = 1996, +pages = {667--698}, +doi = {10.1017/S0956796800001933} +} + +% NOT REFERENCED +@article{leroy00, +author = {Xavier Leroy}, +title = {A modular module system}, +journal = JFP, +publisher = cup:pub, +address = cup:addr, +volume = 10, +number = 3, +pages = {269--303} +} + +% NOT REFERENCED +@manual{ocaml:refman:2019, +author = {Xavier Leroy and Damien Doligez and Alain Frisch and Jacques Garrigue + and Didier R\'emy and J\`er\^ome Vouillon}, +title = {The OCaml system, release 4.09}, +year = 2019, +month = sep, +organization = {INRIA}, +url = {https://caml.inria.fr/pub/docs/manual-ocaml/}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20191226072732/https://caml.inria.fr/pub/docs/manual-ocaml/}, +archiveddate = {2019-12-26T07:27:32}, +} + +@inproceedings{ssa-form-for-machine-code:1999, +author = {Leung, Allen and George, Lal}, +title = {Static Single Assignment Form for Machine Code}, +booktitle = PLDI99, +year = {1999}, month = PLDI99:month, +isbn = {1-58113-094-5}, +location = PLDI99:loc, +pages = {204--214}, +numpages = {11}, +url = {http://doi.acm.org/10.1145/301618.301667}, +acmid = {301667}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/301618.301667}, +} + +% NOT REFERENCED +% SML-history/ML\ Variants/CAML/Li-Yallop-extending_OCamls_open-MLFW-2017.pdf +@inproceedings{li-yallop:OCaml-modules:2017, +author = {Runhang Li and Jeremy Yallop}, +title = {Extending OCaml's open}, +booktitle = {ML Family workshop 2017}, +publisher = AMC:pub, +address = ACM:addr, +pages = {1--14} +} + +@misc{lillibridge91, +author = {Mark Lillibridge and Robert Harper}, +title = {{ML} with callcc is unsound}, +howpublished = {Posting to Types mailing list}, +url = {https://www.seas.upenn.edu/~sweirich/types/archive/1991/msg00034.html}, +month = jul, +year = 1991, +note = {Example of {ML} type unsoundness caused by first-class continuations}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20150116061224/https://www.seas.upenn.edu/~sweirich/types/archive/1991/msg00034.html}, +archiveddate = {2015-02-16T06:12:24}, +} + +@phdthesis{lillibridge:phd-thesis, +author = {Mark Lillibridge}, +title = {Translucent Sums: A Foundation for Higher-Order Module Systems}, +school = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +year = 1997, month = may +} + +% NOT REFERENCED +@article{lindsey:ALGOL68:1993, +author = {C. H. Lindsey}, +title = {A History of ALGOL 68}, +journal = {{ACM} {SIGPLAN} Notices}, +publisher = ACM:pub, +address = ACM:addr, +volume = 28, +number = 3, +month = mar, +year = 1993, +numpages = {36} +} + +@inbook{lindsey:ALGOL68:1996, +author = {Lindsey, C. H.}, +title = {A History of {ALGOL} 68}, +booktitle = {History of Programming Languages---II}, +year = {1996}, +publisher = ACM:pub, +address = ACM:addr, +pages = {27–96}, +numpages = {70}, +doi = {10.1145/234286.1057810}, +} + +% NOT REFERENCED +@inproceedings{liskov:zilles:74, +author = {Barbara Liskov and Stephen Zilles}, +title = {Programming with abstract data types}, +booktitle = {Proceedings of the ACM SIGPLAN Symposium on Very High Level Languages}, +location = {Santa Monica, CA, USA}, +year = 1974, +pages = {50--59} +} + +@article{CLU:abstraction:77, +author = {Barbara Liskov and Alan Snyder and Russell Atkinson and J. Craig Schaffert}, +title = {Abstraction Mechanisms in {CLU}}, +journal = {CACM}, +publisher = acm:pub, address = acm:addr, +volume = 20, number = 8, +year = 1977, month = aug, +pages = {564--576}, +doi = {10.1145/359763.359789} +} + +@book{CLU:ref-man:81, +author = {Barbara Liskov and Russell Atkinson and Toby Bloom and Eliot Moss + and J. Craig Schaffert and Robert Scheifler and Alan Snyder}, +title = {CLU Reference Manual}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = {114}, +year = 1981, +doi = {10.1007/BFb0035014} +} + +% NOT REFERENCED +@inbook{liskov:CLU-history:93, +author = {Liskov, Barbara}, +title = {A History of {CLU}}, +year = {1996}, +publisher = acm:pub, address = acm:addr, +booktitle = {History of Programming Languages---II}, +pages = {471–510}, +numpages = {40}, +doi = {10.1145/234286.1057826}, +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Loncaric-etal-OOPSLA-2016.pdf +@inproceedings{loncaric:OOPSLA:2016, +author = {Calvin Loncaric and Satish Chandra and Cole Schlesinger and Manu Sridharan}, +title = {A practical framework for type inference error explanation}, +booktitle = {OOPSLA 2016: Proceedings of the 2016 {ACM SIGPLAN} International Conference + on Object-Oriented Programming, Systems, Languages, and Applications}, +month = oct, +year = 2016, +publisher = ACM:pub, +address = ACM:addr, +pages = {781--799} +} + +% $DEFN/other languages/PL-I/Lucas-VDL-TR25_087-1968.pdf +@techreport{lucas:VDL:1968, +author = {P. Lucas and P. Lauer and H. Stigleitner}, +title = {Method and notation for the formal definition of programming languages}, +institution = {IBM Laboratory Vienna}, +address = {Vienna, Austria}, +number = {TR 25.037}, +month = jun, +year = 1968, +numpages = {112} +} + +@techreport{lego, +author = {Zhaohui Luo and Randy Pollack}, +title = {{LEGO} Proof Development System: User's Manual}, +number = "ECS-LFCS-92-211", +institution = LFCS, +address = LFCS:addr, +year = 1992 +} + +%%%%%%%%% +%% %% +%% MMM %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@inproceedings{ma-reynolds:1991, +author = {QingMing Ma and John C. Reynolds}, +title = {Types, abstractions, and parametric polymorphism, Part 2}, +booktitle = {Proceedings of the 7th International Conference on + Mathematical Foundations of Programming Semantics, MFPS 1991}, +editor = {S. Brooks and M. Main and A. Melton and M. Mislove and D. Schmidt}, +series = LNCS, +volume = {598}, +publisher = springer:pub, +address = springer:addr, +year = {1992}, +pages = {1--40} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Makholm-Wells-ICFP-2005.pdf +@inproceedings{makholm-wells:ICFP:2005, +author = {Henning Makholm and J. B. Wells}, +title = {Type Inference, Principal Typings, and Let-Polymorphism for + First-Class Mixin Modules}, +booktitle = ICFP05, +month = ICFP05:month, +year = 2005, +location = ICFP05:loc, +publisher = ACM:pub, +address = ACM:addr, +pages = {156--167} +} + +% SML-history/Edinburgh-TR/ECS-LFCS-98-384 +@techreport{mcadam:1998, +author = {Bruce J. McAdam}, +title = {On the Unification of Substitutions in Type-Inference}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-98-384}, +month = mar, +year = {1998}, +numpages = {24} +} + +% SML-history/Edinburgh-TR/ECS-LFCS-02-427.pdf +@phdthesis{mcadam:phd:2002, +author = {Bruce McAdam}, +title = {Repairing Type Errors in Functional Programs}, +school = {Laboratory for Foundations of Computer Science, Division of Informatics, + University of Edinburgh}, +year = {2002}, +note = {LFCS Tech Report ECS-LFCS-02-427} +} + +% $DESIGN/modules/Hope/macqueen-FPCA-81.pdf +@inproceedings{HopeMods81, +author = {David B. {MacQueen}}, +title = {Structure and parameterization in a typed functional language}, +booktitle = {The Symposium on Functional Languages and Computer Architecture}, +location = {Aspen\"as, Sweden}, +publisher = {Laboratory for Programming Methodology, + Department of Computer Science, University of G\"oteborg}, +address = {G\"oteborg, Sweden}, +month = jun, +year = {1981}, +pages = {524--538} +} + +% NOT REFERENCED +% $BACKGROUND/Types/MacQueen-Sethi-semantics-types-LFP82.pdf +@inproceedings{macqueen-sethi:LFP:82, +author = {David B. {MacQueen} and Ravi Sethi}, +title = {A Semantic Model of Types for Applicative Languages}, +booktitle = LISP82, +publisher = ACM:pub, +address = ACM:addr, +location = {Pittsburgh, PA, USA}, +month = aug, +year = {1982}, +pages = {243--252} +} + +% NOT REFERENCED +% $DESIGN/SML-Proposal-drafts/modules/DM-module-proposal-draft1-1983_08_01.pdf +@unpublished{macqueen:modules:83, +author = {David B. {MacQueen}}, +title = {Modules for Standard ML}, +month = aug, +year = {1983}, +numpages = {8}, +note = {First manuscript draft of modules proposal.}, +url = {http://sml-family.org/history/MacQueen-module-proposal-draft1-1983_08_01.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316201028/http://sml-family.org/history/MacQueen-module-proposal-draft1-1983_08_01.pdf}, +archiveddate = {2020-03-16T20:10:28} +} + +@article{macqueen:modules:83b, +author = {David B. {MacQueen}}, +title = {Modules for Standard ML}, +journal = POLYMORPHISM, +volume = {I}, +number = 3, +month = dec, +year = {1983}, +numpages = {31}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307145556/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%203.pdf}, +archiveddate = {2019-03-07T14:55:56} +} + +% $DESIGN/types/weak-poly/DM-typechecking-refs-1983_03_22.pdf +% Archive name: MacQueen-typechecking-refs-1983_03_22.pdf +@unpublished{macqueen:poly-refs:83, +author = {David {MacQueen}}, +title = {Modified Damas Algorithm for Typechecking with References}, +month = mar, +year = 1983, +numpages = {6}, +note = {Manuscript note dated 1983.03.22}, +url = {http://sml-family.org/history/MacQueen-typechecking-refs-1983_03_22.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316202127/http://sml-family.org/history/MacQueen-typechecking-refs-1983_03_22.pdf}, +archiveddate = {2020-03-16T20:21:27} +} + +@inproceedings{macqueen84, +author = {David B. {MacQueen}}, +title = {Modules for {Standard ML}}, +booktitle = LISP84, +location = LISP84:loc, +publisher = acm:pub, address = acm:addr, +year = {1984}, month = aug, +pages = {198--207}, +doi = {10.1145/800055.802036} +} + +% SML-history/Polymorphism/Polymorphism_2_1.pdf +@article{macqueen:meeting-report:84, +author = {David {MacQueen} and Robin Milner}, +title = {Record of the {Standard} {ML} Meeting, Edinburgh, 6--8 June 1984}, +journal = POLYMORPHISM, +volume = {II}, +number = {1}, +month = jan, +year = {1985}, +numpages = {16}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%201.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190225113300/http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%201.pdf}, +archiveddate = {2019-02-25T11:33:00} +} + +% NOT REFERENCED +% $BACKGROUND/Types/MacQueen-Plotkin-Sethi-POPL-1984.pdf +@inproceedings{macqueen-plotkin-sethi:84, +author = {David B. {MacQueen} and Gordon Plotkin and Ravi Sethi}, +title = {An Ideal Model for Recursive Polymorphic Types}, +booktitle = POPL11, +location = {Salt Lake City, UT, USA}, +month = jan, +year = POPL11:year, +publisher = ACM:pub, +address = ACM:addr, +pages = {165--174} +} + +% SML-history/Polymorphism/Polymorphism_2_2.pdf +@article{macqueen:modules:85, +author = {David B. {MacQueen}}, +title = {Modules for {Standard ML}}, +journal = POLYMORPHISM, +volume = {II}, +number = 2, +month = oct, +year = {1985}, +numpages = {37}, +note = {Also in Edinburgh LFCS Tech Report ECS-LFCS-86-2.}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190308005136/http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archiveddate = {2019-03-08T00:51:36} +} + +% $DESIGN/modules/talks/MacQueen-Marstrand-talk-1985.pdf +@unpublished{macqueen:dependent:85, +author = {David B. {MacQueen}}, +title = {Dependent Types and Modular Structure}, +note = {Talk at Workshop on Specification and Derivation of Programs}, +location = {Marstrand, Sweden}, +month = jun, +year = 1985, +url = {http://sml-family.org/history/MacQueen-Marstrand-talk-1985.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200316201128/http://sml-family.org/history/MacQueen-Marstrand-talk-1985.pdf}, +archiveddate = {2020-03-16T20:11:28} +} + +% NOT REFERENCED +% SML-history/Edinburgh-TR/ECS-LFCS-86-2.pdf +@incollection{macqueen:SML-Modules:LFCS:86-2, +author = {David {MacQueen}}, +title = {Modules for {Standard} {ML}}, +booktitle = {Standard ML}, +series = {Edinburgh LFCS Technical Reports}, +number = {ECS-LFCS-86-2}, +month = mar, +year = {1986}, +numpages = {35}, +} + +% $DESIGN/modules/papers/MacQueen-ACM-86.pdf +@inproceedings{macqueen:dependent:86, +author = {David B. {MacQueen}}, +title = {Using dependent types to express modular structure}, +booktitle = POPL13, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = 1986, +pages = {277--286}, +doi = {10.1145/512644.512670} +} + +% NOT REFERENCED +% $BACKGROUND/Types/MacQueen-Plotkin-Sethi-IC-1986.pdf +@article{macqueen-plotki-sethi:ideals:86, +author = {David B. {MacQueen} and Gordon Plotkin and Ravi Sethi}, +title = {An Ideal Model for Recursive Polymorphic Types}, +journal = IC, +volume = {71}, +number = {1/2}, +month = {October/November}, +year = {1986}, +pages = {95--130}, +note = {Supercedes POPL '84 paper of same title.}, +doi = {10.1016/S0019-9958(86)80019-5} +} + +% NOT REFERENCED +% $DESIGN/modules/implementation notes/DM-impl-SML-modules-1988.pdf +@inproceedings{macqueen:impl-modules:88, +author = {David B. {MacQueen}}, +title = {An implementation of {Standard} {ML} modules}, +booktitle = LISP88, +location = LISP88:loc, +publisher = acm:pub, +address = acm:addr, +year = 1988, +month = LISP88:month, +pages = {212--223} +} + +%$DESIGN/critiques/MacQueen-reflections-on-SML-1994.pdf +@incollection{macqueen:reflections:1994, +author = {David B. {MacQueen}}, +title = {Reflections on {Standard} {ML}}, +booktitle = {Functional Programming, Concurrency, Simulation and Automated Reasoning}, +editor = {Peter E. Lauer}, +publisher = springer:pub, address = springer:addr, +series = LNCS, +volume = {693}, +year = {1994}, +pages = {32--46}, +doi = {10.1007/3-540-56883-2_2} +} + +% $DESIGN/modules/HOF/DM-MT-semantics-HOF-ESOP-94.pdf +@inproceedings{macqueen-tofte:94, +author = {David {MacQueen} and Mads Tofte}, +title = {A semantics for higher order functors}, +booktitle = ESOP94, +location = ESOP94:loc, +series = LNCS, +volume = 788, +publisher = springer:pub, +address = springer:addr, +month = ESOP94:month, +year = {1994}, +pages = {409--423}, +doi = {10.1007/3-540-57880-3_27} +} + +% NOT REFERENCED +% NEED ARCHIVE LINK (not referenced) +% $DESIGN/modules/HOF/papers/DM-static-semantics-modules-notes.pdf +@unpublished{macqueen:static-sem-modules:1994, +author = {David MacQueen}, +title = {Static Semantics of {ML} Modules (Relational Model)}, +year = {1994}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@article{macqueen:ML-OO:2002, +author = {David MacQueen}, +title = {Should ML be Object-Oriented?}, +journal = {Formal Aspects of Computing}, +volume = 13, +year = 2002, +pages = {214--232}, +doi = {10.1007/s001650200010} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/MacQueen-culprits-talk-WG28-2003.pdf +@unpublished{macqueen:culprits:2003, +author = {David MacQueen}, +title = {Culprits: A Simple Approach to Better Type Error Messages}, +month = aug, +year = {2003}, +note = {Slides for talk at IFIP Working Group 2.8 meeting, August 2003}, +url = {http://sml-family.org/history/MacQueen-culprits-talk-WG28-2003.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317195237/http://sml-family.org/history/MacQueen-culprits-talk-WG28-2003.pdf}, +archiveddate = {2020-03-17T19:52:37} +} + +% $DESIGN/types/type\ errors/MacQueen-culprits-MLW-2010.pdf +@inproceedings{macqueen:culprits:2010, +author = {David MacQueen}, +title = {A simple and effective method for assigning blame for type errors}, +booktitle = ML10, +location = ML10:loc, +publisher = ACM:pub, +address = ACM:addr, +year = {2010}, month = ML10:month, +numpages = {2} +} + +% $BACKGROUND/Types/MacQueen-Newman-talk-WG28-2015.pdf +@unpublished{macqueen:newman:2015, +author = {David B. {MacQueen}}, +title = {Notes on Newman's ``Stratified systems of logic''}, +month = may, +year = 2015, +note = {Slides for talk at {IFIP} Working Group 2.8 meeting, Kefalonia.}, +url = {http://sml-family.org/history/MacQueen-Newman-talk-WG28-2015.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317195338/http://sml-family.org/history/MacQueen-Newman-talk-WG28-2015.pdf}, +archiveddate = {2020-03-17T19:53:38} +} + +% NOT REFERENCED +% $BACKGROUND/People/Cardelli/lucafest/macqueen-lucafest-with-comments.pdf +@unpublished{macqueen:lucafest, +author = {David {MacQueen}}, +title = {Luca {Cardelli} and the Early Evolution of {ML}}, +month = sep, +year = {2013}, +note = {Presented at Luca Cardelli's Festschrift, September, 2013 at Microsoft Research, Cambridge.}, +url = {http://sml-family.org/history/macqueen-lucafest.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190206013446/http://sml-family.org/history/macqueen-lucafest.pdf}, +archiveddate = {2019-02-06T01:34:46}, +numpages = 13 +} + +% NOT REFERENCED +% $DEFN/Proof/Elsa-Gunter/Maharaj-Gunter-StudyingTheMLModuleSysteminHOL-94.pdf +@inproceedings{maharaj:gunter:94, +author = {Savi Maharaj and Elsa Gunter}, +title = {Studying the {ML} module system in {HOL}}, +booktitle = {Higher Order Logic Theorem Proving and Its Application, + 7th International Workshop}, +publisher = springer:pub, +address = springer:addr, +month = sep, +year = 1994, +series = LNCS, +volume = 859, +pages = {346--361} +} + +% NOT REFERENCED +@inproceedings{mairson:type-inf-hard:90, +author = {Harry G. Mairson}, +title = {Deciding ML typability is complete for deterministic exponential time}, +booktitle = POPL17, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL17:year, +pages = {382--401} +} + +% NOT REFERENCED +@inproceedings{maranget:92, +author = {Luc Maranget}, +title = {Compiling Lazy Pattern Matching}, +booktitle = LISP92, +month = jun, +year = {1992}, +location = {San Francisco, CA, USA}, +pages = {21--31}, +publisher = ACM:pub, +address = ACM:addr +} + +% NOT REFERENCED +@article{maranget:07, +author = {Luc Maranget}, +title = {Warnings for pattern matching}, +journal = JFP, +volume = 17, +number = 3, +publisher = CUP:pub, +address = CUP:addr, +year = 2007, +pages = {387--421} +} + +@inproceedings{maranget:08, +author = {Luc Maranget}, +title = {Compiling Pattern Matching to Good Decision Trees}, +booktitle = ML08, +publisher = ACM:pub, +address = ACM:addr, +month = ML08:month, +year = {2008}, +pages = {35--46}, +doi = {10.1145/1411304.1411311} +} + +@inproceedings{martin-loef:cmcp, +author = {Per Martin-L\"of}, +title = {Constructive Mathematics and Computer Programming}, +booktitle = {Logic, Methodology and Philosophy of Science, VI, 1979}, +publisher = NH:pub, +address = NH:addr, +year = 1982, +pages = {153--175} +} + +@book{martin-loef:itt, +author = {Per Martin-L\"of}, +title = {Intuitionistic Type Theory}, +publisher = {Bibliopolis}, +address = {Napoli, Italy}, +series = {Studies in Proof Theory}, +volume = {1}, +year = 1984 +} + +@inproceedings{poly-overview, +author = {David C. J. Matthews}, +title = {An Overview of the {Poly} Programming Language}, +booktitle = {Data Types and Persistence}, +editor = {Atkinson, Malcolm P. and Buneman, Peter and Morrison, Ronald}, +year = {1988}, +publisher = springer:pub, +address = springer:addr, +pages = {43--50} +} + +@techreport{polyml:papers, +author = {David C. J. Matthews}, +title = {Papers on {Poly/ML}}, +number = 161, +institution = {University of Cambridge Computer Laboratory}, +month = feb, +year = 1989 +} + +% NOT REFERENCED +@techreport{matthews:dist-concurrent-ML:1991, +author = {David C. J. Matthews}, +title = {A Distributed Concurrent Implementation of Standard ML}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-91-174}, +year = {1991} +} + +% NOT REFERENCED +@inproceedings{mauny-suarez:86, +author = {Michel Mauny and Asc\'andar Su\'arez}, +title = {Implementing functional languages in the {Categorical} {Abstract} {Machine}}, +booktitle = LISP86, +publisher = ACM:pub, +address = ACM:addr, +month = LISP86:month, +year = 1986, +pages = {266--278} +} + +% NOT REFERENCED +% file : SML-history/Edinburgh-TM/ECS-LFCS-95-335/ECS-LFCS-95-335-4a.pdf +@techreport{ECS-LFCS-95-335-4a, +author = {David C. J. Matthews}, +title = {An Implementation of {Standard} {ML} in {Poly}}, +number = {ECS-LFCS-95-335-4a}, +institution = LFCS, +address = LFCS:addr, +month = oct, +year = 1995 +} + +% NOT REFERENCED +@incollection{polyml-processes:89, +author = "Matthews, D. C. J.", +title = "Processes for {Poly} and {ML}", +booktitle = "Papers on {Poly/ML}, Technical Report 161", +publisher = "University of Cambridge", +year = 1989, month = feb +} + +% $DEFN/other languages/McCarthy-LISP-CACM-1960.pdf +@article{mccarthy:lisp:1960, +author = {John McCarthy}, +title = {Recursive functions of symbolic expressions and their computation by machine, Part I}, +journal = CACM, +volume = 3, +number = 4, +month = apr, +year = 1960, +pages = {184--195} +} + +% NOT REFERENCED +% $DEFN/other languages/LISP 1.5 Programmers Manual.pdf +@book{mccarthy:lisp-manual:1962, +author = {John McCarthy and Paul W. Abrahams and Daniel J. Edwards and Timothy P. Hart + and Michael I. Levin}, +title = {{LISP} 1.5 Programmer's Manual}, +publisher = mit-press:pub, +address = mit-press:addr, +year = 1962 +} + +% SML-history/Background/papers/McCarthy-math-theory-computation-63.pdf +@incollection{mccarthy:1963, +author = {John McCarthy}, +title = {A basis for a mathematical theory of computation}, +booktitle = {Computer Programming and Formal Systems}, +editor = {P. Braffort and D. Hirshberg}, +publisher = NH:pub, +address = NH:addr, +year = 1963, +numpages = 43 +} + +@inproceedings{mccarthy:FLDL:1966, +author = {John McCarthy}, +title = {A formal description of a subset of {ALGOL}}, +booktitle = {Foraml Language Description Languages for Computer Programming}, +publisher = NH:pub, +address = NH:addr, +year = {1966}, +pages = {1--12} +} + +% NOT REFERENCED +@article{michaelson-trinder:2002, +author = {Greg Michaelson and Phil W. Trinder}, +title = {Explaining Polymorphic Types}, +journal = {The Computer Journal}, +volume = {45}, +number = {4}, +month = apr, +year = 2002, +pages = {436--452} +} + +% NOT REFERENCED +@article{miller91, +author = {Dale Miller}, +title = {A Logic Programming Language with Lambda-Abstraction, Function Variables, + and Simple Unification}, +journal = {Journal of Logic and Computation}, +volume = 1, +number = 4, +year = 1991, +pages = {497--536}, +note = {Earlier version: Edinburgh LFCS Tech Report ECS-LFCS-91-159, 1991} +} + +% NOT REFERENCED +@book{lambda-prolog, +author = {Dale Miller and Gopalan Nadathur}, +title = {Programming with Higher-Order Logic}, +publisher = CUP:pub, +address = CUP:addr, +year = 2012 +} + +@phdthesis{milne74, +author = {Robert Milne}, +title = {The Formal Semantics of Computer Languages and their Implementations}, +school = {Oxford University}, +year = {1974} +} + +% SML-history/Background/LCF/Stanford/Milner-impl-appl-LCF-1972.pdf +@inproceedings{milner:Stanford-LCF:1972, +author = {Robin Milner}, +title = {Implementation and applications of Scott's Logic for Computable Functions}, +booktitle = {Proceedings of the {ACM} Conference on Proving Assertions + about Programs}, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = {1972}, +pages = {1-6}, +doi = {10.1145/942578.807067} +} + +% NOT REFERENCED +% SML-history/Background/LCF/Stanford/Milner-Weyhrauch-MI7-1972.pdf +@inproceedings{milner-weyhrauch:1972, +author = {R. Milner and R. Weyhrauch}, +title = {Proving compiler correctness in a mechanized logic}, +booktitle = {Proceedings of the 7th Annual Machine Intelligence Workshop}, +series = {Machine Intelligence}, +number = {7}, +publisher = {Edinburgh University Press}, +address = {Edinburgh, UK}, +year = {1972}, +pages = {51--72} +} + +% $BACKGROUND/LCF/Gordon-Milner-POPL78.pdf, +@inproceedings{gordon-milner:ML:1978, +author = {M. Gordon and R. Milner and L. Morris and M. Newey and C. Wadsworth}, +title = {A Metalanguage for Interactive Proof in {LCF}}, +booktitle = POPL5, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = {1978}, +pages = {119--130}, +doi = {10.1145/512760.512773} +} + +% $DESIGN/types/Milner-type-polymorphism-1978.pdf +@article{milner78, +author = {Robin Milner}, +title = {A theory of type polymorphism in programming}, +journal = JCSS, +publisher = elsevier:pub, address = elsevier:addr, +volume = {17}, number = 3, +year = {1978}, month = dec, +pages = {348--375}, +doi = {10.1016/0022-0000(78)90014-4} +} + +@book{milner:ccs-book:80, +author = {Robin Milner}, +title = {A Calculus of Communicating Systems}, +series = LNCS, +number = 92, +year = 1980, +publisher = springer:pub, +address = springer:addr, +numpages = 174, +doi = {10.1007/3-540-10235-3} +} + +% NOT REFERENCED +@article{milner83, +author = {Robin Milner}, +title = {How {ML} evolved}, +journal = POLYMORPHISM, +year = {1983}, +month = jan, +volume = {I}, Number = 1, +pages = {1--6}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307022704/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archiveddate = {2019-03-07T02:27:04} +} + +@unpublished{smlprop83a, +author = {Robin Milner}, +title = {A {Proposal} for {Standard} {ML} ({TENTATIVE})}, +month = apr, +year = {1983}, +url = {http://sml-family.org/history/SML-proposal-4-83.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170708224143/http://sml-family.org/history/SML-proposal-4-83.pdf}, +archiveddate = {2017-08-08T22:41:43}, +numpages = 25 +} + +@unpublished{smlprop83b, +author = {Robin Milner}, +title = {Changes to proposal for Standard {ML}}, +month = may, +year = {1983}, +url = {http://sml-family.org/history/SML-changes-4-83.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170708224109/http://sml-family.org/history/SML-changes-4-83.pdf}, +archiveddate = {2017-07-08T22:41:09}, +numpages = 5 +} + +@unpublished{smlprop83c, +author = {Robin Milner}, +title = {A {Proposal} for {Standard} {ML} (second draft)}, +month = jun, +year = {1983}, +url = {http://sml-family.org/history/SML-proposal-6-83.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170705163956/http://sml-family.org/history/SML-proposal-6-83.pdf}, +archiveddate = {2017-07-05T16:39:56}, +numpages = 50 +} + +% $DESIGN/RM-notes/RM-precompilation-notes-6-30-83.pdf +% Archive name: Milner-Burstall-precompilation-1983_06_30.pdf +@unpublished{milner:precompilation:83, +author = {Robin Milner}, +title = {Discussion with Rod Burstall about precompilation}, +month = jun, +year = {1983}, +note = {Manuscript note, dated 1983.6.30}, +url = {http://sml-family.org/history/Milner-Burstall-precompilation-1983_06_30.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317195454/http://sml-family.org/history/Milner-Burstall-precompilation-1983_06_30.pdf}, +archiveddate = {2020-03-17T19:54:54}, +numpages = 1 +} + +% NOT REFERENCED +@unpublished{smlprop83d, +author = {Robin Milner}, +title = {A {Proposal} for {Standard} {ML}}, +month = nov, +year = {1983}, +note = {Third draft}, +url = {http://sml-family.org/history/SML-proposal-11-83.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170708224127/http://sml-family.org/history/SML-proposal-11-83.pdf}, +archiveddate = {2017-07-08T22:41:07}, +numpages = 27 +} + +% NOT REFERENCED +% $DESIGN/comments/RM-op-sem-1984_01_31.pdf +% Archive name: Milner-op-sem-1984_01_31.pdf +@unpublished{milner:op-sem:1984, +author = {Robin Milner}, +title = {Operational Semantics of an ML Subset}, +month = jan, +year = {1984}, +url = {http://sml-family.org/history/Milner-op-sem-1984_01_31.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317001531/http://sml-family.org/history/Milner-op-sem-1984_01_31.pdf}, +archiveddate = {2020-03-17T00:15:31}, +numpages = 4 +} + +% $DESIGN/comments/RM-module-notation-5-23-84.pdf +% Archive name: Milner-module-notation-1984_05_23.pdf +@unpublished{milner:module-note:84, +author = {Robin Milner}, +title = {A simplified syntax for instances and module definitions, + with a proposal for treating sharing specifications}, +month = may, +year = 1984, +numpages = {5}, +note = {Manuscript note dated 23/5/84, prepared for the June 1984 meeting.}, +url = {http://sml-family.org/history/Milner-module-notation-1984_05_23.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317195607/http://sml-family.org/history/Milner-module-notation-1984_05_23.pdf}, +archiveddate = {2020-03-17T19:56:07} +} + +% $DESIGN/meetings/June84/SML-meeting-84-schedule.pdf +@unpublished{milner:meeting-sched:84, +author = {Robin Milner}, +title = {{ML} Meeting Skeleton Timetable}, +month = jun, +year = {1984}, +numpages = {1}, +note = {proposed timetable for June 84 design meeting}, +url = {http://sml-family.org/history/SML-meeting-84-schedule.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317195928/http://sml-family.org/history/SML-meeting-84-schedule.pdf}, +archiveddate = {2020-03-17T19:59:28} +} + +@inproceedings{milner84, +author = {Robin Milner}, +title = {A proposal for {Standard} {ML}}, +booktitle = LISP84, +location = LISP84:loc, +publisher = ACM:pub, +address = ACM:addr, +month = LISP84:month, +year = {1984}, +pages = {184--197}, +doi = {10.1145/800055.802035} +} + +% $MILNER3/85-04-xx_B10_D_RM_Dynamic-Semantics-of-SML-3rd-Draft.pdf +% Archive name: Milner-dyn-semantics-1985_04.pdf +@unpublished{milner:dyn-semantics:1985, +author = {Robin Milner}, +title = {The Dynamic Operational Semantics of Standard ML (3rd Draft)}, +month = apr, +year = {1985}, +numpages = {18}, +url = {http://sml-family.org/history/Milner-dyn-semantics-1985_04.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317200028/http://sml-family.org/history/Milner-dyn-semantics-1985_04.pdf}, +archiveddate = {2020-03-17T20:00:28} +} + +% $DESIGN/meetings/May85/SML-meeting-schedule-1985_05.pdf +@unpublished{milner:meeting-sched:85, +author = {Robin Milner}, +title = {Schedule for {Standard} {ML} meeting 23--25 May 1985}, +month = may, +year = {1985}, +numpages = {1}, +note = {proposed timetable for May 1985 design meeting}, +url = {http://sml-family.org/history/SML-meeting-schedule-1985_05.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317200130/http://sml-family.org/history/SML-meeting-schedule-1985_05.pdf}, +archiveddate = {2020-03-17T20:01:30} +} + +% NOT REFERENCED +% NEED ARCHIVE LINK (not referenced) +@unpublished{milner:core-changes:1985, +author = {Robin Milner}, +title = {My preferred minor changes to {Core} {ML}}, +month = may, +year = {1985}, +numpages = {1}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +% $DESIGN/modules/Design/RM-webs-sharing-9-1-85.pdf +% Archive name: Milner-webs-1985_09_01.pdf +@unpublished{milner:webs:85, +author = {Robin Milner}, +title = {Webs}, +month = sep, +year = {1985}, +numpages = {14}, +note = {``A way of approaching the static semantics of sharing in modules''}, +url = {http://sml-family.org/history/Milner-webs-1985_09_01.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317001840/http://sml-family.org/history/Milner-webs-1985_09_01.pdf}, +archiveddate = {2020-03-17T00:18:40} +} + +% NOT REFERENCED +@article{milner:SML-Core:85, +author = {Robin Milner}, +title = {The {Standard} {ML} Core Language (Revised)}, +journal = POLYMORPHISM, +volume = {II}, +number = {2}, +month = oct, +year = {1985}, +numpages = {28}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190308005136/http://lucacardelli.name/Papers/Polymorphism%20Vol%20II,%20No%202.pdf}, +archiveddate = {2019-03-08T00:51:36} +} + +@incollection{milner:SML-Core:LFCS:86-2, +author = {Robin Milner}, +title = {The {Standard} {ML} Core Language (Revised)}, +booktitle = {Standard ML}, +series = {LFCS Report Series}, +number = {ECS-LFCS-86-2}, +publisher = LFCS, +address = LFCS:addr, +month = mar, +year = {1986}, +numpages = {35}, +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{milner:mod-syntax:87, +author = {Robin Milner}, +title = {Proposed syntax for modules}, +month = mar, +year = {1987}, +numpages = {6}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@techreport{ECS-LFCS-87-33, +author = {Robin Milner}, +title = {Changes to the {Standard} {ML} {Core} {language}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-87-33}, +month = aug, +year = {1987} +} + +@book{SMLdefn90, +title = {The {Definition} of {Standard} {ML}}, +author = {Robin Milner and Mads Tofte and Robert Harper}, +publisher = mit-press:pub, +address = mit-press:addr, +year = {1990} +} + +@book{SML90:commentary, +author = {Robin Milner and Mads Tofte}, +title = {Commentary on {S}tandard {ML}}, +publisher = mit-press:pub, +address = mit-press:addr, +year = {1991} +} + +@book{SMLdefn97, +title = {The {Definition} of {Standard} {ML} ({Revised})}, +author = {Robin Milner and Mads Tofte and Robert Harper and David MacQueen}, +publisher = mit-press:pub, +address = mit-press:addr, +year = {1997} +} + +% NOT REFERENCED +% $BACKGROUND/People/Milner/CL-office/RM-papers-3/99-xx-xx_B27_S_RM_ML-to-SML--Cambridge-Lecture.pdf +@misc{milner:ML-to-SML:1999, +author = {Robin Milner}, +title = {{ML} {=>} {SML}}, +year = {1999}, +note = {Slides for talk at Cambridge Computer Lab.} +} + +% NOT REFERENCED +@inproceedings{minamide+:closures, +author = {Yasuhiko Minamide and Greg Morrisett and Robert Harper}, +title = {Typed Closure Conversion}, +pages = {271--283}, +booktitle = POPL23, +year = {1996}, +location = POPL23:loc, +month = jan +} + +% $BACKGROUND/Edinburgh ML/KM-Edinburgh-SML-progress-report-9-13-83.pdf +% Archive name: KMitchell-Edinburgh-SML-progress-report-1983_09_13.pdf +@unpublished{kmitchell:EML:83, +author = {Kevin Mitchell}, +title = {{ML} Progress Report}, +month = sep, +year = {1983}, +numpages = {8}, +note = {manuscript report to Rod Burstall}, +url = {http://sml-family.org/history/KMitchell-Edinburgh-SML-progress-report-1983_09_13.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317001939/http://sml-family.org/history/KMitchell-Edinburgh-SML-progress-report-1983_09_13.pdf}, +archiveddate = {2020-03-17T00:19:39} +} + +% $Background/Edinburgh ML/KM-AM-Edinburgh-Standard ML Compiler-1-85.pdf +% Archive name: KMitchell-Mycroft-Edinburgh Standard ML Compiler-1985_01.pdf +@unpublished{kmitchell-mycroft:ESML:85, +author = {Kevin Mitchell and Alan Mycroft}, +title = {The Edinburgh {Standard} {ML} Compiler}, +month = jan, +year = {1985}, +numpages = {15}, +note = {draft note on the Edinburgh SML compiler}, +url = {http://sml-family.org/history/KMitchell-Mycroft-Edinburgh%20Standard%20ML%20Compiler-1985_01.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317200700/http://sml-family.org/history/KMitchell-Mycroft-Edinburgh%20Standard%20ML%20Compiler-1985_01.pdf}, +archiveddate = {2020-03-17T20:07:00} +} + +@inproceedings{mitchell:proposal-for-io, +title = {Proposal for {I/O} in {Standard} {ML}}, +author = {Kevin Mitchell and Robin Milner}, +booktitle = {ML Workshop '85}, +publisher = {The Standard {ML} Group}, +address = {Edinburgh, UK}, +month = may, +year = 1985, +numpages = 7, +note = {This proposal was originally dated February 1985, but was presented + at the ML Workshop in May 1985.} +} + +% NOT REFERENCED +@inproceedings{mitchell-plotkin:85, +author = {J. C. Mitchell and G. D. Plotkin}, +title = {Abstract types have existential types}, +booktitle = POPL12, +month = jan, +year = {1985}, +pages = {37--51} +} + +@article{mitchell:plotkin88, +author = {John C. Mitchell and Gordon D. Plotkin}, +title = {Abstract types have existential types}, +journal = TOPLAS, +volume = {10}, +number = {3}, +year = 1988, +pages = {470--502}, +doi = {10.1145/44501.45065} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-87-42, +author = {John C. Mitchell and Robert Harper}, +title = {The Essence of {ML}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-87-42}, +month = nov, +year = 1987 +} + +@inproceedings{mitchell88:popl, +author = {John C. Mitchell and Robert Harper}, +title = {The Essence of {ML}}, +publisher = ACM:pub, address = ACM:addr, +booktitle = POPL15, +pages = {28--46}, +year = POPL15:year, month = jan, +doi = {10.1145/73560.73563} +} + +% $DESIGN/types/weak-poly/Mitchell-Viswanathan-SMLNJ-weak-poly-IC-1996.pdf +@article{mitchell-viswanathan:96, +author = {John Mitchell and Ramesh Viswanathan}, +title = {Standard {ML}-{NJ} Weak Polymorphism and Imperative Constructs}, +journal = IC, +volume = 127, +year = 1996, +pages = {102-116}, +doi = {10.1006/inco.1996.0054} +} + +% NOT REFERENCED +@article{KMitchell:86, +author = {Kevin Mitchell}, +title = {ML Development Project}, +journal = {LFCS Newsletter}, +number = {0}, +month = oct, +year = {1986}, +note ={Item 2.1 under Research Project Status Reports} +} + +% NOT REFERENCED +@techreport{ECS-LFCS-94-312, +author = {Kevin Mitchell}, +title = {Multiple {Values} in {Standard} {ML}}, +number = {ECS-LFCS-94-312}, +institution = LFCS, +address = LFCS:addr, +month = dec, +year = 1994 +} + +% NOT REFERENCED +@proceedings{MLW:1990, +title = {Standard {ML} Workshop}, +editor = {Andrew W. Appel and David B. MacQueen}, +month = jun, +year = {1990}, +organization = princeton-cs, +address = princeton-cs:addr, +location = {Princeton, NJ, USA} +} + +% NOT REFERENCED +@proceedings{MLW:1991, +title = {Third International Workshop on Standard {ML}}, +editor = {Robert Harper}, +month = sep, +year = {1991}, +organization = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +location = {Pittsburgh, PA, USA} +} + +% NOT REFERENCED +@proceedings{MLW:1992, +title = {{ACM} {SIGPLAN} Workshop on {ML} and its Applications}, +editor = {Peter Lee}, +month = jun, +\year = {1992}, +organization = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +location = {San Francisco, CA, USA}, +note = {available as tech report CMU-CS-93-105} +} + +% NOT REFERENCED +@proceedings{MLW:1994, +title = {{ACM} {SIGPLAN} Workshop on {ML} and its Applications}, +editor = {Didier R\'emy}, +month = jun, +year = {1994}, +organization = {INRIA}, +address = {Rocquencourt, France}, +location = {Orlando, FL, USA}, +note = {available as tech report RR No. 2265} +} + +% NOT REFERENCED +@proceedings{MLW:1998, +title = {{ACM} {SIGPLAN} Workshop on {ML}}, +editor = {Greg Morrisett}, +month = sep, +year = {1998}, +location = {Baltimore, MD, USA} +} + +% NOT REFERENCED +@proceedings{MLW:2005, +title = {ML 2005: {ACM} {SIGPLAN} Workshop on {ML}}, +editor = {Nick Benton and Xavier Leroy}, +series = {Electronic Notes in Theoretical Computer Science}, +publisher = elsevier:pub, +address = elsevier:addr, +month = sep, +year = {2005}, +location = {Talinn, Estonia} +} + +% NOT REFERENCED +% ACM Digital Library: Home > Conferences > ICFP > Proceedings > ML'06 +@proceedings{MLW:2006, +title = {ML'06: Proceedings of the 2006 Workshop on {ML}}, +editor = {Andrew Kennedy and Fran\c{c}ois Pottier}, +publisher = ACM:pub, +address = ACM:addr, +month = sep, +year = {2006}, +location = {Portland, OR, USA} +} + +% NOT REFERENCED +% ACM Digital Library: Home > Conferences > ICFP > Proceedings > ML'07 +@proceedings{MLW:2007, +title = {ML'07: Proceedings of the 2007 Workshop on {ML}}, +editor = {Derek Dreyer}, +publisher = ACM:pub, +address = ACM:addr, +month = oct, +year = {2007}, +location = {Freiburg, Germany} +} + +% NOT REFERENCED +% ACM Digital Library: Home > Conferences > ICFP > Proceedings > ML'08 +@proceedings{MLW:2008, +title = {ML'08: Proceedings of the 2008 {ACM} {SIGPLAN} Workshop on {ML}}, +editor = {Eijiro Sumii}, +publisher = ACM:pub, +address = ACM:addr, +month = sep, +year = {2008}, +location = {Victoria, Canada} +} + +% NOT REFERENCED +% ACM Digital Library: Home > Conferences > ICFP > Proceedings > ML'09 +@proceedings{MLW:2009, +title = {ML'09: Proceedings of the 2009 {ACM} {SIGPLAN} Workshop on {ML}}, +editor = {Andreas Rossberg}, +publisher = ACM:pub, +address = ACM:addr, +month = aug, +year = {2009}, +location = {Edinburgh, UK} +} + +@unpublished{ML2000, +author = {{{ML2000} Working Group}}, +title = {Principles and a preliminary design for {ML2000}}, +year = 1999, month = mar, +url = {http://flint.cs.yale.edu/flint/publications/ml2000.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170829123149/http://flint.cs.yale.edu/flint/publications/ml2000.pdf}, +archiveddate = {2017-08-29T12:31:49} +} + +% NOT REFERENCED +@article{monnier-shao:2003, +author = {Stefan Monnier and Zhong Shao}, +title = {Inlining as Staged Computation}, +journal = JFP, +publisher = cup:pub, +address = cup:addr, +volume = 13, +number = 3, +month = may, +year = 2003, +pages = {647--676} +} + +% NOT REFERENCED +@inproceedings{montagu-remy:POPL:2009, +author = {Benoit Montagu and Didier R\'emy}, +title = {Modeling abstract types in modules with open existential types}, +booktitle = POPL36, +publisher = ACM:pub, +address = ACM:addr, +month = POPL36:month, +year = POPL36:year, +pages = {354--365} +} + +% NOT REFERENCED +@phdthesis{morris68, +author = {James H. Morris}, +title = {Lambda Calculus Models of Programming Languages}, +school = {MIT}, +year = {1968} +} + +% NOT REFERENCED +% SML-history/Background/Types/Morris-types-not-sets-POPL73.pdf +@inproceedings{morris73, +author = {James H. Morris}, +title = {Types are not sets}, +booktitle = POPL1, +year = POPL1:year, +publisher = ACM:pub, +address = ACM:addr, +location = {Boston, MA, USA}, +pages = {120--124} +} + +@inproceedings{procs-n-locks:93, +author = "J. Gregory Morrisett and Andrew Tolmach", +title = "Procs and Locks: A Portable Multiprocessing Platform for + {Standard} {ML} of {New} {Jersey}", +booktitle = PPoPP93, +publisher = ACM:pub, +address = ACM:addr, +year = 1993, month = apr, +pages = "198-207", +doi = {10.1145/173284.155353} +} + +@phdthesis{morrisett:phd-thesis:1995, +author = {Greg Morrisett}, +title = {Compiling with Types}, +school = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +year = 1995, month = dec, +note = {Published as Technical Report CMU-CS-95-226.} +} + +% NOT REFERENCED +@inproceedings{morrisett:TIL:1996, +author = {G. Morrisett and D. Tarditi and P. Cheng and C. Stone and R. Harper and P. Lee}, +title = {The {TIL}/{ML} compiler: Performance and safety through types}, +booktitle = {Workshop on Compiler Support for Systems Software}, +location = {Tucson, AZ, USA}, +year = {1996} +} + +@inproceedings{morrisett:tal:1998, +author = {Greg Morrisett and David Walker and Karl Crary and Neal Glew}, +title = {From {System} {F} to typed assembly language}, +booktitle = POPL25, +year = POPL25:year, +publisher = ACM:pub, +address = ACM:addr, +location = POPL25:loc, +pages = {85--97}, +doi = {10.1145/319301.319345} +} + +% NOT REFERENCED +@inproceedings{morrisett+:recursive-closures, +author = {Greg Morrisett and Robert Harper}, +title = {Typed Closure Conversion for Recursively-Defined Functions (Extended Abstract)}, +booktitle = {Higher-Order Techniques in Operational Semantics}, +editor = {Carolyn Talcott}, +series = {Electronic Notes in Theoretical Computer Science}, +volume = 10, +year = 1998, +publisher = elsevier:pub, +address = elsevier:addr, +url = {http://www.elsevier.nl/locate/entcs/volume10.html} +} + +%%%%%%%%% +%% %% +%% NNN %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +% $DESIGN/modules/papers/Nakata-Garrigue-rec-modules-ICFP-2006.pdf +@inproceedings{nakata-garrigue:2006, +author = {Keiko Nakata and Jacques Garrigue}, +title = {Recursive modules for programming}, +booktitle = ICFP06, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP06:month, +year = 2006, +pages = {74--86} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Nakata-Garrigue-Path_resolution_undecidable-WST-2007.pdf +@inproceedings{nakata-garrigue:2007, +author = {Keiko Nakata and Jacques Garrigue}, +title = {Path resolution for recursive nested modules is undecidable}, +booktitle = {WST 2007}, +year = 2007, +numpages = {7} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Nakata-phd-recmods-2007.pdf +@phdthesis{nakata:phd:2007, +author = {Keiko Nakata}, +title = {A module system with applicative functors and recursive path references}, +school = {Graduate School of Mathematics, Nagoya University}, +year = {2007} +} + +% NOT REFERENCED +@article{neis-dreyer-rossberg:2011, +author = {Georg Neis and Derek Dreyer and Andreas Rossberg}, +title = {Non-parametric parametricity}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 21, +number = {4 & 5}, +year = 2011, +pages = {497--562} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Neubauer-Thieman-ICFP-2003.pdf +@inproceedings{neubauer-thiemann:2003, +author = {Matthies Neubauer and Peter Thiemann}, +title = {Discriminative Sum Types Locate the Source of Type Errors}, +booktitle = ICFP03, +publisher = ACM:pub, +address = ACM:addr, +month = aug, +year = {2003}, +pages = {15--26} +} + +% NOT REFERENCED +@article{newman-turing:1942, +author = {M. H. A. Newman and A. M. Turing}, +title = {A Formal Theorem in Church's Theory of Types}, +journal = {The Journal of Symbolic Logic}, +volume = 7, +number = 1, +month = mar, +year = 1942, +pages = {28--33} +} + +@article{newman:1943, +author = {M. H. A. Newman}, +title = {Stratified systems of logic}, +journal = {Proceedings of the Cambridge Philosophical Society}, +volume = 39, +year = 1943, +pages = {69--83} +} + +@book{nielson:ml-w-concurrency, +editor = {Flemming Nielson}, +title = {{ML} with Concurrency: Design, Analysis, Implementation, and Application}, +year = 1997, +publisher = springer:pub, +address = springer:addr +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Nikhil-FPCA-1985.pdf +@inproceedings{nikhil:FPCA:1985, +author = {Rishiyur S. Nikhil}, +title = {Practical polymorphism}, +booktitle = FPCA85, +month = FPCA85:month, +year = {1985}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = 201, +pages = {319--333} +} + +% NOT REFERENCED +% $DESIGN/types/Nipkow-Prehofer-POPL-1993.pdf +@inproceedings{nipkow-prehover:1993, +author = {Tobias Nipkow and Chrisian Prehofer}, +title = {Type checking type classes}, +booktitle = POPL20, +year = POPL20:year, +publisher = ACM:pub, +address = ACM:addr, +pages = {409--418} +} + +% NOT REFERENCED +@inproceedings{pegasus-gc, +author = {Steven C. North and John H. Reppy}, +title = {Concurrent Garbage Collection on Stock Hardware}, +booktitle = {Third International Conference on Functional + Programming Languages and Computer Architecture}, +year = 1987, month = SEP, +series = LNCS, +volume = 274, +publisher = springer:pub, +address = springer:addr, +pages = "113-133", +} + + +%%%%%%%%% +%% %% +%% OOO %% +%% %% +%%%%%%%%% + +@inproceedings{ohori:poly-records:1992, +author = {Ohori, Atsushi}, +title = {A Compilation Method for ML-Style Polymorphic Record Calculi}, +booktitle = POPL19, +location = POPL19:loc, +year = POPL19:year, month = jan, +publisher = acm:pub, +address = acm:addr, +pages = {154–165}, +doi = {10.1145/143165.143200} +} + +@article{ohori:poly-records:1995, +author = {Ohori, Atsushi}, +title = {A Polymorphic Record Calculus and Its Compilation}, +journal = TOPLAS, +volume = {17}, +number = {6}, +year = {1995}, +month = nov, +publisher = acm:pub, +address = acm:addr, +pages = {844–895}, +doi = {10.1145/218570.218572} +} + +@inproceedings{sml-sharp:2014, +author = {Ohori, Atsushi and Ueno, Katsuhiro and Hoshi, Kazunori and Nozaki, Shinji + and Sato, Takashi and Makabe, Tasuku and Ito, Yuki}, +title = {{SML\#} in Industry: A Practical {ERP} System Development}, +booktitle = icfp14, +year = {2014}, month = ICFP14:month, +location = icfp14:loc, +publisher = acm:pub, +address = acm:addr, +pages = {167–173}, numpages = {7}, +doi = {10.1145/2692915.2628164} +} + +% NOT REFERENCED +% $IMPLEMENTATION/papers/Ohori-Ueno-Mima-finitary-poly-2018.pdf +@article{ohori:2018, +author = {Atsushi Ohori and Katsuhiro Ueno and Hisayuki Mima}, +title = {Finitary Polymorphism for Optimizing Type-Directed Compilation}, +journal = PACM, +volume = 2, +number = {ICFP}, +articleno = 81, +month = sep, +year = 2018, +publisher = ACM:pub, +address = ACM:addr, +doi = {10.1145/3235032} +} + +% NOT REFERENCED +@article{ophel:89, +author = {John Ophel}, +title = {An improved mixture rule for pattern matching}, +journal = SIGPLAN, +volume = 24, +number = 6, +pages = {91--96}, +month = may, +year = 1989 +} + +% $DESIGN/modules/papers/Owens-Flatt-SIGPLAN-2006.pdf +@article{owens-flatt:2006, +author = {Scott Owens and Matthew Flatt}, +title = {From structures and functors to modules and units}, +journal = {{ACM} {SIGPLAN} Notices}, +volume = 41, +number = 9, +month = sep, +year = 2006, +numpages = {12}, +doi = {10.1145/1160074.1159815} +} + + +%%%%%%%%% +%% %% +%% PPP %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@book{ml-for-the-working-programmer-1ed, +author = {L.C. Paulson}, +title = {{ML} for the Working Programmer}, +year = 1991, +publisher = CUP:pub, +address = CUP:addr +} + +@book{ml-for-the-working-programmer-2ed, +author = {L.C. Paulson}, +title = {{ML} for the Working Programmer}, +edition = {2nd}, +year = 1996, +publisher = CUP:pub, +address = CUP:addr +} + +% $DESIGN/types/type\ errors/Pavlinovic-King-Wies-ICFP-2015.pdf +@inproceedings{pavlinovic-king-wies:2015, +author = {Zvonimir Pavlinovic and Tim King and Thomas Wies}, +title = {Practical {SMT}-based type error localization}, +booktitle = ICFP15, +month = ICFP15:month, +location = ICFP15:loc, +publisher = ACM:pub, +address = ACM:addr, +year = {2015}, +pages = {412--423}, +doi = {10.1145/2784731.2784765} +} + +@book{peano:1889, +author = {G. Peano}, +title = {Arithmetices Principia, Nova Methodo Exposita}, +publisher = {Fratelli Bocca}, +address = {Torino, Italy}, +year = 1889 +} + +% NOT REFERENCED +@inbook{peano:1889a, +author = {G. Peano}, +title = {The principles of arithmetic, presented by a new method (1889)}, +booktitle = {Selected Works of Giuseppe Peano}, +editor = {Hubert C. Kennedy}, +publisher = {University of Toronto Press}, +address = {Toronto, Canada}, +year = {1973}, +pages = {101--134} +} + +% NOT REFERENCED +@book{peano:1895, +author = {G. Peano}, +title = {Formulaire de Math\'ematiques}, +publisher = {Fratelli Bocca}, +address = {Torino, Italy}, +year = 1895 +} + +@techreport{petersen:TILT-IL:2000, +author = {Leaf Petersen and Perry Chang and Robert Harper and Chris Stone}, +title = {Implementing the {TILT} Internal Language}, +institution = {School of Computer Science, Carnegie Mellon University}, +number = {CMU-CS-00-180}, +month = dec, +year = 2000, +numpages = {47} +} + +@PhdThesis{petersen:phd-thesis:2005, + author = {Leaf Eames Petersen}, + title = {Certifying Compilation for {Standard ML} in a Type Analysis Framework}, + school = {Carnegie Mellon University}, + year = 2005, + address = {Pittsburgh PA}, + month = {May}, + note = {Published as technical report CMU-CS-05-135.} +} + +@inproceedings{pettersson:92, +author = {Mikael Pettersson}, +title = {A term pattern-match compiler inspired by finite automata theory}, +booktitle = {Proceedings of the 4th International Conference on Compiler Construction ({CC} '92)}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = 641, +year = 1992, +pages = {258--270}, +doi = {10.1007/3-540-55984-1_24} +} + +% NOT REFERENCED +@book{pettersson:phd:99, +author = {Mikael Pettersson}, +title = {Compiling Natural Semantics}, +series = LNCS, +volume = 1549, +year = 1999, +publisher = springer:pub, +address = springer:addr +} + +@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 = {Proceedings of the 16th International Conference on + Automated Deduction (CADE-16)}, +year = 1999, +series = LNAI, +number = 1632, +publisher = springer:pub, +address = springer:addr, +doi = {10.1007/3-540-48660-7_14} +} + +% NOT REFERENCED +@inproceedings{pfenning:CC:2008, +author = {Frank Pfenning}, +title = {Church and Curry: Combining Intrinsic and Extrinsic Typing}, +booktitle = {Reasoning in Simple Type Theory: Festschrift in Honor of + Peter B. Andrews on his 70th Birthday}, +publisher = {College Publications}, +address = {London, UK}, +year = 2008, +pages = {303--338} +} + +@book{pierce:TPL, +author = {Benjamine C. Pierce}, +title = {Types and Programming Languages}, +publisher = mit-press:pub, +address = mit-press:addr, +year = 2002 +} + +% NOT REFERENCED +@inproceedings{pitts-stark:1993, +author = {Andrew M. Pitts and Ian David Bede Stark}, +title = {Observable Properties of Higher Order Functions that Dynamically Create + Local Names, or What's new?}, +booktitle = {MFCS '93: Mathematical Foundations of Computer Science, Proceedings of the + 18th International Symposium}, +pages = {122--141}, +year = {1993} +} + +% NOT REFERENCED +% SML-history/Background/People/Plotkin/Plotkin-1981.pdf +@article{plotkin:cbn-cbv:1975, +author = {Gordon D. Plotkin}, +title = {Call-by-Name, Call-by-Value and the Lambda Calculus}, +journal = TCS, +publisher = NH:pub, +address = NH:addr, +volume = 1, +number = 2, +year = 1975, +pages = {125--159} +} + +% SML-history/Background/People/Plotkin/Plotkin-cvn_cbv_lambda-TCS-1975.pdf +@techreport{plotkin:SOS:81, +author = {Gordon D. Plotkin}, +title = {A structural approach to operational semantics}, +institution = {Computer Science Department, Aarhus University}, +numer = {DAIMI FN-19}, +year = {1981} +} + +% SML-history/Background/People/Plotkin/Plotkin-Origins-SOS-2004.pdf +@article{plotkin:SOS-origins:04, +author = {Gordon D. Plotkin}, +title = {The Origins of Structural Operational Semantics}, +journal = {Jounal of Logic and Algebraic Programming}, +volume = {60-61}, +year = {2004}, +pages = {3-15}, +doi = {10.1016/j.jlap.2004.03.009} +} + +@incollection{POP1:1968, +author = {R. J. Popplestone}, +title = {{POP}-1: an on-line language}, +booktitle = {Machine Intelligence 2}, +editor = {E. Dale and D. Mitchie}, +publisher = EUP:pub, address = EUP:addr, +year = {1968}, +pages = {185--94} +} + +@incollection{POP2:1968b, +author = {R. J. Popplestone}, +title = {The design philosophy of POP-2}, +booktitle = {Machine Intelligence 3}, +editor = {D. Mitchie}, +publisher = EUP:pub, address = EUP:addr, +year = {1968}, +pages = {393--402} +} + +@incollection{pottier-remy:2005, +author = {Franc\c{c}ois Pottier and Didier R\'emy}, +title = {The Essence of {ML} Type Inference}, +booktitle = {Advanced Topics in Types and Programming Languages}, +editor = {Benjamin Pierce}, +publisher = mit-press:pub, +address = mit-press:addr, +year = 2005, +pages = {387--489} +} + +% $DESIGN/types/type\ equiv/Pottier-System-F-omega-with-(equi-)recursive-types-2011.pdf +@unpublished{pottier:2011, +author = {Fran\c{c}ois Pottier}, +title = {{[TYPES]} System {F} omega with (equi-)recursive types}, +month = jun, +year = {2011}, +numpages = {1}, +note = {message to the Types mailing list}, +url = {http://sml-family.org/history/Pottier-System-F-omega-with-(equi-)recursive-types-2011.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317200824/http://sml-family.org/history/Pottier-System-F-omega-with-(equi-)recursive-types-2011.pdf}, +archiveddate = {2020-03-17T20:08:24} +} + +% NOT REFERENCED +% $DESIGN/types/Pottier-HM-elaboration-ICFP-2014.pdf +@inproceedings{pottier:ICFP:2014, +author = {Fran\c{c}ois Pottier}, +title = {Hindley-Milner Elaboration in Applicative Style}, +booktitle = ICFP14, +month = ICFP14:month, +year = {2014}, +location = ICFP14:loc, +pages = {203--212}, +doi = {10.1145/2628136.2628145} +} + +% NOT REFERENCED +@inproceedings{pratt:tdop:73, +author = {Vaughan R. Pratt}, +title = {Top down operator precedence}, +booktitle = POPL1, +publisher = ACM:pub, +address = ACM:addr, +year = POPL1:year, +pages = {41--51} +} + +@online{pucella:smlnj-notes:2001, +author = "Riccardo Pucella", +title = "Notes on Programming {Standard} {ML} of {New} {Jersey}", +organization = "Department of Computer Science, Cornell University", +year = 2001, month = jan, +url = {http://www.cs.cornell.edu/riccardo/prog-smlnj/notes-011001.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20180827154235/http://www.cs.cornell.edu/riccardo/prog-smlnj/notes-011001.pdf}, +archiveddate = {2018-08-27T15:42:35}, +numpages = 249 +} + +% NOT REFERENCED +@inproceedings{puel-suarez:CPM:90, +author = {Laurence Puel and Asc\'andar Su\'arez}, +title = {Compiling pattern matching by term decomposition}, +booktitle = LISP90, +publisher = ACM:pub, +address = ACM:addr, +month = LISP90:month, +year = 1990, +pages = {273--281} +} + +%%%%%%%%% +%% %% +%% QQQ %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@article{quine-NF:1937, +author = {W. V. Quine}, +title = {New Foundations for mathematical logic}, +journal = {American Mathematical Monthly}, +volume = {44}, +year = {1937}, +pages = {70--80} +} + + +%%%%%%%%% +%% %% +%% RRR %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +% $DEFN/other languages/PL-I/Radin-PL_I-history.pdf +@inproceedings{radin:PL_I:1981, +author = {George Radin}, +title = {The early history and characteristics of {PL/I}}, +booktitle = {History of Programming Languages}, +publisher = academic-press:pub, +address = academic-press:addr, +year = {1981}, +pages = {551--575} +} + +@article{ramsey:1926, +author = {F. P. Ramsey}, +title = {The foundations of mathematics}, +journal = {Proceedings of the London Mathematical Society, 2nd Series}, +volume = {25}, +year = 1926, +pages = {338--384} +} + +@techreport{ramsey:concur:90, +author = "Ramsey, Norman", +title = "Concurrent programming in {ML}", +number = "CS-TR-262-90", +institution = princeton-cs, +address = princeton-cs:addr, +year = 1990, month = apr +} + +@inproceedings{expressive-signatures, +author = {Ramsey, Norman and Fisher, Kathleen and Govereau, Paul}, +title = {An Expressive Language of Signatures}, +booktitle = ICFP05, +location = ICFP05:loc, +year = {2005}, +month = ICFP05:month, +publisher = acm:pub, +address = acm:addr, +pages = {27–40}, +doi = {10.1145/1090189.1086371}, +} + +% NOT REFERENCED +% $DESIGN/types/Remy-INRIA-RR-1766-1992.pdf +@techreport{remy:sorted-ml-types:1992, +author = {Didier R\'emy}, +title = {Extension of {ML} type system with a sorted equation theory on types}, +institution = {{INRIA}}, +address = {Rocquencourt, France}, +number = "RR-1766", +year = 1992, month = oct, +numpages = 27 +} + +% NOT REFERENCED +@inproceedings{remy:records-variants:1989, +author = {Didier R\'emy}, +title = {Type checking records and variants in a naturual extension of {ML}}, +booktitle = POPL16, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL16:year, +pages = {77--88}, +doi = {10.1145/75277.75284} +} + +% NOT REFERENCED +% $DESIGN/records/papers/Remy-records-variants-POPL89.pdf +@incollection{remy:row-poly:1994, +author = {Didier R\'emy}, +title = {Type Inference for Records in a Natural Extension of {ML}}, +booktitle = {Theoretical Aspects of Object-Oriented Programming}, +editor = {Carl A. Gunter and John C. Mitchell}, +publisher = mit-press:pub, +address = mit-press:addr, +year = {1994}, +pages = {67--96} +} + +@inproceedings{reppy:pml-events:88, +author = "John H. Reppy", +title = "Synchronous operations as first-class values", +booktitle = PLDI88, +year = 1988, month = PLDI88:month, +publisher = acm:pub, +address = acm:addr, +pages="250-259", +doi = {10.1145/960116.54015} +} + +@techreport{reppy:sml-syncops:89, +author = "John H. Reppy", +title = "First-class synchronous operations in {Standard ML}", +number = "TR 89-1068", +institution = "Department of Computer Science, Cornell University", +address = "Ithaca, {NY}", +year = 1989, month = dec +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{reppy:ranked-poly:1990, +author = {John H. Reppy}, +title = {Ranked polymorphic typing of references}, +month = oct, +year = 1990, +numpages = {6}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@inproceedings{reppy:cml:pldi91, +author = "John H. Reppy", +title = "{CML}: A higher-order concurrent language", +booktitle = PLDI91, +year = 1991, month = jun, +pages = "293-305", +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/113445.113470} +} + +@techreport{reppy:gc-for-sml:1993, +author = {John H. Reppy}, +title = {A High-performance Garbage Collector for {Standard} {ML}}, +type = {Technical Memo}, +number = {BL011261-940329-12TM}, +institution = {AT\&T Bell Laboratories}, +year = 1993, +numpages = {21}, +month = dec, +url = {https://people.cs.uchicago.edu/~jhr/papers/1993/tm-gc.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200328124914/https://people.cs.uchicago.edu/~jhr/papers/1993/tm-gc.pdf}, +archiveddate = {2020-03-28T12:49:14} +} + +@unpublished{reppy:safe-sockets, +title = "A safe interface to sockets (Draft)", +author = "John H. Reppy", +year = 1996, month = may, +url = {http://sml-family.org/history/safe-sockets.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200313180819/http://sml-family.org/history/safe-sockets.pdf}, +archiveddate = {2020-03-13T18:08:19}, +numpages = 10 +} + +@inproceedings{object-ml:96, +author = "John H. Reppy and Jon G. Riecke", +title = "Simple Objects for {Standard} {ML}", +booktitle = PLDI96, +location = PLDI96:loc, +year = 1996, month = PLDI96:month, +publisher = acm:pub, +address = acm:addr, +pages = {171-180}, +doi = {10.1145/249069.231412} +} + +@book{reppy:cml-book, +author = "John H. Reppy", +title = "Concurrent Programming in {ML}", +publisher = CUP:pub, +address = CUP:addr, +year = 1999 +} + +@inproceedings{parallel-cml:2009, +author = {Reppy, John and Russo, Claudio V. and Xiao, Yingqi}, +title = {Parallel {Concurrent} {ML}}, +booktitle = ICFP09, +year = {2009}, month = ICFP09:month, +location = ICFP09:loc, +pages = {257--268}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/1596550.1596588}, +} + +@article{gedanken, +author = {John C. Reynolds}, +title = {{GEDANKEN} -- A Simple Typeless Language Based on the Principle + of Completeness and the Reference Concept}, +journal = CACM, +publisher = acm:pub, address = acm:addr, +volume = 13, number = 5, +month = may, +year = {1970}, +pages = {308--319}, +doi = {10.1145/362349.362364} +} + +@inproceedings{Reynolds:definitional-interp:1972, +author = {Reynolds, John C.}, +title = {Definitional Interpreters for Higher-order Programming Languages}, +booktitle = {Proceedings of the ACM Annual Conference - Volume 2}, +year = {1972}, month = aug, +location = {Boston, MA, USA}, +pages = {717--740}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/800194.805852}, +} + +@inproceedings{reynolds:74, +author = {John C. Reynolds}, +title = {Towards a theory of type structure}, +booktitle = {Colloquium on Programming}, +series = LNCS, +volume = {19}, +publisher = springer:pub, +address = springer:addr, +location = {Paris, France}, +month = {April}, +year = 1974, +pages = {408--423}, +doi = {10.1007/3-540-06859-7_148} +} + +% NOT REFERENCED +@inproceedings{reynolds:83, +author = {John C. Reynolds}, +title = {Types, abstraction, and parametric polymorphism}, +booktitle = {Information Processing '83}, +publisher = {North Holland}, +year = {1983}, +pages = {513--523} +} + +% NOT REFERENCED +@inproceedings{reynolds:84, +author = {John C. Reynolds}, +title = {Polymorphism is not set-theoretic}, +booktitle = {Proc. Int. Symposium on Semantics of Data Types}, +editor = {Gilles Kahn and David MacQueen and Gordon Plotkin}, +volume = {173}, +series = LNCS, +publisher = springer:pub, +address = springer:addr, +year = {1984}, +pages = {145--156} +} + +% NOT REFERENCED +@inproceedings{reynolds:85, +author = {John C. Reynolds}, +title = {Three approaches to type structure}, +booktitle = {Mathematical Foundations of Software Development, CAAP 1985}, +editor = {H. Ehrig and C. Floyd and M. Nivat and J. Thatcher}, +volume = {185}, +series = LNCS, +publisher = springer:pub, +address = springer:addr, +year = {1985}, +pages = {97--138} +} + +% NOT REFERENCED +@article{richards:strachey-CPL:00, +author = {Martin Richards}, +title = {Christopher Strachey and the Cambridge {CPL} Compiler}, +journal = HOSC, +publisher = springer:pub, address = springer:addr, +volume = {13}, number = {1-2}, +month = apr, year = {2000} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Rideau-Thery-INRIA-TR3139-1997.pdf +@techreport{rideau-thery:INRIA:1997, +author = {Laurence Rideau and Laurent Th\'ery}, +title = {Interactive Programming Environment for ML}, +institution = {{INRIA}}, +number = {RR-3139}, +month = mar, +year = {1997}, +numpages = {30} +} + +@article{robinson65, +author = {John A. Robinson}, +title = {A machine-oriented logic based on the resolution principle}, +journal = JACM, +publisher = acm:pub, address = acm:addr, +volume = 12, number = 1, +year = 1965, month = jan, +pages = {23-41}, +doi = {10.1145/321250.321253} +} + +% NOT REFERENCED +@inproceedings{rollins:SG:1991, +author = {Eugene J. Rollins}, +title = {A Selective Recompilation System for {SML}}, +booktitle = {Third International Workshop on Standard ML}, +publisher = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +month = sep, +year = {1991}, +numpages = {10} +} + +% NOT REFERENCED +@inproceedings{rossberg:2003, +author = {Andreas Rossberg}, +title = {Generativity and dynamic opacity for abstract types}, +booktitle = PPDP03, +publisher = ACM:pub, +address = ACM:addr, +month = PPDP03:month, +year = 2003, +pages = {241--252} +} + +% NOT REFERENCED +@inproceedings{rossberg:dynamic:2006, +author = {Andreas Rossberg}, +title = {The missing link: dynamic components for {ML}}, +booktitle = ICFP06, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP06:month, +year = 2006, +pages = {99--110} +} + +@inbook{alice-looking-glass, +title = {Alice Through the Looking Glass}, +author = {Andreas Rossberg and Didier Le Botlan and Guido Tack and Thorsten Brunklaus and Gert Smolka}, +booktitle = {{Trends in Functional Programming}}, +publisher = {Intellect Books, Bristol, UK}, +address = {Munich, Germany}, +series = {Trends in Functional Programming}, +volume = 5, +month = feb, +year = {2006}, +pages = {79-96} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Rossberg-thesis-2007.pdf +@phdthesis{rossberg:phdthesis:2007, +author = {Andreas Rossberg}, +title = {Typed Open Programming: A higher-order, typed approach to dynamic + modularity and distribution}, +school = {Universit\"at des Saarlandes}, +year = {2007} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Rossberg-dynamic-translucency-2008.pdf +@inproceedings{rossberg:dynamic-translucency:2008, +author = {Andreas Rossberg}, +title = {Dynamic Translucency with Abstraction Kinds and Higher-Order Coercions}, +booktitle = {Electronic Notes in Theoretical Computer Science}, +volume = 218, +month = sep, +year = 2008, +pages = {313--336} +} + +@Manual{hamlet-s-manual, +author = {Andreas Rossberg}, +title = {{HaMLet} {S} --- {To} {Become} or {Not} {Become} {Successor} {ML}}, +month = apr, +year = 2008, +organization = {Max Planck Institute for Software Systems}, +url = {https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20170330175359/https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf}, +archiveddate = {2017-03-30T17:53:59}, +numpages = {116} +} + +@Manual{hamlet-manual, +author = {Andreas Rossberg}, +title = {{HaMLet} --- {To} {Be} or {Not} {To} {Be} {Standard} {ML} (Version 2.0.0)}, +month = oct, +year = 2013, +organization = {Max Planck Institute for Software Systems}, +url = {https://people.mpi-sws.org/~rossberg/hamlet/hamlet-2.0.0.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200328172628/https://people.mpi-sws.org/~rossberg/hamlet/hamlet-2.0.0.pdf}, +archiveddate = {2020-03-28T17:26:28}, +numpages = {58} +} + +% SML-history/Definition/SML97/Rossberg-defects-Revised-Defn-2013-09-18.pdf +@techreport{rossberg:defects:2013, +author = {Andreas Rossberg}, +title = {Defects in the {Revised} {Definition} of {Standard} {ML}}, +institution = {Universit{\"a}t des Saarlandes}, +year = {2013} +} + +% SML-history/Design/modules/papers/Rossberg-Dreyer-mixin-ML-modules-TOPLAS-2013 .pdf +@article{rossberg-dreyer:2013, +author = {Andreas Rossberg and Derek Dreyer}, +title = {Mixin' Up the ML Module System}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume = 35, +number = 1, +articleno = {2}, +year = 2013, month = apr, +numpages = {84}, +doi = {10.1145/2450136.2450137} +} + +% SML-history/Design/modules/papers/Rossberg-Russo-Dreyer-F-ing-JFP-2014.pdf +@article{rossberg-russo-dreyer:2015, +author = {Andreas Rossberg and Claudio Russo and Derek Dreyer}, +title = {F-ing modules}, +journal = JFP, +publisher = cup:pub, +address = cup:addr, +volume = 24, +number = 5, +year = 2015, +pages = {529-607}, +doi = {10.1017/S0956796814000264} +} + +@inproceedings{rossberg:2015, +author = {Andreas Rossberg}, +title = {1ML -- Core and Modules United (F-ing First-Class Modules)}, +booktitle = ICFP15, +month = ICFP15:month, +publisher = ACM:pub, +address = ACM:addr, +year = 2015, +pages = {35-47}, +doi = {10.1145/2858949.2784738} +} + +% NOT REFERENCED +% SML-history/Design/modules/papers/Rossberg-1ML-with-special-effects-Wadlerfest-2016.pdf +@inproceedings{rossberg:2016, +author = {Andreas Rossberg}, +title = {{1ML} with Special Effects: F-ing Generativity Polymorphism}, +booktitle = {A List of Successes That Can Change the World}, +editor = {C. McBride and P. Trinder and D. Sannella}, +publisher = springer:pub, +address = springer:addr, +year = 2016, +series = LNCS, +volume = 9600, +pages = {336--355} +} + +% SML-history/Design/modules/papers/Rossberg-1ML-JFP-2018.pdf +@article{rossberg:2018, +author = {Andreas Rossberg}, +title = {{1ML} -- Core and Modules United}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = 28, +number = {e22}, +month = dec, +year = 2018, +numpages = 60, +doi = {10.1017/S0956796818000205} +} + +% NOT REFERENCED +% SML-history/Edinburgh-TR/ECS-LFCS-92-235.pdf +@techreport{ECS-LFCS-92-235, +author = {Nick Rothwell}, +title = {Functional compilation from the {Standard} {ML} {Core} {Language} + to Lambda Calculus}, +number = {ECS-LFCS-92-235}, +institution = LFCS, +address = LFCS:addr, +month = sep, +year = 1992 +} + +% NOT REFERENCED +% SML-history/Edinburgh-TR/ECS-LFCS-92-236.pdf +@techreport{ECS-LFCS-92-236, +author = {Nick Rothwell}, +title = {Parsing in the {SML} {Kit}}, +number = {ECS-LFCS-92-236}, +institution = LFCS, +address = LFCS:addr, +month = sep, +year = 1992 +} + +% NOT REFERENCED +% SML-history/Edinburgh-TR/ECS-LFCS-92-237.pdf +@techreport{ECS-LFCS-92-237, +author = {Nick Rothwell}, +title = {Miscellaneious Design Issues in the {ML} {Kit}}, +number = {ECS-LFCS-92-237}, +institution = LFCS, +address = LFCS:addr, +month = sep, +year = 1992 +} + +@incollection{russell:frege:1902, +author = {Bertrand Russell}, +title = {Letter to Frege}, +booktitle = {From Frege to G\"odel}, +editor = {Jean van Heijenoort}, +publisher = {Harvard University Press}, +address = {Cambridge, MA, USA}, +year = 1967, +pages = {124--125} +} + +% NOT REFERENCED +@incollection{frege:russell:1902, +author = {Gottlob Frege}, +title = {Letter to Russell}, +booktitle = {From Frege to G\"{o}del}, +editor = {Jean van Heijenoort}, +publisher = {Harvard University Press}, +address = {Cambridge, MA, USA}, +year = 1967, +pages = {126--128} +} + +% NOT REFERENCED +% Appendix B: The Doctrine of Types (p. 523) +% Norton paperback edition reissued 1996 +@book{russell:1903, +author = {Bertrand Russell}, +title = {The Principles of Mathematics}, +publisher = CUP:pub, +address = CUP:addr, +year = 1903 +} + +% NOT REFERENCED +% SML-history/Background/Types/Russel-logic-based-on-types-1908.pdf +@article{russell:1908, +author = {Bertrand Russell}, +title = {Mathematical logic as based on the theory of types}, +journal = {American Journal of Mathematics}, +volume = 30, +number = 3, +month = jul, +year = {1908}, +pages = {222--262}, +url = {https://www.jstor.org/stable/2369948}, +doi = {10.2307/2369948} +} + +@book{russell-whitehead:1913, +author = {Bertrand Russell and Alfred North Whitehead}, +title = {Principia Mathematica (3 Volumes)}, +publisher = CUP:pub, +address = CUP:addr, +year = {1910,1912,1913} +} + +% NOT REFERENCED +% SML-history/Edinburgh-TR/ECS-LFCS-96-344.pdf +@techreport{ECS-LFCS-96-344, +author = {Claudio V. Russo}, +title = {Standard ML Type Generativity as Existential Quantification}, +number = {ECS-LFCS-96-344}, +institution = LFCS, +address = LFCS:addr, +month = jun, +year = 1996 +} + +% SML-history/Design/modules/papers/Russo-types-for-modules-phd-2003.pdf +@phdthesis{russo:phd:98, +author = {Claudio V. Russo}, +title = {Types For Modules}, +school = {University of Edinburgh}, +year = 1998, +note = {Edinburgh LFCS Technical Report ECS-LFCS-98-389} +} + +% SML-history/Design/modules/papers/Russo-non-dep-types-PPDL-1999.pdf +@inproceedings{russo-nondependent:1999, +author = {Claudio Russo}, +title = {Non-dependent Types for {Standard} {ML} Modules}, +booktitle = PPDP99, +location = PPDP99:loc, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = 1702, +year = 1999, +month = PPDP99:month, +pages = {80--97}, +doi = {10.1007/10704567_5} +} + +% $DEFN/Russo/Russo-defn-nonStandard-ML-2014.pdf +@Unpublished{russo:non-standard-ml, +author = {Claudio Russo}, +title = {The Definition of Non-Standard ML (Syntax and Static Semantics)}, +note = {Unpublished manuscript.}, +month = {July}, +year = 1999, +url = {http://sml-family.org/history/Russo-defn-nonStandard-ML-2014.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317055151/http://sml-family.org/history/Russo-defn-nonStandard-ML-2014.pdf}, +archiveddate = {2020-03-17T05:51:51} +} + +% NOT REFERENCED +% SML-history/Design/modules/papers/Russo-1st-class-modules-2000.pdf +@inproceedings{russo-firstclass:2000, +author = {Claudio V. Russo}, +title = {First-class {Structures} for {Standard} {ML}}, +booktitle = ESOP00, +location = ESOP00:loc, +series = LNCS, +number = ESOP00:number, +pages = {336--350}, +year = {2000}, month = ESOP00:month, +month = mar, +publisher = springer:pub, +address = springer:addr, +doi = {10.1007/3-540-46425-5_22} +} + +% SML-history/Design/modules/papers/Russo-recursive-structures-2001.pdf +@inproceedings{russo-recursive:2001, +author = {Claudio V. Russo}, +title = {Recursive {Structures} for {Standard} {ML}}, +booktitle = ICFP01, +publisher = ACM:pub, +address = ACM:addr, +month = ICFP01:month, +year = {2001}, +location = ICFP01:loc, +pages = {50--61}, +doi = {10.1145/507669.507644} +} + +@incollection{ryan-sadler:1992, +author = {Mark Ryan and Martin Sadler}, +title = {Valuation Systems and Consequent Relations}, +booktitle = {Background: Mathematical Structures}, +series = {Handbook of Logic in Computer Science}, +volume = {1}, +publisher = {Clarendon Press}, +address = {Oxford, UK}, +year = {1992}, +pages = {1--78} +} + + +%%%%%%%%% +%% %% +%% SSS %% +%% %% +%%%%%%%%% + +@inproceedings{saha:1998, +author = {Bratin Saha and Zhong Shao}, +title = {Optimal Type Lifting}, +booktitle = {Types in Compilation Workshop}, +series = LNCS, +number = 1998, +publisher = springer:pub, +address = springer:addr, +pages = {156--177}, +month = mar, +year = {1998}, +location = {Kyoto, Japan}, +doi = {10.1007/BFb0055517} +} + +% NOT REFERENCED +@article{saha:2003, +author = {Bratin Saha and Valery Trifanov and Zhong Shao}, +title = {Intensional analysis of quantified types}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume = 25, +number = 2, +month = mar, +year = 2003, +pages = {159--209} +} + +% $BACKGROUND/People/Cardelli/VAX-ML/Saito-Mlsys-README-1982_03.pdf +@unpublished{Saito:82, +author = {Nobuo Saito}, +title = {{ML} {System} on {Vax} {Unix}}, +year = {1982}, month = mar, +note = {README for Saito's Unix port of {VAX} {ML}}, +url = {http://sml-family.org/history/Saito-Mlsys-README-1982_03.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317201310/http://sml-family.org/history/Saito-Mlsys-README-1982_03.pdf}, +archiveddate = {2020-03-17T20:13:10}, +numpages = 3 +} + +% NOT REFERENCED +% $BACKGROUND/Clear/Sannella-set-theoretic-semantics-Clear-1984.pdf +@article{sannella:84, +author = {Donald Sannella}, +title = {A Set-Theoretic Semantics for Clear}, +journal = {Acta Informatica}, +volume = {21}, +number = {5}, +pages = {443--472}, +year = {1984} +} + +@inproceedings{sannella-tarlecki:1985, +author = {Donald Sannella and Andrzej Tarlecki}, +title = {Program Specification and Development in Standard {ML}}, +booktitle = POPL12, +publisher = acm:pub, +address = acm:addr, +pages = {67--77}, +year = POPL12:year, +month = jan, +doi = {10.1145/318593.318614} +} + +% $DESIGN/SML-Proposal-drafts/Sannella/Sannella-module-semantics-11-85.pdf +@unpublished{sannella:den-sem-modules:1985, +author = {Donald Sannella}, +title = {A Denotational Semantics for {ML} Modules}, +month = nov, +year = {1985}, +note = {Draft of 25 November 1985}, +url = {http://sml-family.org/history/Sannella-module-sematics-1985_11.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317055334/http://sml-family.org/history/Sannella-module-sematics-1985_11.pdf}, +archiveddate = {2020-03-17T05:53:34} +} + +% NOT REFERENCED +@book{eml-book:2012, +author = {Donald Sannella and Andrzej Tarlecki}, +title = {Foundations of Algebraic Specification and Formal Software Development}, +series = {{EATCS} Monographs in Theoretical Computer Science}, +publisher = springer:pub, +address = springer:addr, +year = 2012 +} + +% $DESIGN/types/type\ errors/Schilling-slicing-TFP-2011.pdf +@inproceedings{schilling:type-error:2011, +author = {Thomas Schilling}, +title = {Constraint-Free Type Error Slicing}, +booktitle = {Trends in Functional Programming ({TFP} '11)}, +series = LNCS, +number = {7193}, +publisher = springer:pub, +address = springer:addr, +year = {2011}, +pages = {1--16}, +doi = {10.1007/978-3-642-32037-8_1} +} + +% NOT REFERENCED +@phdthesis{schmidt:phd:82, +author = {Eric E. Schmidt}, +title = {Controlling Large Softward Development in a Distributed Environment}, +school = {Electrical Engineering and Computer Sciences Department, + University of California at Berkeley}, +year = {1982}, +note = {Also available as Xerox PARC Technical Report CSL-82-7} +} + +@article{schoenfinkel:1924, +author = {Moses Sch\"onfinkel}, +title = {\"Uber die Bausteine der mathematischen Logik}, +journal = {Mathematische Annalen}, +volume = {92}, +year = {1924}, +pages = {305--316}, +note = {Also available in English as "On the building blocks of mathematical logic" + in van Heijenoort, 1967, pp 355--366.} +} + +% NOT REFERENCED +@incollection{schoenfinkel:1924a, +author = {Moses Sch\"onfinkel}, +title = {On the building blocks of mathematical logic}, +booktitle = {From Frege to G\"odel: A Source Book in Mathematical Logic, 1879 -- 1931}, +editor = {Jean van Heijenoort}, +publisher = {Harvard University Press}, +address = {Cambridge, MA, USA}, +year = {1967}, +pages = {355--366} +} + +@inproceedings{twelf-proof-assistant:2009, +author = {Sch{\"u}rmann, Carsten}, +title = {The Twelf Proof Assistant}, +editor = {Berghofer, Stefan and Nipkow, Tobias and Urban, Christian and Wenzel, Makarius}, +booktitle = {Theorem Proving in Higher Order Logics ({TPHOLs} '09)}, +location = {Munich, Germany}, +year = {2009}, +publisher = springer:pub, +address = springer:addr, +pages = {79--83}, +series = LNCS, +number = 5674, +doi = {10.1007/978-3-642-03359-9_7} +} + +% NOT REFERENCED +@article{scott69, +author = {Dana S. Scott}, +title = {A type-theoretical alternative to {ISWIM}, {CUCH}, {OWHY}}, +journal = TCS, +volume = 121, year = 1993, +pages = {411-440}, +note = {Originally circulaed privately in 1969} +} + +@inproceedings{scott71, +author = {Dana S. Scott and C. Strachey}, +title = {Towards a mathematical semantics for computer languages}, +booktitle = {Proceedings of the Symposium on Computers and Automata}, +publisher = {Polytechnic Press}, +address = {New York, NY, USA}, +location = {Brooklyn, NY, USA}, +pages = {19--46}, +year = {1971} +} + +% NOT REFERENCED +@unpublished{scott-ramsey:PMC:2000, +author = {Kevin Scott and Norman Ramsey}, +title = {When Do Match-Compilation Heuristics Matter?}, +year = 2000, +numpages = {21}, +url = {https://www.cs.tufts.edu/~nr/pubs/match.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190802182732/https://www.cs.tufts.edu/~nr/pubs/match.pdf}, +archiveddate = {2019-08-02T18:27:32}, +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Seidel-Jhala-ICFP-2016.pdf +@inproceedings{seidel-jhala:2016, +author = {Eric L. Seidel and Ranjit Jhala}, +title = {Dynamic Witnesses for Statid Type Errors (or, Ill-Typed Programs \textit{Usually} + Go Wrong}, +booktitle = ICFP16, +month = ICFP16:month, +year = 2016, +publisher = ACM:pub, +address = ACM:addr, +pages = {228--242} +} + +% NOT REFERENCED +@article{seldin:2003, +author = {Jonathan P. Seldin}, +title = {Curry's anticipation of the types used in programming languages}, +journal = {Proceedings of the Canadian Society for History and Philosophy of Mathematics}, +volume = {15}, +year = {2002}, +pages = {148-163} +} + +@incollection{seldin:2009, +author = {Jonathan P. Seldin}, +title = {The Logic of Church and Curry}, +booktitle = {Logic from Russell to Church}, +series = {Handbook of the History of Logic}, +volume = 5, +pages = {819-873}, +year = 2009, +publisher = elsevier:pub, +address = elsevier:addr +} + +@inproceedings{sestoft:PMC:96, +author = {Peter Sestoft}, +title = {{ML} pattern match compilation and partial evaluation}, +booktitle = {Partial Evaluation}, +series = LNCS, +volume = 1110, +publisher = springer:pub, +address = springer:addr, +year = 1996, +pages = {446--464}, +doi = {10.1007/3-540-61580-6_22} +} + +% NOT REFERENCED +% NEED ARCHIVE LINK (not referenced) +% $DESIGN/modules/papers/Shan-HOM-F_omega-Haskell-2004.pdf +@unpublished{shan:HOM:2004, +author = {Chung-chieh Shan}, +title = {Higher-order modules in {System} {F}-omega and {Haskell}}, +numpages = 19, +year = {2004}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +% NOT REFERENCED +@inproceedings{shao-appel:93, +author = {Zhong Shao and Andrew W. Appel}, +title = {Smartest Recompilation}, +booktitle = POPL20, +year = POPL20:year, +publisher = ACM:pub, +address = ACM:addr, +pages = {439--450} +} + +% NOT REFERENCED +@inproceedings{shao-reppy-appel:1994, +author = {Zhong Shao and John H. Reppy and Andrew W. Appel}, +title = {Unrolling Lists}, +booktitle = LISP94, +location = {Orlando, FL, USA}, +publisher = ACM:pub, +address = ACM:addr, +month = LISP94:month, +year = 1994, +pages = {185--195} +} + +@inproceedings{shao-appel-type-based-compiler:1995, + author = {Zhong Shao and Andrew W. Appel}, + title = {A Type-based Compiler for {Standard} {ML}}, + booktitle = PLDI95, + year = {1995}, month = PLDI95:month, + location = PLDI95:loc, + pages = {116--129}, + publisher = ACM:pub, + address = ACM:addr, + doi = {10.1145/207110.207123}, +} + +% NOT REFERENCED +@inproceedings{shao:ICFP:97, +author = {Zhong Shao}, +title = {Flexible representation analysis}, +booktitle = ICFP97, +publisher = ACM:pub, +address = ACM:addr, +month = jun, +year = 1997, +pages = {85--98} +} + +@inproceedings{flint:97, +author = {Zhong Shao}, +title = {An Overview of the {FLINT/ML} Compiler}, +booktitle = {Proceedings of the 1997 {ACM} {SIGPLAN} Workshop on Types in + Compilation ({TIC}'97)}, +publisher = ACM:pub, +address = ACM:addr, +year = 1997, +location = {Amsterdam, The Netherlands}, +month = {June}, +numpages = {10} +} + +@inproceedings{flint:98, +author = {Zhong Shao and Christopher League and Stefan Monnier}, +title = {Implementing typed intermediate languages}, +booktitle = ICFP98, +month = ICFP98:month, +year = 1998, +publisher = ACM:pub, +address = ACM:addr, +pages = {313--323}, +doi = {10.1145/289423.289460} +} + +% NOT REFERENCED +@techreport{shao:98, +author = {Zhong Shao}, +title = {Parameterized signatures and higher-order modules}, +institution = {Dept. of Computer Science, Yale University}, +number = {YALEU/DCS/TR-1161}, +month = aug, +year = 1998 +} + +% NOT REFERENCED +@inproceedings{shao:ICFP:98, +author = {Zhong Shao}, +title = {Typed cross-module compilation}, +booktitle = ICFP98, +month = sep, +year = 1998, +pages = {141--152} +} + +% NOT REFERENCED +% $DESIGN/modules/papers/Shao-transparent-modules-1999.pdf +@inproceedings{shao:99, +author = {Zhong Shao}, +title = {Transparent modules with fully syntactic signatures}, +booktitle = ICFP99, +month = sep, +year = 1999, +pages = {220--232} +} + +@article{shao-appel:safe-for-space:2000, +author = {Zhong Shao and Andrew W. Appel}, +title = {Efficient and Safe-for-space Closure Conversion}, +journal = TOPLAS, +volume = {22}, +number = {1}, +month = jan, +year = {2000}, +pages = {129--161}, +publisher = ACM:pub, +address = ACM:addr, +doi = {10.1145/345099.345125}, +} + +% $DESIGN/types/type\ errors/Sharrad-Chitil-Wang-IFL-2018.pdf +@inproceedings{sharrad-chitil-wang:2018, +author = {Joanna Sharrad and Olaf Chitil and Meng Wang}, +title = {Delta Debugging Type Errors with a Blackbox Compiler}, +booktitle = IFL18, +location = IFL18:loc, +month = IFL18:month, +year = 2018, +publisher = ACM:pub, +address = ACM:addr, +pages = {13-24}, +doi = {10.1145/3310232.3310243} +} + +@unpublished{shipman:unix-sys-prog-w-sml, +author = {Anthony L. Shipman}, +title = "{Unix} System Programming with {Standard} {ML}", +year = 2002, +url = {http://mlton.org/References.attachments/Shipman02.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200225113813/http://mlton.org/References.attachments/Shipman02.pdf}, +archiveddate = {2020-02-25T11:38:13}, +numpages = {482} +} + +@article{multi-mlton-runtime:14, +author = {Sivaramakrishnan, K. C. and Ziarek, Lukasz and Jagannathan, Suresh}, +title = {{MultiMLton}: A multicore-aware runtime for {Standard ML}}, +volume = {24}, number = {6}, +journal = JFP, +publisher = cup:pub, +address = cup:addr, +year = {2014}, month = jun, +pages = {613–674}, +doi = {10.1017/S0956796814000161} +} + +% SML-history/Design/Types/type equiv/Solomon-POPL-1978.pdf +@inproceedings{solomon:1978, +author = {Marvin Solomon}, +title = {Type definitions with parameters (Extended Abstract)}, +booktitle = POPL5, +year = POPL5:year, +month = jan, +publisher = ACM:pub, +address = ACM:addr, +pages = {31--38}, +doi = {10.1145/512760.512765} +} + +@book{FLDL:steel:1966, +title = {Formal Language Description Languages for Computer Programming}, +editor = {T. B. {Steel, Jr.}}, +publisher = NH:pub, +address = NH:addr, +year = 1966 +} + +@inproceedings{stone-harper:2000, +author = {Christopher Stone and Robert Harper}, +title = {Deciding Type Equivalence in a Language with Singleton Kinds}, +booktitle = POPL27, +year = POPL27:year, +location = POPL27:loc, +publisher = ACM:pub, +address = ACM:addr, +pages = {214--227}, +doi = {10.1145/325694.325724} +} + +@article{stone+:singletons-tocl, +author = {Christopher A. Stone and Robert Harper}, +title = {Extensional Equivalence and Singleton Types}, +journal = TOCL, +year = {2006}, +month = oct, +volume = {7}, +number = {4}, +pages = {676--722}, +doi = {10.1145/1183278.1183281} +} + +% $DEFN/modules/Stone-phdthesis-2000.pdf +@phdthesis{stone:phd-thesis, +author = {Christopher Allan Stone}, +title = {Singleton Kinds and Singleton Types}, +school = {Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +month = aug, +year = 2000, +note = {CMU-CS-00-153} +} + +% NOT REFERENCED +@book{stoy:1977, +author = {Joseph E. Stoy}, +title = {Denotational Semantics: the Scott-Strachey Approach to Programming Language Theory}, +publisher = mit-press:pub, +address = mit-press:addr, +year = {1977} +} + +% NOT REFERENCED +% early, informal denotational description of aspects of ALGOL 60/CPL +@inproceedings{strachey:FLDL:1964, +author = {C. Strachey}, +title = {Towards a formal semantics}, +booktitle = {Formal Language Description Languages for Computer Programming}, +publisher = NH:pub, +address = NH:addr, +year = {1966}, +pages = {198--220} +} + +@unpublished{CPL:1, +author = {C. Strachey}, +title = {{CPL} {Reference} {Manual}}, +year = {1966}, month = jul, +note = {Privately circulated. Programming Research Unit, Oxford University}, +url = {http://www.ancientgeek.org.uk/CPL/CPL_Working_Papers.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190813125728/http://www.ancientgeek.org.uk/CPL/CPL_Working_Papers.pdf}, +archiveddate = {2019-08-13T12:57:28}, +numpages = 128 +} + +@inproceedings{strachey67, +author = {Christopher Strachey}, +title = {Fundamental Concepts in Programming Languages}, +booktitle = {Lecture Notes from the International Summer School in Computer Science}, +location = {Copenhagen, Denmark}, +year = {1967}, +numpages = 38, +note = {Republished in Higher-Order and Symbolic Computation, 13, 11--49, 2000.}, +doi = {10.1023/A:1010000313106} +} + +% NOT REFERENCED +@article{strachey67:HOSC, +author = {Christopher Strachey}, +title = {Fundamental Concepts in Programming Languages}, +journal = HOSC, +volume = 13, +year = 2000, +pages = {11--49} +} + +% NOT REFERENCED +@inproceedings{strachey72, +author = {C. Strachey}, +title = {Varieties of programming language}, +booktitle = {Proceedings of the International Computing Symposium}, +publisher = {Cini Foundation}, +location = {Venice, Italy}, +year = 12972, +pages = {345--362}, +doi = {10.1007/978-1-4612-4118-8_3}, +note = {Technical Monograph PRG-10, Programming Research Group, + Oxford University Computing Laboratory, March, 1973} +} + +% $DESIGN/types/type\ errors/Stuckey-Sulzmann-Wazny-Haskell-2004.pdf +@inproceedings{stuckey:2004, +author = {Peter J. Stuckey and Martin Sulzmann and Jeremy Wazny}, +title = {Improving Type Error Diagnosis}, +booktitle = {Proceedings of the 2004 {ACM SIGPLAN} workshop on Haskell ({Haskell} '04)}, +month = sep, +year = {2004}, +publisher = ACM:pub, +address = ACM:addr, +pages = {80--91}, +doi = {10.1145/1017472.1017486} +} + +% NOT REFERENCED +% $DESIGN/types/Sulzmann-Odersky-Wehr-type-inf-1999.pdf +@article{sulzmann-odersky-wehr:1999, +author = {Martin Sulzman and Martin Odersky and Martin Wehr}, +title = {Type Inference with Constrained Types}, +journal = TAPOS, +publisher = wiley:pub, +address = wiley:addr, +volume = {5}, +number = {1}, +month = jan, +year = {1999}, +pages = {35--55}, +doi = {10.1002/(SICI)1096-9942(199901/03)5:1%3C35::AID-TAPO4%3E3.0.CO;2-4} +} + +% NOT REFERENCED +% $DESIGN/types/Sulzmann-etal-HM-constraints.pdf +@techreport{sulzmann-muller-zenger:1999, +author = {Martin Sulzmann and Martin M\"uller and Christoph Zenger}, +title = {Hindley/Milner style type systems in constraint form}, +institution = {School of Computer and Information Science, University of South Australia}, +number = {Research Report ACRC-99-009}, +month = jul, +year = {1999}, +numpages = {12} +} + +% NOT REFERENCED +% $DESIGN/types/Sulzmann-phd-2000.pdf +@phdthesis{sulzmann:phd:2000, +author = {Martin Sulzmann}, +title = {A General Framework for Hindley/Milner Type Systems with Constraints}, +school = {Yale University}, +month = may, +year = {2000}, +note = {Advisor: Paul Hudak} +} + +@inproceedings{swasey+06:mlw, +author = {David Swasey and Tom Murphy VII and Karl Crary and Robert Harper}, +title = {A Separate Compilation Extension to {Standard ML}}, +booktitle = ML06, +publisher = acm:pub, +address = acm:addr, +year = 2006, +editor = {Andrew Kennedy and Fran{\,{c}}ois Pottier}, +location = ML06:loc, +month = ML06:month, +pages = "32-42", +doi = {10.1145/1159876.1159883} +} + +@TechReport{swasey+06:sepcomp, +author = {David Swasey and Tom Murphy VII and Karl Crary and Robert Harper}, +title = {A Separate Compilation Extension to Standard ML (Revised and Expanded)}, +institution = {Carnegie Mellon University School of Computer Science}, +number = {CMU--CS--06--133}, +address = {Pittsburgh, PA, USA}, +month = {September}, +year = {2006} +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{syme:1992, +author = {Donald Syme}, +title = {Reasoning with the Formal Definition of {Standard} {ML} in {HOL}}, +year = {1992}, +organization = {Australian National University}, +note = {Honours Thesis}, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +% NOT REFERENCED +% $DEFN/Proof/Syme-defn-SML-in-HOL-1993.pdf +@inproceedings{syme:1993, +author = {Donald Syme}, +title = {Reasoning with the formal definition of {Standard} {ML} in {HOL}}, +booktitle = {HUG 1993: Higher Order Logic Theorem Proving and its Applications}, +editor = {J. J. Joyce and CJ. H. Seger}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +number = {780}, +year = 1993 +} + + +%%%%%%%%% +%% %% +%% TTT %% +%% %% +%%%%%%%%% + +@article{meta-ml:2000, +author = {Taha, Walid and Sheard, Tim}, +title = {{MetaML} and Multi-Stage Programming with Explicit Annotations}, +year = {2000}, month = oct, +publisher = elsevier:pub, +address = elsevier:addr, +volume = {248}, number = {1–2}, +journal = TCS, +pages = {211–242}, +doi = {10.1016/S0304-3975(00)00053-0} +} + +% NOT REFERENCED +% NEED ARCHIVE LINK (not referenced) +@unpublished{tarditi:89, +author = {David Tarditi}, +title = {Effects Inference in ML}, +numpages = 41, +year = 1989, +note = {Princeton senior thesis, advisor Andrew Appel} +} + +% NOT REFERENCED +@techreport{tarditi-acharya-lee-smlc:90, +author = {David R. Tarditi and Anurag Acharya and Peter Lee}, +title = {No Assembly Required: Compiling {S}tandard {ML} to {C}}, +institution = {Carnegie-Mellon Univ.}, +number = {CMU-CS-90-187}, +address = {Pittsburgh, PA, USA}, +month = nov, +year = 1990 +} + +@inproceedings{til-compiler:1996, +author = {Tarditi, D. and Morrisett, G. and Cheng, P. and Stone, C. and Harper, R. and Lee, P.}, +title = {{TIL}: A Type-directed Optimizing Compiler for {ML}}, +booktitle = PLDI96, +year = {1996}, month = PLDI96:month, +location = PLDI96:loc, +pages = {181--192}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/231379.231414}, +} + +@phdthesis{tarditi:phd-thesis:1996, +author = {David Tarditi}, +title = {Design and Implementation of Code Optimizations + for a Type Directed Compiler for {Standard} {ML}}, +school = {School of Computer Science, Carnegie Mellon University}, +address = {Pittsburgh, PA, USA}, +year = 1996, month = dec, +note = {Published as Technical Report CMU-CS-97-108.} +} + +@article{tarditi:TIL:2004, +author = {Tarditi, David and Morrisett, Greg and Cheng, Perry and Stone, Chris and Harper, Robert and Lee, Peter}, +title = {{TIL}: A Type-Directed, Optimizing Compiler for {ML}}, +year = 2004, +publisher = acm:pub, +address = acm:addr, +volume = 39, +number = 4, +issn = {0362-1340}, +doi = {10.1145/989393.989449}, +journal = {SIGPLAN Notices}, +month = apr, +pages = {554–567} +} + +@article{tennent:1977, +author = {Robert D. Tennent}, +title = {Language design methods based on semantic principles}, +journal = {Acta Informatica}, +volume = 8, +year = 1977, +pages = {97-112}, +doi = {10.1007/BF00289243} +} + +% NOT REFERENCED +@article{ADJ-parameterization:78, +author = {J. W. Thatcher and E. G. Wagner and J. B. Wright}, +title = {Data type specification: parameterization and the power of + specification techniques}, +pages = {119--132}, +booktitle = {STOC '78: Proceedings of the 10th Annual ACM Symposium on Theory of Computing}, +publisher = ACM:pub, +address = ACM:addr, +month = may, +year = 1978 +} + +@article{ADJ-parameterization:82, +author = {J. W. Thatcher and E. G. Wagner and J. B. Wright}, +title = {Data type specification: parameterization and the power of + specification techniques}, +journal = TOPLAS, +volume = 4, +number = 4, +publisher = ACM:pub, +address = ACM:addr, +month = oct, +year = 1982, +pages = {711-732}, +doi = {10.1145/69622.357192} +} + +% NOT REFERENCED +@article{intro:J, +author = {Hayo Thielecke}, +title = {An Introduction to {Landin}'s ``A Generalization of Jumps and Labels''}, +journal = HOSC, +publisher = springer:pub, address = springer:addr, +volume = {11}, number = 2, +year = {1998}, month = dec, +pages = {117--123} +} + +% $DESIGN/types/type\ errors/Tip-Dinesh-TOSEM-2001.pdf +@article{tip-dinesh:slicing-type-errors:2001, +author = {F. Tip and T. B. Dinesh}, +title = {A slicing-based approach for locating type errors}, +journal = TOSEM, +volume = {10}, +number = {1}, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = {2001}, +pages = {5--55}, +doi = {10.1145/366378.366379} +} + +% NOT REFERENCED +@inproceedings{tiuryn:1990, +author = {Jerzy Tiuryn}, +title = {Type inference problems: A survey}, +booktitle = {Mathematical Foundations of Computer Science ({MFCS} '90)}, +publisher = springer:pub, +address = springer:addr, +series = LNCS, +volume = 452, +year = {1990}, +pages = {105--120}, +doi = {10.1007/BFb0029599} +} + +% $DESIGN/types/weak-poly/Tofte-poly-refs-revisited-1987_03_09.pdf +@unpublished{tofte:poly-refs:87, +author = {Mads Tofte}, +title = {Polymorphic References Revisited}, +month = mar, +year = 1987, +numpages = 7, +url = {http://sml-family.org/history/Tofte-poly-refs-revisited-1987_03_09.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200317201835/http://sml-family.org/history/Tofte-poly-refs-revisited-1987_03_09.pdf}, +archiveddate = {2020-03-17T20:18:35} +} + +% SML-history/Edinburgh-TR/ECS-LFCS-88-54.pdf +@phdthesis{tofte:phd:88, +author = {Mads Tofte}, +title = {Operational Semantics and Polymorphic Type Inference}, +school = {Department of Computer Science, Univ. of Edinburgh}, +month = may, +year = {1988}, +note = {Available as Technical Report CST-52-88 and ECS-LFCS-88-54} +} + +% SML-history/Edinburgh-TR/ECS-LFCS-89-73.pdf +@techreport{ECS-LFCS-89-73, +author = {Mads Tofte}, +title = {Four Lectures on {Standard} {ML}}, +institution = LFCS, +address = LFCS:addr, +number = {ECS-LFCS-89-73}, +month = mar, +year = 1989 +} + +@article{tofte90, +author = {Mads Tofte}, +title = {Type inference for polymorphic references}, +journal = IC, +publisher = elsevier:pub, address = elsevier:addr, +volume = 89, number = 1, +year = {1990}, month = nov, +pages= {1--34}, +url = {10.1016/0890-5401(90)90018-D} +} + +% NOT REFERENCED +% $DESIGN/modules/HOF/MT-principal-sigs-POPL92.pdf +@inproceedings{tofte:principal:1992, +author = {Mads Tofte}, +title = {Principal Signatures for Higher-order Program Modules}, +booktitle = POPL19, +publisher = ACM:pub, +address = ACM:addr, +year = {1992}, +month = jan, +location = POPL19:loc, +pages = {189--199} +} + +@inproceedings{tofte-talpin:regions:1994, +author = {Tofte, Mads and Talpin, Jean-Pierre}, +title = {Implementation of the Typed Call-by-value {$\lambda$}-calculus + Using a Stack of Regions}, +booktitle = POPL21, +year = POPL21:year, month = jan, +location = POPL21:loc, +pages = {188--201}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/174675.177855} +} + +@article{tofte-talpin:97, +author = {Mads Tofte and Jean-Pierre Talpin}, +title = {Region-Based Memory Management}, +journal = IC, +volume = 132, +number = 2, +year = 1997, +pages = {109--176}, +doi = {10.1006/inco.1996.2613} +} + +@article{tofte-birkedal:98, +author = {Mads Tofte and Lars Birkedal}, +title = {A Region Inference Algorithm}, +journal = TOPLAS, +publisher = acm:pub, +address = acm:addr, +volume = 20, +number = 4, +month = jul, +year = 1998, +pages = {734--767}, +doi = {10.1145/291891.291894} +} + +% SML-history/Implementation/regions/Tofte-etal-RB-MM-HOSC-04.pdf +@article{region-retrospective:2004, +author = {Mads Tofte and Lars Birkedal and Martin Elsman and Niels Hallenberg}, +title = {A Retrospective on Region-Based Memory Management}, +journal = HOSC, +volume = {17}, +number = {3}, +year = {2004}, +pages = {245--265}, +publisher = kluwer:pub, +address = kluwer:addr, +doi = {10.1023/B:LISP.0000029446.78563.a4} +} + +% NOT REFERENCED +% SML-history/Implementation/Tofte-etal-mlkit-4_3_0-2006.pdf +@TechReport{mlkit-4.3.0, +author = {Mads Tofte and Lars Birkedal and Martin Elsman + and Niels Hallenberg and Tommy H{\o}jfeld Olesen and + Peter Sestoft}, +title = {Programming with Regions in the {MLKit} (Revised for Version 4.3.0)}, +institution = {IT University of Copenhagen, Denmark}, +year = {2006}, +month = jan +} + +@phdthesis{tolmach:phd-thesis, +author = {Tolmach, Andrew Peter}, +title = {Debugging Standard ML}, +year = {1992}, +school = princeton-cs, +address = princeton-cs:addr +} + +@inproceedings{tolmach:tag-free-gc:1994, +author = {Tolmach, Andrew}, +title = {Tag-free Garbage Collection Using Explicit Type Parameters}, +booktitle = LISP94, +year = {1994}, month = LISP94:month, +isbn = {0-89791-643-3}, +location = LISP94:loc, +pages = {1--11}, +publisher = acm:pub, +address = acm:addr, +doi = {10.1145/182409.182411}, +} + +@article{from-ml-to-ada, +title={From {ML} to {Ada}: Strongly-typed language interoperability via source translation}, +author={Andrew Tolmach and Dino P. Oliva}, +volume={8}, number={4}, +journal=JFP, +publisher=CUP:pub, +address=CUP:addr, +year={1998}, month=jul, +pages={367–412}, +doi={10.1017/S0956796898003086} +} + +%%%%%%%%% +%% %% +%% UUU %% +%% %% +%%%%%%%%% + +@book{ullman:elements-of-ml-97, +author = "Jeffrey D. Ullman", +title = "Elements of {ML} Programming", +edition = "{ML97}", +year = 1998, +publisher = prentice:pub, +address = prentice:addr +} + +%%%%%%%%% +%% %% +%% VVV %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@book{van-heijenoort:1967, +author = {Jean van Heijenoort}, +title = {From Frege to G\"odel, A Source Book in Mathematical Logic, 1879--1931}, +publisher = {Harvard University Press}, +address = {Cambridge, MA, USA}, +year = {1967} +} + +% $DEFN/Proof/Elsa-Gunter/Vaninwegen-Gunter-HOL-ML-93.pdf +@inproceedings{vaninwegen:gunter:93, +author = {M. VanInwegen and E. Gunter}, +title = {HOL-ML}, +booktitle = {6th International Workshop on + Higher order Logic Theorem Proving and Its Applications}, +series = LNCS, +publisher = springer:pub, address = springer:addr, +number = 780, +month = aug, +year = 1993, +location = {Vancouver, Canada}, +pages = {61--73}, +doi = {10.1007/3-540-57826-9_125} +} + +@phdthesis{vaninwegen:phd:96, +author = {Myra VanInwegen}, +title = {The Machine-Assisted Proof of Programming Language Properties}, +school = {Univeristy of Pennsylvania}, +year = {1996}, +note = {Advisor: Carl Gunter} +} + +@techreport{algol68:1969, +author = {A. van Wijngaarden et al.}, +title = {Report on the Algorithmic Language {ALGOL} 68}, +institution = {Mathematisch Centrum, Amsterdam}, +numer = {MR 101}, +year = 1969 +} + +@article{algol68:1977, +author = {A. van Wijngaarden et al.}, +title = {Report on the Algorithmic Language {ALGOL} 68}, +journal = {{SIGPLAN} Notices}, +volume = 12, +number = 5, +month = may, +year = 1977, +pages = {1--70} +} + +@inbook{algol68-report, +author="Mailloux, B. J. and Peck, J. E. L. and Koster, C. H. A. and van Wijngaarden, A.", +title="Report on the Algorithmic Language {ALGOL} 68", +bookTitle="Report on the Algorithmic Language {ALGOL} 68", +year="1969", +publisher=springer:pub, +address=springer:addr, +pages="80--218", +doi="10.1007/978-3-662-39502-8_1" +} + + +%%%%%%%%% +%% %% +%% WWW %% +%% %% +%%%%%%%%% + +@inproceedings{wadler:type-classes:1989, +author = {P. L. Wadler and S. Blott}, +title = {How to make ad-hoc polymorphism less ad hoc}, +booktitle = POPL16, +publisher = ACM:pub, +address = ACM:addr, +year = POPL16:year, +pages = {60--76}, +doi = {10.1145/75277.75283} +} + +@article{RAL-meeting, +author = {Christopher Wadsworth}, +title = {{ML}, {LCF}, and {HOPE}}, +journal = POLYMORPHISM, +volume = {I}, +number = 1, +month = jan, +year = 1983, +numpages = {5}, +url={http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190307022704/http://lucacardelli.name/Papers/Polymorphism%20Vol%20I,%20No%201.pdf}, +archiveddate = {2019-03-07T02:27:04} +} + +% NOT REFERENCED +@inbook{walk:3003, +author = {Kurt Walk}, +title = {Roots of Computing in {Austria}}, +booktitle = {Human Choice and Computers}, +publisher = springer:pub, +address= springer:addr, +year = 2002, +pages = {77-87} +} + +@incollection{waltz:1975, +author = {D. Waltz}, +title = {Understanding line drawings of scenes with shadows}, +booktitle = {Psychology of Computer Vision}, +editor = {P. H. Winston}, +publisher = {McGraw-Hill}, +address = {New York, NY, USA}, +year = {1975}, +pages = {19--91} +} + +% NOT REFERENCED +% $BACKGROUND/Types/Wand-type-sem-POPL-84.pdf +@inproceedings{wand:POPL:1984, +author = {Mitchell Wand}, +title = {A types-as-sets semantics for {Milner}-style polymorphism}, +booktitle = POPL11, +month = jan, +year = 1984, +publisher = ACM:pub, +address = ACM:addr, +pages = {158--164} +} + +% NOT REFERENCED +% $BACKGROUND/Types/Wand-semantic-prototyping-CC-1984.pdf +@inproceedings{wand:CC:1984, +author = {Mitchell Wand}, +title = {A Semantic Prototyping System}, +booktitle = {Proceedings of the {ACM SIGPLAN} '84 Symposium on Compiler Construction}, +publisher = ACM:pub, +address = ACM:addr, +month = jun, +year = 1984, +pages = {213--221}, +note = {{SIGPLAN} Notices, 19, 6, June 1984.} +} + +% $DESIGN/types/type\a errors/Wand-POPL-1986.pdf +@inproceedings{wand:POPL:1986, +author = {Mitchell Wand}, +title = {Finding the Source of Type Errors}, +booktitle = POPL13, +publisher = ACM:pub, +address = ACM:addr, +month = jan, +year = POPL13:year, +pages = {38--43}, +doi = {10.1145/512644.512648} +} + +% $DESIGN/types/type\a errors/Wazny-phd-2006.pdf +@phdthesis{wazny:phd:2006, +author = {Jeremy Wazny}, +title = {Type inference and type error diagnosis for Hindley/Milner with extensions}, +school = {Computer Science and Software Engineering, The University of Melbourne}, +address = {Melbourne, Australia}, +month = jan, +year = {2006} +} + +@article{wells_dimock_muller_turbak:2002, +author={Wells, J. B. and Dimock, Allyn and Muller, Robert and Turbak, Franklyn}, +title={A calculus with polymorphic and polyvariant flow types}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume={12}, number={3}, +year={2002}, pages={183–227}, +doi = {10.1017/S0956796801004245} +} + +@article{disentanglement:pacm:19, +author = {Westrick, Sam and Yadav, Rohan and Fluet, Matthew and Acar, Umut A.}, +title = {Disentanglement in Nested-Parallel Programs}, +year = {2019}, +publisher = acm:pub, +address = acm:addr, +volume = {4}, +number = {POPL}, +journal = PACM, +month = dec, +articleno = {47}, +numpages = {32}, +doi = {10.1145/3371115}, +} + +% NOT REFERENCED +@inproceedings{weyhrauch-milner:1972, +author = {R. W. Weyhrauch and R. Milner}, +title = {Program semantics and correctness in a mechanized logic}, +booktitle = {Proceedings of the USA-Japan Computer Conference}, +editor = {M. Ozeki and Y. Hayashi and K. Kohri and Y. Fuwa}, +location = {Tokyo, Japan}, +year = {1972} +} + +@inproceedings{kleisli:2000, +author = {Wong, Limsoon}, +title = {The Functional Guts of the {Kleisli} Query System}, +booktitle = ICFP00, +location = ICFP00:loc, +publisher = acm:pub, +address = acm:addr, +year = {2000}, month = ICFP00:month, +pages = {1–10}, +doi = {10.1145/357766.351241} +} + +@techreport{PAL:4, +author = {J. M. Wozencraft and Arthur {Evans, Jr.}}, +title = {Notes on Programming Linguistics}, +institution = {MIT Department of Electrical Engineering}, +month = feb, +year = {1970}} + +% NOT REFERENCED +% $DESIGN/types/weak-poly/Wright-Felleisen-poly-imperative-ML-90.pdf +@unpublished{wright-felleisen:90, +author = {Andrew Wright and Matthias Felleisen}, +title = {A Polymorphic $\lambda$-Calculus for Imperative {ML}}, +year = 1990, +numpages = {17}, +url = {http://sml-family.org/history/Wright-Felleisen-poly-imperative-ML-90.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@techreport{wright-felleisen:91, +author = {Andrew K. Wright and Matthias Felleisen}, +title = {A Syntactic Approach to Type Soundness}, +institution = {Rice University}, +number = {COMP TR91-160}, +month = {April}, year = 1991 +} + +% NEED ARCHIVE LINK (not referenced) +@unpublished{wright:poly-refs:91, +author = {Andrew K. Wright}, +title = {Polymorphic References for Mere Mortals}, +month = jul, +year = 1991, +url = {}, +archivedrepository = {Internet Archive}, +archivedurl = {}, +archiveddate = {} +} + +@inproceedings{wright92, +title = {Typing References by Effect Inference}, +author = {Andrew K. Wright}, +booktitle = ESOP92, +location = ESOP92:loc, +series = LNCS, +publisher = springer:pub, +address = springer:addr, +number = ESOP92:number, +month = ESOP92:month, +year = 1992, +pages = {473--491}, +doi = {10.1007/3-540-55253-7_28} +} + +@techreport{wright:93, +author = {Andrew K. Wright}, +title = {Polymorphism for Imperative Languages without Imperative Types}, +institution = {Rice University}, +number = {TR93-200}, +numpages = {10}, +month = feb, +year = {1993} +} + +@article{wright95, +author = {Andrew Wright}, +title = {Simple imperative polymorphism}, +journal = LASC, +volume = 8, number = 4, +pages = {343--355}, +month = dec, +year = {1995}, +doi = {10.1007/BF01018828} +} + +% $DESIGN/types/type\ errors/Wu-Campora-Chen-learning-error-messages-2017.pdf +@article{wu-campora-chen:2017, +author = {Baijun Wu and John Peter Campora III and Sheng Chen}, +title = {Learning User Friendly Type-Error Messages}, +year = {2017}, +publisher = ACM:pub, +address = ACM:addr, +volume = {1}, +number = {OOPSLA}, +journal = PACM, +month = oct, +articleno = {106}, +numpages = {29}, +doi = {10.1145/3133930}, +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Wu-Chen-ACMPL-2017.pdf +@article{wu-chen-ACM-PL-2017, +author = {Wu, Baijun and Chen, Sheng}, +title = {How Type Errors Were Fixed and What Students Did?}, +year = {2017}, +issue_date = {October 2017}, +publisher = acm:pub, +address = acm:addr, +volume = {1}, number = {OOPSLA}, +journal = PACM, +month = oct, articleno = {105}, +numpages = {27}, +doi = {10.1145/3133929}, +} + +@article{alphard:76, +author = {William A. Wulf and Ralph L. London and Mary Shaw}, +title = {An Introduction to the Construction and Verification of {Alphard} Programs}, +journal = {{IEEE} Transactions on Software Engineering}, +volume = {SE-2}, +number = 4, +month = dec, +year = 1976, +pages = {253--265}, +doi = {10.1109/TSE.1976.233830} +} + +%%%%%%%%% +%% %% +%% XXX %% +%% %% +%%%%%%%%% + + +%%%%%%%%% +%% %% +%% YYY %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-SFP-1999.pdf +@inproceedings{yang:explaining:1999, +author = {Jun Yang}, +title = {Explaining Type Errors by Finding the Sources of Type Conflicts}, +booktitle = {Proceedings of 1st Scottish Functional Programming Workshop}, +editor = {P. Trinder and G. Michaelson}, +publisher = {Dept of Computing and Electrical Engineering, + Heriot-Watt University}, +address = {Edinburgh, UK}, +month = aug, +year = {1999}, +pages = {387--401} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-TC-1999.pdf +@inproceedings{yang:explaining:1999, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {Explaining Polymorphic Types Through Visualization}, +booktitle = {Proceedings of 7th Annual Conference on the Teaching of Computing}, +editor = {S. Alexander and U. O'Reilly}, +publisher = {CIT Computing, University of Ulster}, +address = {Jordanstown, UK}, +month = aug, +year = {1999}, +pages = {73--77} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-visualisation-JFP-2000.pdf +@article{yang-michaelson:JFP:2000, +title = {A visualization of polymorphic type checking}, +author = {Jun Yang and Greg Michaelson}, +journal = JFP, +publisher = CUP:pub, address = CUP:addr, +volume = {10}, +number = {1}, +month = jan, +year = {2000}, +pages = {57--75} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-Wells-2000.pdf +@inproceedings{yang-etal:type-error:2000, +author = {Jun Yang and Greg Michaelson and Phil Trinder and J. B. Wells}, +title = {Improved Type Error Reporting}, +booktitle = {Proceedings of 12th International Workshop on Implementation + of Functional Languages}, +year = {2000}, +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-Edinburgh-2000.pdf +@inproceedings{yang-michaelson-trinder:2000, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {Helping Students Understand Polymorphic Type Errors}, +booktitle = {8th Annual Conference on the Teaching of Computing}, +location = {Edinburgh, UK}, +month = jun, +year = {2000} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-PPIG-2000.pdf +@inproceedings{yang:check-polytypes:2000, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {How do people check polymorphic types?}, +booktitle = {Proceedings of the 12th Workshop on Psychology of Progamming}, +editor = {A. F. Blackwell and E. Bilotta}, +year = {2000}, +pages = {67--80} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-PPIG-2001.pdf +@inproceedings{yang:human-type:2001, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {Human and ``human-like'' type explanations}, +booktitle = {Proceedings of the 13th Workshop on Psychology of Progamming}, +location = {Bournmouth, UK}, +month = apr, +year = {2001}, +pages = {163--172} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-ITSN-2001.pdf +@inproceedings{yang:human-type:2001, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {How human-like are ``human-like'' type error explanations?}, +booktitle = {Proceedings of the 2nd Annual LTSN-ICS Conference}, +location = {London, UK}, +month = apr, +year = {2001}, +numpages = {4} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-phdthesis-2001.pdf +@phdthesis{yang:phd:2001, +author = {Jun Yang}, +title = {Improving Polymorphic Type Explanations}, +school = {Heriot-Watt University}, +month = may, +year = {2001}, +note = {Advisors: Greg Michaelson and Phil Trinder} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Yang-Michaelson-Trinder-CJ-2002.pdf +@article{yang-michaelson-trinder:2002, +author = {Jun Yang and Greg Michaelson and Phil Trinder}, +title = {Explaining polymorphic types}, +journal = {Computer Journal}, +volume = {45}, +number = {4}, +month = aug, +year = {2002}, +pages = {436--452} +} + +% NOT REFERENCED +% not available in archive +@phdthesis{yelles:phd:1979, +author = {C. B. Yelles}, +title = {Type Assignment in the Lambda-Calculus: Syntax and Semantics}, +school = {University of Wales}, +year = {1979} +} + +%%%%%%%%% +%% %% +%% ZZZ %% +%% %% +%%%%%%%%% + +% NOT REFERENCED +@article{zemanek:semitoics:1966, +author = {Heinz Zemanek}, +title = {Semiotics and programming languages}, +booktitle = CACM, +volume = 9, +number = 3, +month = mar, +year = 1966, +pages = {139--143}, +note = {First published as an IBM Technical Report, August 1965.} +} + +% $DESIGN/types/type\ errors/Zhang-Myers-POPL-2014.pdf +@inproceedings{zhang-myers:POPL:2014, +author = {Danfeng Zhang and Andrew C. Myers}, +title = {Towards general diagnosis of static errors}, +booktitle = POPL41, +month = POPL41:month, +year = POPL41:year, +publisher = ACM:pub, +address = ACM:addr, +pages = {569--581}, +doi = {10.1145/2535838.2535870} +} + +% NOT REFERENCED +% $DESIGN/types/type\ errors/Zhang-Peyton-Jones-type-errors-PLDI-2015.pdf +@inproceedings{zhang-etal:type-errors:2015, +author = {Danfeng Zhang and Andrew C. Myers and Dimitrios Vytiniotis and Simon Peyton-Jones}, +title = {Diagnosing type errors with class}, +booktitle = PLDI15, +month = PLDI15:month, +year = {2015}, +publisher = ACM:pub, +address = ACM:addr, +pages = {12--21} +} + +% NOT REFERENCED +@unpublished{ziarek-macqueen, +author = {Lukasz Ziarek and David MacQueen}, +title = {An Implementation of Existential Types in the SML/NJ Compiler}, +year = 2003, +numpages = 4, +note = {partial draft of a paper of uncertain date} +} + + +%%%%%%%%%%%%%%%%%%%%%% +%% %% +%% ONLINE RESOURCES %% +%% %% +%%%%%%%%%%%%%%%%%%%%%% + +@online{alice-web-site, +key = {Alice}, +title = {Alice}, +organization = {Universit{\"{a}}t des Saarlandes}, +address = {Saarb{\"{u}}cken, Germany}, +url = {http://www.ps.uni-saarland.de/alice/}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200201104850/http://www.ps.uni-saarland.de/alice/}, +archiveddate = {2020-02-01T10:48:50}, +year = 2014, month = jul +} + +@online{hol-web-site, +key = {HOL}, +title = {{HOL}: Interactive Theorem Prover}, +organization = {HOL}, +url = {https://hol-theorem-prover.org}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190925051532/https://hol-theorem-prover.org/}, +archiveddate = {2019-09-25T05:15:32}, +year = 2019, month = aug +} + +@online{isabelle-web-site, +key = {Isabelle}, +title = {Isabelle}, +organization = {The University of Cambridge}, +url = {https://www.cl.cam.ac.uk/research/hvg/Isabelle/index.html}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190927025407/https://www.cl.cam.ac.uk/research/hvg/Isabelle/index.html}, +archiveddate = {2019-09-27T02:54:07}, +year = 2019, month = jun +} + +@online{mlkit:website, +key = {MLKit}, +title = {Try {MLKit}! {The} {Standard} {ML} {Compiler} and {Toolkit}}, +organization = {University of Copenhagen}, +url = {http://elsman.com/mlkit}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20181128041300/http://elsman.com/mlkit/}, +archiveddate = {2018-11-28T04:13:00}, +year = 2019, month = jul +} + +@online{mlton-web-site, +key = {MLton}, +title = {{MLton}}, +organization = {MLton}, +url = {http://mlton.org}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200201103035/http://www.mlton.org/}, +archiveddate = {2020-02-01T10:30:35}, +year = 2020, month = jan +} + +@online{mlton-history, +key = {MLton-history}, +organization = {MLton}, +title = {{MLton} History}, +url = {http://mlton.org/History}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20180212200726/http://mlton.org/History}, +archiveddate = {2018-02-12T20:07:26}, +year = 2014, month = jan +} + +@online{moscow-ml-web-site, +key = {Moscow-ML}, +title = {{Moscow} {ML}}, +organization = {Moscaow ML}, +url = {https://mosml.org}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190514124005/https://mosml.org/}, +archiveddate = {2019-05-14T12:40:05}, +year = 2014, month = aug +} + +@online{ocaml-history, +key = {OCaml-history}, +title = {A History of OCaml}, +organization = {INRIA}, +url = {https://ocaml.org/learn/history.html}, +year = 2019, +note = {Accessed 2019:11:06}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200118031918/https://ocaml.org/learn/history.html}, +archiveddate = {2020-01-18T03:19:18}, +} + +@online{poplog-web-site, +key = {POPLOG-SML}, +organization = {School of Computer Science, The University of Birmingham}, +title = {Information about {Poplog} and {Pop-11}}, +url = {https://www.cs.bham.ac.uk/research/projects/poplog/poplog.info.html}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200201105451/https://www.cs.bham.ac.uk/research/projects/poplog/poplog.info.html}, +archiveddate = {2020-02-01T10:54:51}, +year = 2019, month = dec +} + +% NOT REFERENCED +@online{smlnj-web-site, +key = {SML-NJ}, +organization = {Department of Computer Science, University of Chicago}, +title = {Standard ML of New Jersey}, +url = {https://smlnj.org}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200201103035/http://www.smlnj.org/}, +archiveddate = {2020-02-01T10:30:35}, +year = 2019, month = dec +} + +% NOT REFERENCED +@online{twelf, +key = {Twelf}, +organization = {The Twelf Project}, +title = {Welcome to The Twelf Project}, +url = {http://twelf.org/wiki/Main_Page}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20190823004246/http://twelf.org/wiki/Main_Page}, +archiveddate = {2019-08-23T00:42:46}, +year = 2009, month = feb +} + +@unpublished{proposal-for-std-basis, +title = "Toward a standard {Standard} {ML}", +author = "Unknown", +year = 1991, +url = {http://sml-family.org/history/std-charter.pdf}, +archivedrepository = {Internet Archive}, +archivedurl = {https://web.archive.org/web/20200313003228/http://sml-family.org/history/std-charter.pdf}, +archiveddate = {2020-03-13T00:32:28}, +note = {This document was written by someone in the Standard ML of New Jersey + group; it was likely David MacQueen} +} + +% NOT REFERENCED +% SML-history/ML\ Variants/CAML/First-class modules, Generic programming and GADTs.webarchive +@online{yallop-oleg, +author = {Jeremy Yallop and Oleg at {okmij.org}}, +title = {First-class modules: hidden power and tantalizing promises}, +url = {http://okmij.org/ftp/ML/first-class-modules/}, +}