soas-0.2.0: Second-Order Abstract Syntax implemented via Free Foil (a version of SOAS).
Safe HaskellNone
LanguageHaskell2010

Language.SOAS.Syntax.Abs

Description

The abstract syntax of language Syntax.

Synopsis

Documentation

data TermTyping' a Source #

Constructors

TermTyping a (TypeBinders' a) (Context' a) (ScopedTerm' a) (ScopedType' a) 

Instances

Instances details
Foldable TermTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => TermTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> TermTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> TermTyping' a -> m #

foldr :: (a -> b -> b) -> b -> TermTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> TermTyping' a -> b #

foldl :: (b -> a -> b) -> b -> TermTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> TermTyping' a -> b #

foldr1 :: (a -> a -> a) -> TermTyping' a -> a #

foldl1 :: (a -> a -> a) -> TermTyping' a -> a #

toList :: TermTyping' a -> [a] #

null :: TermTyping' a -> Bool #

length :: TermTyping' a -> Int #

elem :: Eq a => a -> TermTyping' a -> Bool #

maximum :: Ord a => TermTyping' a -> a #

minimum :: Ord a => TermTyping' a -> a #

sum :: Num a => TermTyping' a -> a #

product :: Num a => TermTyping' a -> a #

Traversable TermTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> TermTyping' a -> f (TermTyping' b) #

sequenceA :: Applicative f => TermTyping' (f a) -> f (TermTyping' a) #

mapM :: Monad m => (a -> m b) -> TermTyping' a -> m (TermTyping' b) #

sequence :: Monad m => TermTyping' (m a) -> m (TermTyping' a) #

Functor TermTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> TermTyping' a -> TermTyping' b #

(<$) :: a -> TermTyping' b -> TermTyping' a #

HasPosition TermTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TermTyping' a -> c (TermTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TermTyping' a) #

toConstr :: TermTyping' a -> Constr #

