hnix-0.6.1: Haskell implementation of the Nix language

Safe HaskellNone
LanguageHaskell2010

Nix.Exec

Contents

Documentation

type MonadCited t f m = (HasCitations m (NValue t f m) t, HasCitations1 m (NValue t f m) f, MonadDataContext f m) Source #

nvConstantP :: MonadCited t f m => Provenance m (NValue t f m) -> NAtom -> NValue t f m Source #

nvStrP :: MonadCited t f m => Provenance m (NValue t f m) -> NixString -> NValue t f m Source #

nvPathP :: MonadCited t f m => Provenance m (NValue t f m) -> FilePath -> NValue t f m Source #

nvListP :: MonadCited t f m => Provenance m (NValue t f m) -> [NValue t f m] -> NValue t f m Source #

nvSetP :: MonadCited t f m => Provenance m (NValue t f m) -> AttrSet (NValue t f m) -> AttrSet SourcePos -> NValue t f m Source #

nvClosureP :: MonadCited t f m => Provenance m (NValue t f m) -> Params () -> (NValue t f m -> m (NValue t f m)) -> NValue t f m Source #

nvBuiltinP :: MonadCited t f m => Provenance m (NValue t f m) -> String -> (NValue t f m -> m (NValue t f m)) -> NValue t f m Source #

type MonadCitedThunks t f 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) Source #

type MonadNix e t f m = (Has e SrcSpan, Has e Options, Scoped (NValue t f m) m, Framed e m, MonadFix m, MonadCatch m, MonadThrow m, Alternative m, MonadEffects t f m, MonadCitedThunks t f m, MonadValue (NValue t f m) m) Source #

data ExecFrame t f m Source #

Constructors

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

Defined in Nix.Exec

Methods

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

show :: ExecFrame t f m -> String #

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

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

Defined in Nix.Exec

nverr :: forall e t f s m a. (MonadNix e t f m, Exception s) => s -> m a Source #

currentPos :: forall e m. (MonadReader e m, Has e SrcSpan) => m SrcSpan Source #

callFunc :: forall e t f m. MonadNix e t f m => NValue t f m -> NValue t f m -> m (NValue t f m) infixl 1 Source #

execUnaryOp :: (Framed e m, MonadCited t f m, Show t) => Scopes m (NValue t f m) -> SrcSpan -> NUnaryOp -> NValue t f m -> m (NValue t f m) Source #

execBinaryOp :: forall e t f m. (MonadNix e t f m, MonadEval (NValue t f m) m) => Scopes m (NValue t f m) -> SrcSpan -> NBinaryOp -> NValue t f m -> m (NValue t f m) -> m (NValue t f m) Source #

addTracing :: (MonadNix e t f m, Has e Options, MonadReader Int n, Alternative n) => Alg NExprLocF (m a) -> Alg NExprLocF (n (m a)) Source #

evalExprLoc :: forall e t f m. MonadNix e t f m => NExprLoc -> m (NValue t f m) Source #

exec :: (MonadNix e t f m, MonadInstantiate m) => [String] -> m (NValue t f m) Source #

Orphan instances

MonadNix e t f m => MonadEval (NValue t f m) m Source # 
Instance details

Methods

freeVariable :: Text -> m (NValue t f m) Source #

synHole :: Text -> m (NValue t f m) Source #

attrMissing :: NonEmpty Text -> Maybe (NValue t f m) -> m (NValue t f m) Source #

evaledSym :: Text -> NValue t f m -> m (NValue t f m) Source #

evalCurPos :: m (NValue t f m) Source #

evalConstant :: NAtom -> m (NValue t f m) Source #

evalString :: NString (m (NValue t f m)) -> m (NValue t f m) Source #

evalLiteralPath :: FilePath -> m (NValue t f m) Source #

evalEnvPath :: FilePath -> m (NValue t f m) Source #

evalUnary :: NUnaryOp -> NValue t f m -> m (NValue t f m) Source #

evalBinary :: NBinaryOp -> NValue t f m -> m (NValue t f m) -> m (NValue t f m) Source #

evalWith :: m (NValue t f m) -> m (NValue t f m) -> m (NValue t f m) Source #

evalIf :: NValue t f m -> m (NValue t f m) -> m (NValue t f m) -> m (NValue t f m) Source #

evalAssert :: NValue t f m -> m (NValue t f m) -> m (NValue t f m) Source #

evalApp :: NValue t f m -> m (NValue t f m) -> m (NValue t f m) Source #

evalAbs :: Params (m (NValue t f m)) -> (forall a. m (NValue t f m) -> (AttrSet (m (NValue t f m)) -> m (NValue t f m) -> m (a, NValue t f m)) -> m (a, NValue t f m)) -> m (NValue t f m) Source #

evalError :: Exception s => s -> m a Source #