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

Nix

Synopsis

Documentation

module Nix.Cache

module Nix.Exec

module Nix.Frames

module Nix.Normal

module Nix.String

module Nix.Parser

module Nix.Pretty

module Nix.Reduce

module Nix.Thunk

module Nix.Value

module Nix.XML

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

Evaluate expression in the default context.

nixEvalExpr :: (MonadNix e t f m, Has e Options) => Maybe Path -> NExpr -> m (NValue t f m) Source #

Evaluate a nix expression in the default context

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

Evaluate a nix expression in the default context

nixTracingEvalExprLoc :: (MonadNix e t f m, Has e Options, MonadIO m, Alternative m) => Maybe Path -> NExprLoc -> m (NValue t f 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 t f m, Has e Options) => Maybe Path -> (Maybe Path -> NExprLoc -> m (NValue t f m)) -> (NValue t f m -> m a) -> NExprLoc -> m a Source #

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