<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 8.6.8">
<title>References</title>
<link rel="stylesheet" href="./asciidoc.css" type="text/css">
<link rel="stylesheet" href="./pygments.css" type="text/css">


<script type="text/javascript" src="./asciidoc.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
asciidoc.install();
/*]]>*/
</script>
<link rel="stylesheet" href="./mlton.css" type="text/css"/>
</head>
<body class="article">
<div id="banner">
<div id="banner-home">
<a href="./Home">MLton 20130715</a>
</div>
</div>
<div id="header">
<h1>References</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p><a href="References#AAA">A</a>
<a href="References#BBB">B</a>
<a href="References#CCC">C</a>
<a href="References#DDD">D</a>
<a href="References#EEE">E</a>
<a href="References#FFF">F</a>
<a href="References#GGG">G</a>
<a href="References#HHH">H</a>
<a href="References#III">I</a>
<a href="References#JJJ">J</a>
<a href="References#KKK">K</a>
<a href="References#LLL">L</a>
<a href="References#MMM">M</a>
<a href="References#NNN">N</a>
<a href="References#OOO">O</a>
<a href="References#PPP">P</a>
<a href="References#QQQ">Q</a>
<a href="References#RRR">R</a>
<a href="References#SSS">S</a>
<a href="References#TTT">T</a>
<a href="References#UUU">U</a>
<a href="References#VVV">V</a>
<a href="References#WWW">W</a>
<a href="References#XXX">X</a>
<a href="References#YYY">Y</a>
<a href="References#ZZZ">Z</a></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_aaa_a_a"><a id="AAA"></a>A</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="AcarEtAl06"></a>
 <a href="http://ttic.uchicago.edu/%7Eumut/papers/pldi06.html">An Experimental Analysis of Self-Adjusting Computation</a>
 Umut Acar, Guy Blelloch, Matthias Blume, and Kanat Tangwongsan.
 <a href="References#PLDI">PLDI</a> 2006.
</p>
</li>
<li>
<p>
<a id="Appel92"></a>
 <a href="http://us.cambridge.org/titles/catalogue.asp?isbn=0521416957">Compiling with Continuations</a>
 (<a href="http://www.addall.com/New/submitNew.cgi?query=0-521-41695-7&amp;type=ISBN&amp;location=10000&amp;state=&amp;dispCurr=USD">addall</a>).
 ISBN 0521416957.
 Andrew W. Appel.
 Cambridge University Press, 1992.
</p>
</li>
<li>
<p>
<a id="Appel93"></a>
 <a href="http://citeseer.ist.psu.edu/appel92critique.html">A Critique of Standard ML</a>.
 Andrew W. Appel.
 <a href="References#JFP">JFP</a> 1993.
</p>
</li>
<li>
<p>
<a id="Appel98"></a>
 <a href="http://us.cambridge.org/titles/catalogue.asp?isbn=0521582741">Modern Compiler Implementation in ML</a>
 (<a href="http://www.addall.com/New/submitNew.cgi?query=0-521-58274-1&amp;type=ISBN&amp;location=10000&amp;state=&amp;dispCurr=USD">addall</a>).
 ISBN 0521582741
 Andrew W. Appel.
 Cambridge University Press, 1998.
</p>
</li>
<li>
<p>
<a id="AppelJim97"></a>
 Shrinking Lambda Expressions in Linear Time.
 Andrew Appel and Trevor Jim.
 <a href="References#JFP">JFP</a> 1997.
</p>
</li>
<li>
<p>
<a id="AppelEtAl94"></a>
 <a href="http://www.smlnj.org/doc/ML-Lex/manual.html">A lexical analyzer generator for Standard ML. Version 1.6.0</a>
 Andrew W. Appel, James S. Mattson, and David R. Tarditi.  1994
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_bbb_a_b"><a id="BBB"></a>B</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="BaudinetMacQueen85"></a>
 <a href="http://citeseer.ist.psu.edu/baudinet85tree.html">Tree Pattern Matching for ML</a>.
 Marianne Baudinet, David MacQueen.  1985.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes the match compiler used in an early version of
<a href="SMLNJ">SML/NJ</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="BentonEtAl98"></a>
 <a href="http://citeseer.ist.psu.edu/benton98compiling.html">Compiling Standard ML to Java Bytecodes</a>.
 Nick Benton, Andrew Kennedy, and George Russell.
 <a href="References#ICFP">ICFP</a> 1998.
</p>
</li>
<li>
<p>
<a id="BentonKennedy99"></a>
 <a href="http://citeseer.ist.psu.edu/benton99interlanguage.html">Interlanguage Working Without Tears: Blending SML with Java</a>.
 Nick Benton and Andrew Kennedy.
 <a href="References#ICFP">ICFP</a> 1999.
</p>
</li>
<li>
<p>
<a id="BentonKennedy01"></a>
 <a href="http://citeseer.ist.psu.edu/388363.html">Exceptional Syntax</a>.
 Nick Benton and Andrew Kennedy.
 <a href="References#JFP">JFP</a> 2001.
</p>
</li>
<li>
<p>
<a id="BentonEtAl04"></a>
 <a href="http://www.research.microsoft.com/%7Enick/p53-Benton.pdf">Adventures in Interoperability: The SML.NET Experience</a>.
 Nick Benton, Andrew Kennedy, and Claudio Russo.
 <a href="References#PPDP">PPDP</a> 2004.
</p>
</li>
<li>
<p>
<a id="BentonEtAl04_2"></a>
 <a href="http://research.microsoft.com/%7Eakenn/sml/ShrinkingReductionsInSMLNet.pdf">Shrinking Reductions in SML.NET</a>.
 Nick Benton, Andrew Kennedy, Sam Lindley and Claudio Russo.
 <a href="References#IFL">IFL</a> 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a linear-time implementation of an
<a href="References#AppelJim97">Appel-Jim shrinker</a>, using a mutable IL, and shows
that it yields nice speedups in SML.NET&#8217;s compile times.  There are
also benchmarks showing that SML.NET when compiled by MLton runs
roughly five times faster than when compiled by SML/NJ.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Benton05"></a>
 <a href="http://research.microsoft.com/%7Enick/benton03.pdf">Embedded Interpreters</a>.
 Nick Benton.
 <a href="References#JFP">JFP</a> 2005.
