One of the most common structures used in programming are key/value maps, also called hash maps, dictionaries, association lists, or simply functions. These maps generally provide a way to add new values, lookup keys, iterate over the collection, etc. Yet in Coq, even though this facility exists in the standard library under the module
FMap, it can be quite difficult [...]
This is a tutorial on how to use the
pcase macro in modern flavors of GNU Emacs.
Recently I was playing around with the core types in the
conduit library (attempting to change leftovers so you could only unget values you had read), when I stumbled across a formulation of those types that lead to some interesting simplifications.
The following article is just a few notes on the nature of the Free monad.
This article assumes familiarity with monads and monad transformers. If you’ve never had an occasion to use
lift yet, you may want to come back to it later. The Problem What is the problem that
monad-control aims to solve? To answer that, let’s back up a bit. We know that a monad represents some kind of “computational context”. The question [...]
While talking with people on IRC, I’ve encountered enough confusion around conduits to realize that people may not know just how simple they are. For example, if you know how to use generators in a language like Python, then you know pretty much everything you need to know about conduits. The basics Let’s take a look at them step-by-step, and [...]