Erlang (programming language)/Tutorials: Difference between revisions
Jump to navigation
Jump to search
imported>Eric Evers |
imported>Eric Evers |
||
Line 62: | Line 62: | ||
:[[Erlang_programming_language/Tutorials/ETS|ETS programming]] | :[[Erlang_programming_language/Tutorials/ETS|ETS programming]] | ||
:[[Erlang_programming_language/Tutorials/DETS|DETS programming]] | :[[Erlang_programming_language/Tutorials/DETS|DETS programming]] | ||
:[[Erlang_programming_language/Tutorials/Mnesia|Mnesia | :[[Erlang_programming_language/Tutorials/Mnesia|Mnesia database]] | ||
====Mnesia==== | ====Mnesia==== |
Revision as of 09:02, 27 June 2008
Erlang Language Programming Tutorials
Overview
Basic Erlang
- Terms
- Pattern Matching
- Expressions
- Functions
- Guards
- Modules
- Errors
- Processes and Messages
- Timeouts
- Macros
- Techniques of Recursion
- List Comprehensions
- List Comments
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.
Simple Types
Basic types in erlang include:
- atom - alice
- integer - 3
- float - 3.1415
- pid - a process id number <0.42.0>
- list - [ things in square brackets ]
- tuple - { things in curly braces }
Advanced Types
- binary - a binary data block
- function - a function, F = fun(X) -> X*X end.
- port - a path for data to flow to the outside world
- reference - a unique id over all processes
- record - the standard erlang data structure
Popular Modules
Example programs
- Hello World (Serial)
- Hello World (parallel)
- Prime Sieve with Linda
- Autonomous Agents in Erlang -- def: Autonomous Agent.
Advanced OTP
Databases
Mnesia
Advanced Erlang
Projects using erlang
- CouchDB - a scalable database for Apache
- Wings3D - a 3-D editor