Disclaimer: these posts are synchronized from Planet Clojure

On sameness in programming

We often talk about the importance of writing our code in terms of pure functions which, like math functions, have no side effects and return the same values ​​for the same arguments. In this article, I propose to explore another fundamental aspect of the difference between functional programming an...

Programming in Clojure (Part 1 Basics)

This 7 part series of posts will cover programming in Clojure. Clojure is an awesome functional programming language that runs on Java's Virtual Machine (JVM). It is sometimes called a LISP or LISt Processer. Through a series of code 'playbacks' I will guide you through the basics of the language. I...

Condition system in Clojure

A while ago I’ve watched this amazing talk: Condition Systems in an Exceptional Language by Chris Houser. And more recently I’ve found one interesting library called farolero, which provides a set of functions and macros that mimic Common Lisp’s condition system. So I was generally interested in the...

Consume HTTP APIs lazily

TL;DR: Using lazy sequences for API consumption has advantages in memory consumption and promotes interactive development. HTTP APIs are ubiquitous and consuming them is a programming task coming up quite regularly (at least for me). Therefore I found the following idiom pretty useful, which turns ...

Второе издание

У меня большая радость — выпустил второе издание книги “Clojure на производстве”. Сел за него спустя полгода после первой публикации. Процесс занял четыре месяца, и вот — готово.Исправил опечатки и неточности, о которых сообщили читатели. Низкий поклон всем, кто их прислал....

Polymorphism with Clojure Protocols

Photo by Emile Perron on UnsplashIn my previous post I wrote about how we can implement polymorphism in Clojure with multimethods. I showed that it’s actually such a powerful tool, that we can do with it a lot more then just modelling class hierarchy....

Clojure Goodness: Turning Map Values To Map Keys

In the clojure.set namespace we can find the function map-invert. This function returns a new map where the values are keys with the appropriates keys of the original map assigned as value. If the original map has duplicate values than the latest key for the duplicate value will be the value of the...

Almost like Clojure

Practicing different programming languages has given me new insights in programming concepts, code styles and tools. My current crush is Clojure. I like the functional and data oriented style of it, the simplicity and minimalism. I think my favorite thing with Clojure, though, is how the REPL ...

Top 5 Programming Skills Worth Learning in 2021

2021 has already proven itself as another crazy year. It’s also another fantastic opportunity to learn new skills and expand on existing ones. In software development, stagnation is a sure-fire way to fall behind the curve. With new languages, technologies, best practices, and frameworks coming out ...

PF4J and Clojure

Today we’ll take a look at interesting Java library, called PF4J, which describes itself as Plugin Framework for Java. The main purpose of this library is to provide a way of detecting, initializing, and using plugins to extend your Java application with new features without the need to modify the c...

Meta Reduce 2021.0: Still in Lockdown

I’ve noticed the other day that I haven’t written any blog posts this year.1 This made me sad. Another thing that made is sad is that about a year ago I wrote this lockdown-themed article and very little has changed since then - life is still dominated by the COVID-19 pandemic and we’ve been in and ...

Clojure Developer

Clojure DeveloperSkipp Renovation | Austin, TX or Brooklyn, NYTechnology to translates home renovation design into plans for specific space$80000 - $140000https://www.skipp.coWith 80% of housing stock now older than 20 years old and a growing affordability crisis, younger homeowners are renovating...