aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-07-06 18:05:30 +0000
committerdos-reis <gdr@axiomatics.org>2009-07-06 18:05:30 +0000
commit942c0d85f4739f568bca1497749cbc9f511d6d5c (patch)
tree36dc8d4048134b084b21277c659a7a729a625422 /src
parent2c34c1a268d3eb28f39bf9f431a49b09c5a1339f (diff)
downloadopen-axiom-942c0d85f4739f568bca1497749cbc9f511d6d5c.tar.gz
Fix SF/2815437
* algebra/mkfunc.spad.pamphlet:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/algebra/mkfunc.spad.pamphlet6
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