I had a look as noone has come back to you yet.

It seems ok in J9 beta (JQt) -
it now starts without J grumbling, as it did earlier,  about non-definition of eval,
and fires up an interactive window, headed
   "J Tabula ~addons/math/cal/SAMPLE.ijs"
with lots of
    menu buttons (file, edit, etc),
    icons with tips showing at the bottom of the window,
and
    tabs (T-table, Constants, etc),
with the body reading
    "plot test using Function plotline"


   VERSION_uu_
2.1.24

Also:
   EVAL__
scalar num expression

and function eval appears as in your note.

Similar behaviour in JQt,  version 8.07.

Cheers,

Mike




On 08/06/2019 21:21, Ian Clark wrote:
Hi Bob,

Thanks for offering to investigate with j901.

eval y --evaluates string: (y) to return a guaranteed real scalar
floating-point number.
It accepts an optional scalar Boolean x-arg, default 0.
If x-:1 then it returns the imaginary part of (".y)
It accept "Excel-type" numerals and converts them to J numerals, e.g.
   '3/4'   -->  '3%4'
   '-5.1E-9'  --> '_5.1e_9'
It's designed to accept whatever the (non-J-savvy) TABULA user throws at
it, without crashing or failing to deliver something appropriate. It's
tooled-up with diagnostics.

I've rephrased the suspect definition of: eval and released math/uu version
2.1.24 on JAL.
Please upgrade math/uu with pacman, run TABULA and verify:

    VERSION_uu_
2.1.24
    eval_uu_
3 : 0"1





0 eval y
:
EVAL__=:''
if. 0=#y do. BADFLOAT [EVAL__=: 'empty'
elseif. _1=4!:0<y do. BADFLOAT [EVAL__=: 'unassigned id'
elseif. 0=4!:0<y do. x evalRC y
elseif. do.
   x evalRC '/%-_Ee'charsub ,>y
end.
)

Even if this fixes eval, the construct: (default&$: : (4 : 0)"1) is used
elsewhere,
viz to define (in locale 'uu'): format, formatOUT, cnvi, deslash, dotted,
slash1, ucode, ucods, udat,
   make_units, s4x, spout, viewtables, uu.
I've not altered these, so some of these may be missing too.

If all of these are present, and intact, but eval is still undefined, then
maybe it isn't a bug in j901, but something it does differently that
exposes a bug of my own.

Ian Clark

On Sat, 8 Jun 2019 at 07:19, 'robert therriault' via Chat <
[email protected]> wrote:

Hi Ian,

I looked at the script and I wondered about those blank lines. I also
tried messing around with various declarations of eval, but each attempt
failed at different points. I am on my iPad for the next 24 hours so I am
not in a position to figure it out. If you could let me know the role eval
plays in the script, it would be helpful, as it shows up in a number of
different places. If I had a guess, I would say that the issue may have
something to do with the way that the verb is declared. Standard approach
to me would be to have 0&$: on the second line and follow with a single
line of : to separate monad and dyad, but I don’t see why your approach
would not work and definitely it does for j807.

All I have for now, maybe more if I play a bit with it on Sunday.

Cheers, bob

Sent from my iPad

On Jun 7, 2019, at 6:49 PM, Ian Clark <[email protected]> wrote:

Bob -- I don't know what's going on here. And not being able to run j90,
I
can't find out.

Am I hitting a bug in j901 interpretation?
j901 (but not j807) just seems to be ignoring the definition of eval,
which
is (sic!):

eval=: 0&$: : (4 : 0)"1





EVAL__=:''
if. 0=#y do. BADFLOAT [EVAL__=: 'empty'
elseif. _1=4!:0<y do. BADFLOAT [EVAL__=: 'unassigned id'
elseif. 0=4!:0<y do. x evalRC y
elseif. do.
  x evalRC '/%-_Ee'charsub ,>y
end.
)

The empty lines may be confusing the interpreter. They are caused by
decommenting during the build process. You might try editing
~addons/math/uu/uu.ijs to remove the blank lines, and see if that makes a
difference.

I'm also suspicious of how j901 might be interpreting the header line:
   eval=: 0&$: : (4 : 0)"1
The verb definition is rather on the complicated side. You might try
additional parentheses:
   eval=: (0&$: : (4 : 0))"1
or replacing the "def" line with a simpler way of defining a monad/dyad
with defaulted (x).

It just puzzles me that j901 can skate through the definition of eval
when
loading uu.ijs without either creating the verb or raising an error
condition.

Another possibility (though I don't see how) is that eval_uu_ is indeed
getting defined, but too late to save
   uvalu=:eval openv
from crashing with a value error.

The above line is executed by start_uu_ as part of the verb: make_units.
But it's not actually start_uu_ that gets executed, but something like
start__uun, because locale 'uu' is a class that math/cal instantiates.
Might that be concealing the definition of eval_uu_?

Without an AVX computer, I'm just floundering around in the dark.
(@Henry -- do you read the Chat forum? Or should I cross-post this to the
general forum?)
If I don't get an answer to this, I shall have to edit RELEASE=:… in
math/uu/manifest.ijs to state it is not supported by J releases later
than
j807.

Ian

On Fri, 7 Jun 2019 at 21:19, 'robert therriault' via Chat <
[email protected]> wrote:

Same situation for j901, although from the error report it looks like
you
added a line. J807 seems to load without error.

Cheers, bob

    load 'math/tabula'
|value error: eval
|       uvalu=:eval openv
|[-1867] /users/bobtherriault/j901/addons/math/uu/uu.ijs
   test ''
+++ BUILTIN TEST OF UU [CAL, TABULA]
--- VERSION of UU -- 2.1.23
--- VERSION of CAL -- 2.1.21
--- VERSION of TABULA -- 2.1.12
--- TP*_z_ paths:
┌────┬────────────────────────────────────────────┐
│TPAR│/users/bobtherriault/tabula-user/ttarchive  │
├────┼────────────────────────────────────────────┤
│TPAT│/users/bobtherriault/j901/addons/math/tabula│
├────┼────────────────────────────────────────────┤
│TPCA│/users/bobtherriault/j901/addons/math/cal   │
├────┼────────────────────────────────────────────┤
│TPCL│/users/bobtherriault                        │
├────┼────────────────────────────────────────────┤
│TPMC│/users/bobtherriault/j901/addons/math/cal   │
├────┼────────────────────────────────────────────┤
│TPMT│/users/bobtherriault/j901/addons/math/tabula│
├────┼────────────────────────────────────────────┤
│TPMU│/users/bobtherriault/j901/addons/math/uu    │
├────┼────────────────────────────────────────────┤
│TPNG│/users/bobtherriault/j901/addons/math/tabula│
├────┼────────────────────────────────────────────┤
│TPSA│/users/bobtherriault/j901/addons/math/cal   │
├────┼────────────────────────────────────────────┤
│TPTA│/users/bobtherriault/j901/addons/math/tabula│
├────┼────────────────────────────────────────────┤
│TPTT│/users/bobtherriault/tabula-user            │
├────┼────────────────────────────────────────────┤
│TPUC│/users/bobtherriault/j901/addons/math/uu    │
├────┼────────────────────────────────────────────┤
│TPUF│/users/bobtherriault/j901/addons/math/uu    │
├────┼────────────────────────────────────────────┤
│TPUM│/users/bobtherriault/j901/addons/math/uu    │
├────┼────────────────────────────────────────────┤
│TPUT│/users/bobtherriault/j901/addons/math/tabula│
├────┼────────────────────────────────────────────┤
│TPUU│/users/bobtherriault/j901/addons/math/uu    │
└────┴────────────────────────────────────────────┘

On Jun 7, 2019, at 1:11 PM, Ian Clark <[email protected]> wrote:

Please use pacman to upgrade math/uu to 2.1.23
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to