Bill,

Sooo, my confusion was caused by the fact that in file J64-801/system/mail/stdlib.ijs on line 194 expand is defined:

expand=: # inverse

but, unfortunately, due to "cleanup" it isn't until line 225 that inv is defined:

inv=: inverse=: ^:_1

I believe you need to be sure inverse is defined before expand. This is an example of making things "readable" isn't as functional as just defining them directly ... i.e. expand=: #^:_1 NB. would "fix the problem" without reordering the lines.

Sometimes making things read better (or redundantly defined) causes problems (thinking back to my complaints about my use of 9!:37 in my profile being stomped on by boot) - HOWEVER, I want to thank you for fixing that in util/boot.ijs so that my profile works OK in j8 - THANK YOU!

- joey

On 2014/01/21, 15:38 , Tom Allen wrote:
Sub-topic about plot problem -

plot with " pd 'pdf' " results in

  |domain error: inverse

| ext=.msk expand(;len{.each 1)+/;.1 ext


as described by


Joey

when using SUSE Linux 12.3.

eg.

  load 'plot'


pd 1 2 3 4 5;1 4 9 16 25


pd 'pdf'


pd 'show'



On Wed, Jan 22, 2014 at 5:08 AM, Joey K Tuttle <[email protected]> wrote:

Sub-topic about plot problem -

Adding some echos (e.g. echo 'len';len) in afm.ijs

Tue Jan 21 09:49:47
iMi7:~ jkt$ j8
    load 'plot'
    plot i.6
┌───┬─────────────────────┐
│len│1 3 1 3 1 3 1 3 1 3 1│
└───┴─────────────────────┘
┌───┬───────────────────────────────────────────────────────
────────────────────────────┐
│ext│556 556 278 556 556 556 278 556 556 556 278 556 556 556 278 556 556
556 278 556 556│
└───┴───────────────────────────────────────────────────────
────────────────────────────┘
┌───┬─────────────────────┐
│msk│1 1 1 1 1 1 1 1 1 1 1│
└───┴─────────────────────┘

|domain error: inverse
|   ext=.msk     expand(;len{.each 1)+/;.1 ext

But trying to track down the problem, I get confused (not an unusual state
for me...)

    expand
# inverse
    inverse
^:_1
    1 0 1 expand 'ac'
|domain error: inverse
|   1 0 1     expand'ac'
    1 0 1 #^:_1 'ac'
a c
    1 0 1 (#^:_1) 'ac'
a c
    1 0 1 (# inverse) 'ac'
a c
    1 0 1 # inverse 'ac'
a c
    1 0 1 expand 'ac'
|domain error: inverse
|   1 0 1     expand'ac'
    expand
# inverse

NB. sooo --- Replacing the line in afm.ijs with

ext=.msk #inverse (;len{.each 1)+/;.1 ext

iMi7:afm jkt$ j8
    load 'plot'
    plot i. 6

It works fine (except that I am confused ...   ;-)

- joey



On 2014/01/20, 22:49 , bill lam wrote:

the plot domain error actually occurs inside afm.  Can you help
investigate the problem by adding smoutout msk len ext just before
that line in afm.ijs or advise what will be the fix to it?

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

Reply via email to