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...
An Event-Driven REST Coffee Machine API with Clojure
Today I’m going to show you how to build a REST API for a coffee machine using: Event-Driven communication between components Clojure, a language for writing correct and robust software with less ceremony Integrant for application state management reitit for routing http requests ...
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....
How to Learn Clojure: The Main Study Stages
Learning Clojure isn't just for big-brained people and academia. We've prepared an article for newcomers and developers interested in functional programming to prove everything is possible....
Making REPL driven development easy with leiningen
TL;DR: Leiningen provides facilities that make using a REPL driven workflow a breeze. You should consider using them on your projects for a more pleasant development experience. Make your system reloadable First of all the application should be reloadable, that means restartable in the REPL without...
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...
An REPL oriented testing framework for clojure and clojurescript
tst is a testing library for clojure(script) that is designed to be used from the REPL. In this article, I'm going to describe how to use it.The base API consists of two entities, the macro testing and the function run-test.Defining a test suitetesting macro is used to define the test suite tree. Th...
Bitemporality: More Than a Design Pattern
Bitemporality is the full solution. Tag: Clojure Visit https://juxt.pro for more....
Storyteller: A New Medium For Guiding Others Through Code
As a computer science instructor, I have long wished that there was a better way to guide others through my code. When I was first learning to program I was a big fan of traditional programming books. I have shelves and shelves of 800+ page books covering different programming languages and technolo...
Working with ClojureScript at ease
Today we are going to talk about ClojureScript and review many useful functions and concepts you need to know when working with Clojure/JavaScript interoperability....
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...
Working at Skipp - Democratize Architecture and Design with Clojure
Skipp is an Austin-based early-stage, VC-backed startup, using AI and the latest in spatial technology to simplify the renovation process and democratize access to elevated designs for the everyday homeowner. Skipp collaborates with world-class architects, designers and technologists to not only mak...
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...