file.pdf (313.8 kB)
A Network Protocol Stack in Standard ML
journal contributionposted on 1983-01-01, 00:00 authored by Edoardo Biagioni, Robert Harper, Peter Lee
The FoxNet is an implementation of the standard TCP/IP networking protocol stack using the Standard ML (SML) language. SML is a type-safe 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. This paper describes in detail the final design and implementation of the FoxNet, including many of the details that are crucially affected by the choice of SML as the programming language.