Gleam mastery exercises. Become your team's resident Gleam expert.
Put your Gleam skills to the test. Practice by building popular open-source tools from scratch.
HTTP is the protocol that powers the web. In this challenge, you'll build a HTTP server from scratch using TCP primitives. Your server will be capable of handling simple GET/POST requests, serving files and handling multiple concurrent connections.
Along the way, we'll learn about TCP connections, HTTP headers, HTTP verbs, handling multiple connections and more.
A shell is a command-line interface that executes commands and manages processes. In this challenge, you'll build your own
POSIX compliant shell that's capable of interpreting
shell commands, running external programs and builtin commands like cd
, pwd
, echo
and more.
Along the way, you'll learn about shell command parsing, REPLs, builtin commands, and more.
Learn about regular expressions and how they're evaluated. Implement your own version of grep
in Gleam.
This challenge follows the book Crafting Interpreters by Robert Nystrom.
In this challenge you'll build an interpreter for Lox, a simple scripting language. Along the way, you'll learn about tokenization, ASTs, tree-walk interpreters and more.
Before starting this challenge, make sure you've read the "Welcome" part of the book that contains these chapters:
These chapters don't involve writing code, so they won't be covered in this challenge. This challenge will start from chapter 4, Scanning.
Discover concurrent programming in Gleam while also learning about TCP servers, network programming, and the Redis Protocol.
Apache Kafka is a distributed event streaming platform often used for high-performance data pipelines. In this challenge, you'll build your own Kafka broker that's capable of serving basic requests.
Along the way you'll learn about TCP servers, the Kafka wire protocol and more.
Learn about B-Trees, the foundation of every relational database. Explore Gleam's API for reading/writing files, and handling custom file formats.