Copyright | Copyright (c) 2012-2015, David Sorokin <david.sorokin@gmail.com> |
---|---|
License | BSD3 |
Maintainer | David Sorokin <david.sorokin@gmail.com> |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
Tested with: GHC 7.10.1
It defines the Exp
monad that allows providing computation with
an ability to resolve file paths.
- data ExperimentWriter a
- runExperimentWriter :: ExperimentWriter a -> IO a
- data ExperimentFilePath
- resolveFilePath :: FilePath -> ExperimentFilePath -> ExperimentWriter FilePath
- expandFilePath :: ExperimentFilePath -> Map String String -> ExperimentFilePath
- mapFilePath :: (FilePath -> FilePath) -> ExperimentFilePath -> ExperimentFilePath
Documentation
data ExperimentWriter a Source
Defines an IO
derived computation whithin which we can resolve the unique file paths.
runExperimentWriter :: ExperimentWriter a -> IO a Source
Run the ExperimentWriter
computation.
data ExperimentFilePath Source
Specifies the file name, unique or writable, which can be appended with extension if required.
WritableFilePath FilePath | The file which is overwritten in case if it existed before. |
UniqueFilePath FilePath | The file which is always unique, when an automatically generated suffix is added to the name in case of need. |
resolveFilePath :: FilePath -> ExperimentFilePath -> ExperimentWriter FilePath Source
Resolve the file path relative to the specified directory passed in the first argument and taking into account a possible requirement to have an unique file name.
expandFilePath :: ExperimentFilePath -> Map String String -> ExperimentFilePath Source
Expand the file path using the specified table of substitutions.
mapFilePath :: (FilePath -> FilePath) -> ExperimentFilePath -> ExperimentFilePath Source
Transform the file path using the specified function.