• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to Erlang
 

Introduction to Erlang

on

  • 4,682 views

A excerpt of my talk about Erlang and Powerset's use of it at Microsoft on 12/4/08.

A excerpt of my talk about Erlang and Powerset's use of it at Microsoft on 12/4/08.

Please feel free to distribute, but do not modify.

Statistics

Views

Total Views
4,682
Views on SlideShare
3,679
Embed Views
1,003

Actions

Likes
5
Downloads
135
Comments
0

6 Embeds 1,003

http://kirindave.tumblr.com 990
http://www.slideshare.net 8
http://www.mefeedia.com 2
http://safe.tumblr.com 1
http://static.slideshare.net 1
http://www.agglom.com 1

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to Erlang Introduction to Erlang Presentation Transcript

    • Erlang Essentials Core Language Features of Interest Excerpt From 12/4/08 Microsoft Presentation Slides by Dave Fayram dfayram@microsoft.com © 2008 Powerset
    • Erlang Basics • A Functional Language • Based around pattern matching, a total lack of shared state, and a flexible message passing system. • Lightweight Processes are just tail- recursive functions executing in parallel. © 2008 Powerset
    • Erlang Example © 2008 Powerset
    • Pattern Matching • Erlang has no assignment. • Every “=” statement forms a relationship. • Type descriptions are also valid for pattern matching. © 2008 Powerset
    • Pattern Matching © 2008 Powerset
    • Lightweight Processes • Any function (named or anonymous) can become a process. • A process is simply a function executing in parallel. • Process semantics mirror function semantics. © 2008 Powerset
    • Lightweight Processes • Extremely Efficient! • Modern systems can accommodate literally millions of Erlang processes. • Erlang LWP can be run in parallel on multiple CPUs. • Programs heavily reliant on processes tend to get free performance boosts. © 2008 Powerset
    • Lightweight Processes © 2008 Powerset
    • Lightweight Processes © 2008 Powerset
    • Asynchronous Messages • The “!” operator sends messages. • Asynchronous, no guarantee of delivery. • The “receive” statement matches messages. • One call to receive, one message removed from the process message queue. • Uses Pattern Matching to select messages © 2008 Powerset
    • [target] ! [message] © 2008 Powerset
    • Asynchronous Messages © 2008 Powerset
    • Asynchronous Messages © 2008 Powerset
    • Asynchronous Messages © 2008 Powerset
    • Asynchronous Messages • Erlang does not distinguish between “local” processes and “remote” processes. • This is the core of Erlang’s distributed programming. • Semantics are identical (already, no strong guarantees of message delivery). © 2008 Powerset
    • Asynchronous Messages © 2008 Powerset
    • Asynchronous Messages © 2008 Powerset