Processes, functions, and datatypes
VASCO THUDICHUM VASCONCELOS · Theory and Practice of Object Systems · 1999
Based on a name-passing calculus and on its typing system we show how to build several language constructors towards strongly-typed concurrent programming languages. In particular, we introduce a notion of datatype declaration, and show how to create values of a datatype and how to take such values apart. Further expressions include a form of abstraction and of application. Expressions evaluate to names and can replace any (non-binding) name in the calculus, thus achieving a clean incorporation of expressions in a name-passing calculus. A systematic translation of the derived constructors into the basic calculus provides for the semantics and for typing rules for the new constructors. © 1999 John Wiley & Sons, Inc.