1 (* Copyright (C) 2002-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
17 val compare: pos * pos -> order
20 RD of {avail: unit -> int option,
21 block: (unit -> unit) option,
22 canInput: (unit -> bool) option,
25 endPos: (unit -> pos) option,
26 getPos: (unit -> pos) option,
27 ioDesc: OS.IO.iodesc option,
29 readArr: (array_slice -> int) option,
30 readArrNB: (array_slice -> int option) option,
31 readVec: (int -> vector) option,
32 readVecNB: (int -> vector option) option,
33 setPos: (pos -> unit) option,
34 verifyPos: (unit -> pos) option}
37 WR of {block: (unit -> unit) option,
38 canOutput: (unit -> bool) option,
41 endPos: (unit -> pos) option,
42 getPos: (unit -> pos) option,
43 ioDesc: OS.IO.iodesc option,
45 setPos: (pos -> unit) option,
46 verifyPos: (unit -> pos) option,
47 writeArr: (array_slice -> int) option,
48 writeArrNB: (array_slice -> int option) option,
49 writeVec: (vector_slice -> int) option,
50 writeVecNB: (vector_slice -> int option) option}
52 val openVector: vector -> reader
53 val nullRd: unit -> reader
54 val nullWr: unit -> writer
56 val augmentReader: reader -> reader
57 val augmentWriter: writer -> writer