Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

build open-axiom

54546 views
1
2
(DECLAIM
3
(FTYPE (FUNCTION ((|%List| |%Thing|) |%Shell|) |%Thing|) |ADDAST;base;$Sa;1|))
4
5
(DECLAIM
6
(FTYPE (FUNCTION ((|%List| |%Thing|) |%Shell|) |%Thing|) |ADDAST;body;$Sa;2|))
7
8
(DECLAIM
9
(FTYPE (FUNCTION ((|%List| |%Thing|) |%Shell|) |%Thing|)
10
|ADDAST;coerce;$Of;3|))
11
12
(DEFUN |ADDAST;base;$Sa;1| (|x| $) (SPADCALL |x| (|shellEntry| $ 9)))
13
14
(DEFUN |ADDAST;body;$Sa;2| (|x| $) (SPADCALL |x| (|shellEntry| $ 11)))
15
16
(DEFUN |ADDAST;coerce;$Of;3| (|x| $)
17
(SPADCALL '|AddAst|
18
(LIST
19
(SPADCALL '|base|
20
(SPADCALL (|ADDAST;base;$Sa;1| |x| $)
21
(|shellEntry| $ 14))
22
(|shellEntry| $ 15))
23
(SPADCALL '|body|
24
(SPADCALL (|ADDAST;body;$Sa;2| |x| $)
25
(|shellEntry| $ 14))
26
(|shellEntry| $ 15)))
27
(|shellEntry| $ 17)))
28
29
(DEFUN |AddAst| ()
30
(DECLARE (SPECIAL |$ConstructorCache|))
31
(LET ((#1=#:G544 (|tableValue| |$ConstructorCache| '|AddAst|)))
32
(COND (#1# (|CDRwithIncrement| (CDAR #1#)))
33
(T
34
(UNWIND-PROTECT
35
(PROG1
36
(CDDAR
37
(SETF (|tableValue| |$ConstructorCache| '|AddAst|)
38
(LIST (CONS NIL (CONS 1 (|AddAst;|))))))
39
(SETQ #1# T))
40
(COND
41
((NOT #1#) (|tableRemove!| |$ConstructorCache| '|AddAst|))))))))
42
43
(DEFUN |AddAst;| ()
44
(DECLARE (SPECIAL |$ConstructorCache|))
45
(LET (($ (|newShell| 23)) (|pv$| (|buildPredVector| 0 0 NIL)))
46
(PROGN
47
(SETF (|shellEntry| $ 0) '(|AddAst|))
48
(SETF (|shellEntry| $ 3) |pv$|)
49
(|haddProp| |$ConstructorCache| '|AddAst| NIL (CONS 1 $))
50
(|stuffDomainSlots| $)
51
(SETF (|shellEntry| $ 6) (|List| (|SpadAst|)))
52
$)))
53
54
(MAKEPROP '|AddAst| '|infovec|
55
(LIST
56
'#(NIL NIL NIL NIL NIL NIL '|Rep| (|SpadAst|) (|List| 7)
57
(0 . |second|) |ADDAST;base;$Sa;1| (5 . |third|)
58
|ADDAST;body;$Sa;2| (|OutputForm|) (10 . |coerce|) (15 . =)
59
(|List| $) (21 . |elt|) |ADDAST;coerce;$Of;3| (|Syntax|)
60
(|String|) (|SingleInteger|) (|Boolean|))
61
'#(~= 27 |latex| 33 |hash| 38 |coerce| 43 |body| 58 |before?| 63
62
|base| 69 = 74)
63
'NIL
64
(CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0))
65
(CONS
66
'#(NIL |AbstractSyntaxCategory&| |SetCategory&| |BasicType&|
67
NIL NIL NIL NIL NIL)
68
(CONS
69
'#((|SpadSyntaxCategory|) (|AbstractSyntaxCategory|)
70
(|SetCategory|) (|BasicType|) (|HomotopicTo| 19) (|Type|)
71
(|CoercibleFrom| 19) (|CoercibleTo| 19)
72
(|CoercibleTo| 13))
73
(|makeByteWordVec2| 22
74
'(1 8 7 0 9 1 8 7 0 11 1 7 13 0 14 2 13
75
0 0 0 15 2 13 0 0 16 17 2 0 22 0 0 1 1
76
0 20 0 1 1 0 21 0 1 1 0 19 0 1 1 0 0
77
19 1 1 0 13 0 18 1 0 7 0 12 2 0 22 0 0
78
1 1 0 7 0 10 2 0 22 0 0 1)))))
79
'|lookupComplete|))
80
81
(SETF (|dbTemplate| (|constructorDB| '|AddAst|))
82
#(NIL NIL NIL NIL NIL NIL '|Rep| (|SpadAst|) (|List| 7) (0 . |second|)
83
|ADDAST;base;$Sa;1| (5 . |third|) |ADDAST;body;$Sa;2| (|OutputForm|)
84
(10 . |coerce|) (15 . =) (|List| $) (21 . |elt|)
85
|ADDAST;coerce;$Of;3| (|Syntax|) (|String|) (|SingleInteger|)
86
(|Boolean|)))
87
88
(SETF (|dbLookupFunction| (|constructorDB| '|AddAst|)) '|lookupComplete|)
89
90
(SETF (|dbConstructorForm| (|constructorDB| '|AddAst|)) '(|AddAst|))
91
92
(SETF (|dbConstructorKind| (|constructorDB| '|AddAst|)) '|domain|)
93
94
(SETF (|dbConstructorModemap| (|constructorDB| '|AddAst|))
95
'(((|AddAst|)
96
(|Join| (|SpadSyntaxCategory|)
97
(CATEGORY |domain| (SIGNATURE |base| ((|SpadAst|) $))
98
(SIGNATURE |body| ((|SpadAst|) $)))))
99
(T |AddAst|)))
100
101
(SETF (|dbDualSignature| (|constructorDB| '|AddAst|)) '(NIL))
102
103
(SETF (|dbSourceFile| (|constructorDB| '|AddAst|)) '"syntax.spad")
104
105
(SETF (|dbModemaps| (|constructorDB| '|AddAst|))
106
'((|base| (*1 *2 *1)
107
(AND (|isDomain| *2 (|SpadAst|)) (|isDomain| *1 (|AddAst|))))
108
(|body| (*1 *2 *1)
109
(AND (|isDomain| *2 (|SpadAst|)) (|isDomain| *1 (|AddAst|))))))
110
111
(SETF (|dbOperations| (|constructorDB| '|AddAst|))
112
'((~= (#1=((|Boolean|) $ $) NIL T ELT))
113
(|latex| (((|String|) $) NIL T ELT))
114
(|hash| (((|SingleInteger|) $) NIL T ELT))
115
(|coerce| (((|OutputForm|) $) 18 T ELT) (($ #2=(|Syntax|)) NIL T ELT)
116
((#2# $) NIL T ELT))
117
(|body| (((|SpadAst|) $) 12 T ELT)) (|before?| (#1# NIL T ELT))
118
(|base| (((|SpadAst|) $) 10 T ELT)) (= (#1# NIL T ELT))))
119
120
(SETF (|dbOperationTable| (|constructorDB| '|AddAst|))
121
#(~= 27 |latex| 33 |hash| 38 |coerce| 43 |body| 58 |before?| 63 |base|
122
69 = 74))
123
124
(SETF (|dbCapsuleDefinitions| (|constructorDB| '|AddAst|))
125
'((|ADDAST;coerce;$Of;3| ((|OutputForm|) $))
126
(|ADDAST;body;$Sa;2| ((|SpadAst|) $))
127
(|ADDAST;base;$Sa;1| ((|SpadAst|) $))))
128
129
(SETF (|dbAbbreviation| (|constructorDB| '|AddAst|)) 'ADDAST)
130
131
(SETF (|dbPrincipals| (|constructorDB| '|AddAst|))
132
'(((|SpadSyntaxCategory|) . T)))
133
134
(SETF (|dbAncestors| (|constructorDB| '|AddAst|))
135
'(((|AbstractSyntaxCategory|) . T) ((|BasicType|) . T)
136
((|CoercibleFrom| #1=(|Syntax|)) . T) ((|CoercibleTo| #1#) . T)
137
((|CoercibleTo| (|OutputForm|)) . T) ((|HomotopicTo| #1#) . T)
138
((|SetCategory|) . T) ((|SpadSyntaxCategory|) . T) ((|Type|) . T)))
139
140