module OpenSocket( openSocketF,openSocketErrF, openLSocketF,openLSocketErrF, openFileAsSocketF,openFileAsSocketErrF ) where import Srequest import Sockets -- All eta expanstion are due to the monomorphism restriction openSocketF h = openSocketF' sIO h openLSocketF p = openLSocketF' sIO p openFileAsSocketF h = openFileAsSocketF' sIO h openSocketErrF h p e = openSocketF' (sIOerr' e) h p openLSocketErrF p e = openLSocketF' (sIOerr' e) p openFileAsSocketErrF n m e = openFileAsSocketF' (sIOerr' e) n m openSocketF' sio host port cont = sio (OpenSocket host port) $ \ (Socket socket) -> cont socket openLSocketF' sio port cont = sio (OpenLSocket port) $ \(LSocket lsocket) -> cont lsocket openFileAsSocketF' sio name mode cont = sio (OpenFileAsSocket name mode) $ \ (Socket socket) -> cont socket sIOerr' e r = sIOerr r e