[Contents]
[Prev] [Next] [Limbo Basics] [Limbo Programming] [Language Definition]

Introduction

Limbo is a general purpose programming language intended for applications running distributed systems on small computers. It supports modular programming, strong type checking at compile and run time, inter-process communication over typed channels, automatic garbage collection, and simple abstract data types. The initial implementation is interpreted and is designed to provide for safe execution of programs even on machines without hardware memory protection.

A Limbo application consists of one or more modules, each of which supplies an interface declaration and an implementation part. A module that uses another module includes the other's declaration part. During execution, a module dynamically attaches another module by stating the other module's type identifier and a place from which to load the object code for its implementation.

A module declaration specifies the functions it wishes to make visible, as well as its data types, data objects, and constants. The implementation part defines the functions visible at its interface and any functions associated with its data types; it also can contain definitions for functions used only internally and for data local to the module.



[Contents]
[Prev] [Next] [Limbo Basics] [Limbo Programming] [Language Definition]

Copyright © 1998, Lucent Technologies, Inc. All rights reserved.