The 1.0.0 of Idris has been released just a few months back, just enough to start trying out the language and some of the possibilities dependent typing offers. But this post is not about dependent typing. There is already a really good book that came out this year, named Type Driven Development with Idris, exploring... Continue Reading →
Lisp Meta-Programming for C++ Developers: Automatic traces (Part 2)
In the previous posts, we started a series dedicated to familiarize C++ developers to the world of LISP meta-programming, based on the Clojure programming language. The goal is to offer a different perspective on meta-programming, how we can approach it, and the kind of use cases it can address. We started the series by an... Continue Reading →
Clojure High Performance Fibonacci
Having recently finished reading the Clojure programming book named Clojure: High Performance JVM Programming, I found in it quite a bunch of useful information to increase the performance of Clojure (and more generally JVM-based) applications. The book contains many examples of different constructs we can use in Clojure to increase the performance of arithmetic operations.... Continue Reading →
Lisp Meta-Programming for C++ Developers: Automatic Traces
In the previous posts, we started a series dedicated to familiarise C++ developers to the world of LISP meta-programming, based on the Clojure programming language. The goal is to offer a different perspective on meta-programming, how we can approach it, and the kind of use cases it can address. We started the series by an... Continue Reading →
A Clojure.Spec for Generic Binary Trees
Back in the post on a previous post Clojure Spec, we discussed how to correctly spec a binary tree using Clojure.Spec. Among the many possible representations for binary trees in Clojure, we chose the following one: A node is a vector containing a value followed by a map of children Inside the map of children:... Continue Reading →
LISP Meta-Programming for C++ Developers: Compile time computations
In the previous posts, we started a series dedicated to familiarise C++ developers to the world of LISP meta-programming, based on the Clojure programming language. The goal is to offer a different perspective on meta-programming, how we can approach it, and the kind of use cases it can address. We started the series by an... Continue Reading →