1cd interface; make test
2make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/interface'
3mosml smlside.sml
4Moscow ML version 2.00 (June 2000)
5Enter `quit();' to quit.
6[opening file "smlside.sml"]
7> val it = () : unit
8> datatype flag = (flag,{con RTLD_LAZY : flag, con RTLD_NOW : flag})
9  type symHandle = symHandle
10  type dlHandle = dlHandle
11  con RTLD_LAZY = RTLD_LAZY : flag
12  val ('a1, 'b) app1 = fn : symHandle -> 'a1 -> 'b
13  con RTLD_NOW = RTLD_NOW : flag
14  val ('a1, 'a2, 'b) app2 = fn : symHandle -> 'a1 -> 'a2 -> 'b
15  val ('a1, 'a2, 'a3, 'b) app3 = fn : symHandle -> 'a1 -> 'a2 -> 'a3 -> 'b
16  val ('a1, 'a2, 'a3, 'a4, 'b) app4 = fn :
17  symHandle -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'b
18  val dlclose = fn : dlHandle -> unit
19  val ('a1, 'a2, 'a3, 'a4, 'a5, 'b) app5 = fn :
20  symHandle -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'a5 -> 'b
21  val dlsym = fn : dlHandle -> string -> symHandle
22  exn Closed = Closed : exn
23  val dlopen = fn : {flag : flag, global : bool, lib : string} -> dlHandle
24  val 'b var = fn : symHandle -> 'b
25> New type names: =t
26  datatype t =
27  (t,{con Br : int * t * t -> t, con Brs : t list -> t, con Lf : t})
28  val dlh = <dlHandle> : dlHandle
29  val fu = fn : unit -> unit
30  val fi = fn : int -> int
31  val fc = fn : char -> char
32  val fr = fn : real -> real
33  val fs = fn : string -> string
34  val fb = fn : bool -> bool
35  val fcur = fn : int -> char -> real -> string -> bool -> int
36  val ftup = fn : int * char * real -> int
37  val frec = fn : {age : int, givenname : string, surname : string} -> bool
38  con Br = fn : int * t * t -> t
39  con Brs = fn : t list -> t
40  con Lf = Lf : t
41  val fdat = fn : t -> int
42  val ffun = fn : (int -> real) -> int -> string
43> val frtup = fn : int -> int * bool
44> val frrec = fn : int -> {half : int, odd : bool}
45> val fconcat = fn : string -> string -> string
46> val test1 = true : bool
47> val test2 = true : bool
48> val test3 = true : bool
49> val test4 = true : bool
50> val test5 = true : bool
51> val test6 = true : bool
52> val test7 = true : bool
53> val test8 = true : bool
54> val test9 = true : bool
55> val test10 = true : bool
56  val test11 = true : bool
57> val test12 = true : bool
58> val test13 = true : bool
59> val test14 = true : bool
60make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/interface'
61cd intinf; make test
62make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/intinf'
63mosml testintinf.sml
64Moscow ML version 2.00 (June 2000)
65Enter `quit();' to quit.
66[opening file "testintinf.sml"]
67> val it = () : unit
68[opening file "../../mosmllib/test/auxil.sml"]
69> infix 1 seq
70  val ('a, 'b) seq = fn : 'a * 'b -> 'b
71> val check = fn : bool -> string
72> val check' = fn : (unit -> bool) -> string
73> val range = fn : int * int -> (int -> bool) -> bool
74> val checkrange = fn : int * int -> (int -> bool) -> string
75[closing file "../../mosmllib/test/auxil.sml"]
76> val it = () : unit
77> val test1a = "OK" : string
78  val test1b = "OK" : string
79  val test1c = "OK" : string
80  val test1d = "OK" : string
81  val test2a = "OK" : string
82  val test2b = "OK" : string
83  val test2c = "OK" : string
84  val test2d = "OK" : string
85  val test3a = "OK" : string
86  val test3b = "OK" : string
87  val test3c = "OK" : string
88  val test3d = "OK" : string
89  val test4a = "OK" : string
90  val test4b = "OK" : string
91  val test4c = "OK" : string
92  val test4d = "OK" : string
93  val test5a = "OK" : string
94  val test5b = "OK" : string
95  val test5c = "OK" : string
96  val test5d = "OK" : string
97  val test5e = "OK" : string
98  val test5f = "OK" : string
99  val test6a = ["OK", "OK", "OK", "OK"] : string list
100  val test6b = ["OK", "OK", "OK", "OK"] : string list
101  val test6c = ["OK", "OK", "OK", "OK"] : string list
102  val chkToString = fn : int * string -> string
103  val test12a = ["OK", "OK", "OK", "OK"] : string list
104  val 'a chk = fn : ('a -> int/1 option) -> 'a * int -> string
105  val chkScan = fn : radix -> string * int -> string
106  val test13a = ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] : string list
107  val test13b =
108    ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] :
109  string list
110  val test14a = ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] : string list
111  val test14b =
112    ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] :
113  string list
114  val test15a = ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] : string list
115  val test15b =
116    ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK",
117     "OK", "OK"] : string list
118  val test16a = ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] : string list
119  val test16b =
120    ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK",
121     "OK"] : string list
122  val test17a = ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] : string list
123  val test17b =
124    ["OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK"] :
125  string list
126  val test18 = "OK" : string
127make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/intinf'
128cd mgd; make test
129make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/mgd'
130mosml testgdimage.sml
131Moscow ML version 2.00 (June 2000)
132Enter `quit();' to quit.
133[opening file "testgdimage.sml"]
134> val it = () : unit
135Now try
136       xv try.png hist.png pie.png graph.png
137
138make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/mgd'
139cd mgdbm; make test
140make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/mgdbm'
141mosml -P full testgdbm.sml
142Moscow ML version 2.00 (June 2000)
143Enter `quit();' to quit.
144[opening file "testgdbm.sml"]
145> val it = () : unit
146> type datum = string
147  type table = table
148  datatype openmode =
149  (openmode,
150   {con NEWDB : openmode,
151    con READER : openmode,
152    con WRCREAT : openmode,
153    con WRITER : openmode})
154  con WRITER = WRITER : openmode
155  val 'a withtable = fn : string * openmode -> (table -> 'a) -> 'a
156  exn GdbmError = fn : string -> exn
157  val 'a withtables = fn : (string * openmode) list -> (table list -> 'a) -> 'a
158  val numItems = fn : table -> int
159  con NEWDB = NEWDB : openmode
160  exn AlreadyThere = AlreadyThere : exn
161  val reorganize = fn : table -> unit
162  con WRCREAT = WRCREAT : openmode
163  val insert = fn : table -> string * string -> unit
164  val listKeys = fn : table -> string list
165  val fastwrite = ref false : bool ref
166  val listItems = fn : table -> (string * string) list
167  exn NotFound = NotFound : exn
168  val add = fn : table -> string * string -> unit
169  val find = fn : table -> string -> string
170  exn NotWriter = NotWriter : exn
171  val app = fn : (string * string -> unit) -> table -> unit
172  val peek = fn : table -> string -> string option
173  val 'a map = fn : (string * string -> 'a) -> table -> 'a list
174  val 'a fold = fn : (string * string * 'a -> 'a) -> 'a -> table -> 'a
175  con READER = READER : openmode
176  exn Closed = Closed : exn
177  val hasKey = fn : table -> string -> bool
178  val remove = fn : table -> string -> unit
179[opening file "../../mosmllib/test/auxil.sml"]
180> infix 1 seq
181  val ('a, 'b) seq = fn : 'a * 'b -> 'b
182> val check = fn : bool -> string
183> val check' = fn : (unit -> bool) -> string
184> val range = fn : int * int -> (int -> bool) -> bool
185> val checkrange = fn : int * int -> (int -> bool) -> string
186[closing file "../../mosmllib/test/auxil.sml"]
187> val it = () : unit
188> val test1a = "OK" : string
189> val test1b = "OK" : string
190> val test1c = "OK" : string
191  val test1d = "OK" : string
192  val test1e = "OK" : string
193  val test1f = "OK" : string
194  val test1g = "OK" : string
195  val test1h = "OK" : string
196  val test1i = "OK" : string
197  val test1j = "OK" : string
198  val test1k = "OK" : string
199  val pairs =
200    [("Hans 1", "Rischel"), ("Hans 2", "Dybkj�r"), ("Anders", "Kristensen")] :
201  (string * string) list
202> val test2a = "OK" : string
203> val test2b1 = "OK" : string
204  val test2b2 = "OK" : string
205  val test2c1 = "OK" : string
206  val test2c2 = "OK" : string
207  val test2d = "OK" : string
208  val test2e = "OK" : string
209  val test2f = "OK" : string
210  val test2g = "OK" : string
211  val test2h = "OK" : string
212  val test2i = "OK" : string
213  val test2j1 = "OK" : string
214  val test2j2 = "OK" : string
215  val test2j3 = "OK" : string
216  val test2j4 = "OK" : string
217  val 'a sortkvs = fn : (string * 'a) list -> (string * 'a) list
218  val sortks = fn : string list -> string list
219  val pairorder =
220    [("Hans 1", "Rischel"), ("Anders", "Kristensen"), ("Hans 2", "Dybkj�r")] :
221  (string * string) list
222  val test2k1 = "OK" : string
223  val test2k2 = "OK" : string
224  val test2l = "OK" : string
225  val test2m = "OK" : string
226  val test2n = "OK" : string
227  val test2o = "OK" : string
228  val test2p = "OK" : string
229  val test3a = "OK" : string
230  val test3b = "OK" : string
231  val test3c = "OK" : string
232> val test3d = "OK" : string
233make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/mgdbm'
234cd mmysql; make test
235make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/mmysql'
236mosml testmysql.sml
237Moscow ML version 2.00 (June 2000)
238Enter `quit();' to quit.
239[opening file "testmysql.sml"]
240> val it = () : unit
241[opening file "../../mosmllib/test/auxil.sml"]
242> infix 1 seq
243  val ('a, 'b) seq = fn : 'a * 'b -> 'b
244> val check = fn : bool -> string
245> val check' = fn : (unit -> bool) -> string
246> val range = fn : int * int -> (int -> bool) -> bool
247> val checkrange = fn : int * int -> (int -> bool) -> string
248[closing file "../../mosmllib/test/auxil.sml"]
249> val it = () : unit
250> datatype dyntype =
251  (dyntype,
252   {con DateTimeTy : dyntype,
253    con DateTy : dyntype,
254    con IntTy : dyntype,
255    con RealTy : dyntype,
256    con StringTy : dyntype,
257    con TimeTy : dyntype,
258    con UnknownTy : dyntype})
259  type dbconn = dbconn
260  datatype dbresultstatus =
261  (dbresultstatus,
262   {con Bad_response : dbresultstatus,
263    con Command_ok : dbresultstatus,
264    con Copy_in : dbresultstatus,
265    con Copy_out : dbresultstatus,
266    con Empty_query : dbresultstatus,
267    con Fatal_error : dbresultstatus,
268    con Nonfatal_error : dbresultstatus,
269    con Tuples_ok : dbresultstatus})
270  type dbresult = dbresult
271  datatype dynval =
272  (dynval,
273   {con Date : int * int * int -> dynval,
274    con DateTime : date -> dynval,
275    con Int : int -> dynval,
276    con NullVal : dynval,
277    con Real : real -> dynval,
278    con String : string -> dynval,
279    con Time : int * int * int -> dynval})
280  val getdynfield = fn : dbresult -> int -> int -> dynval
281  val fname = fn : dbresult -> int -> string
282  con NullVal = NullVal : dynval
283  val ftype = fn : dbresult -> int -> dyntype
284  val db = fn : dbconn -> string
285  val getreal = fn : dbresult -> int -> int -> real
286  con Real = fn : real -> dynval
287  val showquery = fn : dbconn -> string -> wseq
288  con Nonfatal_error = Nonfatal_error : dbresultstatus
289  exn Null = Null : exn
290  con Fatal_error = Fatal_error : dbresultstatus
291  con Copy_in = Copy_in : dbresultstatus
292  val fnumber = fn : dbresult -> string -> int option
293  con DateTimeTy = DateTimeTy : dyntype
294  con TimeTy = TimeTy : dyntype
295  val getstring = fn : dbresult -> int -> int -> string
296  val getdatetime = fn : dbresult -> int -> int -> date
297  val getbool = fn : dbresult -> int -> int -> bool
298  con String = fn : string -> dynval
299  val status = fn : dbconn -> bool
300  con Command_ok = Command_ok : dbresultstatus
301  val getdate = fn : dbresult -> int -> int -> int * int * int
302  con Date = fn : int * int * int -> dynval
303  con DateTy = DateTy : dyntype
304  val fromtag = fn : dyntype -> string
305  con Empty_query = Empty_query : dbresultstatus
306  val reset = fn : dbconn -> unit
307  val closebase = fn : dbconn -> unit
308  val getint = fn : dbresult -> int -> int -> int
309  con DateTime = fn : date -> dynval
310  con StringTy = StringTy : dyntype
311  con Tuples_ok = Tuples_ok : dbresultstatus
312  val ('a, 'b) applyto = fn : 'a -> ('a -> 'b) -> 'b
313  val nfields = fn : dbresult -> int
314  val openbase = fn :
315  {dbhost : string option, dbname : string option, dboptions : string option,
316   dbport : string option, dbpwd : string option, dbtty : string option,
317   dbuser : string option} -> dbconn
318  val resultstatus = fn : dbresult -> dbresultstatus
319  con RealTy = RealTy : dyntype
320  val host = fn : dbconn -> string option
321  val gettime = fn : dbresult -> int -> int -> int * int * int
322  con Time = fn : int * int * int -> dynval
323  val formattable = fn : dbresult -> wseq
324  con Bad_response = Bad_response : dbresultstatus
325  val errormessage = fn : dbconn -> string option
326  val copytableto = fn : dbconn * string * (string -> unit) -> unit
327  val options = fn : dbconn -> string
328  con IntTy = IntTy : dyntype
329  con UnknownTy = UnknownTy : dyntype
330  val cmdtuples = fn : dbresult -> int
331  val dynval2s = fn : dynval -> string
332  val copytablefrom = fn : dbconn * string * ((string -> unit) -> unit) -> unit
333  val execute = fn : dbconn -> string -> dbresult
334  val fnames = fn : dbresult -> string vector
335  val ftypes = fn : dbresult -> dyntype vector
336  val port = fn : dbconn -> string
337  val tty = fn : dbconn -> string
338  val ntuples = fn : dbresult -> int
339  val isnull = fn : dbresult -> int -> int -> bool
340  val getdyntups = fn : dbresult -> dynval vector vector
341  con Copy_out = Copy_out : dbresultstatus
342  val getdyntup = fn : dbresult -> int -> dynval vector
343  exn Closed = Closed : exn
344  con Int = fn : int -> dynval
345> val dbhost = SOME "localhost" : string option
346> val 'a dbport = NONE : 'a option
347> val 'a dboptions = NONE : 'a option
348> val 'a dbtty = NONE : 'a option
349> val 'a dbuser = NONE : 'a option
350> val 'a dbpwd = NONE : 'a option
351> val dbname = SOME "test" : string option
352> val pc = <dbconn> : dbconn
353> val info = ("test", SOME "localhost", "", "0", "") :
354  string * string option * string * string * string
355> val inst = fn : string -> dbresult
356  val res1 = <dbresult> : dbresult
357  val test1a = "OK" : string
358  val test1b = "OK" : string
359  val test1c = "OK" : string
360> val test1d = "OK" : string
361  val test1e = "OK" : string
362  val test1f = "OK" : string
363> val test1g = "OK" : string
364> val test1h = "OK" : string
365> val test1i = "OK" : string
366  val test1j = "OK" : string
367  val test1k = "OK" : string
368  val test1l = "OK" : string
369> val res2 = <dbresult> : dbresult
370  val res3 = <dbresult> : dbresult
371> val test3a = "OK" : string
372  val test3b = "OK" : string
373  val test3c = "OK" : string
374> val test3d = "OK" : string
375  val test3e = "OK" : string
376  val test3f = "OK" : string
377  val test3ga = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
378  string * string * string * string * string * string * string * string
379  val test3gb = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
380  string * string * string * string * string * string * string * string
381  val test3gc = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
382  string * string * string * string * string * string * string * string
383  val test3gd = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
384  string * string * string * string * string * string * string * string
385  val test3ha = ("OK", "OK") : string * string
386  val test3hb = ("OK", "OK") : string * string
387  val test3hc = ("OK", "OK") : string * string
388User: 0.290  System: 0.000  GC: 0.080  Real: 0.282
389User: 0.270  System: 0.010  GC: 0.090  Real: 0.284
390User: 0.290  System: 0.010  GC: 0.110  Real: 0.298
391User: 0.300  System: 0.000  GC: 0.090  Real: 0.298
392User: 0.290  System: 0.010  GC: 0.110  Real: 0.300
393User: 0.310  System: 0.000  GC: 0.090  Real: 0.304
394User: 0.290  System: 0.000  GC: 0.100  Real: 0.292
395User: 0.320  System: 0.000  GC: 0.120  Real: 0.314
396User: 0.300  System: 0.000  GC: 0.090  Real: 0.297
397User: 0.300  System: 0.000  GC: 0.090  Real: 0.307
398User: 0.300  System: 0.000  GC: 0.110  Real: 0.301
399User: 0.300  System: 0.000  GC: 0.130  Real: 0.303
400User: 0.300  System: 0.000  GC: 0.110  Real: 0.302
401User: 0.290  System: 0.000  GC: 0.100  Real: 0.294
402User: 0.310  System: 0.000  GC: 0.120  Real: 0.309
403> val test4 = "OK" : string
404  val res5 = <dbresult> : dbresult
405  val test5a = "OK" : string
406  val test6 = "OK" : string
407  val test7 = "OK" : string
408  val test8 = "OK" : string
409  val test9 = "OK" : string
410  val test10 = "OK" : string
411  val test11a = <dbresult> : dbresult
412  val test11b = () : unit
413  val 'a getall = fn : 'a -> dynval vector vector
414  val test11c = () : unit
415make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/mmysql'
416cd mpq; make test
417make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/mpq'
418mosml testpsql.sml
419Moscow ML version 2.00 (June 2000)
420Enter `quit();' to quit.
421[opening file "testpsql.sml"]
422> val it = () : unit
423[opening file "../../mosmllib/test/auxil.sml"]
424> infix 1 seq
425  val ('a, 'b) seq = fn : 'a * 'b -> 'b
426> val check = fn : bool -> string
427> val check' = fn : (unit -> bool) -> string
428> val range = fn : int * int -> (int -> bool) -> bool
429> val checkrange = fn : int * int -> (int -> bool) -> string
430[closing file "../../mosmllib/test/auxil.sml"]
431> val it = () : unit
432> datatype dyntype =
433  (dyntype,
434   {con BoolTy : dyntype,
435    con ByteArrTy : dyntype,
436    con DateTimeTy : dyntype,
437    con DateTy : dyntype,
438    con IntTy : dyntype,
439    con OidTy : dyntype,
440    con RealTy : dyntype,
441    con StringTy : dyntype,
442    con TimeTy : dyntype,
443    con UnknownTy : oid -> dyntype})
444  type dbconn = dbconn
445  datatype dbresultstatus =
446  (dbresultstatus,
447   {con Bad_response : dbresultstatus,
448    con Command_ok : dbresultstatus,
449    con Copy_in : dbresultstatus,
450    con Copy_out : dbresultstatus,
451    con Empty_query : dbresultstatus,
452    con Fatal_error : dbresultstatus,
453    con Nonfatal_error : dbresultstatus,
454    con Tuples_ok : dbresultstatus})
455  type oid = oid
456  type dbresult = dbresult
457  datatype dynval =
458  (dynval,
459   {con Bool : bool -> dynval,
460    con Bytea : array -> dynval,
461    con Date : int * int * int -> dynval,
462    con DateTime : date -> dynval,
463    con Int : int -> dynval,
464    con NullVal : dynval,
465    con Oid : oid -> dynval,
466    con Real : real -> dynval,
467    con String : string -> dynval,
468    con Time : int * int * int -> dynval})
469  val getdynfield = fn : dbresult -> int -> int -> dynval
470  val fname = fn : dbresult -> int -> string
471  con NullVal = NullVal : dynval
472  val ftype = fn : dbresult -> int -> dyntype
473  val db = fn : dbconn -> string
474  val getreal = fn : dbresult -> int -> int -> real
475  con Real = fn : real -> dynval
476  val showquery = fn : dbconn -> string -> wseq
477  con Nonfatal_error = Nonfatal_error : dbresultstatus
478  exn Null = Null : exn
479  con Fatal_error = Fatal_error : dbresultstatus
480  con Copy_in = Copy_in : dbresultstatus
481  val fnumber = fn : dbresult -> string -> int option
482  con DateTimeTy = DateTimeTy : dyntype
483  con TimeTy = TimeTy : dyntype
484  val getstring = fn : dbresult -> int -> int -> string
485  val getdatetime = fn : dbresult -> int -> int -> date
486  con ByteArrTy = ByteArrTy : dyntype
487  val getbool = fn : dbresult -> int -> int -> bool
488  con Bool = fn : bool -> dynval
489  con String = fn : string -> dynval
490  val status = fn : dbconn -> bool
491  con Command_ok = Command_ok : dbresultstatus
492  val getdate = fn : dbresult -> int -> int -> int * int * int
493  con Date = fn : int * int * int -> dynval
494  con DateTy = DateTy : dyntype
495  val fromtag = fn : dyntype -> string
496  con Empty_query = Empty_query : dbresultstatus
497  val reset = fn : dbconn -> unit
498  val closebase = fn : dbconn -> unit
499  val getint = fn : dbresult -> int -> int -> int
500  con DateTime = fn : date -> dynval
501  con StringTy = StringTy : dyntype
502  con Tuples_ok = Tuples_ok : dbresultstatus
503  val ('a, 'b) applyto = fn : 'a -> ('a -> 'b) -> 'b
504  val nfields = fn : dbresult -> int
505  con OidTy = OidTy : dyntype
506  val openbase = fn :
507  {dbhost : string option, dbname : string option, dboptions : string option,
508   dbport : string option, dbpwd : string option, dbtty : string option,
509   dbuser : string option} -> dbconn
510  val resultstatus = fn : dbresult -> dbresultstatus
511  con RealTy = RealTy : dyntype
512  val host = fn : dbconn -> string option
513  val gettime = fn : dbresult -> int -> int -> int * int * int
514  con Time = fn : int * int * int -> dynval
515  val formattable = fn : dbresult -> wseq
516  con Oid = fn : oid -> dynval
517  con Bad_response = Bad_response : dbresultstatus
518  val errormessage = fn : dbconn -> string option
519  val copytableto = fn : dbconn * string * (string -> unit) -> unit
520  val options = fn : dbconn -> string
521  con IntTy = IntTy : dyntype
522  con UnknownTy = fn : oid -> dyntype
523  val cmdtuples = fn : dbresult -> int
524  con Bytea = fn : array -> dynval
525  val dynval2s = fn : dynval -> string
526  val copytablefrom = fn : dbconn * string * ((string -> unit) -> unit) -> unit
527  val execute = fn : dbconn -> string -> dbresult
528  val fnames = fn : dbresult -> string vector
529  con BoolTy = BoolTy : dyntype
530  val ftypes = fn : dbresult -> dyntype vector
531  val port = fn : dbconn -> string
532  val tty = fn : dbconn -> string
533  val ntuples = fn : dbresult -> int
534  val isnull = fn : dbresult -> int -> int -> bool
535  val getdyntups = fn : dbresult -> dynval vector vector
536  con Copy_out = Copy_out : dbresultstatus
537  val getdyntup = fn : dbresult -> int -> dynval vector
538  exn Closed = Closed : exn
539  con Int = fn : int -> dynval
540> val dbhost = SOME "localhost" : string option
541> val 'a dbport = NONE : 'a option
542> val 'a dboptions = NONE : 'a option
543> val 'a dbtty = NONE : 'a option
544> val 'a dbuser = NONE : 'a option
545> val 'a dbpwd = NONE : 'a option
546> val 'a dbname = NONE : 'a option
547> val pc = <dbconn> : dbconn
548> val info = ("sestoft", SOME "localhost", "", "5432", "") :
549  string * string option * string * string * string
550> val inst = fn : string -> dbresult
551  val res1 = <dbresult> : dbresult
552  val test1a = "OK" : string
553  val test1b = "OK" : string
554  val test1c = "OK" : string
555> val test1d = "OK" : string
556  val test1e = "OK" : string
557  val test1f = "OK" : string
558> val test1g = "OK" : string
559> val test1h = "OK" : string
560> val test1i = "OK" : string
561  val test1j = "OK" : string
562  val test1k = "OK" : string
563  val test1l = "OK" : string
564> val res2 = <dbresult> : dbresult
565  val res3 = <dbresult> : dbresult
566> val test3a = "OK" : string
567  val test3b = "OK" : string
568  val test3c = "OK" : string
569  val test3d = "OK" : string
570  val test3e = "OK" : string
571  val test3f = "OK" : string
572  val test3ga = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
573  string * string * string * string * string * string * string * string
574  val test3gb = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
575  string * string * string * string * string * string * string * string
576  val test3gc = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
577  string * string * string * string * string * string * string * string
578  val test3gd = ("OK", "OK", "OK", "OK", "OK", "OK", "OK", "OK") :
579  string * string * string * string * string * string * string * string
580  val test3ha = ("OK", "OK") : string * string
581  val test3hb = ("OK", "OK") : string * string
582  val test3hc = ("OK", "OK") : string * string
583  val test4 = "OK" : string
584  val res5 = <dbresult> : dbresult
585  val test5a = "OK" : string
586  val test6 = "OK" : string
587  val test7 = "OK" : string
588  val test8 = "OK" : string
589  val test9 = "OK" : string
590  val test10 = "OK" : string
591make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/mpq'
592cd mregex; make test
593make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/mregex'
594mosml testregex.sml
595Moscow ML version 2.00 (June 2000)
596Enter `quit();' to quit.
597[opening file "testregex.sml"]
598> val it = () : unit
599[opening file "../../mosmllib/test/auxil.sml"]
600> infix 1 seq
601  val ('a, 'b) seq = fn : 'a * 'b -> 'b
602> val check = fn : bool -> string
603> val check' = fn : (unit -> bool) -> string
604> val range = fn : int * int -> (int -> bool) -> bool
605> val checkrange = fn : int * int -> (int -> bool) -> string
606[closing file "../../mosmllib/test/auxil.sml"]
607> val it = () : unit
608> datatype eflag = (eflag,{con Notbol : eflag, con Noteol : eflag})
609  type regex = regex
610  datatype cflag =
611  (cflag,{con Extended : cflag, con Icase : cflag, con Newline : cflag})
612  datatype replacer =
613  (replacer,
614   {con Str : string -> replacer,
615    con Sus : int -> replacer,
616    con Tr : (string -> string) * int -> replacer,
617    con Trs : (substring vector -> string) -> replacer})
618  val ('a, 'b) fapp = fn : ('a -> 'b) -> 'a * 'b list -> 'b list
619  val get = fn : int -> substring vector -> string
620  con Noteol = Noteol : eflag
621  con Notbol = Notbol : eflag
622  val 'a map = fn : regex -> (substring vector -> 'a) -> string -> 'a list
623  val regnexec = fn :
624  regex -> eflag list -> substring -> substring vector option
625  con Extended = Extended : cflag
626  exn Regex = fn : string -> exn
627  con Str = fn : string -> replacer
628  val regexecBool = fn : regex -> eflag list -> string -> bool
629  con Icase = Icase : cflag
630  val regnexecBool = fn : regex -> eflag list -> substring -> bool
631  val substitute1 = fn : regex -> (string -> string) -> string -> string
632  val regmatchBool = fn :
633  {pat : string, tgt : string} -> cflag list -> eflag list -> bool
634  val 'a fold = fn :
635  regex -> (substring * 'a -> 'a) * (substring vector * 'a -> 'a) -> 'a ->
636  string -> 'a
637  val replace1 = fn : regex -> replacer list -> string -> string
638  val app = fn : regex -> (substring vector -> unit) -> string -> unit
639  con Trs = fn : (substring vector -> string) -> replacer
640  val fields = fn : regex -> string -> substring list
641  val regmatch = fn :
642  {pat : string, tgt : string} -> cflag list -> eflag list ->
643  substring vector option
644  val replace = fn : regex -> replacer list -> string -> string
645  val substitute = fn : regex -> (string -> string) -> string -> string
646  con Tr = fn : (string -> string) * int -> replacer
647  val regcomp = fn : string -> cflag list -> regex
648  con Sus = fn : int -> replacer
649  con Newline = Newline : cflag
650  val regexec = fn : regex -> eflag list -> string -> substring vector option
651  val tokens = fn : regex -> string -> substring list
652User: 0.000  System: 0.000  GC: 0.000  Real: 0.000
653size(s) = 23; length(res) = 5
654User: 0.000  System: 0.000  GC: 0.000  Real: 0.000
655size(s) = 46; length(res) = 10
656User: 0.000  System: 0.000  GC: 0.000  Real: 0.000
657size(s) = 92; length(res) = 20
658User: 0.000  System: 0.000  GC: 0.000  Real: 0.000
659size(s) = 184; length(res) = 40
660User: 0.000  System: 0.000  GC: 0.000  Real: 0.001
661size(s) = 368; length(res) = 80
662User: 0.000  System: 0.000  GC: 0.000  Real: 0.002
663size(s) = 736; length(res) = 160
664User: 0.020  System: 0.000  GC: 0.020  Real: 0.017
665size(s) = 1472; length(res) = 320
666User: 0.000  System: 0.000  GC: 0.000  Real: 0.007
667size(s) = 2944; length(res) = 640
668User: 0.020  System: 0.000  GC: 0.000  Real: 0.015
669size(s) = 5888; length(res) = 1280
670User: 0.030  System: 0.000  GC: 0.000  Real: 0.033
671size(s) = 11776; length(res) = 2560
672User: 0.080  System: 0.000  GC: 0.000  Real: 0.072
673size(s) = 23552; length(res) = 5120
674User: 0.130  System: 0.000  GC: 0.010  Real: 0.133
675size(s) = 47104; length(res) = 10240
676User: 0.280  System: 0.000  GC: 0.070  Real: 0.289
677size(s) = 94208; length(res) = 20480
678User: 0.590  System: 0.000  GC: 0.120  Real: 0.592
679size(s) = 188416; length(res) = 40960
680> val test1a = "OK" : string
681  val test1b = "OK" : string
682  val test2a = "OK" : string
683  val test2b = "OK" : string
684  val test3a = "OK" : string
685  val test3b = "OK" : string
686  val test4a = "OK" : string
687  val test4b = "OK" : string
688  val test5a = "OK" : string
689  val test5b = "OK" : string
690  val test6a = "OK" : string
691  val test6b = "OK" : string
692  val test6c = "OK" : string
693  val test6d = "OK" : string
694  val test6e = "OK" : string
695  val test6f = "OK" : string
696  val test6g = "OK" : string
697  val test7a = "OK" : string
698  val test7b = "OK" : string
699  val test7c = "OK" : string
700  val test7d = "OK" : string
701  val test7e = "OK" : string
702  val test8a = "OK" : string
703  val test8b = "OK" : string
704  val test8c = "OK" : string
705  val test8d = "OK" : string
706  val test9a = "OK" : string
707  val test9b = "OK" : string
708  val test10a = "OK" : string
709  val test10b = "OK" : string
710  val test10c = "OK" : string
711  val test10d = "OK" : string
712  val test11a = "OK" : string
713  val test11b = "OK" : string
714  val test11c = "OK" : string
715  val test11d = "OK" : string
716  val test12a = "OK" : string
717  val test12b = "OK" : string
718  val test13a = "OK" : string
719  val test13b = "OK" : string
720  val test14a = "OK" : string
721  val test14b = "OK" : string
722  val test15a = "OK" : string
723  val test16a = "OK" : string
724  val test16b = "OK" : string
725make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/mregex'
726cd munix; make test
727make[1]: Entering directory `/home/sestoft/mosml2.0/src/dynlibs/munix'
728gcc -O2 -o sieve sieve.c
729mosml testunix.sml
730Moscow ML version 2.00 (June 2000)
731Enter `quit();' to quit.
732[opening file "testunix.sml"]
733> val it = () : unit
734> type signal = signal
735  type proc = proc
736  type elem = char
737  type vector = string
738  type cs = cs
739  type instream = instream
740  type outstream = outstream
741  val kill = fn : proc * signal -> unit
742  val streamsOf = fn : proc -> instream * outstream
743  val reap = fn : proc -> status
744  val execute = fn : string * string list -> proc
745  val executeInEnv = fn : string * string list * string list -> proc
746  val stdErr = <outstream> : outstream
747  val openAppend = fn : string -> outstream
748  val flushOut = fn : outstream -> unit
749  val inputAll = fn : instream -> string
750  val inputLine = fn : instream -> string
751  val output1 = fn : outstream * char -> unit
752  val closeIn = fn : instream -> unit
753  val closeOut = fn : outstream -> unit
754  val lookahead = fn : instream -> char option
755  val stdIn = <instream> : instream
756  val input = fn : instream -> string
757  val print = fn : string -> unit
758  val inputNoBlock = fn : instream -> string option
759  val endOfStream = fn : instream -> bool
760  val output = fn : outstream * string -> unit
761  val inputN = fn : instream * int -> string
762  val outputSubstr = fn : outstream * substring -> unit
763  val openIn = fn : string -> instream
764  val openOut = fn : string -> outstream
765  val stdOut = <outstream> : outstream
766  val input1 = fn : instream -> char option
767  val 'a scanStream = fn :
768  ((cs -> (char * cs) option) -> cs -> ('a * cs) option) -> instream ->
769  'a option
7700 0
7711 0
7722 1
7733 1
7744 0
7755 1
7766 0
7777 1
7788 0
7799 0
78010 0
78111 1
78212 0
78313 1
78414 0
78515 0
78616 0
78717 1
78818 0
78919 1
79020 0
79121 0
79222 0
79323 1
79424 0
79525 0
79626 0
79727 0
79828 0
79929 1
80030 0
80131 1
80232 0
80333 0
80434 0
80535 0
80636 0
80737 1
80838 0
80939 0
81040 0
81141 1
81242 0
81343 1
81444 0
81545 0
81646 0
81747 1
81848 0
81949 0
82050 0
82151 0
82252 0
82353 1
82454 0
82555 0
82656 0
82757 0
82858 0
82959 1
83060 0
83161 1
83262 0
83363 0
83464 0
83565 0
83666 0
83767 1
83868 0
83969 0
84070 0
84171 1
84272 0
84373 1
84474 0
84575 0
84676 0
84777 0
84878 0
84979 1
85080 0
85181 0
85282 0
85383 1
85484 0
85585 0
85686 0
85787 0
85888 0
85989 1
86090 0
86191 0
86292 0
86393 0
86494 0
86595 0
86696 0
86797 1
86898 0
86999 0
870100 0
871101 1
872102 0
873103 1
874104 0
875105 0
876106 0
877107 1
878108 0
879109 1
880110 0
881111 0
882112 0
883113 1
884114 0
885115 0
886116 0
887117 0
888118 0
889119 0
890120 0
891121 0
892122 0
893123 0
894124 0
895125 0
896126 0
897127 1
898128 0
899129 0
900130 0
901131 1
902132 0
903133 0
904134 0
905135 0
906136 0
907137 1
908138 0
909139 1
910140 0
911141 0
912142 0
913143 0
914144 0
915145 0
916146 0
917147 0
918148 0
919149 1
920150 0
921151 1
922152 0
923153 0
924154 0
925155 0
926156 0
927157 1
928158 0
929159 0
930160 0
931161 0
932162 0
933163 1
934164 0
935165 0
936166 0
937167 1
938168 0
939169 0
940170 0
941171 0
942172 0
943173 1
944174 0
945175 0
946176 0
947177 0
948178 0
949179 1
950180 0
951181 1
952182 0
953183 0
954184 0
955185 0
956186 0
957187 0
958188 0
959189 0
960190 0
961191 1
962192 0
963193 1
964194 0
965195 0
966196 0
967197 1
968198 0
969199 1
970> val startandstop = fn : int -> string
971> val p = <proc> : proc
972Started subprocess...
973> val is = <instream> : instream
974  val os = <outstream> : outstream
975> val wr = fn : int -> string
976> val res = ["1\n", "1\n", "0\n", "0\n", "0\n"] : string list
977make[1]: Leaving directory `/home/sestoft/mosml2.0/src/dynlibs/munix'
978