hnix-0.5.1: Haskell implementation of the Nix language

Safe HaskellNone
LanguageHaskell2010

Nix

Synopsis

Documentation

module Nix.Cache

module Nix.Exec

module Nix.Expr

module Nix.Frames

module Nix.Normal

module Nix.Parser

module Nix.Pretty

module Nix.Reduce

module Nix.Thunk

module Nix.Value

module Nix.XML

withNixContext :: forall e m r. (MonadNix e m, Has e Options) => Maybe FilePath -> m r -> m r Source #

Evaluate a nix expression in the default context

nixEvalExpr :: forall e m. (MonadNix e m, Has e Options) => Maybe FilePath -> NExpr -> m (NValue m) Source #

Evaluate a nix expression in the default context

nixEvalExprLoc :: forall e m. (MonadNix e m, Has e Options) => Maybe FilePath -> NExprLoc -> m (NValue m) Source #

Evaluate a nix expression in the default context

nixTracingEvalExprLoc :: forall e m. (MonadNix e m, Has e Options, MonadIO m, Alternative m) => Maybe FilePath -> NExprLoc -> m (NValue m) Source #

Evaluate a nix expression with tracing in the default context. Note that this function doesn't do any tracing itself, but evalExprLoc will be tracing is set to True in the Options structure (accessible through MonadNix). All this function does is provide the right type class context.

evaluateExpression :: (MonadNix e m, Has e Options) => Maybe FilePath -> (Maybe FilePath -> NExprLoc -> m (NValue m)) -> (NValue m -> m a) -> NExprLoc -> m a Source #

processResult :: forall e m a. (MonadNix e m, Has e Options) => (NValue m -> m a) -> NValue m -> m a Source #