Skip to content

Coding Challenges for Clojureλ︎

Clojure coding challenges

Coding challenges are an excellent way to start learning a new language. The challenges allow you to focus on the language and not be concerned about the more general engineering aspects of software development.

Challenges are there to explore a language and practice your understanding of how to assemble working code. It is recommended to try different approaches to solving a challenges and even repeat the same challenges at a later date and see what additional approaches you have learned.

Exercism.io and 4Ever-Clojure are highly recommended starting point for learning Clojure and does not require any installation or setup. 4Ever-Clojure is a new implementation of 4Clojure.com.

Practicalli Challengesλ︎

Challenge that can be solved in a few hours (or less). Use a Clojure REPL connected editor to help solve these challenges.

Approach to solving challengesλ︎

Take a few minutes to digest the description of the challenge and make notes.

Identify the simplest possible thing to do, solving the problem in many small pieces which encourages experimentation

  • experiment, write code and evaluate to see what it does (optionally create a comment with the result)
  • use a rich comment (comment ,,,) to capture multiple ideas and designs, even failed experiments can be useful (separates experiments from working code)
  • continually evaluate code as expressions are written, to ensure their behaviour is understood (try different argument values for functions)
  • try different shapes of data
  • transform data shapes to keep function definitions simpler

Once there is a working solution, refactor or try different approaches and evaluate the merit of alternative solutions

Challenge websitesλ︎

A local Clojure development environment supports solving challenge websites, e.g Clojure CLI and a Clojure REPl connected editor

Challenge website Description Requirements
4Ever-Clojure Learning the core functions of the Clojure language Web Browser
Exercism Coding exercises with mentor support Web Browser & Exercim CLI
ClojureScript Koans Interactive exercises in a web browser Web Browser
Advent of Code Yearly coding challenge with a seasonal theme Clojure aware editor
CodeWars Mostly math-based coding challenges with Clojure variants Web Browser