Wednesday, August 20, 2008

HNotate

Copperbox revision 232.

More work on HNotate - I spent a long time trying to replace the monad transformer with composed applicative functors within the `toScore` renderer. In the end I simply stopped using the state monad as I'm tracking all the necessary state in the the accumulator that builds the measures as they are rendered.

Currently, only the score renderer is working. The backends look set for a change as I could do most of the processing on them with traversals rather than the folds and directly recursive functions that I currently use. To help the move to traversals I've parameterized the score types so that the `terminal` types - notes, rests - are open and can be changed for the respective backend while the structure types - lines, measures - stay the same (so the traversals can be common across backends).

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.