abt-0.1.0.1: Abstract binding trees for Haskell

Safe HaskellNone
LanguageHaskell2010

Abt.Types.View

Synopsis

Documentation

data View v o n φ where Source

v is the type of variables; o is the type of operators parameterized by arities; n is the "higher type"/order of the term (i.e. a term has n=0, a single binding has n=1, etc.); φ is the functor which interprets the inner structure of the view.

Constructors

V :: v -> View0 v o φ 
(:\) :: v -> φ n -> View v o (S n) φ 
(:$) :: o ns -> Rec φ ns -> View0 v o φ infixl 2 

type View0 v o φ = View v o Z φ Source

First order term views.

mapView Source

Arguments

:: (forall j. φ j -> ψ j)

a natural transformation φ → ψ

-> View v o n φ

a view at φ

-> View v o n ψ 

Views are a (higher) functor.