\section{MLRISC}
  \begin{center} 
    \begin{Bold}
     A framework for retargetable and optimizing compiler back ends 
    \end{Bold}
  \end{center}
\begin{center}
  \begin{tabular}{cc} 
    \begin{address}
      \href{mailto:george@research.bell-labs.com}{Lal George} 
    \end{address} &
    \begin{address}
      \href{mailto:leunga@cs.nyu.edu}{ Allen Leung}
    \end{address} \\
       Bell Labs & New York University \\
  \end{tabular}   
\end{center}

\begin{center}
\image{MLRISC logo}{pictures/png/uncol.png}{align="middle"}

\begin{Italics}
   \href{contributors.html}{Contributors}
\end{Italics}
\end{center}

Writing native code generators for modern processors is a significant
investment.  Unfortunately it is difficult
to reuse this investment for other architectures, and even more
difficult to reuse for other source language compilers.   MLRISC is
a customizable optimizing back-end written in
\externhref{http://cm.bell-labs.com/cm/cs/what/smlnj/sml.html}{Standard ML}
and has been successfully retargeted to multiple architectures.
MLRISC deals elegantly with the special requirements imposed by the
execution model of different high-level, typed languages, by allowing
many components of the system to be customized to fit the source language
semantics and runtime system requirements.

The \begin{color}{#aa0000}Overview\end{color} pages on the left provide 
an introduction the MLRISC system, mostly from the client's perspective,  
while the \begin{color}{#aa0000}System\end{color}
pages give a more detailed look at the 
innards, and are of interest to MLRISC hackers.   As usual, development of
the system has outpaced the documentation process substantally; thus
the latter part of the document is incomplete but it may still be useful. 

These pages are also available in 
\href{../latex/mlrisc.ps}{tech report} form.
