hnix-0.6.1: Haskell implementation of the Nix language

Safe HaskellNone
LanguageHaskell2010

Nix.Normal

Synopsis

Documentation

newtype NormalLoop t f m Source #

Constructors

NormalLoop (NValue t f m) 
Instances
(Comonad f, Show t) => Show (NormalLoop t f m) Source # 
Instance details

Defined in Nix.Normal

Methods

showsPrec :: Int -> NormalLoop t f m -> ShowS #

show :: NormalLoop t f m -> String #

showList :: [NormalLoop t f m] -> ShowS #

MonadDataErrorContext t f m => Exception (NormalLoop t f m) Source # 
Instance details

Defined in Nix.Normal

normalizeValue :: forall e t m f. (Framed e m, MonadThunk t m (NValue t f m), MonadDataErrorContext t f m, Ord (ThunkId m)) => (forall r. t -> (NValue t f m -> m r) -> m r) -> NValue t f m -> m (NValue t f m) Source #

Normalize the value as much as possible, leaving only detected cycles.

normalForm :: (Framed e m, MonadThunk t m (NValue t f m), MonadDataErrorContext t f m, HasCitations m (NValue t f m) t, HasCitations1 m (NValue t f m) f, Ord (ThunkId m)) => NValue t f m -> m (NValue t f m) Source #

normalForm_ :: (Framed e m, MonadThunk t m (NValue t f m), MonadDataErrorContext t f m, Ord (ThunkId m)) => NValue t f m -> m () Source #

stubCycles :: forall t f m. (MonadDataContext f m, HasCitations m (NValue t f m) t, HasCitations1 m (NValue t f m) f) => NValue t f m -> NValue t f m Source #

removeEffects :: (MonadThunk t m (NValue t f m), MonadDataContext f m) => NValue t f m -> m (NValue t f m) Source #

dethunk :: (MonadThunk t m (NValue t f m), MonadDataContext f m) => t -> m (NValue t f m) Source #