File: string-cvt.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (51 lines) | stat: -rw-r--r-- 1,633 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
signature STRING_CVT =
   sig
      datatype radix = BIN | OCT | DEC | HEX

      datatype realfmt =
         SCI of int option 
       | FIX of int option 
       | GEN of int option 
       | EXACT

      type ('a, 'b) reader = 'b -> ('a * 'b) option

      val padLeft: char -> int -> string -> string 
      val padRight: char -> int -> string -> string 

      val splitl: (char -> bool) -> (char, 'a) reader -> 'a -> string * 'a

      val takel: (char -> bool) -> (char, 'a) reader -> 'a -> string 
      val dropl: (char -> bool) -> (char, 'a) reader -> 'a -> 'a 
      val skipWS: (char, 'a) reader -> 'a -> 'a

      type cs
      val scanString:
         ((char, cs) reader -> ('a, cs) reader) -> string -> 'a option
   end

signature STRING_CVT_EXTRA =
   sig
      include STRING_CVT

      val radixToInt: radix -> int
      val radixToWord: radix -> word
      val charToDigit: radix -> char -> int option
      val charToWDigit: radix -> char -> word option
      
      (* this exists before Char.isSpace *)
      val isSpace: char -> bool

      (* maps 0...15 to #"0", #"1", ..., #"F" *)
      val digitToChar: int -> char

      (* digitsExact(r, n) reads exactly n digits of radix r *)
      val digitsExact: radix * int -> (char, 'a) reader -> (int, 'a) reader

      (* digitsPlus(r, m) reads between 1 and m digits of radix r *)
      val digitsPlus: radix * int -> (char, 'a) reader -> (int, 'a) reader

      (* digits r reads as many digits of radix r as possible *)
      val digits: radix -> (char, 'a) reader -> (int, 'a) reader
      val wdigits: radix -> (char, 'a) reader -> (word, 'a) reader
   end