Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / stubs / mlton-stubs / mlton.sig
1 (* Copyright (C) 2009,2013 Matthew Fluet.
2 * Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10 signature MLTON =
11 sig
12 val debug: bool
13 (* Pointer equality. The usual caveats about lack of a well-defined
14 * semantics.
15 *)
16 val eq: 'a * 'a -> bool
17 (* Structural equality. Equivalent to SML's polymorphic
18 * equality on equality types and a conservative approximation
19 * of equivalence other types.
20 *)
21 val equal: 'a * 'a -> bool
22 (* Structural hash. *)
23 val hash: 'a -> Word32.word
24 val isMLton: bool
25 val safe: bool
26 val share: 'a -> unit
27 val shareAll: unit -> unit
28 val size: 'a -> int
29
30 structure Array: MLTON_ARRAY
31 (* structure BinIO: MLTON_BIN_IO *)
32 (* structure Cont: MLTON_CONT *)
33 structure Exn: MLTON_EXN
34 (* structure Finalizable: MLTON_FINALIZABLE *)
35 structure GC: MLTON_GC
36 structure Itimer: MLTON_ITIMER
37 structure Platform: MLTON_PLATFORM
38 structure ProcEnv: MLTON_PROC_ENV
39 structure Process: MLTON_PROCESS
40 structure Profile: MLTON_PROFILE
41 structure Random: MLTON_RANDOM
42 structure Rusage: MLTON_RUSAGE
43 structure Signal: MLTON_SIGNAL
44 structure TextIO: MLTON_TEXT_IO
45 structure Thread: MLTON_THREAD
46 structure Vector: MLTON_VECTOR
47 (* structure Weak: MLTON_WEAK *)
48 (* structure Word: MLTON_WORD *)
49 (* structure Word8: MLTON_WORD *)
50 (* structure World: MLTON_WORLD *)
51 end