NIL

Abstract
This paper presents features of the NIL programming language which support the construction of distributed software systems: (1) a process model in which no pointers or shared data are visible, (2) interprocess communication via synchronous and asynchronous message passing, (3) compile-time typestate checking, guaranteeing module isolation and correct finalization of data, (4) dynamic binding of statically typed ports under the control of capabilities. We discuss how these features are defined in NIL, illustrate the consequences of these decisions for the design of distributed systems, and compare these decisions with those made in other programming languages with similar objectives.

This publication has 9 references indexed in Scilit: