Materials for the <Programming> 2025 tutorial Effekt: Lexical Handlers in Action.
All the tasks are Literate Effekt files (*.effekt.md
) in the tasks/
subfolder.
- hurl & stages
- sudoku
- event
- BONUS challenge (domain modelling using effect handlers)
- BONUS pull (bidirectional effects)
- Effekt Discord https://discord.gg/dWUaFX7xtr (ask questions, report bugs)
- Language Tour https://effekt-lang.org/tour (short bite-sized tutorials)
- Playground https://effekt-lang.org/playground (shareable client-side playground)
Tip
If you prefer working online, the exercises are also available at https://effekt-lang.org/docs/exercises
However for larger / independent projects, we highly recommend you install Effekt on your machine.
Otherwise, here's how to install Effekt:
- Install VSCode, JVM (≥11) & Node.js (≥ 16)
- Clone this repository
- Install the
Effekt
extension in VSCode (https://marketplace.visualstudio.com/items?itemName=effekt-lang.effekt, should get offered if you open the repository in VSCode) - Open some
*.effekt
or*.effekt.md
file in VSCode - Install Effekt via the pop-up (or use
npm install -g @effekt-lang/effekt
) - Run a file using a
|> Run
code lens over amain
function or by runningeffekt <path-to-file>
If you use Nix, the automatic installer won't work, but we've attached a flake.nix
file to this repository, so you can use nix develop
.