RSS Amplifier

Blog

λm.me

RSS feed ↗34 posts

Latest posts

An alternative frontend for Haskell?

What if we were to build an alternative syntax for Haskell?

Implementing kind inference

A tutorial on how to implement kind inference using unification-based constraint solving.

Why I like JavaScript as a compilation target

Reasons why I use JavaScript as a compilation target for quick prototyping of programming languages.

Why I use the Twain web framework

Reasons why I prefer Twain over other Haskell web libraries.

2022 Recap

Recap of the things I worked on in 2022.

sqlite-easy: A primitive yet easy to use sqlite library

Announcing a new SQLite3 package that I recently released.

7 things I learned from Haskell

A few things I learned by using the Haskell programming language

Build a bulletin board using twain and friends

A tutorial for haskell-twain, building a very simple bulletin board website.

Things I worked on in 2021

Writing, streaming and OSS - A recap of the things I worked on in 2021.

A new project-oriented Haskell book

Announcing a new project-oriented, online, and free Haskell book titled 'Learn Haskell by building a blog generator'

Core Haskell tools

An overview of the core tools in the Haskell toolchain. Specifically, ghc, runghc and ghci

Typing polymorphic variants in Giml

In this blog post we'll take a closer look at polymorphic variants in Giml and how to infer their types.

Typing extensible records in Giml

In this blog post we'll take a closer look at extensible records in Giml and how to infer their types.

Giml's type inference engine

An overview of Giml's type inference engine, which uses unification-based constraint solving.

The bottom of the Haskell Pyramid

A list of things one should be familiar with to be productive with Haskell.

Strema is now Giml

Annoucing the rename of Strema to Giml

fix by example

fix is an interesting Haskell function that provides us with the ability to add recursion to non recursive functions.

Live coding a compiler

Announcing the Strema project: live coding a compiler in Haskell on Twitch

A bulletin board website using Haskell, scotty and friends

After writing my blog post on building a bulletin board, I decided spend a couple of weeks and build something a bit more featureful to serve as an example of doing something a bit more complex with scotty.

Things I worked on in 2020

In this post I'd like to look back and mention a few (programming related) things I worked on in 2020.

Build a bulletin board using scotty and friends

A tutorial for haskell-scotty, building a very simple bulletin board website.

Substitution and Equational Reasoning

In a lazy functional language where variables are immutable and effects are explicit, new powerful tools for understanding what programs mean become available - substitution and equational reasoning.

Consider Haskell

In this blog post I'd like to share a bit of my thoughts on why I think Haskell is a useful and practical language to get things done (and learn a lot on the way).

My side projects workflow

This is the approach I usually take with the side projects I actually 'finish'. Maybe it'll help you as well.

Compilers and Haskell

What does Haskell have to offer to compiler writers? Also links to compilers learning resources.

Purely Functional Games (in Haskell)

Over the last few months I've been working on a bullet-hell game in Haskell using purely functional style and I wanted to share some of the things I learned along the way.

Reading Simple Haskell

I wrote a presentation-style resource that tries to present a small part of Haskell and hopefully make it a little more accessible and a little less scary.

Building Gathering: a website for announcing group events

An experience report on building Gathering

Compiling Lisp to JavaScript from scratch in 350 LOC

In this article we will look at a from-scratch implementation of a compiler from a simple LISP-like calculator language to JavaScript.

Ludum Dare 35 post-mortem and things I learned using PureScript

I did not plan on participating in The last Ludum Dare #35 which started around three weeks ago. Ludum Dare more often than not comes at a very inconvenient time for me. It usually starts at around 5am on Saturdays and carries over until around that time on Tuesdays, Since I am working on Sundays the only free time I have to work on LD without taking vacation from work is Saturday and…

How Haskell models IO

Edit 2 : I've written two, better articles about IO in Haskell, see the my haskell-study-plan and my book Edit : After writing this post I turned to reddit for advice on how to make this post better, and even after a complete re-write It still felt lacking. After asking about it at #haskell, merijn linked to this article which in my opinion explains this subject much better than mine. So you might…

Starting Elm

Edit : this is old and probably no longer accurate! ** This post has been revamped and added to the Elm website, you can read it here . ** In this post I will try to guide you through some first steps of writing Elm . First, we'll talk about the installation process and the tools that come with it, but since Elm has a pretty good Online Editor you can definitely skip it for now. After that we'll…

My weekend with Elm

Ludum Dare is an online game jam competition/event that takes place every 4 months. Each competition starts when it's theme is announced and each participant has 48/72 hours for compo/jam entry respectively to complete and publish a game based on the theme. This weekend LD32 took place, and I decided to participate while using Elm to build my game - Banana Bandit (source on github ). Edit:…

Where to go after 'Learn You a Haskell For Great Good'?

A list of Haskell resources.