Elixir

notes

  • hex is the package manager
  • uses erlang OTP libraries (genserver/task/agent etc)
  • built on BEAM VM
    • firefly as alternative to beam as a wasi runtime
  • popular web framework phoenix with liveview
    • liveview native for apps/desktop apps
  • uses message passing instead of shared memory
    • this can cause a problem for data heavy applications with something like liveview as the data is copied from process to process
  • dynamic atom creation causes memory leaks (gc does not collect) and can crash if over 1048576
  • supports hot code reloading using relup and codechange for migration of current state
  • libcluster for auto cluster config
    • clustering uses epmd by default