diff options
author | dos-reis <gdr@axiomatics.org> | 2009-07-06 18:05:30 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-07-06 18:05:30 +0000 |
commit | 942c0d85f4739f568bca1497749cbc9f511d6d5c (patch) | |
tree | 36dc8d4048134b084b21277c659a7a729a625422 /src | |
parent | 2c34c1a268d3eb28f39bf9f431a49b09c5a1339f (diff) | |
download | open-axiom-942c0d85f4739f568bca1497749cbc9f511d6d5c.tar.gz |
Fix SF/2815437
* algebra/mkfunc.spad.pamphlet:
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/algebra/mkfunc.spad.pamphlet | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 7d6020c9..1c630fbb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-07-06 Gabriel Dos Reis <gdr@cs.tamu.edu> + + Fix SF/2815437 + * algebra/mkfunc.spad.pamphlet: + 2009-07-06 Gabriel Dos Reis <gdr@cse.tamu.edu> * interp/compiler.boot (localReferenceIfThere): Tidy. diff --git a/src/algebra/mkfunc.spad.pamphlet b/src/algebra/mkfunc.spad.pamphlet index a66a0fb6..4b629b78 100644 --- a/src/algebra/mkfunc.spad.pamphlet +++ b/src/algebra/mkfunc.spad.pamphlet @@ -393,6 +393,9 @@ MakeFloatCompiledFunction(S): Exports == Implementation where streq?(s, st) == s = convert(st::Symbol)@INF gencode(s, l) == convert(concat(convert(s::Symbol)@INF, l))@INF streqlist?(s, l) == member?(string symbol s, l) + quote(f: INF): INF == gencode("QUOTE",[f]) + coerceToSF(f: INF): INF == + gencode("COERCE",[f, quote getVMType(SF)$Foreign(Builtin)]) mkPretend form == convert([convert("pretend"::Symbol), form, lsf]$List(INF))@INF @@ -408,7 +411,8 @@ MakeFloatCompiledFunction(S): Exports == Implementation where mkDefun(s, lv) == name := convert(new()$Symbol)@INF fun := convert([convert("DEFUN"::Symbol), name, convert lv, - gencode("DECLARE",[gencode("FLOAT",lv)]),mkCTOR s]$List(INF))@INF + gencode("DECLARE",[gencode("FLOAT",lv)]), + coerceToSF mkCTOR s]$List(INF))@INF EVAL(fun)$Lisp if _$compileDontDefineFunctions$Lisp then COMPILE(name)$Lisp name |