</p>
</li>
<li>
<p>
<a id="Berry91"></a>
 <a href="http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-148/index.html">The Edinburgh SML Library</a>.
 Dave Berry.
 University of Edinburgh Technical Report ECS-LFCS-91-148, 1991.
</p>
</li>
<li>
<p>
<a id="BerryEtAl93"></a>
 <a href="http://portal.acm.org/citation.cfm?id=143191">A semantics for ML concurrency primitives</a>.
 Dave Berry, Robin Milner, and David N. Turner.
 <a href="References#POPL">POPL</a> 1992.
</p>
</li>
<li>
<p>
<a id="Berry93"></a>
 Lessons From the Design of a Standard ML Library.
 Dave Berry.
 <a href="References#JFP">JFP</a> 1993.
</p>
</li>
<li>
<p>
<a id="Bertelsen98"></a>
 <a href="http://citeseer.ist.psu.edu/bertelsen98compiling.html">Compiling SML to Java Bytecode</a>.
 Peter Bertelsen.
 Master&#8217;s Thesis, 1998.
</p>
</li>
<li>
<p>
<a id="Berthomieu00"></a>
 <a href="http://www.laas.fr/%7Ebernard/oo/ooml.html">OO Programming styles in ML</a>.
 Bernard Berthomieu.
 LAAS Report #2000111, 2000.
</p>
</li>
<li>
<p>
<a id="Blume01"></a>
 <a href="http://citeseer.ist.psu.edu/blume01nolongerforeign.html">No-Longer-Foreign: Teaching an ML compiler to speak C "natively"</a>.
 Matthias Blume.
 <a href="References#BABEL">BABEL</a> 2001.
</p>
</li>
<li>
<p>
<a id="Blume01_02"></a>
 <a href="http://ttic.uchicago.edu/%7Eblume/pgraph/proposal.pdf">Portable library descriptions for Standard ML</a>.
 Matthias Blume.  2001.
</p>
</li>
<li>
<p>
<a id="Boehm03"></a>
 <a href="http://citeseer.ist.psu.edu/640926.html">Destructors, Finalizers, and Synchronization</a>.
 Hans Boehm.
 <a href="References#POPL">POPL</a> 2003.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Discusses a number of issues in the design of finalizers.  Many of the
design choices are consistent with <a href="MLtonFinalizable">MLtonFinalizable</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ccc_a_c"><a id="CCC"></a>C</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="CejtinEtAl00"></a>
 <a href="References.attachments/CejtinEtAl00.pdf">Flow-directed Closure Conversion for Typed Languages</a>.
 Henry Cejtin, Suresh Jagannathan, and Stephen Weeks.
 <a href="References#ESOP">ESOP</a> 2000.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes MLton&#8217;s closure-conversion algorithm, which translates from
its simply-typed higher-order intermediate language to its
simply-typed first-order intermediate language.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="ChengBlelloch01"></a>
 <a href="http://citeseer.ist.psu.edu/493194.html">A Parallel, Real-Time Garbage Collector</a>.
 Perry Cheng and Guy E. Blelloch.
 <a href="References#PLDI">PLDI</a> 2001.
</p>
</li>
<li>
<p>
<a id="Claessen00"></a>
 <a href="http://www.md.chalmers.se/%7Ekoen/Papers/quick.ps">QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs</a>.
 Koen Claessen and John Hughes.
 <a href="References#ICFP">ICFP</a> 2000.
</p>
</li>
<li>
<p>
<a id="Clinger98"></a>
 <a href="http://citeseer.ist.psu.edu/clinger98proper.html">Proper Tail Recursion and Space Efficiency</a>.
 William D. Clinger.
 <a href="References#PLDI">PLDI</a> 1998.
</p>
</li>
<li>
<p>
<a id="CooperMorrisett90"></a>
 <a href="http://citeseer.ist.psu.edu/cooper90adding.html">Adding Threads to Standard ML</a>.
 Eric C. Cooper and J. Gregory Morrisett.
 CMU Technical Report CMU-CS-90-186, 1990.
</p>
</li>
<li>
<p>
<a id="CouttsEtAl07"></a>
 <a href="http://www.cse.unsw.edu.au/%7Edons/papers/CLS07.html">Stream Fusion: From Lists to Streams to Nothing at All</a>.
 Duncan Coutts, Roman Leshchinskiy, and Don Stewart.
 Submitted for publication.  April 2007.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ddd_a_d"><a id="DDD"></a>D</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="DamasMilner82"></a>
 <a href="http://portal.acm.org/citation.cfm?id=582176">Principal Type-Schemes for Functional Programs</a>.
 Luis Damas and Robin Milner.
 <a href="References#POPL">POPL</a> 1982.
</p>
</li>
<li>
<p>
<a id="Danvy98"></a>
 <a href="http://citeseer.ist.psu.edu/danvy98functional.html">Functional Unparsing</a>.
 Olivier Danvy.
 BRICS Technical Report RS 98-12, 1998.
</p>
</li>
<li>
<p>
<a id="Deboer05"></a>
 <a href="http://www.cis.ksu.edu/%7Estough/eXene/dusty-thesis.pdf">Exhancements to eXene</a>.
 Dustin B. Deboer.
 Master of Science Thesis, 2005.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes ways to improve widget concurrency, handling of input focus,
X resources and selections.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="DoligezLeroy93"></a>
 <a href="http://citeseer.ist.psu.edu/doligez93concurrent.html">A Concurrent, Generational Garbage Collector for a Multithreaded Implementation of ML</a>.
 Damien Doligez and Xavier Leroy.
 <a href="References#POPL">POPL</a> 1993.
</p>
</li>
<li>
<p>
<a id="Dreyer07"></a>
 <a href="http://ttic.uchicago.edu/%7Edreyer/papers/mtc/main-long.pdf">Modular Type Classes</a>.
 Derek Dreyer, Robert Harper, Manuel M.T. Chakravarty.
 University of Chicago Technical Report TR-2007-02, 2006.
