Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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 #
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 #