Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / config / choose-word.sml
CommitLineData
7f918cf1
CE
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_WORDN_ARG =
10 sig
11 type 'a t
12 val fWord8: Word8.word t
13 val fWord16: Word16.word t
14 val fWord32: Word32.word t
15 val fWord64: Word64.word t
16 end
17
18functor ChooseWordN_Word8 (A : CHOOSE_WORDN_ARG) :
19 sig val f : Word8.word A.t end =
20 struct val f = A.fWord8 val _ = A.fWord16 val _ = A.fWord32 val _ = A.fWord64 end
21functor ChooseWordN_Word16 (A : CHOOSE_WORDN_ARG) :
22 sig val f : Word16.word A.t end =
23 struct val _ = A.fWord8 val f = A.fWord16 val _ = A.fWord32 val _ = A.fWord64 end
24functor ChooseWordN_Word32 (A : CHOOSE_WORDN_ARG) :
25 sig val f : Word32.word A.t end =
26 struct val _ = A.fWord8 val _ = A.fWord16 val f = A.fWord32 val _ = A.fWord64 end
27functor ChooseWordN_Word64 (A : CHOOSE_WORDN_ARG) :
28 sig val f : Word64.word A.t end =
29 struct val _ = A.fWord8 val _ = A.fWord16 val _ = A.fWord32 val f = A.fWord64 end