Hi Ian,

I concur with Mike. Your fix for uu version 2.1.24 allows TABULA to run in the 
beta g version of J901. 

Well done! Doing surgery blindfolded is a skill few possess! 

It may be worthwhile to let Henry know, since that points out a subtle 
difference between 807 and 901.

Cheers, bob

    load 'math/tabula'
   test ''
+++ BUILTIN TEST OF UU [CAL, TABULA]
--- VERSION of UU -- 2.1.24
--- 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    │
└────┴────────────────────────────────────────────┘
   JVERSION
Engine: j901/j64/darwin
Beta-g: commercial/2019-05-28T14:58:30
Library: 9.01.07
Qt IDE: 1.8.3/5.12.3
Platform: Darwin 64
Installer: J901 install
InstallPath: /users/bobtherriault/j901
Contact: www.jsoftware.com


> On Jun 9, 2019, at 2:09 AM, 'Mike Day' via Chat <[email protected]> wrote:
> 
> 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

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

Reply via email to