blob: 209728db1aeab449fc2d49315416fe540b04256d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-- snippet MonadHandle --}
{-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses #-}
module MonadHandle (MonadHandle(..)) where
import System.IO (IOMode(..))
class Monad m => MonadHandle h m | m -> h where
openFile :: FilePath -> IOMode -> m h
hPutStr :: h -> String -> m ()
hClose :: h -> m ()
hGetContents :: h -> m String
hPutStrLn :: h -> String -> m ()
hPutStrLn h s = hPutStr h s >> hPutStr h "\n"
{-- /snippet MonadHandle --}
|