Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elixir - Exploring actor-based systems

Elixir - Exploring actor-based systems

Talk given at PartialConf 2017 in Sofia, Bulgaria

Michał Muskała

September 23, 2017
Tweet

More Decks by Michał Muskała

Other Decks in Programming

Transcript

  1. – José Valim “Functional programming is associated with concurrency but

    it was not by design. It just happens that, by making the complex parts of our system explicit, solving more complicated issues like concurrency becomes much simpler.”
  2. x1 = async_func1() x2 = async_func2(x1) x3 = async_func3(x2) x4

    = async_func4(x3) x5 = async_func5(x4) x6 = async_func6(x5)
  3. OTP

  4. – Joe Armstrong “We do not have ONE web-server handling

    2 millions sessions. We have 2 million webservers handling one session each.”
  5. THE GOALS OF ELIXIR • COMPATIBILITY • EXTENSIBILITY • PRODUCTIVITY

    • PRODUCTIVITY • MAINTAINABILITY • RELIABILITY
  6. defmacro if(condition, clauses) do optimize_boolean(quote do case unquote(condition) do x

    when x in [false, nil] -> unquote(else_clause) _ -> unquote(do_clause) end end) end