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
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 # | |
(MonadVar 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 an identifier for the thunk unless it is a pure value (i.e.,
strictly an encapsulation of some a
without any additional
structure). For pure values represented as thunks, returns mempty.
queryM :: m a -> t -> m a Source #
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.
queryMF :: (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 # |