Implementing Clojure-like Transducers in Idris: definitions and main concepts

The 1.0.0 of Idris has been released just a few months back. In previous posts, we went over 10 differences between Haskell and Idris and illustrated the dependent typing features of Idris through the implementation of the rules of the Bowling game at the type level. We will continue this series on post on Idris,... Continue Reading →

Hexagonal Architecture and Free Monad: Two related design patterns?

Disclaimer: You do not need to understand Monads to follow this post. This is not a Monad tutorial either, but it might help you getting some intuition on what is a Monad. Some knowledge of Haskell and C++ might help but are not pre-requisite.   There is a lot of talk about Domain Driven Design... Continue Reading →

Idris dependent typing challenge: Bowling Kata

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. In this post, we will look at implementing a type safe version of the Bowling Kata in Idris, to see how far we can go with the... Continue Reading →

The alias method, or transforming data to increase efficiency (Clojure).

This post is dedicated to describing a wonderful and beautiful small algorithm that is not widely known. It allows to pick a random element among an enumerated distribution of elements, where each element is associated a weight. This need is frequently encountered, for instance in property based testing libraries. In test.check, it correspond to the... Continue Reading →

10 things Idris improved over Haskell

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 →

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: