syntax-tree-0.1.0.1: Typed ASTs

Safe HaskellNone
LanguageHaskell2010

AST.Knot.Prune

Documentation

data Prune k Source #

Constructors

Pruned 
Unpruned (k # Prune) 
Instances
KNodes Prune Source # 
Instance details

Defined in AST.Knot.Prune

Associated Types

type KNodesConstraint Prune c :: Constraint Source #

data KWitness Prune a :: Type Source #

Methods

kLiftConstraint :: KNodesConstraint Prune c => KWitness Prune n -> Proxy c -> (c n -> r) -> r Source #

KPointed Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

pureK :: (forall (n :: Knot -> Type). KWitness Prune n -> Tree p n) -> Tree Prune p Source #

KFunctor Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

mapK :: (forall (n :: Knot -> Type). KWitness Prune n -> Tree p n -> Tree q n) -> Tree Prune p -> Tree Prune q Source #

KApply Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

zipK :: Tree Prune p -> Tree Prune q -> Tree Prune (Product p q) Source #

KFoldable Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

foldMapK :: Monoid a => (forall (n :: Knot -> Type). KWitness Prune n -> Tree p n -> a) -> Tree Prune p -> a Source #

KTraversable Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

sequenceK :: Applicative f => Tree Prune (ContainedK f p) -> f (Tree Prune p) Source #

ZipMatch Prune Source # 
Instance details

Defined in AST.Knot.Prune

Methods

zipMatch :: Tree Prune p -> Tree Prune q -> Maybe (Tree Prune (Product p q)) Source #

RTraversable Prune Source # 
Instance details

Defined in AST.Knot.Prune

RNodes Prune Source # 
Instance details

Defined in AST.Knot.Prune

c Prune => Recursively c Prune Source # 
Instance details

Defined in AST.Knot.Prune

(Infer m t, KPointed (InferOf t), KTraversable (InferOf t)) => Infer m (Compose Prune t) Source # 
Instance details

Defined in AST.Knot.Prune

Constraints (Prune k) Eq => Eq (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Methods

(==) :: Prune k -> Prune k -> Bool #

(/=) :: Prune k -> Prune k -> Bool #

Constraints (Prune k) Ord => Ord (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Methods

compare :: Prune k -> Prune k -> Ordering #

(<) :: Prune k -> Prune k -> Bool #

(<=) :: Prune k -> Prune k -> Bool #

(>) :: Prune k -> Prune k -> Bool #

(>=) :: Prune k -> Prune k -> Bool #

max :: Prune k -> Prune k -> Prune k #

min :: Prune k -> Prune k -> Prune k #

Constraints (Prune k) Show => Show (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Methods

showsPrec :: Int -> Prune k -> ShowS #

show :: Prune k -> String #

showList :: [Prune k] -> ShowS #

Generic (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Associated Types

type Rep (Prune k) :: Type -> Type #

Methods

from :: Prune k -> Rep (Prune k) x #

to :: Rep (Prune k) x -> Prune k #

Constraints (Prune k) Binary => Binary (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Methods

put :: Prune k -> Put #

get :: Get (Prune k) #

putList :: [Prune k] -> Put #

Constraints (Prune k) NFData => NFData (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

Methods

rnf :: Prune k -> () #

data KWitness Prune node Source # 
Instance details

Defined in AST.Knot.Prune

data KWitness Prune node where
type KNodesConstraint Prune constraint Source # 
Instance details

Defined in AST.Knot.Prune

type KNodesConstraint Prune constraint = constraint Prune
type Rep (Prune k) Source # 
Instance details

Defined in AST.Knot.Prune

type Rep (Prune k) = D1 (MetaData "Prune" "AST.Knot.Prune" "syntax-tree-0.1.0.1-5Y9WhklreXaDnL6Q9tTtln" False) (C1 (MetaCons "Pruned" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Unpruned" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (k # Prune))))
type InferOf (Compose Prune t) Source # 
Instance details

Defined in AST.Knot.Prune