Jump to content

Id (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hairy Dude (talk | contribs) at 00:14, 8 April 2009 (spacing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Id is a general-purpose parallel programming language, developed by Arvind and Nikhil, at MIT, in the late 1970 and throughout the 1980s. The major subset of Id is a purely functional programming language with non-strict semantics. Features include: higher-order functions, a Milner-style statically type-checked polymorphic type system with overloading, user defined types and pattern matching, and prefix and infix operators. It led to the development of pH, a parallel dialect of Haskell (programming language).

Id programs are fine grained implicitly parallel.

The MVar synchronisation variable abstraction in Haskell is based on Id's M-structures. ("Concurrent Haskell". Peyton-Jones, Gordon and Finne. POPL 1996).

Examples

   type bool = False | True;
   False? :: bool -> bool
   and :: bool -> bool -> bool

Implementations

pHluid
The pHluid system was a research implementation of Id programming language, with future plans for a front-end for pH, a parallel dialect of the Haskell programming language, implemented at Digital's Cambridge Research Laboratory. and non-profit use. It is targeted at standard Unix workstation hardware.
  • ID Language Reference Manual, Rishiyur S. Nikhil, 1991.
  • "An Asynchronous Programming Language for a Large Multiprocessor Machine", Arvind et al, TR114a, Dept ISC, UC Irvine, Dec 1978