Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/trapexit/docroot2/wiki/extensions/rssplanet.php on line 39

Warning: Invalid argument supplied for foreach() in /home/trapexit/docroot2/wiki/extensions/rssplanet.php on line 61
Erlang Community - Main Page - Trapexit

Main Page

From Erlang Community

(Difference between revisions)
Revision as of 15:34, 22 June 2007 (edit)
Karl (Talk | contribs)
m (Added notice about changes to login)
← Previous diff
Current revision (16:11, 19 November 2009) (edit) (undo)
Admin (Talk | contribs)
m
 
(44 intermediate revisions not shown.)
Line 1: Line 1:
__NOTOC__ __NOEDITSECTION__ __NOTOC__ __NOEDITSECTION__
-= trapexit.org - Your Erlang community =+<table cellspacing="0" cellpadding="0" style="margin-left: 0px;">
 +<tr>
 +<td valign="top">
 + 
 += 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. 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.
- + 
-<!-- BEGIN UPDATE NOTICE. -->+=== Trapexit News ===
-{| style="width:100%; background:#fcfcfc; margin-top:+.9em; border:1px solid #860404;"+{| style="margin-left: 0px; margin-top: 15px; background:#fcfcfc; border:1px solid #860404; cell-padding:0 white-space:nowrap; overflow: hidden"
-|style="color:#000"|+|style="color:#000; font-size:85%; margin-top:20"|
-{| style="border:solid 0px; width:100%; background:none;"+Hi there!
-|style="text-align:center;white-space:nowrap; color:#000;"|+ 
-<div style="font-size:162%; border:none; margin:0; padding:.1em; color:#860404;">Update Notice</div>+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.
-<div style="top:+0.2em; font-size:100%;"><br/>trapexit.org is currently being updated, and might have occasional downtime.</div>+Sorry for the inconvenience.
-<div>Login for the wiki and the forum has been merged, <b>use the name from the forum to login</b></div>+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/erlang-times/
|} |}
-|}+ 
-<!-- END UPDATE NOTICE -->+
=== What is Erlang and 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 Ericson, Erlang was released as open source in 1998. +Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. Originally developed at Ericsson, it was released as open source in 1998.
 + 
 +OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. These tools and applications distributed by Ericsson are complemented by numerous other open source projects.
 + 
 +====Here is an example of Erlang code:====
 + 
 +<pre style="margin-top: 20px">
 +-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.
 +</pre>
