Id (programming language)
Irvine Dataflow (Id) is a general-purpose parallel programming language, started at the University of California at Irvine in 1975[1] by Arvind and K. P. Gostelow.[2] Arvind continued work with Id at MIT into the 1990s.
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.
Id programs are fine grained implicitly parallel.
The MVar synchronisation variable abstraction in Haskell is based on Id's M-structures.[3]
Examples
type bool = False | True;
True :: bool -> bool 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.
gollark: Ah yes, it does say they don't, how bee.
gollark: Although does it say they DON'T?
gollark: Oh, that's a neat idea.
gollark: I should submit an entry.
gollark: Oh hey, the list sorting challenge?
References
- Sharp, J.A. (1992). Data Flow Computing: Theory and Practice. Intellect, Limited. p. 125. ISBN 9780893919214. Retrieved 2014-12-02.
- Arvind & K. P. Gostelow, The Id Report: An Asychronous Language and Computing Machine, Technical Report TR-114, Department of Information and Computer Science, University of California, Irvine, September 1978.
- "Concurrent Haskell". Peyton-Jones, Gordon and Finne. POPL 1996
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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.