Safe HaskellNone

LSC.Transformer

Synopsis

Documentation

type Bootstrap = BootstrapT Identity Source #

bootstrap :: Monad m => (Technology -> Technology) -> BootstrapT m () Source #

frozen :: Monad m => Iso' (BootstrapT m ()) (m Technology) Source #

type GnosticT = ReaderT Technology Source #

type Gnostic = GnosticT Identity Source #

runEnvironmentT :: Monad m => CompilerOpts -> EnvironmentT m r -> m r Source #

type LSC = Codensity (LST IO) Source #

liftST :: ST RealWorld a -> LSC a Source #

Once a state thread computation is lifted it may not escape monadic context anymore.

confine :: Confinement () -> LSC a -> LSC a Source #

newtype LST m a Source #

Constructors

LST 

Fields

Instances

Instances details
MonadTrans LST Source # 
Instance details

Defined in LSC.Transformer

Methods

lift :: Monad m => m a -> LST m a

Show a => Trace LSC a Source # 
Instance details

Defined in LSC.Transformer

Methods

trace :: a -> LSC a Source #

Monad m => Monad (LST m) Source # 
Instance details

Defined in LSC.Transformer

Methods

(>>=) :: LST m a -> (a -> LST m b) -> LST m b

(>>) :: LST m a -> LST m b -> LST m b

return :: a -> LST m a

Functor m => Functor (LST m) Source # 
Instance details

Defined in LSC.Transformer

Methods

fmap :: (a -> b) -> LST m a -> LST m b

(<$) :: a -> LST m b -> LST m a

MonadIO m => MonadFail (LST m) Source # 
Instance details

Defined in LSC.Transformer

Methods

fail :: String -> LST m a

Applicative m => Applicative (LST m) Source # 
Instance details

Defined in LSC.Transformer

Methods

pure :: a -> LST m a

(<*>) :: LST m (a -> b) -> LST m a -> LST m b

liftA2 :: (a -> b -> c) -> LST m a -> LST m b -> LST m c #

(*>) :: LST m a -> LST m b -> LST m b

(<*) :: LST m a -> LST m b -> LST m a

MonadIO m => MonadIO (LST m) Source # 
Instance details

Defined in LSC.Transformer

Methods

liftIO :: IO a -> LST m a

(Show a, MonadIO m) => Trace (LST m) a Source # 
Instance details

Defined in LSC.Transformer

Methods

trace :: a -> LST m a Source #

MFunctor LST Source # 
Instance details

Defined in LSC.Transformer

Methods

hoist :: forall m n (b :: k). Monad m => (forall a. m a -> n a) -> LST m b -> LST n b

newtype Fail Source #

Constructors

Fail 

Fields

Instances

Instances details
Show Fail Source # 
Instance details

Defined in LSC.Transformer

Methods

showsPrec :: Int -> Fail -> ShowS

show :: Fail -> String

showList :: [Fail] -> ShowS

Exception Fail Source # 
Instance details

Defined in LSC.Transformer

Methods

toException :: Fail -> SomeException

fromException :: SomeException -> Maybe Fail

displayException :: Fail -> String

catchFail :: MonadIO m => Fail -> LST m a Source #

assume :: MonadFail m => String -> Bool -> m () Source #

rescale :: Double -> Bootstrap () Source #

debug :: [String] -> LSC () Source #

info :: [String] -> LSC () Source #

warning :: [String] -> LSC () Source #

logger :: LogLevel -> [String] -> LSC () Source #