-The Open Transaction Platform (OTP) is set of Erlang libraries and design principles providing middle-ware to develop distributed, fault tolerant, massively concurrent soft real-time systems. 
==Starter== ==Starter==
Line 24: Line 75:
[[:Category:HowTo|HowTo documents]] - Tutorials and Guides for Erlang developers<br/> [[:Category:HowTo|HowTo documents]] - Tutorials and Guides for Erlang developers<br/>
-[[:Category:CookBook|Erlang Cookbook]] - A large collection of Erlang solutions to specific problems<br/>+[[:Category:CookBook|Erlang Cookbook]] - A collection of Erlang solutions to specific problems<br/>
[[:Category:Concepts|Erlang Concepts]] - Articles dealing with specific Erlang aspects<br/> [[:Category:Concepts|Erlang Concepts]] - Articles dealing with specific Erlang aspects<br/>
[[:Category:Best Practices|Erlang Best Practices]] - Articles dealing with best practices in Erlang<br/> [[:Category:Best Practices|Erlang Best Practices]] - Articles dealing with best practices in Erlang<br/>
 +[[:Category:Articles|Erlang Articles]] - Articles of interest to Erlang developers and testers<br/>
 +[[ErlangJobs]] - Erlang and Erlang related Jobs<br/>
 +[[:Category:Links|Links]] to Erlang related sites outside Trapexit<br>
 +[http://planet.trapexit.org RSS Feeds] related to Erlang, including blogs and software development
-[[:Category:Articles|Erlang Articles]]<br/>+</td>
-[[:Category:Interfacing Erlang|Interfacing]] with the real world<br/>+<td valign="top">
-[[:Category:Erlang and Other Languages|Erlang and Other Languages]] - How Erlang compares with other Languages<br/>+
-[[:Category:Testing|Testing Erlang]] - How to test your code in Erlang<br/>+
-[[ErlangJobs]] - Erlang and Erlang related Jobs<br/>+{| 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 Forum Posts</h2>
 +<irss max=2>http://forum.trapexit.org/rss_mod.php?f=23</irss>
 +<br/><irss max=2>http://forum.trapexit.org/rss_mod.php?f=7</irss>
 +<br/><irss max=2>http://forum.trapexit.org/rss_mod.php?f=14</irss>
 +<br/><irss max=1>http://forum.trapexit.org/rss_mod.php?f=28</irss>
 +<br/><irss max=1>http://forum.trapexit.org/rss_mod.php?f=20</irss>
 +<br/><irss max=1>http://forum.trapexit.org/rss_mod.php?f=5</irss>
 +|}
-==Links==+{| style="margin-top:1em; width: 200px; background:#fcfcfc; border:1px solid #860404; cell-padding:0 white-space:nowrap; overflow: hidden"
-*[[:Category:Links|Links]]+|style="color:#000; font-size:85%; margin-top:0; "|
-*[[Current events|Events]] - What is happening in the Erlang World+<h2 class="#bodyContent">Latest Planet Entries</h2>
-*[[:Category:RSSFeeds|Check out our RSS Feeds]]+<rss_planet max=5>http://planet.trapexit.org/rss20.xml</rss_planet>
 +|}
-== Help with wiki ==+{| 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 Wiki Changes</h2>
 +<rss_recent max=3>http://www.trapexit.org/index.php?title=Special:Recentchanges&hideminor=0&days=30&feed=rss</rss_recent>
 +|}
 + 
 +{| 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">Mailing Lists Posts</h2>
 +<irss max=1>http://forum.trapexit.org/rss_mod.php?f=2</irss><br/>
 +<irss max=1>http://forum.trapexit.org/rss_mod.php?f=11</irss><br/>
 +<irss max=1>http://forum.trapexit.org/rss_mod.php?f=27</irss><br/>
 +<irss max=1>http://forum.trapexit.org/rss_mod.php?f=12</irss><br/>
 +<irss max=1>http://forum.trapexit.org/rss_mod.php?f=25</irss>
 +|}
 +
-If you need help with using a wiki, please read trough the MediaWiki [http://meta.wikimedia.org/wiki/Help:Contents help pages].+</td></tr></table>

Current revision

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.

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/erlang-times/

What is Erlang and OTP?

Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. Originally developed at Ericsson, it was released as open source in 1998.

OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. These tools and applications distributed by Ericsson are complemented by numerous other open source projects.

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

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)

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)

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)

Open Source Projects

RE: SOAP Library
  (Wed Sep 19, 2012 8:13 am)

User Contributions

Wholesale Nike Free(www.best-wholesaler.net)Paypal Accept
  (Thu Sep 20, 2012 7:55 am)

Trapexit Forums

Nike SB Stefan Janoski For Sale
  (Thu Sep 20, 2012 2:21 am)

Latest Planet Entries

Latest Wiki Changes

User:Jfilbertson02
  (Thu Jan 01, 1970 1:00 am)
User:Abiola01
  (Thu Jan 01, 1970 1:00 am)
User talk:Sberamea
  (Thu Jan 01, 1970 1:00 am)

Mailing Lists Posts

Erlang questions mailing list

RE: grew
  (Wed Sep 19, 2012 9:22 am)

Yaws mailing list

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

Erlang Web mailing list

RE: [Erlangweb-users] Tutorial Step 4 Annotations help
  (Tue Sep 18, 2012 8:50 am)

Ejabberd mailing list

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

RabbitMQ mailing list

RE: compatibility with legacy code
  (Wed Sep 19, 2012 7:51 am)


Erlang/OTP Projects
Personal tools