Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / config / choose-int.sml
... / ...
CommitLineData
1(* Copyright (C) 2010 Matthew Fluet.
2* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9signature CHOOSE_INTN_ARG =
10 sig
11 type 'a t
12 val fInt8: Int8.int t
13 val fInt16: Int16.int t
14 val fInt32: Int32.int t
15 val fInt64: Int64.int t
16 end
17
18functor ChooseIntN_Int8 (A : CHOOSE_INTN_ARG) :
19 sig val f : Int8.int A.t end =
20 struct val f = A.fInt8 val _ = A.fInt16 val _ = A.fInt32 val _ = A.fInt64 end
21functor ChooseIntN_Int16 (A : CHOOSE_INTN_ARG) :
22 sig val f : Int16.int A.t end =
23 struct val _ = A.fInt8 val f = A.fInt16 val _ = A.fInt32 val _ = A.fInt64 end
24functor ChooseIntN_Int32 (A : CHOOSE_INTN_ARG) :
25 sig val f : Int32.int A.t end =
26 struct val _ = A.fInt8 val _ = A.fInt16 val f = A.fInt32 val _ = A.fInt64 end
27functor ChooseIntN_Int64 (A : CHOOSE_INTN_ARG) :
28 sig val f : Int64.int A.t end =
29 struct val _ = A.fInt8 val _ = A.fInt16 val _ = A.fInt32 val f = A.fInt64 end
30
31signature CHOOSE_INT_ARG =
32 sig
33 type 'a t
34 val fInt8: Int8.int t
35 val fInt16: Int16.int t
36 val fInt32: Int32.int t
37 val fInt64: Int64.int t
38 val fIntInf: IntInf.int t
39 end
40
41functor ChooseInt_Int8 (A : CHOOSE_INT_ARG) :
42 sig val f : Int8.int A.t end =
43 struct val f = A.fInt8 val _ = A.fInt16 val _ = A.fInt32 val _ = A.fInt64 val _ = A.fIntInf end
44functor ChooseInt_Int16 (A : CHOOSE_INT_ARG) :
45 sig val f : Int16.int A.t end =
46 struct val _ = A.fInt8 val f = A.fInt16 val _ = A.fInt32 val _ = A.fInt64 val _ = A.fIntInf end
47functor ChooseInt_Int32 (A : CHOOSE_INT_ARG) :
48 sig val f : Int32.int A.t end =
49 struct val _ = A.fInt8 val _ = A.fInt16 val f = A.fInt32 val _ = A.fInt64 val _ = A.fIntInf end
50functor ChooseInt_Int64 (A : CHOOSE_INT_ARG) :
51 sig val f : Int64.int A.t end =
52 struct val _ = A.fInt8 val _ = A.fInt16 val _ = A.fInt32 val f = A.fInt64 val _ = A.fIntInf end
53functor ChooseInt_IntInf (A : CHOOSE_INT_ARG) :
54 sig val f : IntInf.int A.t end =
55 struct val _ = A.fInt8 val _ = A.fInt16 val _ = A.fInt32 val _ = A.fInt64 val f = A.fIntInf end