Pages
Categories
Tags
announcement applicative BlogLiterately category theory collaborative editing combinatorial species combinatorics darcs diagrams drawing EDSL FringeDC functional programming functor GHC ghci grad school graphics hackathon Hac φ haskell ICFP knowledge library list monad monads monoid partitions patch theory pedagogy Philadelphia pictures preorder programming reading release species talk tutorial type-level Typeclassopedia types UPenn xmonadArchives
- May 2013 (1)
- April 2013 (3)
- March 2013 (2)
- January 2013 (2)
- December 2012 (2)
- November 2012 (4)
- October 2012 (3)
- August 2012 (4)
- July 2012 (5)
- June 2012 (1)
- March 2012 (1)
- January 2012 (1)
- November 2011 (4)
- October 2011 (3)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (1)
- May 2011 (6)
- April 2011 (2)
- March 2011 (1)
- February 2011 (3)
- January 2011 (1)
- December 2010 (2)
- November 2010 (3)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (2)
- June 2010 (3)
- May 2010 (3)
- April 2010 (3)
- March 2010 (2)
- February 2010 (1)
- January 2010 (1)
- December 2009 (2)
- October 2009 (3)
- September 2009 (2)
- August 2009 (4)
- July 2009 (7)
- June 2009 (1)
- May 2009 (2)
- April 2009 (1)
- March 2009 (2)
- February 2009 (3)
- January 2009 (3)
- December 2008 (2)
- September 2008 (2)
- August 2008 (1)
- July 2008 (3)
- June 2008 (1)
- April 2008 (4)
- March 2008 (4)
- February 2008 (4)
- January 2008 (2)
- December 2007 (4)
- October 2007 (2)
- September 2007 (2)
- August 2007 (3)
- June 2007 (2)
Top Posts
Blogroll
Fun
Personal
Meta
Category Archives: haskell
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 comonad, free theorem, functor, parametricity, representable
2 Comments
Tic-tac-toe maps with diagrams
Inspired by Randall Munroe, here are some handy guides to optimal tic-tac-toe play, created with the diagrams EDSL. Click the images to open (zoomable) PDF versions. I hacked this up in just a few hours. How did I do it? … Continue reading
Announcing diagrams preview release
I am extremely pleased to announce a "developer preview" release of the diagrams framework for declarative drawing. This is a well-thought-out, well-documented, working release with all core functionality in place, but with many planned features still missing (for example, support … Continue reading
Posted in haskell, projects
Tagged announcement, diagrams, drawing, EDSL, preview, release
7 Comments
Themes on Streams
> {-# LANGUAGE DeriveFunctor, FlexibleInstances #-} Recall that a stream is a countably infinite sequence of values: > data Stream a = a :> Stream a > deriving (Functor, Show) > > sHead (a :> _) = a > sTail … Continue reading
Monoids for Maybe
The other day I had two lists of monoidal values that I wanted to combine in a certain way, and I realized it was an instance of this more general pattern: > {-# LANGUAGE GeneralizedNewtypeDeriving #-} > import Data.Monoid > … Continue reading
Call for contributions: second edition of the Typeclassopedia
The Typeclassopedia, by all accounts, has turned out to be a popular and useful resource for Haskell programmers. I’ve been thinking for a while about putting out a revised and expanded second edition, and it’s finally time. Planned changes include: … Continue reading
Binders Unbound
Stephanie Weirich, Tim Sheard and I recently submitted a paper to ICFP entitled Binders Unbound. (You can read a draft here.) It’s about our kick-ass, I mean, expressive and flexible library, unbound (note: GHC 7 required), for generically dealing with … Continue reading
Enumerating linear inhabitants
This is post number four in an ongoing series (#1, #2, #3) exploring the combinatorics of linear lambda calculus. In this literate Haskell post, I exhibit some code for enumerating all possible linear inhabitants of a given type, making use … Continue reading
Math.OEIS needs a new maintainer
Summary: the OEIS has switched servers and the oeis package needs updating to match, so I’m looking for someone to take over development. All the rest is padding in the form of entertaining stories. Recently, Michael Snoyman’s wonderful packdeps tool … Continue reading