Jun 24, 2018
NixOps is a declarative deployment tool for NixOS, the purely functional Linux distribution. NixOps is traditionally used for cloud deployments, while personal NixOS machines are usually configured with
nixos-rebuild. But NixOps can be used to configure your personal machine as well. All my NixOS machines are configured with a file looking something like this:
Aug 22, 2017
MonadFixis a pretty difficult concept, and I personally found much of the existing content about it online to be somewhat unhelpful. I answered a request for an ELI5 of
MonadFixon Reddit, and someone suggested I turn my answer into a blog post. So here it is, edited with more content and detail.
Apr 1, 2017
Mar 23, 2017
Continuing my unending train of thoughts on static analysis of effects, in this post I’m going to talk about using
Applicativeto sort any collection. The
Traversabletypeclass is one of my favorites because it generalizes the idea of a collection so elegantly. I will show how to use
traverseto sort any such collection safely using a special applicative.
Mar 10, 2017
In the past, I’ve talked about using applicative functors to do static analysis (1, 2, 3). In this post, I’m going to explore a concept known as
Arrow, and compare its capabilities to those of monads and applicatives. Arrows have a high granularity of features. This post will be split into sections for each of those features. Those sections are:
Oct 12, 2016
Abstract: I define a typeclass for functors from Kleisli categories to Hask. This class turns out having more interesting properties than I expected, encompassing various Haskell patterns such as concurrency, and monad transformers.
Sep 23, 2016
It’s that time again. WMCQ just wrapped up and we’ve got a load of data to work with. Some of you may remember the last time I did this. I’m still working (in my free time) on a web interface for doing my analyses, but for now I’ll just share the results of me manually running the programs.
Sep 17, 2016
Applicatives have an interesting relationship to concurrency.
fraxlis my attempt to abuse this relationship with free monads to get something more abstract than
haxl. By using a special
fraxlallows computations to be implicitly concurrent.
Apr 13, 2016
In my last post, I explored the problem of Applicative effects in free monads. After some great discussion between Edward Kmett, Dave Menendez, /u/MitchellSalad, and myself, I think I’ve come to a new understanding.
Apr 8, 2016
UPDATE: I’ve written a second post addressing some issues with this one.
Mar 31, 2016
Hello, and welcome to my new blog! For a while now, I’ve been switching between a few platforms like Wordpress and Medium. But I never liked not having a simple git repo to hold the whole blog. Posts were managed by a magic server, formatting was complicated, and version control was bad or non-existent. The solution was Jekyll.
Sep 24, 2015
Magic deck building is no easy task. You have to identify a strategy, choose cards that go well together, and make sensible cuts. With all the cards available in a given format, this can be a daunting task.