<!--#set var="title" value="Overview" -->
<!--#include virtual="/incl/header.incl" -->
<h1>HLVM Overview</h1>
<p>The High Level Virtual Machine (HLVM) is currently under development.  To
monitor the progress of HLVM as it develops, you can utilize these resources:
</p>
<table>
  <tr><th>Written Status Updates</th><th>Source Code Progress</th></tr>
  <tr>
    <td style="width:50%">
      <ul>
        <li><a href="/docs/status/index.html">Status Updates</a>:
	approximately monthly updates on the statuf of HLVM.</li>
        <li><a href="/releases/index.shtml">Releases</a>:
        release notes, release media, SVN access</li>
        <li><a href="/docs/ReleasePlans.html#status">Plans</a>:
        current release plans, status of current release, past releases</li>
      </ul>
    </td>
    <td style="width:50%">
      <ul>
        <li><a href="/Source.shtml">Latest Sources</a>:
        A browsable source tree that is synchronized with the source repository.
        <li>
        <a href="http://lists.cs.uiuc.edu/mailman/listinfo/hlvm-commits">
          Commits Archive</a>: an email archive of the Subversion commits 
        history</li>
	<li><a href="irc://irc.oftc.net/#hlvm">IRC Channel</a>: come and talk
	to the developers on-line</li>
      </ul>
    </td>
  </tr>
</table>
<p>HLVM is a language designer's toolkit. It's goal is to take care of the many 
compilation, optimization and runtime details needed in a language system.  Here
is how we envision HLVM when it is completed (written in present tense for
simplicity):</p>
<ol>
  <li><em>Based on LLVM</em> 
  (<a href="http://llvm.org/">Low Level Virtual Machine</a>).
  LLVM is HLVM's sister project. HLVM gains tremendous capability from LLVM in
  the areas of code generation, optimization, bytecode facilties, JIT 
  compilation, target machine support, etc.</li>
  <li><em>Dynamic Compilation</em>. HLVM supports "dynamic" languages, i.e. 
  those that that have run-time compilation or interpretation as a language 
  feature. For example, languages that support an <tt>eval</tt> function that 
  compiles or interprets a source language statement (or entire program) at 
  run-time.</li>
  <li><em>Language Designer's Toolkit</em>. HLVM provides a complete language 
  designer's toolkit for creating new programming languages. A plug-in model is
  used to allow a language front end to be executed at run-time. A language
  plug-in handles the process of translating from the language's source code
  into the HLVM Abstract Syntax Tree (AST) representation. 
  After that, HLVM handles all aspects of code generation, bytecode storage, 
  JIT execution or interpretation, and native compilation.</li> 
  <li><em>Common Runtime</em>. HLVM supports a common runtime for a variety of
  programming languages including Ruby, Python, Perl, Jython, Haskell, Prolog, 
  and others.</li>
  <li><em>Language Interoperability Framework</em>. Because HLVM uses the same
  facilities to implement the execution of different source languages, it is
  also a language interoperability framework. All language plug-ins translate
  source code into the same AST. This means they <i>can</i> interoperate. It 
  doesn't mean they <i>will</i> interoperate. Language plug-ins that make use
  of the HLVM runtime library for common constructs (e.g. "string") will enhance
  the language's ability to interoperate with other languages.</li>
</ol>
<table>
  <tr><th>More Info</th><th>HLVM On The Net</th></tr>
  <tr><td style="width:50%">
<ul>
<li><a href="/docs/FAQ.html">Frequently Asked Questions</a></li>
<li><a href="/docs/OpenProjects.html">Open Projects (How You Can Help)</a></li>
<li><a href="/docs/index.html">User Documentation</a></li>
<li><a href="/APIs.php">API documentation generated from source code</a></li>
</ul>
</td>
<td style="width:50%">
<ul>
<li><a href="http://osnews.com/comment.php?news_id=14920">OS News</a></li>
<li><a href="http://lambda-the-ultimate.org/node/1562">Lambda-the-Ultimate</a></li>
<li><a href="http://freshmeat.net/projects/hlvm/">Freshmeat.net Project</a></li>
<!--<li><a href="http://silentcentre.net/cgi-bin/hgwebdir.cgi/hlvm?cmd=summary;style=gitweb">Mercurial Repository on 2 hr sync (thanks Owen)</a></li>-->
</ul>
</td></tr>
</table>
<!--#include virtual="/incl/footer.incl" -->
