chatty-0.7.0.0: Some monad transformers and typeclasses for abstraction of global dependencies.

Safe HaskellSafe
LanguageHaskell2010

System.Chatty.Filesystem

Documentation

data FSExec a Source

Constructors

FSSucc a 
NoPermission 
NotFound 

data File m Source

Constructors

File 

Fields

loadFun :: m (FSExec ())
 
saveFun :: m (FSExec ())
 
leftBehind :: String
 
rightPending :: String
 

newtype Path Source

Constructors

MultiPath [PathSpec] 

type FileA m = Atom (File m) Source

data Mountpoint m Source

Constructors

forall a . Mount 

Fields

subMounts :: [Mountpoint m]
 
mstate :: Atom a
 
mpath :: Path
 
mopen :: Path -> (Atom a, Path) -> m (FSExec (FileA m))
 

class Monad m => ChFilesystem m where Source

Methods

fopen :: Path -> m (FSExec (FileA m)) Source

fpwd :: m Path Source

fcd :: Path -> m () Source

Instances

class Monad m => CanLoad m n where Source

Methods

fload :: FileA n -> m (FSExec ()) Source

class Monad m => CanSave m n where Source

Methods

fsave :: FileA n -> m (FSExec ()) Source

class Monad m => CanMount m n where Source

Methods

fmount :: Mountpoint n -> m () Source

Instances

mount :: (CanMount m m, ChAtoms m, ChFilesystem m) => m (Mountpoint m) -> Path -> m () Source

withNullFs :: ChAtoms m => NullFsT m a -> m a Source