Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type SemSpec b a = Sem (SpecProgramEffects b) a
- type SemHook b a = Sem (HookProgramEffects b) a
- type HookProgram b = SemHook b ()
- type SpecProgram b = SemSpec b ()
- newtype HookProgramWithArgParser b = HookProgramWithArgParser (Object -> Parser (HookProgram b))
- parserlessHook :: HookProgram b -> HookProgramWithArgParser b
- newtype SpecProgramWithArgParser b = SpecProgramWithArgParser (Object -> Parser (SpecProgram b))
- parserlessSpec :: SpecProgram b -> SpecProgramWithArgParser b
- type SpecProgramEffects b = '[RecreateTable, Reader ExtraDependencies, Reader HiddenDependencies, Reader TargetName, Assertion, ExternalCreate, BackendSpecificEffect b] ++ Core
- type HookProgramEffects b = '[Assertion, Embed IO, BackendSpecificEffect b] ++ Core
- type Core = [FatalError, Input RandomToken, Time, Output LogLine, SqlRender, SqlParse, SqlRead, SqlWrite, LocalFile, Reader QueryTransformer, Reader MetaArguments, Reader DynamicMeta]
- class RunBackendEffect b where
- runBackendEffectReal :: (Members Core r, Member (Embed IO) r) => BackendConn b -> Sem (BackendSpecificEffect b ': r) a -> Sem r a
- runBackendEffectFake :: (Members Core r, Member (Embed IO) r) => Sem (BackendSpecificEffect b ': r) a -> Sem r a
Documentation
type SemSpec b a = Sem (SpecProgramEffects b) a #
type SemHook b a = Sem (HookProgramEffects b) a #
Programs packaged up for use in Specs. Intended for use in providing introspectable CustomCreate actions in specs.
type HookProgram b = SemHook b () #
Hooks have different cabapilities than specs
type SpecProgram b = SemSpec b () #
newtype HookProgramWithArgParser b #
HookProgramWithArgParser (Object -> Parser (HookProgram b)) |
parserlessHook :: HookProgram b -> HookProgramWithArgParser b #
newtype SpecProgramWithArgParser b #
SpecProgramWithArgParser (Object -> Parser (SpecProgram b)) |
parserlessSpec :: SpecProgram b -> SpecProgramWithArgParser b #
type SpecProgramEffects b = '[RecreateTable, Reader ExtraDependencies, Reader HiddenDependencies, Reader TargetName, Assertion, ExternalCreate, BackendSpecificEffect b] ++ Core #
type HookProgramEffects b = '[Assertion, Embed IO, BackendSpecificEffect b] ++ Core #
type Core = [FatalError, Input RandomToken, Time, Output LogLine, SqlRender, SqlParse, SqlRead, SqlWrite, LocalFile, Reader QueryTransformer, Reader MetaArguments, Reader DynamicMeta] #
class RunBackendEffect b where #
runBackendEffectReal :: (Members Core r, Member (Embed IO) r) => BackendConn b -> Sem (BackendSpecificEffect b ': r) a -> Sem r a #
default runBackendEffectReal :: (Members Core r, Member (Embed IO) r) => BackendConn b -> Sem (BackendSpecificEffect b ': r) a -> Sem r a #
runBackendEffectFake :: (Members Core r, Member (Embed IO) r) => Sem (BackendSpecificEffect b ': r) a -> Sem r a #