Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / mlton / finalizable.sig
1 (* Copyright (C) 2003-2005 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 *
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
6 *)
7
8 signature MLTON_FINALIZABLE =
9 sig
10 type 'a t
11
12 val addFinalizer: 'a t * ('a -> unit) -> unit
13 val finalizeBefore: 'a t * 'b t -> unit
14 val new: 'a -> 'a t
15 val touch: 'a t -> unit
16 val withValue: 'a t * ('a -> 'b) -> 'b
17 end