Safe Haskell | None |
---|---|
Language | Haskell2010 |
Read operations are not atomic, but write operations are probably atomic. Specifically, reads acquire a SharedLock
via hLock
. Writes first persist to a
temporary file, and then perform a copy using copyFileWithMetadata
. If copyFileWithMetadata
is atomic on your implementation (it probably is), then
writes are atomic.
The FilePath
values used in this VFS are split using splitPath
and joined using </>
. Relative paths are resolved relative to the current working
directory: changing that directory is outside the scope of this module.
Synopsis
- data DiskVFS m a
- runDiskVFS :: DiskVFS m a -> m a
- runDiskVFS_ :: Monad m => DiskVFS m a -> m ()
Documentation
The basic implementation of the VFS.
Instances
runDiskVFS :: DiskVFS m a -> m a Source #
Given a DiskVFS
, run it in the local monad and return the monadic return value.