academy

Learning Clojure

There are several lessons, for a variety of basic topics of Clojure. Each lesson will have a little bit of an explanation, which you can find in the appropriate page and a practical part. The practical part can be found in the appropriate clojure file under the src folder. In these files you will need to finish the implementation of a few functions. In order to test your implementation, you will run a command from the terminal which is going to run some tests. When all tests pass, you finished the lesson!

Training day

We will introduce some of the key characteristics of clojure: interactive development with the REPL, prefix notations and how to write functions.

I am a horse in the land of booleans

In order to make the most basic programs, we will be able to write down some conditionals. This lessons is all about those sweet ands and ors.

Structured data

In Clojure world data is the key, and especially maps. This lesson is the most important of the whole course, as we will learn about all the functions used to manipulate data structures, which make up the heart of any program.

Pokerface

In this lesson, under the pretense of making a program to parse hands of Poker, we will put to use what we have learned so far, and start to make programs that make some sort of sense.

Predicates

Many important functions, such as filter take other functions as arguments, specifically predicates. In this lesson we will start to experience more of the purely functional side of Clojure.

Recursion

See Recursion.

Looping is recursion

A very important data structure in Clojure is the ‘lazy sequence’. We will understand how these lazy sequences work and their relationship with recursion.

One Function to rule them all

map and reduce are extremely useful functions when manipulating data structures. We will learn how to exploit them best and gain full power over the language.