Erlang (programming language): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric Evers
imported>Eric Evers
Line 7: Line 7:


  fact(0) -> 1;
  fact(0) -> 1;
  fact(N) where is_integer(N) ->  
  fact(N) when is_integer(N) ->  
     fact(N-1)*N.
     fact(N-1)*N.



Revision as of 18:34, 18 April 2008

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Tutorials [?]
 
This editable Main Article is under development and subject to a disclaimer.

The Erlang programming language is a strict functional language, a declarative language, and a general-purpose programming language which shares some syntax with prolog. It is considered declarative because it has the pattern matching syntax of prolog and list comprehensions. Because of its prowess at parallel programming it is particulary good at creating servers such as web servers or ftp servers with small amounts of code. It is a dynamically typed language. Armstrong also describes it as a concurrency oriented language. Erlang was developed in 1987 by Joe Armstrong and others (then of Ericsson) for use to program telephone networks. Ref: Joe Armstrong (2003). "Making reliable distributed systems in the presence of software errors". Ph.D. Dissertation. [1] New versions of Erlang are released by Ericsson on a yearly basis. At present(2008) there is increased interest in parallel programming languages because of the use of multicore microprocessors in personal computers.

Syntax

Functions are defined by the domain of the arguments and the number of arguemnts. Function end with a period. Functions over differnt domains are separated by semicolons.

fact(0) -> 1;
fact(N) when is_integer(N) -> 
    fact(N-1)*N.

See also

References