Henry wrote:
> The problem was with the form
[&.>@:(<"0) 'ab'
(used in x2b).

x2b is defined as:
   [: (#~ ([: +./\. ' '&~:))&.> <"1
so I guess that was a typo. But I get the idea.

So… no need for me to make any changes to 'format/zulu' just yet.

ASIDE:
--but when I do, I'll throw away the entire implementation.

Zulu addresses an enduring need for the J beginner wanting to develop code
for distribution. But it's deprecated for operational use.

Zulu is an awful example of the edge-case 'tail' wagging the JAL 'dog'.

If we ever get a *usable* addon, or a primitive (?), which comprehensively
supports dictionaries, or even just collections of strings, then I hope &
pray it eats Zulu for breakfast.


Zulu's aims could be met by publishing a 4x4 grid of recommended
*consistent* conversions between the 4 common "strings" formats:

b - boxed

f - LF-separated

o - open

x - matrix

See the lab: Strings conversion package.


WHAT'S MORE:

A user-facing app doing smart things with LF-separated strings must adopt a
policy towards final LF, especially for handling a collection of substrings
containing 0 or 1 members.

Zulu adopts the wrong policy. And pays for it with lots of slow edge-case
code.

On Wed, 25 May 2022 at 18:24, Henry Rich <[email protected]> wrote:

> Fixed for next beta.  The problem was with the form
>
> [&.>@:(<"0) 'ab'
>
> (used in x2b).  The <"n created virtual blocks but erroneously flagged
> them as inplaceable.
>
> Workaround: replace (<"n) with (<"<"n).
>
> Henry Rich
>
> On 5/24/2022 8:25 PM, Ian Clark wrote:
> > Note: Addon 'format/zulu' does not crash 903 or earlier.
> >
> >
> >     JVERSION
> >
> > Engine: j904/j64/darwin
> >
> > Beta-d: commercial/2022-05-19T20:41:44
> >
> > Library: 9.04.01
> >
> > Qt IDE: 2.0.3/6.2.4(6.2.4)
> >
> > Platform: Darwin 64
> >
> > Installer: J904 install
> >
> > InstallPath: /applications/j904
> >
> > Contact: www.jsoftware.com
> >
> >
> > Addon 'format/zulu' is required by various addons, notably math/tabula.
> >
> > If loaded directly or indirectly by your ~config/startup.ijs
> >
> > then JQt will terminate without showing output.
> >
> >
> > jconsole will terminate also, but gives a briefer, clearer crash report:
> >
> >
> > jconsole(2607,0x104ba4580) malloc: *** error for object 0x138091fc0:
> > pointer being freed was not allocated
> >
> > jconsole(2607,0x104ba4580) malloc: *** set a breakpoint in
> > malloc_error_break to debug
> >
> > zsh: abort      /Applications/j904/bin/jconsole
> >
> >
> > Saving session...
> >
> > ...copying shared history...
> >
> > ...saving history...truncating history files...
> >
> > ...completed.
> >
> >
> > [Process completed]
> >
> >
> > The crash is caused by execution of a verb: zutest_zulu_ .
> >
> > This verb gets executed as the final step in loading addon 'format/zulu'
> .
> > It contributes nothing to the functionality of this suite of string
> > utilities, but gives all the working verbs a thorough test.
> >
> >
> > I hope to find out why it crashes before the weekend. Meanwhile, here is
> a
> > workaround.
> >
> > It won't affect the operational behavior of the addon, but it's like
> > turning off the fire alarms.
> >
> > Launch either jqt or jcon (any recent version)…
> >
> >
> > STEP 1
> >
> > open'~addons/format/zulu/zutest.ijs'
> >
> >
> > STEP 2
> >
> > Comment-out lines 64-66:
> >
> >
> > ok1=. ;  0 zutest each ;:'zu z1 z0'
> >
> > ok2=. ;0j1 zutest each ;:'zu z1 z0' NB. for conversions: a2*
> >
> > ZUTEST_z_=: ok1 , ok2
> >
> >
> > STEP 3
> >
> > Save the updated script.
> >
> >
> > Now you can triger the crash at will in either JQt or jcon like this:
> >
> >
> > load 'format/zulu' NB. should not crash now
> >
> > 0 zutest 'zu'      NB. crashes
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
> --
> This email has been checked for viruses by AVG.
> https://www.avg.com
>
> ----------------------------------------------------------------------
> 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