bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.System.IO

Description

A safer interface to System.IO.Handle

Synopsis

Handle

data Handle (e :: Effects) #

Instances

Instances details
Handle Handle 
Instance details

Defined in Bluefin.Internal.System.IO

e <: es => OneWayCoercible (Handle e :: Type) (Handle es :: Type) 
Instance details

Defined in Bluefin.Internal.System.IO

Methods

oneWayCoercibleImpl :: OneWayCoercibleD (Handle e) (Handle es) #

Handlers

withFile :: forall (e1 :: Effects) (es :: Effects) r. e1 <: es => IOE e1 -> FilePath -> IOMode -> (forall (e :: Effects). Handle e -> Eff (e :& es) r) -> Eff es r #

Effectful operations

hPutChar :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> Char -> Eff es () #

hPutStr :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> String -> Eff es () #

hPutStrLn :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> String -> Eff es () #

hGetLine :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> Eff es String #

hIsEOF :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> Eff es Bool #

hFlush :: forall (e :: Effects) (es :: Effects). e <: es => Handle e -> Eff es () #

Unsafe

unsafeWithHandle :: forall (e1 :: Effects) (es :: Effects) r. e1 <: es => Handle e1 -> (Handle -> IO r) -> Eff es r #