Illustration
Abstract.

The objective is to define mathematical concepts found in Erlang.

Define what is meant by State.

  1. A State s is a finite amount of data — i.e. 0s and 1s in a memory somehere.

Define a process.

  1. A process p has:
    1. addresses(p) : List Address
    2. state(p) : State
    3. computation(state(p)) ≡ next(p) : Message → Message × State
  2. There is a function lookup(address) : Process
  3. send(address, msg) causes lookup(address) ≡ p to receive msg.
  4. If: p_next ≡ next(p), then: p_next(msg) ≡ (n_msg, n_state) is called.
  5. n_msg my be sent.
  6. state(p) :≡ n_state
  1. Concepts are selected from various sources and experiences listed below.
    1. Programming Erlang
  2. The various ideas are encoded using Type Theory