</p>
</li>
<li>
<p>
<a id="DreyerBlume07"></a>
 <a href="http://ttic.uchicago.edu/%7Edreyer/papers/infmod/main-short.pdf">Principal Type Schemes for Modular Programs</a>.
 Derek Dreyer and Matthias Blume.
 <a href="References#ESOP">ESOP</a> 2007.
</p>
</li>
<li>
<p>
<a id="Dubois95"></a>
 <a href="ftp://ftp.inria.fr/INRIA/Projects/cristal/Francois.Rouaix/generics.dvi.Z">Extensional Polymorphism</a>.
 Catherin Dubois, Francois Rouaix, and Pierre Weis.
 <a href="References#POPL">POPL</a> 1995.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>An extension of ML that allows the definition of ad-hoc polymorphic
functions by inspecting the type of their argument.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_eee_a_e"><a id="EEE"></a>E</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Elsman03"></a>
 <a href="http://www.it-c.dk/research/mlkit/papers.html">Garbage Collection Safety for Region-based Memory Management</a>.
 Martin Elsman.
 <a href="References#TLDI">TLDI</a> 2003.
</p>
</li>
<li>
<p>
<a id="Elsman04"></a>
 <a href="http://www.itu.dk/people/mael/papers.html">Type-Specialized Serialization with Sharing</a>
 Martin Elsman.  University of Copenhagen. IT University Technical
 Report TR-2004-43, 2004.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_fff_a_f"><a id="FFF"></a>F</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="FelleisenFreidman98"></a>
 <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=4787">The Little MLer</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=026256114X&amp;type=ISBN">addall</a>).
 ISBN 026256114X.
 Matthias Felleisen and Dan Freidman.
 The MIT Press, 1998.
</p>
</li>
<li>
<p>
<a id="FlattFindler04"></a>
 <a href="http://www.cs.utah.edu/plt/kill-safe/">Kill-Safe Synchronization Abstractions</a>.
 Matthew Flatt and Robert Bruce Findler.
 <a href="References#PLDI">PLDI</a> 2004.
</p>
</li>
<li>
<p>
<a id="FluetWeeks01"></a>
 <a href="References.attachments/FluetWeeks01.pdf">Contification Using Dominators</a>.
 Matthew Fluet and Stephen Weeks.
 <a href="References#ICFP">ICFP</a> 2001.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes contification, a generalization of tail-recursion
elimination that is an optimization operating on MLton&#8217;s static single
assignment (SSA) intermediate language.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="FluetPucella02"></a>
 <a href="http://arxiv.org/abs/cs.PL/0403034">Phantom Types and Subtyping</a>.
 Matthew Fluet and Riccardo Pucella.
 <a href="References#TCS">TCS</a> 2002.
</p>
</li>
<li>
<p>
<a id="Furuse01"></a>
 <a href="http://pauillac.inria.fr/%7Efuruse/publications/jfla2001.ps.gz">Generic Polymorphism in ML</a>.
 J. Furuse.
 <a href="References#JFLA">JFLA</a> 2001.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>The formalism behind G&#8217;CAML, which has an approach to ad-hoc
polymorphism based on <a href="References#Dubois95">Dubois95</a>, the differences being in how
type checking works an an improved compilation approach for typecase
that does the matching at compile time, not run time.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ggg_a_g"><a id="GGG"></a>G</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="GansnerReppy93"></a>
 <a href="http://citeseer.ist.psu.edu/gansner93multithreaded.html">A Multi-Threaded Higher-order User Interface Toolkit</a>.
 Emden R. Gansner and John H. Reppy.
 User Interface Software, 1993.
</p>
</li>
<li>
<p>
<a id="GansnerReppy04"></a>
 <a href="http://titles.cambridge.org/catalogue.asp?isbn=0521794781">The Standard ML Basis Library</a>.
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0521794781&amp;type=ISBN">addall</a>)
 ISBN 0521794781.
 Emden R. Gansner and John H. Reppy.
 Cambridge University Press, 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>An introduction and overview of the <a href="BasisLibrary">Basis Library</a>,
followed by a detailed description of each module.  The module
descriptions are also available
<a href="http://www.standardml.org/Basis">online</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="GrossmanEtAl02"></a>
 <a href="http://www.eecs.harvard.edu/%7Egreg/cyclone/">Region-based Memory Management in Cyclone</a>.
 Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling
 Wang, and James Cheney.
 <a href="References#PLDI">PLDI</a> 2002.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_hhh_a_h"><a id="HHH"></a>H</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="HallenbergEtAl02"></a>
 <a href="http://www.it-c.dk/research/mlkit/papers.html">Combining Region Inference and Garbage Collection</a>.
 Niels Hallenberg, Martin Elsman, and Mads Tofte.
 <a href="References#PLDI">PLDI</a> 2002.
</p>
</li>
<li>
<p>
<a id="HansenRichel99"></a>
 <a href="http://www.it.dtu.dk/introSML">Introduction to Programming Using SML</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0201398206&amp;type=ISBN">addall</a>).
 ISBN 0201398206.
 Michael R. Hansen, Hans Rischel.
 Addison-Wesley, 1999.
</p>
</li>
<li>
<p>
<a id="HarperEtAl93"></a>
 <a href="http://citeseer.comp.nus.edu.sg/11210.html">Typing First-Class Continuations in ML</a>.
 Robert Harper, Bruce F. Duba, and David MacQueen.
 <a href="References#JFP">JFP</a> 1993.
</p>
</li>
<li>
<p>
<a id="HarperMitchell92"></a>
 <a href="http://citeseer.ist.psu.edu/harper92type.html">On the Type Structure of Standard ML</a>.
 Robert Harper and John C. Mitchell.
 <a href="References#TOPLAS">TOPLAS</a> 1992.
</p>
</li>
<li>
<p>
<a id="HauserBenson04"></a>
 <a href="http://doi.ieeecomputersociety.org/10.1109/CSD.2004.1309122">On the Practicality and Desirability of Highly-concurrent, Mostly-functional Programming</a>.
 Carl H. Hauser and David B. Benson.
 <a href="References#ACSD">ACSD</a> 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes the use of <a href="ConcurrentML"> Concurrent ML</a> in implementing
