Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / util / abs-rep.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2008 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
8signature ABS_REP =
9 sig
10 type t
11 structure Rep : sig type t end
12 val arrayFromRep : Rep.t array -> t array
13 val arrayToRep : t array -> Rep.t array
14 val fromRep : Rep.t -> t
15 val listFromRep : Rep.t list -> t list
16 val listToRep : t list -> Rep.t list
17 val toRep : t -> Rep.t
18 val vectorFromRep : Rep.t vector -> t vector
19 val vectorToRep : t vector -> Rep.t vector
20 end
21
22signature ABS_REP_EQ =
23 sig
24 eqtype t
25 structure Rep : sig eqtype t end
26 val arrayFromRep : Rep.t array -> t array
27 val arrayToRep : t array -> Rep.t array
28 val fromRep : Rep.t -> t
29 val listFromRep : Rep.t list -> t list
30 val listToRep : t list -> Rep.t list
31 val toRep : t -> Rep.t
32 val vectorFromRep : Rep.t vector -> t vector
33 val vectorToRep : t vector -> Rep.t vector
34 end