Monday, December 22, 2008

HNotate

Copperbox revision 382.

HNotate has a new annotation mechanism. Annotations were previously just transfomers applied the pretty printed elements and atoms (i.e. they were functions of type ODoc -> ODoc). This had a serious problem - when adding multiple annotations you had to be very careful about the order of application of the transformer functions.

Now annotations are fully typed values (albeit wrapped up into a generic list with Data.Typeable). To print them, the user must supply a AnnoEval structure which contains three functions for applying annotations at three different levels in the syntax tree.

With revision 382 the mechanism to do this is in place but there aren't any example annotations and the interface to run HNotate in OutputMain hasn't been changed to be parameteric on AnnoEval.

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.