Arcadian Visions Blog
I should coco

MTL's Unfortunate MT Anchor

An unpacking of a cryptic tweet suggesting that Monad Transformers have limited the popularity of the design used by the Monad Transformer Library,

read more

Optionally Exposed

I recently wrote some code to add an interesting new feature to hpack. I'm going to highlight some drawbacks to it to hopefully promote discussion.

read more

Stack vs Stackage

Due to their common founding organization, contributors, and naming, stack and Stackage are often con-fused. This note is in response to a request for clarification during a Twitter conversation,

read more

Postmortem: Cabbage

Some time ago, I made the traditional bad decision of working on my own build tool. In this case, I was interested in more efficiently sharing compilation artifacts across a dozen or so Haskell projects between two development machines without sacrificing isolation between those projects such that working on one would never break another.

read more

GHC Development: OutsideIn

Here are some notes I took while attempting to contribute to the GHC Haskell compiler. I came to the project as an outsider, but with considerable experience with the language.

read more

Public Policy: Encrypted

The debate around granting the government access to encrypted communications reached a new level when the Department of Justice demanded Apple help them break the encryption of an iPhone connected to a terrorist.

read more

Postmodern Haskell and OpenGL: Introducing vinyl-gl

This article is for those familiar with Haskell and, at least passingly, with Jon Sterling's vinyl library (that packs quite a nice introduction). Further, it is assumed that the reader is familiar with the basics of computer graphics and OpenGL. I have written another article that introduces the use of relatively modern OpenGL practice with Haskell that may serve as a primer for this article.

read more

Fast Factory Video

I spent the past few months developing the perception system behind this video of a PR2 grasping moving objects.

read more

Introducing CLUtil

OpenCL is a cross-platform parallel programming standard with support for execution on both CPUs and GPUs. The OpenCL package on hackage provides a direct binding to the API with just enough Haskellosity to make invoking those API functions borderline pleasant. That said, there remains a certain amount of boilerplate that is rather offputting.

read more

Haskell and OpenCV

Some time ago I forked Noam Lewis's HOpenCV bindings to the fine OpenCV library to fill them out with pieces I needed for several projects at work, and to experiment with how such bindings could be used. Over time I've built up some useful components, and, in a fit of non-procrastination, I've recently pushed many updates and assembled a fun demo program.

read more

Haskell Genetic Algorithm "Hello, world!"

A post on reddit linked to several implementations of a cute "Hello, world!" program demonstrating a genetic algorithm that evolves towards a target string. Example programs were written in several languages, and I thought a Haskell version could be worthwhile as it demonstrates the use of random numbers, an issue that frustrates many newcomers to the language.

read more

Modern OpenGL with Haskell

This is a Haskell implementation of the ideas presented in chapter two of Joe Groff's excellent tutorial on modern OpenGL.

read more