Main Page

From Erlang Community

(Difference between revisions)
Revision as of 14:11, 1 August 2007 (edit)
Ulf (Talk | contribs)

← Previous diff
Revision as of 14:11, 1 August 2007 (edit) (undo)
Ulf (Talk | contribs)
m
Next diff →
Line 88: Line 88:
<br/><irss max=3>http://www.trapexit.org/forum/rss_mod.php?f=7</irss> <br/><irss max=3>http://www.trapexit.org/forum/rss_mod.php?f=7</irss>
<br/><irss max=3>http://www.trapexit.org/forum/rss_mod.php?f=14</irss> <br/><irss max=3>http://www.trapexit.org/forum/rss_mod.php?f=14</irss>
-|} 
- 
-{| style="margin-top:1em; width: 200px; background:#fcfcfc; border:1px solid #860404; cell-padding:0 white-space:nowrap; overflow: hidden" 
-|style="color:#000; font-size:85%; margin-top:0; "|  
-<h2 class="#bodyContent">Latest Planet Entries</h2> 
-<rss_planet max=3>http://planet.trapexit.org/rss20.xml</rss_planet> 
|} |}

Revision as of 14:11, 1 August 2007

Your Erlang Community Site

Welcome to trapexit.org, the Erlang community site where you can read news and weblogs related to Erlang/OTP, discuss projects, issues and ideas with other Erlang developers, and read and publish articles and HowTos related to Erlang/OTP.

What is Erlang and OTP?

Erlang is a programming language and a runtime system with strong built-in support for concurrency, distribution and fault tolerance. Originally developed at Ericsson, Erlang was released as open source in 1998.

The Open Telecom Platform (OTP) is set of Erlang libraries and design principles providing middle-ware to develop distributed, fault tolerant, massively concurrent soft real-time systems.

Here is an example of Erlang code:

-module(beersong).
-author('BillClementson').
-export([sing/0]).
-define(TEMPLATE_0, "~s of beer on the wall, ~s of beer.~n"
                    "Go to the store and buy some more," 
                    "99 bottles of beer on the wall.~n").
-define(TEMPLATE_N, "~s of beer on the wall, ~s of beer.~n"
                    "Take one down and pass it around, ~s"
                    " of beer on the wall.~n~n").

create_verse(0)      -> 
    {0, io_lib:format(?TEMPLATE_0, phrase(0))};
create_verse(Bottle) -> 
    {Bottle, io_lib:format(?TEMPLATE_N, phrase(Bottle))}.

phrase(0)      -> ["No more bottles", "no more bottles"];
phrase(1)      -> ["1 bottle", "1 bottle", "no more bottles"];
phrase(2)      -> ["2 bottles", "2 bottles", "1 bottle"];
phrase(Bottle) -> 
     lists:duplicate(2,integer_to_list(Bottle) ++ " bottles") ++ 
                     [integer_to_list(Bottle-1) ++ " bottles"].
bottles() -> lists:reverse(lists:seq(0,99)).
sing() ->
    lists:foreach(fun spawn_singer/1, bottles()),
    sing_verse(99).
spawn_singer(Bottle) ->
    Pid = self(), 
    spawn(fun() -> Pid ! create_verse(Bottle) end).
sing_verse(Bottle) ->
    receive
	{_, Verse} when Bottle == 0 ->
	    io:format(Verse);
	{N, Verse} when Bottle == N ->
	    io:format(Verse),
	    sing_verse(Bottle-1)
    after 
	3000 ->
	    io:format("Verse not received after 3 seconds"
                      " - re-starting singer~n"),
	    spawn_singer(Bottle),
	    sing_verse(Bottle)
    end.


Starter

Good places to start on trapexit.org

HowTo documents - Tutorials and Guides for Erlang developers
Erlang Cookbook - A collection of Erlang solutions to specific problems
Erlang Concepts - Articles dealing with specific Erlang aspects
Erlang Best Practices - Articles dealing with best practices in Erlang
Erlang Articles - Articles of interest to Erlang developers and testers
ErlangJobs - Erlang and Erlang related Jobs
Links to Erlang related sites outside Trapexit
RSS Feeds related to Erlang, including blogs and software development

Trapexit News

Hi there!

As you can see our forums are not available anymore. They're in a read only mode which makes you able to access the content, but not to edit or add to it.


Sorry for the inconvenience.

The content of Trapexit.org - including forums is currently being migrated to ErlangCentral.org. Check it out the new Erlang community website and its functionalities here: http://erlangcentral.org/

Latest Forum Posts

Erlang

Cheers ! So beautiful watch . Very fashionable look . Love i
  (Thu Sep 20, 2012 7:56 am)
Wholesale Nike Shoes (www.best-wholesaler.net) Paypal Accept
  (Thu Sep 20, 2012 7:30 am)
RE: erlang using 100% one of CPUs
  (Thu Sep 20, 2012 6:46 am)

Open Telecom Platform (OTP)

RE: MTS to Avid- Import Panasonic LX7 MTS to Avid Media Composer
  (Thu Sep 20, 2012 8:48 am)
RE: High quality louis vuitton Men Shoes Sale
  (Thu Sep 20, 2012 8:47 am)
RE: cheap replica handbags
  (Thu Sep 20, 2012 8:46 am)

Advanced Erlang/OTP

Wholesale NFL Jerseys(www.best-wholesaler.net)Paypal Accept
  (Thu Sep 20, 2012 7:46 am)
RE: How to Use MTS to AVI Converter on Mac
  (Thu Sep 20, 2012 1:50 am)
RE: Adidas Originals Running Shoes are Worth Buying
  (Wed Sep 19, 2012 8:54 am)

Mailing Lists Posts

Erlang questions mailing list

RE: grew
  (Wed Sep 19, 2012 9:22 am)
RE: Multicast
  (Wed Sep 19, 2012 9:22 am)
RE: erlang:now/0 off by over 90 seconds
  (Wed Sep 19, 2012 9:21 am)

Yaws mailing list

cheap replica handbags
  (Thu Sep 20, 2012 1:57 am)

Ejabberd mailing list

cheap replica handbags
  (Wed Sep 19, 2012 7:59 am)


Erlang/OTP Projects
Personal tools