<!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">

<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 20051202</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>
      &nbsp;<a href = "Index">Index</a>
      &nbsp;
</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 native code generator, 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, and implemented the   <a href="MLBasis"> ML Basis system</a>.  
</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>
 Adam Goode 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> (see <a href="Emacs">Emacs</a>) and  patches for improving match warnings. 
</p>
</li>
    <li class="gap">
<p>
 Richard Kelsey provided helpful discussions. 
</p>
</li>
    <li class="gap">
<p>
 Geoffrey Mainland helped with FreeBSD packaging. 
</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 Darwin. 
</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>, and  contributed a number of other runtime system patches. 
</p>
</li>
    <li class="gap">
<p>
 Luke Ziarek assisted in porting MLton to 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 href="http://www.gnu.org/software/gmp/gmp.html">http://www.gnu.org/software/gmp/gmp.html</a> GNU  multiprecision library] for its implementation of <tt>IntInf</tt>.  
</p>
</li>
    <li class="gap">
<p>
 MLton's implementation of mllex, mlyacc, the   <a href="CKitLibrary">ckit Library</a>,   <a href="ConcurrentML">Concurrent ML</a>,   and <a href="MLNLFFI">ML-NLFFI</a>   are modified versions of code from SML/NJ. 
</p>
</li>
</ul>

</div>



<p>
<hr>
Last edited on 2005-12-01 05:16:39 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
