hnix-0.17.0: Haskell implementation of the Nix language
Safe HaskellSafe-Inferred
LanguageHaskell2010

Nix.Exec

Documentation

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

mkNVPathWithProvenance :: MonadCited t f m => Scopes m (NValue t f m) -> SrcSpan -> Path -> Path -> NValue t f m Source #

mkNVClosureWithProvenance :: MonadCited t f m => Scopes m (NValue t f m) -> SrcSpan -> Params () -> (NValue t f m -> m (NValue t f m)) -> NValue t f m Source #

mkNVUnaryOpWithProvenance :: MonadCited t f m => Scopes m (NValue t f m) -> SrcSpan -> NUnaryOp -> Maybe (NValue t f m) -> NValue t f m -> NValue t f m Source #

mkNVAppOpWithProvenance :: MonadCited t f m => Scopes m (NValue t f m) -> SrcSpan -> Maybe (NValue t f m) -> Maybe (NValue t f m) -> NValue t f m -> NValue t f m Source #

mkNVBinaryOpWithProvenance :: MonadCited t f m => Scopes m (NValue t f m) -> SrcSpan -> NBinaryOp -> Maybe (NValue t f m) -> Maybe (NValue t f 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

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

Defined in Nix.Exec

(Comonad f, Applicative 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 #

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

askSpan :: 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 :: forall e t f m. (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 #

execBinaryOpForced :: 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 -> NValue t f m -> m (NValue t f m) Source #

evalWithTracingAndMetaInfo :: forall e t f m. MonadNix e t f m => NExprLoc -> ReaderT Int m (m (NValue t f m)) 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) => [Text] -> m (NValue t f m) Source #

Orphan instances

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

Methods

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

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

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

evaledSym :: VarName -> 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 :: Path -> m (NValue t f m) Source #

evalEnvPath :: Path -> 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 #