The Fox Project

Contents Recent Publications | Software | Collaborations | Further Links
Elsewhere Bibliography

The FoxNet is an implementation of the standard TCP/IP networking protocol stack using the Standard ML (SML) langauge. SML is a type-safe (no type casts allowed) programming language with garbage collection, a unique and advanced module system, and machine-independent semantics. The FoxNet is a user-space implementation of TCP/IP that is built in SML by composing modular protocol elements; each element independently implements one of the standard protocols. One specific combination of these elements implements the standard TCP/IP stack. Other combinations are also possible and can be used to easily and conveniently build custom, non-standard networking stacks.

Recent Publications

The following paper describes in detail the final design and implementation of the FoxNet. A more complete bibliography is also available.

A Network Protocol Stack in Standard ML
Edoardo Biagioni, Robert Harper, and Peter Lee.
Submitted for publication to Higher-Order and Symbolic Computation.


  • Substantial portions of the FoxNet 2.0 release have been updated to reflect the Revised (1997) Definition of Standard ML, to work with the latest versions of SML/NJ, and to work on machines running Linux. A snapshot of this work is available.
  • FoxNet 2.0 was released in September 1996.
  • FoxNet 1.0 was released in September 1994.


  • The Hello project at the University of Hawi'i has developed an operating system in Standard ML which includes a port of the FoxNet to run directly on a bare machine.

Further Links

[ Home | Contact Information | Publications | Researchers ]
[ FoxNet | Typed Intermediate Languages | Proof-Carrying Code ]
[ Logical Frameworks | Staged Computation | Language Design ]