Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
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 # |
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 Nothing.
queryM :: t -> m r -> (a -> m r) -> m r Source #
force :: t -> (a -> m r) -> m r Source #
forceEff :: t -> (a -> m r) -> m r Source #
further :: t -> (m a -> m a) -> m t 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
Instances
Show ThunkLoop Source # | |
Exception ThunkLoop Source # | |
Defined in Nix.Thunk toException :: ThunkLoop -> SomeException # fromException :: SomeException -> Maybe ThunkLoop # displayException :: ThunkLoop -> String # |