Hash :
dc371756
Author :
Thomas de Grivel
Date :
2024-03-28T06:55:35
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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
%{module: C3.Facts.Dump,
version: 1}
replace {C3, :is_a, :module}
replace {C3, :operator, C3.operator00}
replace {C3.operator00, :is_a, :operator}
replace {C3.operator00, :symbol, :"()"}
replace {C3.operator00, :arity, 1}
replace {C3.operator00, :symbol_value, cfn Tag "tag_paren" (Tag, Result)}
replace {C3.operator00, :operator_precedence, 13}
replace {C3.operator00, :operator_associativity, :left}
add {C3, :operator, C3.operator01}
replace {C3.operator01, :is_a, :operator}
replace {C3.operator01, :symbol, :"[]"}
replace {C3.operator01, :arity, 2}
replace {C3.operator01, :symbol_value, cfn Tag "tag_brackets" (Tag, Tag, Result)}
replace {C3.operator01, :operator_precedence, 13}
replace {C3.operator01, :operator_associativity, :left}
add {C3, :operator, C3.operator_pin}
replace {C3.operator_pin, :is_a, :operator}
replace {C3.operator_pin, :symbol, :^}
replace {C3.operator_pin, :arity, 1}
replace {C3.operator_pin, :symbol_value, cfn Tag "c3_pin" (Tag, Result)}
replace {C3.operator_pin, :operator_precedence, 12}
replace {C3.operator_pin, :operator_associativity, :right}
add {C3, :operator, C3.operator02}
replace {C3.operator02, :is_a, :operator}
replace {C3.operator02, :symbol, :!}
replace {C3.operator02, :arity, 1}
replace {C3.operator02, :symbol_value, cfn Bool "tag_not" (Tag, Result)}
replace {C3.operator02, :operator_precedence, 12}
replace {C3.operator02, :operator_associativity, :right}
add {C3, :operator, C3.operator03}
replace {C3.operator03, :is_a, :operator}
replace {C3.operator03, :symbol, :~}
replace {C3.operator03, :arity, 1}
replace {C3.operator03, :symbol_value, cfn Tag "tag_bnot" (Tag, Result)}
replace {C3.operator03, :operator_precedence, 12}
replace {C3.operator03, :operator_associativity, :right}
add {C3, :operator, C3.operator04}
replace {C3.operator04, :is_a, :operator}
replace {C3.operator04, :symbol, :-}
replace {C3.operator04, :arity, 1}
replace {C3.operator04, :symbol_value, cfn Tag "tag_neg" (Tag, Result)}
replace {C3.operator04, :operator_precedence, 12}
replace {C3.operator04, :operator_associativity, :right}
add {C3, :operator, C3.operator05}
replace {C3.operator05, :is_a, :operator}
replace {C3.operator05, :symbol, :*}
replace {C3.operator05, :arity, 2}
replace {C3.operator05, :symbol_value, cfn Tag "tag_mul" (Tag, Tag, Result)}
replace {C3.operator05, :operator_precedence, 11}
replace {C3.operator05, :operator_associativity, :left}
add {C3, :operator, C3.operator06}
replace {C3.operator06, :is_a, :operator}
replace {C3.operator06, :symbol, :/}
replace {C3.operator06, :arity, 2}
replace {C3.operator06, :symbol_value, cfn Tag "tag_div" (Tag, Tag, Result)}
replace {C3.operator06, :operator_precedence, 11}
replace {C3.operator06, :operator_associativity, :left}
add {C3, :operator, C3.operator07}
replace {C3.operator07, :is_a, :operator}
replace {C3.operator07, :symbol, :mod}
replace {C3.operator07, :arity, 2}
replace {C3.operator07, :symbol_value, cfn Tag "tag_mod" (Tag, Tag, Result)}
replace {C3.operator07, :operator_precedence, 11}
replace {C3.operator07, :operator_associativity, :left}
add {C3, :operator, C3.operator_add}
replace {C3.operator_add, :is_a, :operator}
replace {C3.operator_add, :symbol, :+}
replace {C3.operator_add, :arity, 2}
replace {C3.operator_add, :symbol_value, cfn Tag "tag_add" (Tag, Tag, Result)}
replace {C3.operator_add, :operator_precedence, 10}
replace {C3.operator_add, :operator_associativity, :left}
add {C3, :operator, C3.operator_addi}
replace {C3.operator_addi, :is_a, :operator}
replace {C3.operator_addi, :symbol, :+i}
replace {C3.operator_addi, :arity, 2}
replace {C3.operator_addi, :symbol_value, cfn Tag "tag_addi" (Tag, Tag, Result)}
replace {C3.operator_addi, :operator_precedence, 10}
replace {C3.operator_addi, :operator_associativity, :left}
add {C3, :operator, C3.operator_sub}
replace {C3.operator_sub, :is_a, :operator}
replace {C3.operator_sub, :symbol, :-}
replace {C3.operator_sub, :arity, 2}
replace {C3.operator_sub, :symbol_value, cfn Tag "tag_sub" (Tag, Tag, Result)}
replace {C3.operator_sub, :operator_precedence, 10}
replace {C3.operator_sub, :operator_associativity, :left}
add {C3, :operator, C3.operator10}
replace {C3.operator10, :is_a, :operator}
replace {C3.operator10, :symbol, :<<}
replace {C3.operator10, :arity, 2}
replace {C3.operator10, :symbol_value, cfn Tag "tag_shift_left" (Tag, Tag, Result)}
replace {C3.operator10, :operator_precedence, 9}
replace {C3.operator10, :operator_associativity, :left}
add {C3, :operator, C3.operator11}
replace {C3.operator11, :is_a, :operator}
replace {C3.operator11, :symbol, :>>}
replace {C3.operator11, :arity, 2}
replace {C3.operator11, :symbol_value, cfn Tag "tag_shift_right" (Tag, Tag, Result)}
replace {C3.operator11, :operator_precedence, 9}
replace {C3.operator11, :operator_associativity, :left}
add {C3, :operator, C3.operator12}
replace {C3.operator12, :is_a, :operator}
replace {C3.operator12, :symbol, :<}
replace {C3.operator12, :arity, 2}
replace {C3.operator12, :symbol_value, cfn Bool "tag_lt" (Tag, Tag, Result)}
replace {C3.operator12, :operator_precedence, 8}
replace {C3.operator12, :operator_associativity, :left}
add {C3, :operator, C3.operator13}
replace {C3.operator13, :symbol, :<=}
replace {C3.operator13, :is_a, :operator}
replace {C3.operator13, :arity, 2}
replace {C3.operator13, :symbol_value, cfn Bool "tag_lte" (Tag, Tag, Result)}
replace {C3.operator13, :operator_precedence, 8}
replace {C3.operator13, :operator_associativity, :left}
add {C3, :operator, C3.operator14}
replace {C3.operator14, :symbol, :>}
replace {C3.operator14, :is_a, :operator}
replace {C3.operator14, :arity, 2}
replace {C3.operator14, :symbol_value, cfn Bool "tag_gt" (Tag, Tag, Result)}
replace {C3.operator14, :operator_precedence, 8}
replace {C3.operator14, :operator_associativity, :left}
add {C3, :operator, C3.operator15}
replace {C3.operator15, :symbol, :>=}
replace {C3.operator15, :is_a, :operator}
replace {C3.operator15, :arity, 2}
replace {C3.operator15, :symbol_value, cfn Bool "tag_gte" (Tag, Tag, Result)}
replace {C3.operator15, :operator_precedence, 8}
replace {C3.operator15, :operator_associativity, :left}
add {C3, :operator, C3.operator16}
replace {C3.operator16, :is_a, :operator}
replace {C3.operator16, :symbol, :==}
replace {C3.operator16, :arity, 2}
replace {C3.operator16, :symbol_value, cfn Bool "tag_eq" (Tag, Tag, Result)}
replace {C3.operator16, :operator_precedence, 7}
replace {C3.operator16, :operator_associativity, :left}
add {C3, :operator, C3.operator17}
replace {C3.operator17, :is_a, :operator}
replace {C3.operator17, :symbol, :!=}
replace {C3.operator17, :arity, 2}
replace {C3.operator17, :symbol_value, cfn Bool "tag_not_eq" (Tag, Tag, Result)}
replace {C3.operator17, :operator_precedence, 7}
replace {C3.operator17, :operator_associativity, :left}
add {C3, :operator, C3.operator18}
replace {C3.operator18, :is_a, :operator}
replace {C3.operator18, :symbol, :&}
replace {C3.operator18, :arity, 2}
replace {C3.operator18, :symbol_value, cfn Tag "tag_band" (Tag, Tag, Result)}
replace {C3.operator18, :operator_precedence, 6}
replace {C3.operator18, :operator_associativity, :left}
add {C3, :operator, C3.operator19}
replace {C3.operator19, :is_a, :operator}
replace {C3.operator19, :symbol, :^}
replace {C3.operator19, :arity, 2}
replace {C3.operator19, :symbol_value, cfn Tag "tag_bxor" (Tag, Tag, Result)}
replace {C3.operator19, :operator_precedence, 5}
replace {C3.operator19, :operator_associativity, :left}
add {C3, :operator, C3.operator20}
replace {C3.operator20, :is_a, :operator}
replace {C3.operator20, :symbol, :bor}
replace {C3.operator20, :arity, 2}
replace {C3.operator20, :symbol_value, cfn Tag "tag_bor" (Tag, Tag, Result)}
replace {C3.operator20, :operator_precedence, 4}
replace {C3.operator20, :operator_associativity, :left}
add {C3, :operator, C3.operator21}
replace {C3.operator21, :is_a, :operator}
replace {C3.operator21, :symbol, :&&}
replace {C3.operator21, :arity, 2}
replace {C3.operator21, :symbol_value, cfn Bool "tag_and" (Tag, Tag, Result)}
replace {C3.operator21, :operator_precedence, 3}
replace {C3.operator21, :operator_associativity, :left}
add {C3, :operator, C3.operator22}
replace {C3.operator22, :is_a, :operator}
replace {C3.operator22, :symbol, :||}
replace {C3.operator22, :arity, 2}
replace {C3.operator22, :symbol_value, cfn Bool "tag_or" (Tag, Tag, Result)}
replace {C3.operator22, :operator_precedence, 2}
replace {C3.operator22, :operator_associativity, :left}
add {C3, :operator, C3.operator_equal}
replace {C3.operator_equal, :is_a, :operator}
replace {C3.operator_equal, :arity, 2}
add {C3.operator_equal, :is_a, :special_operator}
replace {C3.operator_equal, :symbol, :=}
replace {C3.operator_equal, :symbol_value, cfn Tag "tag_equal" (Tag, Tag, Result)}
replace {C3.operator_equal, :operator_precedence, 1}
replace {C3.operator_equal, :operator_associativity, :right}
replace {C3.break, :symbol_value, cfn Void "c3_break" ()}
replace {C3, :symbol, C3.license}
replace {C3.license, :symbol_value, cfn Void "c3_license" ()}
add {C3, :symbol, C3.type}
replace {C3.type, :symbol_value, cfn Sym "tag_type" (Tag, Result)}
add {C3, :symbol, C3.facts_next_id}
replace {C3.facts_next_id, :symbol_value, cfn Uw "c3_facts_next_id" (Result)}
add {C3, :symbol, C3.getenv}
replace {C3.getenv, :symbol_value, cfn Str "c3_getenv" (Str, Result)}
add {C3, :symbol, C3.dlopen}
replace {C3.dlopen, :symbol_value, cfn Ptr "c3_dlopen" (Str, Result)}
add {C3, :symbol, C3.first}
replace {C3.first, :symbol_value, fn {
([a | _b]) { a }
({a, _b}) { a }
({a, _b, _c}) { a }
({a, _b, _c, _d}) { a }
}}
add {C3, :symbol, C3.fib}
replace {C3.fib, :symbol_value, fn {
(0) { 1 }
(1) { 1 }
(x) { if x < 0 then 0 else fib(x - 1) + fib(x - 2) end }
}}
add {C3, :symbol, C3.if_then_else}
replace {C3.if_then_else, :arity, 3}
replace {C3.if_then_else, :is_a, :special_operator}
replace {C3.if_then_else, :symbol_value, cfn Tag "c3_if_then_else" (Tag, Tag, Tag, Result)}
add {C3, :symbol, C3.sqrt}
replace {C3.sqrt, :symbol_value, cfn Tag "tag_sqrt" (Tag, Result)}
add {C3, :symbol, C3.hash}
replace {C3.hash, :symbol_value, cfn Uw "tag_hash_uw" (Tag)}
add {C3, :symbol, C3.defmodule}
replace {C3.defmodule, :arity, 2}
replace {C3.defmodule, :is_a, :special_operator}
replace {C3.defmodule, :symbol_value, cfn Tag "c3_defmodule" (Sym, Block, Result)}
add {C3, :symbol, C3.def}
replace {C3.def, :arity, 1}
replace {C3.def, :is_a, :special_operator}
replace {C3.def, :symbol_value, cfn Tag "c3_def" (Call, Result)}
add {C3, :symbol, C3.quote_cfn}
replace {C3.quote_cfn, :arity, 1}
replace {C3.quote_cfn, :is_a, :special_operator}
replace {C3.quote_cfn, :symbol_value, cfn Tag "c3_quote_cfn" (Sym, Result)}