Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Module objs = Module {
- moduleName :: ModuleName
- moduleOpsTable :: OpsTable
- moduleTypeClasses :: Set TypeClass
- moduleObjects :: objs
- type PinnedModule m = Module (Map Namespace VCObjectHash, Map VCObjectHash (TypeMetadata TCScheme), m)
- newtype BuiltinModuleHash = BuiltinModuleHash ModuleName
- newtype BuiltinFunHash = BuiltinFunHash (Expr () (), TCScheme)
- newtype BuiltinEnumHash = BuiltinEnumHash TCScheme
- buildPinnedQQModules :: (MonadError EvalError m, Pretty c) => [(ModuleName, OpsTable, [TopLevelDefn (Either (TCScheme, ImplEnvM m c (Value c (ImplEnvM m c))) (Maybe TCScheme, Expr () SourcePos))])] -> Map ModuleName (PinnedModule (ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c))))
- combineTermEnvs :: MonadError EvalError m => Map ModuleName (PinnedModule (ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c)))) -> ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c))
- pinnedModuleNameToHash :: PinnedModule m -> Map Namespace VCObjectHash
- pinnedModuleHashToTy :: PinnedModule m -> Map VCObjectHash (TypeMetadata TCScheme)
- pinnedModuleTerms :: PinnedModule m -> m
- class ToValue c m a where
- toValue :: MonadError EvalError m => a -> m (Value c m)
Documentation
Module | |
|
Instances
FromJSON objs => FromJSON (Module objs) | |
ToJSON objs => ToJSON (Module objs) | |
Defined in Inferno.Types.Module | |
Generic (Module objs) | |
Eq objs => Eq (Module objs) | |
VCHashUpdate objs => VCHashUpdate (Module objs) | |
type Rep (Module objs) | |
Defined in Inferno.Types.Module type Rep (Module objs) = D1 ('MetaData "Module" "Inferno.Types.Module" "inferno-types-0.1.0.0-EKMmIlZ8z5b3mVEUhFR81D" 'False) (C1 ('MetaCons "Module" 'PrefixI 'True) ((S1 ('MetaSel ('Just "moduleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Just "moduleOpsTable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OpsTable)) :*: (S1 ('MetaSel ('Just "moduleTypeClasses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set TypeClass)) :*: S1 ('MetaSel ('Just "moduleObjects") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 objs)))) |
type PinnedModule m = Module (Map Namespace VCObjectHash, Map VCObjectHash (TypeMetadata TCScheme), m) #
newtype BuiltinModuleHash #
Instances
Generic BuiltinModuleHash | |
Defined in Inferno.Types.Module type Rep BuiltinModuleHash :: Type -> Type # from :: BuiltinModuleHash -> Rep BuiltinModuleHash x # to :: Rep BuiltinModuleHash x -> BuiltinModuleHash # | |
VCHashUpdate BuiltinModuleHash | |
Defined in Inferno.Types.Module | |
type Rep BuiltinModuleHash | |
Defined in Inferno.Types.Module type Rep BuiltinModuleHash = D1 ('MetaData "BuiltinModuleHash" "Inferno.Types.Module" "inferno-types-0.1.0.0-EKMmIlZ8z5b3mVEUhFR81D" 'True) (C1 ('MetaCons "BuiltinModuleHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))) |
newtype BuiltinFunHash #
BuiltinFunHash (Expr () (), TCScheme) |
Instances
Generic BuiltinFunHash | |
Defined in Inferno.Types.Module type Rep BuiltinFunHash :: Type -> Type # from :: BuiltinFunHash -> Rep BuiltinFunHash x # to :: Rep BuiltinFunHash x -> BuiltinFunHash # | |
VCHashUpdate BuiltinFunHash | |
Defined in Inferno.Types.Module | |
type Rep BuiltinFunHash | |
Defined in Inferno.Types.Module type Rep BuiltinFunHash = D1 ('MetaData "BuiltinFunHash" "Inferno.Types.Module" "inferno-types-0.1.0.0-EKMmIlZ8z5b3mVEUhFR81D" 'True) (C1 ('MetaCons "BuiltinFunHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr () (), TCScheme)))) |
newtype BuiltinEnumHash #
Instances
Generic BuiltinEnumHash | |
Defined in Inferno.Types.Module type Rep BuiltinEnumHash :: Type -> Type # from :: BuiltinEnumHash -> Rep BuiltinEnumHash x # to :: Rep BuiltinEnumHash x -> BuiltinEnumHash # | |
VCHashUpdate BuiltinEnumHash | |
Defined in Inferno.Types.Module | |
type Rep BuiltinEnumHash | |
Defined in Inferno.Types.Module type Rep BuiltinEnumHash = D1 ('MetaData "BuiltinEnumHash" "Inferno.Types.Module" "inferno-types-0.1.0.0-EKMmIlZ8z5b3mVEUhFR81D" 'True) (C1 ('MetaCons "BuiltinEnumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCScheme))) |
buildPinnedQQModules :: (MonadError EvalError m, Pretty c) => [(ModuleName, OpsTable, [TopLevelDefn (Either (TCScheme, ImplEnvM m c (Value c (ImplEnvM m c))) (Maybe TCScheme, Expr () SourcePos))])] -> Map ModuleName (PinnedModule (ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c)))) Source #
combineTermEnvs :: MonadError EvalError m => Map ModuleName (PinnedModule (ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c)))) -> ImplEnvM m c (TermEnv VCObjectHash c (ImplEnvM m c)) Source #
pinnedModuleTerms :: PinnedModule m -> m #
class ToValue c m a where Source #
Types that can be converted to script values, allowing IO in the process.
Instances
ToValue c m CTime Source # | |
ToValue c m Int64 Source # | |
ToValue c m Word16 Source # | |
ToValue c m Word32 Source # | |
ToValue c m Word64 Source # | |
ToValue c m Lit Source # | |
ToValue c m Text Source # | |
ToValue c m Integer Source # | |
ToValue c m () Source # | |
Defined in Inferno.Module.Cast | |
ToValue c m Bool Source # | |
ToValue c m Double Source # | |
ToValue c m Int Source # | |
ToValue c m a => ToValue c m (Maybe a) Source # | |
ToValue c m a => ToValue c m [a] Source # | |
Defined in Inferno.Module.Cast | |
ToValue c m (m (Value c m)) Source # | |
(ToValue c m a, ToValue c m b) => ToValue c m (Either a b) Source # | |
ToValue c m (Value c m) Source # | |
(FromValue c m a, ToValue c m b) => ToValue c m (a -> b) Source # | |
Defined in Inferno.Module.Cast | |
(Monad m, FromValue c (ImplEnvM m c) a1, FromValue c (ImplEnvM m c) a2, ToValue c (ImplEnvM m c) a3, KnownSymbol lbl) => ToValue c (ImplEnvM m c) (ImplicitCast lbl a1 a2 a3) Source # | |
Defined in Inferno.Module.Cast |