Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class (Monad m, Eq (ThunkId m), Ord (ThunkId m), Show (ThunkId m), Typeable (ThunkId m)) => MonadThunkId m where
- class MonadThunkId m => MonadThunk t m a | t -> m, t -> a where
- class MonadThunkF t m a | t -> m, t -> a where
- newtype ThunkLoop = ThunkLoop Text
- thunkStubText :: Text
class MonadThunkId
& instances
class (Monad m, Eq (ThunkId m), Ord (ThunkId m), Show (ThunkId m), Typeable (ThunkId m)) => MonadThunkId m where Source #
Nothing
freshId :: m (ThunkId m) Source #
default freshId :: (MonadThunkId m', MonadTrans t, m ~ t m', ThunkId m ~ ThunkId m') => m (ThunkId m) Source #
Instances
MonadThunkId (Lint s) Source # | |
MonadThunkId m => MonadThunkId (ExceptT e m) Source # | |
MonadThunkId m => MonadThunkId (StateT s m) Source # | |
(Monoid w, MonadThunkId m) => MonadThunkId (WriterT w m) Source # | |
MonadThunkId m => MonadThunkId (ReaderT r m) Source # | |
(MonadAtomicRef m, Eq i, Ord i, Show i, Enum i, Typeable i) => MonadThunkId (FreshIdT i m) Source # | |
MonadThunkId m => MonadThunkId (Fix1T StandardTF m) Source # | |
Defined in Nix.Standard type ThunkId (Fix1T StandardTF m) Source # freshId :: Fix1T StandardTF m (ThunkId (Fix1T StandardTF m)) Source # |
Instances
class MonadThunk
class MonadThunkId m => MonadThunk t m a | t -> m, t -> a where Source #
thunkId :: t -> ThunkId m Source #
Return thunk ID.
Create new thunk
query :: m a -> t -> m a Source #
Non-blocking query. If thunk got computed then return its value otherwise return default value (1st arg).
Modify the action to be performed by the thunk. For some implicits this modifies the thunk, for others it may create a new thunk.
Instances
(Typeable m, MonadThunkId m, MonadAtomicRef m, MonadCatch m, MonadReader (Context m (StdValue m)) m) => MonadThunk (StdThunk m) m (StdValue m) Source # | |
(MonadBasicThunk m, MonadCatch m) => MonadThunk (NThunkF m v) m v Source # | |
(Has e Options, Framed e m, MonadThunk t m v, Typeable m, Typeable f, Typeable u, MonadCatch m) => MonadThunk (Cited u f m t) m v Source # | |
class MonadThunk
class MonadThunkF t m a | t -> m, t -> a where Source #
Class of Kleisli functors for easiness of customized implementation developlemnt.
queryF :: (a -> m r) -> m r -> t -> m r Source #
forceF :: (a -> m r) -> t -> m r Source #
Instances
(Typeable m, MonadThunkId m, MonadAtomicRef m, MonadCatch m, MonadReader (Context m (StdValue m)) m) => MonadThunkF (StdThunk m) m (StdValue m) Source # | |
(MonadBasicThunk m, MonadCatch m) => MonadThunkF (NThunkF m v) m v Source # | |
(Has e Options, Framed e m, MonadThunkF t m v, Typeable m, Typeable f, Typeable u, MonadCatch m) => MonadThunkF (Cited u f m t) m v Source # | |
newtype ThunkLoop
Instances
Show ThunkLoop Source # | |
Exception ThunkLoop Source # | |
Defined in Nix.Thunk toException :: ThunkLoop -> SomeException # fromException :: SomeException -> Maybe ThunkLoop # displayException :: ThunkLoop -> String # |
Utils
thunkStubText :: Text Source #