Jump to content

Alef (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Catclock (talk | contribs) at 00:15, 10 November 2012 (correct infobox year). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Alef
Paradigmcompiled, concurrent, structured
Designed byPhil Winterbottom
First appeared1992
Typing disciplineStrong
OSPlan 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 appeared in the first and second editions 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

References

  1. ^ 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 |chapterurl= (help); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (help)
  2. ^ "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 |sectionurl= (help); Unknown parameter |sectionurl= ignored (|section-url= suggested) (help)
  3. ^ "thread(2)". Plan 9 Manual. {{cite book}}: |access-date= requires |url= (help); External link in |sectionurl= (help); Unknown parameter |sectionurl= ignored (|section-url= suggested) (help)