in Prolog - Later the VM was rewritten in C - Concurrent, fault tolerant with no maintenance downtime - Ericsson AXD301 switch (1998) - 1MLOC with 99.9999999% reliability - Open sourced in 1996 A Brief History Friday, March 8, 13
Float - 4.2 - 64bit representation Atom - example - Non garbage collected values Reference - ref - Unique value from make_ref/0 Binary - <<“bin”>> - Sequence of bytes Pid - <0.42.0> - Process ID issued per process Port - #Port<0.592> - Port ID from open_port/2 Fun - #Fun<erl_eval.20.82930912> - First class function Friday, March 8, 13
monads. Functional Language Single Assignment: Value = value. Value = othervalue. % -> no match exception - This exception happens at runtime Pattern Matched: {LeftHandSide, _} = {value, othervalue}. LeftHandSide. % -> value - Used for all forms of case statements Friday, March 8, 13
system events across actors - Delivery is guaranteed - Order of messages from one actor to another is guaranteed - Actors share no state Friday, March 8, 13
(no sychronized sections) No live-lock scenarios like with STM We can wait a long time for our message to process Overhead for knowledge of message completions Friday, March 8, 13
run ping of death (make sure it boots) https://github.com/patrickgombert/ping-of-death- client - Feel comfortable solving bite sized problems learn you some erlang http://learnyousomeerlang.com/ koans perhaps? http://github.com/patrickgombert/erlang-koans Friday, March 8, 13