aboutsummaryrefslogtreecommitdiff
path: root/src/boot/translator.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/translator.boot')
-rw-r--r--src/boot/translator.boot8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/boot/translator.boot b/src/boot/translator.boot
index 7179d8fa..a58f55eb 100644
--- a/src/boot/translator.boot
+++ b/src/boot/translator.boot
@@ -380,17 +380,13 @@ shoeOutParse stream ==
++ Generate a global signature declaration for symbol `n'.
genDeclaration(n,t) ==
- t is ["%Mapping",valType,argTypes] =>
- if bfTupleP argTypes then argTypes := rest argTypes
- if argTypes ~= nil and symbol? argTypes
- then argTypes := [argTypes]
- ["DECLAIM",["FTYPE",["FUNCTION",argTypes,valType],n]]
+ t is ["%Mapping",:.] => ["DECLAIM",["FTYPE",bfType t,n]]
t is ["%Forall",vars,t'] =>
vars = nil => genDeclaration(n,t')
if symbol? vars then
vars := [vars]
genDeclaration(n,applySubst([[v,:"*"] for v in vars],t'))
- ["DECLAIM",["TYPE",t,n]]
+ ["DECLAIM",["TYPE",bfType t,n]]
++ Translate the signature declaration `d' to its Lisp equivalent.
translateSignatureDeclaration d ==