The Fox Project: Advanced Languages for Systems Software |
Research papers and reports
Fox Project people
The FoxNet Web Server in Standard ML
The FoxNet is a system developed by the Fox
Project in the Computer
Science Department at Carnegie Mellon University. The objective
of the project is to advance the art of programming-language design
and implementation, and simultaneously to apply principles of
programming languages to advance the art of systems building. The
work of the project includes theoretical studies of programming
languages and their properties, development of new compiler and
run-time technology, and empirical studies of the application of
concepts and ideas from advanced languages to real-world programming
problems, especially in the areas of networks and operating
systems.
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.
Proof-Carrying Code
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)