Annotations: Constructing, analyzing and destructing annotated trees

[ bsd3, generics, library ] [ Propose Tags ]

Annotations provides utility functions to make working with annotated trees easier. There are two implementations: one for working with open datatypes that explicitly make their child positions accessible through a type argument, and one for working with MultiRec datatypes.

Parser combinators make it easy to construct trees annotated with position information. For the MultiRec implementation, there is the Yield monad that allows construction of trees in postorder.

Error algebras allow destruction of trees using catamorphisms. The algebra is allowed to indicate failure in which case the error is automatically coupled with the annotation at the position at which the error occurred.

Versions [RSS] [faq] 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2, 0.2.1, 0.2.2
Dependencies base (>=4.1 && <4.3), mtl (==1.1.*), multirec (==0.4.*), parsec (==3.0.*) [details]
License BSD-3-Clause
Copyright Copyright (c) 2008-2009 Martijn van Steenbergen
Author Martijn van Steenbergen
Category Generics
Uploaded by MartijnVanSteenbergen at 2010-07-27T19:00:36Z
Distributions NixOS:0.2.2
Downloads 6598 total (45 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-29 [all 6 reports]


  • Annotations
    • Annotations.Bounds
    • Annotations.BoundsParser
    • Annotations.Except
    • Annotations.ExploreHints
    • F
      • Annotations.F.Annotated
      • Annotations.F.Fixpoints
      • Annotations.F.ParserCombinators
      • Annotations.F.Positional
      • Annotations.F.Zipper
    • MultiRec
      • Annotations.MultiRec.Annotated
      • Annotations.MultiRec.Any
      • Annotations.MultiRec.ErrorAlg
      • Annotations.MultiRec.ParserCombinators
      • Annotations.MultiRec.Positional
      • Annotations.MultiRec.ShowFam
      • Annotations.MultiRec.Yield
      • Annotations.MultiRec.Zipper
      • Annotations.MultiRec.ZipperFix


Maintainer's Corner

For package maintainers and hackage trustees