pire-0.2.5

Copyright(c) Andreas Reuleaux 2015 - 2018
LicenseBSD2
MaintainerAndreas Reuleaux <rx@a-rx.info>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Term1

Description

terms used for navigation in the syntax tree with Zipper1: i.e. very similar to Term, but we allow binder triples as well.

Synopsis

Documentation

data BindingTriple t a Source #

 

Constructors

BindingTriple (Eps, a, Annot t a) 
Instances
Functor (BindingTriple t) Source # 
Instance details

Defined in Term1

Methods

fmap :: (a -> b) -> BindingTriple t a -> BindingTriple t b #

(<$) :: a -> BindingTriple t b -> BindingTriple t a #

Foldable (BindingTriple t) Source # 
Instance details

Defined in Term1

Methods

fold :: Monoid m => BindingTriple t m -> m #

foldMap :: Monoid m => (a -> m) -> BindingTriple t a -> m #

foldr :: (a -> b -> b) -> b -> BindingTriple t a -> b #

foldr' :: (a -> b -> b) -> b -> BindingTriple t a -> b #

foldl :: (b -> a -> b) -> b -> BindingTriple t a -> b #

foldl' :: (b -> a -> b) -> b -> BindingTriple t a -> b #

foldr1 :: (a -> a -> a) -> BindingTriple t a -> a #

foldl1 :: (a -> a -> a) -> BindingTriple t a -> a #

toList :: BindingTriple t a -> [a] #

null :: BindingTriple t a -> Bool #

length :: BindingTriple t a -> Int #

elem :: Eq a => a -> BindingTriple t a -> Bool #

maximum :: Ord a => BindingTriple t a -> a #

minimum :: Ord a => BindingTriple t a -> a #

sum :: Num a => BindingTriple t a -> a #

product :: Num a => BindingTriple t a -> a #

Traversable (BindingTriple t) Source # 
Instance details

Defined in Term1

Methods

traverse :: Applicative f => (a -> f b) -> BindingTriple t a -> f (BindingTriple t b) #

sequenceA :: Applicative f => BindingTriple t (f a) -> f (BindingTriple t a) #

mapM :: Monad m => (a -> m b) -> BindingTriple t a -> m (BindingTriple t b) #

sequence :: Monad m => BindingTriple t (m a) -> m (BindingTriple t a) #

(Eq a, Eq t) => Eq (BindingTriple t a) Source # 
Instance details

Defined in Term1

Methods

(==) :: BindingTriple t a -> BindingTriple t a -> Bool #

(/=) :: BindingTriple t a -> BindingTriple t a -> Bool #

(Ord a, Ord t) => Ord (BindingTriple t a) Source # 
Instance details

Defined in Term1

(Show a, Show t) => Show (BindingTriple t a) Source # 
Instance details

Defined in Term1

data Term1 t a Source #

Constructors

Ide1 a 
T1 t 
E1 (Expr t a) 
D1 (Decl t a) 
M1 (Module t a) 
Trpl (BindingTriple t a) 
Instances
Functor (Term1 t) Source # 
Instance details

Defined in Term1

Methods

fmap :: (a -> b) -> Term1 t a -> Term1 t b #

(<$) :: a -> Term1 t b -> Term1 t a #

Foldable (Term1 t) Source # 
Instance details

Defined in Term1

Methods

fold :: Monoid m => Term1 t m -> m #

foldMap :: Monoid m => (a -> m) -> Term1 t a -> m #

foldr :: (a -> b -> b) -> b -> Term1 t a -> b #

foldr' :: (a -> b -> b) -> b -> Term1 t a -> b #

foldl :: (b -> a -> b) -> b -> Term1 t a -> b #

foldl' :: (b -> a -> b) -> b -> Term1 t a -> b #

foldr1 :: (a -> a -> a) -> Term1 t a -> a #

foldl1 :: (a -> a -> a) -> Term1 t a -> a #

toList :: Term1 t a -> [a] #

null :: Term1 t a -> Bool #

length :: Term1 t a -> Int #

elem :: Eq a => a -> Term1 t a -> Bool #

maximum :: Ord a => Term1 t a -> a #

minimum :: Ord a => Term1 t a -> a #

sum :: Num a => Term1 t a -> a #

product :: Num a => Term1 t a -> a #

Traversable (Term1 t) Source # 
Instance details

Defined in Term1

Methods

traverse :: Applicative f => (a -> f b) -> Term1 t a -> f (Term1 t b) #

sequenceA :: Applicative f => Term1 t (f a) -> f (Term1 t a) #

mapM :: Monad m => (a -> m b) -> Term1 t a -> m (Term1 t b) #

sequence :: Monad m => Term1 t (m a) -> m (Term1 t a) #

(Eq a, Eq t) => Eq (Term1 t a) Source # 
Instance details

Defined in Term1

Methods

(==) :: Term1 t a -> Term1 t a -> Bool #

(/=) :: Term1 t a -> Term1 t a -> Bool #

(Ord a, Ord t) => Ord (Term1 t a) Source # 
Instance details

Defined in Term1

Methods

compare :: Term1 t a -> Term1 t a -> Ordering #

(<) :: Term1 t a -> Term1 t a -> Bool #

(<=) :: Term1 t a -> Term1 t a -> Bool #

(>) :: Term1 t a -> Term1 t a -> Bool #

(>=) :: Term1 t a -> Term1 t a -> Bool #

max :: Term1 t a -> Term1 t a -> Term1 t a #

min :: Term1 t a -> Term1 t a -> Term1 t a #

(Show a, Show t) => Show (Term1 t a) Source # 
Instance details

Defined in Term1

Methods

showsPrec :: Int -> Term1 t a -> ShowS #

show :: Term1 t a -> String #

showList :: [Term1 t a] -> ShowS #

_Trpl :: forall t a. Prism' (Term1 t a) (BindingTriple t a) Source #

_M1 :: forall t a. Prism' (Term1 t a) (Module t a) Source #

_D1 :: forall t a. Prism' (Term1 t a) (Decl t a) Source #

_E1 :: forall t a. Prism' (Term1 t a) (Expr t a) Source #

_T1 :: forall t a. Prism' (Term1 t a) t Source #

_Ide1 :: forall t a. Prism' (Term1 t a) a Source #