the Ped text editor.  Argues that using large numbers of threads and
message passing style are is a practical and effective ways of
modularizing a program.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="HeckmanWilhelm97"></a>
 <a href="http://rw4.cs.uni-sb.de/%7Eheckmann/abstracts/neuform.html">A Functional Description of TeX&#8217;s Formula Layout</a>.
 Reinhold Heckmann and Reinhard Wilhelm.
 <a href="References#JFP">JFP</a> 1997.
</p>
</li>
<li>
<p>
<a id="HicksEtAl03"></a>
 <a href="http://www.eecs.harvard.edu/%7Egreg/cyclone/">Safe and Flexible Memory Management in Cyclone</a>.
 Mike Hicks, Greg Morrisett, Dan Grossman, and Trevor Jim.
 University of Maryland Technical Report CS-TR-4514, 2003.
</p>
</li>
<li>
<p>
<a id="Hurd04"></a>
 <a href="http://www.cl.cam.ac.uk/%7Ejeh1004/research/papers/fasthol.pdf">Compiling HOL4 to Native Code</a>.
 Joe Hurd.
 <a href="References#TPHOLs">TPHOLs</a> 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a port of HOL from Moscow ML to MLton, the difficulties
encountered in compiling large programs, and the speedups achieved
(roughly 10x).</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_iii_a_i"><a id="III"></a>I</h2>
<div class="sectionbody">
<div class="paragraph"><p></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_jjj_a_j"><a id="JJJ"></a>J</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Jones99"></a>
 <a href="http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html">Garbage Collection: Algorithms for Automatic Memory Management</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0471941484&amp;type=ISBN">addall</a>).
 ISBN 0471941484.
 Richard Jones.
 John Wiley &amp; Sons, 1999.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_kkk_a_k"><a id="KKK"></a>K</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Kahrs93"></a>
 <a href="http://www.cs.kent.ac.uk/pubs/1993/569/index.html">Mistakes and Ambiguities in the Definition of Standard ML</a>.
 Stefan Kahrs.
 University of Edinburgh Technical Report ECS-LFCS-93-257, 1993.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a number of problems with the
<a href="References#MilnerEtAl90">1990 Definition</a>, many of which were fixed in the
<a href="References#MilnerEtAl97">1997 Definition</a>.</p></div>
<div class="paragraph"><p>Also see the <a href="http://www.cs.kent.ac.uk/%7Esmk/errors-new.ps.Z">addenda</a>
published in 1996.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Karvonen07"></a>
 <a href="http://dl.acm.org/citation.cfm?doid=1292535.1292547">Generics for the Working ML&#8217;er</a>.
 Vesa Karvonen.
 <a href="References#ML">ML</a> 2007.
</p>
</li>
<li>
<p>
<a id="Kennedy04"></a>
 <a href="http://research.microsoft.com/%7Eakenn/fun/picklercombinators.pdf">Pickler Combinators</a>.
 Andrew Kennedy.
 <a href="References#JFP">JFP</a> 2004.
</p>
</li>
<li>
<p>
<a id="KoserEtAl03"></a>
 <a href="http://www.cs.princeton.edu/%7Ehlarsen/work/dpcool-paper.pdf">sml2java: A Source To Source Translator</a>.
 Justin Koser, Haakon Larsen, Jeffrey A. Vaughan.
 <a href="References#DPCOOL">DPCOOL</a> 2003.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_lll_a_l"><a id="LLL"></a>L</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Lang99"></a>
 <a href="http://citeseer.nj.nec.com/lang99faster.html">Faster Algorithms for Finding Minimal Consistent DFAs</a>.
 Kevin Lang. 1999.
</p>
</li>
<li>
<p>
<a id="LarsenNiss04"></a>
 <a href="http://www.it-c.dk/%7Ehniss/publications/freenix2004.pdf">mGTK: An SML binding of Gtk+</a>.
 Ken Larsen and Henning Niss.
 USENIX Annual Technical Conference, 2004.
</p>
</li>
<li>
<p>
<a id="Leroy90"></a>
 <a href="http://citeseer.ist.psu.edu/leroy90zinc.html">The ZINC Experiment: an Economical Implementation of the ML Language</a>.
 Xavier Leroy.
 Technical report 117, INRIA, 1990.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>A detailed explanation of the design and implementation of a bytecode
compiler and interpreter for ML with a machine model aimed at
efficient implementation.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Leroy93"></a>
 <a href="http://pauillac.inria.fr/%7Exleroy/leroy.html">Polymorphism by Name for References and Continuations</a>.
 Xavier Leroy.
 <a href="References#POPL">POPL</a> 1993.
</p>
</li>
<li>
<p>
<a id="LeungGeorge98"></a>
 <a href="http://citeseer.ist.psu.edu/637416.html">MLRISC Annotations</a>.
 Allen Leung and Lal George. 1998.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_mmm_a_m"><a id="MMM"></a>M</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="MarlowEtAl01"></a>
 <a href="http://www.haskell.org/%7Esimonmar/papers/async.ps.gz">Asynchronous Exceptions in Haskell</a>.
 Simon Marlow, Simon Peyton Jones, Andy Moran and John Reppy.
 <a href="References#PLDI">PLDI</a> 2001.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>An asynchronous exception is a signal that one thread can send to
another, and is useful for the receiving thread to treat as an
exception so that it can clean up locks or other state relevant to its
current context.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="MacQueenEtAl84"></a>
 <a href="http://portal.acm.org/citation.cfm?id=800017.800528">An Ideal Model for Recursive Polymorphic Types</a>.
 David MacQueen, Gordon Plotkin, Ravi Sethi.
 <a href="References#POPL">POPL</a> 1984.
</p>
</li>
<li>
<p>
<a id="Matthews91"></a>
 <a href="http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-174/index.html">A Distributed Concurrent Implementation of Standard ML</a>.
 David Matthews.
 University of Edinburgh Technical Report ECS-LFCS-91-174, 1991.
