diff options
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r-- | src/boot/ast.boot | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot index 210d5b2e..112236b6 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -1157,3 +1157,17 @@ bfThrow e == atom e => ["THROW",["QUOTE",e],nil] not atom first e => bpTrap() ["THROW",["QUOTE",first e],:rest e] + +--% Native datatype translation +coreSymbol: %Symbol -> %Symbol +coreSymbol s == + INTERN(SYMBOL_-NAME s, "AxiomCore") + +bootSymbol: %Symbol -> %Symbol +bootSymbol s == + INTERN SYMBOL_-NAME s + +nativeType t == + null t => t + t' := ASSOC(coreSymbol t,$NativeTypeTable) => bootSymbol rest t' + fatalError CONCAT('"unsupported native type: ", SYMBOL_-NAME t) |