The Fox Project
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.
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.
2.0 was released in September 1996.
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.
| Contact Information
| Typed Intermediate Languages
| Proof-Carrying Code
[ Logical Frameworks
| Staged Computation
| Language Design