aboutsummaryrefslogtreecommitdiff
path: root/frontend/predef.dcl
blob: cfa0c0460281d157d8b124057c0506c0022043bd (plain) (blame)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
definition module predef

	
import syntax, hashtable

::	PredefinedSymbols	:== {# PredefinedSymbol}

::	PredefinedSymbol =
	{	pds_ident	:: !Ident
	,	pds_module	:: !Index
	,	pds_def		:: !Index
	}

/* identifiers not present the hastable */



PD_PredefinedModule			:== 0

PD_StringType				:== 1
PD_ListType					:== 2
PD_Arity2TupleType			:== 3
PD_Arity32TupleType			:== 33

PD_LazyArrayType			:== 34
PD_StrictArrayType			:== 35
PD_UnboxedArrayType			:== 36

PD_ConsSymbol				:== 37
PD_NilSymbol				:== 38
PD_Arity2TupleSymbol		:== 39
PD_Arity32TupleSymbol		:== 69

PD_TypeVar_a0				:== 70
PD_TypeVar_a31				:== 101

/* Dynamics */

PD_TypeCodeMember			:== 102
// MV ...
PD_DynamicTemp				:== 103
PD_DynamicValue				:== 104
PD_DynamicType				:== 105
// ... MV

/* identifiers present in the hastable */

PD_StdArray					:== 106
PD_StdEnum					:== 107
PD_StdBool					:== 108

PD_AndOp					:== 109
PD_OrOp						:== 110


/* Array functions */

PD_ArrayClass				:== 111

PD_CreateArrayFun			:== 112
PD__CreateArrayFun			:== 113
PD_ArraySelectFun			:== 114
PD_UnqArraySelectFun		:== 115
PD_ArrayUpdateFun			:== 116
PD_ArrayReplaceFun			:== 117
PD_ArraySizeFun				:== 118
PD_UnqArraySizeFun			:== 119

/* Enum/Comprehension functions */

PD_SmallerFun				:== 120
PD_IncFun					:== 121
PD_From						:== 122
PD_FromThen					:== 123
PD_FromTo					:== 124
PD_FromThenTo				:== 125

/* Dynamics */

PD_TypeCodeClass			:== 126

PD_TypeObjectType			:== 127
PD_TypeConsSymbol			:== 128
PD_unify					:== 129
// MV ..
PD_coerce					:== 130
PD_variablePlaceholder		:== 131
PD_StdDynamics				:== 132
PD_undo_indirections		:== 133

/* Generics */
PD_StdGeneric				:== 134
PD_TypeISO					:== 135
PD_ConsISO					:== 136
PD_iso_to					:== 137
PD_iso_from					:== 138

PD_TypeUNIT					:== 139
PD_ConsUNIT					:== 140
PD_TypeEITHER				:== 141
PD_ConsLEFT					:== 142
PD_ConsRIGHT				:== 143
PD_TypePAIR					:== 144
PD_ConsPAIR					:== 145
PD_TypeARROW				:== 146
PD_ConsARROW				:== 147

PD_isomap_ARROW_			:== 148
PD_isomap_ID				:== 149

/* StdMisc */
PD_StdMisc					:== 150
PD_abort					:== 151
PD_undef					:== 152

PD_Start					:== 153

// MW..
PD_DummyForStrictAliasFun	:== 154

PD_NrOfPredefSymbols		:== 155
// ..MW

GetTupleConsIndex tup_arity :== PD_Arity2TupleSymbol + tup_arity - 2
GetTupleTypeIndex tup_arity :== PD_Arity2TupleType + tup_arity - 2

buildPredefinedSymbols :: !*HashTable -> (!.PredefinedSymbols,!*HashTable)

buildPredefinedModule :: !*PredefinedSymbols -> (!ScannedModule, !.PredefinedSymbols)