Erlang (programming language): Difference between revisions
imported>Eric Evers No edit summary |
mNo edit summary |
||
(40 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
{{subpages}} | {{subpages}} | ||
{{dambigbox|Erlang (programming language)|Erlang}} | |||
{{TOC|right}} | |||
'''Erlang''' is a [[strict]] [[functional language]], a [[Programming_language#Declarative_vs._Imperative|declarative language]], and a general-purpose [[programming language]] which shares some syntax with [[prolog]]. Armstrong also describes it as a concurrency oriented language | The '''Erlang programming language''' is a [[strict]] [[functional language]], a [[Programming_language#Declarative_vs._Imperative|declarative language]], and a [[Programming_language#General_purpose_vs._special_purpose|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. <ref Name=ArmDis>[http://www.erlang.org/download/armstrong_thesis_2003.pdf Armstrong Dissertation]</ref> 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. <ref Name=ConRev>[http://www.ddj.com/cpp/184401916 Multi-Core]</ref> | ||
==Syntax== | ==Syntax== | ||
Functions are defined by the domain of the arguments and the number of arguemnts. A function ends with a period. A function over a particular domain of values is separated by a semicolon. | |||
fact(0) -> 1; | |||
fact(N) when is_integer(N) -> | |||
fact(N-1)*N. | |||
Extensive Tutorial available: [[Erlang_programming_language/Tutorials]] | |||
== | ==See also== | ||
* [[Prolog]] | |||
* [[Scheme programming language|Scheme]] | |||
==Programs written in erlang== | |||
* [[CouchDB]]: A document oriented database is an optional part of Apache. It is a distributed, schema-free and fault tolerant database. | |||
* [[Wings3d]]: A 3d design program. | |||
* [[ | |||
==References== | ==References== | ||
<references/> | <references/>[[Category:Suggestion Bot Tag]] |
Latest revision as of 11:00, 13 August 2024
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. [2]
Syntax
Functions are defined by the domain of the arguments and the number of arguemnts. A function ends with a period. A function over a particular domain of values is separated by a semicolon.
fact(0) -> 1; fact(N) when is_integer(N) -> fact(N-1)*N.
Extensive Tutorial available: Erlang_programming_language/Tutorials
See also
Programs written in erlang
- CouchDB: A document oriented database is an optional part of Apache. It is a distributed, schema-free and fault tolerant database.
- Wings3d: A 3d design program.