Date Added: Jan 2010
Interaction with embedded systems is usually achieved by hooking up these devices to a computer network. The TCP/IP stack of protocols has often been used to this end, requiring compact stacks to be implemented as regular ones are too large for embedded systems. Traditionally, compact stacks such as uIP have been implemented in C. Here the paper reports on the experience in implementing S3 ("Small Scheme Stack"), a compact TCP/IP stack written in Scheme for microcontrollers with a few kilobytes of memory. This paper describes how they were able to minimize the code size and memory requirements by taking advantage of Scheme's power of abstraction and of a virtual machine. The paper also provides examples of the stack's use to write network applications.