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

Nix.Thunk.Basic

Synopsis

Documentation

data NThunkF m v Source #

The type of very basic thunks

Constructors

Thunk (ThunkId m) (Var m Bool) (Var m (Deferred m v)) 

Instances

Instances details
(Eq v, Eq (ThunkId m)) => Eq (NThunkF m v) Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

(==) :: NThunkF m v -> NThunkF m v -> Bool #

(/=) :: NThunkF m v -> NThunkF m v -> Bool #

Show v => Show (NThunkF m v) Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

showsPrec :: Int -> NThunkF m v -> ShowS #

show :: NThunkF m v -> String #

showList :: [NThunkF m v] -> ShowS #

(MonadBasicThunk m, MonadCatch m) => MonadThunk (NThunkF m v) m v Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

thunk :: m v -> m (NThunkF m v) Source #

thunkId :: NThunkF m v -> ThunkId m Source #

queryM :: NThunkF m v -> m r -> (v -> m r) -> m r Source #

force :: NThunkF m v -> (v -> m r) -> m r Source #

forceEff :: NThunkF m v -> (v -> m r) -> m r Source #

further :: NThunkF m v -> (m v -> m v) -> m (NThunkF m v) Source #

data Deferred m v Source #

Constructors

Deferred (m v) 
Computed v 

Instances

Instances details
Functor m => Functor (Deferred m) Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

fmap :: (a -> b) -> Deferred m a -> Deferred m b #

(<$) :: a -> Deferred m b -> Deferred m a #

Foldable m => Foldable (Deferred m) Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

fold :: Monoid m0 => Deferred m m0 -> m0 #

foldMap :: Monoid m0 => (a -> m0) -> Deferred m a -> m0 #

foldMap' :: Monoid m0 => (a -> m0) -> Deferred m a -> m0 #

foldr :: (a -> b -> b) -> b -> Deferred m a -> b #

foldr' :: (a -> b -> b) -> b -> Deferred m a -> b #

foldl :: (b -> a -> b) -> b -> Deferred m a -> b #

foldl' :: (b -> a -> b) -> b -> Deferred m a -> b #

foldr1 :: (a -> a -> a) -> Deferred m a -> a #

foldl1 :: (a -> a -> a) -> Deferred m a -> a #

toList :: Deferred m a -> [a] #

null :: Deferred m a -> Bool #

length :: Deferred m a -> Int #

elem :: Eq a => a -> Deferred m a -> Bool #

maximum :: Ord a => Deferred m a -> a #

minimum :: Ord a => Deferred m a -> a #

sum :: Num a => Deferred m a -> a #

product :: Num a => Deferred m a -> a #

Traversable m => Traversable (Deferred m) Source # 
Instance details

Defined in Nix.Thunk.Basic

Methods

traverse :: Applicative f => (a -> f b) -> Deferred m a -> f (Deferred m b) #

sequenceA :: Applicative f => Deferred m (f a) -> f (Deferred m a) #

mapM :: Monad m0 => (a -> m0 b) -> Deferred m a -> m0 (Deferred m b) #

sequence :: Monad m0 => Deferred m (m0 a) -> m0 (Deferred m a) #