The goal of this package is to provide a common library and the core implementations for things that can be made to look like filesystems. In this package, a "filesystem" is tree of nodes, where the leaf nodes are files and the rest are directories. A "directory" is defined as a node that contains other nodes, and those other nodes are each keyed by a name. A "file" is defined as a collection of (possibly empty) bytes. This package includes the core types for a Virtual File System (VFS) abstraction for conduit, along with three implementations. The implementations are "disk" (write to the underlying filesystem), "in-memory" (store files in an MVar), and "pure" (pass state in a State monad). Because of the nature of conduits, this library defaults to lazy implementations of various data structures, including lazy ByteStrings and lazy HashMaps. Any overhead in space should be more than warranted by the savings through just-in-time computations. For more information, see the README on GitHub at

conduit, filesystem, io, library, Propose Tags , Data.Conduit.VFS, Data.Conduit.VFS.Disk, Data.Conduit.VFS.Import, Data.Conduit.VFS.InMemory, Data.Conduit.VFS.Pure, Data.Conduit.VFS.Types, conduits, </>, ByteString, MVar, StateT,
cabal install conduit-vfs