Safe Haskell | None |
---|---|
Language | Haskell2010 |
The abstract syntax of language Syntax.
Synopsis
- type TermTyping = TermTyping' BNFC'Position
- data TermTyping' a = TermTyping a (TypeBinders' a) (Context' a) (ScopedTerm' a) (ScopedType' a)
- type Context = Context' BNFC'Position
- data Context' a = Context a [MetaVarTyping' a] [VarTyping' a]
- type VarTyping = VarTyping' BNFC'Position
- data VarTyping' a = VarTyping a VarIdent (Type' a)
- type MetaVarTyping = MetaVarTyping' BNFC'Position
- data MetaVarTyping' a = MetaVarTyping a MetaVarIdent [Type' a] (Type' a)
- type OpTyping = OpTyping' BNFC'Position
- data OpTyping' a = OpTyping a OpIdent (TypeBinders' a) [ScopedOpArgTyping' a] (ScopedType' a)
- type Constraint = Constraint' BNFC'Position
- data Constraint' a = ConstraintEq a (Binders' a) (ScopedTerm' a) (ScopedTerm' a)
- type Unifier = Unifier' BNFC'Position
- data Unifier' a = Unifier a [Subst' a]
- type Subst = Subst' BNFC'Position
- data Subst' a = Subst a MetaVarIdent (Binders' a) (ScopedTerm' a)
- type Term = Term' BNFC'Position
- data Term' a
- type OpArg = OpArg' BNFC'Position
- data OpArg' a
- = OpArg a (Binders' a) (ScopedTerm' a)
- | PlainOpArg a (Term' a)
- type Binders = Binders' BNFC'Position
- data Binders' a
- = NoBinders a
- | SomeBinders a VarIdent (Binders' a)
- type ScopedTerm = ScopedTerm' BNFC'Position
- data ScopedTerm' a = ScopedTerm a (Term' a)
- type Type = Type' BNFC'Position
- data Type' a
- type TypeBinders = TypeBinders' BNFC'Position
- data TypeBinders' a
- = NoTypeBinders a
- | SomeTypeBinders a VarIdent (TypeBinders' a)
- type ScopedOpArgTyping = ScopedOpArgTyping' BNFC'Position
- data ScopedOpArgTyping' a = ScopedOpArgTyping a (OpArgTyping' a)
- type OpArgTyping = OpArgTyping' BNFC'Position
- data OpArgTyping' a = OpArgTyping a [Type' a] (Type' a)
- type ScopedType = ScopedType' BNFC'Position
- data ScopedType' a = ScopedType a (Type' a)
- newtype VarIdent = VarIdent String
- newtype OpIdent = OpIdent String
- newtype MetaVarIdent = MetaVarIdent String
- type BNFC'Position = Maybe (Int, Int)
- pattern BNFC'NoPosition :: BNFC'Position
- pattern BNFC'Position :: Int -> Int -> BNFC'Position
- class HasPosition a where
- hasPosition :: a -> BNFC'Position
Documentation
type TermTyping = TermTyping' BNFC'Position Source #
data TermTyping' a Source #
TermTyping a (TypeBinders' a) (Context' a) (ScopedTerm' a) (ScopedType' a) |
Instances
type Context = Context' BNFC'Position Source #
Context a [MetaVarTyping' a] [VarTyping' a] |
Instances
Foldable Context' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Context' a -> Bool # maximum :: Ord a => Context' a -> a # minimum :: Ord a => Context' a -> a # | |||||
Traversable Context' Source # | |||||
Functor Context' Source # | |||||
HasPosition Context Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Context -> BNFC'Position Source # | |||||
Data a => Data (Context' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Context' a) Source # | |||||
Show a => Show (Context' a) Source # | |||||
Eq a => Eq (Context' a) Source # | |||||
Ord a => Ord (Context' a) Source # | |||||
Print (Context' a) Source # | |||||
type Rep (Context' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Context' a) = D1 ('MetaData "Context'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Context" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [MetaVarTyping' a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarTyping' a])))) |
type VarTyping = VarTyping' BNFC'Position Source #
data VarTyping' a Source #
Instances
Foldable VarTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> VarTyping' a -> VarTyping' b # (<$) :: a -> VarTyping' b -> VarTyping' a # | |||||
HasPosition VarTyping Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: VarTyping -> BNFC'Position Source # | |||||
Data a => Data (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: VarTyping' a -> Rep (VarTyping' a) x # to :: Rep (VarTyping' a) x -> VarTyping' a # | |||||
Read a => Read (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (VarTyping' a) # readList :: ReadS [VarTyping' a] # readPrec :: ReadPrec (VarTyping' a) # readListPrec :: ReadPrec [VarTyping' a] # | |||||
Show a => Show (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> VarTyping' a -> ShowS # show :: VarTyping' a -> String # showList :: [VarTyping' a] -> ShowS # | |||||
Eq a => Eq (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: VarTyping' a -> VarTyping' a -> Bool # (/=) :: VarTyping' a -> VarTyping' a -> Bool # | |||||
Ord a => Ord (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: VarTyping' a -> VarTyping' a -> Ordering # (<) :: VarTyping' a -> VarTyping' a -> Bool # (<=) :: VarTyping' a -> VarTyping' a -> Bool # (>) :: VarTyping' a -> VarTyping' a -> Bool # (>=) :: VarTyping' a -> VarTyping' a -> Bool # max :: VarTyping' a -> VarTyping' a -> VarTyping' a # min :: VarTyping' a -> VarTyping' a -> VarTyping' a # | |||||
Print (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
Print [VarTyping' a] Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (VarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (VarTyping' a) = D1 ('MetaData "VarTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "VarTyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarIdent) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a))))) |
data MetaVarTyping' a Source #
MetaVarTyping a MetaVarIdent [Type' a] (Type' a) |
Instances
Foldable MetaVarTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> MetaVarTyping' a -> MetaVarTyping' b # (<$) :: a -> MetaVarTyping' b -> MetaVarTyping' a # | |||||
HasPosition MetaVarTyping Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: MetaVarTyping' a -> Rep (MetaVarTyping' a) x # to :: Rep (MetaVarTyping' a) x -> MetaVarTyping' a # | |||||
Read a => Read (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (MetaVarTyping' a) # readList :: ReadS [MetaVarTyping' a] # readPrec :: ReadPrec (MetaVarTyping' a) # readListPrec :: ReadPrec [MetaVarTyping' a] # | |||||
Show a => Show (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> MetaVarTyping' a -> ShowS # show :: MetaVarTyping' a -> String # showList :: [MetaVarTyping' a] -> ShowS # | |||||
Eq a => Eq (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # (/=) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # | |||||
Ord a => Ord (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: MetaVarTyping' a -> MetaVarTyping' a -> Ordering # (<) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # (<=) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # (>) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # (>=) :: MetaVarTyping' a -> MetaVarTyping' a -> Bool # max :: MetaVarTyping' a -> MetaVarTyping' a -> MetaVarTyping' a # min :: MetaVarTyping' a -> MetaVarTyping' a -> MetaVarTyping' a # | |||||
Print (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
Print [MetaVarTyping' a] Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (MetaVarTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (MetaVarTyping' a) = D1 ('MetaData "MetaVarTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "MetaVarTyping" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaVarIdent)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type' a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' a))))) |
type OpTyping = OpTyping' BNFC'Position Source #
OpTyping a OpIdent (TypeBinders' a) [ScopedOpArgTyping' a] (ScopedType' a) |
Instances
Foldable OpTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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] # length :: OpTyping' a -> Int # elem :: Eq a => a -> OpTyping' a -> Bool # maximum :: Ord a => OpTyping' a -> a # minimum :: Ord a => OpTyping' a -> a # | |||||
Traversable OpTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Functor OpTyping' Source # | |||||
HasPosition OpTyping Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: OpTyping -> BNFC'Position Source # | |||||
Data a => Data (OpTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (OpTyping' a) Source # | |||||
Show a => Show (OpTyping' a) Source # | |||||
Eq a => Eq (OpTyping' a) Source # | |||||
Ord a => Ord (OpTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Print (OpTyping' a) Source # | |||||
type Rep (OpTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (OpTyping' a) = D1 ('MetaData "OpTyping'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpTyping" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OpIdent)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TypeBinders' a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ScopedOpArgTyping' a]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ScopedType' a)))))) |
type Constraint = Constraint' BNFC'Position Source #
data Constraint' a Source #
ConstraintEq a (Binders' a) (ScopedTerm' a) (ScopedTerm' a) |
Instances
Foldable Constraint' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> Constraint' a -> Constraint' b # (<$) :: a -> Constraint' b -> Constraint' a # | |||||
HasPosition Constraint Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: Constraint' a -> Rep (Constraint' a) x # to :: Rep (Constraint' a) x -> Constraint' a # | |||||
Read a => Read (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (Constraint' a) # readList :: ReadS [Constraint' a] # readPrec :: ReadPrec (Constraint' a) # readListPrec :: ReadPrec [Constraint' a] # | |||||
Show a => Show (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> Constraint' a -> ShowS # show :: Constraint' a -> String # showList :: [Constraint' a] -> ShowS # | |||||
Eq a => Eq (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: Constraint' a -> Constraint' a -> Bool # (/=) :: Constraint' a -> Constraint' a -> Bool # | |||||
Ord a => Ord (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: Constraint' a -> Constraint' a -> Ordering # (<) :: Constraint' a -> Constraint' a -> Bool # (<=) :: Constraint' a -> Constraint' a -> Bool # (>) :: Constraint' a -> Constraint' a -> Bool # (>=) :: Constraint' a -> Constraint' a -> Bool # max :: Constraint' a -> Constraint' a -> Constraint' a # min :: Constraint' a -> Constraint' a -> Constraint' a # | |||||
Print (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (Constraint' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Constraint' a) = D1 ('MetaData "Constraint'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ConstraintEq" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binders' a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ScopedTerm' a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ScopedTerm' a))))) |
type Unifier = Unifier' BNFC'Position Source #
Instances
Foldable Unifier' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Unifier' a -> Bool # maximum :: Ord a => Unifier' a -> a # minimum :: Ord a => Unifier' a -> a # | |||||
Traversable Unifier' Source # | |||||
Functor Unifier' Source # | |||||
HasPosition Unifier Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Unifier -> BNFC'Position Source # | |||||
Data a => Data (Unifier' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Unifier' a) Source # | |||||
Show a => Show (Unifier' a) Source # | |||||
Eq a => Eq (Unifier' a) Source # | |||||
Ord a => Ord (Unifier' a) Source # | |||||
Print (Unifier' a) Source # | |||||
type Rep (Unifier' a) Source # | |||||
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]))) |
type Subst = Subst' BNFC'Position Source #
Subst a MetaVarIdent (Binders' a) (ScopedTerm' a) |
Instances
Foldable Subst' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Subst' a -> Bool # maximum :: Ord a => Subst' a -> a # minimum :: Ord a => Subst' a -> a # | |||||
Traversable Subst' Source # | |||||
Functor Subst' Source # | |||||
HasPosition Subst Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Subst -> BNFC'Position Source # | |||||
Data a => Data (Subst' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Subst' a) Source # | |||||
Show a => Show (Subst' a) Source # | |||||
Eq a => Eq (Subst' a) Source # | |||||
Ord a => Ord (Subst' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Print (Subst' a) Source # | |||||
Print [Subst' a] Source # | |||||
type Rep (Subst' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Subst' a) = D1 ('MetaData "Subst'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Subst" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaVarIdent)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binders' a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ScopedTerm' a))))) |
type Term = Term' BNFC'Position Source #
Instances
Foldable Term' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Term' a -> Bool # maximum :: Ord a => Term' a -> a # minimum :: Ord a => Term' a -> a # | |||||
Traversable Term' Source # | |||||
Functor Term' Source # | |||||
HasPosition Term Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Term -> BNFC'Position Source # | |||||
Data a => Data (Term' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Term' a) Source # | |||||
Show a => Show (Term' a) Source # | |||||
Eq a => Eq (Term' a) Source # | |||||
Ord a => Ord (Term' a) Source # | |||||
Print (Term' a) Source # | |||||
Print [Term' a] Source # | |||||
type Rep (Term' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Term' a) = D1 ('MetaData "Term'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Var" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarIdent)) :+: (C1 ('MetaCons "Op" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OpIdent) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OpArg' a]))) :+: C1 ('MetaCons "MetaVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaVarIdent) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Term' a]))))) |
type OpArg = OpArg' BNFC'Position Source #
OpArg a (Binders' a) (ScopedTerm' a) | |
PlainOpArg a (Term' a) |
Instances
Foldable OpArg' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> OpArg' a -> Bool # maximum :: Ord a => OpArg' a -> a # minimum :: Ord a => OpArg' a -> a # | |||||
Traversable OpArg' Source # | |||||
Functor OpArg' Source # | |||||
HasPosition OpArg Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: OpArg -> BNFC'Position Source # | |||||
Data a => Data (OpArg' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (OpArg' a) Source # | |||||
Show a => Show (OpArg' a) Source # | |||||
Eq a => Eq (OpArg' a) Source # | |||||
Ord a => Ord (OpArg' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Print (OpArg' a) Source # | |||||
Print [OpArg' a] Source # | |||||
type Rep (OpArg' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (OpArg' a) = D1 ('MetaData "OpArg'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binders' a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ScopedTerm' a)))) :+: C1 ('MetaCons "PlainOpArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term' a)))) |
type Binders = Binders' BNFC'Position Source #
NoBinders a | |
SomeBinders a VarIdent (Binders' a) |
Instances
Foldable Binders' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Binders' a -> Bool # maximum :: Ord a => Binders' a -> a # minimum :: Ord a => Binders' a -> a # | |||||
Traversable Binders' Source # | |||||
Functor Binders' Source # | |||||
HasPosition Binders Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Binders -> BNFC'Position Source # | |||||
Data a => Data (Binders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Binders' a) Source # | |||||
Show a => Show (Binders' a) Source # | |||||
Eq a => Eq (Binders' a) Source # | |||||
Ord a => Ord (Binders' a) Source # | |||||
Print (Binders' a) Source # | |||||
type Rep (Binders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Binders' a) = D1 ('MetaData "Binders'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoBinders" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "SomeBinders" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarIdent) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binders' a))))) |
type ScopedTerm = ScopedTerm' BNFC'Position Source #
data ScopedTerm' a Source #
ScopedTerm a (Term' a) |
Instances
Foldable ScopedTerm' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> ScopedTerm' a -> ScopedTerm' b # (<$) :: a -> ScopedTerm' b -> ScopedTerm' a # | |||||
HasPosition ScopedTerm Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: ScopedTerm' a -> Rep (ScopedTerm' a) x # to :: Rep (ScopedTerm' a) x -> ScopedTerm' a # | |||||
Read a => Read (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (ScopedTerm' a) # readList :: ReadS [ScopedTerm' a] # readPrec :: ReadPrec (ScopedTerm' a) # readListPrec :: ReadPrec [ScopedTerm' a] # | |||||
Show a => Show (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> ScopedTerm' a -> ShowS # show :: ScopedTerm' a -> String # showList :: [ScopedTerm' a] -> ShowS # | |||||
Eq a => Eq (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: ScopedTerm' a -> ScopedTerm' a -> Bool # (/=) :: ScopedTerm' a -> ScopedTerm' a -> Bool # | |||||
Ord a => Ord (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: ScopedTerm' a -> ScopedTerm' a -> Ordering # (<) :: ScopedTerm' a -> ScopedTerm' a -> Bool # (<=) :: ScopedTerm' a -> ScopedTerm' a -> Bool # (>) :: ScopedTerm' a -> ScopedTerm' a -> Bool # (>=) :: ScopedTerm' a -> ScopedTerm' a -> Bool # max :: ScopedTerm' a -> ScopedTerm' a -> ScopedTerm' a # min :: ScopedTerm' a -> ScopedTerm' a -> ScopedTerm' a # | |||||
Print (ScopedTerm' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (ScopedTerm' a) Source # | |||||
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)))) |
type Type = Type' BNFC'Position Source #
Instances
Foldable Type' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # elem :: Eq a => a -> Type' a -> Bool # maximum :: Ord a => Type' a -> a # minimum :: Ord a => Type' a -> a # | |||||
Traversable Type' Source # | |||||
Functor Type' Source # | |||||
HasPosition Type Source # | |||||
Defined in Language.SOAS.Syntax.Abs hasPosition :: Type -> BNFC'Position Source # | |||||
Data a => Data (Type' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read a => Read (Type' a) Source # | |||||
Show a => Show (Type' a) Source # | |||||
Eq a => Eq (Type' a) Source # | |||||
Ord a => Ord (Type' a) Source # | |||||
Print (Type' a) Source # | |||||
Print [Type' a] Source # | |||||
type Rep (Type' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (Type' a) = D1 ('MetaData "Type'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFun" '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)))) :+: (C1 ('MetaCons "TypeProduct" '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)))) :+: C1 ('MetaCons "TypeVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarIdent)))) |
type TypeBinders = TypeBinders' BNFC'Position Source #
data TypeBinders' a Source #
Instances
Foldable TypeBinders' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> TypeBinders' a -> TypeBinders' b # (<$) :: a -> TypeBinders' b -> TypeBinders' a # | |||||
HasPosition TypeBinders Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: TypeBinders' a -> Rep (TypeBinders' a) x # to :: Rep (TypeBinders' a) x -> TypeBinders' a # | |||||
Read a => Read (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (TypeBinders' a) # readList :: ReadS [TypeBinders' a] # readPrec :: ReadPrec (TypeBinders' a) # readListPrec :: ReadPrec [TypeBinders' a] # | |||||
Show a => Show (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> TypeBinders' a -> ShowS # show :: TypeBinders' a -> String # showList :: [TypeBinders' a] -> ShowS # | |||||
Eq a => Eq (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: TypeBinders' a -> TypeBinders' a -> Bool # (/=) :: TypeBinders' a -> TypeBinders' a -> Bool # | |||||
Ord a => Ord (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: TypeBinders' a -> TypeBinders' a -> Ordering # (<) :: TypeBinders' a -> TypeBinders' a -> Bool # (<=) :: TypeBinders' a -> TypeBinders' a -> Bool # (>) :: TypeBinders' a -> TypeBinders' a -> Bool # (>=) :: TypeBinders' a -> TypeBinders' a -> Bool # max :: TypeBinders' a -> TypeBinders' a -> TypeBinders' a # min :: TypeBinders' a -> TypeBinders' a -> TypeBinders' a # | |||||
Print (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs type Rep (TypeBinders' a) = D1 ('MetaData "TypeBinders'" "Language.SOAS.Syntax.Abs" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoTypeBinders" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "SomeTypeBinders" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarIdent) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TypeBinders' a))))) |
data ScopedOpArgTyping' a Source #
Instances
Foldable ScopedOpArgTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs traverse :: Applicative f => (a -> f b) -> ScopedOpArgTyping' a -> f (ScopedOpArgTyping' b) # sequenceA :: Applicative f => ScopedOpArgTyping' (f a) -> f (ScopedOpArgTyping' a) # mapM :: Monad m => (a -> m b) -> ScopedOpArgTyping' a -> m (ScopedOpArgTyping' b) # sequence :: Monad m => ScopedOpArgTyping' (m a) -> m (ScopedOpArgTyping' a) # | |||||
Functor ScopedOpArgTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> ScopedOpArgTyping' a -> ScopedOpArgTyping' b # (<$) :: a -> ScopedOpArgTyping' b -> ScopedOpArgTyping' a # | |||||
HasPosition ScopedOpArgTyping Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: ScopedOpArgTyping' a -> Rep (ScopedOpArgTyping' a) x # to :: Rep (ScopedOpArgTyping' a) x -> ScopedOpArgTyping' a # | |||||
Read a => Read (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (ScopedOpArgTyping' a) # readList :: ReadS [ScopedOpArgTyping' a] # readPrec :: ReadPrec (ScopedOpArgTyping' a) # readListPrec :: ReadPrec [ScopedOpArgTyping' a] # | |||||
Show a => Show (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> ScopedOpArgTyping' a -> ShowS # show :: ScopedOpArgTyping' a -> String # showList :: [ScopedOpArgTyping' a] -> ShowS # | |||||
Eq a => Eq (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # (/=) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # | |||||
Ord a => Ord (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Ordering # (<) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # (<=) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # (>) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # (>=) :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> Bool # max :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> ScopedOpArgTyping' a # min :: ScopedOpArgTyping' a -> ScopedOpArgTyping' a -> ScopedOpArgTyping' a # | |||||
Print (ScopedOpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
Print [ScopedOpArgTyping' a] Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (ScopedOpArgTyping' a) Source # | |||||
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)))) |
type OpArgTyping = OpArgTyping' BNFC'Position Source #
data OpArgTyping' a Source #
OpArgTyping a [Type' a] (Type' a) |
Instances
Foldable OpArgTyping' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> OpArgTyping' a -> OpArgTyping' b # (<$) :: a -> OpArgTyping' b -> OpArgTyping' a # | |||||
HasPosition OpArgTyping Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: OpArgTyping' a -> Rep (OpArgTyping' a) x # to :: Rep (OpArgTyping' a) x -> OpArgTyping' a # | |||||
Read a => Read (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (OpArgTyping' a) # readList :: ReadS [OpArgTyping' a] # readPrec :: ReadPrec (OpArgTyping' a) # readListPrec :: ReadPrec [OpArgTyping' a] # | |||||
Show a => Show (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> OpArgTyping' a -> ShowS # show :: OpArgTyping' a -> String # showList :: [OpArgTyping' a] -> ShowS # | |||||
Eq a => Eq (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: OpArgTyping' a -> OpArgTyping' a -> Bool # (/=) :: OpArgTyping' a -> OpArgTyping' a -> Bool # | |||||
Ord a => Ord (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: OpArgTyping' a -> OpArgTyping' a -> Ordering # (<) :: OpArgTyping' a -> OpArgTyping' a -> Bool # (<=) :: OpArgTyping' a -> OpArgTyping' a -> Bool # (>) :: OpArgTyping' a -> OpArgTyping' a -> Bool # (>=) :: OpArgTyping' a -> OpArgTyping' a -> Bool # max :: OpArgTyping' a -> OpArgTyping' a -> OpArgTyping' a # min :: OpArgTyping' a -> OpArgTyping' a -> OpArgTyping' a # | |||||
Print (OpArgTyping' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (OpArgTyping' a) Source # | |||||
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))))) |
type ScopedType = ScopedType' BNFC'Position Source #
data ScopedType' a Source #
ScopedType a (Type' a) |
Instances
Foldable ScopedType' Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fmap :: (a -> b) -> ScopedType' a -> ScopedType' b # (<$) :: a -> ScopedType' b -> ScopedType' a # | |||||
HasPosition ScopedType Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Data a => Data (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: ScopedType' a -> Rep (ScopedType' a) x # to :: Rep (ScopedType' a) x -> ScopedType' a # | |||||
Read a => Read (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS (ScopedType' a) # readList :: ReadS [ScopedType' a] # readPrec :: ReadPrec (ScopedType' a) # readListPrec :: ReadPrec [ScopedType' a] # | |||||
Show a => Show (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> ScopedType' a -> ShowS # show :: ScopedType' a -> String # showList :: [ScopedType' a] -> ShowS # | |||||
Eq a => Eq (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: ScopedType' a -> ScopedType' a -> Bool # (/=) :: ScopedType' a -> ScopedType' a -> Bool # | |||||
Ord a => Ord (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: ScopedType' a -> ScopedType' a -> Ordering # (<) :: ScopedType' a -> ScopedType' a -> Bool # (<=) :: ScopedType' a -> ScopedType' a -> Bool # (>) :: ScopedType' a -> ScopedType' a -> Bool # (>=) :: ScopedType' a -> ScopedType' a -> Bool # max :: ScopedType' a -> ScopedType' a -> ScopedType' a # min :: ScopedType' a -> ScopedType' a -> ScopedType' a # | |||||
Print (ScopedType' a) Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
Print [ScopedType' a] Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
type Rep (ScopedType' a) Source # | |||||
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)))) |
Instances
Data VarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fromString :: String -> VarIdent # | |||||
Generic VarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read VarIdent Source # | |||||
Show VarIdent Source # | |||||
Eq VarIdent Source # | |||||
Ord VarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs | |||||
Print VarIdent Source # | |||||
type Rep VarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs |
Instances
Data OpIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fromString :: String -> OpIdent # | |||||
Generic OpIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs
| |||||
Read OpIdent Source # | |||||
Show OpIdent Source # | |||||
Eq OpIdent Source # | |||||
Ord OpIdent Source # | |||||
Print OpIdent Source # | |||||
ZipMatchK OpIdent Source # | |||||
type Rep OpIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs |
newtype MetaVarIdent Source #
Instances
Data MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs 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 # | |||||
Defined in Language.SOAS.Syntax.Abs fromString :: String -> MetaVarIdent # | |||||
Generic MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs
from :: MetaVarIdent -> Rep MetaVarIdent x # to :: Rep MetaVarIdent x -> MetaVarIdent # | |||||
Read MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs readsPrec :: Int -> ReadS MetaVarIdent # readList :: ReadS [MetaVarIdent] # | |||||
Show MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs showsPrec :: Int -> MetaVarIdent -> ShowS # show :: MetaVarIdent -> String # showList :: [MetaVarIdent] -> ShowS # | |||||
Eq MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs (==) :: MetaVarIdent -> MetaVarIdent -> Bool # (/=) :: MetaVarIdent -> MetaVarIdent -> Bool # | |||||
Ord MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Abs compare :: MetaVarIdent -> MetaVarIdent -> Ordering # (<) :: MetaVarIdent -> MetaVarIdent -> Bool # (<=) :: MetaVarIdent -> MetaVarIdent -> Bool # (>) :: MetaVarIdent -> MetaVarIdent -> Bool # (>=) :: MetaVarIdent -> MetaVarIdent -> Bool # max :: MetaVarIdent -> MetaVarIdent -> MetaVarIdent # min :: MetaVarIdent -> MetaVarIdent -> MetaVarIdent # | |||||
Print MetaVarIdent Source # | |||||
Defined in Language.SOAS.Syntax.Print | |||||
ZipMatchK MetaVarIdent Source # | Match | ||||
Defined in Language.SOAS.Impl.Generated 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 # | |||||
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))) |
pattern BNFC'NoPosition :: BNFC'Position Source #
pattern BNFC'Position :: Int -> Int -> BNFC'Position Source #
class HasPosition a where Source #
Get the start position of something.
hasPosition :: a -> BNFC'Position Source #
Instances
HasPosition Binders Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Binders -> BNFC'Position Source # | |
HasPosition Constraint Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition Context Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Context -> BNFC'Position Source # | |
HasPosition MetaVarTyping Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition OpArg Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: OpArg -> BNFC'Position Source # | |
HasPosition OpArgTyping Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition OpTyping Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: OpTyping -> BNFC'Position Source # | |
HasPosition ScopedOpArgTyping Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition ScopedTerm Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition ScopedType Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition Subst Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Subst -> BNFC'Position Source # | |
HasPosition Term Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Term -> BNFC'Position Source # | |
HasPosition TermTyping Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition Type Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Type -> BNFC'Position Source # | |
HasPosition TypeBinders Source # | |
Defined in Language.SOAS.Syntax.Abs | |
HasPosition Unifier Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: Unifier -> BNFC'Position Source # | |
HasPosition VarTyping Source # | |
Defined in Language.SOAS.Syntax.Abs hasPosition :: VarTyping -> BNFC'Position Source # |