pire-0.2.5

Safe HaskellNone
LanguageHaskell2010

Term

Synopsis

Documentation

data Term t a Source #

 

Constructors

Ide a 
T t 
E (Expr t a) 
E_ (Expr t a, TT t a) 
D (Decl t a) 
D_ (Decl t a, TT t a) 
M (Module t a) 
M_ (Module t a, TT t a) 
Mat (Match t a) 
Mat_ (Match t a, TT t a) 
Pat (Pattern t) 
Pat_ (Pattern t, TT t a) 
Tel (Telescope t a) 
Tel_ (Telescope t a, TT t a) 
CDef (ConstructorDef t a) 
CDef_ (ConstructorDef t a, TT t a) 
ARG (Arg t a) 
ARG_ (Arg t a, TT t a) 
Instances
Functor (Term t) Source # 
Instance details

Defined in Term

Methods

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

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

Foldable (Term t) Source # 
Instance details

Defined in Term

Methods

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

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

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

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

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

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

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

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

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

null :: Term t a -> Bool #

length :: Term t a -> Int #

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

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

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

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

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

Traversable (Term t) Source # 
Instance details

Defined in Term

Methods

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

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

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

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

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

Defined in Term

Methods

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

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

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

Defined in Term

Methods

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

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

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

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

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

max :: Term t a -> Term t a -> Term t a #

min :: Term t a -> Term t a -> Term t a #

Show (Term t a -> Term t a) Source # 
Instance details

Defined in Term

Methods

showsPrec :: Int -> (Term t a -> Term t a) -> ShowS #

show :: (Term t a -> Term t a) -> String #

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

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

Defined in Term

Methods

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

show :: Term t a -> String #

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

Pretty (Term String String) # 
Instance details

Defined in PrettyTerm

Methods

pretty :: Term String String -> Doc ann #

prettyList :: [Term String String] -> Doc ann #

Pretty (Term Text Text) # 
Instance details

Defined in PrettyTerm

Methods

pretty :: Term Text Text -> Doc ann #

prettyList :: [Term Text Text] -> Doc ann #

PrettyAnn (Term String String) Source # 
Instance details

Defined in PrettyTerm

PrettyAnn (Term Text Text) Source # 
Instance details

Defined in PrettyTerm

_ARG_ :: forall t a. Prism' (Term t a) (Arg t a, TT t a) Source #

_ARG :: forall t a. Prism' (Term t a) (Arg t a) Source #

_CDef_ :: forall t a. Prism' (Term t a) (ConstructorDef t a, TT t a) Source #

_CDef :: forall t a. Prism' (Term t a) (ConstructorDef t a) Source #

_Tel_ :: forall t a. Prism' (Term t a) (Telescope t a, TT t a) Source #

_Tel :: forall t a. Prism' (Term t a) (Telescope t a) Source #

_Pat_ :: forall t a. Prism' (Term t a) (Pattern t, TT t a) Source #

_Pat :: forall t a. Prism' (Term t a) (Pattern t) Source #

_Mat_ :: forall t a. Prism' (Term t a) (Match t a, TT t a) Source #

_Mat :: forall t a. Prism' (Term t a) (Match t a) Source #

_M_ :: forall t a. Prism' (Term t a) (Module t a, TT t a) Source #

_M :: forall t a. Prism' (Term t a) (Module t a) Source #

_D_ :: forall t a. Prism' (Term t a) (Decl t a, TT t a) Source #

_D :: forall t a. Prism' (Term t a) (Decl t a) Source #

_E_ :: forall t a. Prism' (Term t a) (Expr t a, TT t a) Source #

_E :: forall t a. Prism' (Term t a) (Expr t a) Source #

_T :: forall t a. Prism' (Term t a) t Source #

_Ide :: forall t a. Prism' (Term t a) a Source #