Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/cml/src/IO/new-cml-text-io-sig.sml
ViewVC logotype

Annotation of /sml/trunk/src/cml/src/IO/new-cml-text-io-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1368 - (view) (download)

1 : blume 844 (* cml-text-io-sig.sml
2 :     *
3 :     * COPYRIGHT (c) 1996 AT&T Research.
4 :     * COPYRIGHT (c) 1991 John H. Reppy.
5 :     *
6 :     * This extends the SMLBL TEXT_IO interface with event-valued operations.
7 :     *)
8 :    
9 :     signature CML_TEXT_IO =
10 :     sig
11 :     (* include TEXT_IO *)
12 :     type vector = string
13 :     type elem = char
14 :    
15 :     type instream
16 :     type outstream
17 :    
18 :     val input : instream -> vector
19 :     val input1 : instream -> elem option
20 :     val inputN : (instream * int) -> vector
21 :     val inputAll : instream -> vector
22 :     val canInput : (instream * int) -> int option
23 :     val lookahead : instream -> elem option
24 :     val closeIn : instream -> unit
25 :     val endOfStream : instream -> bool
26 :    
27 :     val output : (outstream * vector) -> unit
28 :     val output1 : (outstream * elem) -> unit
29 :     val flushOut : outstream -> unit
30 :     val closeOut : outstream -> unit
31 :    
32 :     structure StreamIO : CML_TEXT_STREAM_IO
33 :     where type reader = TextPrimIO.reader
34 :     where type writer = TextPrimIO.writer
35 :     where type pos = TextPrimIO.pos
36 :     where type vector = string
37 :     where type elem = char
38 :    
39 :     (*
40 :     val getPosIn : instream -> StreamIO.in_pos
41 :     val setPosIn : (instream * StreamIO.in_pos) -> unit
42 :     *)
43 :     val mkInstream : StreamIO.instream -> instream
44 :     val getInstream : instream -> StreamIO.instream
45 :     val setInstream : (instream * StreamIO.instream) -> unit
46 :    
47 :     val getPosOut : outstream -> StreamIO.out_pos
48 :     val setPosOut : (outstream * StreamIO.out_pos) -> unit
49 :     val mkOutstream : StreamIO.outstream -> outstream
50 :     val getOutstream : outstream -> StreamIO.outstream
51 :     val setOutstream : (outstream * StreamIO.outstream) -> unit
52 :    
53 : mblume 1368 val inputLine : instream -> string option
54 : blume 844 val outputSubstr : (outstream * substring) -> unit
55 :    
56 :     val openIn : string -> instream
57 :     val openString : string -> instream
58 :     val openOut : string -> outstream
59 :     val openAppend : string -> outstream
60 :    
61 :     val stdIn : instream
62 :     val stdOut : outstream
63 :     val stdErr : outstream
64 :    
65 :     val input1Evt : instream -> elem option CML.event
66 :     val inputNEvt : (instream * int) -> vector CML.event
67 :     val inputEvt : instream -> vector CML.event
68 :     val inputAllEvt : instream -> vector CML.event
69 :    
70 :     val openChanIn : string CML.chan -> instream
71 :     val openChanOut : string CML.chan -> outstream
72 :    
73 :     val print : string -> unit
74 :    
75 :     val scanStream :
76 :     ((elem, StreamIO.instream) StringCvt.reader
77 :     -> ('a, StreamIO.instream) StringCvt.reader
78 :     ) -> instream -> 'a option
79 :    
80 :     end;

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0