Advanced programming languages such as Standard ML have rarely been used for systems programming tasks such as operating systems and network communications. In order to understand more fully the requirements of systems programming, we have implemented a suite of industry-standard network communication protocols in a completely type-safe extension of… (More)
This paper describes the design of an implementation of the Transmission Control Protocol using an extension of the Standard ML (SML) language. SML supports higher-order functions, modularity, and type-safe module composition. We find that by using SML we can achieve good structure and good performance simultaneously. Good structure includes a modular… (More)
Threads can easily be implemented using first-class continuations, but the straightforward approaches for doing so lead to space leaks, especially in a language with exceptions like Standard ML. We show how these space leaks arise and give a new implementation for threads that is safe for space.
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… (More)
We have been studying communication in wireless ad-hoc sensor networks. One of the authors has designed the Multipath On-demand Routing (MOR) protocol , which makes use of all possible paths to a given destination. Each node in MOR has, wherever possible, a choice of next hops for a given destination. We have designed and implemented a MOR reliability… (More)
The hardware and low-level software in many mobile devices are capable of mobile-to-mobile communication, including ad-hoc mode for 802.11, Bluetooth, and cognitive radios. We have started to leverage this capability to provide in-terpersonal communication both over infrastructure networks (the Internet), and over ad-hoc and delay-tolerant networks composed… (More)
We propose a range of techniques to motivate people to share a small fraction of their available resources in designing a new networking technology to provide near-ubiquitous connectivity to others. Such technology can be used whenever the infrastructure is unavailable to provide general connectivity between individuals, and to to the Internet at large, and… (More)