aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/fortcall.boot6
-rw-r--r--src/interp/ht-util.boot1
3 files changed, 8 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 744e0454..ea87f587 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2013-06-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ * interp/ht-util.boot (mkCurryFun): Import function name.
+
+2013-06-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
* boot/tokens.boot (importSymbol): New builtin.
* interp/br-saturn.boot (htpMakeEmptyPage): Use it.
diff --git a/src/interp/fortcall.boot b/src/interp/fortcall.boot
index 7f4a05ff..8184539d 100644
--- a/src/interp/fortcall.boot
+++ b/src/interp/fortcall.boot
@@ -753,7 +753,7 @@ multiToUnivariate f ==
body := copyTree third f
newVariable := gensym()
for index in 0..#vars-1 repeat
- -- Remember that AXIOM lists, vectors etc are indexed from 1
+ -- Remember that OpenAxiom lists, vectors etc are indexed from 1
body := substitute!(["elt",newVariable,index+1],vars.index,body)
-- We want a Vector DoubleFloat -> DoubleFloat
target := [["DoubleFloat"],["Vector",["DoubleFloat"]]]
@@ -776,7 +776,7 @@ functionAndJacobian f ==
jacBodies := CDDR interpret [["$elt",["List",["InputForm"]],"construct"],:jacBodies]
newVariable := gensym()
for index in 0..#vars-1 repeat
- -- Remember that AXIOM lists, vectors etc are indexed from 1
+ -- Remember that OpenAxiom lists, vectors etc are indexed from 1
funBodies := substitute!(["elt",newVariable,index+1],vars.index,funBodies)
jacBodies := substitute!(["elt",newVariable,index+1],vars.index,jacBodies)
target := [["Vector",["DoubleFloat"]],["Vector",["DoubleFloat"]],["Integer"]]
@@ -798,7 +798,7 @@ vectorOfFunctions f ==
funBodies := copyTree CDADDR f
newVariable := gensym()
for index in 0..#vars-1 repeat
- -- Remember that AXIOM lists, vectors etc are indexed from 1
+ -- Remember that OpenAxiom lists, vectors etc are indexed from 1
funBodies := substitute!(["elt",newVariable,index+1],vars.index,funBodies)
target := [["Vector",["DoubleFloat"]],["Vector",["DoubleFloat"]]]
rest interpret ["ADEF",[newVariable],target,[[],[]],["vector",["construct",:funBodies]]]
diff --git a/src/interp/ht-util.boot b/src/interp/ht-util.boot
index a24c1cb3..197675ce 100644
--- a/src/interp/ht-util.boot
+++ b/src/interp/ht-util.boot
@@ -287,6 +287,7 @@ beforeAfter(x,u) == [[y for [y,:r] in tails u while x ~= y],r]
mkCurryFun(fun, val) ==
name := gensym()
+ importSymbol name
code :=
['DEFUN, name, '(arg), ['APPLY, MKQ fun, ['CONS, 'arg, MKQ val]]]
eval code