aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/documentation/lux/static.lux
blob: bcde2dad6ce262e5a38bc82352b8102d91d25a48 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
(.using
 [library
  [lux {"-" nat int rev}
   ["$" documentation {"+" documentation:}]
   [data
    [text
     ["%" format {"+" format}]]
    [collection
     ["[0]" list]]]]]
 [\\library
  ["[0]" /]])

(template [<name> <type>]
  [(documentation: <name>
     (%.code (' (<name>
                 (is <type>
                     (value generating expression))))))]

  [/.nat .Nat]
  [/.int .Int]
  [/.rev .Rev]
  [/.frac .Frac]
  [/.text .Text]
  )

(documentation: /.literal
  ""
  [(/.literal
    (is (-> ??? Code)
        format)
    (is ???
        (value generating expression)))])

(template [<name> <type>]
  [(documentation: <name>
     (%.code (' (is <type>
                    (<name>)))))]

  [/.random_nat .Nat]
  [/.random_int .Int]
  [/.random_rev .Rev]
  [/.random_frac .Frac]
  )

(documentation: /.random
  ""
  [(/.random
    (is (-> ??? Code)
        format)
    (is (Random ???)
        (random data generator)))])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..nat
             ..int
             ..rev
             ..frac
             ..text
             ..literal
             ..random_nat
             ..random_int
             ..random_rev
             ..random_frac
             ..random]
            []))