The implementation of Newsqueak
Robert Neil Pike · Software Practice and Experience · 1990
Abstract The implementation of the concurrent applicative language Newsqueak has several unusual features. The interpreter, squint, uses a copy‐on‐write scheme to manage storage honouring Newsqueak's strictly applicative (by‐value) semantics for data. There is no explicit scheduler. Instead, the execution of processes is interleaved very finely, but randomly, by an efficient scheme that integrates process switching into the interpreter's main loop. The implementation of select, the non‐deterministic, multi‐way communications operator, exploits details in the implementation of processes. This paper describes much of the interpreter but explains only small aspects of the language. Further detail about the language may be found in the References.