Id (programming language)
Encyclopedia
Id is a general-purpose parallel programming language, developed by Arvind
Arvind (computer scientist)
Arvind is the Johnson Professor of Computer Science and Engineering in the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology...

 and Nikhil, at MIT, in the late 1970 and throughout the 1980s. The major subset of Id is a purely functional programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 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
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...

.

Id programs are fine grained implicitly parallel.

The MVar synchronisation variable abstraction in Haskell is based on Id's M-structures.

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.

External links

  • 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
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK