data SocketRequest = OpenLSocket Port | OpenSocket Host Port | WriteSocket Socket String | CloseSocket Socket | CloseLSocket LSocket | GetStdinSocket | CreateTimer Int Int | DestroyTimer Timer | GetLSocketName LSocket | GetSocketName Socket | StartProcess String Bool Bool Bool | DLOpen String | DLClose DLHandle | DLSym DLHandle String | OpenFileAsSocket String String | WriteSocketPS Socket String | GetStdoutSocket instance Read SocketRequest instance Show SocketRequest data SocketResponse = LSocket LSocket | Socket Socket | Timer Timer | ProcessSockets (Maybe Socket) (Maybe Socket) (Maybe Socket) | DLHandle DLHandle | DLVal DLValue | Wrote Int instance Read SocketResponse instance Show SocketResponse type AsyncInput = (Descriptor, AEvent) data AEvent = SocketAccepted Socket Peer | SocketRead String | SocketReadBin ByteString | SocketWritable | TimerAlarm | XEvent (WindowId, XEvent) instance Read AEvent instance Show AEvent
data Timer = Ti Int
data DLHandle = DL DL
type Peer = Host
Socket resquest and response types.
Performing socket requests: sIO et al.
Fudget low level stream types: FRequest and FResponse.
Incomplete documentation.