diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/fortcall.boot | 6 | ||||
-rw-r--r-- | src/interp/ht-util.boot | 1 |
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 |