</p>
</li>
<li>
<p>
<a id="Matthews95"></a>
 <a href="http://www.lfcs.inf.ed.ac.uk/reports/95/ECS-LFCS-95-335/">Papers on Poly/ML</a>.
 David C. J. Matthews.
 University of Edinburgh Technical Report ECS-LFCS-95-335, 1995.
</p>
</li>
<li>
<p>
<a href="http://www.lfcs.inf.ed.ac.uk/reports/97/ECS-LFCS-97-375/">That About Wraps it Up: Using FIX to Handle Errors Without Exceptions, and Other Programming Tricks</a>.
 Bruce J. McAdam.
 University of Edinburgh Technical Report ECS-LFCS-97-375, 1997.
</p>
</li>
<li>
<p>
<a id="MeierNorgaard93"></a>
 <a href="http://www.itu.dk/stud/speciale/bmkn/">A Just-In-Time Backend for Moscow ML 2.00 in SML</a>.
 Bjarke Meier, Kristian Nørgaard.
 Masters Thesis, 2003.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>A just-in-time compiler using GNU Lightning, showing a speedup of up
to four times over Moscow ML&#8217;s usual bytecode interpreter.</p></div>
<div class="paragraph"><p>The full report is only available in Danish.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Milner78"></a>
 A Theory of Type Polymorphism in Programming.
 Robin Milner.
 Journal of Computer and System Sciences, 1978.
</p>
</li>
<li>
<p>
<a id="Milner82"></a>
 <a href="http://www.dcs.ed.ac.uk/home/stg/tutorial/papers/evolved.pdf">How ML Evolved</a>.
 Robin Milner.
 Polymorphism&#8212;The ML/LCF/Hope Newsletter, 1983.
</p>
</li>
<li>
<p>
<a id="MilnerTofte90"></a>
 <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=8988">Commentary on Standard ML</a> (<a href="http://www.itu.dk/people/tofte/publ/1991commentaryBody.pdf">online pdf</a>).
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0262631327&amp;type=ISBN">addall</a>)
 ISBN 0262631327.
 Robin Milner and Mads Tofte.
 The MIT Press, 1990.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Introduces and explains the notation and approach used in
<a href="References#MilnerEtAl90">The Definition of Standard ML</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="MilnerEtAl90"></a>
 <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=7945">The Definition of Standard ML</a>.
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0262631326&amp;type=ISBN">addall</a>)
 ISBN 0262631326.
 Robin Milner, Mads Tofte, and Robert Harper.
 The MIT Press, 1990.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Superseded by <a href="References#MilnerEtAl97">The Definition of Standard ML (Revised)</a>.
Accompanied by the <a href="References#MilnerTofte90">Commentary on Standard ML</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="MilnerEtAl97"></a>
 <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=3874">The Definition of Standard ML (Revised)</a>.
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0262631814&amp;type=ISBN">addall</a>)
 ISBN 0262631814.
 Robin Milner, Mads Tofte, Robert Harper, and David MacQueen.
 The MIT Press, 1997.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>A terse and formal specification of Standard ML&#8217;s syntax and
semantics.  Supersedes <a href="References#MilnerEtAl90">The Definition of Standard ML</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="ML2000"></a>
 <a href="http://www.cs.cmu.edu/%7Erwh/papers/ml2000/ml2000.pdf">Principles and a Preliminary Design for ML2000</a>.
 The ML2000 working group, 1999.
</p>
</li>
<li>
<p>
<a id="Morentsen99"></a>
 <a href="http://www.daimi.au.dk/CPnets/workshop99/papers/Mortensen.ps.gz">Automatic Code Generation from Coloured Petri Nets for an Access Control System</a>.
 Kjeld H. Mortensen.
 Workshop on Practical Use of Coloured Petri Nets and Design/CPN, 1999.
</p>
</li>
<li>
<p>
<a id="MorrisettTolmach93"></a>
 <a href="http://portal.acm.org/affiliated/citation.cfm?id=155353">Procs and Locks: a Portable Multiprocessing Platform for Standard ML of New Jersey</a>.
 J. Gregory Morrisett and Andrew Tolmach.
 <a href="References#PPoPP">PPoPP</a> 1993.
</p>
</li>
<li>
<p>
<a id="Murphy06"></a>
 <a href="http://www.cs.cmu.edu/%7Etom7/papers/grid-ml06.pdf">ML Grid Programming with ConCert</a>.
 Tom Murphy VII.
 <a href="References#ML">ML</a> 2006.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_nnn_a_n"><a id="NNN"></a>N</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Neumann99"></a>
 <a href="http://citeseer.ist.psu.edu/412760.html">fxp - Processing Structured Documents in SML</a>.
 Andreas Neumann.
 Scottish Functional Programming Workshop, 1999.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes <a href="http://atseidl2.informatik.tu-muenchen.de/%7Eberlea/Fxp/">fxp</a>,
an XML parser implemented in Standard ML.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Neumann99Thesis"></a>
 <a href="http://citeseer.ist.psu.edu/neumann99parsing.html">Parsing and Querying XML Documents in SML</a>.
 Andreas Neumann.
 Doctoral Thesis, 1999.
</p>
</li>
<li>
<p>
<a id="NguyenOhori06"></a>
 <a href="http://www.pllab.riec.tohoku.ac.jp/%7Eohori/research/NguyenOhoriPPDP06.pdf">Compiling ML Polymorphism with Explicit Layout Bitmap</a>.
 Huu-Duc Nguyen and Atsushi Ohori.
 <a href="References#PPDP">PPDP</a> 2006.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ooo_a_o"><a id="OOO"></a>O</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Okasaki99"></a>
 <a href="http://us.cambridge.org/titles/catalogue.asp?isbn=0521663504">Purely Functional Data Structures</a>.
 ISBN 0521663504.
 Chris Okasaki.
 Cambridge University Press, 1999.
</p>
</li>
<li>
<p>
<a id="Ohori89"></a>
 <a href="http://www.pllab.riec.tohoku.ac.jp/%7Eohori/research/fpca89.pdf">A Simple Semantics for ML Polymorphism</a>.
 Atsushi Ohori.
 <a href="References#FPCA">FPCA</a> 1989.
