Paradigm | compiled, concurrent, structured |
---|---|
Designed by | Phil Winterbottom |
First appeared | 1992 |
Typing discipline | Static, strong |
OS | Plan 9 from Bell Labs |
Influenced by | |
C, Newsqueak | |
Influenced | |
Limbo, Rust, Go |
Alef is a discontinued concurrent programming language, designed as part of the Plan 9 operating system by Phil Winterbottom of Bell Labs. It implemented the channel-based concurrency model of Newsqueak in a compiled, C-like language.
Alef appeared in the first and second editions of Plan 9, but was abandoned during development of the third edition.[1][2]Rob Pike later explained Alef's demise by pointing to its lack of automatic memory management, despite Pike's and other people's urging Winterbottom to add garbage collection to the language;[3] also, in a February 2000 slideshow, Pike noted: "…although Alef was a fruitful language, it proved too difficult to maintain a variant language across multiple architectures, so we took what we learned from it and built the thread library for C."[4]
Alef was superseded by two programming environments. The Limbo programming language can be considered a direct successor of Alef and is the most commonly used language in the Inferno operating system. The Alef concurrency model was replicated in the third edition of Plan 9 in the form of the libthread library, which makes some of Alef's functionality available to C programs and allowed existing Alef programs (such as Acme) to be translated.[5]
This example was taken from the Alef reference manual.[1] The piece illustrates the use of tuple data type.
(int, byte*, byte)
func()
{
return (10, "hello", ’c’);
}
void
main()
{
int a;
byte* str;
byte c;
(a, str, c) = func();
}
By: Wikipedia.org
Edited: 2021-06-18 15:17:40
Source: Wikipedia.org