1(* 2 Title: Standard Basis Library: IO Structure and Signature 3 Author: David Matthews 4 Copyright David Matthews 2000, 2005 5 6 This library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 This library is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with this library; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19*) 20 21(* G&R 2004 status: done. Removed TerminatedStream exception. *) 22signature IO = 23 sig 24 exception Io of {name : string, function : string, cause : exn} 25 exception BlockingNotSupported 26 exception NonblockingNotSupported 27 exception RandomAccessNotSupported 28 exception ClosedStream 29 datatype buffer_mode = NO_BUF | LINE_BUF | BLOCK_BUF 30 end; 31 32structure IO: IO = 33 struct 34 exception Io of {name : string, function : string, cause : exn} 35 exception BlockingNotSupported 36 exception NonblockingNotSupported 37 exception RandomAccessNotSupported 38 exception ClosedStream 39 datatype buffer_mode = NO_BUF | LINE_BUF | BLOCK_BUF 40 end; 41