Using multiple versions of GHC in parallel with GNU stow
Do any of the following apply to you? You sometimes hack on GHC. You sometimes want to try out an unreleased GHC version. You maintain a library and want to make sure it builds with several different...
View Articlefoldr is made of monoids
> import Data.Monoid In his recent blog post What is foldr made of?, Tom Ellis made the clever observation that foldr is equivalent in power to the combination of map and compose, where > compose...
View ArticleCombinatorial species definition
Continuing from my previous post, recall that the goal of species is to have a unified theory of containers with labeled1 locations. So, how do we actually specify such things (leaving aside for the...
View ArticleTeaching abstraction
I’m just beginning to prepare for the third incarnation of CIS 194, Introduction to Haskell in the spring. It’s occasioned some general thoughts on teaching abstraction which seemed worth writing down....
View ArticleSpecies definition clarification and exercises
[This is the fourth in a series of posts about combinatorial species. Previous posts: And now, back to your regularly scheduled combinatorial species; Decomposing data structures; Combinatorial...
View ArticleDiagrams 0.6
I am pleased to announce the release of version 0.6 of diagrams, a full-featured framework and embedded domain-specific language for declarative drawing. Check out the gallery for examples of what it...
View ArticleThe algebra of species: primitives
[This is the fifth in a series of posts about combinatorial species. Previous posts: And now, back to your regularly scheduled combinatorial species; Decomposing data structures; Combinatorial species...
View ArticleThe Dawn of Software Engineering
The Dawn of Software Engineering: From Turing to DijkstraEdgar G. Daylight Edgar sent me a review copy of his book a while back—it made for quite interesting reading and gave me new perspective on the...
View ArticleBlogLiterately 0.6
I’m very proud to announce the release of BlogLiterately version 0.6, a tool for formatting and uploading blog posts, including syntax highlighting, generation of ghci sessions, LaTeX support,...
View ArticleIntroducing diagrams-haddock
I am quite pleased to announce the release of diagrams-haddock, a tool enabling you to easily include programmatically generated diagrams in your Haddock documentation. Why might you want to do this?...
View ArticleBeeminding for fun and profit
I’ve been using Beeminder (which I’ve mentioned once before) for a little over six months now. The verdict? Beeminder has changed my life. That sounds dramatic, but I’m not kidding. I am far more...
View ArticleRandom binary trees with a size-limited critical Boltzmann sampler
Today I’d like to talk about generating random trees. First, some imports and such (this post is literate Haskell). > {-# LANGUAGE GeneralizedNewtypeDeriving #-} > > module BoltzmannTrees...
View ArticleMonad transformers: a cautionary tale
When writing the code in my previous post, I wanted to have a monad which combined the ability to generate random numbers with the ability to fail. Naturally, I decided to use RandT Maybe. But when I...
View ArticleWorkshop on Functional Art, Music, Modeling and Design
I’m helping organize a new workshop, FARM, to be held in Boston this September (right after ICFP). Many readers of this blog may have already seen the announcement, but I thought it worth saying a bit...
View ArticleFARM 2013: call for demonstration proposals
Do you enjoy writing beautiful code to produce beautiful artifacts? Have something cool to show off at the intersection of functional programming and visual art, music, sound, modeling, visualization,...
View ArticleCome visit the FARM!
Registration is now open for the first (!) ACM SIGPLAN Workshop on Functional Art, Music, Modeling and Design (FARM), to be held in Boston on September 28 (the day after ICFP). I’m really excited—it’s...
View ArticleIn defense of drawing by coding
Just some half-baked thoughts in repsonse to Bret Victor’s talk, Drawing Dynamic Visualizations (along with his addendum here). As usual, it is a fun and inspiring talk, so if you haven’t seen it I...
View ArticleCatsters guide
tl;dr: http://byorgey.wordpress.com/catsters-guide-2/ In an attempt to solidify and extend my knowledge of category theory, I have been working my way through the excellent series of category theory...
View ArticleDiagrams 1.0
The diagrams team is very pleased to announce the 1.0 release of diagrams, a framework and embedded domain-specific language for declarative drawing in Haskell. Check out the gallery for some examples...
View ArticleAvoiding the axiom of choice, part I
I’m hard at work on my dissertation, and plan to get back to doing a bit of blogging based on stuff I’m writing and thinking about, as a way of forcing myself to explain things clearly and to...
View Article
More Pages to Explore .....