Safe Haskell | None |
---|
LSC.Transformer
Synopsis
- type BootstrapT = StateT Technology
- type Bootstrap = BootstrapT Identity
- bootstrap :: Monad m => (Technology -> Technology) -> BootstrapT m ()
- snapshot :: Monad m => BootstrapT m Technology
- frozen :: Monad m => Iso' (BootstrapT m ()) (m Technology)
- freeze :: Bootstrap () -> Technology
- deepFreeze :: Bootstrap () -> IO Technology
- type GnosticT = ReaderT Technology
- type Gnostic = GnosticT Identity
- runGnosticT :: Technology -> GnosticT m r -> m r
- runGnostic :: Technology -> Gnostic r -> r
- type ConfinementT = StateT CompilerOpts
- type Confinement = ConfinementT Identity
- type EnvironmentT = ReaderT CompilerOpts
- type Environment = EnvironmentT Identity
- runEnvironmentT :: Monad m => CompilerOpts -> EnvironmentT m r -> m r
- runEnvironment :: CompilerOpts -> Environment r -> r
- type LSC = Codensity (LST IO)
- runLSC :: CompilerOpts -> Technology -> LSC a -> IO a
- evalLSC :: CompilerOpts -> Technology -> LSC a -> IO a
- liftST :: ST RealWorld a -> LSC a
- technology :: LSC Technology
- environment :: LSC CompilerOpts
- confine :: Confinement () -> LSC a -> LSC a
- newtype LST m a = LST {
- unLST :: EnvironmentT (GnosticT m) a
- newtype Fail = Fail {
- unFail :: String
- catchFail :: MonadIO m => Fail -> LST m a
- assume :: MonadFail m => String -> Bool -> m ()
- rescale :: Double -> Bootstrap ()
- debug :: [String] -> LSC ()
- info :: [String] -> LSC ()
- warning :: [String] -> LSC ()
- logger :: LogLevel -> [String] -> LSC ()
Documentation
type BootstrapT = StateT Technology Source #
type Bootstrap = BootstrapT Identity Source #
bootstrap :: Monad m => (Technology -> Technology) -> BootstrapT m () Source #
snapshot :: Monad m => BootstrapT m Technology Source #
frozen :: Monad m => Iso' (BootstrapT m ()) (m Technology) Source #
freeze :: Bootstrap () -> Technology Source #
deepFreeze :: Bootstrap () -> IO Technology Source #
type GnosticT = ReaderT Technology Source #
runGnosticT :: Technology -> GnosticT m r -> m r Source #
runGnostic :: Technology -> Gnostic r -> r Source #
type ConfinementT = StateT CompilerOpts Source #
type Confinement = ConfinementT Identity Source #
type EnvironmentT = ReaderT CompilerOpts Source #
type Environment = EnvironmentT Identity Source #
runEnvironmentT :: Monad m => CompilerOpts -> EnvironmentT m r -> m r Source #
runEnvironment :: CompilerOpts -> Environment r -> r Source #
runLSC :: CompilerOpts -> Technology -> LSC a -> IO a Source #
evalLSC :: CompilerOpts -> Technology -> LSC a -> IO a Source #
liftST :: ST RealWorld a -> LSC a Source #
Once a state thread computation is lifted it may not escape monadic context anymore.
Constructors
LST | |
Fields
|
Instances
MonadTrans LST Source # | |
Defined in LSC.Transformer | |
Show a => Trace LSC a Source # | |
Defined in LSC.Transformer | |
Monad m => Monad (LST m) Source # | |
Functor m => Functor (LST m) Source # | |
MonadIO m => MonadFail (LST m) Source # | |
Defined in LSC.Transformer | |
Applicative m => Applicative (LST m) Source # | |
MonadIO m => MonadIO (LST m) Source # | |
Defined in LSC.Transformer | |
(Show a, MonadIO m) => Trace (LST m) a Source # | |
Defined in LSC.Transformer | |
MFunctor LST Source # | |
Defined in LSC.Transformer |
Instances
Show Fail Source # | |
Exception Fail Source # | |
Defined in LSC.Transformer Methods toException :: Fail -> SomeException fromException :: SomeException -> Maybe Fail displayException :: Fail -> String |