Open Source Erlang for DEBIAN
-----------------------------

Erlang is a programming language designed at the Ericsson Computer
Science Laboratory.  Open-Source Erlang was released to help encourage
the spread of Erlang outside of Ericsson.

(From the White Paper:  http://erlang.org/white_paper.html)

Erlang is characterized by the following features:
     
*  Concurrency - Erlang has extremely lightweight processes whose memory
   requirements can vary dynamically. Processes have no shared memory and
   communicate by asynchronous message passing. Erlang supports
   applications with very large numbers of concurrent processes. No
   requirements for concurrency are placed on the host operating system.
					     
*  Distribution - Erlang is designed to be run in a distributed
   environment. An Erlang virtual machine is called an Erlang node. A
   distributed Erlang system is a network of Erlang nodes (typically one
   per processor). An Erlang node can create parallel processes running  
   on other nodes, which perhaps use other operating systems. Processes  
   residing on different nodes communicate in exactly the same was as   
   processes residing on the same node.
										                                        
*  Robustness - Erlang has various error detection primitives which can 
   be used to structure fault-tolerant systems. For example, processes  
   can monitor the status and activities of other processes, even if    
   these processes are executing on other nodes. Processes in a
   distributed system can be configured to fail-over to other nodes in
   case of failures and automatically migrate back to recovered nodes.
*  Soft real-time - Erlang supports programming "soft" real-time systems,
   which require response times in the order of milliseconds. Long
   garbage collection delays in such systems are unacceptable, so Erlang
   uses incremental garbage collection techniques.

*  Hot code upgrade - Many systems cannot be stopped for software
   maintenance. Erlang allows program code to be changed in a running
   system. Old code can be phased out and replaced by new code. During  
   the transition, both old code and new code can coexist. It is thus    
   possible to install bug fixes and upgrades in a running system without
   disturbing its operation.

*  Incremental code loading - Users can control in detail how code is
   loaded. In embedded systems, all code is usually loaded at boot time.
   In development systems, code is loaded when it is needed, even when  
   the system is running. If testing uncovers bugs, only the buggy code 
   need be replaced.

*  External interfaces - Erlang processes communicate with the outside
   world using the same message passing mechanism as used between Erlang
   processes. This mechanism is used for communication with the host
   operating system and for interaction with programs written in other
   languages. If required for reasons of efficiency, a special version of
   this concept allows e.g. C programs to be directly linked into the
   Erlang runtim

The how's and why of Erlang are discussed at the website
at: http://erlang.org

Enjoy Erlang! :-)

Brent A. Fulgham <bfulgham@debian.org>  Sat, 10 Aug 2002 23:16:47 -0700


----------------

This project (Erlang for Debian) is hosted on Alioth:

https://alioth.debian.org/projects/pkg-erlang/ (project page)
svn://svn.debian.org/svn/pkg-erlang/erlang/trunk/ (SVN)
http://svn.debian.org/wsvn/pkg-erlang/erlang/trunk/ (browse SVN)
mailto:pkg-erlang-devel@lists.alioth.debian.org (mailing list)

----------------

Note, that if you want to get Erlang documentation, you'll have to
install erlang-manpages (for manual pages) and/or erlang-doc
(for docs in HTML and PDF).

 -- Sergei Golovan <sgolovan@debian.org>  Tue, 12 Oct 2010 11:02:27 +0400
