explaingit

functional-koans/clojure-koans

3,798ClojureAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

Learn Clojure by filling in the blanks, a set of progressive exercises that auto-run as you save, giving instant feedback as you work through the language from scratch.

Mindmap

mindmap
  root((clojure-koans))
    What it is
      Learning exercises
      Fill-in-the-blank format
      Auto-running tests
    Tech Stack
      Clojure
      Java JVM
      Docker or Vagrant
    Learning Flow
      Save answer
      Tests auto-run
      Move to next koan
    Audience
      Clojure beginners
      Functional learners
    Setup Options
      Local install
      Docker
      Vagrant
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Learn Clojure from zero by working through exercises that immediately tell you if your answer is right.

USE CASE 2

Practice functional programming concepts like immutability and higher-order functions in a guided, self-paced format.

USE CASE 3

Use the built-in REPL to experiment with Clojure expressions while solving each exercise.

USE CASE 4

Set up a reproducible Clojure learning environment in minutes using Docker without touching your system configuration.

Tech stack

ClojureJavaDockerVagrant

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Java and Clojure installed locally, or Docker, Docker path is the easiest for beginners.

Eclipse Public License 1.0, free to use and modify, if you distribute modified versions, they must be under the same license.

In plain English

This is a set of programming exercises for people who want to learn Clojure, a programming language in the Lisp family that runs on the Java platform. No prior experience with Clojure is required to start. The format borrows a teaching approach called koans, originally from Zen Buddhism and adapted for programming education by the Ruby community. Each exercise presents you with a piece of code that has a blank in it, and your job is to fill in the blank so that a test passes. The tool runs continuously in the background and automatically moves you to the next exercise as soon as you save a correct answer, so you get immediate feedback without having to manually run anything. When you get stuck or want to experiment, you can open an interactive console called a REPL where you type expressions and see results immediately. The README explains how to use the built-in help commands inside that console to look up what functions do. You can get the exercises running in a few ways: installing the required tools directly on your machine, using Vagrant (a tool for running pre-configured virtual machines), or using Docker (a tool for running isolated software containers). All three options are covered in the README with specific commands. The project is licensed under the Eclipse Public License 1.0. It was originally created in 2010 as a learning tool for newcomers to functional programming and has since been maintained by the community.

Copy-paste prompts

Prompt 1
I'm starting clojure-koans for the first time using Docker. What is the exact Docker command to get the koans running and how do I know when a koan passes?
Prompt 2
I'm stuck on a clojure-koans exercise involving sequences. How do I open the REPL and use the help commands to look up what the map function does?
Prompt 3
Walk me through the first five clojure-koans exercises, what concepts do they cover and what kind of answers am I filling in?
Prompt 4
I installed Clojure locally and want to run clojure-koans without Docker. What commands do I run after cloning the repo?
Open on GitHub → Explain another repo

← functional-koans on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.