chatty 0.6.2.1 → 0.6.4.0
raw patch · 22 files changed
+149/−14 lines, 22 filesdep ~basedep ~mtldep ~textPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, mtl, text, transformers
API changes (from Hackage documentation)
- System.Chatty.Filesystem: instance ChAtoms m => ChPrinter (FilePrinterT m)
- System.Chatty.Filesystem: instance ChAtoms m => ChScanner (FileScannerT m)
- System.Chatty.Filesystem: instance Eq Path
- System.Chatty.Filesystem: instance Eq PathRoot
- System.Chatty.Filesystem: instance Eq PathSeg
- System.Chatty.Filesystem: instance Eq PathSpec
- System.Chatty.Filesystem: instance Functor f => Functor (FilePrinterT f)
- System.Chatty.Filesystem: instance Functor f => Functor (FileScannerT f)
- System.Chatty.Filesystem: instance Functor f => Functor (NullFsT f)
- System.Chatty.Filesystem: instance Monad m => CanMount (NullFsT m) (NullFsT m)
- System.Chatty.Filesystem: instance Monad m => ChFilesystem (NullFsT m)
- System.Chatty.Filesystem: instance Monad m => Monad (FilePrinterT m)
- System.Chatty.Filesystem: instance Monad m => Monad (FileScannerT m)
- System.Chatty.Filesystem: instance Monad m => Monad (NullFsT m)
- System.Chatty.Filesystem: instance MonadIO m => MonadIO (FilePrinterT m)
- System.Chatty.Filesystem: instance MonadIO m => MonadIO (FileScannerT m)
- System.Chatty.Filesystem: instance MonadIO m => MonadIO (NullFsT m)
- System.Chatty.Filesystem: instance MonadTrans FilePrinterT
- System.Chatty.Filesystem: instance MonadTrans FileScannerT
- System.Chatty.Filesystem: instance MonadTrans NullFsT
- System.Chatty.Filesystem: instance Ord Path
- System.Chatty.Filesystem: instance Ord PathRoot
- System.Chatty.Filesystem: instance Ord PathSeg
- System.Chatty.Filesystem: instance Ord PathSpec
- System.Chatty.Filesystem: instance Show Path
- System.Chatty.Filesystem: instance Show PathRoot
- System.Chatty.Filesystem: instance Show PathSeg
- System.Chatty.Filesystem: instance Show PathSpec
- System.Chatty.Misc: instance ChClock IO
- System.Chatty.Misc: instance ChRandom IO
- System.Chatty.Spawn: instance ChSpawn IO
- System.Chatty.Spawn.Overlay: instance ChSpawn m => ChSpawn (SpawnOverlayT m)
- System.Chatty.Spawn.Overlay: instance Monad m => Functor (SpawnOverlayT m)
- System.Chatty.Spawn.Overlay: instance Monad m => Monad (SpawnOverlayT m)
- System.Chatty.Spawn.Overlay: instance MonadIO m => MonadIO (SpawnOverlayT m)
- System.Chatty.Spawn.Overlay: instance MonadTrans SpawnOverlayT
- Text.Chatty.Channel.Printer: instance (Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m)
- Text.Chatty.Channel.Printer: instance (Eq c, ChPrinter m) => ChChannelPrinter c (JoinerT m)
- Text.Chatty.Channel.Printer: instance (Eq c, ChPrinter m) => ChPrinter (FilterT c m)
- Text.Chatty.Channel.Printer: instance (Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m)
- Text.Chatty.Channel.Printer: instance (Eq c, Monad m) => ChPrinter (ArchiverT c m)
- Text.Chatty.Channel.Printer: instance ChPrinter m => ChPrinter (JoinerT m)
- Text.Chatty.Channel.Printer: instance Functor m => Functor (JoinerT m)
- Text.Chatty.Channel.Printer: instance Monad m => Functor (ArchiverT c m)
- Text.Chatty.Channel.Printer: instance Monad m => Functor (FilterT c m)
- Text.Chatty.Channel.Printer: instance Monad m => Monad (ArchiverT c m)
- Text.Chatty.Channel.Printer: instance Monad m => Monad (FilterT c m)
- Text.Chatty.Channel.Printer: instance Monad m => Monad (JoinerT m)
- Text.Chatty.Channel.Printer: instance MonadIO m => MonadIO (ArchiverT c m)
- Text.Chatty.Channel.Printer: instance MonadIO m => MonadIO (FilterT c m)
- Text.Chatty.Channel.Printer: instance MonadIO m => MonadIO (JoinerT m)
- Text.Chatty.Channel.Printer: instance MonadTrans (ArchiverT c)
- Text.Chatty.Channel.Printer: instance MonadTrans (FilterT c)
- Text.Chatty.Channel.Printer: instance MonadTrans JoinerT
- Text.Chatty.Expansion: instance Functor m => Functor (NullExpanderT m)
- Text.Chatty.Expansion: instance Monad m => ChExpand (NullExpanderT m)
- Text.Chatty.Expansion: instance Monad m => Monad (NullExpanderT m)
- Text.Chatty.Expansion: instance MonadIO m => MonadIO (NullExpanderT m)
- Text.Chatty.Expansion: instance MonadTrans NullExpanderT
- Text.Chatty.Expansion.History: instance ChExpand m => ChExpand (HistoryT m)
- Text.Chatty.Expansion.History: instance Monad m => ChHistoryEnv (HistoryT m)
- Text.Chatty.Expansion.History: instance Monad m => Functor (HistoryT m)
- Text.Chatty.Expansion.History: instance Monad m => Monad (HistoryT m)
- Text.Chatty.Expansion.History: instance MonadIO m => MonadIO (HistoryT m)
- Text.Chatty.Expansion.History: instance MonadTrans HistoryT
- Text.Chatty.Expansion.Vars: instance ChExpand IO
- Text.Chatty.Expansion.Vars: instance ChExpand m => ChExpand (ExpanderT m)
- Text.Chatty.Expansion.Vars: instance ChExpanderEnv IO
- Text.Chatty.Expansion.Vars: instance Monad m => ChExpanderEnv (ExpanderT m)
- Text.Chatty.Expansion.Vars: instance Monad m => Functor (ExpanderT m)
- Text.Chatty.Expansion.Vars: instance Monad m => Monad (ExpanderT m)
- Text.Chatty.Expansion.Vars: instance MonadIO m => MonadIO (ExpanderT m)
- Text.Chatty.Expansion.Vars: instance MonadTrans ExpanderT
- Text.Chatty.Expansion.Vars: instance Show EnvVar
- Text.Chatty.Extended.ANSI: instance (Functor m, ChExpand m) => ChExpand (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance ChPrinter m => ChExtendedPrinter (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance ChPrinter m => ChPrinter (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance Monad m => Functor (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance Monad m => Monad (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance MonadIO m => MonadIO (AnsiPrinterT m)
- Text.Chatty.Extended.ANSI: instance MonadTrans AnsiPrinterT
- Text.Chatty.Extended.HTML: instance (Functor m, ChExpand m) => ChExpand (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance ChPrinter m => ChExtendedPrinter (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance ChPrinter m => ChPrinter (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance Functor m => Functor (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance Monad m => Monad (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance MonadIO m => MonadIO (HtmlPrinterT m)
- Text.Chatty.Extended.HTML: instance MonadTrans HtmlPrinterT
- Text.Chatty.Finalizer: instance Monad m => Functor (HandleCloserT m)
- Text.Chatty.Finalizer: instance Monad m => Monad (HandleCloserT m)
- Text.Chatty.Finalizer: instance MonadIO m => ChFinalizer (HandleCloserT m)
- Text.Chatty.Finalizer: instance MonadIO m => MonadIO (HandleCloserT m)
- Text.Chatty.Finalizer: instance MonadTrans HandleCloserT
- Text.Chatty.Printer: instance ChPrinter IO
- Text.Chatty.Printer: instance Functor m => Functor (DeafT m)
- Text.Chatty.Printer: instance Monad m => ChPrinter (DeafT m)
- Text.Chatty.Printer: instance Monad m => ChPrinter (RecorderT m)
- Text.Chatty.Printer: instance Monad m => ChPrinter (StateT String m)
- Text.Chatty.Printer: instance Monad m => Functor (OutRedirT m)
- Text.Chatty.Printer: instance Monad m => Functor (RecorderT m)
- Text.Chatty.Printer: instance Monad m => Monad (DeafT m)
- Text.Chatty.Printer: instance Monad m => Monad (OutRedirT m)
- Text.Chatty.Printer: instance Monad m => Monad (RecorderT m)
- Text.Chatty.Printer: instance MonadIO m => ChPrinter (OutRedirT m)
- Text.Chatty.Printer: instance MonadIO m => MonadIO (DeafT m)
- Text.Chatty.Printer: instance MonadIO m => MonadIO (OutRedirT m)
- Text.Chatty.Printer: instance MonadIO m => MonadIO (RecorderT m)
- Text.Chatty.Printer: instance MonadTrans DeafT
- Text.Chatty.Printer: instance MonadTrans OutRedirT
- Text.Chatty.Printer: instance MonadTrans RecorderT
- Text.Chatty.Printer: instance RedirectionTarget DiscardO DeafT a a
- Text.Chatty.Printer: instance RedirectionTarget FilePath OutRedirT a a
- Text.Chatty.Printer: instance RedirectionTarget Handle OutRedirT a a
- Text.Chatty.Printer: instance RedirectionTarget RecordO RecorderT a (a, Replayable)
- Text.Chatty.Printer: instance Show Replayable
- Text.Chatty.Scanner: instance ChFinalizer m => ChFinalizer (HereStringT m)
- Text.Chatty.Scanner: instance ChFinalizer m => ChFinalizer (InRedirT m)
- Text.Chatty.Scanner: instance ChScanner IO
- Text.Chatty.Scanner: instance Functor m => Functor (QuietT m)
- Text.Chatty.Scanner: instance Monad m => ChScanner (HereStringT m)
- Text.Chatty.Scanner: instance Monad m => ChScanner (QuietT m)
- Text.Chatty.Scanner: instance Monad m => ChScanner (StateT String m)
- Text.Chatty.Scanner: instance Monad m => Functor (HereStringT m)
- Text.Chatty.Scanner: instance Monad m => Functor (InRedirT m)
- Text.Chatty.Scanner: instance Monad m => Monad (HereStringT m)
- Text.Chatty.Scanner: instance Monad m => Monad (InRedirT m)
- Text.Chatty.Scanner: instance Monad m => Monad (QuietT m)
- Text.Chatty.Scanner: instance MonadIO m => ChScanner (InRedirT m)
- Text.Chatty.Scanner: instance MonadIO m => MonadIO (HereStringT m)
- Text.Chatty.Scanner: instance MonadIO m => MonadIO (InRedirT m)
- Text.Chatty.Scanner: instance MonadTrans HereStringT
- Text.Chatty.Scanner: instance MonadTrans InRedirT
- Text.Chatty.Scanner: instance MonadTrans QuietT
- Text.Chatty.Scanner: instance RedirectionHeredoc String HereStringT a a
- Text.Chatty.Scanner: instance RedirectionSource EmptyI QuietT a a
- Text.Chatty.Scanner: instance RedirectionSource FilePath InRedirT a a
- Text.Chatty.Scanner: instance RedirectionSource Handle InRedirT a a
- Text.Chatty.Scanner.Buffered: instance ChScanner m => ChBufferedScanner (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance ChScanner m => ChScanner (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance ChScanner m => ChStackBufferedScanner (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance Monad m => ChBufferedScanner (HereStringT m)
- Text.Chatty.Scanner.Buffered: instance Monad m => ChBufferedScanner (StateT String m)
- Text.Chatty.Scanner.Buffered: instance Monad m => Functor (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance Monad m => Monad (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance MonadIO m => MonadIO (ScannerBufferT m)
- Text.Chatty.Scanner.Buffered: instance MonadTrans ScannerBufferT
+ System.Chatty.Filesystem: instance [safe] (Functor m, Monad m) => Applicative (FilePrinterT m)
+ System.Chatty.Filesystem: instance [safe] (Functor m, Monad m) => Applicative (FileScannerT m)
+ System.Chatty.Filesystem: instance [safe] (Functor m, Monad m) => Applicative (NullFsT m)
+ System.Chatty.Filesystem: instance [safe] ChAtoms m => ChPrinter (FilePrinterT m)
+ System.Chatty.Filesystem: instance [safe] ChAtoms m => ChScanner (FileScannerT m)
+ System.Chatty.Filesystem: instance [safe] Eq Path
+ System.Chatty.Filesystem: instance [safe] Eq PathRoot
+ System.Chatty.Filesystem: instance [safe] Eq PathSeg
+ System.Chatty.Filesystem: instance [safe] Eq PathSpec
+ System.Chatty.Filesystem: instance [safe] Functor f => Functor (FilePrinterT f)
+ System.Chatty.Filesystem: instance [safe] Functor f => Functor (FileScannerT f)
+ System.Chatty.Filesystem: instance [safe] Functor f => Functor (NullFsT f)
+ System.Chatty.Filesystem: instance [safe] Monad m => CanMount (NullFsT m) (NullFsT m)
+ System.Chatty.Filesystem: instance [safe] Monad m => ChFilesystem (NullFsT m)
+ System.Chatty.Filesystem: instance [safe] Monad m => Monad (FilePrinterT m)
+ System.Chatty.Filesystem: instance [safe] Monad m => Monad (FileScannerT m)
+ System.Chatty.Filesystem: instance [safe] Monad m => Monad (NullFsT m)
+ System.Chatty.Filesystem: instance [safe] MonadIO m => MonadIO (FilePrinterT m)
+ System.Chatty.Filesystem: instance [safe] MonadIO m => MonadIO (FileScannerT m)
+ System.Chatty.Filesystem: instance [safe] MonadIO m => MonadIO (NullFsT m)
+ System.Chatty.Filesystem: instance [safe] MonadTrans FilePrinterT
+ System.Chatty.Filesystem: instance [safe] MonadTrans FileScannerT
+ System.Chatty.Filesystem: instance [safe] MonadTrans NullFsT
+ System.Chatty.Filesystem: instance [safe] Ord Path
+ System.Chatty.Filesystem: instance [safe] Ord PathRoot
+ System.Chatty.Filesystem: instance [safe] Ord PathSeg
+ System.Chatty.Filesystem: instance [safe] Ord PathSpec
+ System.Chatty.Filesystem: instance [safe] Show Path
+ System.Chatty.Filesystem: instance [safe] Show PathRoot
+ System.Chatty.Filesystem: instance [safe] Show PathSeg
+ System.Chatty.Filesystem: instance [safe] Show PathSpec
+ System.Chatty.Filesystem: iomapfs :: (MonadIO m, ChAtoms m) => String -> m (Mountpoint m)
+ System.Chatty.Misc: instance [safe] ChClock IO
+ System.Chatty.Misc: instance [safe] ChRandom IO
+ System.Chatty.Spawn: instance [safe] ChSpawn IO
+ System.Chatty.Spawn.Overlay: instance [safe] ChSpawn m => ChSpawn (SpawnOverlayT m)
+ System.Chatty.Spawn.Overlay: instance [safe] Monad m => Applicative (SpawnOverlayT m)
+ System.Chatty.Spawn.Overlay: instance [safe] Monad m => Functor (SpawnOverlayT m)
+ System.Chatty.Spawn.Overlay: instance [safe] Monad m => Monad (SpawnOverlayT m)
+ System.Chatty.Spawn.Overlay: instance [safe] MonadIO m => MonadIO (SpawnOverlayT m)
+ System.Chatty.Spawn.Overlay: instance [safe] MonadTrans SpawnOverlayT
+ Text.Chatty.Channel.Printer: instance [safe] (Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] (Eq c, ChPrinter m) => ChChannelPrinter c (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] (Eq c, ChPrinter m) => ChPrinter (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] (Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] (Eq c, Monad m) => ChPrinter (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] (Functor m, Monad m) => Applicative (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] ChPrinter m => ChPrinter (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] Functor m => Functor (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Applicative (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Applicative (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Functor (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Functor (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Monad (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Monad (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] Monad m => Monad (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] MonadIO m => MonadIO (ArchiverT c m)
+ Text.Chatty.Channel.Printer: instance [safe] MonadIO m => MonadIO (FilterT c m)
+ Text.Chatty.Channel.Printer: instance [safe] MonadIO m => MonadIO (JoinerT m)
+ Text.Chatty.Channel.Printer: instance [safe] MonadTrans (ArchiverT c)
+ Text.Chatty.Channel.Printer: instance [safe] MonadTrans (FilterT c)
+ Text.Chatty.Channel.Printer: instance [safe] MonadTrans JoinerT
+ Text.Chatty.Expansion: instance [safe] (Functor m, Monad m) => Applicative (NullExpanderT m)
+ Text.Chatty.Expansion: instance [safe] Functor m => Functor (NullExpanderT m)
+ Text.Chatty.Expansion: instance [safe] Monad m => ChExpand (NullExpanderT m)
+ Text.Chatty.Expansion: instance [safe] Monad m => Monad (NullExpanderT m)
+ Text.Chatty.Expansion: instance [safe] MonadIO m => MonadIO (NullExpanderT m)
+ Text.Chatty.Expansion: instance [safe] MonadTrans NullExpanderT
+ Text.Chatty.Expansion.History: instance [safe] ChExpand m => ChExpand (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] Monad m => Applicative (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] Monad m => ChHistoryEnv (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] Monad m => Functor (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] Monad m => Monad (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] MonadIO m => MonadIO (HistoryT m)
+ Text.Chatty.Expansion.History: instance [safe] MonadTrans HistoryT
+ Text.Chatty.Expansion.Vars: instance [safe] ChExpand IO
+ Text.Chatty.Expansion.Vars: instance [safe] ChExpand m => ChExpand (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] ChExpanderEnv IO
+ Text.Chatty.Expansion.Vars: instance [safe] Monad m => Applicative (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] Monad m => ChExpanderEnv (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] Monad m => Functor (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] Monad m => Monad (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] MonadIO m => MonadIO (ExpanderT m)
+ Text.Chatty.Expansion.Vars: instance [safe] MonadTrans ExpanderT
+ Text.Chatty.Expansion.Vars: instance [safe] Show EnvVar
+ Text.Chatty.Extended.ANSI: instance [safe] (Functor m, ChExpand m) => ChExpand (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] ChPrinter m => ChExtendedPrinter (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] ChPrinter m => ChPrinter (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] Monad m => Applicative (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] Monad m => Functor (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] Monad m => Monad (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] MonadIO m => MonadIO (AnsiPrinterT m)
+ Text.Chatty.Extended.ANSI: instance [safe] MonadTrans AnsiPrinterT
+ Text.Chatty.Extended.HTML: instance [safe] (Functor m, ChExpand m) => ChExpand (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] (Functor m, Monad m) => Applicative (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] ChPrinter m => ChExtendedPrinter (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] ChPrinter m => ChPrinter (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] Functor m => Functor (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] Monad m => Monad (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] MonadIO m => MonadIO (HtmlPrinterT m)
+ Text.Chatty.Extended.HTML: instance [safe] MonadTrans HtmlPrinterT
+ Text.Chatty.Finalizer: instance [safe] Monad m => Applicative (HandleCloserT m)
+ Text.Chatty.Finalizer: instance [safe] Monad m => Functor (HandleCloserT m)
+ Text.Chatty.Finalizer: instance [safe] Monad m => Monad (HandleCloserT m)
+ Text.Chatty.Finalizer: instance [safe] MonadIO m => ChFinalizer (HandleCloserT m)
+ Text.Chatty.Finalizer: instance [safe] MonadIO m => MonadIO (HandleCloserT m)
+ Text.Chatty.Finalizer: instance [safe] MonadTrans HandleCloserT
+ Text.Chatty.Printer: instance [safe] (Functor m, Monad m) => Applicative (DeafT m)
+ Text.Chatty.Printer: instance [safe] ChPrinter IO
+ Text.Chatty.Printer: instance [safe] Functor m => Functor (DeafT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Applicative (OutRedirT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Applicative (RecorderT m)
+ Text.Chatty.Printer: instance [safe] Monad m => ChPrinter (DeafT m)
+ Text.Chatty.Printer: instance [safe] Monad m => ChPrinter (RecorderT m)
+ Text.Chatty.Printer: instance [safe] Monad m => ChPrinter (StateT String m)
+ Text.Chatty.Printer: instance [safe] Monad m => Functor (OutRedirT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Functor (RecorderT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Monad (DeafT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Monad (OutRedirT m)
+ Text.Chatty.Printer: instance [safe] Monad m => Monad (RecorderT m)
+ Text.Chatty.Printer: instance [safe] MonadIO m => ChPrinter (OutRedirT m)
+ Text.Chatty.Printer: instance [safe] MonadIO m => MonadIO (DeafT m)
+ Text.Chatty.Printer: instance [safe] MonadIO m => MonadIO (OutRedirT m)
+ Text.Chatty.Printer: instance [safe] MonadIO m => MonadIO (RecorderT m)
+ Text.Chatty.Printer: instance [safe] MonadTrans DeafT
+ Text.Chatty.Printer: instance [safe] MonadTrans OutRedirT
+ Text.Chatty.Printer: instance [safe] MonadTrans RecorderT
+ Text.Chatty.Printer: instance [safe] RedirectionTarget DiscardO DeafT a a
+ Text.Chatty.Printer: instance [safe] RedirectionTarget FilePath OutRedirT a a
+ Text.Chatty.Printer: instance [safe] RedirectionTarget Handle OutRedirT a a
+ Text.Chatty.Printer: instance [safe] RedirectionTarget RecordO RecorderT a (a, Replayable)
+ Text.Chatty.Printer: instance [safe] Show Replayable
+ Text.Chatty.Scanner: instance [safe] (Functor m, Monad m) => Applicative (QuietT m)
+ Text.Chatty.Scanner: instance [safe] ChFinalizer m => ChFinalizer (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] ChFinalizer m => ChFinalizer (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] ChScanner IO
+ Text.Chatty.Scanner: instance [safe] Functor m => Functor (QuietT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Applicative (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Applicative (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => ChScanner (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => ChScanner (QuietT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => ChScanner (StateT String m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Functor (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Functor (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Monad (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Monad (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] Monad m => Monad (QuietT m)
+ Text.Chatty.Scanner: instance [safe] MonadIO m => ChScanner (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] MonadIO m => MonadIO (HereStringT m)
+ Text.Chatty.Scanner: instance [safe] MonadIO m => MonadIO (InRedirT m)
+ Text.Chatty.Scanner: instance [safe] MonadTrans HereStringT
+ Text.Chatty.Scanner: instance [safe] MonadTrans InRedirT
+ Text.Chatty.Scanner: instance [safe] MonadTrans QuietT
+ Text.Chatty.Scanner: instance [safe] RedirectionHeredoc String HereStringT a a
+ Text.Chatty.Scanner: instance [safe] RedirectionSource EmptyI QuietT a a
+ Text.Chatty.Scanner: instance [safe] RedirectionSource FilePath InRedirT a a
+ Text.Chatty.Scanner: instance [safe] RedirectionSource Handle InRedirT a a
+ Text.Chatty.Scanner.Buffered: instance [safe] ChScanner m => ChBufferedScanner (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] ChScanner m => ChScanner (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] ChScanner m => ChStackBufferedScanner (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] Monad m => Applicative (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] Monad m => ChBufferedScanner (HereStringT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] Monad m => ChBufferedScanner (StateT String m)
+ Text.Chatty.Scanner.Buffered: instance [safe] Monad m => Functor (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] Monad m => Monad (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] MonadIO m => MonadIO (ScannerBufferT m)
+ Text.Chatty.Scanner.Buffered: instance [safe] MonadTrans ScannerBufferT
Files
- System/Chatty/Commands.hs +1/−1
- System/Chatty/Filesystem.hs +33/−2
- System/Chatty/Misc.hs +2/−0
- System/Chatty/Spawn.hs +4/−0
- System/Chatty/Spawn/Builtins.hs +2/−0
- System/Chatty/Spawn/Overlay.hs +8/−0
- Text/Chatty/Channel/Broadcast.hs +1/−1
- Text/Chatty/Channel/Printer.hs +14/−1
- Text/Chatty/Expansion.hs +7/−0
- Text/Chatty/Expansion/History.hs +7/−0
- Text/Chatty/Expansion/Vars.hs +6/−1
- Text/Chatty/Extended/ANSI.hs +7/−0
- Text/Chatty/Extended/HTML.hs +7/−0
- Text/Chatty/Extended/Printer.hs +2/−0
- Text/Chatty/Finalizer.hs +7/−0
- Text/Chatty/Interactor.hs +1/−1
- Text/Chatty/Interactor/Templates.hs +1/−1
- Text/Chatty/Printer.hs +14/−1
- Text/Chatty/Scanner.hs +14/−1
- Text/Chatty/Scanner/Buffered.hs +6/−1
- Text/Chatty/Templates.hs +1/−1
- chatty.cabal +4/−2
System/Chatty/Commands.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FlexibleInstances, Safe #-} {- This module is part of Chatty.
System/Chatty/Filesystem.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts, ExistentialQuantification, ScopedTypeVariables #-}+{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts, ExistentialQuantification, ScopedTypeVariables, Safe #-} {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -22,6 +22,7 @@ module System.Chatty.Filesystem where +import Control.Applicative import Control.Arrow import Control.Monad import Control.Monad.State@@ -29,7 +30,8 @@ import Data.Chatty.Atoms import Data.List import Data.Monoid-import qualified Data.Text.IO as T+import qualified Data.Text.IO as TIO+import qualified Data.Text as T import Text.Chatty.Printer import Text.Chatty.Scanner @@ -84,9 +86,17 @@ instance Functor f => Functor (FilePrinterT f) where fmap f a = FilePrinter $ fmap f . runFilePrinterT a +instance (Functor m, Monad m) => Applicative (FilePrinterT m) where+ (<*>) = ap+ pure = return+ instance Functor f => Functor (FileScannerT f) where fmap f a = FileScanner $ fmap f . runFileScannerT a +instance (Functor m, Monad m) => Applicative (FileScannerT m) where+ (<*>) = ap+ pure = return+ instance MonadTrans FilePrinterT where lift m = FilePrinter $ \_ -> m @@ -121,6 +131,10 @@ instance Functor f => Functor (NullFsT f) where fmap f a = NullFs $ \p ms -> fmap (\(a,p,ms) -> (f a,p,ms)) $ runNullFsT a p ms++instance (Functor m, Monad m) => Applicative (NullFsT m) where+ (<*>) = ap+ pure = return instance MonadTrans NullFsT where lift m = NullFs $ \p ms -> do a <- m; return (a,p,ms)@@ -228,6 +242,23 @@ sv = do fi <- getAtom fa mprint (reverse (leftBehind fi) ++ rightPending fi)+ return $ FSSucc ()+ putAtom fa $ File ld sv "" ""+ return $ FSSucc fa++iomapfs :: (MonadIO m,ChAtoms m) => String -> m (Mountpoint m)+iomapfs fp = do+ a <- newAtom+ putAtom a ()+ return $ Mount [] a (MultiPath []) $ \p _ -> do+ fa <- newAtom+ let ld = do+ tx <- liftIO $ TIO.readFile fp+ putAtom fa (File ld sv "" (T.unpack tx))+ return $ FSSucc ()+ sv = do+ f <- getAtom fa+ liftIO $ TIO.writeFile fp $ T.pack (reverse (leftBehind f)++rightPending f) return $ FSSucc () putAtom fa $ File ld sv "" "" return $ FSSucc fa
System/Chatty/Misc.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs
System/Chatty/Spawn.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -25,6 +27,8 @@ import Text.Chatty.Finalizer import Text.Chatty.Printer import Text.Chatty.Scanner+import Control.Applicative+import Control.Monad import Control.Monad.IO.Class import System.Exit import System.IO
System/Chatty/Spawn/Builtins.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs
System/Chatty/Spawn/Overlay.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -23,6 +25,8 @@ module System.Chatty.Spawn.Overlay where import System.Chatty.Spawn+import Control.Applicative+import Control.Monad import Control.Monad.Trans.Class import Control.Monad.IO.Class import System.IO@@ -42,6 +46,10 @@ instance Monad m => Functor (SpawnOverlayT m) where fmap f a = SpawnOverlay $ \s -> do (a',s') <- runSpawnOverlayT a s; return (f a',s')++instance Monad m => Applicative (SpawnOverlayT m) where+ (<*>) = ap+ pure = return instance ChSpawn m => ChSpawn (SpawnOverlayT m) where mspw pn as (Right si) = SpawnOverlay $ \s ->
Text/Chatty/Channel/Broadcast.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, Safe #-} {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs
Text/Chatty/Channel/Printer.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, Safe #-} {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -35,6 +35,7 @@ JoinerT (..) ) where +import Control.Applicative import Control.Arrow import Control.Monad import Control.Monad.IO.Class@@ -73,6 +74,10 @@ instance Monad m => Functor (ArchiverT c m) where fmap f a = liftM f a +instance Monad m => Applicative (ArchiverT c m) where+ (<*>) = ap+ pure = return+ withAssoc :: Eq b => b -> a -> (a -> a) -> [(b,a)] -> [(b,a)] withAssoc k n f [] = [(k,f n)] withAssoc k n f ((p,a):ps)@@ -114,6 +119,10 @@ instance Monad m => Functor (FilterT c m) where fmap f a = liftM f a +instance Monad m => Applicative (FilterT c m) where+ pure = return+ (<*>) = ap+ instance (Eq c,ChPrinter m) => ChPrinter (FilterT c m) where mprint str = Filter $ \(c,c1:cx) -> if c == c1 then mprint str >> return ((),c1:cx) else return ((),c1:cx) mnomask str = Filter $ \(c,c1:cx) -> if c == c1 then mnomask str >> return ((),c1:cx) else return ((),c1:cx)@@ -146,6 +155,10 @@ instance Functor m => Functor (JoinerT m) where fmap f (Joiner j) = Joiner $ fmap f j++instance (Functor m, Monad m) => Applicative (JoinerT m) where+ (<*>) = ap+ pure = return instance ChPrinter m => ChPrinter (JoinerT m) where mprint = lift . mprint
Text/Chatty/Expansion.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -22,6 +24,7 @@ -- | Provides generic string expansion module Text.Chatty.Expansion where +import Control.Applicative import Control.Monad import Control.Monad.IO.Class import Control.Monad.Trans.Class@@ -42,6 +45,10 @@ instance Functor m => Functor (NullExpanderT m) where fmap f (NullExpander ne) = NullExpander $ fmap f ne++instance (Functor m, Monad m) => Applicative (NullExpanderT m) where+ (<*>) = ap+ pure = return instance MonadIO m => MonadIO (NullExpanderT m) where liftIO = lift . liftIO
Text/Chatty/Expansion/History.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -22,6 +24,7 @@ module Text.Chatty.Expansion.History where import Prelude hiding (id,(.))+import Control.Applicative import Control.Arrow import Control.Category (id,(.)) import Control.Monad@@ -45,6 +48,10 @@ instance Monad m => Functor (HistoryT m) where fmap f a = History $ \s -> do (a',s') <- runHistoryT a s; return (f a',s')++instance Monad m => Applicative (HistoryT m) where+ (<*>) = ap+ pure = return class Monad he => ChHistoryEnv he where mcounth :: he Int
Text/Chatty/Expansion/Vars.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE ExistentialQuantification, RankNTypes, Rank2Types #-}+{-# LANGUAGE ExistentialQuantification, RankNTypes, Rank2Types, Safe #-} {- This module is part of Chatty.@@ -23,6 +23,7 @@ module Text.Chatty.Expansion.Vars where +import Control.Applicative import Control.Arrow import Control.Monad import Control.Monad.IO.Class@@ -61,6 +62,10 @@ instance Monad m => Functor (ExpanderT m) where fmap f a = Expander $ \vs -> do (a',vs') <- runExpanderT a vs; return (f a',vs')++instance Monad m => Applicative (ExpanderT m) where+ (<*>) = ap+ pure = return -- | Run this function inside a blank environment. localEnvironment :: Functor m => ExpanderT m a -> m a
Text/Chatty/Extended/ANSI.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -23,6 +25,7 @@ module Text.Chatty.Extended.ANSI where import qualified System.Console.ANSI as A+import Control.Applicative import Control.Monad import Control.Monad.Trans.Class import Control.Monad.IO.Class@@ -42,6 +45,10 @@ instance Monad m => Functor (AnsiPrinterT m) where fmap f a = AnsiPrinter $ \s -> do (a',s') <- runAnsiPrinterT a s; return (f a',s')++instance Monad m => Applicative (AnsiPrinterT m) where+ pure = return+ (<*>) = ap instance MonadIO m => MonadIO (AnsiPrinterT m) where liftIO = lift . liftIO
Text/Chatty/Extended/HTML.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -25,6 +27,7 @@ import Text.Chatty.Printer import Text.Chatty.Expansion import Text.Chatty.Extended.Printer+import Control.Applicative import Control.Monad import Control.Monad.Trans.Class import Control.Monad.IO.Class@@ -41,6 +44,10 @@ instance Functor m => Functor (HtmlPrinterT m) where fmap f (HtmlPrinter p) = HtmlPrinter $ fmap f p++instance (Functor m, Monad m) => Applicative (HtmlPrinterT m) where+ (<*>) = ap+ pure = return instance MonadIO m => MonadIO (HtmlPrinterT m) where liftIO = lift . liftIO
Text/Chatty/Extended/Printer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs
Text/Chatty/Finalizer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ {- This module is part of Chatty. Copyleft (c) 2014 Marvin Cohrs@@ -22,6 +24,7 @@ -- | Provides handle-closing. module Text.Chatty.Finalizer where +import Control.Applicative import Control.Monad import Control.Monad.IO.Class import Control.Monad.Trans.Class@@ -49,6 +52,10 @@ instance Monad m => Functor (HandleCloserT m) where fmap f a = HandleCloser $ \hs -> do (a',hs') <- runHandleCloserT a hs; return (f a',hs')++instance Monad m => Applicative (HandleCloserT m) where+ (<*>) = ap+ pure = return instance MonadIO m => MonadIO (HandleCloserT m) where liftIO = lift . liftIO
Text/Chatty/Interactor.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies, TemplateHaskell, FlexibleContexts, TypeSynonymInstances, UndecidableInstances #-}+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies, TemplateHaskell, FlexibleContexts, TypeSynonymInstances, UndecidableInstances, Trustworthy #-} {- This module is part of Chatty.
Text/Chatty/Interactor/Templates.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TemplateHaskell, QuasiQuotes, FlexibleInstances, MultiParamTypeClasses, UndecidableInstances #-}+{-# LANGUAGE TemplateHaskell, QuasiQuotes, FlexibleInstances, MultiParamTypeClasses, UndecidableInstances, Trustworthy #-} {- This module is part of Chatty.
Text/Chatty/Printer.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies, Safe #-} {- This module is part of Chatty.@@ -24,6 +24,7 @@ -- | Provides a typeclass for all monads that may print text. module Text.Chatty.Printer where +import Control.Applicative import Control.Arrow import Control.Monad import Control.Monad.State@@ -62,6 +63,10 @@ instance MonadTrans DeafT where lift = Deaf +instance (Functor m, Monad m) => Applicative (DeafT m) where+ pure = return+ (<*>) = ap+ instance Functor m => Functor (DeafT m) where fmap f (Deaf a) = Deaf $ fmap f a @@ -94,6 +99,10 @@ instance Monad m => Functor (OutRedirT m) where fmap f a = OutRedir $ \h -> do (a',h') <- runOutRedirT' a h; return (f a',h') +instance Monad m => Applicative (OutRedirT m) where+ pure = return+ (<*>) = ap+ -- | Run 'OutRedirT' with a 'Handle' runOutRedirT :: Functor m => OutRedirT m a -> Handle -> m a runOutRedirT m h = fmap fst $ runOutRedirT' m h@@ -134,6 +143,10 @@ instance Monad m => Functor (RecorderT m) where fmap f a = Recorder $ \s -> do (a',s') <- runRecorderT' a s; return (f a',s')++instance Monad m => Applicative (RecorderT m) where+ (<*>) = ap+ pure = return instance MonadIO m => MonadIO (RecorderT m) where liftIO = lift . liftIO
Text/Chatty/Scanner.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies, Safe #-} {- This module is part of Chatty.@@ -25,6 +25,7 @@ module Text.Chatty.Scanner where import Text.Chatty.Finalizer+import Control.Applicative import Control.Monad import Control.Monad.State import Control.Monad.Identity@@ -81,6 +82,10 @@ instance Monad m => Functor (HereStringT m) where fmap f a = HereString $ \s -> do (a',s') <- runHereStringT a s; return (f a',s') +instance Monad m => Applicative (HereStringT m) where+ (<*>) = ap+ pure = return+ instance Monad m => ChScanner (HereStringT m) where mscan1 = HereString $ \(s:ss) -> return (s,ss) mscanL = HereString $ \s -> return (s,[])@@ -114,6 +119,10 @@ instance Functor m => Functor (QuietT m) where fmap f (Quiet a) = Quiet $ fmap f a +instance (Functor m, Monad m) => Applicative (QuietT m) where+ (<*>) = ap+ pure = return+ -- Definition of InRedirT + instances -- | InRedirT redirects all input to a given handle (much like <filename in the shell) newtype InRedirT m a = InRedir { runInRedirT' :: Handle -> m (a,Handle) }@@ -139,6 +148,10 @@ instance Monad m => Functor (InRedirT m) where fmap f a = InRedir $ \h -> do (a',h') <- runInRedirT' a h; return (f a',h')++instance Monad m => Applicative (InRedirT m) where+ (<*>) = ap+ pure = return instance ChFinalizer m => ChFinalizer (InRedirT m) where mqfh = lift . mqfh
Text/Chatty/Scanner/Buffered.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FlexibleInstances, Safe #-} {- This module is part of Chatty.@@ -24,6 +24,7 @@ -- | Provides a typeclass for buffered scanners as well as a buffering monad transformer. module Text.Chatty.Scanner.Buffered where +import Control.Applicative import Control.Monad import Control.Monad.IO.Class import Control.Monad.State@@ -64,6 +65,10 @@ instance Monad m => Functor (ScannerBufferT m) where fmap = liftM++instance Monad m => Applicative (ScannerBufferT m) where+ (<*>) = ap+ pure = return instance ChScanner m => ChScanner (ScannerBufferT m) where mscan1 = ScannerBuffer $ \(ss:sx) -> (if null ss then do s <- mscan1; return (s,[]:map (s:) sx) else return (head ss,tail ss:map (head ss:) sx))
Text/Chatty/Templates.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FlexibleInstances, Trustworthy #-} {- This module is part of Chatty.
chatty.cabal view
@@ -10,7 +10,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.6.2.1+version: 0.6.4.0 -- A short (one-line) description of the package. synopsis: Some monad transformers and typeclasses for abstraction of global dependencies.@@ -32,6 +32,8 @@ -- patches. maintainer: marvin.cohrs@gmx.net +homepage: http://doomanddarkness.eu/pub/chatty+ -- A copyright notice. -- copyright: @@ -58,7 +60,7 @@ other-extensions: ExistentialQuantification, RankNTypes, Rank2Types, FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies, TemplateHaskell, QuasiQuotes, UndecidableInstances -- Other library packages from which modules are imported.- build-depends: base >=4.7 && <4.8, transformers >=0.3 && <0.4, directory >=1.2 && <1.3, process >=1.1 && <1.3, mtl >=2.1 && <2.2, template-haskell >=2.8 && <2.10, setenv >= 0.1 && <0.2, unix >= 2.6 && < 2.8, random >= 1.0 && < 1.1, time >= 1.4 && < 1.5, ansi-terminal >= 0.6 && <0.8, chatty-utils >= 0.7.1 && <0.8, text >=1.1 && <1.2+ build-depends: base >=4.7 && <4.9, transformers >=0.3 && <0.5, directory >=1.2 && <1.3, process >=1.1 && <1.3, mtl >=2.1 && <2.3, template-haskell >=2.8 && <2.10, setenv >= 0.1 && <0.2, unix >= 2.6 && < 2.8, random >= 1.0 && < 1.1, time >= 1.4 && < 1.5, ansi-terminal >= 0.6 && <0.8, chatty-utils >= 0.7.1 && <0.8, text >=1.1 && <1.4 -- Directories containing source files. -- hs-source-dirs: