Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type MonadNix e m = (Scoped e (NThunk m) m, Framed e m, Has e SrcSpan, Has e Options, Typeable m, MonadVar m, MonadEffects m, MonadFix m, MonadCatch m, Alternative m)
- data ExecFrame m = Assertion SrcSpan (NValue m)
- nverr :: forall s e m a. (MonadNix e m, Exception s) => s -> m a
- currentPos :: forall e m. (MonadReader e m, Has e SrcSpan) => m SrcSpan
- wrapExprLoc :: SrcSpan -> NExprLocF r -> NExprLoc
- callFunc :: forall e m. (MonadNix e m, Typeable m) => NValue m -> m (NValue m) -> m (NValue m)
- execUnaryOp :: (Framed e m, MonadVar m) => Scopes m (NThunk m) -> SrcSpan -> NUnaryOp -> NValue m -> m (NValue m)
- execBinaryOp :: forall e m. (MonadNix e m, MonadEval (NValue m) m) => Scopes m (NThunk m) -> SrcSpan -> NBinaryOp -> NValue m -> m (NValue m) -> m (NValue m)
- coerceToString :: MonadNix e m => Bool -> NValue m -> m String
- newtype Lazy m a = Lazy {}
- runLazyM :: Options -> MonadIO m => Lazy m a -> m a
- removeDotDotIndirections :: FilePath -> FilePath
- expandHomePath :: FilePath -> IO FilePath
- pathToDefaultNixFile :: FilePath -> IO FilePath
- (<///>) :: FilePath -> FilePath -> FilePath
- findPathBy :: forall e m. (MonadNix e m, MonadIO m) => (FilePath -> m (Maybe FilePath)) -> [NThunk m] -> FilePath -> m FilePath
- findPathM :: forall e m. (MonadNix e m, MonadIO m) => [NThunk m] -> FilePath -> m FilePath
- findEnvPathM :: forall e m. (MonadNix e m, MonadIO m) => FilePath -> m FilePath
- addTracing :: (MonadNix e m, Has e Options, MonadIO m, MonadReader Int n, Alternative n) => Alg NExprLocF (m a) -> Alg NExprLocF (n (m a))
- evalExprLoc :: forall e m. (MonadNix e m, Has e Options, MonadIO m) => NExprLoc -> m (NValue m)
Documentation
type MonadNix e m = (Scoped e (NThunk m) m, Framed e m, Has e SrcSpan, Has e Options, Typeable m, MonadVar m, MonadEffects m, MonadFix m, MonadCatch m, Alternative m) Source #
Instances
Show (ExecFrame m) Source # | |
Typeable m => Exception (ExecFrame m) Source # | |
Defined in Nix.Exec toException :: ExecFrame m -> SomeException # fromException :: SomeException -> Maybe (ExecFrame m) # displayException :: ExecFrame m -> String # |
currentPos :: forall e m. (MonadReader e m, Has e SrcSpan) => m SrcSpan Source #
callFunc :: forall e m. (MonadNix e m, Typeable m) => NValue m -> m (NValue m) -> m (NValue m) infixl 1 Source #
execUnaryOp :: (Framed e m, MonadVar m) => Scopes m (NThunk m) -> SrcSpan -> NUnaryOp -> NValue m -> m (NValue m) Source #
execBinaryOp :: forall e m. (MonadNix e m, MonadEval (NValue m) m) => Scopes m (NThunk m) -> SrcSpan -> NBinaryOp -> NValue m -> m (NValue m) -> m (NValue m) Source #
Instances
removeDotDotIndirections :: FilePath -> FilePath Source #
Incorrectly normalize paths by rewriting patterns like ab..
to a
.
This is incorrect on POSIX systems, because if b
is a symlink, its
parent may be a different directory from a
. See the discussion at
https://hackage.haskell.org/package/directory-1.3.1.5/docs/System-Directory.html#v:canonicalizePath
findPathBy :: forall e m. (MonadNix e m, MonadIO m) => (FilePath -> m (Maybe FilePath)) -> [NThunk m] -> FilePath -> m FilePath Source #
addTracing :: (MonadNix e m, Has e Options, MonadIO m, MonadReader Int n, Alternative n) => Alg NExprLocF (m a) -> Alg NExprLocF (n (m a)) Source #
evalExprLoc :: forall e m. (MonadNix e m, Has e Options, MonadIO m) => NExprLoc -> m (NValue m) Source #