(ns hello-world) (defn hello ( (hello "World")) ([name] (str "Hello, " name "!")))
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Implement complex numbers.
Insert and search for numbers in a binary tree.
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.
Extends Lisp's code-as-data system to vectors and maps, and has a powerful macro system.
Clojure's primary programming interface is the Read-Eval-Print-Loop (REPL).
Allows avoiding mutable state, provides functions as first-class objects, and emphasizes recursion.
Doesn’t force programs to be referentially transparent, and doesn’t strive for 'provable' programs.
Supports sharing changing state between threads in a synchronous and coordinated manner.
Shares the JVM type system, GC, threads etc. Compiles all functions to JVM bytecode.
Every language has its own way of doing things. Clojure is no different. Our mentors will help you learn to think like a Clojure developer and how to write idiomatic code in Clojure. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Clojure - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The Clojure track on Exercism has 9 concepts and 86 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all Clojure exercises
The best part, it’s 100% free for everyone.