Category Archives: haskell

Parsing context-sensitive languages with Applicative

Many parser combinator libraries in Haskell (such as parsec) have both a Monad interface as well as an Applicative interface. (Actually, to be really useful, you also need MonadPlus along with Monad, or Alternative along with Applicative, in order to … Continue reading

Posted in haskell | Tagged , , , , , , | 11 Comments

Typeclassopedia v2: moving my efforts to the Haskell wiki

I said back in April that I was going to be working on a second edition of the Typeclassopedia. Since then I have worked on it some, but mostly I’ve dithered trying to work out a toolchain for publishing it … Continue reading

Posted in haskell, projects, writing | 5 Comments

Generating plane tilings with diagrams

I’ve finally set up a diagrams-contrib package to serve as a home for user contributions to the diagrams project—generation of specialized diagrams, fun or instructive examples, half-baked ideas, stuff which is not sufficiently polished or general to go in the … Continue reading

Posted in diagrams, haskell, math, projects | Tagged , , | 1 Comment

Wanted GHC feature: warn about unused constraints

Consider the following function: foo :: (Show a, Ord a) => a -> a -> String foo x y = show x ++ show y Currently (as of GHC 7.2.1) when compiling this code with -Wall, no warnings are generated. … Continue reading

Posted in haskell | Tagged , , , | 5 Comments

More counting lambda terms

Yesterday someone submitted a comment to an old post of mine about counting linear lambda terms, asking the following question: I am interested in a similar problem: given a natural number N, what is the number of different symply-typed closed … Continue reading

Posted in haskell | 5 Comments

Announcing diagrams-0.4

I am pleased to announce the release of version 0.4 of diagrams, a full-featured framework and embedded domain-specific language for declarative drawing. The last announcement was of the 0.1 release; there have been quite a few changes and improvements since … Continue reading

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

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

Math.Tau

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