Skip to main content

Elixir

A functional, concurrent, high-level general-purpose programming language that runs on the BEAM virtual machine, which is also used to implement the Erlang programming language.

Sites

  • A Brief Guide to OTP in Elixir
    • What is OTP? Erlang actor model based on lightweight processes
    • Concepts: Processes, GenServer, Supervisor
  • How much memory is needed to run 1 million Erlang processes
    • Optimize the memory usage of Elixir's process to get a 30% improvement over a sample code
    • Not an idiomatic way to write code, but touch upon a lot of low-level details of how processes work
  • Why the dot when calling anonymous functions? (HN)
    • To disambiguate, to distinguish anonymous functions and normal functions, given the Lisp-2 approach that Elixir has
    • Without the dot, Elixir still doesn't have the expressiveness of Lisp-1, but also losses the clarity of Lisp-2
  • Elixir at Ramp
  • To spawn or not
    • Functions & modules for domain concerns. Processes for runtime concerns.
    • E.g. a game can involve many states and can have many processes to keep track of the states, but the game state is highly synchronized. It makes more sense to keep the game as 1 state while having functions and modules to manage the state