dataTypeOf :: TermTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TermTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TermTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> TermTyping' a -> TermTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TermTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TermTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> TermTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TermTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TermTyping' a -> m (TermTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TermTyping' a -> m (TermTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TermTyping' a -> m (TermTyping' a) #

Generic (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: TermTyping' a -> Rep (TermTyping' a) x #

to :: Rep (TermTyping' a) x -> TermTyping' a #

Read a => Read (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> TermTyping' a -> Doc Source #

type Rep (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data Context' a Source #

Constructors

Context a [MetaVarTyping' a] [VarTyping' a] 

Instances

Instances details
Foldable Context' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Context' m -> m #

foldMap :: Monoid m => (a -> m) -> Context' a -> m #

foldMap' :: Monoid m => (a -> m) -> Context' a -> m #

foldr :: (a -> b -> b) -> b -> Context' a -> b #

foldr' :: (a -> b -> b) -> b -> Context' a -> b #

foldl :: (b -> a -> b) -> b -> Context' a -> b #

foldl' :: (b -> a -> b) -> b -> Context' a -> b #

foldr1 :: (a -> a -> a) -> Context' a -> a #

foldl1 :: (a -> a -> a) -> Context' a -> a #

toList :: Context' a -> [a] #

null :: Context' a -> Bool #

length :: Context' a -> Int #

elem :: Eq a => a -> Context' a -> Bool #

maximum :: Ord a => Context' a -> a #

minimum :: Ord a => Context' a -> a #

sum :: Num a => Context' a -> a #

product :: Num a => Context' a -> a #

Traversable Context' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Context' a -> f (Context' b) #

sequenceA :: Applicative f => Context' (f a) -> f (Context' a) #

mapM :: Monad m => (a -> m b) -> Context' a -> m (Context' b) #

sequence :: Monad m => Context' (m a) -> m (Context' a) #

Functor Context' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Context' a -> Context' b #

(<$) :: a -> Context' b -> Context' a #

HasPosition Context Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Context' a -> c (Context' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Context' a) #

toConstr :: Context' a -> Constr #

dataTypeOf :: Context' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Context' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Context' a)) #

gmapT :: (forall b. Data b => b -> b) -> Context' a -> Context' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Context' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Context' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Context' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Context' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Context' a -> m (Context' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Context' a -> m (Context' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Context' a -> m (Context' a) #

Generic (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (Context' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Context' a -> Rep (Context' a) x #

to :: Rep (Context' a) x -> Context' a #

Read a => Read (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> Context' a -> ShowS #

show :: Context' a -> String #

showList :: [Context' a] -> ShowS #

Eq a => Eq (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: Context' a -> Context' a -> Bool #

(/=) :: Context' a -> Context' a -> Bool #

Ord a => Ord (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: Context' a -> Context' a -> Ordering #

(<) :: Context' a -> Context' a -> Bool #

(<=) :: Context' a -> Context' a -> Bool #

(>) :: Context' a -> Context' a -> Bool #

(>=) :: Context' a -> Context' a -> Bool #

max :: Context' a -> Context' a -> Context' a #

min :: Context' a -> Context' a -> Context' a #

Print (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Context' a -> Doc Source #

type Rep (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data VarTyping' a Source #

Constructors

VarTyping a VarIdent (Type' a) 

Instances

Instances details
Foldable VarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => VarTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> VarTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> VarTyping' a -> m #

foldr :: (a -> b -> b) -> b -> VarTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> VarTyping' a -> b #

foldl :: (b -> a -> b) -> b -> VarTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> VarTyping' a -> b #

foldr1 :: (a -> a -> a) -> VarTyping' a -> a #

foldl1 :: (a -> a -> a) -> VarTyping' a -> a #

toList :: VarTyping' a -> [a] #

null :: VarTyping' a -> Bool #

length :: VarTyping' a -> Int #

elem :: Eq a => a -> VarTyping' a -> Bool #

maximum :: Ord a => VarTyping' a -> a #

minimum :: Ord a => VarTyping' a -> a #

sum :: Num a => VarTyping' a -> a #

product :: Num a => VarTyping' a -> a #

Traversable VarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> VarTyping' a -> f (VarTyping' b) #

sequenceA :: Applicative f => VarTyping' (f a) -> f (VarTyping' a) #

mapM :: Monad m => (a -> m b) -> VarTyping' a -> m (VarTyping' b) #

sequence :: Monad m => VarTyping' (m a) -> m (VarTyping' a) #

Functor VarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> VarTyping' a -> VarTyping' b #

(<$) :: a -> VarTyping' b -> VarTyping' a #

HasPosition VarTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VarTyping' a -> c (VarTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (VarTyping' a) #

toConstr :: VarTyping' a -> Constr #

dataTypeOf :: VarTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (VarTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (VarTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> VarTyping' a -> VarTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VarTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VarTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> VarTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> VarTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VarTyping' a -> m (VarTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VarTyping' a -> m (VarTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VarTyping' a -> m (VarTyping' a) #

Generic (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (VarTyping' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: VarTyping' a -> Rep (VarTyping' a) x #

to :: Rep (VarTyping' a) x -> VarTyping' a #

Read a => Read (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: VarTyping' a -> VarTyping' a -> Bool #

(/=) :: VarTyping' a -> VarTyping' a -> Bool #

Ord a => Ord (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> VarTyping' a -> Doc Source #

Print [VarTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [VarTyping' a] -> Doc Source #

type Rep (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data MetaVarTyping' a Source #

Constructors

MetaVarTyping a MetaVarIdent [Type' a] (Type' a) 

Instances

Instances details
Foldable MetaVarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => MetaVarTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> MetaVarTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> MetaVarTyping' a -> m #

foldr :: (a -> b -> b) -> b -> MetaVarTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> MetaVarTyping' a -> b #

foldl :: (b -> a -> b) -> b -> MetaVarTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> MetaVarTyping' a -> b #

foldr1 :: (a -> a -> a) -> MetaVarTyping' a -> a #

foldl1 :: (a -> a -> a) -> MetaVarTyping' a -> a #

toList :: MetaVarTyping' a -> [a] #

null :: MetaVarTyping' a -> Bool #

length :: MetaVarTyping' a -> Int #

elem :: Eq a => a -> MetaVarTyping' a -> Bool #

maximum :: Ord a => MetaVarTyping' a -> a #

minimum :: Ord a => MetaVarTyping' a -> a #

sum :: Num a => MetaVarTyping' a -> a #

product :: Num a => MetaVarTyping' a -> a #

Traversable MetaVarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> MetaVarTyping' a -> f (MetaVarTyping' b) #

sequenceA :: Applicative f => MetaVarTyping' (f a) -> f (MetaVarTyping' a) #

mapM :: Monad m => (a -> m b) -> MetaVarTyping' a -> m (MetaVarTyping' b) #

sequence :: Monad m => MetaVarTyping' (m a) -> m (MetaVarTyping' a) #

Functor MetaVarTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> MetaVarTyping' a -> MetaVarTyping' b #

(<$) :: a -> MetaVarTyping' b -> MetaVarTyping' a #

HasPosition MetaVarTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MetaVarTyping' a -> c (MetaVarTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MetaVarTyping' a) #

toConstr :: MetaVarTyping' a -> Constr #

dataTypeOf :: MetaVarTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MetaVarTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MetaVarTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> MetaVarTyping' a -> MetaVarTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MetaVarTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MetaVarTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> MetaVarTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MetaVarTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MetaVarTyping' a -> m (MetaVarTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaVarTyping' a -> m (MetaVarTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaVarTyping' a -> m (MetaVarTyping' a) #

Generic (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Read a => Read (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> MetaVarTyping' a -> Doc Source #

Print [MetaVarTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [MetaVarTyping' a] -> Doc Source #

type Rep (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data OpTyping' a Source #

Instances

Instances details
Foldable OpTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => OpTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> OpTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> OpTyping' a -> m #

foldr :: (a -> b -> b) -> b -> OpTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> OpTyping' a -> b #

foldl :: (b -> a -> b) -> b -> OpTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> OpTyping' a -> b #

foldr1 :: (a -> a -> a) -> OpTyping' a -> a #

foldl1 :: (a -> a -> a) -> OpTyping' a -> a #

toList :: OpTyping' a -> [a] #

null :: OpTyping' a -> Bool #

length :: OpTyping' a -> Int #

elem :: Eq a => a -> OpTyping' a -> Bool #

maximum :: Ord a => OpTyping' a -> a #

minimum :: Ord a => OpTyping' a -> a #

sum :: Num a => OpTyping' a -> a #

product :: Num a => OpTyping' a -> a #

Traversable OpTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> OpTyping' a -> f (OpTyping' b) #

sequenceA :: Applicative f => OpTyping' (f a) -> f (OpTyping' a) #

mapM :: Monad m => (a -> m b) -> OpTyping' a -> m (OpTyping' b) #

sequence :: Monad m => OpTyping' (m a) -> m (OpTyping' a) #

Functor OpTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> OpTyping' a -> OpTyping' b #

(<$) :: a -> OpTyping' b -> OpTyping' a #

HasPosition OpTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpTyping' a -> c (OpTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (OpTyping' a) #

toConstr :: OpTyping' a -> Constr #

dataTypeOf :: OpTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (OpTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (OpTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> OpTyping' a -> OpTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpTyping' a -> m (OpTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpTyping' a -> m (OpTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpTyping' a -> m (OpTyping' a) #

Generic (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: OpTyping' a -> Rep (OpTyping' a) x #

to :: Rep (OpTyping' a) x -> OpTyping' a #

Read a => Read (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: OpTyping' a -> OpTyping' a -> Bool #

(/=) :: OpTyping' a -> OpTyping' a -> Bool #

Ord a => Ord (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpTyping' a -> Doc Source #

type Rep (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data Constraint' a Source #

Constructors

ConstraintEq a (Binders' a) (ScopedTerm' a) (ScopedTerm' a) 

Instances

Instances details
Foldable Constraint' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Constraint' m -> m #

foldMap :: Monoid m => (a -> m) -> Constraint' a -> m #

foldMap' :: Monoid m => (a -> m) -> Constraint' a -> m #

foldr :: (a -> b -> b) -> b -> Constraint' a -> b #

foldr' :: (a -> b -> b) -> b -> Constraint' a -> b #

foldl :: (b -> a -> b) -> b -> Constraint' a -> b #

foldl' :: (b -> a -> b) -> b -> Constraint' a -> b #

foldr1 :: (a -> a -> a) -> Constraint' a -> a #

foldl1 :: (a -> a -> a) -> Constraint' a -> a #

toList :: Constraint' a -> [a] #

null :: Constraint' a -> Bool #

length :: Constraint' a -> Int #

elem :: Eq a => a -> Constraint' a -> Bool #

maximum :: Ord a => Constraint' a -> a #

minimum :: Ord a => Constraint' a -> a #

sum :: Num a => Constraint' a -> a #

product :: Num a => Constraint' a -> a #

Traversable Constraint' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Constraint' a -> f (Constraint' b) #

sequenceA :: Applicative f => Constraint' (f a) -> f (Constraint' a) #

mapM :: Monad m => (a -> m b) -> Constraint' a -> m (Constraint' b) #

sequence :: Monad m => Constraint' (m a) -> m (Constraint' a) #

Functor Constraint' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Constraint' a -> Constraint' b #

(<$) :: a -> Constraint' b -> Constraint' a #

HasPosition Constraint Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Constraint' a -> c (Constraint' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Constraint' a) #

toConstr :: Constraint' a -> Constr #

dataTypeOf :: Constraint' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Constraint' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Constraint' a)) #

gmapT :: (forall b. Data b => b -> b) -> Constraint' a -> Constraint' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Constraint' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Constraint' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Constraint' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Constraint' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Constraint' a -> m (Constraint' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Constraint' a -> m (Constraint' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Constraint' a -> m (Constraint' a) #

Generic (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Constraint' a -> Rep (Constraint' a) x #

to :: Rep (Constraint' a) x -> Constraint' a #

Read a => Read (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Constraint' a -> Doc Source #

type Rep (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data Unifier' a Source #

Constructors

Unifier a [Subst' a] 

Instances

Instances details
Foldable Unifier' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Unifier' m -> m #

foldMap :: Monoid m => (a -> m) -> Unifier' a -> m #

foldMap' :: Monoid m => (a -> m) -> Unifier' a -> m #

foldr :: (a -> b -> b) -> b -> Unifier' a -> b #

foldr' :: (a -> b -> b) -> b -> Unifier' a -> b #

foldl :: (b -> a -> b) -> b -> Unifier' a -> b #

foldl' :: (b -> a -> b) -> b -> Unifier' a -> b #

foldr1 :: (a -> a -> a) -> Unifier' a -> a #

foldl1 :: (a -> a -> a) -> Unifier' a -> a #

toList :: Unifier' a -> [a] #

null :: Unifier' a -> Bool #

length :: Unifier' a -> Int #

elem :: Eq a => a -> Unifier' a -> Bool #

maximum :: Ord a => Unifier' a -> a #

minimum :: Ord a => Unifier' a -> a #

sum :: Num a => Unifier' a -> a #

product :: Num a => Unifier' a -> a #

Traversable Unifier' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Unifier' a -> f (Unifier' b) #

sequenceA :: Applicative f => Unifier' (f a) -> f (Unifier' a) #

mapM :: Monad m => (a -> m b) -> Unifier' a -> m (Unifier' b) #

sequence :: Monad m => Unifier' (m a) -> m (Unifier' a) #

Functor Unifier' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Unifier' a -> Unifier' b #

(<$) :: a -> Unifier' b -> Unifier' a #

HasPosition Unifier Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Unifier' a -> c (Unifier' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Unifier' a) #

toConstr :: Unifier' a -> Constr #

dataTypeOf :: Unifier' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Unifier' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Unifier' a)) #

gmapT :: (forall b. Data b => b -> b) -> Unifier' a -> Unifier' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Unifier' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Unifier' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Unifier' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Unifier' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Unifier' a -> m (Unifier' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Unifier' a -> m (Unifier' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Unifier' a -> m (Unifier' a) #

Generic (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (Unifier' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (Unifier' a) = D1 ('MetaData "Unifier'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Unifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Subst' a])))

Methods

from :: Unifier' a -> Rep (Unifier' a) x #

to :: Rep (Unifier' a) x -> Unifier' a #

Read a => Read (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> Unifier' a -> ShowS #

show :: Unifier' a -> String #

showList :: [Unifier' a] -> ShowS #

Eq a => Eq (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: Unifier' a -> Unifier' a -> Bool #

(/=) :: Unifier' a -> Unifier' a -> Bool #

Ord a => Ord (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: Unifier' a -> Unifier' a -> Ordering #

(<) :: Unifier' a -> Unifier' a -> Bool #

(<=) :: Unifier' a -> Unifier' a -> Bool #

(>) :: Unifier' a -> Unifier' a -> Bool #

(>=) :: Unifier' a -> Unifier' a -> Bool #

max :: Unifier' a -> Unifier' a -> Unifier' a #

min :: Unifier' a -> Unifier' a -> Unifier' a #

Print (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Unifier' a -> Doc Source #

type Rep (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (Unifier' a) = D1 ('MetaData "Unifier'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Unifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Subst' a])))

data Subst' a Source #

Constructors

Subst a MetaVarIdent (Binders' a) (ScopedTerm' a) 

Instances

Instances details
Foldable Subst' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Subst' m -> m #

foldMap :: Monoid m => (a -> m) -> Subst' a -> m #

foldMap' :: Monoid m => (a -> m) -> Subst' a -> m #

foldr :: (a -> b -> b) -> b -> Subst' a -> b #

foldr' :: (a -> b -> b) -> b -> Subst' a -> b #

foldl :: (b -> a -> b) -> b -> Subst' a -> b #

foldl' :: (b -> a -> b) -> b -> Subst' a -> b #

foldr1 :: (a -> a -> a) -> Subst' a -> a #

foldl1 :: (a -> a -> a) -> Subst' a -> a #

toList :: Subst' a -> [a] #

null :: Subst' a -> Bool #

length :: Subst' a -> Int #

elem :: Eq a => a -> Subst' a -> Bool #

maximum :: Ord a => Subst' a -> a #

minimum :: Ord a => Subst' a -> a #

sum :: Num a => Subst' a -> a #

product :: Num a => Subst' a -> a #

Traversable Subst' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Subst' a -> f (Subst' b) #

sequenceA :: Applicative f => Subst' (f a) -> f (Subst' a) #

mapM :: Monad m => (a -> m b) -> Subst' a -> m (Subst' b) #

sequence :: Monad m => Subst' (m a) -> m (Subst' a) #

Functor Subst' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Subst' a -> Subst' b #

(<$) :: a -> Subst' b -> Subst' a #

HasPosition Subst Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Subst' a -> c (Subst' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Subst' a) #

toConstr :: Subst' a -> Constr #

dataTypeOf :: Subst' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Subst' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Subst' a)) #

gmapT :: (forall b. Data b => b -> b) -> Subst' a -> Subst' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Subst' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Subst' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Subst' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Subst' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Subst' a -> m (Subst' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Subst' a -> m (Subst' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Subst' a -> m (Subst' a) #

Generic (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Subst' a -> Rep (Subst' a) x #

to :: Rep (Subst' a) x -> Subst' a #

Read a => Read (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> Subst' a -> ShowS #

show :: Subst' a -> String #

showList :: [Subst' a] -> ShowS #

Eq a => Eq (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: Subst' a -> Subst' a -> Bool #

(/=) :: Subst' a -> Subst' a -> Bool #

Ord a => Ord (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: Subst' a -> Subst' a -> Ordering #

(<) :: Subst' a -> Subst' a -> Bool #

(<=) :: Subst' a -> Subst' a -> Bool #

(>) :: Subst' a -> Subst' a -> Bool #

(>=) :: Subst' a -> Subst' a -> Bool #

max :: Subst' a -> Subst' a -> Subst' a #

min :: Subst' a -> Subst' a -> Subst' a #

Print (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Subst' a -> Doc Source #

Print [Subst' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Subst' a] -> Doc Source #

type Rep (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data Term' a Source #

Constructors

Var a VarIdent 
Op a OpIdent [OpArg' a] 
MetaVar a MetaVarIdent [Term' a] 

Instances

Instances details
Foldable Term' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

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

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

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

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

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

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

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

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

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

null :: Term' a -> Bool #

length :: Term' a -> Int #

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

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

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

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

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

Traversable Term' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

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

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

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

Functor Term' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

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

HasPosition Term Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Term' a -> c (Term' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Term' a) #

toConstr :: Term' a -> Constr #

dataTypeOf :: Term' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Term' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Term' a)) #

gmapT :: (forall b. Data b => b -> b) -> Term' a -> Term' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Term' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Term' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Term' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Term' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Term' a -> m (Term' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Term' a -> m (Term' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Term' a -> m (Term' a) #

Generic (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Term' a -> Rep (Term' a) x #

to :: Rep (Term' a) x -> Term' a #

Read a => Read (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

show :: Term' a -> String #

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

Eq a => Eq (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

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

Ord a => Ord (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

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

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

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

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

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

max :: Term' a -> Term' a -> Term' a #

min :: Term' a -> Term' a -> Term' a #

Print (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Term' a -> Doc Source #

Print [Term' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Term' a] -> Doc Source #

type Rep (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data OpArg' a Source #

Constructors

OpArg a (Binders' a) (ScopedTerm' a) 
PlainOpArg a (Term' a) 

Instances

Instances details
Foldable OpArg' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => OpArg' m -> m #

foldMap :: Monoid m => (a -> m) -> OpArg' a -> m #

foldMap' :: Monoid m => (a -> m) -> OpArg' a -> m #

foldr :: (a -> b -> b) -> b -> OpArg' a -> b #

foldr' :: (a -> b -> b) -> b -> OpArg' a -> b #

foldl :: (b -> a -> b) -> b -> OpArg' a -> b #

foldl' :: (b -> a -> b) -> b -> OpArg' a -> b #

foldr1 :: (a -> a -> a) -> OpArg' a -> a #

foldl1 :: (a -> a -> a) -> OpArg' a -> a #

toList :: OpArg' a -> [a] #

null :: OpArg' a -> Bool #

length :: OpArg' a -> Int #

elem :: Eq a => a -> OpArg' a -> Bool #

maximum :: Ord a => OpArg' a -> a #

minimum :: Ord a => OpArg' a -> a #

sum :: Num a => OpArg' a -> a #

product :: Num a => OpArg' a -> a #

Traversable OpArg' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> OpArg' a -> f (OpArg' b) #

sequenceA :: Applicative f => OpArg' (f a) -> f (OpArg' a) #

mapM :: Monad m => (a -> m b) -> OpArg' a -> m (OpArg' b) #

sequence :: Monad m => OpArg' (m a) -> m (OpArg' a) #

Functor OpArg' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> OpArg' a -> OpArg' b #

(<$) :: a -> OpArg' b -> OpArg' a #

HasPosition OpArg Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpArg' a -> c (OpArg' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (OpArg' a) #

toConstr :: OpArg' a -> Constr #

dataTypeOf :: OpArg' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (OpArg' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (OpArg' a)) #

gmapT :: (forall b. Data b => b -> b) -> OpArg' a -> OpArg' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpArg' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpArg' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpArg' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpArg' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpArg' a -> m (OpArg' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpArg' a -> m (OpArg' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpArg' a -> m (OpArg' a) #

Generic (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: OpArg' a -> Rep (OpArg' a) x #

to :: Rep (OpArg' a) x -> OpArg' a #

Read a => Read (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> OpArg' a -> ShowS #

show :: OpArg' a -> String #

showList :: [OpArg' a] -> ShowS #

Eq a => Eq (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: OpArg' a -> OpArg' a -> Bool #

(/=) :: OpArg' a -> OpArg' a -> Bool #

Ord a => Ord (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: OpArg' a -> OpArg' a -> Ordering #

(<) :: OpArg' a -> OpArg' a -> Bool #

(<=) :: OpArg' a -> OpArg' a -> Bool #

(>) :: OpArg' a -> OpArg' a -> Bool #

(>=) :: OpArg' a -> OpArg' a -> Bool #

max :: OpArg' a -> OpArg' a -> OpArg' a #

min :: OpArg' a -> OpArg' a -> OpArg' a #

Print (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpArg' a -> Doc Source #

Print [OpArg' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [OpArg' a] -> Doc Source #

type Rep (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data Binders' a Source #

Constructors

NoBinders a 
SomeBinders a VarIdent (Binders' a) 

Instances

Instances details
Foldable Binders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Binders' m -> m #

foldMap :: Monoid m => (a -> m) -> Binders' a -> m #

foldMap' :: Monoid m => (a -> m) -> Binders' a -> m #

foldr :: (a -> b -> b) -> b -> Binders' a -> b #

foldr' :: (a -> b -> b) -> b -> Binders' a -> b #

foldl :: (b -> a -> b) -> b -> Binders' a -> b #

foldl' :: (b -> a -> b) -> b -> Binders' a -> b #

foldr1 :: (a -> a -> a) -> Binders' a -> a #

foldl1 :: (a -> a -> a) -> Binders' a -> a #

toList :: Binders' a -> [a] #

null :: Binders' a -> Bool #

length :: Binders' a -> Int #

elem :: Eq a => a -> Binders' a -> Bool #

maximum :: Ord a => Binders' a -> a #

minimum :: Ord a => Binders' a -> a #

sum :: Num a => Binders' a -> a #

product :: Num a => Binders' a -> a #

Traversable Binders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Binders' a -> f (Binders' b) #

sequenceA :: Applicative f => Binders' (f a) -> f (Binders' a) #

mapM :: Monad m => (a -> m b) -> Binders' a -> m (Binders' b) #

sequence :: Monad m => Binders' (m a) -> m (Binders' a) #

Functor Binders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Binders' a -> Binders' b #

(<$) :: a -> Binders' b -> Binders' a #

HasPosition Binders Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binders' a -> c (Binders' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Binders' a) #

toConstr :: Binders' a -> Constr #

dataTypeOf :: Binders' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Binders' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Binders' a)) #

gmapT :: (forall b. Data b => b -> b) -> Binders' a -> Binders' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binders' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binders' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Binders' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Binders' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binders' a -> m (Binders' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binders' a -> m (Binders' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binders' a -> m (Binders' a) #

Generic (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (Binders' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Binders' a -> Rep (Binders' a) x #

to :: Rep (Binders' a) x -> Binders' a #

Read a => Read (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> Binders' a -> ShowS #

show :: Binders' a -> String #

showList :: [Binders' a] -> ShowS #

Eq a => Eq (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: Binders' a -> Binders' a -> Bool #

(/=) :: Binders' a -> Binders' a -> Bool #

Ord a => Ord (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: Binders' a -> Binders' a -> Ordering #

(<) :: Binders' a -> Binders' a -> Bool #

(<=) :: Binders' a -> Binders' a -> Bool #

(>) :: Binders' a -> Binders' a -> Bool #

(>=) :: Binders' a -> Binders' a -> Bool #

max :: Binders' a -> Binders' a -> Binders' a #

min :: Binders' a -> Binders' a -> Binders' a #

Print (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Binders' a -> Doc Source #

type Rep (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data ScopedTerm' a Source #

Constructors

ScopedTerm a (Term' a) 

Instances

Instances details
Foldable ScopedTerm' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => ScopedTerm' m -> m #

foldMap :: Monoid m => (a -> m) -> ScopedTerm' a -> m #

foldMap' :: Monoid m => (a -> m) -> ScopedTerm' a -> m #

foldr :: (a -> b -> b) -> b -> ScopedTerm' a -> b #

foldr' :: (a -> b -> b) -> b -> ScopedTerm' a -> b #

foldl :: (b -> a -> b) -> b -> ScopedTerm' a -> b #

foldl' :: (b -> a -> b) -> b -> ScopedTerm' a -> b #

foldr1 :: (a -> a -> a) -> ScopedTerm' a -> a #

foldl1 :: (a -> a -> a) -> ScopedTerm' a -> a #

toList :: ScopedTerm' a -> [a] #

null :: ScopedTerm' a -> Bool #

length :: ScopedTerm' a -> Int #

elem :: Eq a => a -> ScopedTerm' a -> Bool #

maximum :: Ord a => ScopedTerm' a -> a #

minimum :: Ord a => ScopedTerm' a -> a #

sum :: Num a => ScopedTerm' a -> a #

product :: Num a => ScopedTerm' a -> a #

Traversable ScopedTerm' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> ScopedTerm' a -> f (ScopedTerm' b) #

sequenceA :: Applicative f => ScopedTerm' (f a) -> f (ScopedTerm' a) #

mapM :: Monad m => (a -> m b) -> ScopedTerm' a -> m (ScopedTerm' b) #

sequence :: Monad m => ScopedTerm' (m a) -> m (ScopedTerm' a) #

Functor ScopedTerm' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> ScopedTerm' a -> ScopedTerm' b #

(<$) :: a -> ScopedTerm' b -> ScopedTerm' a #

HasPosition ScopedTerm Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ScopedTerm' a -> c (ScopedTerm' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ScopedTerm' a) #

toConstr :: ScopedTerm' a -> Constr #

dataTypeOf :: ScopedTerm' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ScopedTerm' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ScopedTerm' a)) #

gmapT :: (forall b. Data b => b -> b) -> ScopedTerm' a -> ScopedTerm' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ScopedTerm' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ScopedTerm' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> ScopedTerm' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ScopedTerm' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ScopedTerm' a -> m (ScopedTerm' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedTerm' a -> m (ScopedTerm' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedTerm' a -> m (ScopedTerm' a) #

Generic (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (ScopedTerm' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedTerm' a) = D1 ('MetaData "ScopedTerm'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term' a))))

Methods

from :: ScopedTerm' a -> Rep (ScopedTerm' a) x #

to :: Rep (ScopedTerm' a) x -> ScopedTerm' a #

Read a => Read (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedTerm' a -> Doc Source #

type Rep (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedTerm' a) = D1 ('MetaData "ScopedTerm'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term' a))))

data Type' a Source #

Constructors

TypeFun a (Type' a) (Type' a) 
TypeProduct a (Type' a) (Type' a) 
TypeVar a VarIdent 

Instances

Instances details
Foldable Type' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => Type' m -> m #

foldMap :: Monoid m => (a -> m) -> Type' a -> m #

foldMap' :: Monoid m => (a -> m) -> Type' a -> m #

foldr :: (a -> b -> b) -> b -> Type' a -> b #

foldr' :: (a -> b -> b) -> b -> Type' a -> b #

foldl :: (b -> a -> b) -> b -> Type' a -> b #

foldl' :: (b -> a -> b) -> b -> Type' a -> b #

foldr1 :: (a -> a -> a) -> Type' a -> a #

foldl1 :: (a -> a -> a) -> Type' a -> a #

toList :: Type' a -> [a] #

null :: Type' a -> Bool #

length :: Type' a -> Int #

elem :: Eq a => a -> Type' a -> Bool #

maximum :: Ord a => Type' a -> a #

minimum :: Ord a => Type' a -> a #

sum :: Num a => Type' a -> a #

product :: Num a => Type' a -> a #

Traversable Type' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> Type' a -> f (Type' b) #

sequenceA :: Applicative f => Type' (f a) -> f (Type' a) #

mapM :: Monad m => (a -> m b) -> Type' a -> m (Type' b) #

sequence :: Monad m => Type' (m a) -> m (Type' a) #

Functor Type' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> Type' a -> Type' b #

(<$) :: a -> Type' b -> Type' a #

HasPosition Type Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type' a -> c (Type' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Type' a) #

toConstr :: Type' a -> Constr #

dataTypeOf :: Type' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Type' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Type' a)) #

gmapT :: (forall b. Data b => b -> b) -> Type' a -> Type' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Type' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type' a -> m (Type' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type' a -> m (Type' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type' a -> m (Type' a) #

Generic (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: Type' a -> Rep (Type' a) x #

to :: Rep (Type' a) x -> Type' a #

Read a => Read (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

showsPrec :: Int -> Type' a -> ShowS #

show :: Type' a -> String #

showList :: [Type' a] -> ShowS #

Eq a => Eq (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: Type' a -> Type' a -> Bool #

(/=) :: Type' a -> Type' a -> Bool #

Ord a => Ord (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

compare :: Type' a -> Type' a -> Ordering #

(<) :: Type' a -> Type' a -> Bool #

(<=) :: Type' a -> Type' a -> Bool #

(>) :: Type' a -> Type' a -> Bool #

(>=) :: Type' a -> Type' a -> Bool #

max :: Type' a -> Type' a -> Type' a #

min :: Type' a -> Type' a -> Type' a #

Print (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Type' a -> Doc Source #

Print [Type' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Type' a] -> Doc Source #

type Rep (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data TypeBinders' a Source #

Instances

Instances details
Foldable TypeBinders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => TypeBinders' m -> m #

foldMap :: Monoid m => (a -> m) -> TypeBinders' a -> m #

foldMap' :: Monoid m => (a -> m) -> TypeBinders' a -> m #

foldr :: (a -> b -> b) -> b -> TypeBinders' a -> b #

foldr' :: (a -> b -> b) -> b -> TypeBinders' a -> b #

foldl :: (b -> a -> b) -> b -> TypeBinders' a -> b #

foldl' :: (b -> a -> b) -> b -> TypeBinders' a -> b #

foldr1 :: (a -> a -> a) -> TypeBinders' a -> a #

foldl1 :: (a -> a -> a) -> TypeBinders' a -> a #

toList :: TypeBinders' a -> [a] #

null :: TypeBinders' a -> Bool #

length :: TypeBinders' a -> Int #

elem :: Eq a => a -> TypeBinders' a -> Bool #

maximum :: Ord a => TypeBinders' a -> a #

minimum :: Ord a => TypeBinders' a -> a #

sum :: Num a => TypeBinders' a -> a #

product :: Num a => TypeBinders' a -> a #

Traversable TypeBinders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> TypeBinders' a -> f (TypeBinders' b) #

sequenceA :: Applicative f => TypeBinders' (f a) -> f (TypeBinders' a) #

mapM :: Monad m => (a -> m b) -> TypeBinders' a -> m (TypeBinders' b) #

sequence :: Monad m => TypeBinders' (m a) -> m (TypeBinders' a) #

Functor TypeBinders' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> TypeBinders' a -> TypeBinders' b #

(<$) :: a -> TypeBinders' b -> TypeBinders' a #

HasPosition TypeBinders Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeBinders' a -> c (TypeBinders' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TypeBinders' a) #

toConstr :: TypeBinders' a -> Constr #

dataTypeOf :: TypeBinders' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TypeBinders' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TypeBinders' a)) #

gmapT :: (forall b. Data b => b -> b) -> TypeBinders' a -> TypeBinders' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeBinders' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeBinders' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> TypeBinders' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeBinders' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeBinders' a -> m (TypeBinders' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeBinders' a -> m (TypeBinders' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeBinders' a -> m (TypeBinders' a) #

Generic (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (TypeBinders' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

from :: TypeBinders' a -> Rep (TypeBinders' a) x #

to :: Rep (TypeBinders' a) x -> TypeBinders' a #

Read a => Read (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> TypeBinders' a -> Doc Source #

type Rep (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

data ScopedOpArgTyping' a Source #

Constructors

ScopedOpArgTyping a (OpArgTyping' a) 

Instances

Instances details
Foldable ScopedOpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => ScopedOpArgTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> ScopedOpArgTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> ScopedOpArgTyping' a -> m #

foldr :: (a -> b -> b) -> b -> ScopedOpArgTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> ScopedOpArgTyping' a -> b #

foldl :: (b -> a -> b) -> b -> ScopedOpArgTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> ScopedOpArgTyping' a -> b #

foldr1 :: (a -> a -> a) -> ScopedOpArgTyping' a -> a #

foldl1 :: (a -> a -> a) -> ScopedOpArgTyping' a -> a #

toList :: ScopedOpArgTyping' a -> [a] #

null :: ScopedOpArgTyping' a -> Bool #

length :: ScopedOpArgTyping' a -> Int #

elem :: Eq a => a -> ScopedOpArgTyping' a -> Bool #

maximum :: Ord a => ScopedOpArgTyping' a -> a #

minimum :: Ord a => ScopedOpArgTyping' a -> a #

sum :: Num a => ScopedOpArgTyping' a -> a #

product :: Num a => ScopedOpArgTyping' a -> a #

Traversable ScopedOpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Functor ScopedOpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition ScopedOpArgTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ScopedOpArgTyping' a -> c (ScopedOpArgTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ScopedOpArgTyping' a) #

toConstr :: ScopedOpArgTyping' a -> Constr #

dataTypeOf :: ScopedOpArgTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ScopedOpArgTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ScopedOpArgTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> ScopedOpArgTyping' a -> ScopedOpArgTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ScopedOpArgTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ScopedOpArgTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> ScopedOpArgTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ScopedOpArgTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ScopedOpArgTyping' a -> m (ScopedOpArgTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedOpArgTyping' a -> m (ScopedOpArgTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedOpArgTyping' a -> m (ScopedOpArgTyping' a) #

Generic (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (ScopedOpArgTyping' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedOpArgTyping' a) = D1 ('MetaData "ScopedOpArgTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedOpArgTyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OpArgTyping' a))))
Read a => Read (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedOpArgTyping' a -> Doc Source #

Print [ScopedOpArgTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [ScopedOpArgTyping' a] -> Doc Source #

type Rep (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedOpArgTyping' a) = D1 ('MetaData "ScopedOpArgTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedOpArgTyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OpArgTyping' a))))

data OpArgTyping' a Source #

Constructors

OpArgTyping a [Type' a] (Type' a) 

Instances

Instances details
Foldable OpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => OpArgTyping' m -> m #

foldMap :: Monoid m => (a -> m) -> OpArgTyping' a -> m #

foldMap' :: Monoid m => (a -> m) -> OpArgTyping' a -> m #

foldr :: (a -> b -> b) -> b -> OpArgTyping' a -> b #

foldr' :: (a -> b -> b) -> b -> OpArgTyping' a -> b #

foldl :: (b -> a -> b) -> b -> OpArgTyping' a -> b #

foldl' :: (b -> a -> b) -> b -> OpArgTyping' a -> b #

foldr1 :: (a -> a -> a) -> OpArgTyping' a -> a #

foldl1 :: (a -> a -> a) -> OpArgTyping' a -> a #

toList :: OpArgTyping' a -> [a] #

null :: OpArgTyping' a -> Bool #

length :: OpArgTyping' a -> Int #

elem :: Eq a => a -> OpArgTyping' a -> Bool #

maximum :: Ord a => OpArgTyping' a -> a #

minimum :: Ord a => OpArgTyping' a -> a #

sum :: Num a => OpArgTyping' a -> a #

product :: Num a => OpArgTyping' a -> a #

Traversable OpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> OpArgTyping' a -> f (OpArgTyping' b) #

sequenceA :: Applicative f => OpArgTyping' (f a) -> f (OpArgTyping' a) #

mapM :: Monad m => (a -> m b) -> OpArgTyping' a -> m (OpArgTyping' b) #

sequence :: Monad m => OpArgTyping' (m a) -> m (OpArgTyping' a) #

Functor OpArgTyping' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> OpArgTyping' a -> OpArgTyping' b #

(<$) :: a -> OpArgTyping' b -> OpArgTyping' a #

HasPosition OpArgTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpArgTyping' a -> c (OpArgTyping' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (OpArgTyping' a) #

toConstr :: OpArgTyping' a -> Constr #

dataTypeOf :: OpArgTyping' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (OpArgTyping' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (OpArgTyping' a)) #

gmapT :: (forall b. Data b => b -> b) -> OpArgTyping' a -> OpArgTyping' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpArgTyping' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpArgTyping' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpArgTyping' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpArgTyping' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpArgTyping' a -> m (OpArgTyping' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpArgTyping' a -> m (OpArgTyping' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpArgTyping' a -> m (OpArgTyping' a) #

Generic (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (OpArgTyping' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (OpArgTyping' a) = D1 ('MetaData "OpArgTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type' a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a)))))

Methods

from :: OpArgTyping' a -> Rep (OpArgTyping' a) x #

to :: Rep (OpArgTyping' a) x -> OpArgTyping' a #

Read a => Read (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpArgTyping' a -> Doc Source #

type Rep (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (OpArgTyping' a) = D1 ('MetaData "OpArgTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type' a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a)))))

data ScopedType' a Source #

Constructors

ScopedType a (Type' a) 

Instances

Instances details
Foldable ScopedType' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fold :: Monoid m => ScopedType' m -> m #

foldMap :: Monoid m => (a -> m) -> ScopedType' a -> m #

foldMap' :: Monoid m => (a -> m) -> ScopedType' a -> m #

foldr :: (a -> b -> b) -> b -> ScopedType' a -> b #

foldr' :: (a -> b -> b) -> b -> ScopedType' a -> b #

foldl :: (b -> a -> b) -> b -> ScopedType' a -> b #

foldl' :: (b -> a -> b) -> b -> ScopedType' a -> b #

foldr1 :: (a -> a -> a) -> ScopedType' a -> a #

foldl1 :: (a -> a -> a) -> ScopedType' a -> a #

toList :: ScopedType' a -> [a] #

null :: ScopedType' a -> Bool #

length :: ScopedType' a -> Int #

elem :: Eq a => a -> ScopedType' a -> Bool #

maximum :: Ord a => ScopedType' a -> a #

minimum :: Ord a => ScopedType' a -> a #

sum :: Num a => ScopedType' a -> a #

product :: Num a => ScopedType' a -> a #

Traversable ScopedType' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

traverse :: Applicative f => (a -> f b) -> ScopedType' a -> f (ScopedType' b) #

sequenceA :: Applicative f => ScopedType' (f a) -> f (ScopedType' a) #

mapM :: Monad m => (a -> m b) -> ScopedType' a -> m (ScopedType' b) #

sequence :: Monad m => ScopedType' (m a) -> m (ScopedType' a) #

Functor ScopedType' Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fmap :: (a -> b) -> ScopedType' a -> ScopedType' b #

(<$) :: a -> ScopedType' b -> ScopedType' a #

HasPosition ScopedType Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Data a => Data (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ScopedType' a -> c (ScopedType' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ScopedType' a) #

toConstr :: ScopedType' a -> Constr #

dataTypeOf :: ScopedType' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ScopedType' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ScopedType' a)) #

gmapT :: (forall b. Data b => b -> b) -> ScopedType' a -> ScopedType' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ScopedType' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ScopedType' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> ScopedType' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ScopedType' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ScopedType' a -> m (ScopedType' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedType' a -> m (ScopedType' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ScopedType' a -> m (ScopedType' a) #

Generic (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep (ScopedType' a) 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedType' a) = D1 ('MetaData "ScopedType'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a))))

Methods

from :: ScopedType' a -> Rep (ScopedType' a) x #

to :: Rep (ScopedType' a) x -> ScopedType' a #

Read a => Read (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show a => Show (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq a => Eq (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord a => Ord (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedType' a -> Doc Source #

Print [ScopedType' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [ScopedType' a] -> Doc Source #

type Rep (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep (ScopedType' a) = D1 ('MetaData "ScopedType'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ScopedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a))))

newtype VarIdent Source #

Constructors

VarIdent String 

Instances

Instances details
Data VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VarIdent -> c VarIdent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VarIdent #

toConstr :: VarIdent -> Constr #

dataTypeOf :: VarIdent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VarIdent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VarIdent) #

gmapT :: (forall b. Data b => b -> b) -> VarIdent -> VarIdent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VarIdent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VarIdent -> r #

gmapQ :: (forall d. Data d => d -> u) -> VarIdent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> VarIdent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VarIdent -> m VarIdent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VarIdent -> m VarIdent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VarIdent -> m VarIdent #

IsString VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Generic VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep VarIdent 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep VarIdent = D1 ('MetaData "VarIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "VarIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: VarIdent -> Rep VarIdent x #

to :: Rep VarIdent x -> VarIdent #

Read VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> VarIdent -> Doc Source #

type Rep VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep VarIdent = D1 ('MetaData "VarIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "VarIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

newtype OpIdent Source #

Constructors

OpIdent String 

Instances

Instances details
Data OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpIdent -> c OpIdent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OpIdent #

toConstr :: OpIdent -> Constr #

dataTypeOf :: OpIdent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OpIdent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OpIdent) #

gmapT :: (forall b. Data b => b -> b) -> OpIdent -> OpIdent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpIdent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpIdent -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpIdent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpIdent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpIdent -> m OpIdent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpIdent -> m OpIdent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpIdent -> m OpIdent #

IsString OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

fromString :: String -> OpIdent #

Generic OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep OpIdent 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep OpIdent = D1 ('MetaData "OpIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "OpIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: OpIdent -> Rep OpIdent x #

to :: Rep OpIdent x -> OpIdent #

Read OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

(==) :: OpIdent -> OpIdent -> Bool #

(/=) :: OpIdent -> OpIdent -> Bool #

Ord OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpIdent -> Doc Source #

ZipMatchK OpIdent Source #

Match OpIdent via Eq.

Instance details

Defined in Language.SOAS.Impl.Generated

Methods

zipMatchWithK :: forall (as :: LoT Type) (bs :: LoT Type) (cs :: LoT Type). Mappings as bs cs -> (OpIdent :@@: as) -> (OpIdent :@@: bs) -> Maybe (OpIdent :@@: cs) #

type Rep OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep OpIdent = D1 ('MetaData "OpIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "OpIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

newtype MetaVarIdent Source #

Constructors

MetaVarIdent String 

Instances

Instances details
Data MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MetaVarIdent -> c MetaVarIdent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MetaVarIdent #

toConstr :: MetaVarIdent -> Constr #

dataTypeOf :: MetaVarIdent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MetaVarIdent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MetaVarIdent) #

gmapT :: (forall b. Data b => b -> b) -> MetaVarIdent -> MetaVarIdent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MetaVarIdent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MetaVarIdent -> r #

gmapQ :: (forall d. Data d => d -> u) -> MetaVarIdent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MetaVarIdent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MetaVarIdent -> m MetaVarIdent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaVarIdent -> m MetaVarIdent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaVarIdent -> m MetaVarIdent #

IsString MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Generic MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Associated Types

type Rep MetaVarIdent 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep MetaVarIdent = D1 ('MetaData "MetaVarIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "MetaVarIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))
Read MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Show MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Eq MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Ord MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

Print MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> MetaVarIdent -> Doc Source #

ZipMatchK MetaVarIdent Source #

Match MetaVarIdent via Eq.

Instance details

Defined in Language.SOAS.Impl.Generated

Methods

zipMatchWithK :: forall (as :: LoT Type) (bs :: LoT Type) (cs :: LoT Type). Mappings as bs cs -> (MetaVarIdent :@@: as) -> (MetaVarIdent :@@: bs) -> Maybe (MetaVarIdent :@@: cs) #

type Rep MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

type Rep MetaVarIdent = D1 ('MetaData "MetaVarIdent" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'True) (C1 ('MetaCons "MetaVarIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

type BNFC'Position = Maybe (Int, Int) Source #

Start position (line, column) of something.

class HasPosition a where Source #

Get the start position of something.

Instances

Instances details
HasPosition Binders Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Constraint Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Context Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition MetaVarTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition OpArg Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition OpArgTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition OpTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition ScopedOpArgTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition ScopedTerm Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition ScopedType Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Subst Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Term Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition TermTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Type Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition TypeBinders Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition Unifier Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs

HasPosition VarTyping Source # 
Instance details

Defined in Language.SOAS.Syntax.Abs