1(* ========================================================================= *) 2(* MOSCOW ML SPECIFIC FUNCTIONS *) 3(* Copyright (c) 2002-2004 Joe Hurd. *) 4(* ========================================================================= *) 5 6structure mlibPortable :> mlibPortable = 7struct 8 9(* ------------------------------------------------------------------------- *) 10(* The ML implementation. *) 11(* ------------------------------------------------------------------------- *) 12 13val ml = Systeml.ML_SYSNAME; 14 15(* ------------------------------------------------------------------------- *) 16(* Ensuring that interruptions (SIGINTs) are actually seen by the *) 17(* linked executable as Interrupt exceptions. *) 18(* ------------------------------------------------------------------------- *) 19 20val _ = Portable.catch_SIGINT(); 21 22(* ------------------------------------------------------------------------- *) 23(* Pointer equality using the run-time system. *) 24(* ------------------------------------------------------------------------- *) 25 26fun pointer_eq x y = Portable.pointer_eq(x,y) 27 28(* ------------------------------------------------------------------------- *) 29(* Timing function applications a la Mosml.time. *) 30(* ------------------------------------------------------------------------- *) 31 32val time = Portable.time; 33 34(* ------------------------------------------------------------------------- *) 35(* MD5 cryptographic hashing. *) 36(* ------------------------------------------------------------------------- *) 37 38val md5 = Portable.md5sum; 39 40end 41