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 →

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 →

QuickCheck is fun, deal with it

In our previous post, we played with QuickCheck on an arithmetic DSL and used it to check and discover properties on its associated interpreters. Through these experiments, we explored some of the classic usage of QuickCheck and demonstrated through some examples: Its ability to reveal some design defects Its ability to test high level relations... Continue Reading →

QuickCheck experiments on a DSL

After having spent the last three posts exploring how to implement our own QuickCheck, the goal of the next two posts will be to play with it, to test and discover properties on our code and have fun as well. The target of these experiments will be the Arithmetic DSL we built several posts back... Continue Reading →

Code your own QuickCheck (Shrink)

In the previous posts, we started to implement our own QuickCheck in Haskell, which we named RapidCheck, based on the original publication on QuickCheck. The first post went over the basic concepts needed to build such a module, while our last post focused on how we can write generator for arbitrary functions. You might want... Continue Reading →

Code your own QuickCheck (HOF)

In the previous post, we started to build our own QuickCheck implementation in Haskell, which we named RapidCheck. We went over the basic concepts needed to build such a module, based on the original publication on QuickCheck. In particular, we explained in details and implemented the following concepts from QuickCheck: Gen a: a generator of... Continue Reading →

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: