hnix-0.9.0: Haskell implementation of the Nix language
Safe HaskellNone
LanguageHaskell2010

Nix.Fresh

Documentation

newtype FreshIdT i m a Source #

Constructors

FreshIdT 

Fields

Instances

Instances details
(MonadEffects t f m, MonadDataContext f m) => MonadEffects t f (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadBase b m => MonadBase b (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

liftBase :: b α -> FreshIdT i m α #

MonadTrans (FreshIdT i) Source # 
Instance details

Defined in Nix.Fresh

Methods

lift :: Monad m => m a -> FreshIdT i m a #

(MonadFail m, MonadFile m) => MonadFile (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadStore m => MonadStore (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadPutStr m => MonadPutStr (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

Methods

putStr :: String -> StdIdT m () Source #

MonadHttp m => MonadHttp (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadPaths m => MonadPaths (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadEnv m => MonadEnv (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadInstantiate m => MonadInstantiate (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadExec m => MonadExec (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadIntrospect m => MonadIntrospect (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

Methods

recursiveSize :: a -> StdIdT m Word Source #

Monad m => Monad (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

(>>=) :: FreshIdT i m a -> (a -> FreshIdT i m b) -> FreshIdT i m b #

(>>) :: FreshIdT i m a -> FreshIdT i m b -> FreshIdT i m b #

return :: a -> FreshIdT i m a #

Functor m => Functor (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

fmap :: (a -> b) -> FreshIdT i m a -> FreshIdT i m b #

(<$) :: a -> FreshIdT i m b -> FreshIdT i m a #

MonadFix m => MonadFix (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

mfix :: (a -> FreshIdT i m a) -> FreshIdT i m a #

MonadFail m => MonadFail (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

fail :: String -> FreshIdT i m a #

Applicative m => Applicative (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

pure :: a -> FreshIdT i m a #

(<*>) :: FreshIdT i m (a -> b) -> FreshIdT i m a -> FreshIdT i m b #

liftA2 :: (a -> b -> c) -> FreshIdT i m a -> FreshIdT i m b -> FreshIdT i m c #

(*>) :: FreshIdT i m a -> FreshIdT i m b -> FreshIdT i m b #

(<*) :: FreshIdT i m a -> FreshIdT i m b -> FreshIdT i m a #

Alternative m => Alternative (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

empty :: FreshIdT i m a #

(<|>) :: FreshIdT i m a -> FreshIdT i m a -> FreshIdT i m a #

some :: FreshIdT i m a -> FreshIdT i m [a] #

many :: FreshIdT i m a -> FreshIdT i m [a] #

MonadPlus m => MonadPlus (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

mzero :: FreshIdT i m a #

mplus :: FreshIdT i m a -> FreshIdT i m a -> FreshIdT i m a #

MonadIO m => MonadIO (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

liftIO :: IO a -> FreshIdT i m a #

MonadThrow m => MonadThrow (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

throwM :: Exception e => e -> FreshIdT i m a #

MonadCatch m => MonadCatch (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

catch :: Exception e => FreshIdT i m a -> (e -> FreshIdT i m a) -> FreshIdT i m a #

MonadMask m => MonadMask (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

mask :: ((forall a. FreshIdT i m a -> FreshIdT i m a) -> FreshIdT i m b) -> FreshIdT i m b #

uninterruptibleMask :: ((forall a. FreshIdT i m a -> FreshIdT i m a) -> FreshIdT i m b) -> FreshIdT i m b #

generalBracket :: FreshIdT i m a -> (a -> ExitCase b -> FreshIdT i m c) -> (a -> FreshIdT i m b) -> FreshIdT i m (b, c) #

MonadRef m => MonadRef (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Associated Types

type Ref (FreshIdT i m) :: Type -> Type #

Methods

newRef :: a -> FreshIdT i m (Ref (FreshIdT i m) a) #

readRef :: Ref (FreshIdT i m) a -> FreshIdT i m a #

writeRef :: Ref (FreshIdT i m) a -> a -> FreshIdT i m () #

modifyRef :: Ref (FreshIdT i m) a -> (a -> a) -> FreshIdT i m () #

modifyRef' :: Ref (FreshIdT i m) a -> (a -> a) -> FreshIdT i m () #

MonadAtomicRef m => MonadAtomicRef (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Methods

atomicModifyRef :: Ref (FreshIdT i m) a -> (a -> (a, b)) -> FreshIdT i m b #

atomicModifyRef' :: Ref (FreshIdT i m) a -> (a -> (a, b)) -> FreshIdT i m b #

(MonadVar m, Eq i, Ord i, Show i, Enum i, Typeable i) => MonadThunkId (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

Associated Types

type ThunkId (FreshIdT i m) Source #

Methods

freshId :: FreshIdT i m (ThunkId (FreshIdT i m)) Source #

type Ref (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

type Ref (FreshIdT i m) = Ref (ReaderT (Var m i) m)
type ThunkId (FreshIdT i m) Source # 
Instance details

Defined in Nix.Fresh

type ThunkId (FreshIdT i m) = i

runFreshIdT :: Functor m => Var m i -> FreshIdT i m a -> m a Source #

Orphan instances

MonadAtomicRef (ST s) Source # 
Instance details

Methods

atomicModifyRef :: Ref (ST s) a -> (a -> (a, b)) -> ST s b #

atomicModifyRef' :: Ref (ST s) a -> (a -> (a, b)) -> ST s b #