Copperbox revision 138.
Some updates to SymAbc to handle mid-tune fields, plus more substantial updates to SymLilyPond.
Rather than use optional fields in the datatype constructors (using the SymMaybe wrapper), SymLilyPond now uses attributes like SymAbc.
Attributes a really just functions attr -> val -> val but wrapped up in the final tagless style, plus the reverse application operator to make them postix. So a note 'c_' with a duration attribute of 4 becomes:
note c_ # dur 4
Blog Archive
About Me
- Stephen Tetley
- 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.