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/cml-imperative-io-sig.sml
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 167 - (view) (download)
Original Path: sml/branches/SMLNJ/src/cml/src/IO/cml-imperative-io-sig.sml

1 : monnier 2 (* cml-imperative-io-sig.sml
2 :     *
3 :     * COPYRIGHT (c) 1996 AT&T Research.
4 :     * COPYRIGHT (c) 1991 John H. Reppy.
5 :     *
6 :     * This extends the SMLBL IMPERATIVE_IO interface with event-valued operations.
7 :     *)
8 :    
9 :     signature CML_IMPERATIVE_IO =
10 :     sig
11 :    
12 :     (* include IMPERATIVE_IO *)
13 :    
14 :     type vector
15 :     type elem
16 :    
17 :     type instream
18 :     type outstream
19 :    
20 :     val input : instream -> vector
21 :     val input1 : instream -> elem option
22 :     val inputN : (instream * int) -> vector
23 :     val inputAll : instream -> vector
24 :     val canInput : (instream * int) -> int option
25 :     val lookahead : instream -> elem option
26 :     val closeIn : instream -> unit
27 :     val endOfStream : instream -> bool
28 :    
29 :     val output : (outstream * vector) -> unit
30 :     val output1 : (outstream * elem) -> unit
31 :     val flushOut : outstream -> unit
32 :     val closeOut : outstream -> unit
33 :    
34 :     structure StreamIO : CML_STREAM_IO
35 :     sharing type vector = StreamIO.vector
36 :     sharing type elem = StreamIO.elem
37 :    
38 :     val mkInstream : StreamIO.instream -> instream
39 :     val getInstream : instream -> StreamIO.instream
40 :     val setInstream : (instream * StreamIO.instream) -> unit
41 :    
42 :     val getPosOut : outstream -> StreamIO.out_pos
43 :     val setPosOut : (outstream * StreamIO.out_pos) -> unit
44 :     val mkOutstream : StreamIO.outstream -> outstream
45 :     val getOutstream : outstream -> StreamIO.outstream
46 :     val setOutstream : (outstream * StreamIO.outstream) -> unit
47 :    
48 :     val input1Evt : instream -> elem option CML.event
49 :     val inputNEvt : (instream * int) -> vector CML.event
50 :     val inputEvt : instream -> vector CML.event
51 :     val inputAllEvt : instream -> vector CML.event
52 :    
53 :     end;

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