| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.SOAS.Impl.Generated
Synopsis
- type ScopedOpArgTyping' a (n :: S) = ScopedOpArgTyping'Sig a (ScopedAST (TypeBinders' a) (Type'Sig a) n) (AST (TypeBinders' a) (Type'Sig a) n)
- data ScopedOpArgTyping'Sig a scope term where
- ScopedOpArgTypingSig :: forall a scope term. a -> OpArgTyping'Sig a scope term -> ScopedOpArgTyping'Sig a scope term
- type OpArgTyping' a (n :: S) = OpArgTyping'Sig a (ScopedAST (TypeBinders' a) (Type'Sig a) n) (AST (TypeBinders' a) (Type'Sig a) n)
- data OpArgTyping'Sig a scope term where
- OpArgTypingSig :: forall a term scope. a -> [term] -> term -> OpArgTyping'Sig a scope term
- type ScopedType' a = ScopedAST (TypeBinders' a) (Type'Sig a)
- type Type' a = AST (TypeBinders' a) (Type'Sig a)
- data Type'Sig a scope term where
- TypeFunSig :: forall a term scope. a -> term -> term -> Type'Sig a scope term
- TypeProductSig :: forall a term scope. a -> term -> term -> Type'Sig a scope term
- type OpArg' a (n :: S) = OpArg'Sig a (ScopedAST (Binders' a) (Term'Sig a) n) (AST (Binders' a) (Term'Sig a) n)
- data OpArg'Sig a scope term where
- OpArgSig :: forall a scope term. a -> scope -> OpArg'Sig a scope term
- PlainOpArgSig :: forall a term scope. a -> term -> OpArg'Sig a scope term
- type ScopedTerm' a = ScopedAST (Binders' a) (Term'Sig a)
- type Term' a = AST (Binders' a) (Term'Sig a)
- data Term'Sig a scope term where
- OpSig :: forall a scope term. a -> OpIdent -> [OpArg'Sig a scope term] -> Term'Sig a scope term
- MetaVarSig :: forall a term scope. a -> MetaVarIdent -> [term] -> Term'Sig a scope term
- data TypeBinders' a (o :: S) (i :: S) where
- NoTypeBinders :: forall a (o :: S). a -> TypeBinders' a o o
- SomeTypeBinders :: forall a (o :: S) (i1 :: S) (i :: S). a -> NameBinder o i1 -> TypeBinders' a i1 i -> TypeBinders' a o i
- data Binders' a (o :: S) (i :: S) where
- NoBinders :: forall a (o :: S). a -> Binders' a o o
- SomeBinders :: forall a (o :: S) (i1 :: S) (i :: S). a -> NameBinder o i1 -> Binders' a i1 i -> Binders' a o i
- data TermTyping' a (o :: S) where
- TermTyping :: forall a (o :: S) (i :: S). a -> TypeBinders' a o i -> Context' a -> Term' a i -> Type' a i -> TermTyping' a o
- data VarTyping' a (o :: S) where
- VarTyping :: forall a (o :: S). a -> Name o -> Type' a o -> VarTyping' a o
- data Constraint' a (o :: S) where
- ConstraintEq :: forall a (o :: S) (i :: S). a -> Binders' a o i -> Term' a i -> Term' a i -> Constraint' a o
- data OpTyping' a (o :: S) where
- OpTyping :: forall a (o :: S) (i :: S). a -> OpIdent -> TypeBinders' a o i -> [ScopedOpArgTyping' a i] -> Type' a i -> OpTyping' a o
- data MetaVarTyping' a (o :: S) where
- MetaVarTyping :: forall a (o :: S). a -> MetaVarIdent -> [Type' a o] -> Type' a o -> MetaVarTyping' a o
- data Subst' a (o :: S) where
- pattern ScopedOpArgTyping :: forall a (o :: S). a -> OpArgTyping' a o -> ScopedOpArgTyping' a o
- pattern OpArgTyping :: forall a (o :: S). a -> [Type' a o] -> Type' a o -> OpArgTyping' a o
- pattern TypeProduct :: a -> Type' a o -> Type' a o -> Type' a o
- pattern TypeFun :: a -> Type' a o -> Type' a o -> Type' a o
- pattern PlainOpArg :: forall a (o :: S). a -> Term' a o -> OpArg' a o
- pattern OpArg :: forall a (o :: S) (i :: S). () => a -> Binders' a o i -> Term' a i -> OpArg' a o
- pattern MetaVar :: a -> MetaVarIdent -> [Term' a o] -> Term' a o
- pattern Op :: a -> OpIdent -> [OpArg' a o] -> Term' a o
- fromTerm'Sig :: Term'Sig a (Binders' a, ScopedTerm' a) (Term' a) -> Term' a
- fromOpArg'Sig :: OpArg'Sig a (Binders' a, ScopedTerm' a) (Term' a) -> OpArg' a
- fromBinders' :: forall a (o :: S) (i :: S). Binders' a o i -> Binders' a
- fromOpArg' :: forall a (o :: S). OpArg' a o -> OpArg' a
- fromTerm' :: forall a (o :: S). Term' a o -> Term' a
- fromType'Sig :: Type'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> Type' a
- fromOpArgTyping'Sig :: OpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> OpArgTyping' a
- fromScopedOpArgTyping'Sig :: ScopedOpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> ScopedOpArgTyping' a
- fromTypeBinders' :: forall a (o :: S) (i :: S). TypeBinders' a o i -> TypeBinders' a
- fromOpArgTyping' :: forall a (o :: S). OpArgTyping' a o -> OpArgTyping' a
- fromScopedOpArgTyping' :: forall a (i :: S). ScopedOpArgTyping' a i -> ScopedOpArgTyping' a
- fromType' :: forall a (o :: S). Type' a o -> Type' a
- fromSubst' :: forall a (o :: S). Subst' a o -> Subst' a
- fromMetaVarTyping' :: forall a (o :: S). MetaVarTyping' a o -> MetaVarTyping' a
- fromOpTyping' :: forall a (o :: S). OpTyping' a o -> OpTyping' a
- fromConstraint' :: forall a (o :: S). Constraint' a o -> Constraint' a
- fromVarTyping' :: forall a (o :: S). VarTyping' a o -> VarTyping' a
- fromTermTyping' :: forall a (o :: S). TermTyping' a o -> TermTyping' a
- toTerm'Sig :: Term' a -> Either VarIdent (Term'Sig a (Binders' a, ScopedTerm' a) (Term' a))
- toOpArg'Sig :: OpArg' a -> OpArg'Sig a (Binders' a, ScopedTerm' a) (Term' a)
- toBinders' :: forall (o :: S) a r. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Binders' a -> (forall (i :: S). DExt o i => Binders' a o i -> Map VarIdent (Name i) -> r) -> r
- toOpArg' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpArg' a -> OpArg' a o
- toTerm' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Term' a -> Term' a o
- toType'Sig :: Type' a -> Either VarIdent (Type'Sig a (TypeBinders' a, ScopedType' a) (Type' a))
- toOpArgTyping'Sig :: OpArgTyping' a -> OpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a)
- toScopedOpArgTyping'Sig :: ScopedOpArgTyping' a -> ScopedOpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a)
- toTypeBinders' :: forall (o :: S) a r. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> TypeBinders' a -> (forall (i :: S). DExt o i => TypeBinders' a o i -> Map VarIdent (Name i) -> r) -> r
- toOpArgTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpArgTyping' a -> OpArgTyping' a o
- toScopedOpArgTyping' :: forall (i :: S) a. (Distinct i, Ord VarIdent) => Scope i -> Map VarIdent (Name i) -> ScopedOpArgTyping' a -> ScopedOpArgTyping' a i
- toType' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Type' a -> Type' a o
- toSubst' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Subst' a -> Subst' a o
- toMetaVarTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> MetaVarTyping' a -> MetaVarTyping' a o
- toOpTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpTyping' a -> OpTyping' a o
- toConstraint' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Constraint' a -> Constraint' a o
- toVarTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> VarTyping' a -> VarTyping' a o
- toTermTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> TermTyping' a -> TermTyping' a o
- unsafeParse :: ([Token] -> Either String a) -> String -> a
Documentation
>>>:set -XOverloadedStrings>>>:set -XDataKinds>>>import qualified Control.Monad.Foil as Foil>>>import qualified Language.SOAS.Syntax.Abs as Raw>>>import Control.Monad.Free.Foil>>>import Data.String (fromString)
Generated code
type ScopedOpArgTyping' a (n :: S) = ScopedOpArgTyping'Sig a (ScopedAST (TypeBinders' a) (Type'Sig a) n) (AST (TypeBinders' a) (Type'Sig a) n) Source #
Generated with mkFreeFoil. A scope-safe version of ScopedOpArgTyping'.
data ScopedOpArgTyping'Sig a scope term where Source #
Generated with mkFreeFoil. A signature based on ScopedOpArgTyping'.
Constructors
| ScopedOpArgTypingSig :: forall a scope term. a -> OpArgTyping'Sig a scope term -> ScopedOpArgTyping'Sig a scope term | Corresponds to |
Instances
type OpArgTyping' a (n :: S) = OpArgTyping'Sig a (ScopedAST (TypeBinders' a) (Type'Sig a) n) (AST (TypeBinders' a) (Type'Sig a) n) Source #
Generated with mkFreeFoil. A scope-safe version of OpArgTyping'.
data OpArgTyping'Sig a scope term where Source #
Generated with mkFreeFoil. A signature based on OpArgTyping'.
Constructors
| OpArgTypingSig :: forall a term scope. a -> [term] -> term -> OpArgTyping'Sig a scope term | Corresponds to |
Instances
| GenericK (OpArgTyping'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT Type). (OpArgTyping'Sig a scope term :@@: x) -> RepK (OpArgTyping'Sig a scope term) x # toK :: forall (x :: LoT Type). RepK (OpArgTyping'Sig a scope term) x -> OpArgTyping'Sig a scope term :@@: x # | |||||
| Bifoldable (OpArgTyping'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bifold :: Monoid m => OpArgTyping'Sig a m m -> m # bifoldMap :: Monoid m => (a0 -> m) -> (b -> m) -> OpArgTyping'Sig a a0 b -> m # bifoldr :: (a0 -> c -> c) -> (b -> c -> c) -> c -> OpArgTyping'Sig a a0 b -> c # bifoldl :: (c -> a0 -> c) -> (c -> b -> c) -> c -> OpArgTyping'Sig a a0 b -> c # | |||||
| Bifunctor (OpArgTyping'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bimap :: (a0 -> b) -> (c -> d) -> OpArgTyping'Sig a a0 c -> OpArgTyping'Sig a b d # first :: (a0 -> b) -> OpArgTyping'Sig a a0 c -> OpArgTyping'Sig a b c # second :: (b -> c) -> OpArgTyping'Sig a a0 b -> OpArgTyping'Sig a a0 c # | |||||
| Bitraversable (OpArgTyping'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bitraverse :: Applicative f => (a0 -> f c) -> (b -> f d) -> OpArgTyping'Sig a a0 b -> f (OpArgTyping'Sig a c d) # | |||||
| Foldable (OpArgTyping'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fold :: Monoid m => OpArgTyping'Sig a scope m -> m # foldMap :: Monoid m => (a0 -> m) -> OpArgTyping'Sig a scope a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> OpArgTyping'Sig a scope a0 -> m # foldr :: (a0 -> b -> b) -> b -> OpArgTyping'Sig a scope a0 -> b # foldr' :: (a0 -> b -> b) -> b -> OpArgTyping'Sig a scope a0 -> b # foldl :: (b -> a0 -> b) -> b -> OpArgTyping'Sig a scope a0 -> b # foldl' :: (b -> a0 -> b) -> b -> OpArgTyping'Sig a scope a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> OpArgTyping'Sig a scope a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> OpArgTyping'Sig a scope a0 -> a0 # toList :: OpArgTyping'Sig a scope a0 -> [a0] # null :: OpArgTyping'Sig a scope a0 -> Bool # length :: OpArgTyping'Sig a scope a0 -> Int # elem :: Eq a0 => a0 -> OpArgTyping'Sig a scope a0 -> Bool # maximum :: Ord a0 => OpArgTyping'Sig a scope a0 -> a0 # minimum :: Ord a0 => OpArgTyping'Sig a scope a0 -> a0 # sum :: Num a0 => OpArgTyping'Sig a scope a0 -> a0 # product :: Num a0 => OpArgTyping'Sig a scope a0 -> a0 # | |||||
| Traversable (OpArgTyping'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods traverse :: Applicative f => (a0 -> f b) -> OpArgTyping'Sig a scope a0 -> f (OpArgTyping'Sig a scope b) # sequenceA :: Applicative f => OpArgTyping'Sig a scope (f a0) -> f (OpArgTyping'Sig a scope a0) # mapM :: Monad m => (a0 -> m b) -> OpArgTyping'Sig a scope a0 -> m (OpArgTyping'Sig a scope b) # sequence :: Monad m => OpArgTyping'Sig a scope (m a0) -> m (OpArgTyping'Sig a scope a0) # | |||||
| Functor (OpArgTyping'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fmap :: (a0 -> b) -> OpArgTyping'Sig a scope a0 -> OpArgTyping'Sig a scope b # (<$) :: a0 -> OpArgTyping'Sig a scope b -> OpArgTyping'Sig a scope a0 # | |||||
| GenericK OpArgTyping'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (OpArgTyping'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (Type -> Type -> Type)). (OpArgTyping'Sig a :@@: x) -> RepK (OpArgTyping'Sig a) x # toK :: forall (x :: LoT (Type -> Type -> Type)). RepK (OpArgTyping'Sig a) x -> OpArgTyping'Sig a :@@: x # | |||||
| GenericK (OpArgTyping'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (Type -> Type)). (OpArgTyping'Sig a scope :@@: x) -> RepK (OpArgTyping'Sig a scope) x # toK :: forall (x :: LoT (Type -> Type)). RepK (OpArgTyping'Sig a scope) x -> OpArgTyping'Sig a scope :@@: x # | |||||
| Generic (OpArgTyping'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods from :: OpArgTyping'Sig a scope term -> Rep (OpArgTyping'Sig a scope term) x # to :: Rep (OpArgTyping'Sig a scope term) x -> OpArgTyping'Sig a scope term # | |||||
| type RepK (OpArgTyping'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArgTyping'Sig a scope term :: Type) = D1 ('MetaData "OpArgTyping'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTypingSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon [term] :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type))))) | |||||
| type RepK OpArgTyping'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK OpArgTyping'Sig = D1 ('MetaData "OpArgTyping'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTypingSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type -> Type) (Type -> Type)) ':@: (Var2 :: Atom (Type -> Type -> Type -> Type) Type))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type))))) | |||||
| type RepK (OpArgTyping'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArgTyping'Sig a :: Type -> Type -> Type) = D1 ('MetaData "OpArgTyping'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTypingSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type) (Type -> Type)) ':@: (Var1 :: Atom (Type -> Type -> Type) Type))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type))))) | |||||
| type RepK (OpArgTyping'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArgTyping'Sig a scope :: Type -> Type) = D1 ('MetaData "OpArgTyping'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTypingSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type) (Type -> Type)) ':@: (Var0 :: Atom (Type -> Type) Type))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type))))) | |||||
| type Rep (OpArgTyping'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated type Rep (OpArgTyping'Sig a scope term) = D1 ('MetaData "OpArgTyping'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgTypingSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [term]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term)))) | |||||
type ScopedType' a = ScopedAST (TypeBinders' a) (Type'Sig a) Source #
Generated with mkFreeFoil. A scoped (and scope-safe) version of Type'.
type Type' a = AST (TypeBinders' a) (Type'Sig a) Source #
Generated with mkFreeFoil. A scope-safe version of Type'.
data Type'Sig a scope term where Source #
Generated with mkFreeFoil. A signature based on Type'.
Constructors
| TypeFunSig :: forall a term scope. a -> term -> term -> Type'Sig a scope term | Corresponds to |
| TypeProductSig :: forall a term scope. a -> term -> term -> Type'Sig a scope term | Corresponds to |
Instances
| GenericK (Type'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Bifoldable (Type'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
| Bifunctor (Type'Sig a) Source # | |||||
| Bitraversable (Type'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bitraverse :: Applicative f => (a0 -> f c) -> (b -> f d) -> Type'Sig a a0 b -> f (Type'Sig a c d) # | |||||
| Foldable (Type'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fold :: Monoid m => Type'Sig a scope m -> m # foldMap :: Monoid m => (a0 -> m) -> Type'Sig a scope a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Type'Sig a scope a0 -> m # foldr :: (a0 -> b -> b) -> b -> Type'Sig a scope a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Type'Sig a scope a0 -> b # foldl :: (b -> a0 -> b) -> b -> Type'Sig a scope a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Type'Sig a scope a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Type'Sig a scope a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Type'Sig a scope a0 -> a0 # toList :: Type'Sig a scope a0 -> [a0] # null :: Type'Sig a scope a0 -> Bool # length :: Type'Sig a scope a0 -> Int # elem :: Eq a0 => a0 -> Type'Sig a scope a0 -> Bool # maximum :: Ord a0 => Type'Sig a scope a0 -> a0 # minimum :: Ord a0 => Type'Sig a scope a0 -> a0 # | |||||
| IsString (Type' BNFC'Position 'VoidS) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Type' BNFC'Position 'VoidS # | |||||
| Traversable (Type'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods traverse :: Applicative f => (a0 -> f b) -> Type'Sig a scope a0 -> f (Type'Sig a scope b) # sequenceA :: Applicative f => Type'Sig a scope (f a0) -> f (Type'Sig a scope a0) # mapM :: Monad m => (a0 -> m b) -> Type'Sig a scope a0 -> m (Type'Sig a scope b) # sequence :: Monad m => Type'Sig a scope (m a0) -> m (Type'Sig a scope a0) # | |||||
| Functor (Type'Sig a scope) Source # | |||||
| Show (Type' a n) Source # | |||||
| GenericK Type'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| ZipMatchK a => ZipMatchK (Type'Sig a :: Type -> Type -> Type) Source # | |||||
| GenericK (Type'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (Type'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Generic (Type'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (Type'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Type'Sig a scope term :: Type) = D1 ('MetaData "Type'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFunSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type)))) :+: C1 ('MetaCons "TypeProductSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type))))) | |||||
| type RepK Type'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK Type'Sig = D1 ('MetaData "Type'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFunSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type)))) :+: C1 ('MetaCons "TypeProductSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type))))) | |||||
| type RepK (Type'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Type'Sig a :: Type -> Type -> Type) = D1 ('MetaData "Type'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFunSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type)))) :+: C1 ('MetaCons "TypeProductSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type))))) | |||||
| type RepK (Type'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Type'Sig a scope :: Type -> Type) = D1 ('MetaData "Type'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFunSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type)))) :+: C1 ('MetaCons "TypeProductSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type))))) | |||||
| type Rep (Type'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated type Rep (Type'Sig a scope term) = D1 ('MetaData "Type'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "TypeFunSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term))) :+: C1 ('MetaCons "TypeProductSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term)))) | |||||
type OpArg' a (n :: S) = OpArg'Sig a (ScopedAST (Binders' a) (Term'Sig a) n) (AST (Binders' a) (Term'Sig a) n) Source #
Generated with mkFreeFoil. A scope-safe version of OpArg'.
data OpArg'Sig a scope term where Source #
Generated with mkFreeFoil. A signature based on OpArg'.
Constructors
| OpArgSig :: forall a scope term. a -> scope -> OpArg'Sig a scope term | Corresponds to |
| PlainOpArgSig :: forall a term scope. a -> term -> OpArg'Sig a scope term | Corresponds to |
Instances
| GenericK (OpArg'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Bifoldable (OpArg'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
| Bifunctor (OpArg'Sig a) Source # | |||||
| Bitraversable (OpArg'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bitraverse :: Applicative f => (a0 -> f c) -> (b -> f d) -> OpArg'Sig a a0 b -> f (OpArg'Sig a c d) # | |||||
| Foldable (OpArg'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fold :: Monoid m => OpArg'Sig a scope m -> m # foldMap :: Monoid m => (a0 -> m) -> OpArg'Sig a scope a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> OpArg'Sig a scope a0 -> m # foldr :: (a0 -> b -> b) -> b -> OpArg'Sig a scope a0 -> b # foldr' :: (a0 -> b -> b) -> b -> OpArg'Sig a scope a0 -> b # foldl :: (b -> a0 -> b) -> b -> OpArg'Sig a scope a0 -> b # foldl' :: (b -> a0 -> b) -> b -> OpArg'Sig a scope a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> OpArg'Sig a scope a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> OpArg'Sig a scope a0 -> a0 # toList :: OpArg'Sig a scope a0 -> [a0] # null :: OpArg'Sig a scope a0 -> Bool # length :: OpArg'Sig a scope a0 -> Int # elem :: Eq a0 => a0 -> OpArg'Sig a scope a0 -> Bool # maximum :: Ord a0 => OpArg'Sig a scope a0 -> a0 # minimum :: Ord a0 => OpArg'Sig a scope a0 -> a0 # | |||||
| Traversable (OpArg'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods traverse :: Applicative f => (a0 -> f b) -> OpArg'Sig a scope a0 -> f (OpArg'Sig a scope b) # sequenceA :: Applicative f => OpArg'Sig a scope (f a0) -> f (OpArg'Sig a scope a0) # mapM :: Monad m => (a0 -> m b) -> OpArg'Sig a scope a0 -> m (OpArg'Sig a scope b) # sequence :: Monad m => OpArg'Sig a scope (m a0) -> m (OpArg'Sig a scope a0) # | |||||
| Functor (OpArg'Sig a scope) Source # | |||||
| GenericK OpArg'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| ZipMatchK a => ZipMatchK (OpArg'Sig a :: Type -> Type -> Type) Source # | |||||
| GenericK (OpArg'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (OpArg'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Generic (OpArg'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (OpArg'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArg'Sig a scope term :: Type) = D1 ('MetaData "OpArg'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon scope :: Atom Type Type))) :+: C1 ('MetaCons "PlainOpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon term :: Atom Type Type)))) | |||||
| type RepK OpArg'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK OpArg'Sig = D1 ('MetaData "OpArg'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type -> Type) Type))) :+: C1 ('MetaCons "PlainOpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var2 :: Atom (Type -> Type -> Type -> Type) Type)))) | |||||
| type RepK (OpArg'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArg'Sig a :: Type -> Type -> Type) = D1 ('MetaData "OpArg'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type) Type))) :+: C1 ('MetaCons "PlainOpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (Type -> Type -> Type) Type)))) | |||||
| type RepK (OpArg'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpArg'Sig a scope :: Type -> Type) = D1 ('MetaData "OpArg'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon scope :: Atom (Type -> Type) Type))) :+: C1 ('MetaCons "PlainOpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type) Type)))) | |||||
| type Rep (OpArg'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated type Rep (OpArg'Sig a scope term) = D1 ('MetaData "OpArg'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 scope)) :+: C1 ('MetaCons "PlainOpArgSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term))) | |||||
type ScopedTerm' a = ScopedAST (Binders' a) (Term'Sig a) Source #
Generated with mkFreeFoil. A scoped (and scope-safe) version of Term'.
type Term' a = AST (Binders' a) (Term'Sig a) Source #
Generated with mkFreeFoil. A scope-safe version of Term'.
data Term'Sig a scope term where Source #
Generated with mkFreeFoil. A signature based on Term'.
Constructors
| OpSig :: forall a scope term. a -> OpIdent -> [OpArg'Sig a scope term] -> Term'Sig a scope term | Corresponds to |
| MetaVarSig :: forall a term scope. a -> MetaVarIdent -> [term] -> Term'Sig a scope term | Corresponds to |
Instances
| GenericK (Term'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Bifoldable (Term'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
| Bifunctor (Term'Sig a) Source # | |||||
| Bitraversable (Term'Sig a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods bitraverse :: Applicative f => (a0 -> f c) -> (b -> f d) -> Term'Sig a a0 b -> f (Term'Sig a c d) # | |||||
| Foldable (Term'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fold :: Monoid m => Term'Sig a scope m -> m # foldMap :: Monoid m => (a0 -> m) -> Term'Sig a scope a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Term'Sig a scope a0 -> m # foldr :: (a0 -> b -> b) -> b -> Term'Sig a scope a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Term'Sig a scope a0 -> b # foldl :: (b -> a0 -> b) -> b -> Term'Sig a scope a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Term'Sig a scope a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Term'Sig a scope a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Term'Sig a scope a0 -> a0 # toList :: Term'Sig a scope a0 -> [a0] # null :: Term'Sig a scope a0 -> Bool # length :: Term'Sig a scope a0 -> Int # elem :: Eq a0 => a0 -> Term'Sig a scope a0 -> Bool # maximum :: Ord a0 => Term'Sig a scope a0 -> a0 # minimum :: Ord a0 => Term'Sig a scope a0 -> a0 # | |||||
| IsString (Term' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Term' BNFC'Position 'VoidS # | |||||
| Traversable (Term'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods traverse :: Applicative f => (a0 -> f b) -> Term'Sig a scope a0 -> f (Term'Sig a scope b) # sequenceA :: Applicative f => Term'Sig a scope (f a0) -> f (Term'Sig a scope a0) # mapM :: Monad m => (a0 -> m b) -> Term'Sig a scope a0 -> m (Term'Sig a scope b) # sequence :: Monad m => Term'Sig a scope (m a0) -> m (Term'Sig a scope a0) # | |||||
| Functor (Term'Sig a scope) Source # | |||||
| Show (Term' a n) Source # | |||||
| GenericK Term'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| ZipMatchK a => ZipMatchK (Term'Sig a :: Type -> Type -> Type) Source # | |||||
| GenericK (Term'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (Term'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Generic (Term'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (Term'Sig a scope term :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Term'Sig a scope term :: Type) = D1 ('MetaData "Term'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon [OpArg'Sig a scope term] :: Atom Type Type)))) :+: C1 ('MetaCons "MetaVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom Type Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon [term] :: Atom Type Type))))) | |||||
| type RepK Term'Sig Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK Term'Sig = D1 ('MetaData "Term'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type -> Type) (Type -> Type)) ':@: (((('Kon OpArg'Sig :: Atom (Type -> Type -> Type -> Type) (Type -> Type -> Type -> Type)) ':@: (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) ':@: (Var1 :: Atom (Type -> Type -> Type -> Type) Type)) ':@: (Var2 :: Atom (Type -> Type -> Type -> Type) Type)))))) :+: C1 ('MetaCons "MetaVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (Type -> Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type -> Type) (Type -> Type)) ':@: (Var2 :: Atom (Type -> Type -> Type -> Type) Type)))))) | |||||
| type RepK (Term'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Term'Sig a :: Type -> Type -> Type) = D1 ('MetaData "Term'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type) (Type -> Type)) ':@: ((('Kon (OpArg'Sig a) :: Atom (Type -> Type -> Type) (Type -> Type -> Type)) ':@: (Var0 :: Atom (Type -> Type -> Type) Type)) ':@: (Var1 :: Atom (Type -> Type -> Type) Type)))))) :+: C1 ('MetaCons "MetaVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (Type -> Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type -> Type) (Type -> Type)) ':@: (Var1 :: Atom (Type -> Type -> Type) Type)))))) | |||||
| type RepK (Term'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Term'Sig a scope :: Type -> Type) = D1 ('MetaData "Term'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type) (Type -> Type)) ':@: (('Kon (OpArg'Sig a scope) :: Atom (Type -> Type) (Type -> Type)) ':@: (Var0 :: Atom (Type -> Type) Type)))))) :+: C1 ('MetaCons "MetaVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (Type -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (Type -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (Type -> Type) (Type -> Type)) ':@: (Var0 :: Atom (Type -> Type) Type)))))) | |||||
| type Rep (Term'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated type Rep (Term'Sig a scope term) = D1 ('MetaData "Term'Sig" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpSig" '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'Sig a scope term]))) :+: C1 ('MetaCons "MetaVarSig" '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])))) | |||||
data TypeBinders' a (o :: S) (i :: S) where Source #
Generated with mkFreeFoil. A binding type, scope-safe version of TypeBinders'.
Constructors
| NoTypeBinders :: forall a (o :: S). a -> TypeBinders' a o o | Corresponds to |
| SomeTypeBinders :: forall a (o :: S) (i1 :: S) (i :: S). a -> NameBinder o i1 -> TypeBinders' a i1 i -> TypeBinders' a o i | Corresponds to |
Instances
| GenericK (TypeBinders' a o i :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT Type). (TypeBinders' a o i :@@: x) -> RepK (TypeBinders' a o i) x # toK :: forall (x :: LoT Type). RepK (TypeBinders' a o i) x -> TypeBinders' a o i :@@: x # | |||||
| CoSinkable (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods coSinkabilityProof :: forall (n :: S) (n' :: S) (l :: S) r. (Name n -> Name n') -> TypeBinders' a n l -> (forall (l' :: S). (Name l -> Name l') -> TypeBinders' a n' l' -> r) -> r # withPattern :: forall (o :: S) f (n :: S) (l :: S) r. Distinct o => (forall (x :: S) (y :: S) (z :: S) r'. Distinct z => Scope z -> NameBinder x y -> (forall (z' :: S). DExt z z' => f x y z z' -> NameBinder z z' -> r') -> r') -> (forall (x :: S) (z :: S) (z' :: S). DExt z z' => f x x z z') -> (forall (x :: S) (y :: S) (y' :: S) (z :: S) (z' :: S) (z'' :: S). (DExt z z', DExt z' z'') => f x y z z' -> f y y' z' z'' -> f x y' z z'') -> Scope o -> TypeBinders' a n l -> (forall (o' :: S). DExt o o' => f n l o o' -> TypeBinders' a o o' -> r) -> r # | |||||
| HasNameBinders (TypeBinders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods getNameBinders :: forall (n :: S) (l :: S). TypeBinders' a n l -> NameBinders n l # unsafeSetNameBinders :: forall (n :: S) (l :: S) (l' :: S). TypeBinders' a n l -> NameBinders n l' -> TypeBinders' a n l' # getNameBindersRaw :: forall (n :: S) (l :: S). TypeBinders' a n l -> [RawName] # reallyUnsafeSetNameBindersRaw :: forall (n :: S) (l :: S) (l' :: S). TypeBinders' a n l -> [RawName] -> (TypeBinders' a n l', [RawName]) # | |||||
| IsString (Type' BNFC'Position 'VoidS) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Type' BNFC'Position 'VoidS # | |||||
| Show (Type' a n) Source # | |||||
| GenericK TypeBinders' Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| SinkableK (TypeBinders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods sinkabilityProofK :: forall (as :: LoT (S -> S -> Type)) (bs :: LoT (S -> S -> Type)) r. RenamingsK as bs -> (TypeBinders' a :@@: as) -> (forall (cs :: LoT (S -> S -> Type)). RenamingsK as cs -> (TypeBinders' a :@@: cs) -> r) -> r # | |||||
| GenericK (TypeBinders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (S -> S -> Type)). (TypeBinders' a :@@: x) -> RepK (TypeBinders' a) x # toK :: forall (x :: LoT (S -> S -> Type)). RepK (TypeBinders' a) x -> TypeBinders' a :@@: x # | |||||
| GenericK (TypeBinders' a o :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (S -> Type)). (TypeBinders' a o :@@: x) -> RepK (TypeBinders' a o) x # toK :: forall (x :: LoT (S -> Type)). RepK (TypeBinders' a o) x -> TypeBinders' a o :@@: x # | |||||
| type RepK (TypeBinders' a o i :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (TypeBinders' a o i :: Type) = D1 ('MetaData "TypeBinders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoTypeBinders" 'PrefixI 'False) (('Kon (o ~~ i) :: Atom Type Constraint) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type))) :+: C1 ('MetaCons "SomeTypeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (NameBinder o) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (TypeBinders' a) :: Atom (S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> Type) S)) ':@: ('Kon i :: Atom (S -> Type) S))))))) | |||||
| type RepK TypeBinders' Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK TypeBinders' = D1 ('MetaData "TypeBinders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoTypeBinders" 'PrefixI 'False) (((('Kon ((~~) :: S -> S -> Constraint) :: Atom (Type -> S -> S -> Type) (S -> S -> Constraint)) ':@: (Var1 :: Atom (Type -> S -> S -> Type) S)) ':@: (Var2 :: Atom (Type -> S -> S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> S -> S -> Type) Type))) :+: C1 ('MetaCons "SomeTypeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (S -> Type -> S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon NameBinder :: Atom (S -> Type -> S -> S -> Type) (S -> S -> Type)) ':@: (Var2 :: Atom (S -> Type -> S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> Type -> S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon TypeBinders' :: Atom (S -> Type -> S -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> S -> Type) Type)) ':@: (Var0 :: Atom (S -> Type -> S -> S -> Type) S)) ':@: (Var3 :: Atom (S -> Type -> S -> S -> Type) S))))))) | |||||
| type RepK (TypeBinders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (TypeBinders' a :: S -> S -> Type) = D1 ('MetaData "TypeBinders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoTypeBinders" 'PrefixI 'False) (((('Kon ((~~) :: S -> S -> Constraint) :: Atom (S -> S -> Type) (S -> S -> Constraint)) ':@: (Var0 :: Atom (S -> S -> Type) S)) ':@: (Var1 :: Atom (S -> S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type))) :+: C1 ('MetaCons "SomeTypeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon NameBinder :: Atom (S -> S -> S -> Type) (S -> S -> Type)) ':@: (Var1 :: Atom (S -> S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (TypeBinders' a) :: Atom (S -> S -> S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> S -> S -> Type) S)) ':@: (Var2 :: Atom (S -> S -> S -> Type) S))))))) | |||||
| type RepK (TypeBinders' a o :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (TypeBinders' a o :: S -> Type) = D1 ('MetaData "TypeBinders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoTypeBinders" 'PrefixI 'False) ((('Kon ((~~) o :: S -> Constraint) :: Atom (S -> Type) (S -> Constraint)) ':@: (Var0 :: Atom (S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type))) :+: C1 ('MetaCons "SomeTypeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (NameBinder o) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (TypeBinders' a) :: Atom (S -> S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S)) ':@: (Var1 :: Atom (S -> S -> Type) S))))))) | |||||
data Binders' a (o :: S) (i :: S) where Source #
Generated with mkFreeFoil. A binding type, scope-safe version of Binders'.
Constructors
| NoBinders :: forall a (o :: S). a -> Binders' a o o | Corresponds to |
| SomeBinders :: forall a (o :: S) (i1 :: S) (i :: S). a -> NameBinder o i1 -> Binders' a i1 i -> Binders' a o i | Corresponds to |
Instances
| GenericK (Binders' a o i :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| CoSinkable (Binders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods coSinkabilityProof :: forall (n :: S) (n' :: S) (l :: S) r. (Name n -> Name n') -> Binders' a n l -> (forall (l' :: S). (Name l -> Name l') -> Binders' a n' l' -> r) -> r # withPattern :: forall (o :: S) f (n :: S) (l :: S) r. Distinct o => (forall (x :: S) (y :: S) (z :: S) r'. Distinct z => Scope z -> NameBinder x y -> (forall (z' :: S). DExt z z' => f x y z z' -> NameBinder z z' -> r') -> r') -> (forall (x :: S) (z :: S) (z' :: S). DExt z z' => f x x z z') -> (forall (x :: S) (y :: S) (y' :: S) (z :: S) (z' :: S) (z'' :: S). (DExt z z', DExt z' z'') => f x y z z' -> f y y' z' z'' -> f x y' z z'') -> Scope o -> Binders' a n l -> (forall (o' :: S). DExt o o' => f n l o o' -> Binders' a o o' -> r) -> r # | |||||
| HasNameBinders (Binders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods getNameBinders :: forall (n :: S) (l :: S). Binders' a n l -> NameBinders n l # unsafeSetNameBinders :: forall (n :: S) (l :: S) (l' :: S). Binders' a n l -> NameBinders n l' -> Binders' a n l' # getNameBindersRaw :: forall (n :: S) (l :: S). Binders' a n l -> [RawName] # reallyUnsafeSetNameBindersRaw :: forall (n :: S) (l :: S) (l' :: S). Binders' a n l -> [RawName] -> (Binders' a n l', [RawName]) # | |||||
| UnifiablePattern (Binders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods unifyPatterns :: forall (n :: S) (l :: S) (r :: S). Distinct n => Binders' a n l -> Binders' a n r -> UnifyNameBinders (Binders' a) n l r # | |||||
| IsString (Term' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Term' BNFC'Position 'VoidS # | |||||
| Show (Term' a n) Source # | |||||
| GenericK Binders' Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| SinkableK (Binders' a :: S -> S -> Type) Source # | |||||
| GenericK (Binders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (Binders' a o :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (Binders' a o i :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Binders' a o i :: Type) = D1 ('MetaData "Binders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoBinders" 'PrefixI 'False) (('Kon (o ~~ i) :: Atom Type Constraint) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom Type Type))) :+: C1 ('MetaCons "SomeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (NameBinder o) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (Binders' a) :: Atom (S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> Type) S)) ':@: ('Kon i :: Atom (S -> Type) S))))))) | |||||
| type RepK Binders' Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK Binders' = D1 ('MetaData "Binders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoBinders" 'PrefixI 'False) (((('Kon ((~~) :: S -> S -> Constraint) :: Atom (Type -> S -> S -> Type) (S -> S -> Constraint)) ':@: (Var1 :: Atom (Type -> S -> S -> Type) S)) ':@: (Var2 :: Atom (Type -> S -> S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var0 :: Atom (Type -> S -> S -> Type) Type))) :+: C1 ('MetaCons "SomeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (S -> Type -> S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon NameBinder :: Atom (S -> Type -> S -> S -> Type) (S -> S -> Type)) ':@: (Var2 :: Atom (S -> Type -> S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> Type -> S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon Binders' :: Atom (S -> Type -> S -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> S -> Type) Type)) ':@: (Var0 :: Atom (S -> Type -> S -> S -> Type) S)) ':@: (Var3 :: Atom (S -> Type -> S -> S -> Type) S))))))) | |||||
| type RepK (Binders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Binders' a :: S -> S -> Type) = D1 ('MetaData "Binders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoBinders" 'PrefixI 'False) (((('Kon ((~~) :: S -> S -> Constraint) :: Atom (S -> S -> Type) (S -> S -> Constraint)) ':@: (Var0 :: Atom (S -> S -> Type) S)) ':@: (Var1 :: Atom (S -> S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type))) :+: C1 ('MetaCons "SomeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon NameBinder :: Atom (S -> S -> S -> Type) (S -> S -> Type)) ':@: (Var1 :: Atom (S -> S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (Binders' a) :: Atom (S -> S -> S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> S -> S -> Type) S)) ':@: (Var2 :: Atom (S -> S -> S -> Type) S))))))) | |||||
| type RepK (Binders' a o :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Binders' a o :: S -> Type) = D1 ('MetaData "Binders'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "NoBinders" 'PrefixI 'False) ((('Kon ((~~) o :: S -> Constraint) :: Atom (S -> Type) (S -> Constraint)) ':@: (Var0 :: Atom (S -> Type) S)) :=>: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type))) :+: C1 ('MetaCons "SomeBinders" 'PrefixI 'False) (Exists S (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (NameBinder o) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (Binders' a) :: Atom (S -> S -> Type) (S -> S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S)) ':@: (Var1 :: Atom (S -> S -> Type) S))))))) | |||||
data TermTyping' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of TermTyping'.
Constructors
| TermTyping :: forall a (o :: S) (i :: S). a -> TypeBinders' a o i -> Context' a -> Term' a i -> Type' a i -> TermTyping' a o | Corresponds to |
data VarTyping' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of VarTyping'.
data Constraint' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of Constraint'.
Constructors
| ConstraintEq :: forall a (o :: S) (i :: S). a -> Binders' a o i -> Term' a i -> Term' a i -> Constraint' a o | Corresponds to |
Instances
| GenericK (Constraint' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT Type). (Constraint' a o :@@: x) -> RepK (Constraint' a o) x # toK :: forall (x :: LoT Type). RepK (Constraint' a o) x -> Constraint' a o :@@: x # | |||||
| Sinkable (Constraint' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods sinkabilityProof :: forall (n :: S) (l :: S). (Name n -> Name l) -> Constraint' a n -> Constraint' a l # | |||||
| IsString (Constraint' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Constraint' BNFC'Position 'VoidS # | |||||
| Show (Constraint' a n) Source # | |||||
Defined in Language.SOAS.Impl.Generated Methods showsPrec :: Int -> Constraint' a n -> ShowS # show :: Constraint' a n -> String # showList :: [Constraint' a n] -> ShowS # | |||||
| GenericK Constraint' Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (Type -> S -> Type)). (Constraint' :@@: x) -> RepK Constraint' x # toK :: forall (x :: LoT (Type -> S -> Type)). RepK Constraint' x -> Constraint' :@@: x # | |||||
| GenericK (Constraint' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
Methods fromK :: forall (x :: LoT (S -> Type)). (Constraint' a :@@: x) -> RepK (Constraint' a) x # toK :: forall (x :: LoT (S -> Type)). RepK (Constraint' a) x -> Constraint' a :@@: x # | |||||
| type RepK (Constraint' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Constraint' a o :: Type) = D1 ('MetaData "Constraint'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ConstraintEq" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (Binders' a o) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))))))) | |||||
| type RepK Constraint' Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK Constraint' = D1 ('MetaData "Constraint'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ConstraintEq" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (S -> Type -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon Binders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type)) ':@: (Var2 :: Atom (S -> Type -> S -> Type) S)) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon AST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon Binders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Term'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon AST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon Binders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Term'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))))))) | |||||
| type RepK (Constraint' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Constraint' a :: S -> Type) = D1 ('MetaData "Constraint'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "ConstraintEq" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (Binders' a) :: Atom (S -> S -> Type) (S -> S -> Type)) ':@: (Var1 :: Atom (S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> S -> Type) S)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))))))) | |||||
data OpTyping' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of OpTyping'.
Constructors
| OpTyping :: forall a (o :: S) (i :: S). a -> OpIdent -> TypeBinders' a o i -> [ScopedOpArgTyping' a i] -> Type' a i -> OpTyping' a o | Corresponds to |
Instances
| GenericK (OpTyping' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Sinkable (OpTyping' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
| IsString (OpTyping' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> OpTyping' BNFC'Position 'VoidS # | |||||
| Show (OpTyping' a n) Source # | |||||
| GenericK OpTyping' Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (OpTyping' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (OpTyping' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpTyping' a o :: Type) = D1 ('MetaData "OpTyping'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpTyping" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (TypeBinders' a o) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (S -> Type) (Type -> Type)) ':@: ((('Kon (ScopedOpArgTyping'Sig a) :: Atom (S -> Type) (Type -> Type -> Type)) ':@: (('Kon (ScopedAST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) ':@: (('Kon (AST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S)))))))) | |||||
| type RepK OpTyping' Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK OpTyping' = D1 ('MetaData "OpTyping'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpTyping" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (S -> Type -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (S -> Type -> S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon TypeBinders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type)) ':@: (Var2 :: Atom (S -> Type -> S -> Type) S)) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (S -> Type -> S -> Type) (Type -> Type)) ':@: (((('Kon ScopedOpArgTyping'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type)) ':@: (((('Kon ScopedAST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon TypeBinders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Type'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))) ':@: (((('Kon AST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon TypeBinders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Type'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon AST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon TypeBinders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Type'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S)))))))) | |||||
| type RepK (OpTyping' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (OpTyping' a :: S -> Type) = D1 ('MetaData "OpTyping'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "OpTyping" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon OpIdent :: Atom (S -> S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (TypeBinders' a) :: Atom (S -> S -> Type) (S -> S -> Type)) ':@: (Var1 :: Atom (S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> S -> Type) S))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon [] :: Atom (S -> S -> Type) (Type -> Type)) ':@: ((('Kon (ScopedOpArgTyping'Sig a) :: Atom (S -> S -> Type) (Type -> Type -> Type)) ':@: (('Kon (ScopedAST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))) ':@: (('Kon (AST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (TypeBinders' a) (Type'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S)))))))) | |||||
data MetaVarTyping' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of MetaVarTyping'.
Constructors
| MetaVarTyping :: forall a (o :: S). a -> MetaVarIdent -> [Type' a o] -> Type' a o -> MetaVarTyping' a o | Corresponds to |
data Subst' a (o :: S) where Source #
Generated with mkFreeFoil. A scope-safe version of Subst'.
Constructors
| Subst :: forall a (o :: S) (i :: S). a -> MetaVarIdent -> Binders' a o i -> Term' a i -> Subst' a o | Corresponds to |
Instances
| GenericK (Subst' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| Sinkable (Subst' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
| IsString (Subst' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated Methods fromString :: String -> Subst' BNFC'Position 'VoidS # | |||||
| Show (Subst' a n) Source # | |||||
| GenericK Subst' Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| GenericK (Subst' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated Associated Types
| |||||
| type RepK (Subst' a o :: Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Subst' a o :: Type) = D1 ('MetaData "Subst'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Subst" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (Binders' a o) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> Type) S))))))) | |||||
| type RepK Subst' Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK Subst' = D1 ('MetaData "Subst'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Subst" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (Var1 :: Atom (S -> Type -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (S -> Type -> S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon Binders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type)) ':@: (Var2 :: Atom (S -> Type -> S -> Type) S)) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (((('Kon AST :: Atom (S -> Type -> S -> Type) ((S -> S -> Type) -> (Type -> Type -> Type) -> S -> Type)) ':@: (('Kon Binders' :: Atom (S -> Type -> S -> Type) (Type -> S -> S -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (('Kon Term'Sig :: Atom (S -> Type -> S -> Type) (Type -> Type -> Type -> Type)) ':@: (Var1 :: Atom (S -> Type -> S -> Type) Type))) ':@: (Var0 :: Atom (S -> Type -> S -> Type) S))))))) | |||||
| type RepK (Subst' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated type RepK (Subst' a :: S -> Type) = D1 ('MetaData "Subst'" "Language.SOAS.Impl.Generated" "soas-0.2.0-6nIwvOohq1pE2tcrIqGIBi" 'False) (C1 ('MetaCons "Subst" 'PrefixI 'False) (Exists S ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon a :: Atom (S -> S -> Type) Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ('Kon MetaVarIdent :: Atom (S -> S -> Type) Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field ((('Kon (Binders' a) :: Atom (S -> S -> Type) (S -> S -> Type)) ':@: (Var1 :: Atom (S -> S -> Type) S)) ':@: (Var0 :: Atom (S -> S -> Type) S))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Field (('Kon (AST (Binders' a) (Term'Sig a)) :: Atom (S -> S -> Type) (S -> Type)) ':@: (Var0 :: Atom (S -> S -> Type) S))))))) | |||||
pattern ScopedOpArgTyping :: forall a (o :: S). a -> OpArgTyping' a o -> ScopedOpArgTyping' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type ScopedOpArgTyping.
pattern OpArgTyping :: forall a (o :: S). a -> [Type' a o] -> Type' a o -> OpArgTyping' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type OpArgTyping.
pattern TypeProduct :: a -> Type' a o -> Type' a o -> Type' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type TypeProduct.
pattern TypeFun :: a -> Type' a o -> Type' a o -> Type' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type TypeFun.
pattern PlainOpArg :: forall a (o :: S). a -> Term' a o -> OpArg' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type PlainOpArg.
pattern OpArg :: forall a (o :: S) (i :: S). () => a -> Binders' a o i -> Term' a i -> OpArg' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type OpArg.
pattern MetaVar :: a -> MetaVarIdent -> [Term' a o] -> Term' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type MetaVar.
pattern Op :: a -> OpIdent -> [OpArg' a o] -> Term' a o Source #
Generated with mkFreeFoil. Pattern synonym for an AST node of type Op.
fromTerm'Sig :: Term'Sig a (Binders' a, ScopedTerm' a) (Term' a) -> Term' a Source #
Generated with mkFreeFoil. A helper used to convert from scope-safe to raw representation.
fromOpArg'Sig :: OpArg'Sig a (Binders' a, ScopedTerm' a) (Term' a) -> OpArg' a Source #
Generated with mkFreeFoil. A helper used to convert from scope-safe to raw representation.
fromBinders' :: forall a (o :: S) (i :: S). Binders' a o i -> Binders' a Source #
Generated with mkFreeFoil. Convert a scope-safe to a raw binding.
fromOpArg' :: forall a (o :: S). OpArg' a o -> OpArg' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromTerm' :: forall a (o :: S). Term' a o -> Term' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromType'Sig :: Type'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> Type' a Source #
Generated with mkFreeFoil. A helper used to convert from scope-safe to raw representation.
fromOpArgTyping'Sig :: OpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> OpArgTyping' a Source #
Generated with mkFreeFoil. A helper used to convert from scope-safe to raw representation.
fromScopedOpArgTyping'Sig :: ScopedOpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) -> ScopedOpArgTyping' a Source #
Generated with mkFreeFoil. A helper used to convert from scope-safe to raw representation.
fromTypeBinders' :: forall a (o :: S) (i :: S). TypeBinders' a o i -> TypeBinders' a Source #
Generated with mkFreeFoil. Convert a scope-safe to a raw binding.
fromOpArgTyping' :: forall a (o :: S). OpArgTyping' a o -> OpArgTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromScopedOpArgTyping' :: forall a (i :: S). ScopedOpArgTyping' a i -> ScopedOpArgTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromType' :: forall a (o :: S). Type' a o -> Type' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromSubst' :: forall a (o :: S). Subst' a o -> Subst' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromMetaVarTyping' :: forall a (o :: S). MetaVarTyping' a o -> MetaVarTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromOpTyping' :: forall a (o :: S). OpTyping' a o -> OpTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromConstraint' :: forall a (o :: S). Constraint' a o -> Constraint' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromVarTyping' :: forall a (o :: S). VarTyping' a o -> VarTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
fromTermTyping' :: forall a (o :: S). TermTyping' a o -> TermTyping' a Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toTerm'Sig :: Term' a -> Either VarIdent (Term'Sig a (Binders' a, ScopedTerm' a) (Term' a)) Source #
Generated with mkFreeFoil. A helper used to convert from raw to scope-safe representation.
toOpArg'Sig :: OpArg' a -> OpArg'Sig a (Binders' a, ScopedTerm' a) (Term' a) Source #
Generated with mkFreeFoil. A helper used to convert from raw to scope-safe representation.
toBinders' :: forall (o :: S) a r. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Binders' a -> (forall (i :: S). DExt o i => Binders' a o i -> Map VarIdent (Name i) -> r) -> r Source #
Generated with mkFreeFoil. Convert from raw to scope-safe binding (CPS-style).
toOpArg' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpArg' a -> OpArg' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toTerm' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Term' a -> Term' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toType'Sig :: Type' a -> Either VarIdent (Type'Sig a (TypeBinders' a, ScopedType' a) (Type' a)) Source #
Generated with mkFreeFoil. A helper used to convert from raw to scope-safe representation.
toOpArgTyping'Sig :: OpArgTyping' a -> OpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) Source #
Generated with mkFreeFoil. A helper used to convert from raw to scope-safe representation.
toScopedOpArgTyping'Sig :: ScopedOpArgTyping' a -> ScopedOpArgTyping'Sig a (TypeBinders' a, ScopedType' a) (Type' a) Source #
Generated with mkFreeFoil. A helper used to convert from raw to scope-safe representation.
toTypeBinders' :: forall (o :: S) a r. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> TypeBinders' a -> (forall (i :: S). DExt o i => TypeBinders' a o i -> Map VarIdent (Name i) -> r) -> r Source #
Generated with mkFreeFoil. Convert from raw to scope-safe binding (CPS-style).
toOpArgTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpArgTyping' a -> OpArgTyping' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toScopedOpArgTyping' :: forall (i :: S) a. (Distinct i, Ord VarIdent) => Scope i -> Map VarIdent (Name i) -> ScopedOpArgTyping' a -> ScopedOpArgTyping' a i Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toType' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Type' a -> Type' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toSubst' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Subst' a -> Subst' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toMetaVarTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> MetaVarTyping' a -> MetaVarTyping' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toOpTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> OpTyping' a -> OpTyping' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toConstraint' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> Constraint' a -> Constraint' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toVarTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> VarTyping' a -> VarTyping' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
toTermTyping' :: forall (o :: S) a. (Distinct o, Ord VarIdent) => Scope o -> Map VarIdent (Name o) -> TermTyping' a -> TermTyping' a o Source #
Generated with mkFreeFoil. Convert from scope-safe to raw representation.
User-defined helpers
Orphan instances
| ZipMatchK BNFC'Position Source # | Ignore |
Methods zipMatchWithK :: forall (as :: LoT Type) (bs :: LoT Type) (cs :: LoT Type). Mappings as bs cs -> (BNFC'Position :@@: as) -> (BNFC'Position :@@: bs) -> Maybe (BNFC'Position :@@: cs) # | |
| ZipMatchK MetaVarIdent Source # | Match |
Methods zipMatchWithK :: forall (as :: LoT Type) (bs :: LoT Type) (cs :: LoT Type). Mappings as bs cs -> (MetaVarIdent :@@: as) -> (MetaVarIdent :@@: bs) -> Maybe (MetaVarIdent :@@: cs) # | |
| ZipMatchK OpIdent Source # | |