Alef (programming language)
Paradigm | compiled, concurrent, structured |
---|---|
Designed by | Phil Winterbottom |
First appeared | 1994 |
Typing discipline | Strong |
OS | Plan 9 from Bell Labs |
Influenced by | |
C, Newsqueak | |
Influenced | |
Limbo, Rust |
The Alef programming language was designed as part of the Plan 9 operating system by Phil Winterbottom of Bell Labs.
History
Alef first appeared in the second edition of Plan 9, and was abandoned during development of the third edition.[1][2] Plan 9's libthread library, which implements the same concurrency model as Alef, was written to make some of Alef's functionality available to C programs and to allow existing Alef programs (such as Acme) to be translated.[3] In a February 2000 slideshow, Rob 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.”
Example
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();
}
See also
- Limbo, a direct successor of Alef, the most commonly used language in the Inferno operating system
- Plan 9 from Bell Labs
- Communicating sequential processes
References
- ^ a b
Winterbottom, Phil (1995). "Alef Language Reference Manual". Plan 9 Programmer's Manual: Volume Two. Murray Hill: AT&T.
{{cite book}}
: External link in
(help); Unknown parameter|chapterurl=
|chapterurl=
ignored (|chapter-url=
suggested) (help) - ^
"Preface to the Third (2000) Edition". Plan 9 Manual. Murray Hill: Bell Labs. June 2000.
{{cite book}}
:|access-date=
requires|url=
(help); External link in
(help); Unknown parameter|sectionurl=
|sectionurl=
ignored (|section-url=
suggested) (help) - ^
"thread(2)". Plan 9 Manual.
{{cite book}}
:|access-date=
requires|url=
(help); External link in
(help); Unknown parameter|sectionurl=
|sectionurl=
ignored (|section-url=
suggested) (help)
- Flandrena, Bob (1995). "Alef Users' Guide". Plan 9 Programmer's Manual: Volume Two. Murray Hill: Bell Labs.
{{cite book}}
: External link in
(help); Unknown parameter|chapterurl=
|chapterurl=
ignored (|chapter-url=
suggested) (help) - Phil Winterbottom (1992-10-20). "Plan9 VM". Newsgroup: comp.os.research. 1c1denINN441@darkstar.UCSC.EDU.