<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta name="robots" content="index,nofollow"> <title>Credits - MLton Standard ML Compiler (SML Compiler)</title> <link rel="stylesheet" type="text/css" charset="iso-8859-1" media="all" href="common.css"> <link rel="stylesheet" type="text/css" charset="iso-8859-1" media="screen" href="screen.css"> <link rel="stylesheet" type="text/css" charset="iso-8859-1" media="print" href="print.css"> <link rel="Start" href="Home"> </head> <body lang="en" dir="ltr"> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-833377-1"; urchinTracker(); </script> <table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%> <tr> <td style = " border: 0px; color: darkblue; font-size: 150%; text-align: left;"> <a class = mltona href="Home">MLton MLTONWIKIVERSION</a> <td style = " border: 0px; font-size: 150%; text-align: center; width: 50%;"> Credits <td style = " border: 0px; text-align: right;"> <table cellspacing = 0 style = "border: 0px"> <tr style = "vertical-align: middle;"> </table> <tr style = "background-color: white;"> <td colspan = 3 style = " border: 0px; font-size:70%; text-align: right;"> <a href = "Home">Home</a> <a href = "TitleIndex">Index</a> </table> <div id="content" lang="en" dir="ltr"> MLton was designed and implemented by <a href="HenryCejtin">HenryCejtin</a>, <a href="MatthewFluet">MatthewFluet</a>, <a href="SureshJagannathan">SureshJagannathan</a>, and <a href="StephenWeeks">StephenWeeks</a>. <ul> <li> <p> <a href="HenryCejtin">HenryCejtin</a> wrote the <tt>IntInf</tt> implementation, the original profiler, the original man pages, the <tt>.spec</tt> files for the RPMs, and lots of little hacks to speed stuff up. </p> </li> <li class="gap"> <p> <a href="MatthewFluet">MatthewFluet</a> implemented the X86 and AMD64 native code generators, ported <tt>mlprof</tt> to work with the native code generator, did a lot of work on the SSA optimizer, both adding new optimizations and improving or porting existing optimizations, updated the <a href="BasisLibrary">Basis Library</a> implementation, ported <a href="ConcurrentML">ConcurrentML</a> and <a href="MLNLFFI">ML-NLFFI</a> to MLton, implemented the <a href="MLBasis"> ML Basis system</a>, and ported MLton to 64-bit platforms. </p> </li> <li class="gap"> <p> <a href="SureshJagannathan">SureshJagannathan</a> implemented some early inlining and uncurrying optimizations. </p> </li> <li class="gap"> <p> <a href="StephenWeeks">StephenWeeks</a> implemented most of the original version of MLton, and continues to keep his fingers in most every part. </p> </li> </ul> <p> Many people have helped us over the years. Here is an alphabetical list. </p> <ul> <li> <p> <a href="JesperLouisAndersen">JesperLouisAndersen</a> sent several patches to improve the runtime on FreeBSD and ported MLton to run on NetBSD and OpenBSD. </p> </li> <li class="gap"> <p> <a href="JohnnyAndersen">JohnnyAndersen</a> implemented <tt>BinIO</tt>, modified MLton so it could cross compile to MinGW, and provided useful discussion about cross-compilation. </p> </li> <li class="gap"> <p> Alain Deutsch and <a class="external" href="http://www.polyspace.com/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">PolySpace Technologies</a> provided many bug fixes and runtime system improvements, code to help the Sparc/Solaris port, and funded a number of improvements to MLton. </p> </li> <li class="gap"> <p> Martin Elsman provided helpful discussions in the development of the <a href="MLBasis">ML Basis system</a>. </p> </li> <li class="gap"> <p> Brent Fulgham ported MLton most of the way to MinGW. </p> </li> <li class="gap"> <p> <a href="AdamGoode">AdamGoode</a> provided the script to build the PDF MLton Guide. </p> </li> <li class="gap"> <p> Simon Helsen provided bug reports, suggestions, and helpful discussions. </p> </li> <li class="gap"> <p> Joe Hurd provided useful discussion and feedback on source-level profiling. </p> </li> <li class="gap"> <p> <a href="VesaKarvonen">VesaKarvonen</a> contributed <tt>esml-mode.el</tt> and <tt>esml-mlb-mode.el</tt> (see <a href="Emacs">Emacs</a>), contributed patches for improving match warnings, contributed <tt>esml-du-mlton.el</tt> and extended def-use output to include types of variable definitions (see <a href="EmacsDefUseMode">EmacsDefUseMode</a>), and improved constant folding of floating-point operations. </p> </li> <li class="gap"> <p> Richard Kelsey provided helpful discussions. </p> </li> <li class="gap"> <p> Ville Laurikari ported MLton to IA64/HPUX, HPPA/HPUX, PowerPC/AIX, PowerPC64/AIX. </p> </li> <li class="gap"> <p> Geoffrey Mainland helped with FreeBSD packaging. </p> </li> <li class="gap"> <p> Eric McCorkle ported MLton to Intel Mac. </p> </li> <li class="gap"> <p> <a href="TomMurphy">TomMurphy</a> wrote the original version of <tt>MLton.Syslog</tt> as part of his <tt>mlftpd</tt> project, and has sent many useful bug reports and suggestions. </p> </li> <li class="gap"> <p> Michael Neumann helped to patch the runtime to compile under FreeBSD. </p> </li> <li class="gap"> <p> Barak Pearlmutter built the original <a class="external" href="http://packages.debian.org/mlton"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Debian package</a> for MLton, and helped us to take over the process. </p> </li> <li class="gap"> <p> Filip Pizlo ported MLton to (PowerPC) Darwin. </p> </li> <li class="gap"> <p> John Reppy assisted in porting MLton to Intel Mac. </p> </li> <li class="gap"> <p> Sam Rushing ported MLton to FreeBSD. </p> </li> <li class="gap"> <p> Jeffrey Mark Siskind provided helpful discussions and inspiration with his Stalin Scheme compiler. </p> </li> <li class="gap"> <p> <a href="WesleyTerpstra">WesleyTerpstra</a> added support for <tt>MLton.Process.create</tt>, made a number of contributions to the <a href="ForeignFunctionInterface">ForeignFunctionInterface</a>, contributed a number of other runtime system patches, and added support for compiling to a C library. </p> </li> <li class="gap"> <p> Luke Ziarek assisted in porting MLton to (PowerPC) Darwin. </p> </li> </ul> <p> We have also benefited from other software development tools and used code from other sources. </p> <ul> <li> <p> MLton was developed using <a href="SMLNJ">Standard ML of New Jersey</a> and the <a href="CompilationManager">Compilation Manager (CM)</a> </p> </li> <li class="gap"> <p> MLton's lexer (<tt>mlton/frontend/ml.lex</tt>), parser (<tt>mlton/frontend/ml.grm</tt>), and precedence-parser (<tt>mlton/elaborate/precedence-parse.fun</tt>) are modified versions of code from SML/NJ. </p> </li> <li class="gap"> <p> The MLton <a href="BasisLibrary">Basis Library</a> implementation of conversions between binary and decimal representations of reals uses David Gay's <a class="external" href="http://www.netlib.org/fp/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">gdtoa</a> library. </p> </li> <li class="gap"> <p> The MLton <a href="BasisLibrary">Basis Library</a> implementation uses modified versions of portions of the the SML/NJ Basis Library implementation modules <tt>OS.IO</tt>, <tt>Posix.IO</tt>, <tt>Process</tt>, and <tt>Unix</tt>. </p> </li> <li class="gap"> <p> The MLton <a href="BasisLibrary">Basis Library</a> implementation uses modified versions of portions of the <a href="MLKit">ML Kit</a> Version 4.1.4 Basis Library implementation modules <tt>Path</tt>, <tt>Time</tt>, and <tt>Date</tt>. </p> </li> <li class="gap"> <p> Many of the benchmarks come from the SML/NJ benchmark suite. </p> </li> <li class="gap"> <p> Many of the regression tests come from the ML Kit Version 4.1.4 distribution, which borrowed them from the <a class="external" href="http://www.dina.kvl.dk/~sestoft/mosml.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Moscow ML</a> distribution. </p> </li> <li class="gap"> <p> MLton uses the <a class="external" href="http://www.gnu.org/software/gmp/gmp.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">GNU multiprecision library</a> for its implementation of <tt>IntInf</tt>. </p> </li> <li class="gap"> <p> MLton's implementation of <a href="MLLex"> mllex</a>, <a href="MLYacc"> mlyacc</a>, the <a href="CKitLibrary">ckit Library</a>, the <a href="MLRISCLibrary">MLRISC Library</a>, the <a href="SMLNJLibrary">SML/NJ Library</a>, <a href="ConcurrentML">Concurrent ML</a>, mlnlffigen and <a href="MLNLFFI">ML-NLFFI</a> are modified versions of code from SML/NJ. </p> </li> </ul> </div> <p> <hr> Last edited on 2010-04-07 17:33:02 by <span title="fenrir.cs.rit.edu"><a href="MatthewFluet">MatthewFluet</a></span>. </body></html>