gcc -Dunix -O2 -fno-defer-pop  -I../../../runtime -c -o cside.o cside.c
ld -shared -o libcside.so cside.o
mosml testcallback.sml
Moscow ML version 1.99 (internal release)
Enter `quit();' to quit.
[opening file "testcallback.sml"]
> val it = () : unit
[opening file "../auxil.sml"]
> infix 1 seq
  val ('a, 'b) seq = fn : 'a * 'b -> 'b
> val check = fn : bool -> string
> val check' = fn : (unit -> bool) -> string
> val range = fn : int * int -> (int -> bool) -> bool
> val checkrange = fn : int * int -> (int -> bool) -> string
[closing file "../auxil.sml"]
> val it = () : unit
> type cptr = cptr
  val ('a1, 'b) app1 = fn : cptr -> 'a1 -> 'b
  val ('a1, 'a2, 'b) app2 = fn : cptr -> 'a1 -> 'a2 -> 'b
  val ('a1, 'a2, 'a3, 'b) app3 = fn : cptr -> 'a1 -> 'a2 -> 'a3 -> 'b
  val ('a1, 'a2, 'a3, 'a4, 'b) app4 = fn :
  cptr -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'b
  val getcptr = fn : string -> cptr
  val ('a1, 'a2, 'a3, 'a4, 'a5, 'b) app5 = fn :
  cptr -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'a5 -> 'b
  val isRegistered = fn : string -> bool
  val 'a register = fn : string -> 'a -> unit
  val unregister = fn : string -> unit
  val 'b var = fn : cptr -> 'b
> val dlh = <dlHandle> : dlHandle
> val fu = fn : unit -> unit
> val fi = fn : int -> int
> val fc = fn : char -> char
> val fr = fn : real -> real
> val fs = fn : string -> string
> val fb = fn : bool -> bool
> val fcur = fn : int -> char -> real -> string -> bool -> int
> val ftup = fn : int * char * real -> int
> val frec = fn : {age : int, givenname : string, surname : string} -> bool
> New type names: =t
  datatype t =
  (t,{con Br : int * t * t -> t, con Brs : t list -> t, con Lf : t})
  con Br = fn : int * t * t -> t
  con Brs = fn : t list -> t
  con Lf = Lf : t
  val fdat = fn : t -> int
> val ffun = fn : (int -> real) -> int -> string
> val frtup = fn : int -> int * bool
> val frrec = fn : int -> {half : int, odd : bool}
> val fconcat = fn : string -> string -> string
> val test1 = true : bool
> val test2 = true : bool
> val test3 = true : bool
> val test4 = true : bool
> val test5 = true : bool
> val test6 = true : bool
> val test7 = true : bool
> val test8 = true : bool
> val test9 = true : bool
> val test10 = true : bool
  val test11 = true : bool
> val test12 = true : bool
> val test13 = true : bool
> val test14 = true : bool
> val test15 = true : bool
> val test16 = true : bool
> val test17 = true : bool
> val test18 = true : bool
User: 0.450  System: 0.000  GC: 0.000  Real: 0.451
User: 0.350  System: 0.000  GC: 0.000  Real: 0.353
