Kicking off Functional February with Clojure

I’ll be going live within the hour on the official Exercism Twitch channel: ExercismLive - Twitch

Starts at 11:00 PM UTC. The recording will be available afterwards in case you can’t catch it live.

The intended audience will be folks who are brand new to functional programming but possibly familiar with other paradigms. I hope to provide a gentle introduction to the functional mindset. I’ll first solve a problem using the common imperative loop with a counter variable, and then show how to do it by mapping functions over sequences.


Amazing. Very cool.

Here’s a tweet for you to share with pps!

1 Like

Stream recording:

I uh… recommend watching it at 1.5 speed :turtle:

I’m currently writing the outline for episode 2: reduce. Otherwise known as fold, or foldl.

One possible angle is the exercise Accumulate, which essentially involves re-implementing the reduce function.

Episode 1 covered map and filter, and now I want to demonstrate how both are actually special forms of reduce.

There’s the more obvious uses of reduce, like summation/exponentiation. But then I need to show how it’s useful in many other ways that aren’t obvious, like consuming a collection and building up a data structure.

And finally, I’ll show how re-frame, a popular functional UI framework, uses reduce to apply all the effect handlers in the event loop.


In today’s stream, we learn functional programming as well as some music theory, using my new live musical coding environment: