Author Archives: Brent

Effective parse tree support for the working semanticist

If, like me, you spend large amounts of time designing, discussing, and proving things about programming languages and formal calculi, chances are you have used Ott (and if you do, but you haven’t, you are really missing out). You write … Continue reading

Posted in haskell, projects | Tagged , , , , , | 2 Comments

diagrams repos now mirrored on github!

I was quite excited when I learned that Owen Stephens was working on a two-way darcs-git bridge for his Google Summer of Code project. You see, I’m one of those holdouts who, despite acknowledging that github is pretty cool and … Continue reading

Posted in haskell, projects | Tagged , , , | Leave a comment


I have just uploaded a new package to Hackage which defines the constant . Now if you wish to use in your program you can just cabal install tau and then import Math.Tau (tau), and be assured that you are … Continue reading

Posted in haskell | Tagged , , | 4 Comments

Unbound now supports “set” binders and GADTs

I have just uploaded version 0.3 of the Unbound library (and version 0.5 of RepLib). This version adds support for two major new features: The new permbind and setbind functions create binders that are alpha-equivalent “up to permutation”. For example, … Continue reading

Posted in haskell, projects | Leave a comment

Idempotent Template Haskell

Yesterday I was looking for a way to have some Template Haskell code generate a definition for a certain identifier if and only if such a definition did not already exist. Essentially I want to be able to call the … Continue reading

Posted in haskell | Tagged , , , | 2 Comments

Hac phi 3!

Hac phi 3 is in full swing now: almost 30 people showed up for the first day of hacking yesterday and more are expected today! I’ve posted a few pictures here — more to come.

Posted in haskell | Leave a comment

On being a researcher

Edward Z. Yang recently wrote about applying to grad schools. This paragraph caught my attention: … I frequently switch between thinking, “Oh, look at this grad student, he didn’t start having any publications till he started grad school—so I’m OK … Continue reading

Posted in grad school | Tagged , , , | 3 Comments

Good toolchain for writing a user manual?

It’s time to start writing a user manual for diagrams. Haddock documentation is great when you have only, say, forgotten the type of the frobnitz function. However, it is woefully inadequate when you are just trying to figure out how … Continue reading

Posted in projects, writing | 17 Comments

Bit-rotted text adventure EDSL free to a good home

In early 2008 I started working on a Haskell embedded domain-specific language for authoring text adventure games. It didn’t get all that far since I didn’t know a whole lot about either text adventure games or Haskell. But I think … Continue reading

Posted in haskell, projects | Tagged , , , | 5 Comments

Themes on Streams, Part II

In a previous post I claimed that comonad structures on R -> a are in one-to-one correspondence with monoid structures on R. In this post and the next I’ll justify that claim. Characterizing comonads on R -> a Suppose we … Continue reading

Posted in haskell, math | Tagged , , , , | 2 Comments