chatty-0.6.4.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] 

Instances

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

(ChAtoms (HandleCloserT m0), ChFilesystem m0) => ChFilesystem (HandleCloserT m) 
(ChAtoms (InRedirT m0), ChFilesystem m0) => ChFilesystem (InRedirT m) 
(ChAtoms (QuietT m0), ChFilesystem m0) => ChFilesystem (QuietT m) 
(ChAtoms (HereStringT m0), ChFilesystem m0) => ChFilesystem (HereStringT m) 
(ChAtoms (ScannerBufferT m0), ChFilesystem m0) => ChFilesystem (ScannerBufferT m) 
(ChAtoms (RecorderT m0), ChFilesystem m0) => ChFilesystem (RecorderT m) 
(ChAtoms (OutRedirT m0), ChFilesystem m0) => ChFilesystem (OutRedirT m) 
(ChAtoms (DeafT m0), ChFilesystem m0) => ChFilesystem (DeafT m) 
(ChAtoms (SpawnOverlayT m0), ChFilesystem m0) => ChFilesystem (SpawnOverlayT m) 
(ChAtoms (JoinerT m0), ChFilesystem m0) => ChFilesystem (JoinerT m) 
(ChAtoms (HandleFilterT m0), ChFilesystem m0) => ChFilesystem (HandleFilterT m) 
(ChAtoms (BoolFilterT m0), ChFilesystem m0) => ChFilesystem (BoolFilterT m) 
(ChAtoms (IntFilterT m0), ChFilesystem m0) => ChFilesystem (IntFilterT m) 
(ChAtoms (HandleArchiverT m0), ChFilesystem m0) => ChFilesystem (HandleArchiverT m) 
(ChAtoms (BoolArchiverT m0), ChFilesystem m0) => ChFilesystem (BoolArchiverT m) 
(ChAtoms (IntArchiverT m0), ChFilesystem m0) => ChFilesystem (IntArchiverT m) 
Monad m => ChFilesystem (NullFsT m) 
(ChAtoms (NullExpanderT m0), ChFilesystem m0) => ChFilesystem (NullExpanderT m) 
(ChAtoms (ExpanderT m0), ChFilesystem m0) => ChFilesystem (ExpanderT m) 
(ChAtoms (HistoryT m0), ChFilesystem m0) => ChFilesystem (HistoryT m) 
(ChAtoms (HtmlPrinterT m0), ChFilesystem m0) => ChFilesystem (HtmlPrinterT m) 
(ChAtoms (AnsiPrinterT m0), ChFilesystem m0) => ChFilesystem (AnsiPrinterT m) 

class Monad m => CanLoad m n where Source

Methods

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

Instances

CanLoad m0 n0 => CanLoad (HandleCloserT m) n 
CanLoad m0 n0 => CanLoad (InRedirT m) n 
CanLoad m0 n0 => CanLoad (QuietT m) n 
CanLoad m0 n0 => CanLoad (HereStringT m) n 
CanLoad m0 n0 => CanLoad (ScannerBufferT m) n 
CanLoad m0 n0 => CanLoad (RecorderT m) n 
CanLoad m0 n0 => CanLoad (OutRedirT m) n 
CanLoad m0 n0 => CanLoad (DeafT m) n 
CanLoad m0 n0 => CanLoad (SpawnOverlayT m) n 
CanLoad m0 n0 => CanLoad (JoinerT m) n 
CanLoad m0 n0 => CanLoad (HandleFilterT m) n 
CanLoad m0 n0 => CanLoad (BoolFilterT m) n 
CanLoad m0 n0 => CanLoad (IntFilterT m) n 
CanLoad m0 n0 => CanLoad (HandleArchiverT m) n 
CanLoad m0 n0 => CanLoad (BoolArchiverT m) n 
CanLoad m0 n0 => CanLoad (IntArchiverT m) n 
CanLoad m0 n0 => CanLoad (NullExpanderT m) n 
CanLoad m0 n0 => CanLoad (ExpanderT m) n 
CanLoad m0 n0 => CanLoad (HistoryT m) n 
CanLoad m0 n0 => CanLoad (HtmlPrinterT m) n 
CanLoad m0 n0 => CanLoad (AnsiPrinterT m) n 

class Monad m => CanSave m n where Source

Methods

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

Instances

CanSave m0 n0 => CanSave (HandleCloserT m) n 
CanSave m0 n0 => CanSave (InRedirT m) n 
CanSave m0 n0 => CanSave (QuietT m) n 
CanSave m0 n0 => CanSave (HereStringT m) n 
CanSave m0 n0 => CanSave (ScannerBufferT m) n 
CanSave m0 n0 => CanSave (RecorderT m) n 
CanSave m0 n0 => CanSave (OutRedirT m) n 
CanSave m0 n0 => CanSave (DeafT m) n 
CanSave m0 n0 => CanSave (SpawnOverlayT m) n 
CanSave m0 n0 => CanSave (JoinerT m) n 
CanSave m0 n0 => CanSave (HandleFilterT m) n 
CanSave m0 n0 => CanSave (BoolFilterT m) n 
CanSave m0 n0 => CanSave (IntFilterT m) n 
CanSave m0 n0 => CanSave (HandleArchiverT m) n 
CanSave m0 n0 => CanSave (BoolArchiverT m) n 
CanSave m0 n0 => CanSave (IntArchiverT m) n 
CanSave m0 n0 => CanSave (NullExpanderT m) n 
CanSave m0 n0 => CanSave (ExpanderT m) n 
CanSave m0 n0 => CanSave (HistoryT m) n 
CanSave m0 n0 => CanSave (HtmlPrinterT m) n 
CanSave m0 n0 => CanSave (AnsiPrinterT m) n 

class Monad m => CanMount m n where Source

Methods

fmount :: Mountpoint n -> m () Source

Instances

CanMount m0 n0 => CanMount (HandleCloserT m) n 
CanMount m0 n0 => CanMount (InRedirT m) n 
CanMount m0 n0 => CanMount (QuietT m) n 
CanMount m0 n0 => CanMount (HereStringT m) n 
CanMount m0 n0 => CanMount (ScannerBufferT m) n 
CanMount m0 n0 => CanMount (RecorderT m) n 
CanMount m0 n0 => CanMount (OutRedirT m) n 
CanMount m0 n0 => CanMount (DeafT m) n 
CanMount m0 n0 => CanMount (SpawnOverlayT m) n 
CanMount m0 n0 => CanMount (JoinerT m) n 
CanMount m0 n0 => CanMount (HandleFilterT m) n 
CanMount m0 n0 => CanMount (BoolFilterT m) n 
CanMount m0 n0 => CanMount (IntFilterT m) n 
CanMount m0 n0 => CanMount (HandleArchiverT m) n 
CanMount m0 n0 => CanMount (BoolArchiverT m) n 
CanMount m0 n0 => CanMount (IntArchiverT m) n 
CanMount m0 n0 => CanMount (NullExpanderT m) n 
CanMount m0 n0 => CanMount (ExpanderT m) n 
CanMount m0 n0 => CanMount (HistoryT m) n 
CanMount m0 n0 => CanMount (HtmlPrinterT m) n 
CanMount m0 n0 => CanMount (AnsiPrinterT m) n 
Monad m => CanMount (NullFsT m) (NullFsT m) 

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

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