</p>
</li>
<li>
<p>
<a id="Ohori95"></a>
 <a href="http://www.pllab.riec.tohoku.ac.jp/%7Eohori/research/toplas95.pdf">A Polymorphic Record Calculus and Its Compilation</a>.
 Atsushi Ohori.
 <a href="References#TOPLAS">TOPLAS</a> 1995.
</p>
</li>
<li>
<p>
<a id="OhoriTakamizawa97"></a>
 <a href="http://www.pllab.riec.tohoku.ac.jp/%7Eohori/research/jlsc97.pdf">An Unboxed Operational Semantics for ML Polymorphism</a>.
 Atsushi Ohori and Tomonobu Takamizawa.
 <a href="References#LASC">LASC</a> 1997.
</p>
</li>
<li>
<p>
<a id="Ohori99"></a>
 <a href="http://www.pllab.riec.tohoku.ac.jp/%7Eohori/research/ic98.pdf">Type-Directed Specialization of Polymorphism</a>.
 Atsushi Ohori.
 <a href="References#IC">IC</a> 1999.
</p>
</li>
<li>
<p>
<a id="OwensEtAl09"></a>
 Regular-expression derivatives reexamined.
 Scott Owens, John Reppy, and Aaron Turon.
 <a href="References#JFP">JFP</a> 2009.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ppp_a_p"><a id="PPP"></a>P</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Paulson96"></a>
 <a href="http://www.cl.cam.ac.uk/users/lcp/MLbook/">ML For the Working Programmer</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=052156543X&amp;type=ISBN">addall</a>)
 ISBN 052156543X.
 Larry C. Paulson.
 Cambridge University Press, 1996.
</p>
</li>
<li>
<p>
<a id="PetterssonEtAl02"></a>
 <a href="http://user.it.uu.se/%7Ehappi/publications/flops02.pdf">The HiPE/x86 Erlang Compiler: System Description and Performance Evaluation</a>.
 Mikael Pettersson, Konstantinos Sagonas, and Erik Johansson.
 <a href="References#FLOPS">FLOPS</a> 2002.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a native x86 Erlang compiler and a comparison of many
different native x86 compilers (including MLton) and their register
usage and call stack implementations.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Price09"></a>
 <a href="http://rogerprice.org/#UG">User&#8217;s Guide to ML-Lex and ML-Yacc</a>
 Roger Price.  2009.
</p>
</li>
<li>
<p>
<a id="Pucella98"></a>
 <a href="http://citeseer.ist.psu.edu/pucella98reactive.html">Reactive Programming in Standard ML</a>.
 Riccardo R. Puccella.  1998.
 <a href="References#ICCL">ICCL</a> 1998.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_qqq_a_q"><a id="QQQ"></a>Q</h2>
<div class="sectionbody">
<div class="paragraph"><p></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_rrr_a_r"><a id="RRR"></a>R</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Ramsey90"></a>
 <a href="http://citeseer.ist.psu.edu/ramsey90concurrent.html">Concurrent Programming in ML</a>.
 Norman Ramsey.
 Princeton University Technical Report CS-TR-262-90, 1990.
</p>
</li>
<li>
<p>
<a id="Ramsey03"></a>
 <a href="http://www.eecs.harvard.edu/%7Enr/pubs/embed-abstract.html">Embedding an Interpreted Language Using Higher-Order Functions and Types</a>.
 Norman Ramsey.
 <a href="References#IVME">IVME</a> 2003.
</p>
</li>
<li>
<p>
<a id="RamseyFisherGovereau05"></a>
 <a href="http://www.eecs.harvard.edu/%7Enr/pubs/els-abstract.html">An Expressive Language of Signatures</a>.
 Norman Ramsey, Kathleen Fisher, and Paul Govereau.
 <a href="References#ICFP">ICFP</a> 2005.
</p>
</li>
<li>
<p>
<a id="RedwineRamsey04"></a>
 <a href="http://citeseer.ist.psu.edu/670348.html">Widening Integer Arithmetic</a>.
 Kevin Redwine and Norman Ramsey.
 <a href="References#CC">CC</a> 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a method to implement numeric types and operations (like
<span class="monospaced">Int31</span> or <span class="monospaced">Word17</span>) for sizes smaller than that provided by the
processor.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Reppy88"></a>
 Synchronous Operations as First-Class Values.
 John Reppy.
 <a href="References#PLDI">PLDI</a> 1988.
</p>
</li>
<li>
<p>
<a id="Reppy99"></a>
 <a href="http://us.cambridge.org/titles/catalogue.asp?isbn=0521480892">Concurrent Programming in ML</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0521480892&amp;type=ISBN">addall</a>).
 ISBN 0521480892.
 John Reppy.
 Cambridge University Press, 1999.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes <a href="ConcurrentML">ConcurrentML</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Reynolds98"></a>
 <a href="ftp://ftp.cs.cmu.edu/user/jcr/defintintro.ps.gz">Definitional Interpreters Revisited</a>.
 John C. Reynolds.
 <a href="References#HOSC">HOSC</a> 1998.
</p>
</li>
<li>
<p>
<a id="Reynolds98_2"></a>
 <a href="ftp://ftp.cs.cmu.edu/user/jcr/defint.ps.gz">Definitional Interpreters for Higher-Order Programming Languages</a>
 John C. Reynolds.
 <a href="References#HOSC">HOSC</a> 1998.
</p>
</li>
<li>
<p>
<a id="Rossberg01"></a>
 <a href="http://www.ps.uni-sb.de/hamlet/defects.pdf">Defects in the Revised Definition of Standard ML</a>.
 Andreas Rossberg. 2001.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_sss_a_s"><a id="SSS"></a>S</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Sansom91"></a>
 <a href="http://citeseer.ist.psu.edu/sansom91dualmode.html">Dual-Mode Garbage Collection</a>.
 Patrick M. Sansom.
 Workshop on the Parallel Implementation of Functional Languages, 1991.
