Higher-Order and Symbolic Computation, 14(4)309-356
A Network Protocol Stack in Standard ML
Edoardo Biagioni, University of Hawai'i at Mnoa, ICS Department,
1680 East-West Road, Honolulu HI 96822, USA
Robert Harper, Carnegie Mellon University, School of Computer
Science, 5000 Forbes Avenue, Pittsburgh PA 15213, USA
Peter Lee, Carnegie Mellon University, School of Computer Science,
5000 Forbes Avenue, Pittsburgh PA 15213, USA
Abstract: 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.
Keywords: Standard ML, computer networks, modules, signatures,
types
|
This article can be downloaded [here].
|
|