Prog "Socket" ["IO","Prelude","System"] [Type ("Socket","Socket") Public [] []] [Func ("Socket","listenOn") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","IO") [TCons ("Socket","Socket") []])) (Rule [] (Var 0)),Func ("Socket","listenOnFresh") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Socket","Socket") []]]) (External "Socket.listenOnFresh"),Func ("Socket","socketListen") 2 Public (FuncType (TCons ("Socket","Socket") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [] (Var 0)),Func ("Socket","socketAccept") 1 Public (FuncType (TCons ("Socket","Socket") []) (TCons ("Prelude","IO") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("IO","Handle") []]])) (Rule [] (Var 0)),Func ("Socket","waitForSocketAccept") 2 Public (FuncType (TCons ("Socket","Socket") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("IO","Handle") []]]]))) (Rule [] (Var 0)),Func ("Socket","connectToSocket") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","IO") [TCons ("IO","Handle") []]))) (Rule [] (Var 0))] []