My home page
Back to my software experience page
Back to my portfolio

Chaos Networking

ChaosNET was a LAN technology contemporary with the MIT Lisp Machines. Today, it is of interest mostly to those emulating the Incompatible Time-Sharing System (ITS) and CADR Lisp Machines.

This code implements a multi-threaded Network Control Program under OpenMCL running on Mac OS X, interfacing with Unix-domain sockets containing emulated ChaosNET packets. It is my first real effort to deal with issues of multithreaded synchronization.

This code works well enough to allow the USIM emulator to communicate with a simulated host named "openmcl", including flow-controlled bi-directional streams, and the beginnings of mail and chat protocol support. I suspended development of this code to work on a Python-based implementation that could be used on Windows, and also to learn Python.

Component files

Lisp-machine compatibility


My Python equivalent uses asyncore; it might be interesting (and applicable to single-threaded CLISP) to try to build an entire ChaosNET stack based on an asynchronous architecture.