dynamically typed, functional language runs on erlang vm, making it faster than interpreted languages (like python) uses actor model. code runs in lightweight threads, called processes. processes communicate through messages 1 references Unleashing Concurrency in Elixir: Master Processes and Messaging - YouTube ↩