</p>
</li>
<li>
<p>
<a id="ScottRamsey00"></a>
 <a href="http://citeseer.ist.psu.edu/scott00when.html">When Do Match-Compilation Heuristics Matter</a>.
 Kevin Scott and Norman Ramsey.
 University of Virginia Technical Report CS-2000-13, 2000.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Modified SML/NJ to experimentally compare a number of
match-compilation heuristics and showed that choice of heuristic
usually does not significantly affect code size or run time.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Sestoft96"></a>
 <a href="http://citeseer.ist.psu.edu/sestoft96ml.html">ML Pattern Match Compilation and Partial Evaluation</a>.
 Peter Sestoft.
 Partial Evaluation, 1996.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes the derivation of the match compiler used in
<a href="MoscowML">Moscow ML</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="ShaoAppel94"></a>
 <a href="http://flint.cs.yale.edu/flint/publications/closure.html">Space-Efficient Closure Representations</a>.
 Zhong Shao and Andrew W. Appel.
 <a href="References#LFP">LFP</a> 2006.
</p>
</li>
<li>
<p>
<a id="Shipman02"></a>
 <a href="References.attachments/Shipman02.pdf">Unix System Programming with Standard ML</a>.
 Anthony L. Shipman.
 2002.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Includes a description of the <a href="Swerve">Swerve</a> HTTP server written in SML.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Signoles03"></a>
 <a href="http://www.lri.fr/%7Esignoles/publis/jfla2003.ps.gz">Calcul Statique des Applications de Modules Parametres</a>.
 Julien Signoles.
 <a href="References#JFLA">JFLA</a> 2003.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a defunctorizer for OCaml, and compares it to existing
defunctorizers, including MLton.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="SittampalamEtAl04"></a>
 <a href="http://citeseer.ist.psu.edu/sittampalam04incremental.html">Incremental Execution of Transformation Specifications</a>.
 Ganesh Sittampalam, Oege de Moor, and Ken Friis Larsen.
 <a href="References#POPL">POPL</a> 2004.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Mentions a port from Moscow ML to MLton of
<a href="http://www.itu.dk/research/muddy/">MuDDY</a>, an SML wrapper around the
<a href="http://sourceforge.net/projects/buddy">BuDDY</a> BDD package.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="SwaseyEtAl06"></a>
 <a href="http://www.cs.cmu.edu/%7Etom7/papers/smlsc2-ml06.pdf">A Separate Compilation Extension to Standard ML</a>.
 David Swasey, Tom Murphy VII, Karl Crary and Robert Harper.
 <a href="References#ML">ML</a> 2006.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_ttt_a_t"><a id="TTT"></a>T</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="TarditiAppel00"></a>
 <a href="http://www.smlnj.org/doc/ML-Yacc/index.html">ML-Yacc User&#8217;s Manual. Version 2.4</a>
 David R. Tarditi and Andrew W. Appel. 2000.
</p>
</li>
<li>
<p>
<a id="TarditiEtAl90"></a>
 <a href="http://citeseer.ist.psu.edu/tarditi90no.html">No Assembly Required: Compiling Standard ML to C</a>.
 David Tarditi, Peter Lee, and Anurag Acharya. 1990.
</p>
</li>
<li>
<p>
<a id="ThorupTofte94"></a>
 <a href="http://citeseer.ist.psu.edu/60712.html">Object-oriented programming and Standard ML</a>.
 Lars Thorup and Mads Tofte.
 <a href="References#ML">ML</a>, 1994.
</p>
</li>
<li>
<p>
<a id="Tofte90"></a>
 Type Inference for Polymorphic References.
 Mads Tofte.
 <a href="References#IC">IC</a> 1990.
</p>
</li>
<li>
<p>
<a id="TolmachAppel95"></a>
 <a href="http://citeseer.ist.psu.edu/tolmach93debugger.html">A Debugger for Standard ML</a>.
 Andrew Tolmach and Andrew W. Appel.
 <a href="References#JFP">JFP</a> 1995.
</p>
</li>
<li>
<p>
<a id="Tolmach97"></a>
 <a href="http://citeseer.ist.psu.edu/tolmach97combining.html">Combining Closure Conversion with Closure Analysis using Algebraic Types</a>.
 Andrew Tolmach.
 <a href="References#TIC">TIC</a> 1997.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a closure-conversion algorithm for a monomorphic IL.  The
algorithm uses a unification-based flow analysis followed by
defunctionalization and is similar to the approach used in MLton
(<a href="References#CejtinEtAl00">CejtinEtAl00</a>).</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="TolmachOliva98"></a>
 <a href="http://web.cecs.pdx.edu/%7Eapt/jfp98.ps">From ML to Ada: Strongly-typed Language Interoperability via Source Translation</a>.
 Andrew Tolmach and Dino Oliva.
 <a href="References#JFP">JFP</a> 1998.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a compiler for RML, a core SML-like language.  The compiler
is similar in structure to MLton, using monomorphisation,
defunctionalization, and optimization on a first-order IL.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_uuu_a_u"><a id="UUU"></a>U</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Ullman98"></a>
 <a href="http://www-db.stanford.edu/%7Eullman/emlp.html">Elements of ML Programming</a>
 (<a href="http://www3.addall.com/New/submitNew.cgi?query=0137903871&amp;type=ISBN">addall</a>).
 ISBN 0137903871.
 Jeffrey D. Ullman.
 Prentice-Hall, 1998.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_vvv_a_v"><a id="VVV"></a>V</h2>
<div class="sectionbody">
<div class="paragraph"><p></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_www_a_w"><a id="WWW"></a>W</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Wand84"></a>
 <a href="http://portal.acm.org/citation.cfm?id=800527">A Types-as-Sets Semantics for Milner-Style Polymorphism</a>.
 Mitchell Wand.
 <a href="References#POPL">POPL</a> 1984.
</p>
</li>
<li>
<p>
<a id="Wang01"></a>
 <a href="http://ncstrl.cs.princeton.edu/expand.php?id=TR-640-01">Managing Memory with Types</a>.
 Daniel C. Wang.
 PhD Thesis.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Chapter 6 describes an implementation of a type-preserving garbage
