Exlings
rustlings but for elixir this time
Install / Use
/learn @zoedsoupe/ExlingsREADME
exlings
Welcome to exlings! This project contains a series of small exercises designed to help you learn Elixir through practice. By fixing and completing these exercises, you'll learn how to read and write Elixir code.
Intended Audience
This project is suitable for beginners to Elixir, whether you're new to programming or coming from another language. No prior Elixir or Erlang experience is required!
Each exercise is self-contained and self-explained. However, you're encouraged to also check out these Elixir language resources for more details:
Also, the Elixir community is incredibly friendly and helpful!
Getting Started
Prerequisites
Make sure you have Elixir installed on your system:
| name | version |
| ------ | ----------- |
| elixir | >= 1.14.0 |
Installing Elixir
If you don't have Elixir installed yet, here are quick installation options:
macOS:
brew install elixir
Linux (Ubuntu/Debian):
sudo apt-get install elixir
Windows: Download and run the installer from elixir-lang.org
Using asdf (recommended for managing versions):
asdf plugin add elixir
asdf install elixir latest
For other installation methods, check the official Elixir installation guide.
You can verify your Elixir installation:
elixir --version
Installation
Clone this repository with Git:
git clone https://github.com/zoedsoupe/exlings
cd exlings
mix deps.get
Now you're ready to start! Run the following to begin:
mix exlings
Working with Exercises
The exercises are all placed in the ./exercises/ directory! You can edit them as you want!
Running Exercises
To run the next pending exercise:
mix exlings
To run a specific exercise by number:
mix exlings 1
Checking Progress
To list all exercises and see your progress:
mix exlings.list
Resetting Progress
To reset your progress and start from the beginning:
mix exlings.reset
What's Covered
The primary goal for exlings is to cover the core Elixir language and essential concepts from OTP.
Learning Resources
Here are some excellent resources to complement your exlings journey:
Official Documentation
- Elixir Official Getting Started Guide - The official introduction to Elixir
- Elixir Documentation - Complete Elixir standard library docs
- Elixir Language Reference - Syntax and language features
- Elixir Changelog - Stay updated with language changes
Interactive Learning
- Exercism Elixir Track - More exercises with mentor support
- Elixir Koans - Test-driven exercises
- Codewars Elixir - Coding challenges
Books
- Elixir in Action by Saša Jurić - Comprehensive guide
- Programming Elixir by Dave Thomas - From the Pragmatic Programmers
- Elixir School - Free online lessons (available in multiple languages)
Video Content & Podcasts
- Elixir em Foco - Brazilian podcast about elixir
- Elixir Casts - Free screencasts
- Alchemist Camp - Video tutorials
- ElixirConf talks - Conference presentations
Community
- Elixir Forum - Friendly and active community forum
- Elixir Reddit - News and discussions
Blogs & Articles
- ElixirWeekly - Weekly newsletter
- Elixir Radar - Curated newsletter
- Thinking Elixir Podcast - Podcast about Elixir
Advanced Topics
- Learn You Some Erlang - Understanding the BEAM VM
- Elixir Patterns - Common patterns and practices
- Awesome Elixir - Curated list of libraries and resources
Sponsors
Thanks to our amazing sponsors for supporting this project!
<p align="center"> <a href="https://www.coderabbit.ai/?utm_source=oss&utm_medium=github&utm_campaign=zoedsoupe"> <img src="https://victorious-bubble-f69a016683.media.strapiapp.com/Frame_1686552887_8d2a26b476.svg" alt="Coderabbit Sponsor Logo" height="80"/> </a> </p>Contributing
See CONTRIBUTING.md
