DISABLE FDs (REMOVE ME).
[jackhill/mal.git] / picolisp / types.l
CommitLineData
a870ad3f
VS
1(class +MAL)
2# type value meta
3(dm T (Type Value Meta)
4 (=: type Type)
5 (=: value Value)
6 (=: meta Meta) )
7
8d229b7c
VS
8(de MAL-type (MAL)
9 (get MAL 'type) )
10
11(de MAL-value (MAL)
12 (get MAL 'value) )
13
14(de MAL-meta (MAL)
15 (get MAL 'meta) )
16
a870ad3f
VS
17(class +MALTrue +MAL)
18(dm T ()
118269ab 19 (super 'true 'true NIL) )
a870ad3f
VS
20
21(class +MALFalse +MAL)
22(dm T ()
118269ab 23 (super 'false 'false NIL) )
a870ad3f
VS
24
25(class +MALNil +MAL)
26(dm T ()
118269ab 27 (super 'nil 'nil NIL) )
a870ad3f
VS
28
29(def '*MAL-true (new '(+MALTrue)))
30(def '*MAL-false (new '(+MALFalse)))
31(def '*MAL-nil (new '(+MALNil)))
32
33(class +MALNumber +MAL)
34(dm T (Number)
35 (super 'number Number NIL) )
36
8d229b7c
VS
37(de MAL-number (N)
38 (new '(+MALNumber) N) )
39
a870ad3f
VS
40(class +MALString +MAL)
41(dm T (String)
42 (super 'string String NIL) )
43
8d229b7c
VS
44(de MAL-string (N)
45 (new '(+MALString) N) )
46
a870ad3f
VS
47(class +MALSymbol +MAL)
48(dm T (String)
49 (super 'symbol String NIL) )
50
8d229b7c
VS
51(de MAL-symbol (N)
52 (new '(+MALSymbol) N) )
53
a870ad3f
VS
54(class +MALKeyword +MAL)
55(dm T (String)
56 (super 'keyword String NIL) )
57
8d229b7c
VS
58(de MAL-keyword (N)
59 (new '(+MALKeyword) N) )
60
a870ad3f
VS
61(class +MALList +MAL)
62(dm T (Values)
63 (super 'list Values NIL) )
64
8d229b7c
VS
65(de MAL-list (N)
66 (new '(+MALList) N) )
67
a870ad3f
VS
68(class +MALVector +MAL)
69(dm T (Values)
70 (super 'vector Values NIL) )
71
8d229b7c
VS
72(de MAL-vector (N)
73 (new '(+MALVector) N) )
74
a870ad3f
VS
75(class +MALMap +MAL)
76(dm T (Values)
77 (super 'map Values NIL) )
78
8d229b7c
VS
79(de MAL-map (N)
80 (new '(+MALMap) N) )
81
a870ad3f
VS
82(class +MALAtom +MAL)
83(dm T (Value)
84 (super 'atom Value NIL) )
85
8d229b7c
VS
86(de MAL-atom (N)
87 (new '(+MALAtom) N) )
88
118269ab
VS
89(class +MALFn +MAL)
90(dm T (Fn)
91 (super 'fn Fn NIL) )
92
93(de MAL-fn (Fn)
94 (new '(+MALFn) Fn) )
95
a870ad3f
VS
96(class +MALError +MAL)
97(dm T (Value)
98 (super 'error Value NIL) )
8d229b7c
VS
99
100(de MAL-error (Value)
101 (new '(+MALError) Value) )