Skip to content

sshehryar/elixir_school

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elixir School

Lessons in the Fundamentals of Elixir, inspired by Twitter's Scala School.

This is actively being developed, your feedback is encouraged.

About Elixir

"Elixir is a dynamic, functional language designed for building scalable and maintainable applications." -- elixir-lang.org

Elixir leverages the battle tested ErlangVM to build distributed and fault-tolerant systems with low-latency out of the box.

Features:

  • Scalable
  • Fault-tolerant
  • Functional Programming
  • Extensible

Lessons

  1. Basics - Setup, basic types and operations.
  2. Collections - List, tuples, keywords, maps, dicts and functional combinators.
  3. Enum - A set of functions for working with collections.
  4. Pattern Matching - Match operator, matching, and the pin operator.
  5. Control Structures - The if/2, unless/2, case, and cond structures.
  6. Composition - Modules, module attributes, and structs.
  7. Mix - Build tool, package manager, and CLI tasks.
  8. Testing - ExTest and ExSpec.
  9. Concurrency - Processes, Agents, and Tasks.
  10. Concurrency cont - GenServer, GenEvent, and Supervisors.
  11. Distribution - Distribute work to remote nodes.
  12. Elixir + Erlang - Interoperability with Erlang.

Examples

Awesome resources

Contributing

Contributions are welcomed and encouraged! Please see CONTRIBUTING.md.

License

Please see LICENSE for licensing details.

About

Lessons in the Fundamentals of Elixir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published