![]() |
The Fox Project: Advanced Languages for Systems Software |
The starting point for our work on language design and implementation is the Standard ML programming language. To assess the viability of this language as a vehicle for systems programming, the project has implemented a collection of software modules that implement network communication protocols. These modules can be easily and safely composed in order to build both standard and customized network communication systems (including the standard TCP/IP protocol suite). This collection of modules is called the FoxNet, and is implemented entirely in a type-safe extension of the Standard ML programming language.
As a demonstration of the FoxNet, a web server has been written
completely in an extension of the Standard ML programming
language. This includes the HTTPD server software and the TCP/IP
protocol stack used by the server (essentially everything down to the
network device driver). This server is available via the URL
Version 2.0 of the FoxNet, is available by anonymous FTP. This is a new, easier-to-install-and-run release, complete with several server and client applications.
TIL is an advanced compiler for a subset of Standard ML based on the principle of Typed Intermediate Languages. The subset of SML includes all core constructs and top-level structures, but does not include functors, signatures, or nested structures.
The current focus of researchers at Cornell and Carnegie Mellon is on TILT, the successor to TIL. Since we are no longer actively developing TIL, we can't really offer any help in setting it up or configuring it to run.
Papers and source code for TIL can be found online. The Cornell release of TIL includes an ANSI C back end. The Carnegie Mellon release includes a back end which uses Lal George's MLRISC framework.
The Touchstone certifying compiler is available by anonymous FTP.
Maintained by:
David.Swasey@cs.cmu.edu and Peter.Lee@cs.cmu.edu (last updated August 31, 1998)