Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / mlton / basic / char.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2006 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 CHAR =
10 sig
11 type t = char
12
13 val < : t * t -> bool
14 val <= : t * t -> bool
15 val > : t * t -> bool
16 val >= : t * t -> bool
17 val chr: int -> t
18 val compare: t * t -> Relation.t
19 val dash: t
20 val digitToInt: t -> int option
21 val dquote: t (* " *)
22 val equals: t * t -> bool
23 val escapeC: t -> string
24 val escapeSML: t -> string
25 val fromCString: string -> t option
26 val fromDigit: int -> t
27 val fromHexDigit: int -> t
28 val fromInt: int -> t
29 val fromString: string -> t option
30 val fromWord8: Word8.t -> t
31 val isAlpha: t -> bool
32 val isAlphaNum: t -> bool
33 val isAscii: t -> bool
34 val isCntrl: t -> bool
35 val isDigit: t -> bool
36 val isGraph: t -> bool
37 val isHexDigit: t -> bool
38 val isLower: t -> bool
39 val isPrint: t -> bool
40 val isSpace: t -> bool
41 val isUpper: t -> bool
42 val layout: t -> Layout.t
43 val max: t * t -> t
44 val maxChar: t
45 val maxOrd: int
46 val memoize: (char -> 'a) -> (char -> 'a)
47 val min: t * t -> t
48 val minChar: t
49 val newline: t
50 val numChars: int
51 val ord: t -> int
52 val output: t * TextIO.outstream -> unit
53 val pred: t -> t
54 val space: t
55 val succ: t -> t
56 val toHexDigit: t -> int
57 val toInt: t -> int
58 val toLower: t -> t
59 val toString: t -> string
60 val toUpper: t -> t
61 val toWord8: t -> Word8.t
62 end
63
64functor TestChar (S: CHAR): sig end =
65 struct
66 open S
67 val _ =
68 Assert.assert
69 ("TestChar", fn () =>
70 "\\000" = escapeC #"\000")
71 end