| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nix.Exec
Contents
- 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 => 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
- nixFilePath :: (MonadEffects m, MonadIO m) => FilePath -> m (Maybe 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 #
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 #
Constructors
| Lazy | |
Instances
| Monad m => Monad (Lazy m) Source # | |
| Functor m => Functor (Lazy m) Source # | |
| MonadFix m => MonadFix (Lazy m) Source # | |
| Monad m => Applicative (Lazy m) Source # | |
| MonadPlus m => Alternative (Lazy m) Source # | |
| MonadPlus m => MonadPlus (Lazy m) Source # | |
| MonadIO m => MonadIO (Lazy m) Source # | |
| MonadThrow m => MonadThrow (Lazy m) Source # | |
| MonadCatch m => MonadCatch (Lazy m) Source # | |
| MonadException m => MonadException (Lazy m) Source # | |
| MonadIO m => MonadVar (Lazy m) Source # | |
| (MonadFix m, MonadCatch m, MonadIO m, Alternative m, MonadPlus m, Typeable (* -> *) m) => MonadEffects (Lazy m) Source # | |
| Monad m => MonadReader (Context (Lazy m) (NThunk (Lazy m))) (Lazy m) Source # | |
| type Var (Lazy m) Source # | |
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
nixFilePath :: (MonadEffects m, MonadIO m) => FilePath -> m (Maybe 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 #