collector for MLton.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="WangAppel01"></a>
 <a href="http://www.cs.princeton.edu/%7Edanwang/Papers/tpsrvgc/">Type-Preserving Garbage Collectors</a>.
 Daniel C. Wang and Andrew W. Appel.
 <a href="References#POPL">POPL</a> 2001.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Shows how to modify MLton to generate a strongly-typed garbage
collector as part of a program.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="WangMurphy02"></a>
 <a href="http://www-2.cs.cmu.edu/%7Etom7/papers/wang-murphy-recursion.pdf">Programming With Recursion Schemes</a>.
 Daniel C. Wang and Tom Murphy VII.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>Describes a programming technique for data abstraction, along with
benchmarks of MLton and other SML compilers.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
<li>
<p>
<a id="Weeks06"></a>
 <a href="References.attachments/060916-mlton.pdf">Whole-Program Compilation in MLton</a>.
 Stephen Weeks.
 <a href="References#ML">ML</a> 2006.
</p>
</li>
<li>
<p>
<a id="Wright95"></a>
 <a href="http://citeseer.ist.psu.edu/wright95simple.html">Simple Imperative Polymorphism</a>.
 Andrew Wright.
 <a href="References#LASC">LASC</a>, 8(4):343-355, 1995.
</p>
<div class="quoteblock">
<div class="content">
<div class="paragraph"><p>The origin of the <a href="ValueRestriction">ValueRestriction</a>.</p></div>
</div>
<div class="attribution">
</div></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_xxx_a_x"><a id="XXX"></a>X</h2>
<div class="sectionbody">
<div class="paragraph"><p></p></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_yyy_a_y"><a id="YYY"></a>Y</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="Yang98"></a>
 <a href="http://citeseer.ist.psu.edu/53925.html">Encoding Types in ML-like Languages</a>.
 Zhe Yang.
 <a href="References#ICFP">ICFP</a> 1998.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_a_id_zzz_a_z"><a id="ZZZ"></a>Z</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="ZiarekEtAl06"></a>
 <a href="http://www.cs.purdue.edu/homes/suresh/abstracts.html#icfp06">Stabilizers: A Modular Checkpointing Abstraction for Concurrent Functional Programs</a>.
 Lukasz Ziarek, Philip Schatz, and Suresh Jagannathan.
 <a href="References#ICFP">ICFP</a> 2006.
</p>
</li>
<li>
<p>
<a id="ZiarekEtAl08"></a>
 <a href="http://www.springerlink.com/content/ku5036n4xjj40715/?p=70c738f3dc1546b68580ad328afee59f&amp;pi=0">Flattening tuples in an SSA intermediate representation</a>.
 Lukasz Ziarek, Stephen Weeks, and Suresh Jagannathan.
 <a href="References#HOSC">HOSC</a> 2008.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_abbreviations">Abbreviations</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a id="ACSD"></a> ACSD = International Conference on Application of Concurrency to System Design
</p>
</li>
<li>
<p>
<a id="BABEL"></a> BABEL = Workshop on multi-language infrastructure and interoperability
</p>
</li>
<li>
<p>
<a id="CC"></a> CC = International Conference on Compiler Construction
</p>
</li>
<li>
<p>
<a id="DPCOOL"></a> DPCOOL = Workshop on Declarative Programming in the Context of OO Languages
</p>
</li>
<li>
<p>
<a id="ESOP"></a> ESOP = European Symposium on Programming
</p>
</li>
<li>
<p>
<a id="FLOPS"></a> FLOPS = Symposium on Functional and Logic Programming
</p>
</li>
<li>
<p>
<a id="FPCA"></a> FPCA = Conference on Functional Programming Languages and Computer Architecture
</p>
</li>
<li>
<p>
<a id="HOSC"></a> HOSC = Higher-Order and Symbolic Computation
</p>
</li>
<li>
<p>
<a id="IC"></a> IC = Information and Computation
</p>
</li>
<li>
<p>
<a id="ICCL"></a> ICCL = IEEE International Conference on Computer Languages
</p>
</li>
<li>
<p>
<a id="ICFP"></a> ICFP = International Conference on Functional Programming
</p>
</li>
<li>
<p>
<a id="IFL"></a> IFL = International Workshop on Implementation and Application of Functional Languages
</p>
</li>
<li>
<p>
<a id="IVME"></a> IVME = Workshop on Interpreters, Virtual Machines and Emulators
</p>
</li>
<li>
<p>
<a id="JFLA"></a> JFLA = Journees Francophones des Langages Applicatifs
</p>
</li>
<li>
<p>
<a id="JFP"></a> JFP = Journal of Functional Programming
</p>
</li>
<li>
<p>
<a id="LASC"></a> LASC = Lisp and Symbolic Computation
</p>
</li>
<li>
<p>
<a id="LFP"></a> LFP = Lisp and Functional Programming
</p>
</li>
<li>
<p>
<a id="ML"></a> ML = Workshop on ML
</p>
</li>
<li>
<p>
<a id="PLDI"></a> PLDI = Conference on Programming Language Design and Implementation
</p>
</li>
<li>
<p>
<a id="POPL"></a> POPL = Symposium on Principles of Programming Languages
</p>
</li>
<li>
<p>
<a id="PPDP"></a> PPDP = International Conference on Principles and Practice of Declarative Programming
</p>
</li>
<li>
<p>
<a id="PPoPP"></a> PPoPP = Principles and Practice of Parallel Programming
</p>
</li>
<li>
<p>
<a id="TCS"></a> TCS = IFIP International Conference on Theoretical Computer Science
</p>
</li>
<li>
<p>
<a id="TIC"></a> TIC = Types in Compilation
</p>
</li>
<li>
<p>
<a id="TLDI"></a> TLDI = Workshop on Types in Language Design and Implementation
</p>
</li>
<li>
<p>
<a id="TOPLAS"></a> TOPLAS = Transactions on Programming Languages and Systems
</p>
</li>
<li>
<p>
<a id="TPHOLs"></a> TPHOLs = International Conference on Theorem Proving in Higher Order Logics
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
</div>
<div id="footer-badges">
</div>
</div>
</body>
</html>
