Saturday, May 14, 2011

Paper of the day: Design Patterns as Higher-Order Datatype-Generic Programs

So for tonight's studying I decided to read something almost entirely unrelated to semantics and read the journal version of Jeremy Gibbons's paper, available online here. So, yeah, I guess this was really the clearest explanation of some of the tricks involving bifunctors and explicit fixed points that I've read. 

The whole punchline is really on page 13, but he spends the rest of the paper explaining how these constructions relate to the iteration patterns from OO programming. It's pretty cute and despite having used Haskell off and on for a few years, I'd never really written any examples with the generic fold, unfold, hylo, and map operations.

Reading this also made me want to go back to the old "bananas" papers which I haven't read since I was trying to decide if I actually liked this whole computer science thing a few years back, just after burning out of grad school in a completely different field. (Spoiler alert: yes, it turned out that I liked computer science a lot.)

I think I'll read the original bananas paper tomorrow, and then maybe get back to some things a bit more relevant to my actual research after that. For example, I want to read that paper about safely including partiality via coinduction. That felt like a jargon-y sentence. Ouch.

No comments:

Post a Comment