Safe Haskell | None |
---|---|
Language | Haskell2010 |
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'
.
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'
.
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
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 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 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 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 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 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 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
| |||||
GenericK (OpArgTyping'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
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
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
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'
.
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
| |||||
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 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 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 fromString :: String -> Type' BNFC'Position 'VoidS # | |||||
Traversable (Type'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated 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
| |||||
ZipMatchK a => ZipMatchK (Type'Sig a :: Type -> Type -> Type) Source # | |||||
GenericK (Type'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (Type'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
Generic (Type'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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'
.
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
| |||||
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 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 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 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
| |||||
ZipMatchK a => ZipMatchK (OpArg'Sig a :: Type -> Type -> Type) Source # | |||||
GenericK (OpArg'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (OpArg'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
Generic (OpArg'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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'
.
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
| |||||
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 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 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 fromString :: String -> Term' BNFC'Position 'VoidS # | |||||
Traversable (Term'Sig a scope) Source # | |||||
Defined in Language.SOAS.Impl.Generated 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
| |||||
ZipMatchK a => ZipMatchK (Term'Sig a :: Type -> Type -> Type) Source # | |||||
GenericK (Term'Sig a :: Type -> Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (Term'Sig a scope :: Type -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
Generic (Term'Sig a scope term) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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'
.
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
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 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 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 fromString :: String -> Type' BNFC'Position 'VoidS # | |||||
Show (Type' a n) Source # | |||||
GenericK TypeBinders' Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
SinkableK (TypeBinders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated 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
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
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'
.
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
| |||||
CoSinkable (Binders' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated 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 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 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 fromString :: String -> Term' BNFC'Position 'VoidS # | |||||
Show (Term' a n) Source # | |||||
GenericK Binders' Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
SinkableK (Binders' a :: S -> S -> Type) Source # | |||||
GenericK (Binders' a :: S -> S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (Binders' a o :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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'
.
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'
.
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
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 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 fromString :: String -> Constraint' BNFC'Position 'VoidS # | |||||
Show (Constraint' a n) Source # | |||||
Defined in Language.SOAS.Impl.Generated 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
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
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'
.
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
| |||||
Sinkable (OpTyping' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
IsString (OpTyping' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated fromString :: String -> OpTyping' BNFC'Position 'VoidS # | |||||
Show (OpTyping' a n) Source # | |||||
GenericK OpTyping' Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (OpTyping' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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'
.
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'
.
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
| |||||
Sinkable (Subst' a) Source # | |||||
Defined in Language.SOAS.Impl.Generated | |||||
IsString (Subst' BNFC'Position 'VoidS) Source # |
| ||||
Defined in Language.SOAS.Impl.Generated fromString :: String -> Subst' BNFC'Position 'VoidS # | |||||
Show (Subst' a n) Source # | |||||
GenericK Subst' Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
GenericK (Subst' a :: S -> Type) Source # | |||||
Defined in Language.SOAS.Impl.Generated
| |||||
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 |
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 |
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 # | |