SlaveCode LogoSlaveCode.
Academy
RoadmapProblemsSystem Design
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
SlaveCode LogoSlaveCode.

Standardize your coding journey. From basic academy courses and guided roadmaps to advanced system design, company interview prep, and real-time coding arenas. The all-in-one platform to master algorithms and prove your engineering excellence.

Learn & Practice

  • Academy
  • Problems
  • Roadmap
  • System Design

Compete & Tools

  • Arena
  • Contests
  • Compilers

Legal & Support

  • Report an Issue
  • Privacy Policy
  • Terms of Service
  • Contact Us

© 2026 SlaveCode. All rights reserved.

Erlang

Erlang

Erlang is a functional language, designed for use in real-time distributed systems. It's used within telecom networks, and is notable for simple message passing with lightweight independent processes.

Master Erlang with
Interactive Learning

Elevate your Erlang skills through 85 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.

Erlang

About Erlang

Erlang is a functional programming language, used for creating real-time distributed systems, which can easily scale in size.

It's best for concurrent applications, such as instant messaging and banking platforms, as each function call has their own process and operates independently. This is useful as code can run for a very long time without issues occurring. Also, processes and message passing are all built into the language by default - no need for any extra libraries!

It was designed within Ericsson, a Swedish telecommunications company, for use in their networks, and is currently used inside telecommunication equipment.

Key Features of Erlang

Functional

Multi-clause functions with pattern matching and guards are the building blocks of Erlang code.

Dynamically typed

Erlang has no compile-time type checks, favoring run-time pattern matching.

Immutable

All data in Erlang is immutable, allowing for safer and easier-to-reason-about concurrency.

Concurrent

Erlang uses the actor model - shared-nothing concurrency via message passing.

Fault tolerant

Erlang runs in a VM known for running low-latency, distributed and fault-tolerant systems.

Flexible package manager

Can pull in both Erlang and Elixir packages, both public and private

Track icon

Functional

Multi-clause functions with pattern matching and guards are the building blocks of Erlang code.

Dynamically typed

Erlang has no compile-time type checks, favoring run-time pattern matching.

Immutable

All data in Erlang is immutable, allowing for safer and easier-to-reason-about concurrency.

Concurrent

Erlang uses the actor model - shared-nothing concurrency via message passing.

Fault tolerant

Erlang runs in a VM known for running low-latency, distributed and fault-tolerant systems.

Flexible package manager

Can pull in both Erlang and Elixir packages, both public and private

Dive into Erlang practice challenges

Hello World
Hello World
Level 1

SlaveCode's classic introductory exercise. Just say "Hello, World!".

Two Fer
Two Fer
Level 1

Create a sentence of the form "One for X, one for me.".

Leap
Leap
Level 1

Determine whether a given year is a leap year.

Accumulate
Accumulate
Level 1

Implement the `accumulate` operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.

Collatz Conjecture
Collatz Conjecture
Level 1

Calculate the number of steps to reach 1 using the Collatz conjecture.

Raindrops
Raindrops
Level 1

Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.