[Jprogramming] Roger Hui referenced in TAOCP Volume 4

2023-12-29 Thread Eric Iverson
Don Knuth's current work in progress is: "The Art of Computer Programming
Volume 4 Fascicle 7" with publication expected in 2024.

See the oft-changing draft at: https://cs.stanford.edu/~knuth/fasc7a.ps.gz

Roger Hui's essay https://code.jsoftware.com/wiki/Essays/Queens_and_Knights
is referenced in exercise 508 and answer (pages 118 and 202 in the draft).
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J9.5.1 release available

2023-12-21 Thread Eric Iverson
Did you use winget or AIO? I think the install is either in your home
folder or in the windows system folder for program files. In any case, if
you get J running, the following might help:
   jpath'~install'

On Wed, Dec 20, 2023 at 9:24 PM Devon McCormick  wrote:

> I followed the Windows installation instructions and I think it worked but
> I can't tell and I have to guess where it was installed since there is no
> helpful message at the end saying something like "Successfully installed at
> location XYZ" or whatever.
>
> On Wed, Dec 20, 2023 at 2:20 PM Eric Iverson 
> wrote:
>
> > J9.5.1 release available
> >
> > If you were running the 9.5 beta, do a full install to get everything and
> > have a clean slate. Do not just do an engine upgrade.
> >
> > https://code.jsoftware.com/wiki/System/Installation/J9.5
> >
> >  https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5
> >
> > The 9.6 beta starts in early 2024.
> > --
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
> --
>
> Devon McCormick, CFA
>
> Quantitative Consultant
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J9.5.1 release available

2023-12-20 Thread Eric Iverson
J9.5.1 release available

If you were running the 9.5 beta, do a full install to get everything and
have a clean slate. Do not just do an engine upgrade.

https://code.jsoftware.com/wiki/System/Installation/J9.5

 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

The 9.6 beta starts in early 2024.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta9 available

2023-12-06 Thread Eric Iverson
j9.5.0-beta9 available

With luck this is the final beta and the release will be by year end. Last
chance to help check things out and ensure the release is stable and meets
your needs.

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J forums migrate to Google Groups on Jan 1

2023-12-02 Thread Eric Iverson
Chris posted back in August that we planned to move the forums to Google
Groups.

This is a good move that reduces overhead and will improve the community
experience.

We have decided to go with a single address and the changeover date is Jan
1, 2024.

fo...@jsoftware.com is the J Google Group address.

A single address is simpler and works well for both serious and casual
users. Serious users should see all messages and casual users can use the J
group web page to browse for messages of interest.

See https://code.jsoftware.com/wiki/System/Forums/Migration for more
information.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] j9.5.0-beta7 available

2023-11-29 Thread Eric Iverson
It works for me from various platforms. My guess would be a transient
error. Try again in a bit. Unless something is damaged in your install
there is no need to reinstall.

On Wed, Nov 29, 2023 at 1:56 PM 'Michael Day' via Programming <
programm...@jsoftware.com> wrote:

> Never mind vn 7 or 8,  I'm getting this error (I've added some line-feeds):
>
> <<
> load'pacman'
> 'upgrade'jpkg'jengine'
>
> Connection failed: curl: (35) schannel: next InitializeSecurityContext
> failed:
> Unknown error (0x80092012) - The revocation function was unable to check
> revocation for the certificate.
>
> Connection failed:
>
> curl: (35) schannel: next InitializeSecurityContext failed: Unknown
> error (0x80092012) -
> The revocation function was unable to check revocation for the certificate.
>
> upgrade - read jengine folder failed
> |syntax error in je_update, unexecutable fragment (noun verb)
> |   log'upgrade - read jengine folder failed'return
>
>  >>
>
> Any ideas?  My set-up or J-side?
>
> (I could presumably reinstall from scratch,  but still...)
>
> Thanks,
>
> Mike
>
> On 29/11/2023 18:00, Eric Iverson wrote:
> > j9.5.0-beta7 available
> >
> > If you already run the beta, then upgrade is easy:
> > load'pacman'
> > 'upgrade'jpkg'jengine'
> >
> > To install 9.5 beta:
> >   https://code.jsoftware.com/wiki/System/Installation/J9.5
> >
> > Release notes:
> >   https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5
> >
> > Questions/bug reports/etc. should go to the beta forum.
> > --
> > 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


Re: [Jprogramming] j9.5.0-beta7 available

2023-11-29 Thread Eric Iverson
oops! I meant beta8

On Wed, Nov 29, 2023 at 1:00 PM Eric Iverson 
wrote:

> j9.5.0-beta7 available
>
> If you already run the beta, then upgrade is easy:
>load'pacman'
>'upgrade'jpkg'jengine'
>
> To install 9.5 beta:
>  https://code.jsoftware.com/wiki/System/Installation/J9.5
>
> Release notes:
>  https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5
>
> Questions/bug reports/etc. should go to the beta forum.
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta7 available

2023-11-29 Thread Eric Iverson
j9.5.0-beta7 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J Viewer Release

2023-11-28 Thread Eric Iverson
Ed,
After a hiccup with the install (my linux system was too old to run the
sqlite binary and I had to get a backlevel version) things went smoothly.

There is a lot there!!!

It is going to take time for me to take it all on board. Already, just the
nuvoc stuff is of benefit.

On Fri, Nov 24, 2023 at 1:17 PM Ed Gottsman 
wrote:

> Henry,
>
> Thank you for investing the time, for identifying speed bumps, and for
> suggesting changes.  All of the latter seem both reasonable and doable.
>
> The search facility’s words/phrase distinction needs to be made clear in
> the UX.  For now, I will cheat: “phrase” refers to an ordered list of
> tokens; (+/ % #) is such a list.  “Words” is an unordered bag of tokens.
>
> So if you were curious about Roger Hui’s comments on the phrase /:/:, you
> could type (phrase) /:/: and (words) Hui Roger.  (You’d also have to drag
> the time slider back a few years, however.  His posts on the topic are
> older.)
>
> If I could use conventional syntax, the search would be “/: /:" AND Hui
> Roger.  J has of course reserved the double quote, and its interpretation
> takes priority in this case.  Hence the two input fields.
>
> Thanks again.
>
> Ed
>
> > On Nov 24, 2023, at 11:09 AM, Henry Rich  wrote:
> >
> > Real-time notes at installation...
> >
> > It said I needed SQlite and that it had put a line to that effect in
> term (all of which was true)
> >
> > --- will a new user understand this?
> >
> > --- It went ahead and launched J Viewer even without the SQL.  I found
> that disconcerting but ignored it and went to term to run the line.  I also
> put in the shortcut as recommended, and restarted J.
> >
> > After the restart I did ctrl-Shift-H for the shortcut, and it said my
> SQL was out of date.  This seems uncalled for.  I went to Package Manager
> and updated SQlite.  Meanwhile J Viewer had been launched again, and I
> canceled it IIRC.
> >
> > Ctrl-Shift-H again, now no messages and J viewer comes up.  There is a
> form, all empty.  Typing into the Words and Phrase edit controls is
> disallowed.  Eventually I see a big button with a message to the effect
> that the database needs updating, followed by ... .  I took that as a
> request to click, and did.  Boom!  J Viewer comes to life, with primitives
> on the left.  I click around, and NuVoc comes up on the right.  Searches
> for words and phrases produce results.  This is going to be great.
> >
> > Suggestions:
> >
> > 1. The 4 source buttons (Forum/GitHub/Wiki/Rosetta) come up unselected
> but act as if all 4 were selected.  Thus when you select one, the others go
> away.  I suggest initializing them to selected.
> >
> > 2. The Shortcut button really is 'Add a shortcut to your config files'.
> As such, it is never needed after initial use.  I recommend removing it if
> there is a shortcut, and providing a menu to allow for the seldom-used
> action of deleting the shortcut.
> >
> > 3. Likewise, the huge buttons to refresh the local database and update
> the J Viewer exaggerate their importance.  If you are refreshing the
> database weekly as you said, most users will never need to update by hand.
> I suggest moving these features to an 'Update' menu.  The very first time,
> bring up a modal dialog to force the user to initialize the database.
> >
> > 4. Clicking the first line of the leftmost pane brings up a list of
> primitives.  Hovering over a primitive brings up clickable links below; I
> suggest that the colored box for the primitive also be clickable.
> >
> > 5. There are edit controls labeled 'Phrase' and 'Words'.  What's the
> difference?  Is one J and the other English?
> >
> > 6. Please find a way to put Vocabulary/Foreigns and
> Vocabulary/SpecialCombinations into the left pane near the top.  I refer to
> those all the time.  Better, allow a user to lock a page pointer into the
> left pane.
> >
> >
> > This is already easier to get around in than the Wiki, just because of
> decreased scrolling.
> >
> > Henry Rich
> >
> >
> >
> >
> >
> >
> > On 11/23/2023 7:56 PM, Ed Gottsman wrote:
> >> load '~addons/gottsman63/jwikiviz/run.ijs'
> > --
> > 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


[Jprogramming] j9.5.0-beta7 available

2023-09-16 Thread Eric Iverson
j9.5.0-beta7 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] JHS update available

2023-09-08 Thread Eric Iverson
JHS update available.

Many small changes and fixes.

CSS and html element class (to manage page look and feel) cleaned up and
refactored. This will make future changes easier and more effective.

iPhone/iPad improved support (appropriate font and html element size with
CSS) make their use with JHS much smoother.

Run JHS on your desktop or cloud machine. Then when you want to, curl up
with your mobile device in your armchair or coffee shop and have J at your
fingertips.

Run JHS on your desktop and access it from the lan: jijx-menu>help>server

Run JHS on your desktop and access it from anywhere: jijx-menu>tool>https

Run JHS on your cloud machine: jijx-menu>help>server>Install JHS server in
the cloud!
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta6 available

2023-08-25 Thread Eric Iverson
j9.5.0-beta6 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta5 available

2023-07-31 Thread Eric Iverson
j9.5.0-beta5 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta4 available

2023-07-13 Thread Eric Iverson
j9.5.0-beta4 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] cloud computing FOMO

2023-07-04 Thread Eric Iverson
Do you have cloud computing FOMO?

Do you wonder if a personal J cloud server would be handy?

Would you like to connect your laptop/iPad/Chromebook/... to your personal
J system from your favorite coffee shop?

It is relatively straightforward to set up a J/JHS server in the cloud and
the costs are minimal and easy to manage and cancel.

If interested, please see:
https://code.jsoftware.com/wiki/System/Installation/Cloud

Please: comments, suggestions, etc to general forum
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta3 available

2023-06-02 Thread Eric Iverson
j9.5.0-beta3 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] web search: J programming language

2023-05-10 Thread Eric Iverson
Web search for the phrase: J programming language
works pretty well and I think that is the base on which we can improve.

If we all use that phrase consistently, the algos will gradually improve
the hits.

If you web publish, including that phrase in your intro will improve the
search for all as well as helping people find your work.

Jsoftware controls a lot of publications that do not include that phrase
and we will work to improve that situation.

Unless someone has a better idea that quickly gains consensus, the above is
probably the most effective. That is, moving forward rather than backwards
or sideways in unpredictable ways.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.5.0-beta2 available

2023-05-03 Thread Eric Iverson
j9.5.0-beta2 available

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

To install 9.5 beta:
 https://code.jsoftware.com/wiki/System/Installation/J9.5

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J9.5 beta

2023-04-23 Thread Eric Iverson
The 9.5 beta cycle has started!

https://code.jsoftware.com/wiki/System/Installation/J9.5

Install it now to help make it as stable as possible come release time, but
also to steer it in directions that are relevant to you.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J Desktop icons

2023-04-12 Thread Eric Iverson
It might make a difference how it is created. In a j session, do the
following.

(fread'Desktop/jqt9.4.desktop')fwrite'Desktop/foo.desktop'

Let's continue this in the general forum.

On Wed, Apr 12, 2023 at 2:29 PM J. Patrick Harrington  wrote:

> I've tried renaming Desktop/jqt9.4.desktop to Desktop/jqt9dot4.desktop
> but that doesn't seem to work. I've logged out and back, but I'll try
> rebooting. I don't know the manager for certain though I think it's
> gnome -- I've never tried to change it.
>
> Patrick
>
> On 4/12/23 1:35 PM, Eric Iverson wrote:
> > Your 9.4 file looks fine.
> >
> > I'm guessing your desktop manager does not like the name with the extra
> dot.
> >
> > What Desktop manager are you running?
> >
> > Try renaming the Desktop/jqt9.4.desktop to replace the . with dot.
> >
> > On Wed, Apr 12, 2023 at 1:23 PM J. Patrick Harrington 
> wrote:
> >
> >> Yes, I ran the last steps.
> >>
> >> Looking at my desktop listing, I find various files such as
> >> jqt903.desktop and jqt9.4.desktop (I have run the shortcut_pacman_).
> >>
> >> One difference is that the 903 file is
> >>
> >> [Desktop Entry]
> >> Version=1.0
> >> Type=Application
> >> Terminal=false
> >> Name=jqt903
> >> Exec="/home/jph/j903/bin/jqt"
> >> Path=/home/jph
> >> Icon=/home/jph/j903/bin/icons/jgreen.png
> >>
> >> while the 9.4 file is
> >>
> >> [Desktop Entry]
> >> Version=1.0
> >> Type=Application
> >> Terminal=false
> >> Name=jqt9.4
> >> Exec="/home/jph/j9.4/bin/jqt"
> >> Path=/home/jph
> >> Icon=/home/jph/j9.4/bin/icons/jgreen.png
> >>
> >> But when I view the 9.4 file the ".4" of /9.4/ is greyed out. Maybe a
> >> problem with the . in the file name?
> >>
> >> Patrick
> >>
> >> On 4/12/23 12:59 PM, Eric Iverson wrote:
> >>> I assume you did the last steps to finish the install as that is where
> >> the
> >>> icons are created.
> >>>
> >>> You could try manually creating the launch icons. Might not work, but
> >> could
> >>> give hints to the problem.
> >>>
> >>>  load'pacman'
> >>>  shortcut_jpacman_'jc' NB. 'jhs' and 'jqt'
> >>>
> >>> On Wed, Apr 12, 2023 at 12:48 PM J. Patrick Harrington 
> >> wrote:
> >>>> I have just reinstalled j9.4 on my Dell XPS13 laptop running linux -
> >>>> Ubuntu 20.04.6 LTS.
> >>>>
> >>>> The install seemed normal. I can start and run J with a "j9.4/bin/jqt
> &"
> >>>> command. But the J icons never appeared on the desktop as they have in
> >>>> the past. Any pointers on what went wrong and how to fix it?
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Patrick
> >>>>
> >>>> --
> >>>> 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
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J Desktop icons

2023-04-12 Thread Eric Iverson
Your 9.4 file looks fine.

I'm guessing your desktop manager does not like the name with the extra dot.

What Desktop manager are you running?

Try renaming the Desktop/jqt9.4.desktop to replace the . with dot.

On Wed, Apr 12, 2023 at 1:23 PM J. Patrick Harrington  wrote:

> Yes, I ran the last steps.
>
> Looking at my desktop listing, I find various files such as
> jqt903.desktop and jqt9.4.desktop (I have run the shortcut_pacman_).
>
> One difference is that the 903 file is
>
> [Desktop Entry]
> Version=1.0
> Type=Application
> Terminal=false
> Name=jqt903
> Exec="/home/jph/j903/bin/jqt"
> Path=/home/jph
> Icon=/home/jph/j903/bin/icons/jgreen.png
>
> while the 9.4 file is
>
> [Desktop Entry]
> Version=1.0
> Type=Application
> Terminal=false
> Name=jqt9.4
> Exec="/home/jph/j9.4/bin/jqt"
> Path=/home/jph
> Icon=/home/jph/j9.4/bin/icons/jgreen.png
>
> But when I view the 9.4 file the ".4" of /9.4/ is greyed out. Maybe a
> problem with the . in the file name?
>
> Patrick
>
> On 4/12/23 12:59 PM, Eric Iverson wrote:
> > I assume you did the last steps to finish the install as that is where
> the
> > icons are created.
> >
> > You could try manually creating the launch icons. Might not work, but
> could
> > give hints to the problem.
> >
> > load'pacman'
> > shortcut_jpacman_'jc' NB. 'jhs' and 'jqt'
> >
> > On Wed, Apr 12, 2023 at 12:48 PM J. Patrick Harrington 
> wrote:
> >
> >> I have just reinstalled j9.4 on my Dell XPS13 laptop running linux -
> >> Ubuntu 20.04.6 LTS.
> >>
> >> The install seemed normal. I can start and run J with a "j9.4/bin/jqt &"
> >> command. But the J icons never appeared on the desktop as they have in
> >> the past. Any pointers on what went wrong and how to fix it?
> >>
> >> Thanks,
> >>
> >> Patrick
> >>
> >> --
> >> 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


Re: [Jprogramming] J Desktop icons

2023-04-12 Thread Eric Iverson
I assume you did the last steps to finish the install as that is where the
icons are created.

You could try manually creating the launch icons. Might not work, but could
give hints to the problem.

   load'pacman'
   shortcut_jpacman_'jc' NB. 'jhs' and 'jqt'

On Wed, Apr 12, 2023 at 12:48 PM J. Patrick Harrington  wrote:

> I have just reinstalled j9.4 on my Dell XPS13 laptop running linux -
> Ubuntu 20.04.6 LTS.
>
> The install seemed normal. I can start and run J with a "j9.4/bin/jqt &"
> command. But the J icons never appeared on the desktop as they have in
> the past. Any pointers on what went wrong and how to fix it?
>
> Thanks,
>
> Patrick
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J9.4.2 maintenance release available

2023-04-10 Thread Eric Iverson
J9.4.2 maintenance release available.

If you already run 9.4, the upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not installed 9.4, please see:
 https://code.jsoftware.com/wiki/System/Installation/J9.4

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.4

Previous releases had versions: j64, j64avx, and j64avx2. Machines limited
to avx are less and less common and no longer warrant the support effort.
Install or upgrade will provide the version appropriate for your hardware.
If you are running j64 and are concerned with performance you will at some
point need to upgrade your hardware.

Questions/bug reports/etc. should go to the general forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Jd version 4.46

2023-04-04 Thread Eric Iverson
Jd version 4.46 available

Load Jd tables from parquet/... files.

Write Jd tables to parquet/... files.

  jdrt'pandas_install' NB. install and verify python3/pandas
  jdrt'pandas_load'NB. load parquet file of yellow cab trip data
  jdrt'pandas_clean'   NB. basic table cleaning - missing values and
outliers
  jdrt'pandas_write'   NB. write Jd tables to parquet/... files

Parquet and other file formats are replacing csv. If you are looking for
data, chances are that it will be in a newer format and won't be available
as csv.

This Jd release is of interest to anyone who wants data from one of these
newer formats. Use Jd to easily load the data into a Jd table, and then get
the data from the table and work directly in J.

*** read carefully if you are running a version previous to 4.43
Be careful switching to this version as tables used in this version will be
marked damaged if used with a previous version!!!

Read 4.43 notes carefully: https://code.jsoftware.com/wiki/Jd/Release

Read 'Run Production': https://code.jsoftware.com/wiki/Jd/General

The code simplification and performance improvement justified the extra
caution required in moving to this release.

If you don't use multiple systems at different maintenance levels accessing
the same tables, this update should not be a problem.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] distance makes the heart grow fonder

2023-04-01 Thread Eric Iverson
[ vs linebreak
[ is a single sentence that executes right to left
linebreak is multiple sentences that execute in turn from left to right


On Sat, Apr 1, 2023 at 11:35 AM Henry Rich  wrote:

> When is linebreak used?  That is, when is it superior to [?
>
> Henry Rich
>
> On 4/1/2023 11:29 AM, Eric Iverson wrote:
> > I am in favor of linebreak as well as a linejoin. I'd very much like to
> > have an easier to type NB.
> >
> > .. NB.
> > ... linejoin (followed by comment)
> >  linebreak
> >
> > I used to think internal and nested comments were important, but not
> > anymore. Not enough bang for the required mechanism.
> >
> >
> >
> > On Sat, Apr 1, 2023 at 10:48 AM Jan-Pieter Jacobs <
> > janpieter.jac...@gmail.com> wrote:
> >
> >> I'd be in favour of both .. and ... .
> >> Regarding ... , I'd like to note that Matlab uses the same as line
> joiner
> >> (see
> >>
> >>
> https://www.mathworks.com/help/matlab/matlab_prog/continue-long-statements-on-multiple-lines.html
> >> ),
> >> and also turns everything after that into a comment (which is very
> handy).
> >> This would let one also comment longer tacit verbs well, without any
> >> extraneous NB.'s . Trivial example would be:
> >> avg =: ...
> >> +/ ... sum
> >> % ... divided by
> >> # ... count
> >>
> >> Your first comment would be incompatible with the easy commenting
> (without
> >> using NB.).
> >>
> >> I don't like the .:. proposal, since it is more difficult to type
> different
> >> characters instead of the same; I'd rather have ::: (could imagine them
> >> looking like the holes for shoelaces, that can be used to tie together
> >> lines)...
> >>
> >> Jan-Pieter
> >>
> >>
> >>
> >> On Sat, 1 Apr 2023, 11:26 Elijah Stone,  wrote:
> >>
> >>> Some time ago, Michal proposed that a line separator be added.  I want
> to
> >>> rekindle that discussion.  The proposal was that .. behave like a line
> >>> break
> >>> when placed on a single line, such that e.g. {{ a=. y+y .. a }} 2 would
> >> do
> >>> the
> >>> obvious thing.  Short, distinctive, and to the point.
> >>>
> >>> I also want to propose a line _joiner_, analogous to \ in shell or c:
> >> ...,
> >>> placed at the beginning or end of a line should join it with the
> previous
> >>> or
> >>> next.  Joining lines happens _after_ stripping comments, unlike the
> other
> >>> languages I cited; the goal is to enable large, multi-line definitions
> >>> with
> >>> commentary for intermediate terms, without the need for pointless
> >>> intermediate
> >>> definitions.
> >>>
> >>> It might be objectionable to use such similar symbols for separators
> and
> >>> joiners.  But maybe it's not such a big deal.  Two more ideas:
> >>>
> >>> 1. Could use the _same_ symbol for both, with its sense depending on
> >> where
> >>> it's placed in a line.
> >>>
> >>> 2. Separator could be .:.; metaphor: a hill stops the interpreter in
> its
> >>> tracks.
> >>>
> >>> I don't like 2 because the larger the separator is, the more annoying
> it
> >>> is to
> >>> use.  Joiner can afford to be large, since it only comes into play if
> the
> >>> rest
> >>> of the line is sufficiently large.
> >>>
> >>> Anyway--thoughts?  Comments?  Suggestions?
> >>>
> >>>-E
> >>> --
> >>> 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
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] distance makes the heart grow fonder

2023-04-01 Thread Eric Iverson
I am in favor of linebreak as well as a linejoin. I'd very much like to
have an easier to type NB.

.. NB.
... linejoin (followed by comment)
 linebreak

I used to think internal and nested comments were important, but not
anymore. Not enough bang for the required mechanism.



On Sat, Apr 1, 2023 at 10:48 AM Jan-Pieter Jacobs <
janpieter.jac...@gmail.com> wrote:

> I'd be in favour of both .. and ... .
> Regarding ... , I'd like to note that Matlab uses the same as line joiner
> (see
>
> https://www.mathworks.com/help/matlab/matlab_prog/continue-long-statements-on-multiple-lines.html
> ),
> and also turns everything after that into a comment (which is very handy).
> This would let one also comment longer tacit verbs well, without any
> extraneous NB.'s . Trivial example would be:
> avg =: ...
> +/ ... sum
> % ... divided by
> # ... count
>
> Your first comment would be incompatible with the easy commenting (without
> using NB.).
>
> I don't like the .:. proposal, since it is more difficult to type different
> characters instead of the same; I'd rather have ::: (could imagine them
> looking like the holes for shoelaces, that can be used to tie together
> lines)...
>
> Jan-Pieter
>
>
>
> On Sat, 1 Apr 2023, 11:26 Elijah Stone,  wrote:
>
> > Some time ago, Michal proposed that a line separator be added.  I want to
> > rekindle that discussion.  The proposal was that .. behave like a line
> > break
> > when placed on a single line, such that e.g. {{ a=. y+y .. a }} 2 would
> do
> > the
> > obvious thing.  Short, distinctive, and to the point.
> >
> > I also want to propose a line _joiner_, analogous to \ in shell or c:
> ...,
> > placed at the beginning or end of a line should join it with the previous
> > or
> > next.  Joining lines happens _after_ stripping comments, unlike the other
> > languages I cited; the goal is to enable large, multi-line definitions
> > with
> > commentary for intermediate terms, without the need for pointless
> > intermediate
> > definitions.
> >
> > It might be objectionable to use such similar symbols for separators and
> > joiners.  But maybe it's not such a big deal.  Two more ideas:
> >
> > 1. Could use the _same_ symbol for both, with its sense depending on
> where
> > it's placed in a line.
> >
> > 2. Separator could be .:.; metaphor: a hill stops the interpreter in its
> > tracks.
> >
> > I don't like 2 because the larger the separator is, the more annoying it
> > is to
> > use.  Joiner can afford to be large, since it only comes into play if the
> > rest
> > of the line is sufficiently large.
> >
> > Anyway--thoughts?  Comments?  Suggestions?
> >
> >   -E
> > --
> > 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


[Jprogramming] Jd version 4.45 available

2023-03-22 Thread Eric Iverson
Jd version 4.45 available

Load tables from parquet/feathers/orc/hdf5/... files!

The parquet tutorial has been expanded to show how to clean the table data.

This is an important tutorial for any serious Jd user.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Jd version 4.44 available

2023-03-20 Thread Eric Iverson
Jd version 4.44 available

Load tables from parquet/feathers/orc/hdf5/... files!

CSV was the standard database interchange format for a long time and the Jd
native csv loader is fast and robust.

But parquet and other file formats are increasingly common. These new
formats tend to be column oriented and fit well with Jd. They are space
efficient and much faster to load.

These new formats are complex and Jd has chosen to leverage work done in
python rather than reinvent these wheels.

With help from python/pandas you can now load tables from any supported
file format into Jd.

There is a tutorial that shows how to load tables from parquet and other
format files.

   jdrt'parquet'

*** read carefully if you are running a versions previous to 4.43
Be careful switching to this version as tables used in this version will be
marked damaged if used with a previous version!!!

Read 4.43 notes carefully: https://code.jsoftware.com/wiki/Jd/Release

Read 'Run Production': https://code.jsoftware.com/wiki/Jd/General

The code simplification and performance improvement justified the extra
caution required in moving to this release.

If you don't use multiple systems at different maintenance levels accessing
the same tables, this update should not be a problem.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Error in jd

2023-03-18 Thread Eric Iverson
Looking a bit closer I think I see the problem.

The update where clause should not include the word where.

Example from the jdrt'update' tutorial:

   jd'update f';'boolean=1';'byte';'x' NB. update where.

The error message had an obscure hint: |Not found: table where: throw

i think it will work if you remove the word where from the update.

There is still the issue of the crash. What is you JVERSION?



On Sat, Mar 18, 2023 at 11:13 AM Eric Iverson 
wrote:

> I don't see anything obvious. The crash on 13!:1'' is concerning.
>
> Please send (directly) what I need to reproduce the error. Perhaps best
> would be a csv text file (or simple script to create the table). And a
> script that shows the error.
>
> On Sat, Mar 18, 2023 at 1:31 AM Devon McCormick 
> wrote:
>
>> Hi,  I'm getting the following error, for these arguments:
>>
>>('update ',tblnm);(}.cond);'handtype'
>> +---+---++
>> |update sim2|where simnum>=0 and simnum<1000|handtype|
>> +---+---++
>>
>>jd ('update ',tblnm);(}.cond);'handtype';<,"2 ht1
>> |Not found: table where: throw
>> |throw[0]
>>   tblnm
>> |value error: tblnm
>>
>>   13!:4''
>> |Not found: table where: throw
>> |throw[0]
>>   dbr 1 [ dbr 0
>>
>>13!:1''
>>$ht1
>> 876 2 3
>> $,"2 ht1
>> 876 6
>>jd 'info schema sim2'
>> +-+++-+
>> |table|column  |type|shape|
>> +-+++-+
>> |sim2 |simnum  |int | _   |
>> |sim2 |holecard|byte| 8   |
>> |sim2 |highhand|byte|10   |
>> |sim2 |handtype|byte| 6   |
>> |sim2 |fhrank  |byte| 2   |
>> +-+++-+
>>
>> If I do 13!:1'' immediately after the error, jconsole exits with this
>> message: Process shell<1> exited abnormally with code 5.
>>
>> Since I can't look at the stack immediately without crashing, I have to
>> cut
>> it back to see it (here with another table):
>>
>>   jd 'update sim6';'where simnum>=0 and simnum<100';'fhrank';> |Not found: table where: throw
>> |throw[0]
>>   13!:19''
>> |stop: getloc
>> |   throw'Not found: ',(2}.>CHILD),' ',,":y
>> |getloc[7]
>>   13!:1''
>> |stop
>> *   throw'Not found: ',(2}.>CHILD),' ',,":y
>> |getloc[7]
>> |   tnms=:,> |addtablepathnoind[8]
>> |   addtablepathnoind f
>> |From[3]
>> |   From from
>> |Read__dbl[1]
>> |   r=.Read__dbl y
>> |jd_reads[26]
>> |   jd_reads'/lr ',y
>> |jd_read[0]
>> |   jd_read y
>> |jdi_read[0]
>> |   w=.;{:,old=.jdi_read'jdindex from ',tab,' where ',w
>> |jd_update[20]
>> |   r=.('jd_',opx)~a
>> |jdx[:54]
>> |   DBX jdx y
>> |jdx[1]
>> |   jdlast_z_=:jdx y
>> |jd_jd_[1]
>> |jd[0]
>> |   jd'update sim6';'where simnum>=0 and simnum<100';'fhrank';>
>> I have a small copy of this database I can make available.
>>
>> --
>>
>> Devon McCormick, CFA
>>
>> Quantitative Consultant
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Error in jd

2023-03-18 Thread Eric Iverson
I don't see anything obvious. The crash on 13!:1'' is concerning.

Please send (directly) what I need to reproduce the error. Perhaps best
would be a csv text file (or simple script to create the table). And a
script that shows the error.

On Sat, Mar 18, 2023 at 1:31 AM Devon McCormick  wrote:

> Hi,  I'm getting the following error, for these arguments:
>
>('update ',tblnm);(}.cond);'handtype'
> +---+---++
> |update sim2|where simnum>=0 and simnum<1000|handtype|
> +---+---++
>
>jd ('update ',tblnm);(}.cond);'handtype';<,"2 ht1
> |Not found: table where: throw
> |throw[0]
>   tblnm
> |value error: tblnm
>
>   13!:4''
> |Not found: table where: throw
> |throw[0]
>   dbr 1 [ dbr 0
>
>13!:1''
>$ht1
> 876 2 3
> $,"2 ht1
> 876 6
>jd 'info schema sim2'
> +-+++-+
> |table|column  |type|shape|
> +-+++-+
> |sim2 |simnum  |int | _   |
> |sim2 |holecard|byte| 8   |
> |sim2 |highhand|byte|10   |
> |sim2 |handtype|byte| 6   |
> |sim2 |fhrank  |byte| 2   |
> +-+++-+
>
> If I do 13!:1'' immediately after the error, jconsole exits with this
> message: Process shell<1> exited abnormally with code 5.
>
> Since I can't look at the stack immediately without crashing, I have to cut
> it back to see it (here with another table):
>
>   jd 'update sim6';'where simnum>=0 and simnum<100';'fhrank'; |Not found: table where: throw
> |throw[0]
>   13!:19''
> |stop: getloc
> |   throw'Not found: ',(2}.>CHILD),' ',,":y
> |getloc[7]
>   13!:1''
> |stop
> *   throw'Not found: ',(2}.>CHILD),' ',,":y
> |getloc[7]
> |   tnms=:, |addtablepathnoind[8]
> |   addtablepathnoind f
> |From[3]
> |   From from
> |Read__dbl[1]
> |   r=.Read__dbl y
> |jd_reads[26]
> |   jd_reads'/lr ',y
> |jd_read[0]
> |   jd_read y
> |jdi_read[0]
> |   w=.;{:,old=.jdi_read'jdindex from ',tab,' where ',w
> |jd_update[20]
> |   r=.('jd_',opx)~a
> |jdx[:54]
> |   DBX jdx y
> |jdx[1]
> |   jdlast_z_=:jdx y
> |jd_jd_[1]
> |jd[0]
> |   jd'update sim6';'where simnum>=0 and simnum<100';'fhrank';
> I have a small copy of this database I can make available.
>
> --
>
> Devon McCormick, CFA
>
> Quantitative Consultant
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Print precision 9!:11, 9!:12

2023-03-08 Thread Eric Iverson
No change. You should use:
   9!:10 [ 9!:11 [12
That is, precision codes are 10 and 11.

On Wed, Mar 8, 2023 at 3:39 PM John Baker  wrote:

> I just noticed this today. It seems the print precision setting no
> longer works in later versions of J.
>
> You can query the setting (9!:12 '') and it returns 6 but you cannot
> change it (9!:11) 10 - still returns 6.
>
> When did print precision go away and what's the recommended substitute.
>
> --
> John D. Baker
> bakerj...@gmail.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


[Jprogramming] Jd version 4.43 available

2023-03-02 Thread Eric Iverson
Jd version 4.43 available

Be careful switching to this version as tables used in this
version will be marked damaged if used with a previous version!!!

Read 4.43 notes carefully: https://code.jsoftware.com/wiki/Jd/Release

Read 'Run Production': https://code.jsoftware.com/wiki/Jd/General

The code simplification and performance improvement justified the extra
caution
required in moving to this release.

If you don't use multiple systems at different maintenance levels accessing
the
same tables, this update should not be a problem.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.4.1 release is available

2023-03-01 Thread Eric Iverson
j9.4.1 release is available!

https://code.jsoftware.com/wiki/System/Installation/J9.4

Zip installs are there now and AIO/Debian/apk will be there shortly.

Do a full install. You can do this on top of an existing j9.4 folder, but
probably better to rename it out of the way and start with a clean slate.

Name convention has changed (j904 -> j9.4), so the user folder is:
j9.4-user.

Do not just upgrade the JE as you did with the beta as this may not give a
clean and complete installation.

***
If you were on the beta journey you will know that this is a big step for J.

J now has a threading model ready for serious use. This is going to take
time to settle in, but is going to change the way we tackle some problems.

Roger's original implementation of rationals and extended integers was
always intended as a placeholder. Many years later, we have finally moved
to GMP. No new capabilities, but the performance improvement can be a game
changer. The hobby horse is now a work horse.

Improved error messages will be appreciated by new users, but are also
welcomed by old hands. This feature is extensible and will evolve.

Release Notes are worth a look:
https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.4

This was a team effort and benefited from significant community
participation. But we should all recognize the major contributions of a few
individuals.

Henry Rich (everything - especially threads)
Raul Miller (GMP)
Bill Lam (steady hand in everything - android/openbsd/freebsd)
Elijah Stone (threads and error messages)
Bill Heagy (testing/testing/testing - beyond value)
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j9.4.0-beta13 available (rename from j904-beta)

2023-02-23 Thread Eric Iverson
J904 has been renamed to J9.4. Previously 904 indicated 9 major and 04
minor and additional info was in the type (beta-k or release-b). A more
conventional major.minor.revision has been adopted. For example, j9.4.0
(1st stable release) or j9.4.0-beta-13 and j9.4 will refer to the latest
revision available.

j9.4.0-beta13 is now available.

If you already run the beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

There may be hiccups due to the name change. If the above upgrade doesn't
work, you will need to do a full install from the zip file. First delete
the j904 folder, and then do the zip install.

The new install folder will be j9.4 and the corresponding user folder will
be j9.4-user. Move stuff from the old j904-user folder to the new folder as
appropriate.

If you have not installed the beta, there is still time to take a look and
help make the final release as stable as possible:
 https://code.jsoftware.com/wiki/System/Installation/J9.4

This is the final beta and the stable release will be out early next week.

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J904 (not yet moved
toJ8.4)

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jd release 4.41 available

2023-02-16 Thread Eric Iverson
That is on high side of expectations. Great! The 3 traditional file ops
were overhead on every op. If the op didn't do much, then the overhead
overwhelms. Some code clean up completely removed the need for those file
ops while maintaining the same integrity and  damage/repair facilities.

On Thu, Feb 16, 2023 at 4:16 PM Devon McCormick  wrote:

> I was in the middle of doing Jd timings when I saw this message so I
> upgraded it and am seeing almost 30% improvement in performance.
>
> On Thu, Feb 16, 2023 at 3:53 PM Eric Iverson 
> wrote:
>
> > Jd release 4.41 available:
> > https://code.jsoftware.com/wiki/Jd/Release
> >
> > All ops had some unnecessary overhead that has been trimmed out.
> Everything
> > runs just a little bit faster.
> >
> > There will be more work along this line throughout this year. In
> particular
> > there is a project for insert/upsert.
> > --
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
> --
>
> Devon McCormick, CFA
>
> Quantitative Consultant
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Jd release 4.41 available

2023-02-16 Thread Eric Iverson
Jd release 4.41 available:
https://code.jsoftware.com/wiki/Jd/Release

All ops had some unnecessary overhead that has been trimmed out. Everything
runs just a little bit faster.

There will be more work along this line throughout this year. In particular
there is a project for insert/upsert.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] JHS addon update available

2023-02-12 Thread Eric Iverson
It has been there for years! Fixed in the next release.

On Sun, Feb 12, 2023 at 8:01 AM 'Michael Day' via Programming <
programm...@jsoftware.com> wrote:

> Thanks.
>
> NB.  In the comment,  very early in menu>tour>overview :
> " NB. sum over - (Note Bene) starts comment "
> please note that the "N" in "NB" stands for "Nota", not "Note" .
>
> Sorry for pedantry,  but it might put off a potential fan! Apologies, too,
> if it's been there for years,
>
> Cheers,
>
> Mike
>
> On 11/02/2023 21:13, Eric Iverson wrote:
> > JHS major new release now available. I think it is worth a look.
> >
> > See menu>help>welcome
> >
> > Try out the new plot facility menu>tool>plot-chart
> >   (chartjs is very nice and easy to use)
> >
> > Take menu>tour>overview tutorial
> > --
> > For information about J forums seehttp://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


[Jprogramming] JHS addon update available

2023-02-11 Thread Eric Iverson
JHS major new release now available. I think it is worth a look.

See menu>help>welcome

Try out the new plot facility menu>tool>plot-chart
 (chartjs is very nice and easy to use)

Take menu>tour>overview tutorial
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] 904-beta-k

2023-01-24 Thread Eric Iverson
904-beta-k is available for windows/linux/macos/rpi.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J904-beta, there is still time to take a look
and help make the final release as stable as possible:
 https://code.jsoftware.com/wiki/System/Installation/J904

This is probably the final beta and the official release will be out in
early February.

Release notes:
 https://code.jsoftware.com/wiki/System/ReleaseNotes/J904

Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] 904-beta-j

2023-01-07 Thread Eric Iverson
904-beta-j is available for windows/linux/macos/rpi.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J904-beta, there is still time to take a look
and help make the final release as stable as possible.
   https://code.jsoftware.com/wiki/System/Installation/J904


This might be the final beta and the official release will probably be out
at month end or early in February.


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j904-beta-i available

2022-12-13 Thread Eric Iverson
J904-beta-i is available for windows/linux/mac/pi.

Please install/upgrade and use it so that the release after the beta cycle
is as stable as can be.

Usually we would end the beta cycle near year end and have a stable
release. Multi-threading was ready, but there were a few things we wanted
to get in the release and this means we will extend the beta cycle into the
new year as required.

The JE now uses GMP (GNU Multiple Precision Arithmetic Library) for
arbitrary precision arithmetic, operating on signed integers, rational
numbers, and floating-point numbers. This is a replacement for the previous
JE native support and is functionally equivalent, but MUCH faster.

   a =. 2 ^ 10x
   6!:2 'a*a' NB. time with GMP - 200 times faster

JE standard error messages are now enhanced by J code
(~addons/dev/eformat/eformat.ijs).

   i.'a'
|domain error, executing monad i.
|y has nonnumeric type (character)
|   i.'a'

The stable release will be in the new year as soon as the betas settle down.

*** 904 beta upgrade - extra steps to get the GMP shared library
1. start J 904
   load 'pacman'
   install 'base library' NB. get pacman changes for installing GMP

2. restart J 904
   load 'pacman'
   install 'gmp' NB. install GMP shared library
   'upgrade' jpkg 'jengine'

3. restart J 904
   JVERSION NB. verify beta-i
   1000x NB. verify gmp works

*** 904 beta install
browse: code.jsoftware.com/wiki/System/Installation/J904/Zips
and follow instructions for your platform

*** GMP - https://gmplib.org/#WHAT
What is GMP?

GMP is a free library for arbitrary precision arithmetic, operating on
signed integers, rational numbers, and floating-point numbers. There is no
practical limit to the precision except the ones implied by the available
memory in the machine GMP runs on. GMP has a rich set of functions, and the
functions have a regular interface.

The main target applications for GMP are cryptography applications and
research, Internet security applications, algebra systems, computational
algebra research, etc.

GMP is carefully designed to be as fast as possible, both for small
operands and for huge operands. The speed is achieved by using fullwords as
the basic arithmetic type, by using fast algorithms, with highly optimised
assembly code for the most common inner loops for a lot of CPUs, and by a
general emphasis on speed.
...
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904-beta-f : do not upgrade

2022-10-03 Thread Eric Iverson
Do NOT upgrade to the J904-beta-f as some problems have been reported. A
new beta will be announced as soon as they are fixed.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904-beta-f

2022-10-03 Thread Eric Iverson
J904-beta-f is available for windows/linux/macos.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

The multi-threading facilities are ready for serious use. Get ahead before
904 becomes the stable release.

If you have not yet installed J904-beta, time to get started!
   https://code.jsoftware.com/wiki/System/Installation/J904


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] JHS release

2022-09-19 Thread Eric Iverson
A new JHS release is available through pacman with some further cosmetic
changes.

Check out the new jijx menu>help and develop the habit of closing JHS with
Esc-q on the jijx page.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] JHS release

2022-09-15 Thread Eric Iverson
A new JHS release is available through pacman.

Changes are largely cosmetic, and shouldn't affect your use. But pretty
much everything was touched so proceed with some caution.

Check out the new jijx menu>help and develop the habit of closing JHS with
Esc-q on the jijx page.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Directly loading J scripts from GitHub

2022-07-25 Thread Eric Iverson
602 had hardening (sandbox) facilities. We will want to resurrect these as
we move down this path of running strange .code. The hard part is the
specs, not the implementation. Basically limited file folder, cd, and some
foreigns.

If we had specs, this would be nice to include in 904.


On Sun, Jul 24, 2022 at 8:43 PM Raul Miller  wrote:

> I think what John was suggesting was support for loading that did not
> save the files locally.
>
> That holds a curious attraction, but -- for now at least -- is perhaps
> best limited to contexts like the j playground.
>
> (There's a potential problem with loading and running code from
> arbitrary locations into a context with full access to the local
> machine. J currently does not have a "hardening" option, to run that
> stuff in a limited, investigative fashion. There's also a potential
> issue when internet connectivity is not available.)
>
> I hope this makes sense,
>
> --
> Raul
>
> On Sun, Jul 24, 2022 at 8:36 PM 'robert therriault' via Programming
>  wrote:
> >
> > Hi John,
> >
> > I think that the load will work as long as you do an install first. At
> least that is what it looks like on this link.
> > https://code.jsoftware.com/wiki/Pacman#github
> >
> > Cheers, bob
> >
> >
> > > On Jul 24, 2022, at 17:13, John Baker  wrote:
> > >
> > > Thanks,
> > >
> > > I’ve set up addons in the past and will setup a private one for some
> of the scripts in my GitHub jacks repository.
> > >
> > > I still think a direct load would be useful extension to standard load.
> > >
> > > analyzethedatanotthedrivel.org
> > >
> > >> On Jul 24, 2022, at 5:51 PM, 'Rob Hodgkinson' via Programming <
> programm...@jsoftware.com> wrote:
> > >>
> > >> Good documentation @Bob, thanks …and @Brian, very neat
> implementation and documentation Brian.
> > >>
> > >> I particularly enjoyed clicking your Avatar image and viewing your
> chart “Contributions in the past year”, well done !!  :-)
> > >>
> > >>
> > >>
> > >>> On 25 Jul 2022, at 9:28 am, Brian Schott 
> wrote:
> > >>>
> > >>> John,
> > >>> If you are thinking in this manner, you might look at the example at
> > >>> https://github.com/zerowords/tgsjo
> > >>> The README.md file has a section "Setup" which shows the user's
> process.
> > >>>
> > >>>
> >  On Sun, Jul 24, 2022 at 5:57 PM 'robert therriault' via Programming
> <
> >  programm...@jsoftware.com> wrote:
> > 
> >  Is this what you may have remembered John?
> > 
> >  https://code.jsoftware.com/wiki/Addons/Developers_Guide
> > 
> >  Cheers, bob
> > 
> >  --
> > >>> (B=) <-my sig
> > >>> Brian Schott
> > >>>
> --
> > >>> 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
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904-beta-e

2022-07-16 Thread Eric Iverson
J904-beta-e is available for windows/linux/macos.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

The multi-threading facilities are maturing rapidly!

If you have not yet installed J904-beta, time to get started!
   https://code.jsoftware.com/wiki/System/Installation/J904


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J Playground

2022-06-01 Thread Eric Iverson
Bill Szuch,
JHS jhs sp.ijs has similar capabilities to the lab facility. You are
probably best to just use lab in the playground.

The sp.ijs script is standalone and does not require the rest of jhs. If
you had that script in the playground, you could load it and run it as
expected.

On Wed, Jun 1, 2022 at 2:42 AM William Szuch 
wrote:

> Developers - J Playground
> I would like to try to run simple tutorials in the playground  using
> sp.ijs.
> I am not able to load the addon ide/jhs
>
>install 'github:jsoftware/ide_jhs'
> |interface error: httpget
> |   RESPONSE_httpget_(1!:2) |[-0]
>My guess is that the problem is with the manifest.ijs
>
> WHAT GREAT WORK BY THOSE IN THE PROJECT -WOW
> Looking forward to the continued development
>
> Regards
> Bill Szuch
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904-beta-d

2022-05-20 Thread Eric Iverson
J904-beta-d is available for windows/linux/macos.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J904-beta, time to get started!
   https://code.jsoftware.com/wiki/System/Installation/J904


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] 904-beta-c

2022-04-30 Thread Eric Iverson
J904-beta-c is available for windows/linux/macos.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J904-beta, time to get started!
   https://code.jsoftware.com/wiki/System/Installation/J904


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904-beta-b

2022-04-12 Thread Eric Iverson
J904-beta-b is available for windows/linux/macos.

If you already run J904-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J904-beta, time to get started!
   https://code.jsoftware.com/wiki/System/Installation/J904


Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J904


Questions/bug reports/etc. should go to the beta forum.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J904 beta-a

2022-04-09 Thread Eric Iverson
The 904 beta cycle has started!

https://code.jsoftware.com/wiki/System/Installation/J904

Install it now to get a head start on exciting new stuff.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] named noun internals

2022-03-31 Thread Eric Iverson
When you get this working, editing the wiki to have updated viewnoun that
works 64bit with current systems would be nice :)

On Thu, Mar 31, 2022 at 11:35 AM  wrote:

> I am working on a binding for a dll which requires a bit of mema / memr /
> memw, and this brought me to looking at symget / symset / symdat
>
> With minor tweeking, I updated to 64bits the viewnoun verb from the
> "Guides/Named Noun Internals" page (running J903):
>
>
>
> NB. 64 bit version
>
> viewnoun=: 3 : 0
>
> s=. symget 
> sys=. memr s,0 2 4 NB. pointers to name, header
>
> h=. 1{sys NB. header pointer
>
> fheader=. memr h,0 7 4 NB. fixed header
>
> NB. 'offset flag size type refcount len rank'=. fheader
>
> 'offset flag size type refcount len rank'=. fheader
>
>  rank =. 2 NB. hard coded patch !!!
>
> shape=. memr h,56,rank,4 NB. shape
>
> data=. memr (h+offset),0,len,type
>
> sys;fheader;shape;data
>
> )
>
>
>
>   abc=:10+ i. 2 3
>
> viewnoun 'abc'
>
> ┌─┬─┬───┬─┐
>
> │94112853474752 94112853484736│72 0 1 4 1 6 37355522│2 3│10 11 12 13 14 15│
>
> └─┴─┴───┴─┘
>
>
> Something has clearly changed in the data organization.
>
> * where has the rank info gone to? why do I get 37355522 instead?
>
> * does "reserved size for data" still exist? does the 1 actually mean
> anything or is it just a placeholder?
>
>
>
>
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] named noun internals

2022-03-31 Thread Eric Iverson
There have been changes and with 904 there are about to be more.

You should not use symget/symset/symdat, but instead use memhad/memdad as
defined in the latest jmf.ijs.

Playing with the JE internals is tricky and always will be subject to
change in new releases.

In particular avoid playing with the symbol table as that is becoming more
dynamic and may move. Use memhad/memdad to be safe.

It is best if you pattern work like this after the latest version of
jmf.ijs and perhaps in the latest jmfx.ijs (part of Jd).

I have not looked at the issues you raise, so if you are still puzzled
after following the above advice, please post new questions.



On Thu, Mar 31, 2022 at 11:35 AM  wrote:

> I am working on a binding for a dll which requires a bit of mema / memr /
> memw, and this brought me to looking at symget / symset / symdat
>
> With minor tweeking, I updated to 64bits the viewnoun verb from the
> "Guides/Named Noun Internals" page (running J903):
>
>
>
> NB. 64 bit version
>
> viewnoun=: 3 : 0
>
> s=. symget 
> sys=. memr s,0 2 4 NB. pointers to name, header
>
> h=. 1{sys NB. header pointer
>
> fheader=. memr h,0 7 4 NB. fixed header
>
> NB. 'offset flag size type refcount len rank'=. fheader
>
> 'offset flag size type refcount len rank'=. fheader
>
>  rank =. 2 NB. hard coded patch !!!
>
> shape=. memr h,56,rank,4 NB. shape
>
> data=. memr (h+offset),0,len,type
>
> sys;fheader;shape;data
>
> )
>
>
>
>   abc=:10+ i. 2 3
>
> viewnoun 'abc'
>
> ┌─┬─┬───┬─┐
>
> │94112853474752 94112853484736│72 0 1 4 1 6 37355522│2 3│10 11 12 13 14 15│
>
> └─┴─┴───┴─┘
>
>
> Something has clearly changed in the data organization.
>
> * where has the rank info gone to? why do I get 37355522 instead?
>
> * does "reserved size for data" still exist? does the 1 actually mean
> anything or is it just a placeholder?
>
>
>
>
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] utf8 and latin-1 code plane

2022-03-23 Thread Eric Iverson
macos - composed vs decomposed unicode filenames

I just checked again in my current mac (catalina) and that problem has been
fixed and all is ok.

They must have fixed it in the last release or so.

This lets me remove a Jd kludge.

On Tue, Mar 22, 2022 at 11:22 PM bill lam  wrote:

> This is a bug in J.  J should follow MacOS file system name normalization
> rule. I'll take a look.
>
>
> On Wed, 23 Mar 2022 at 11:01 AM Eric Iverson 
> wrote:
>
> > Not sure. And not sure I want to know.
> >
> > But to continue the example:
> >fread c NB. fails on macos as the system has the decomposed form as
> the
> > name it looks for
> >fread d
> > abc
> >
> >
> > On Tue, Mar 22, 2022 at 9:39 PM Elijah Stone 
> wrote:
> >
> > > I wonder what happens when you create two files with distinct names,
> and
> > > then unicode changes such that they are the same when
> > > normalised/casefolded/..
> > >
> > > Probably nothing good.
> > >
> > > On Tue, 22 Mar 2022, Eric Iverson wrote:
> > >
> > > > My favorite unicode story is from macos filenames.
> > > >
> > > > They decompose filenames and only track the decomposed form (letter
> > > > separate from the overstrike).
> > > >
> > > > The following accented chars look the same, but have different
> values.
> > > >
> > > >   c=: 195 164{a. NB. composed
> > > >   c
> > > > ä
> > > >   d=: 97 204 136{a. NB. decomposed
> > > >   d
> > > > ä
> > > >   c-:d
> > > > 0
> > > >   'abc'fwrite c
> > > >   fread c NB. fails on macos as the system has the decomposed form as
> > the
> > > > name it looks for
> > > >
> > > > Torvald has a wonderful rant about this that is a fun read.
> > > >
> > > > On Tue, Mar 22, 2022 at 7:02 PM Raul Miller 
> > > wrote:
> > > >
> > > >> I ran into a situation, today (dealing with files), where most of
> the
> > > >> files were utf-8 encoded but some represented the latin-1 "code
> plane"
> > > >> with 8 bit characters.
> > > >>
> > > >> To cope with this issue, I coded up a mechanism to test whether the
> > > >> file contained only valid utf-8 sequences, and used {{ ": 10 u: y }}
> > > >> for the files which failed this test.
> > > >>
> > > >> In other words:
> > > >>
> > > >> cclass=: (i.9) (48+i.9)} 256#9
> > > >> cstates=: 0 10#:10* ".;._2{{)n
> > > >>   07.3  234567.3  7.3  7.1 NB. 0: start char
> > > >> sequence
> > > >>   07.3  234567.3  7.3  7.1 NB. 1: finish
> char
> > > >> sequence, start next
> > > >>   7.3  17.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 2: need one
> > > >> more character
> > > >>   7.3  27.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 3: need two
> > > >> more characters
> > > >>   7.3  37.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 4: need three
> > > >> more characters
> > > >>   7.3  47.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 5: need four
> > > >> more characters
> > > >>   7.3  57.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 6: need five
> > > >> more characters
> > > >>   7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.2 NB. 7: end
> > > >> }}
> > > >>
> > > >> utf8lenb=: <:2#.>1 #each~1+i.8
> > > >> utf8ok=: {{
> > > >>   try.
> > > >> (1;cstates;cclass) ;: '.',~'012345678_'{~ utf8lenb I. 3 u: y
> > > >> 1
> > > >>   catch.
> > > >> 0
> > > >>   end.
> > > >> }}
> > > >>
> > > >> NB. most content is utf-8 -- assume non-utf-8 sequences are
> > > ascii+latin-1
> > > >> latin2utf8=: {{
> > > >>   if.utf8ok y do. y else. ":10 u: y end.
> > > >> }}
> > > >>
> > > >> I don't know if this approach would be useful to anyone else here,
> > > >> but... just in case...
> > > >>
> > > >> FYI,
> > > >>
> > > >> --
> > > >> Raul
> > > >>
> --
> > > >> 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
> >
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] utf8 and latin-1 code plane

2022-03-23 Thread Eric Iverson
Would be nice if Mac has finally fixed it.

On Wednesday, March 23, 2022, Eric Iverson  wrote:

> I don’t think think this is a bug in j and don’t think it is an easy fix.
> Probably better things to work on.
>
> On Tuesday, March 22, 2022, bill lam  wrote:
>
>> This is a bug in J.  J should follow MacOS file system name normalization
>> rule. I'll take a look.
>>
>>
>> On Wed, 23 Mar 2022 at 11:01 AM Eric Iverson 
>> wrote:
>>
>> > Not sure. And not sure I want to know.
>> >
>> > But to continue the example:
>> >fread c NB. fails on macos as the system has the decomposed form as
>> the
>> > name it looks for
>> >fread d
>> > abc
>> >
>> >
>> > On Tue, Mar 22, 2022 at 9:39 PM Elijah Stone 
>> wrote:
>> >
>> > > I wonder what happens when you create two files with distinct names,
>> and
>> > > then unicode changes such that they are the same when
>> > > normalised/casefolded/..
>> > >
>> > > Probably nothing good.
>> > >
>> > > On Tue, 22 Mar 2022, Eric Iverson wrote:
>> > >
>> > > > My favorite unicode story is from macos filenames.
>> > > >
>> > > > They decompose filenames and only track the decomposed form (letter
>> > > > separate from the overstrike).
>> > > >
>> > > > The following accented chars look the same, but have different
>> values.
>> > > >
>> > > >   c=: 195 164{a. NB. composed
>> > > >   c
>> > > > ä
>> > > >   d=: 97 204 136{a. NB. decomposed
>> > > >   d
>> > > > ä
>> > > >   c-:d
>> > > > 0
>> > > >   'abc'fwrite c
>> > > >   fread c NB. fails on macos as the system has the decomposed form
>> as
>> > the
>> > > > name it looks for
>> > > >
>> > > > Torvald has a wonderful rant about this that is a fun read.
>> > > >
>> > > > On Tue, Mar 22, 2022 at 7:02 PM Raul Miller 
>> > > wrote:
>> > > >
>> > > >> I ran into a situation, today (dealing with files), where most of
>> the
>> > > >> files were utf-8 encoded but some represented the latin-1 "code
>> plane"
>> > > >> with 8 bit characters.
>> > > >>
>> > > >> To cope with this issue, I coded up a mechanism to test whether the
>> > > >> file contained only valid utf-8 sequences, and used {{ ": 10 u: y
>> }}
>> > > >> for the files which failed this test.
>> > > >>
>> > > >> In other words:
>> > > >>
>> > > >> cclass=: (i.9) (48+i.9)} 256#9
>> > > >> cstates=: 0 10#:10* ".;._2{{)n
>> > > >>   07.3  234567.3  7.3  7.1 NB. 0: start
>> char
>> > > >> sequence
>> > > >>   07.3  234567.3  7.3  7.1 NB. 1: finish
>> char
>> > > >> sequence, start next
>> > > >>   7.3  17.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 2: need one
>> > > >> more character
>> > > >>   7.3  27.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 3: need two
>> > > >> more characters
>> > > >>   7.3  37.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 4: need
>> three
>> > > >> more characters
>> > > >>   7.3  47.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 5: need four
>> > > >> more characters
>> > > >>   7.3  57.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 6: need five
>> > > >> more characters
>> > > >>   7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.2 NB. 7: end
>> > > >> }}
>> > > >>
>> > > >> utf8lenb=: <:2#.>1 #each~1+i.8
>> > > >> utf8ok=: {{
>> > > >>   try.
>> > > >> (1;cstates;cclass) ;: '.',~'012345678_'{~ utf8lenb I. 3 u: y
>> > > >> 1
>> > > >>   catch.
>> > > >> 0
>> > > >>   end.
>> > > >> }}
>> > > >>
>> > > >> NB. most content is utf-8 -- assume non-utf-8 sequences are
>> > > ascii+latin-1
>> > > >> latin2utf8=: {{
>> > > >>   if.utf8ok y do. y else. ":10 u: y end.
>> > > >> }}
>> > > >>
>> > > >> I don't know if this approach would be useful to anyone else here,
>> > > >> but... just in case...
>> > > >>
>> > > >> FYI,
>> > > >>
>> > > >> --
>> > > >> Raul
>> > > >> 
>> --
>> > > >> For information about J forums see
>> > http://www.jsoftware.com/forums.htm
>> > > >>
>> > > > 
>> --
>> > > > For information about J forums see http://www.jsoftware.com/forum
>> s.htm
>> > > 
>> --
>> > > For information about J forums see http://www.jsoftware.com/forum
>> s.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


Re: [Jprogramming] utf8 and latin-1 code plane

2022-03-23 Thread Eric Iverson
I don’t think think this is a bug in j and don’t think it is an easy fix.
Probably better things to work on.

On Tuesday, March 22, 2022, bill lam  wrote:

> This is a bug in J.  J should follow MacOS file system name normalization
> rule. I'll take a look.
>
>
> On Wed, 23 Mar 2022 at 11:01 AM Eric Iverson 
> wrote:
>
> > Not sure. And not sure I want to know.
> >
> > But to continue the example:
> >fread c NB. fails on macos as the system has the decomposed form as
> the
> > name it looks for
> >fread d
> > abc
> >
> >
> > On Tue, Mar 22, 2022 at 9:39 PM Elijah Stone 
> wrote:
> >
> > > I wonder what happens when you create two files with distinct names,
> and
> > > then unicode changes such that they are the same when
> > > normalised/casefolded/..
> > >
> > > Probably nothing good.
> > >
> > > On Tue, 22 Mar 2022, Eric Iverson wrote:
> > >
> > > > My favorite unicode story is from macos filenames.
> > > >
> > > > They decompose filenames and only track the decomposed form (letter
> > > > separate from the overstrike).
> > > >
> > > > The following accented chars look the same, but have different
> values.
> > > >
> > > >   c=: 195 164{a. NB. composed
> > > >   c
> > > > ä
> > > >   d=: 97 204 136{a. NB. decomposed
> > > >   d
> > > > ä
> > > >   c-:d
> > > > 0
> > > >   'abc'fwrite c
> > > >   fread c NB. fails on macos as the system has the decomposed form as
> > the
> > > > name it looks for
> > > >
> > > > Torvald has a wonderful rant about this that is a fun read.
> > > >
> > > > On Tue, Mar 22, 2022 at 7:02 PM Raul Miller 
> > > wrote:
> > > >
> > > >> I ran into a situation, today (dealing with files), where most of
> the
> > > >> files were utf-8 encoded but some represented the latin-1 "code
> plane"
> > > >> with 8 bit characters.
> > > >>
> > > >> To cope with this issue, I coded up a mechanism to test whether the
> > > >> file contained only valid utf-8 sequences, and used {{ ": 10 u: y }}
> > > >> for the files which failed this test.
> > > >>
> > > >> In other words:
> > > >>
> > > >> cclass=: (i.9) (48+i.9)} 256#9
> > > >> cstates=: 0 10#:10* ".;._2{{)n
> > > >>   07.3  234567.3  7.3  7.1 NB. 0: start char
> > > >> sequence
> > > >>   07.3  234567.3  7.3  7.1 NB. 1: finish
> char
> > > >> sequence, start next
> > > >>   7.3  17.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 2: need one
> > > >> more character
> > > >>   7.3  27.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 3: need two
> > > >> more characters
> > > >>   7.3  37.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 4: need three
> > > >> more characters
> > > >>   7.3  47.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 5: need four
> > > >> more characters
> > > >>   7.3  57.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 6: need five
> > > >> more characters
> > > >>   7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.2 NB. 7: end
> > > >> }}
> > > >>
> > > >> utf8lenb=: <:2#.>1 #each~1+i.8
> > > >> utf8ok=: {{
> > > >>   try.
> > > >> (1;cstates;cclass) ;: '.',~'012345678_'{~ utf8lenb I. 3 u: y
> > > >> 1
> > > >>   catch.
> > > >> 0
> > > >>   end.
> > > >> }}
> > > >>
> > > >> NB. most content is utf-8 -- assume non-utf-8 sequences are
> > > ascii+latin-1
> > > >> latin2utf8=: {{
> > > >>   if.utf8ok y do. y else. ":10 u: y end.
> > > >> }}
> > > >>
> > > >> I don't know if this approach would be useful to anyone else here,
> > > >> but... just in case...
> > > >>
> > > >> FYI,
> > > >>
> > > >> --
> > > >> Raul
> > > >> 
> --
> > > >> 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
> >
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] utf8 and latin-1 code plane

2022-03-22 Thread Eric Iverson
Not sure. And not sure I want to know.

But to continue the example:
   fread c NB. fails on macos as the system has the decomposed form as the
name it looks for
   fread d
abc


On Tue, Mar 22, 2022 at 9:39 PM Elijah Stone  wrote:

> I wonder what happens when you create two files with distinct names, and
> then unicode changes such that they are the same when
> normalised/casefolded/..
>
> Probably nothing good.
>
> On Tue, 22 Mar 2022, Eric Iverson wrote:
>
> > My favorite unicode story is from macos filenames.
> >
> > They decompose filenames and only track the decomposed form (letter
> > separate from the overstrike).
> >
> > The following accented chars look the same, but have different values.
> >
> >   c=: 195 164{a. NB. composed
> >   c
> > ä
> >   d=: 97 204 136{a. NB. decomposed
> >   d
> > ä
> >   c-:d
> > 0
> >   'abc'fwrite c
> >   fread c NB. fails on macos as the system has the decomposed form as the
> > name it looks for
> >
> > Torvald has a wonderful rant about this that is a fun read.
> >
> > On Tue, Mar 22, 2022 at 7:02 PM Raul Miller 
> wrote:
> >
> >> I ran into a situation, today (dealing with files), where most of the
> >> files were utf-8 encoded but some represented the latin-1 "code plane"
> >> with 8 bit characters.
> >>
> >> To cope with this issue, I coded up a mechanism to test whether the
> >> file contained only valid utf-8 sequences, and used {{ ": 10 u: y }}
> >> for the files which failed this test.
> >>
> >> In other words:
> >>
> >> cclass=: (i.9) (48+i.9)} 256#9
> >> cstates=: 0 10#:10* ".;._2{{)n
> >>   07.3  234567.3  7.3  7.1 NB. 0: start char
> >> sequence
> >>   07.3  234567.3  7.3  7.1 NB. 1: finish char
> >> sequence, start next
> >>   7.3  17.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 2: need one
> >> more character
> >>   7.3  27.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 3: need two
> >> more characters
> >>   7.3  37.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 4: need three
> >> more characters
> >>   7.3  47.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 5: need four
> >> more characters
> >>   7.3  57.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 6: need five
> >> more characters
> >>   7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.2 NB. 7: end
> >> }}
> >>
> >> utf8lenb=: <:2#.>1 #each~1+i.8
> >> utf8ok=: {{
> >>   try.
> >> (1;cstates;cclass) ;: '.',~'012345678_'{~ utf8lenb I. 3 u: y
> >> 1
> >>   catch.
> >> 0
> >>   end.
> >> }}
> >>
> >> NB. most content is utf-8 -- assume non-utf-8 sequences are
> ascii+latin-1
> >> latin2utf8=: {{
> >>   if.utf8ok y do. y else. ":10 u: y end.
> >> }}
> >>
> >> I don't know if this approach would be useful to anyone else here,
> >> but... just in case...
> >>
> >> FYI,
> >>
> >> --
> >> Raul
> >> --
> >> 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


Re: [Jprogramming] utf8 and latin-1 code plane

2022-03-22 Thread Eric Iverson
My favorite unicode story is from macos filenames.

They decompose filenames and only track the decomposed form (letter
separate from the overstrike).

The following accented chars look the same, but have different values.

   c=: 195 164{a. NB. composed
   c
ä
   d=: 97 204 136{a. NB. decomposed
   d
ä
   c-:d
0
   'abc'fwrite c
   fread c NB. fails on macos as the system has the decomposed form as the
name it looks for

Torvald has a wonderful rant about this that is a fun read.

On Tue, Mar 22, 2022 at 7:02 PM Raul Miller  wrote:

> I ran into a situation, today (dealing with files), where most of the
> files were utf-8 encoded but some represented the latin-1 "code plane"
> with 8 bit characters.
>
> To cope with this issue, I coded up a mechanism to test whether the
> file contained only valid utf-8 sequences, and used {{ ": 10 u: y }}
> for the files which failed this test.
>
> In other words:
>
> cclass=: (i.9) (48+i.9)} 256#9
> cstates=: 0 10#:10* ".;._2{{)n
>   07.3  234567.3  7.3  7.1 NB. 0: start char
> sequence
>   07.3  234567.3  7.3  7.1 NB. 1: finish char
> sequence, start next
>   7.3  17.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 2: need one
> more character
>   7.3  27.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 3: need two
> more characters
>   7.3  37.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 4: need three
> more characters
>   7.3  47.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 5: need four
> more characters
>   7.3  57.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3 NB. 6: need five
> more characters
>   7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.3  7.2 NB. 7: end
> }}
>
> utf8lenb=: <:2#.>1 #each~1+i.8
> utf8ok=: {{
>   try.
> (1;cstates;cclass) ;: '.',~'012345678_'{~ utf8lenb I. 3 u: y
> 1
>   catch.
> 0
>   end.
> }}
>
> NB. most content is utf-8 -- assume non-utf-8 sequences are ascii+latin-1
> latin2utf8=: {{
>   if.utf8ok y do. y else. ":10 u: y end.
> }}
>
> I don't know if this approach would be useful to anyone else here,
> but... just in case...
>
> FYI,
>
> --
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-16 Thread Eric Iverson
Pascal,
I have not yet had a chance to look at your proposed dictionary addon. But
I will. And it is nice that Raul is paying attention.

I want to strongly second your comment that locales are not at all
appropriate for this.

Locales are good for what they are good for. Using them for a serious
implementation of a data structure is a wrong and a serious misuse. Next
stop would be a locale based implementation of integer arrays.

I

On Mon, Mar 14, 2022 at 4:23 PM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> I'll remind "the world" that a dictionary implementation has been
> published: https://github.com/Pascal-J/kv
>
> I'll defend it as being the most J friendly implementation for having
> functional access + manipulation features, it further has, through the kvO
> adverb, the ability to J-optimize access at the expense of future
> manipulation.  J is mostly considered a tool for structuring information
> prior to querying/subsetting it.  A locale based state-oriented dictionary
> approach makes it overhead/difficult to extract information subsets, and
> adds object management difficulties on top of the access.
>
>
> To paraphrase Hitchhiker's galaxy, "first God/J/Ken created OOP and
> locales, and everyone agreed that was terrible"
>
>
>
> On Monday, March 14, 2022, 10:01:28 a.m. EDT, Michal Wallace <
> michal.wall...@gmail.com> wrote:
>
>
>
>
>
> It's true that dictionaries aren't really a "fundamental" data type, since
> they're easy to implement atop arrays.
> But I think for a lot of people, they've become a fundamental "thinking
> type"...
>
> I think jan-pieter's requirements list is a good start. I would add:
>
> - nice syntax for constructing the mapping as a list of pairs rather than a
> pair of lists.
> - nice syntax for traversing nested structures
> - ability to write "accessor" methods that intervene
> - ability to chain dictionaries together (to give search paths like locales
> have)
>
> I've mentioned before that I think there could be a real benefit to having
> a nested namespace model for locales.
> I think it would be nice if, when you imported a module from path
> 'foo/bar/baz', you could trust that it would load
> something into a namespace that had a corresponding nested path name.
>
> That does raise the question about how to make navigating a path play nice
> with J's right-to-left syntax.
>
> In other words, I think locales already do much of what we want for
> dictionaries, but I'm not sure if they're implemented
> in terms of hashtables. (AFAIK, k3 doesn't even use hash tables for
> dictionaries. It's always just a linear lookup.)
>
> One thing that is missing is the ability to have arbitrary (non-identifier,
> or even non-string) keys, or the ability to fetch multiple values at once.
>
> In j-kvm (that console library I've been working on),  I implemented a
> simple verb that I really wish had a standard name in J:
>
> of =: {{ (x,'__y')~ [ y }}"1 0
>
> My ui widgets have two separate flags related to display: V__w indicates
> that w is visible, and R__w indicates that it's in need of a refresh.
> So when it comes time to render an application with list of widgets W: I
> can select both flags at once from all the widgets:
>
> render =: {{
>   for_w. W #~ *./'VR' of "0 W do.
> NB. render w
>   end. }}
>
>
>
> On Mon, Jan 31, 2022 at 1:27 PM Henry Rich  wrote:
>
> > I have looked into this quite a bit.  I am not convinced that Dictionary
> > is a fundamental datatype like number or letter, or that the current
> > symbol support is deficient.  That makes the first questions What is a
> > Dictionary? and Where can a Dictionary be used in J?
> >
> > The use case that would be important to me is a key-value store, aka
> > associative memory, where the Dictionary remember keys and values and
> > later returns a value when presented with the key. This feels to me like
> > a package written in J rather than a J primitive.  A Dictionary would be
> > a numbered locale.  The place where I could see added support inside J
> > would be in adding to and deleting from hashtables, specifically ones
> > created/used by m .
> >
> > I invite proposals on what a Dictionary package needs to do.  I have
> > done this before, and Jan-Pieter Jacobs responded with a package.
> > Quoting from his message of 20210327:
> >
> > *** QUOTE
> >
> > install'github:jpjacobs/types_dict@main'
> >
> > (except on (my) android, where github installs don't seem to work,
> neither
> > in the Gui version JA nor on the commandline via termux)
> >
> > It is pretty simple in use, you just use:
> > d=: dict keys;vals
> > for creating the dictionary, which is a OOP object, having the following
> > methods:
> > get, set, map, sort, destroy, whose documentation is contained in
> > help_pdict_
> >
> > For performance, the create verb precomputes the lookup for the get verb,
> > both forward get (key->value) and backward get inv (value->first key)
> upon
> > object creation.
> >
> > *** END QUOTE

Re: [Jprogramming] prime testing on large numbers

2022-03-09 Thread Eric Iverson
I don't know about libbf, but I do have reservations about gmp. The first
step is to make sure the choice is right.

On Wed, Mar 9, 2022 at 7:15 PM Eric Iverson 
wrote:

> There is no need to static link. A dynamic link is easier. The 'standard'
> build of the dll would be distributed in the J bin folder and would work
> just as would the static link. But if you wanted a different build, it is
> easy to do.
>
> On Wed, Mar 9, 2022 at 4:09 PM Elijah Stone  wrote:
>
>> jconsole/etc. already dynamically link to libj, so I think dynamic
>> linking
>> is fine.  Not hard to bundle the requisite libs.  That said, my
>> preference
>> is for libbf rather than gmp (and I started on something oriented
>> thattaways), and it happens to be permissively licensed.
>>
>> On Wed, 9 Mar 2022, Julian Fondren wrote:
>>
>> > I got very little through February for various reasons, but I'm back on
>> > it. I think static linking is the best way as well, including to avoid
>> > newer builds of J having new dependencies that make J not work on
>> > machines where it previously did, but if so it probably can't be GMP
>> for
>> > licensing reasons. My plan's just to get something working, with the
>> > expectation that various issues like this will be easy to decide later.
>> >
>> > --- Original Message ---
>> >
>> > On Wednesday, March 9th, 2022 at 1:21 PM, Raul Miller <
>> rauldmil...@gmail.com> wrote:
>> >
>> >> On Tue, Jan 25, 2022 at 8:38 PM Julian Fondren
>> jfond...@minimaltype.com wrote:
>> >>
>> >> > I'll get it done.
>> >>
>> >> How is this proceeding?
>> >>
>> >> (I have been tempted to tackle this integration myself, but between
>> >>
>> >> laptop failures and some other issues, I have not gotten around to it,
>> >>
>> >> yet.)
>> >>
>> >> I will say this:
>> >>
>> >> Because of how J is typically installed, I think that the right
>> >>
>> >> approach here would be to statically link against libgmp. Dynamic
>> >>
>> >> links are appropriate in a variety of cases, but not this one, not for
>> >>
>> >> the initial port. (Once libgmp is supported, it would be possible to
>> >>
>> >> build J against a dynamically linked libgmp, but while that might be
>> >>
>> >> right for some people, most people are not going to want to deal with
>> >>
>> >> the consequences of that approach.)
>> >>
>> >> Anyways, ... I might yet get around to tackling this by myself, but if
>> >>
>> >> you're making good progress, I should probably either just wait or try
>> >>
>> >> to pitch in on issues which are eating too much of your time.
>> >>
>> >> Thanks,
>> >>
>> >> --
>> >>
>> >> Raul
>> >>
>> >> --
>> >>
>> >> 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


Re: [Jprogramming] prime testing on large numbers

2022-03-09 Thread Eric Iverson
There is no need to static link. A dynamic link is easier. The 'standard'
build of the dll would be distributed in the J bin folder and would work
just as would the static link. But if you wanted a different build, it is
easy to do.

On Wed, Mar 9, 2022 at 4:09 PM Elijah Stone  wrote:

> jconsole/etc. already dynamically link to libj, so I think dynamic linking
> is fine.  Not hard to bundle the requisite libs.  That said, my preference
> is for libbf rather than gmp (and I started on something oriented
> thattaways), and it happens to be permissively licensed.
>
> On Wed, 9 Mar 2022, Julian Fondren wrote:
>
> > I got very little through February for various reasons, but I'm back on
> > it. I think static linking is the best way as well, including to avoid
> > newer builds of J having new dependencies that make J not work on
> > machines where it previously did, but if so it probably can't be GMP for
> > licensing reasons. My plan's just to get something working, with the
> > expectation that various issues like this will be easy to decide later.
> >
> > --- Original Message ---
> >
> > On Wednesday, March 9th, 2022 at 1:21 PM, Raul Miller <
> rauldmil...@gmail.com> wrote:
> >
> >> On Tue, Jan 25, 2022 at 8:38 PM Julian Fondren jfond...@minimaltype.com
> wrote:
> >>
> >> > I'll get it done.
> >>
> >> How is this proceeding?
> >>
> >> (I have been tempted to tackle this integration myself, but between
> >>
> >> laptop failures and some other issues, I have not gotten around to it,
> >>
> >> yet.)
> >>
> >> I will say this:
> >>
> >> Because of how J is typically installed, I think that the right
> >>
> >> approach here would be to statically link against libgmp. Dynamic
> >>
> >> links are appropriate in a variety of cases, but not this one, not for
> >>
> >> the initial port. (Once libgmp is supported, it would be possible to
> >>
> >> build J against a dynamically linked libgmp, but while that might be
> >>
> >> right for some people, most people are not going to want to deal with
> >>
> >> the consequences of that approach.)
> >>
> >> Anyways, ... I might yet get around to tackling this by myself, but if
> >>
> >> you're making good progress, I should probably either just wait or try
> >>
> >> to pitch in on issues which are eating too much of your time.
> >>
> >> Thanks,
> >>
> >> --
> >>
> >> Raul
> >>
> >> --
> >>
> >> 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


[Jprogramming] arrayfire addon updated

2022-02-28 Thread Eric Iverson
arrayfire addon updated with minor fixes

Main change is matmul now has wrappersfor best performance for either f64
or f32 (avoids expensive conversion of row major to column major with
square matrices by using matmul transpose flag).

Get started:
   load '~addons/math/arrayfire/arrayfire.ijs'
...
  init_jaf_ 'cpu' NB. or 'cuda' if you have an nvidia card can cuda
software installed
  tut_jaf_ '' NB. tutorials
...
  tut_jaf_ 'qmp' NB. matmul tutorial
...
   tut_jaf_'xaf_cpp' NB. c++ tutorial that opens up new possibilities
...
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] arrayfire addon updated

2022-02-23 Thread Eric Iverson
arrayfire addon updated

The addon allows high performance computing of matrix product
and many other mathematical array operations. Multiple cpu
cores and hardware such as Nvidia gpus are used as appropriate.

Browse https://arrayfire.org for more info.

There are many small improvements and a new and significant
tutorial that shows how you can add arrayfire c++ code for
easier use of all that arrayfire has to offer.

Get started:
   load '~addons/math/arrayfire/arrayfire.ijs'
...
  init_jaf_ 'cpu'
  tut_jaf_ 'basic' NB. basic tutorial
...
   tut_jaf_'xaf_cpp' NB. new c++ tutorial that opens up new possibilities
...

*** from the addon description
cd bindings and utilities for ArrayFire shared library

https://arrayfire.org

"ArrayFire is a high performance software library for
parallel computing with an easy-to-use API. Its array based
function set makes parallel programming more accessible."

J-ArrayFire cd bindings make it easy to have
high performance computing for things like matrix multiply
with cpu cores, Nvidia gpus, and opencl.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jd error: Unrecognized aggregate function

2022-02-10 Thread Eric Iverson
Yes, you can do that.
jd'info ref' NB. list ref cols
jd'dropcol colnam'

https://code.jsoftware.com/wiki/Jd/Ops_info#info
https://code.jsoftware.com/wiki/Jd/Ops_drop#dropcol


On Thu, Feb 10, 2022 at 5:44 PM Raul Miller  wrote:

> Excellent, thanks. Adding 'first' to the other column labels is easy
> and makes sense to me.
>
> One other question: currently to test the script I am writing, I am
> having to delete the jd files from outside of J. If I fail to do that,
> I get the error "|Jd error: table has ref: op:droptable db:csvload"
> when I re-run my script.
>
> In this context, I do not want to protect the data -- in this context,
> testing my script for unexpected dependencies is key. Is there some
> way of dropping that ref?
>
> Thanks,
>
> --
> Raul
>
> On Thu, Feb 10, 2022 at 2:42 PM Eric Iverson 
> wrote:
> >
> > Take a look at https://code.jsoftware.com/wiki/Jd if you have not
> already
> > done so.
> >
> > The docs are weak and we depend more on the tutorials. There are
> tutorials
> > that cover the area you are interested in.
> >
> > I loaded your files and have taken a quick look.
> >
> > First, I removed all the col relabel stuff as it is noise (and at times
> in
> > the past has triggered bugs). That is, remove all the txt: and other
> stuff
> > to make the statement as simple as possible.
> >
> > The by clause requires that there be an aggregation function for each col
> > in the select clause. That is the important part you were missing,
> although
> > the error was quite misleading.
> >
> > The following is a simple statement that works and has all the important
> > elements from your example.
> >
> >
> > jd'reads count patients.LASTNAME , count visits.VISIT_DATE by
> > patients.PATIENTID  from patients, patients.visits'
> >
> > Perhaps it will help you get further along.
> >
> > If you get stuck again or are still stuck, please ask again.
> >
> > On Thu, Feb 10, 2022 at 2:12 PM Raul Miller 
> wrote:
> >
> > > Embarrassing mis-statement:
> > >
> > > I wrote: "I am not trying to learn Jd"
> > >
> > > I meant: I am *now* trying to learn Jd
> > >
> > > --
> > > Raul
> > >
> > > On Thu, Feb 10, 2022 at 1:58 PM Raul Miller 
> wrote:
> > > >
> > > > http://rosettacode.org/wiki/Merge_and_aggregate_datasets
> > > >
> > > > After looking at this rosettacode task, I decided that Jd is probably
> > > > best suited for the J task implementation. So, I am not trying to
> > > > learn Jd (I had not had occasion to use it, previously).
> > > >
> > > > After a few minor mishaps, I've stumbled on an issue which I do not
> > > > know how to resolve.
> > > >
> > > > (Previous mishaps: csvload fails with an error suggesting that the
> > > > file does not exist if csvprepare has not been previously run. This
> > > > behavior is undocumented, except by example in the tutorials. Also, I
> > > > need to run the tutorial in a different J session from my testing
> work
> > > > to prevent the tutorials from breaking my tests.)
> > > >
> > > > Anyways, I'm currently getting an Unrecognized aggregate function
> > > > error, when trying to use the 'max' aggregate function. This should
> > > > demonstrate where I'm at:
> > > >
> > > > require'jd pacman'
> > > > load JDP,'tools/csv_load.ijs'
> > > > F=: jpath '~temp/rosettacode/example/CSV'
> > > > jdcreatefolder_jd_ CSVFOLDER=: F
> > > >
> > > > assert 0<{{)n
> > > > PATIENTID,LASTNAME
> > > > 1001,Hopper
> > > > 4004,Wirth
> > > > 3003,Kemeny
> > > > 2002,Gosling
> > > > 5005,Kurtz
> > > > }} fwrite F,'patients.csv'
> > > >
> > > > assert 0<{{)n
> > > > PATIENTID,VISIT_DATE,SCORE
> > > > 2002,2020-09-10,6.8
> > > > 1001,2020-09-17,5.5
> > > > 4004,2020-09-24,8.4
> > > > 2002,2020-10-08,
> > > > 1001,,6.6
> > > > 3003,2020-11-12,
> > > > 4004,2020-11-05,7.0
> > > > 1001,2020-11-19,5.3
> > > > }} fwrite F,'visits.csv'
> > > >
> > > > csvprepare 'patients';F,'patients.csv'
> > > > csvprepare 'visits';F,'visits.csv'
> > > >
> > > > csvload 'patients';1
> > > > csvload 'visits';1
> > >

Re: [Jprogramming] Jd error: Unrecognized aggregate function

2022-02-10 Thread Eric Iverson
Raul,
Each col in the select clause need an aggregation function. If I do that
(note 2 occurences of count), then your statement works:
jd'reads count p.PATIENTID, LASTNAME: count p.LASTNAME, first
v.VISIT_DATE by p.PATIENTID from p:patients, v:p.visits'

On Thu, Feb 10, 2022 at 2:41 PM Eric Iverson 
wrote:

> Take a look at https://code.jsoftware.com/wiki/Jd if you have not already
> done so.
>
> The docs are weak and we depend more on the tutorials. There are tutorials
> that cover the area you are interested in.
>
> I loaded your files and have taken a quick look.
>
> First, I removed all the col relabel stuff as it is noise (and at times in
> the past has triggered bugs). That is, remove all the txt: and other stuff
> to make the statement as simple as possible.
>
> The by clause requires that there be an aggregation function for each col
> in the select clause. That is the important part you were missing, although
> the error was quite misleading.
>
> The following is a simple statement that works and has all the important
> elements from your example.
>
>
> jd'reads count patients.LASTNAME , count visits.VISIT_DATE by 
> patients.PATIENTID  from patients, patients.visits'
>
> Perhaps it will help you get further along.
>
> If you get stuck again or are still stuck, please ask again.
>
> On Thu, Feb 10, 2022 at 2:12 PM Raul Miller  wrote:
>
>> Embarrassing mis-statement:
>>
>> I wrote: "I am not trying to learn Jd"
>>
>> I meant: I am *now* trying to learn Jd
>>
>> --
>> Raul
>>
>> On Thu, Feb 10, 2022 at 1:58 PM Raul Miller 
>> wrote:
>> >
>> > http://rosettacode.org/wiki/Merge_and_aggregate_datasets
>> >
>> > After looking at this rosettacode task, I decided that Jd is probably
>> > best suited for the J task implementation. So, I am not trying to
>> > learn Jd (I had not had occasion to use it, previously).
>> >
>> > After a few minor mishaps, I've stumbled on an issue which I do not
>> > know how to resolve.
>> >
>> > (Previous mishaps: csvload fails with an error suggesting that the
>> > file does not exist if csvprepare has not been previously run. This
>> > behavior is undocumented, except by example in the tutorials. Also, I
>> > need to run the tutorial in a different J session from my testing work
>> > to prevent the tutorials from breaking my tests.)
>> >
>> > Anyways, I'm currently getting an Unrecognized aggregate function
>> > error, when trying to use the 'max' aggregate function. This should
>> > demonstrate where I'm at:
>> >
>> > require'jd pacman'
>> > load JDP,'tools/csv_load.ijs'
>> > F=: jpath '~temp/rosettacode/example/CSV'
>> > jdcreatefolder_jd_ CSVFOLDER=: F
>> >
>> > assert 0<{{)n
>> > PATIENTID,LASTNAME
>> > 1001,Hopper
>> > 4004,Wirth
>> > 3003,Kemeny
>> > 2002,Gosling
>> > 5005,Kurtz
>> > }} fwrite F,'patients.csv'
>> >
>> > assert 0<{{)n
>> > PATIENTID,VISIT_DATE,SCORE
>> > 2002,2020-09-10,6.8
>> > 1001,2020-09-17,5.5
>> > 4004,2020-09-24,8.4
>> > 2002,2020-10-08,
>> > 1001,,6.6
>> > 3003,2020-11-12,
>> > 4004,2020-11-05,7.0
>> > 1001,2020-11-19,5.3
>> > }} fwrite F,'visits.csv'
>> >
>> > csvprepare 'patients';F,'patients.csv'
>> > csvprepare 'visits';F,'visits.csv'
>> >
>> > csvload 'patients';1
>> > csvload 'visits';1
>> >
>> > jd'ref patients PATIENTID  visits PATIENTID'
>> >
>> > echo jd ([echo) deb {{)n
>> >   reads
>> >  p.PATIENTID,
>> >  LASTNAME:p.LASTNAME,
>> >  first v.VISIT_DATE
>> > by
>> >  p.PATIENTID
>> > from
>> >   p:patients,
>> >   v:p.visits
>> > }} -.LF
>> >
>> > Now, ... one of my thoughts was that maybe this is a type error,
>> > indicating that 'max' does not have a definition for the type of data
>> > in this column. However, replacing 'max' with 'first' (which should be
>> > defined for any type of column) also gives an "Unrecognized aggregate
>> > function' error.
>> >
>> > So...
>> >
>> > (1) What am I doing wrong here, and
>> >
>> > (2) What should I have looked at to discover this information?
>> >
>> > Thanks,
>> >
>> > --
>> > Raul
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jd error: Unrecognized aggregate function

2022-02-10 Thread Eric Iverson
Take a look at https://code.jsoftware.com/wiki/Jd if you have not already
done so.

The docs are weak and we depend more on the tutorials. There are tutorials
that cover the area you are interested in.

I loaded your files and have taken a quick look.

First, I removed all the col relabel stuff as it is noise (and at times in
the past has triggered bugs). That is, remove all the txt: and other stuff
to make the statement as simple as possible.

The by clause requires that there be an aggregation function for each col
in the select clause. That is the important part you were missing, although
the error was quite misleading.

The following is a simple statement that works and has all the important
elements from your example.


jd'reads count patients.LASTNAME , count visits.VISIT_DATE by
patients.PATIENTID  from patients, patients.visits'

Perhaps it will help you get further along.

If you get stuck again or are still stuck, please ask again.

On Thu, Feb 10, 2022 at 2:12 PM Raul Miller  wrote:

> Embarrassing mis-statement:
>
> I wrote: "I am not trying to learn Jd"
>
> I meant: I am *now* trying to learn Jd
>
> --
> Raul
>
> On Thu, Feb 10, 2022 at 1:58 PM Raul Miller  wrote:
> >
> > http://rosettacode.org/wiki/Merge_and_aggregate_datasets
> >
> > After looking at this rosettacode task, I decided that Jd is probably
> > best suited for the J task implementation. So, I am not trying to
> > learn Jd (I had not had occasion to use it, previously).
> >
> > After a few minor mishaps, I've stumbled on an issue which I do not
> > know how to resolve.
> >
> > (Previous mishaps: csvload fails with an error suggesting that the
> > file does not exist if csvprepare has not been previously run. This
> > behavior is undocumented, except by example in the tutorials. Also, I
> > need to run the tutorial in a different J session from my testing work
> > to prevent the tutorials from breaking my tests.)
> >
> > Anyways, I'm currently getting an Unrecognized aggregate function
> > error, when trying to use the 'max' aggregate function. This should
> > demonstrate where I'm at:
> >
> > require'jd pacman'
> > load JDP,'tools/csv_load.ijs'
> > F=: jpath '~temp/rosettacode/example/CSV'
> > jdcreatefolder_jd_ CSVFOLDER=: F
> >
> > assert 0<{{)n
> > PATIENTID,LASTNAME
> > 1001,Hopper
> > 4004,Wirth
> > 3003,Kemeny
> > 2002,Gosling
> > 5005,Kurtz
> > }} fwrite F,'patients.csv'
> >
> > assert 0<{{)n
> > PATIENTID,VISIT_DATE,SCORE
> > 2002,2020-09-10,6.8
> > 1001,2020-09-17,5.5
> > 4004,2020-09-24,8.4
> > 2002,2020-10-08,
> > 1001,,6.6
> > 3003,2020-11-12,
> > 4004,2020-11-05,7.0
> > 1001,2020-11-19,5.3
> > }} fwrite F,'visits.csv'
> >
> > csvprepare 'patients';F,'patients.csv'
> > csvprepare 'visits';F,'visits.csv'
> >
> > csvload 'patients';1
> > csvload 'visits';1
> >
> > jd'ref patients PATIENTID  visits PATIENTID'
> >
> > echo jd ([echo) deb {{)n
> >   reads
> >  p.PATIENTID,
> >  LASTNAME:p.LASTNAME,
> >  first v.VISIT_DATE
> > by
> >  p.PATIENTID
> > from
> >   p:patients,
> >   v:p.visits
> > }} -.LF
> >
> > Now, ... one of my thoughts was that maybe this is a type error,
> > indicating that 'max' does not have a definition for the type of data
> > in this column. However, replacing 'max' with 'first' (which should be
> > defined for any type of column) also gives an "Unrecognized aggregate
> > function' error.
> >
> > So...
> >
> > (1) What am I doing wrong here, and
> >
> > (2) What should I have looked at to discover this information?
> >
> > Thanks,
> >
> > --
> > Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jd error: Unrecognized aggregate function

2022-02-10 Thread Eric Iverson
Thanks for the clear report. I will take a look tomorrow and get back to
you as soon as I can.

On Thu, Feb 10, 2022 at 1:58 PM Raul Miller  wrote:

> http://rosettacode.org/wiki/Merge_and_aggregate_datasets
>
> After looking at this rosettacode task, I decided that Jd is probably
> best suited for the J task implementation. So, I am not trying to
> learn Jd (I had not had occasion to use it, previously).
>
> After a few minor mishaps, I've stumbled on an issue which I do not
> know how to resolve.
>
> (Previous mishaps: csvload fails with an error suggesting that the
> file does not exist if csvprepare has not been previously run. This
> behavior is undocumented, except by example in the tutorials. Also, I
> need to run the tutorial in a different J session from my testing work
> to prevent the tutorials from breaking my tests.)
>
> Anyways, I'm currently getting an Unrecognized aggregate function
> error, when trying to use the 'max' aggregate function. This should
> demonstrate where I'm at:
>
> require'jd pacman'
> load JDP,'tools/csv_load.ijs'
> F=: jpath '~temp/rosettacode/example/CSV'
> jdcreatefolder_jd_ CSVFOLDER=: F
>
> assert 0<{{)n
> PATIENTID,LASTNAME
> 1001,Hopper
> 4004,Wirth
> 3003,Kemeny
> 2002,Gosling
> 5005,Kurtz
> }} fwrite F,'patients.csv'
>
> assert 0<{{)n
> PATIENTID,VISIT_DATE,SCORE
> 2002,2020-09-10,6.8
> 1001,2020-09-17,5.5
> 4004,2020-09-24,8.4
> 2002,2020-10-08,
> 1001,,6.6
> 3003,2020-11-12,
> 4004,2020-11-05,7.0
> 1001,2020-11-19,5.3
> }} fwrite F,'visits.csv'
>
> csvprepare 'patients';F,'patients.csv'
> csvprepare 'visits';F,'visits.csv'
>
> csvload 'patients';1
> csvload 'visits';1
>
> jd'ref patients PATIENTID  visits PATIENTID'
>
> echo jd ([echo) deb {{)n
>   reads
>  p.PATIENTID,
>  LASTNAME:p.LASTNAME,
>  first v.VISIT_DATE
> by
>  p.PATIENTID
> from
>   p:patients,
>   v:p.visits
> }} -.LF
>
> Now, ... one of my thoughts was that maybe this is a type error,
> indicating that 'max' does not have a definition for the type of data
> in this column. However, replacing 'max' with 'first' (which should be
> defined for any type of column) also gives an "Unrecognized aggregate
> function' error.
>
> So...
>
> (1) What am I doing wrong here, and
>
> (2) What should I have looked at to discover this information?
>
> Thanks,
>
> --
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J-ArrayFire

2022-02-03 Thread Eric Iverson
The arrayfire libraries have mapped out a lot of territory, but in many
areas the implementation is far from complete. In general short-float is
the most supported data type. What works and doesn't work varies across
backend (cpu/cuda/opencl) and across OS/hardware. I have not seen any
documentation on this so you pretty much have to try it.
In your example, LASTERROR would have said something like 'unsupported data
type'.


On Thu, Feb 3, 2022 at 1:33 AM William Szuch 
wrote:

> Multiplication of an integer array I get an error:
>
> AAA =: af_create_array_jaf_ i. 4 4
> get_jaf_ AAA
> 0 1 2 3
> 4 5 6 7
> 8 9 10 11
> 12 13 14 15
>  =: af_matmul_jaf_ AAA,AAA
> |af cd call error result: assert
> | 'af cd call error result' assert 0[LASTERROR=:(":0{::r),' ',(x{.~x i.'
> '),' ',af_err_to_string 0{::r
> |[-2]
>
> Whereas the following works
>
> AAA =: af_create_array_jaf_ 1.0* i. 4 4
> get_jaf_ AAA
> 0 1 2 3
> 4 5 6 7
> 8 9 10 11
> 12 13 14 15
>  =: af_matmul_jaf_ AAA,AAA
> get_jaf_ 
> 56 62 68 74
> 152 174 196 218
> 248 286 324 362
> 344 398 452 506
>
> Do arrays have to be non-integer?
>
> Regards
>
> Bill Szuch
>
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
A good and complete model is the first step. Then it is a matter of how
much it is used and what drawbacks it might have that would be addressed by
a more integrated implementation.

On Mon, Jan 31, 2022 at 1:27 PM Henry Rich  wrote:

> I have looked into this quite a bit.  I am not convinced that Dictionary
> is a fundamental datatype like number or letter, or that the current
> symbol support is deficient.  That makes the first questions What is a
> Dictionary? and Where can a Dictionary be used in J?
>
> The use case that would be important to me is a key-value store, aka
> associative memory, where the Dictionary remember keys and values and
> later returns a value when presented with the key. This feels to me like
> a package written in J rather than a J primitive.  A Dictionary would be
> a numbered locale.  The place where I could see added support inside J
> would be in adding to and deleting from hashtables, specifically ones
> created/used by m .
>
> I invite proposals on what a Dictionary package needs to do.  I have
> done this before, and Jan-Pieter Jacobs responded with a package.
> Quoting from his message of 20210327:
>
> *** QUOTE
>
> install'github:jpjacobs/types_dict@main'
>
> (except on (my) android, where github installs don't seem to work, neither
> in the Gui version JA nor on the commandline via termux)
>
> It is pretty simple in use, you just use:
> d=: dict keys;vals
> for creating the dictionary, which is a OOP object, having the following
> methods:
> get, set, map, sort, destroy, whose documentation is contained in
> help_pdict_
>
> For performance, the create verb precomputes the lookup for the get verb,
> both forward get (key->value) and backward get inv (value->first key) upon
> object creation.
>
> *** END QUOTE
>
> I have not looked into this package, but it seems to me to have the
> right entry points.  Can we take that as a starting point to see what
> needs to be added?  The first step of course would be to put the addon
> under Package Manager.
>
> Henry Rich
>
>
>
> On 1/31/2022 12:58 PM, Elijah Stone wrote:
> > I agree with Eric regarding the challenges of adding dictionaries.
> >
> > One issue: I think a necessary prerequisite is improved symbols.
> >
> > On Mon, 31 Jan 2022, Alex Shroyer wrote:
> >
> >> I agree with Raoul that competing with Python is not a good idea.
> >> But J can learn from Python's decisions (good and bad) to grow and
> >> improve.
> >> In my opinion, numpy is Python's "killer app" because it brings
> >> reasonable
> >> performance without much conceptual overhead.
> >> The feature of Python that enabled numpy is its extensibility, down
> >> to the
> >> C layer.
> >>
> >> There are other good features of Python that J could copy, in particular
> >> the 'dictionary' data type.
> >> The array language K has dictionaries, so J might take some inspiration
> >> from there for integrating them into the language.
> >>
> >> Cheers,
> >> Alex
> >>
> >>
> >> On Mon, Jan 31, 2022 at 5:30 AM Raoul Schorer 
> >> wrote:
> >>
> >>> Just my 2c, but I think that competing with python in general is
> >>> somewhat
> >>> delusional. I think the key point for expanding J use to have a
> >>> "killer J
> >>> app". For example, an improved clone of or excellent plugin for
> >>> VisiData (
> >>> https://www.visidata.org/) is my idea of a killer app. But someone
> here
> >>> may
> >>> have a better idea?
> >>>
> >>> Cheers,
> >>> Raoul
> >>>
> >>> Le lun. 31 janv. 2022 à 03:49, Ric Sherlock  a
> >>> écrit :
> >>>
> >>> > Yes from a data structure point of view, inverted tables get you a
> >>> lot of
> >>> > the way (note they're also available in the 'general/misc' addon -
> >>> load
> >>> > 'general/misc/inverted' ) and I've used them to good effect in my
> >>> > 'data/struct' addon (https://github.com/tikkanz/data_struct).
> >>> > I agree that J's arrays are more general, flexible & powerful. But
> >>> when
> >>> > you're dealing with a tabular data set there is an overhead to
> >>> keeping
> >>> the
> >>> > fields in a table in sync that dataframes can help with. Perhaps it's
> >>> > something abstracting the structure so you don't have to deal so much
> >>> with
> >>> > the mechanics of manipulating it? At least for me :)
> >>> >
> >>> > On Mon, Jan 31, 2022 at 3:28 PM Elijah Stone 
> >>> wrote:
> >>> >
> >>> > > https://code.jsoftware.com/wiki/Essays/Inverted_Table, perhaps?
> >>> > >
> >>> > > That said, I think a great strength of j is that data are _not_
> >>> > explicitly
> >>> > > tabular.  The associations are defined in an ad-hoc manner as
> >>> needed by
> >>> > > the programmer.  This is also an essential difference between
> >>> the array
> >>> > > paradigm and the relational paradigm (cf SQL): in the former,
> >>> pointers
> >>> > > come with implicit context; in the latter, that context must be
> >>> explicit.
> >>> > >
> >>> > >   -E
> >>> > >
> >>> > > P.S. regarding analysis/optimization: I would love to see it,
> >>> but for
> >>> > some
> >>> > > 

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
It seems to me that the big distinction between J and python where J falls
far short is not in the core language but in the addon libraries. I
encourage J fans to work away at adding important addons to J!

On Mon, Jan 31, 2022 at 11:27 AM Eric Iverson 
wrote:

> A J dictionary type is a good idea and it has been kicked around many
> times before. The hard part is not implementing it, but doing a careful and
> thorough spec that is backed by a complete model written in J.
>
> Presented with a full spec that had community buy in, would probably be
> followed by implementation.
>
> On Mon, Jan 31, 2022 at 11:14 AM Alex Shroyer  wrote:
>
>> I agree with Raoul that competing with Python is not a good idea.
>> But J can learn from Python's decisions (good and bad) to grow and
>> improve.
>> In my opinion, numpy is Python's "killer app" because it brings reasonable
>> performance without much conceptual overhead.
>> The feature of Python that enabled numpy is its extensibility, down to the
>> C layer.
>>
>> There are other good features of Python that J could copy, in particular
>> the 'dictionary' data type.
>> The array language K has dictionaries, so J might take some inspiration
>> from there for integrating them into the language.
>>
>> Cheers,
>> Alex
>>
>>
>> On Mon, Jan 31, 2022 at 5:30 AM Raoul Schorer 
>> wrote:
>>
>> > Just my 2c, but I think that competing with python in general is
>> somewhat
>> > delusional. I think the key point for expanding J use to have a "killer
>> J
>> > app". For example, an improved clone of or excellent plugin for
>> VisiData (
>> > https://www.visidata.org/) is my idea of a killer app. But someone here
>> > may
>> > have a better idea?
>> >
>> > Cheers,
>> > Raoul
>> >
>> > Le lun. 31 janv. 2022 à 03:49, Ric Sherlock  a
>> écrit :
>> >
>> > > Yes from a data structure point of view, inverted tables get you a
>> lot of
>> > > the way (note they're also available in the 'general/misc' addon -
>> load
>> > > 'general/misc/inverted' ) and I've used them to good effect in my
>> > > 'data/struct' addon (https://github.com/tikkanz/data_struct).
>> > > I agree that J's arrays are more general, flexible & powerful. But
>> when
>> > > you're dealing with a tabular data set there is an overhead to keeping
>> > the
>> > > fields in a table in sync that dataframes can help with. Perhaps it's
>> > > something abstracting the structure so you don't have to deal so much
>> > with
>> > > the mechanics of manipulating it? At least for me :)
>> > >
>> > > On Mon, Jan 31, 2022 at 3:28 PM Elijah Stone 
>> > wrote:
>> > >
>> > > > https://code.jsoftware.com/wiki/Essays/Inverted_Table, perhaps?
>> > > >
>> > > > That said, I think a great strength of j is that data are _not_
>> > > explicitly
>> > > > tabular.  The associations are defined in an ad-hoc manner as
>> needed by
>> > > > the programmer.  This is also an essential difference between the
>> array
>> > > > paradigm and the relational paradigm (cf SQL): in the former,
>> pointers
>> > > > come with implicit context; in the latter, that context must be
>> > explicit.
>> > > >
>> > > >   -E
>> > > >
>> > > > P.S. regarding analysis/optimization: I would love to see it, but
>> for
>> > > some
>> > > > reason everybody is scared of building a compiler because of the
>> > parsing
>> > > > problem.
>> > > >
>> > > > On Mon, 31 Jan 2022, Ric Sherlock wrote:
>> > > >
>> > > > > Yes, I've been thinking that a Dataframes equivalent in J would be
>> > > > useful.
>> > > > > Most things are already possible with J's arrays, but conceptually
>> > > > > DataFrames are well understood by many now, and they make it easy
>> to
>> > > work
>> > > > > with datasets as named fields.
>> > > > > I've spent a reasonable amount of time working with Pandas, but
>> have
>> > > > > recently been using Polars (Rust backend with Python bindings)
>> which
>> > > > really
>> > > > > shines for larger datasets. Performance (especially read/write) is
>> > > > awesome,
>> >

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
A J dictionary type is a good idea and it has been kicked around many times
before. The hard part is not implementing it, but doing a careful and
thorough spec that is backed by a complete model written in J.

Presented with a full spec that had community buy in, would probably be
followed by implementation.

On Mon, Jan 31, 2022 at 11:14 AM Alex Shroyer  wrote:

> I agree with Raoul that competing with Python is not a good idea.
> But J can learn from Python's decisions (good and bad) to grow and improve.
> In my opinion, numpy is Python's "killer app" because it brings reasonable
> performance without much conceptual overhead.
> The feature of Python that enabled numpy is its extensibility, down to the
> C layer.
>
> There are other good features of Python that J could copy, in particular
> the 'dictionary' data type.
> The array language K has dictionaries, so J might take some inspiration
> from there for integrating them into the language.
>
> Cheers,
> Alex
>
>
> On Mon, Jan 31, 2022 at 5:30 AM Raoul Schorer 
> wrote:
>
> > Just my 2c, but I think that competing with python in general is somewhat
> > delusional. I think the key point for expanding J use to have a "killer J
> > app". For example, an improved clone of or excellent plugin for VisiData
> (
> > https://www.visidata.org/) is my idea of a killer app. But someone here
> > may
> > have a better idea?
> >
> > Cheers,
> > Raoul
> >
> > Le lun. 31 janv. 2022 à 03:49, Ric Sherlock  a écrit
> :
> >
> > > Yes from a data structure point of view, inverted tables get you a lot
> of
> > > the way (note they're also available in the 'general/misc' addon - load
> > > 'general/misc/inverted' ) and I've used them to good effect in my
> > > 'data/struct' addon (https://github.com/tikkanz/data_struct).
> > > I agree that J's arrays are more general, flexible & powerful. But when
> > > you're dealing with a tabular data set there is an overhead to keeping
> > the
> > > fields in a table in sync that dataframes can help with. Perhaps it's
> > > something abstracting the structure so you don't have to deal so much
> > with
> > > the mechanics of manipulating it? At least for me :)
> > >
> > > On Mon, Jan 31, 2022 at 3:28 PM Elijah Stone 
> > wrote:
> > >
> > > > https://code.jsoftware.com/wiki/Essays/Inverted_Table, perhaps?
> > > >
> > > > That said, I think a great strength of j is that data are _not_
> > > explicitly
> > > > tabular.  The associations are defined in an ad-hoc manner as needed
> by
> > > > the programmer.  This is also an essential difference between the
> array
> > > > paradigm and the relational paradigm (cf SQL): in the former,
> pointers
> > > > come with implicit context; in the latter, that context must be
> > explicit.
> > > >
> > > >   -E
> > > >
> > > > P.S. regarding analysis/optimization: I would love to see it, but for
> > > some
> > > > reason everybody is scared of building a compiler because of the
> > parsing
> > > > problem.
> > > >
> > > > On Mon, 31 Jan 2022, Ric Sherlock wrote:
> > > >
> > > > > Yes, I've been thinking that a Dataframes equivalent in J would be
> > > > useful.
> > > > > Most things are already possible with J's arrays, but conceptually
> > > > > DataFrames are well understood by many now, and they make it easy
> to
> > > work
> > > > > with datasets as named fields.
> > > > > I've spent a reasonable amount of time working with Pandas, but
> have
> > > > > recently been using Polars (Rust backend with Python bindings)
> which
> > > > really
> > > > > shines for larger datasets. Performance (especially read/write) is
> > > > awesome,
> > > > > and the LazyFrames which optimise your query/analysis plan make a
> big
> > > > > difference too.
> > > > > I haven't taken enough time to explore it, but maybe Jd is the
> > starting
> > > > > point in this space for J?
> > > > >
> > > > >
> > > > > On Mon, Jan 31, 2022 at 9:01 AM Michail L. Liarmakopoulos <
> > > > > m.l.liarm...@gmail.com> wrote:
> > > > >
> > > > >> Hello all,
> > > > >>
> > > > >> I find any parallels between python and J pretty interesting,
> being
> > a
> > > > >> person with some python experience and an interest of the
> > applications
> > > > of
> > > > >> both python and J in mathematical modelling, analytics,
> > computational
> > > > math
> > > > >> and perhaps computational physics too.
> > > > >>
> > > > >> If you'd like to bring some features from the python
> math/analytics
> > > > >> libraries/ecosystem in J, I'd suggest you to look at the features
> of
> > > > three
> > > > >> libraries:
> > > > >>
> > > > >> - numpy (I believe most features are already covered from the
> built
> > in
> > > > >> features of an array language such as J)
> > > > >>
> > > > >> - pandas ( a nice library for manipulating csv files within python
> > as
> > > > >> dataframe objects -- see the dataframes from the R language)
> > > > >>
> > > > >> - scipy (a collection of methods and functions ranging from
> solving
> > > > >> numerically: differential 

[Jprogramming] arrayfire

2022-01-30 Thread Eric Iverson
The arrayfire addon updated with minor fixes and changes.

Note that the mp_bench.ijs script has been renamed to be matmul.ijs.

It might be stable enough now to start looking at what it can do for
performance. This is especially true if you have a higher end nvidia card.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] ArrayFire addon

2022-01-28 Thread Eric Iverson
Raul,
Good point. Init tries to load the library and if that fails it gives the
af not installed error. But trying to load the cuda library will fail if
cuda is not installed. So the error message is misleading. I will fix this,
'
Meanwhile, are you able to run the tutorials etc with the cpu backend?

On Fri, Jan 28, 2022 at 6:34 PM Raul Miller  wrote:

> On Fri, Jan 28, 2022 at 6:15 PM 'Pascal Jasmin' via Programming
>  wrote:
> > If you only have the error on 'cuda', its bc you don't have nvidia gpu.
>
> I understand that.
>
> But I feel that the error should not say that arrayfire is not
> installed when arrayfire is, in fact, installed.
>
> Thanks,
>
> --
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] ArrayFire addon

2022-01-28 Thread Eric Iverson
Mike,
FIxed. Update and please try again.

On Fri, Jan 28, 2022 at 4:44 PM Eric Iverson 
wrote:

> Sloppy release on my part. I will fix this in a few minutes.
>
>
> On Fri, Jan 28, 2022 at 4:39 PM 'Mike Day' via Programming <
> programm...@jsoftware.com> wrote:
>
>> I’ve just updated the addon to Vn 2.1.6,  and tried
>>
>>load ‘~addons/math/arrayfire/arrayfire.ijs’
>> |value error:  JAPP
>> |   d=.toJ Freda.   JAPP,’man.txt’
>> |[-56] c:\…\addons\…\arrayfire.ijs
>>
>> This is in the latest J version,
>> j903/j64avx2/Windows
>> Release-b...28T04:09:50
>> Library: 9.03.08
>> ...
>>
>> I ran J as administrator.
>>
>> Thanks,
>>
>> Mike
>>
>>
>> Sent from my iPad
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] ArrayFire addon

2022-01-28 Thread Eric Iverson
Sloppy release on my part. I will fix this in a few minutes.


On Fri, Jan 28, 2022 at 4:39 PM 'Mike Day' via Programming <
programm...@jsoftware.com> wrote:

> I’ve just updated the addon to Vn 2.1.6,  and tried
>
>load ‘~addons/math/arrayfire/arrayfire.ijs’
> |value error:  JAPP
> |   d=.toJ Freda.   JAPP,’man.txt’
> |[-56] c:\…\addons\…\arrayfire.ijs
>
> This is in the latest J version,
> j903/j64avx2/Windows
> Release-b...28T04:09:50
> Library: 9.03.08
> ...
>
> I ran J as administrator.
>
> Thanks,
>
> Mike
>
>
> Sent from my iPad
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] arrayfire

2022-01-28 Thread Eric Iverson
arrayfire addon has been updated

first load of arrayfire.ijs in a session now displays man_jaf_'intro'

create/get of f32 (32bit float) data works (tut_jaf_'create')

this allows bench/mp_bench.ijs to do timings with f32

low end nvidia cards have fast f32 performance and slow f64 performance

with my GTX 1050 Ti I get mp of a 1*1 f64 matrix, when done in the
gpu with f32 data, that is 25 times faster than J

high end nvidia cards will have much faster f64 and things start to get
interesting
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Arrayfire addon

2022-01-28 Thread Eric Iverson
Thanks for the feedback.

af_matmul just starts dthe op on the gpu (or other cpu theads) and returns
almost immediately. af_sync waits until the op is done. This is clear if
you play with them in the repl.

Retail nvidia gpu support for 64bit float is slow. For example, on my GTX
1050 Ti  matmul with f32 (short float) is 25 times faster than with f64.

The next release will have changes to the benchmark script that makes this
clear and will allow easier experiments. With f32, the mpbench times are
more interesting.

The higher end nvidia cards have much better f64 performance and you would
see a big gain in using arrayfire for matmul for larger arguments.


On Thu, Jan 27, 2022 at 8:41 PM Mike Powell  wrote:

> This looks really interesting.
>
> My first look at this was mp_bench.ijs example. This produces (on my iMac):
>
> ┌┬┐
> │ step   │ millis │
> ├┼┤
> │mp  │3260│
> ├┼┤
> │acreate │708 │
> ├┼┤
> │bcreate │474 │
> ├┼┤
> │matmul  │0   │
> ├┼┤
> │sync│3252│
> ├┼┤
> │get │432 │
> ├┼┤
> │aftot   │4867│
> ├┼┤
> │mp%aftot│0.669918│
> └┴┘
>
> That’s certainly not flattering for Arrayfire.
>
> My take on this goes like this. acreate and bcreate take significant time
> getting their arguments transposed. But once this is done, the matrix
> multiplication just zips by.
>
> Then comes the synchronization step. A full 3 seconds. Is this elapsed
> time? Surely not actual resources used time? (Maybe my Mac was doing a
> backup when I set this in motion.)
>
> And then get to undo the transposed matrix. Some significant time there.
>
> What if we sent regular J data (row major) to Arrayfire and used the
> af_transpose function within Arrayfire to change columns to rows. Do the
> af_matmul and then finish up with another af_transpose on the result. This
> might be a lot quicker.
>
> Can someone expand on the timing of af_sync.
>
> If I were planning a machine learning (“ML”)  example from J, I think it
> would end up as an initial passing of data in, followed by a good deal of
> af_ processing, finishing with an af_sync and a return of results to J.
> Simply trying to maximize the time spent with the fastest tool available.
>
> And that means expressing your ML logic in array terms. J should be good
> at that.
>
> Mike Powell
>
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] j903-release-b fixes bug in release-a

2022-01-28 Thread Eric Iverson
A rare bug that causes a crash in j903-release-a has been fixed.

New installs will get the fix.

Be sure to upgrade your current release-a to release-b with:
   load 'pacman'
   'upgrade' jpkg 'jengine'
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] arrayfire addon updated

2022-01-28 Thread Eric Iverson
Yes, it might make sense to include the arrayfire lib in some way with the
addon. Let's get a bit more experience with it as it stands and then
decide. For example, the addon could offer the option of getting the lib
from jsoftware.com.

Note that arrayfire includes opencl lib in its lib so we would be just
following that precedent.

On Fri, Jan 28, 2022 at 10:30 AM bill lam  wrote:

> I checked the lib folder is about 1GB after zipped. The installer
> downloaded from arrayfire is about 7GB.
>
> On Fri, 28 Jan 2022 at 9:18 AM bill lam  wrote:
>
> > I think af addon doesn't need include or lib files to run. If dll files
> > only are mandatory, can these windows dll be downloaded from j software
> > website and put into a folder under the af addon?
> >
> >
> > On Fri, 28 Jan 2022 at 5:08 AM Eric Iverson 
> > wrote:
> >
> >> arrayfire addon updated
> >>
> >> * improved init
> >>
> >> * support for apple m1
> >>
> >> * Pascal's idea that integer lists are better than boxed lists
> >>  this required changes in several of the tutorial examples
> >>  for example,
> >> q=. af_matmul_jaf_ af1;af2
> >>  was changed to
> >> q=. af_matmul_jaf_ af1,af2
> >>
> >> * J like dyad syntax for ops like matmul and the mop family was not
> >> adopted
> >>  matmul lh,rh is in fact: matmul lh,rh,lhoptions,rhoptions
> >>  mop lh,rhis in fact: mop lh,rh,options
> >>  this makes the dyad idea less attractive
> >>
> >> * opencl has been tested
> >>  it works, but is quite flaky on some platforms
> >>  works as expected on windows, but had lots of 'internal error' on linx
> >> --
> >> 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


[Jprogramming] arrayfire addon updated

2022-01-27 Thread Eric Iverson
arrayfire addon updated

* improved init

* support for apple m1

* Pascal's idea that integer lists are better than boxed lists
 this required changes in several of the tutorial examples
 for example,
q=. af_matmul_jaf_ af1;af2
 was changed to
q=. af_matmul_jaf_ af1,af2

* J like dyad syntax for ops like matmul and the mop family was not adopted
 matmul lh,rh is in fact: matmul lh,rh,lhoptions,rhoptions
 mop lh,rhis in fact: mop lh,rh,options
 this makes the dyad idea less attractive

* opencl has been tested
 it works, but is quite flaky on some platforms
 works as expected on windows, but had lots of 'internal error' on linx
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] ArrayFire addon

2022-01-27 Thread Eric Iverson
Bill's change will be pushed to addons later today. I will post when the
new version is available.

On Thu, Jan 27, 2022 at 1:11 PM Andreas Lagerås 
wrote:

> Hi,
>
> May I ask how you updated it to work with the homebrew arrayfire, or will
> that be fixed in a future version?
>
> Best regards,
> /Andreas
>
> Den tors 27 jan. 2022 kl 15:23 skrev bill lam :
>
> > I have made a minor update to the addon to allow use arrayfire installed
> > via homebrew.
> >
> > on apple m1
> > init_jaf_ 'cpu' and 'opencl' are available but 'opencl' doesn't support
> > double precision
> >
> >
> > > On 27 Jan 2022, at 12:42 AM, Eric Iverson 
> > wrote:
> > >
> > > Apologies for the rough start. The development was done in linux with
> > > arrayfire installed and not enough attention was paid to other
> platforms
> > or
> > > new users. The addon has been updated.
> > >
> > > Raul: You were on macOS, which had not been tested at all. It should
> work
> > > now if arrayfire is installed in folder /opt/arrayfire.
> > >
> > > Michail: You were on windows and it looks as if arrayfire was not
> > > installed. There is now a more informative failure for that case. It
> > should
> > > work once arrayfire is installed.
> > >
> > > Pascal: The families.ijs bug has been fixed.
> > >
> > > Please update the addon and try again.
> > > --
> > > 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


Re: [Jprogramming] ArrayFire addon

2022-01-27 Thread Eric Iverson
Jan-Pieter,
Thanks for your feedback. Your fixes will be in the next version.

I have not tested with opencl and will get to that shortly.  I thought of
this as primarily a way to use nvidia gpus. But the cpu support works well
and so probably does opencl.

Not sure where this leads. Probably not more integrated than can be
achieved by just cleaning up and completing the addon.

It means that if you hit a performance wall (e.g., large matrix products)
with straight J, you now have a new and powerful tool in your kit bag.

On Thu, Jan 27, 2022 at 10:32 AM Eric Iverson 
wrote:

> Jan-Pieter,
> ArrayFire uses a modified CSR from the wikipedia documentation. Instead of
> just counts it has +/\ counts. It also has a leading 0 and a trailing value.
>
> On Thu, Jan 27, 2022 at 3:50 AM Jan-Pieter Jacobs <
> janpieter.jac...@gmail.com> wrote:
>
>> Thanks for the explanation Hauke.
>> I guess that shows that I never studied computer science. I expected rows
>> and cols to just be indices of the non-zero items, as 4&$. returns for J's
>> sparse arrays.
>> Anyone else wondering can refer to
>> https://en.m.wikipedia.org/wiki/Sparse_matrix where the CRS storage is
>> explained a little more.
>>
>> Jan-Pieter
>>
>> On Thu, Jan 27, 2022, 01:29 Hauke Rehr  wrote:
>>
>> > should have read
>> > the first entry in row x …
>> > where x is the index of the number in list rows,
>> > and n is that number
>> >
>> > Am 27.01.22 um 01:25 schrieb Hauke Rehr:
>> > > rows says: the first entry in col x is the n-th entry in values
>> >
>> > --
>> > --
>> > mail written using NEO
>> > neo-layout.org
>> >
>> > --
>> > 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


Re: [Jprogramming] ArrayFire addon

2022-01-27 Thread Eric Iverson
Jan-Pieter,
ArrayFire uses a modified CSR from the wikipedia documentation. Instead of
just counts it has +/\ counts. It also has a leading 0 and a trailing value.

On Thu, Jan 27, 2022 at 3:50 AM Jan-Pieter Jacobs <
janpieter.jac...@gmail.com> wrote:

> Thanks for the explanation Hauke.
> I guess that shows that I never studied computer science. I expected rows
> and cols to just be indices of the non-zero items, as 4&$. returns for J's
> sparse arrays.
> Anyone else wondering can refer to
> https://en.m.wikipedia.org/wiki/Sparse_matrix where the CRS storage is
> explained a little more.
>
> Jan-Pieter
>
> On Thu, Jan 27, 2022, 01:29 Hauke Rehr  wrote:
>
> > should have read
> > the first entry in row x …
> > where x is the index of the number in list rows,
> > and n is that number
> >
> > Am 27.01.22 um 01:25 schrieb Hauke Rehr:
> > > rows says: the first entry in col x is the n-th entry in values
> >
> > --
> > --
> > mail written using NEO
> > neo-layout.org
> >
> > --
> > 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


Re: [Jprogramming] ArrayFire addon

2022-01-26 Thread Eric Iverson
I did not have any problem installing on win10. It seems win11 is
tightening the rules. You will need to take some extra step to override the
security check.

On Wed, Jan 26, 2022 at 3:35 PM 'Mike Day' via Programming <
programm...@jsoftware.com> wrote:

> Just about downloading ArrayFire for Windows 11...
>
> I tried downloading the two exe files, one for W11,  which failed,  and
> then W10,  also a failure. The failures both reported inability to verify.
>
> My son has just commented that it’s a common M/S feature...  Anyone else
> seen this behaviour?
>
> Thanks
>
> Mike
>
> Sent from my iPad
>
> > On 26 Jan 2022, at 19:45, 'Pascal Jasmin' via Programming <
> programm...@jsoftware.com> wrote:
> >
> > The signature for af_add:
> >
> > af_add (af_array *out, const af_array lhs, const af_array rhs, const
> bool batch)
> >
> > with lhs and rhs as parameter names, I don't think J users would get
> lost if they called the "cover function" dyadically the same way they call +
> >
> > I'm not suggesting altering any existing code that does follow the "C
> spec" closely.  Just adding adverbs on top of them to provide an intuitive
> J interface to the functions.
> >
> > consider the J function
> >
> > insert =: 1 : 'u/"x y' (_&$: :)
> >
> > it is "monadic only" version of /.  With optional rank parameter as
> dyadic number
> >
> >   + insert i.3 3
> >
> > 9 12 15
> >
> > 1 + insert i.3 3
> >
> > 3 12 21
> >
> > J does not need such an adverb ("x is easy to type/add and "name context
> free"), but "lesser languages" do.  Although when they do use such an
> implementation, they capture the full flexibility of ranked-modified
> insert.  A more important flexibility than being able to turn insert into,
> a very different adverb, table.
> >
> > this insert adverb definition would work like a lesser language
> modifier
> >
> > like af_sum, af_product group.
> >
> > One of the reasons to make this consistency change is to simplify
> conversion to and from J<->arrayfire including the great matmul
> demonstration you have provided.
> >
> >
> >
> >
> >
> > On Wednesday, January 26, 2022, 12:23:52 p.m. EST, Eric Iverson <
> eric.b.iver...@gmail.com> wrote:
> >
> >
> >
> >
> >
> > Pascal,
> >
> > Interesting ideas on arrayfire args.
> >
> > I will probably resist the idea of making dop verbs dyadic. I think it
> > better to stick closer to the arrayfire syntax.
> >
> > But it makes sense to avoid unnecessary boxing.
> >
> >   af_add_jaf_ afad;afbd NB. works
> >   af_add_jaf_ afad,afbd NB. fails, but probably should work
> >
> >
> >
> > On Wed, Jan 26, 2022 at 10:03 AM 'Pascal Jasmin' via Programming <
> > programm...@jsoftware.com> wrote:
> >
> >> An interface suggestion would be to transform all verbs that currently
> >> take 2 boxed arguments into unboxed dyad arguments.
> >>
> >> this can be done by adding the adverb (@:;) for the dop class verbs.
> and
> >> (@:;~) for the reduce class verbs such that the operating axis is the x
> >> term.  The reduce class could have the additional adverb (0&$: : ) to
> make
> >> supplying the axis an optional parameter.  The explicitly constructed
> >> functions in arrayfire.ijs that take 2 boxed y parameters (matmul) can
> also
> >> be decorated with (@: ;)
> >>
> >> These changes would more naturally leverage J's processing/modifier
> >> capabilities, and processing list of arrayfire array handles.  Arrayfire
> >> sparse support seems to be limited to rank 2 arrays.  J could circumvent
> >> these limitations by shaping multiple arrayfire handles managing the
> >> nesting logic in J instead.
> >>
> >> There are many uses of arrayfire that are made easier with a list of
> array
> >> handles.
> >>
> >>
> >>
> >>
> >> On Tuesday, January 25, 2022, 04:39:36 p.m. EST, Eric Iverson <
> >> eric.b.iver...@gmail.com> wrote:
> >>
> >>
> >>
> >>
> >>
> >> Pascal,
> >>
> >> Thanks for the feedback. Coming from you, it means a lot to me.
> >>
> >> There are some rough edges for windows and mac (I work mostly in linux)
> >> that I will fix tomorrow morning.
> >>
> >> On Tue, Jan 25, 2022 at 3:52 PM 'Pascal Jasmin' via Progra

Re: [Jprogramming] ArrayFire addon

2022-01-26 Thread Eric Iverson
Pascal,

Interesting ideas on arrayfire args.

I will probably resist the idea of making dop verbs dyadic. I think it
better to stick closer to the arrayfire syntax.

But it makes sense to avoid unnecessary boxing.

  af_add_jaf_ afad;afbd NB. works
  af_add_jaf_ afad,afbd NB. fails, but probably should work



On Wed, Jan 26, 2022 at 10:03 AM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> An interface suggestion would be to transform all verbs that currently
> take 2 boxed arguments into unboxed dyad arguments.
>
> this can be done by adding the adverb (@:;) for the dop class verbs.  and
> (@:;~) for the reduce class verbs such that the operating axis is the x
> term.  The reduce class could have the additional adverb (0&$: : ) to make
> supplying the axis an optional parameter.  The explicitly constructed
> functions in arrayfire.ijs that take 2 boxed y parameters (matmul) can also
> be decorated with (@: ;)
>
> These changes would more naturally leverage J's processing/modifier
> capabilities, and processing list of arrayfire array handles.  Arrayfire
> sparse support seems to be limited to rank 2 arrays.  J could circumvent
> these limitations by shaping multiple arrayfire handles managing the
> nesting logic in J instead.
>
> There are many uses of arrayfire that are made easier with a list of array
> handles.
>
>
>
>
> On Tuesday, January 25, 2022, 04:39:36 p.m. EST, Eric Iverson <
> eric.b.iver...@gmail.com> wrote:
>
>
>
>
>
> Pascal,
>
> Thanks for the feedback. Coming from you, it means a lot to me.
>
> There are some rough edges for windows and mac (I work mostly in linux)
> that I will fix tomorrow morning.
>
> On Tue, Jan 25, 2022 at 3:52 PM 'Pascal Jasmin' via Programming <
> programm...@jsoftware.com> wrote:
>
> > looks good.  A small bug:
> >
> > if you define
> >
> > reduce_z_ =: ]: NB. adverb
> >
> > prior to loading arrayfire.ijs
> >
> > load will fail.
> >
> > The reason is the families.ijs file creates a bunch of forks with their
> > middle verbs defined after the forks are created.
> >
> > An easy fix is to define all of the explicit verbs used in families.ijs
> > above the line that "require families.ijs"
> >
> >
> > fixed it for me.
> >
> >
> >
> > On Tuesday, January 25, 2022, 10:56:54 a.m. EST, Eric Iverson <
> > eric.b.iver...@gmail.com> wrote:
> >
> >
> >
> >
> >
> > ~addons/math/arrayfire is a new addon for J903 and later.
> >
> > The addon allows high performance computing of matrix product
> > and many other mathematical array operations. Multiple cpu
> > cores and hardware such as Nvidia gpus are used as appropriate.
> >
> > Browse https://arrayfire.org for more info.
> >
> > The addon will prompt you for the ArrayFire software install if
> > it is not already installed.
> >
> > Use pacman to install the addon. For example,
> >  load'pacman'
> >  'install' jpkg 'math/arrayfire'
> >
> > Get started:
> >  load '~addons/math/arrayfire/arrayfire.ijs'
> >  man_jaf_ 'intro'
> > ...
> >  init_jaf_ 'cpu'
> >  tut_jaf_ 'basic' NB. run basic tutorial
> > ...
> >  man_jaf_ 'credits' NB. credit to some J-ArrayFire pioneers
> > ...
> >
> > *** preliminary version
> > We think this is an important step for J in high performance computing.
> > If this proves to be the case, Jsoftware will actively pursue further
> > development in this area.
> >
> > *** from the addon description
> > cd bindings and utilities for ArrayFire shared library
> >
> > https://arrayfire.org
> >
> > "ArrayFire is a high performance software library for
> > parallel computing with an easy-to-use API. Its array based
> > function set makes parallel programming more accessible."
> >
> > J-ArrayFire cd bindings make it easy to have
> > high performance computing for things like matrix multiply
> > with cpu cores, Nvidia gpus, and opencl.
> > ***
> > --
> > 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
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] ArrayFire addon

2022-01-26 Thread Eric Iverson
Apologies for the rough start. The development was done in linux with
arrayfire installed and not enough attention was paid to other platforms or
new users. The addon has been updated.

Raul: You were on macOS, which had not been tested at all. It should work
now if arrayfire is installed in folder /opt/arrayfire.

Michail: You were on windows and it looks as if arrayfire was not
installed. There is now a more informative failure for that case. It should
work once arrayfire is installed.

Pascal: The families.ijs bug has been fixed.

Please update the addon and try again.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] ArrayFire addon

2022-01-25 Thread Eric Iverson
Pascal,

Thanks for the feedback. Coming from you, it means a lot to me.

There are some rough edges for windows and mac (I work mostly in linux)
that I will fix tomorrow morning.

On Tue, Jan 25, 2022 at 3:52 PM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> looks good.  A small bug:
>
> if you define
>
> reduce_z_ =: ]: NB. adverb
>
> prior to loading arrayfire.ijs
>
> load will fail.
>
> The reason is the families.ijs file creates a bunch of forks with their
> middle verbs defined after the forks are created.
>
> An easy fix is to define all of the explicit verbs used in families.ijs
> above the line that "require families.ijs"
>
>
> fixed it for me.
>
>
>
> On Tuesday, January 25, 2022, 10:56:54 a.m. EST, Eric Iverson <
> eric.b.iver...@gmail.com> wrote:
>
>
>
>
>
> ~addons/math/arrayfire is a new addon for J903 and later.
>
> The addon allows high performance computing of matrix product
> and many other mathematical array operations. Multiple cpu
> cores and hardware such as Nvidia gpus are used as appropriate.
>
> Browse https://arrayfire.org for more info.
>
> The addon will prompt you for the ArrayFire software install if
> it is not already installed.
>
> Use pacman to install the addon. For example,
>   load'pacman'
>   'install' jpkg 'math/arrayfire'
>
> Get started:
>   load '~addons/math/arrayfire/arrayfire.ijs'
>   man_jaf_ 'intro'
> ...
>   init_jaf_ 'cpu'
>   tut_jaf_ 'basic' NB. run basic tutorial
> ...
>   man_jaf_ 'credits' NB. credit to some J-ArrayFire pioneers
> ...
>
> *** preliminary version
> We think this is an important step for J in high performance computing.
> If this proves to be the case, Jsoftware will actively pursue further
> development in this area.
>
> *** from the addon description
> cd bindings and utilities for ArrayFire shared library
>
> https://arrayfire.org
>
> "ArrayFire is a high performance software library for
> parallel computing with an easy-to-use API. Its array based
> function set makes parallel programming more accessible."
>
> J-ArrayFire cd bindings make it easy to have
> high performance computing for things like matrix multiply
> with cpu cores, Nvidia gpus, and opencl.
> ***
> --
> 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


Re: [Jprogramming] ArrayFire addon

2022-01-25 Thread Eric Iverson
I think both problems reported so far indicate that ArrayFire is not
installed or is not installed in the 'normal place'. The failure report
should be made more clear.

I will be able to work on this later today.

On Tue, Jan 25, 2022 at 11:25 AM Michail L. Liarmakopoulos <
m.l.liarm...@gmail.com> wrote:

> Hello, Eric,
>
> This is great news actually. I hope this project goes forward.
>
> That said, I've encountered an error when trying to run `init_jaf_'cpu'`,
> after having installed with pacman the library:
>
> ```
>
> load'~addons/math/arrayfire/arrayfire.ijs'
>
> man_jaf_'intro'
>
> *** intro
>
> J-ArrayFire cd bindings - https://arrayfire.org
>
>
> arrayfire backend must be initialized before it can be used
>
> cpu - always available and uses cpu memory and cores
>
> cuda - available if you have suitable hardware and cuda installed
>
> opencl - available if you have suitable hardware and opencl installed
>
>
> init_jaf_'cpu' NB. 'cpu' or 'cuda' or 'opencl'
>
>
> tut_jaf_ '' NB. list tutorials
>
> tut_jaf_ 'basic' NB. run basic
>
> man_jaf_'' NB. man pages
>
>
> init_jaf_'cpu'
>
> |domain error: init_jaf_
>
> | afincpath=:jpath(getenv'AF_PATH') ,'/include'
>
> ``` Using j903 on Windows10:
>
> JVERSION
>
> Engine: j903/j64avx2/windows
>
> Release-a: commercial/2021-12-16T15:15:09
>
> Library: 9.03.08
>
> Qt IDE: 1.9.5s/5.15.2(5.15.2)
>
> Platform: Win 64
>
> Installer: J903 install
>
> InstallPath: c:/program files/j903
>
> Contact: www.jsoftware.com
>
> I'll try it out on my Linux machine too, maybe it's a Windows issue, who
> knows. Best,
>
> Michail
>
>
>
> On Tue, Jan 25, 2022 at 4:56 PM Eric Iverson 
> wrote:
>
> > ~addons/math/arrayfire is a new addon for J903 and later.
> >
> > The addon allows high performance computing of matrix product
> > and many other mathematical array operations. Multiple cpu
> > cores and hardware such as Nvidia gpus are used as appropriate.
> >
> > Browse https://arrayfire.org for more info.
> >
> > The addon will prompt you for the ArrayFire software install if
> > it is not already installed.
> >
> > Use pacman to install the addon. For example,
> >load'pacman'
> >'install' jpkg 'math/arrayfire'
> >
> > Get started:
> >load '~addons/math/arrayfire/arrayfire.ijs'
> >man_jaf_ 'intro'
> > ...
> >init_jaf_ 'cpu'
> >tut_jaf_ 'basic' NB. run basic tutorial
> > ...
> >man_jaf_ 'credits' NB. credit to some J-ArrayFire pioneers
> > ...
> >
> > *** preliminary version
> > We think this is an important step for J in high performance computing.
> > If this proves to be the case, Jsoftware will actively pursue further
> > development in this area.
> >
> > *** from the addon description
> > cd bindings and utilities for ArrayFire shared library
> >
> > https://arrayfire.org
> >
> > "ArrayFire is a high performance software library for
> > parallel computing with an easy-to-use API. Its array based
> > function set makes parallel programming more accessible."
> >
> > J-ArrayFire cd bindings make it easy to have
> > high performance computing for things like matrix multiply
> > with cpu cores, Nvidia gpus, and opencl.
> > ***
> > --
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
> --
> Michail L. Liarmakopoulos, MSc
> Linkedin <https://www.linkedin.com/in/mlliarm/>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] ArrayFire addon

2022-01-25 Thread Eric Iverson
~addons/math/arrayfire is a new addon for J903 and later.

The addon allows high performance computing of matrix product
and many other mathematical array operations. Multiple cpu
cores and hardware such as Nvidia gpus are used as appropriate.

Browse https://arrayfire.org for more info.

The addon will prompt you for the ArrayFire software install if
it is not already installed.

Use pacman to install the addon. For example,
   load'pacman'
   'install' jpkg 'math/arrayfire'

Get started:
   load '~addons/math/arrayfire/arrayfire.ijs'
   man_jaf_ 'intro'
...
   init_jaf_ 'cpu'
   tut_jaf_ 'basic' NB. run basic tutorial
...
   man_jaf_ 'credits' NB. credit to some J-ArrayFire pioneers
...

*** preliminary version
We think this is an important step for J in high performance computing.
If this proves to be the case, Jsoftware will actively pursue further
development in this area.

*** from the addon description
cd bindings and utilities for ArrayFire shared library

https://arrayfire.org

"ArrayFire is a high performance software library for
parallel computing with an easy-to-use API. Its array based
function set makes parallel programming more accessible."

J-ArrayFire cd bindings make it easy to have
high performance computing for things like matrix multiply
with cpu cores, Nvidia gpus, and opencl.
***
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J903-release-a is available!

2021-12-17 Thread Eric Iverson
J903-release-a is available in the zip installers at the Jsoftware web site.

Windows All-in-One, Debian, and apk installers will be available shortly.

It has been a long and productive year of beta releases and we now have a
stable 903 release!

You can't just upgrade the JE as you did during the beta period.

You need to do a full install. You can do this on top of your 903 beta
folder, or perhaps rename it out of the way.

Not planned, but by a nice coincidence, today would have been Ken's 101
birthday.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J903-beta-w

2021-12-11 Thread Eric Iverson
J903-beta-w is available for all platforms.

This is the end of the beta cycle. Which is good as we are running out of
letters. Barring unexpected troubles, the next announcement, in about a
week, will be for the official j903 release.

If you already run J903-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

If you have not yet installed J903-beta, it is not too late!
   https://code.jsoftware.com/wiki/System/Installation/J903

Release notes:
   https://code.jsoftware.com/wiki/System/ReleaseNotes/J903

Questions/bug reports/etc. should go to the beta forum.

***
The Jqt binaries are updated to version 1.9.5. If there are no problems,
this will be the final release for j903.

To update, see https://code.jsoftware.com/wiki/Guides/Qt_IDE/Install#Upgrade
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] JHS update

2021-12-01 Thread Eric Iverson
That should not be a problem. I will move this thread to general forum in
my next message.

On Wed, Dec 1, 2021 at 4:18 PM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> its possible I updated jhs prior to updating j beta.
>
>
>
>
>
>
> On Wednesday, December 1, 2021, 04:13:47 p.m. EST, 'Pascal Jasmin' via
> Programming  wrote:
>
>
>
>
>
> windows 10.
>
>
> A console window does run.  Instructions on where to browse is displayed.
> J http server - init ok.  A browser (MS edge) pops up with the right url.
> The same url in firefox also "fails"
>
> trying to run ~addons/ide/jhs/config/jhs.cfg in jqt
>
> results in
>
> |JHS init failed: assert
>
> | 'JHS init failed' assert 0
>
> |[-12] c:\j903\addons\ide\jhs\config\jhs.cfg
>
>
>
>
> On Wednesday, December 1, 2021, 03:40:21 p.m. EST, Eric Iverson <
> eric.b.iver...@gmail.com> wrote:
>
>
>
>
>
> The 'normal' way to start JHS in windows (and other platforms) is to click
> the desktop jhs903 icon.
>
> Although running ~system\bin\jhs.bat should also work.
>
> Do you get a terminal window? What does it say?
>
> Perhaps try again with manual steps.
> 1. shut J and browser tasks down
> 2. start jconsole task
> ~addons/ide/jhs/config/jhs.cfg
> 3. what is display in jconsole task
> 4. did browser start?
> 5. if not, start browser manually
> 5. browse to localhost:/65001/jijx to connect to server running in jconsole
> task
>
>
>
> On Wed, Dec 1, 2021 at 2:52 PM 'Pascal Jasmin' via Programming <
> programm...@jsoftware.com> wrote:
>
> > JHS under windows doesn't seem to run after update and jhs.bat run.
> > firefox reports "connection was reset "
> >
> >
> >
> >
> >
> >
> > On Tuesday, November 30, 2021, 11:54:45 a.m. EST, Eric Iverson <
> > eric.b.iver...@gmail.com> wrote:
> >
> >
> >
> >
> >
> > The package manager is covered in detail in:
> > https://code.jsoftware.com/wiki/Pacman
> >
> > That said, it doesn't directly include the beta upgrade note included in
> > beta release announcements:
> > if you already run J903-beta, then upgrade is easy:
> >  load'pacman'
> >  'upgrade'jpkg'jengine'
> >
> > A wiki edit is needed!
> >
> > On Tue, Nov 30, 2021 at 11:39 AM P Padilcdx  wrote:
> >
> > > Is there a wiki page that documents the steps required to update J?  I
> > was
> > > looking for it and couldn’t find it. I see the steps recommended in
> > > previous posts but seems that would be a good addition to the wiki
> > (unless
> > > I completely missed it and if so apologies).
> > >
> > > > On Nov 30, 2021, at 7:29 AM, Eric Iverson 
> > > wrote:
> > > >
> > > > Mike,
> > > > The silly error has been fixed, Please update JHS, restart, and try
> > > again,
> > > >
> > > > ***
> > > > jijx menu>tour>overview is a new lab that is an overview for new
> users
> > > that
> > > > covers basic mechanics of J programming with the JHS front end.
> > > >
> > > >
> > > > On Mon, Nov 29, 2021 at 7:18 PM Eric Iverson <
> eric.b.iver...@gmail.com
> > >
> > > > wrote:
> > > >
> > > >> Thanks for the report. I will fix it tomorrow.
> > > >>
> > > >> On Mon, Nov 29, 2021 at 7:12 PM 'Michael Day' via Programming <
> > > >> programm...@jsoftware.com> wrote:
> > > >>
> > > >>> Devon's note reminds me to mention that I'm using the Avast Secure
> > > Browser
> > > >>> Mike
> > > >>>
> > > >>> On 30/11/2021 00:11, 'Michael Day' via Programming wrote:
> > > >>>> Thanks Eric.
> > > >>>>
> > > >>>> I've noticed your msg,  just before bedtime,  so, briefly,  here's
> > > >>>> what happened when
> > > >>>> I tried firing up tour>overview,  after running Package Manager
> from
> > > >>>> Jqt to install all
> > > >>>> selected updates:
> > > >>>>
> > > >>>> overview tour
> > > >>>>
> > > >>>> *** event handler error
> > > >>>> ev_overview_click 0
> > > >>>> |assertion failure: spf
> > > >>>> |  fexist r['must exist'
> > > >>>> jdo  jev_jijx

Re: [Jprogramming] JHS update

2021-12-01 Thread Eric Iverson
The 'normal' way to start JHS in windows (and other platforms) is to click
the desktop jhs903 icon.

Although running ~system\bin\jhs.bat should also work.

Do you get a terminal window? What does it say?

Perhaps try again with manual steps.
1. shut J and browser tasks down
2. start jconsole task
~addons/ide/jhs/config/jhs.cfg
3. what is display in jconsole task
4. did browser start?
5. if not, start browser manually
5. browse to localhost:/65001/jijx to connect to server running in jconsole
task



On Wed, Dec 1, 2021 at 2:52 PM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

> JHS under windows doesn't seem to run after update and jhs.bat run.
> firefox reports "connection was reset "
>
>
>
>
>
>
> On Tuesday, November 30, 2021, 11:54:45 a.m. EST, Eric Iverson <
> eric.b.iver...@gmail.com> wrote:
>
>
>
>
>
> The package manager is covered in detail in:
> https://code.jsoftware.com/wiki/Pacman
>
> That said, it doesn't directly include the beta upgrade note included in
> beta release announcements:
> if you already run J903-beta, then upgrade is easy:
>   load'pacman'
>   'upgrade'jpkg'jengine'
>
> A wiki edit is needed!
>
> On Tue, Nov 30, 2021 at 11:39 AM P Padilcdx  wrote:
>
> > Is there a wiki page that documents the steps required to update J?  I
> was
> > looking for it and couldn’t find it. I see the steps recommended in
> > previous posts but seems that would be a good addition to the wiki
> (unless
> > I completely missed it and if so apologies).
> >
> > > On Nov 30, 2021, at 7:29 AM, Eric Iverson 
> > wrote:
> > >
> > > Mike,
> > > The silly error has been fixed, Please update JHS, restart, and try
> > again,
> > >
> > > ***
> > > jijx menu>tour>overview is a new lab that is an overview for new users
> > that
> > > covers basic mechanics of J programming with the JHS front end.
> > >
> > >
> > > On Mon, Nov 29, 2021 at 7:18 PM Eric Iverson  >
> > > wrote:
> > >
> > >> Thanks for the report. I will fix it tomorrow.
> > >>
> > >> On Mon, Nov 29, 2021 at 7:12 PM 'Michael Day' via Programming <
> > >> programm...@jsoftware.com> wrote:
> > >>
> > >>> Devon's note reminds me to mention that I'm using the Avast Secure
> > Browser
> > >>> Mike
> > >>>
> > >>> On 30/11/2021 00:11, 'Michael Day' via Programming wrote:
> > >>>> Thanks Eric.
> > >>>>
> > >>>> I've noticed your msg,  just before bedtime,  so, briefly,  here's
> > >>>> what happened when
> > >>>> I tried firing up tour>overview,  after running Package Manager from
> > >>>> Jqt to install all
> > >>>> selected updates:
> > >>>>
> > >>>> overview tour
> > >>>>
> > >>>> *** event handler error
> > >>>> ev_overview_click 0
> > >>>> |assertion failure: spf
> > >>>> |  fexist r['must exist'
> > >>>> jdo  jev_jijx_ 0
> > >>>> jtype click
> > >>>> jmid  overview
> > >>>> jsid
> > >>>> jdata
> > >>>> jwid  jijx
> > >>>>
> > >>>> Here's the JVERSION info:
> > >>>>
> > >>>> Engine: j903/j64avx2/windows
> > >>>> Beta-v: commercial/2021-11-16T21:47:12
> > >>>> Library: 9.03.07
> > >>>> Qt IDE: 1.9.4/5.15.2(5.15.2)
> > >>>> Platform: Win 64
> > >>>> Installer: J903 install
> > >>>> InstallPath: c:/d/j903-beta
> > >>>> Contact: www.jsoftware.com
> > >>>>
> > >>>> And so to bed,
> > >>>>
> > >>>> Cheers,
> > >>>>
> > >>>> Mike
> > >>>>
> > >>>>
> > >>>> On 29/11/2021 21:51, Eric Iverson wrote:
> > >>>>> JHS update available.
> > >>>>>
> > >>>>> jijx menu>tour>overview is a new lab that is an overview for new
> > >>>>> users that
> > >>>>> covers basic mechanics of J programming with the JHS front end.
> > >>>>>
> > >>>>> App facilities for apps without requiring any javascript
> programming
> > >>>>> have
> > >>>>> been improved. See:
> > >>>>>rundemo_jhs_ 16
> > >>>>>
> > --
> > >>>>> 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
> >
> > --
> > 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


Re: [Jprogramming] JHS update

2021-11-30 Thread Eric Iverson
The package manager is covered in detail in:
https://code.jsoftware.com/wiki/Pacman

That said, it doesn't directly include the beta upgrade note included in
beta release announcements:
if you already run J903-beta, then upgrade is easy:
   load'pacman'
   'upgrade'jpkg'jengine'

A wiki edit is needed!

On Tue, Nov 30, 2021 at 11:39 AM P Padilcdx  wrote:

> Is there a wiki page that documents the steps required to update J?  I was
> looking for it and couldn’t find it. I see the steps recommended in
> previous posts but seems that would be a good addition to the wiki (unless
> I completely missed it and if so apologies).
>
> > On Nov 30, 2021, at 7:29 AM, Eric Iverson 
> wrote:
> >
> > Mike,
> > The silly error has been fixed, Please update JHS, restart, and try
> again,
> >
> > ***
> > jijx menu>tour>overview is a new lab that is an overview for new users
> that
> > covers basic mechanics of J programming with the JHS front end.
> >
> >
> > On Mon, Nov 29, 2021 at 7:18 PM Eric Iverson 
> > wrote:
> >
> >> Thanks for the report. I will fix it tomorrow.
> >>
> >> On Mon, Nov 29, 2021 at 7:12 PM 'Michael Day' via Programming <
> >> programm...@jsoftware.com> wrote:
> >>
> >>> Devon's note reminds me to mention that I'm using the Avast Secure
> Browser
> >>> Mike
> >>>
> >>> On 30/11/2021 00:11, 'Michael Day' via Programming wrote:
> >>>> Thanks Eric.
> >>>>
> >>>> I've noticed your msg,  just before bedtime,  so, briefly,  here's
> >>>> what happened when
> >>>> I tried firing up tour>overview,  after running Package Manager from
> >>>> Jqt to install all
> >>>> selected updates:
> >>>>
> >>>> overview tour
> >>>>
> >>>> *** event handler error
> >>>> ev_overview_click 0
> >>>> |assertion failure: spf
> >>>> |   fexist r['must exist'
> >>>> jdo   jev_jijx_ 0
> >>>> jtype click
> >>>> jmid  overview
> >>>> jsid
> >>>> jdata
> >>>> jwid  jijx
> >>>>
> >>>> Here's the JVERSION info:
> >>>>
> >>>> Engine: j903/j64avx2/windows
> >>>> Beta-v: commercial/2021-11-16T21:47:12
> >>>> Library: 9.03.07
> >>>> Qt IDE: 1.9.4/5.15.2(5.15.2)
> >>>> Platform: Win 64
> >>>> Installer: J903 install
> >>>> InstallPath: c:/d/j903-beta
> >>>> Contact: www.jsoftware.com
> >>>>
> >>>> And so to bed,
> >>>>
> >>>> Cheers,
> >>>>
> >>>> Mike
> >>>>
> >>>>
> >>>> On 29/11/2021 21:51, Eric Iverson wrote:
> >>>>> JHS update available.
> >>>>>
> >>>>> jijx menu>tour>overview is a new lab that is an overview for new
> >>>>> users that
> >>>>> covers basic mechanics of J programming with the JHS front end.
> >>>>>
> >>>>> App facilities for apps without requiring any javascript programming
> >>>>> have
> >>>>> been improved. See:
> >>>>>rundemo_jhs_ 16
> >>>>>
> --
> >>>>> 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
>
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] 903 beta cycle ending

2021-11-30 Thread Eric Iverson
We are at the end of the 903 beta cycle.

The 903 release will be out in about 2 weeks!

Thanks to all those who helped make the beta cycle a success.

Now is your last chance to use the beta and make sure it works to your
satisfaction.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] JHS update

2021-11-30 Thread Eric Iverson
Mike,
The silly error has been fixed, Please update JHS, restart, and try again,

***
jijx menu>tour>overview is a new lab that is an overview for new users that
covers basic mechanics of J programming with the JHS front end.


On Mon, Nov 29, 2021 at 7:18 PM Eric Iverson 
wrote:

> Thanks for the report. I will fix it tomorrow.
>
> On Mon, Nov 29, 2021 at 7:12 PM 'Michael Day' via Programming <
> programm...@jsoftware.com> wrote:
>
>> Devon's note reminds me to mention that I'm using the Avast Secure Browser
>> Mike
>>
>> On 30/11/2021 00:11, 'Michael Day' via Programming wrote:
>> > Thanks Eric.
>> >
>> > I've noticed your msg,  just before bedtime,  so, briefly,  here's
>> > what happened when
>> > I tried firing up tour>overview,  after running Package Manager from
>> > Jqt to install all
>> > selected updates:
>> >
>> > overview tour
>> >
>> > *** event handler error
>> > ev_overview_click 0
>> > |assertion failure: spf
>> > |   fexist r['must exist'
>> > jdo   jev_jijx_ 0
>> > jtype click
>> > jmid  overview
>> > jsid
>> > jdata
>> > jwid  jijx
>> >
>> > Here's the JVERSION info:
>> >
>> > Engine: j903/j64avx2/windows
>> > Beta-v: commercial/2021-11-16T21:47:12
>> > Library: 9.03.07
>> > Qt IDE: 1.9.4/5.15.2(5.15.2)
>> > Platform: Win 64
>> > Installer: J903 install
>> > InstallPath: c:/d/j903-beta
>> > Contact: www.jsoftware.com
>> >
>> > And so to bed,
>> >
>> > Cheers,
>> >
>> > Mike
>> >
>> >
>> > On 29/11/2021 21:51, Eric Iverson wrote:
>> >> JHS update available.
>> >>
>> >> jijx menu>tour>overview is a new lab that is an overview for new
>> >> users that
>> >> covers basic mechanics of J programming with the JHS front end.
>> >>
>> >> App facilities for apps without requiring any javascript programming
>> >> have
>> >> been improved. See:
>> >> rundemo_jhs_ 16
>> >> --
>> >> 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


Re: [Jprogramming] JHS update

2021-11-29 Thread Eric Iverson
Thanks for the report. I will fix it tomorrow.

On Mon, Nov 29, 2021 at 7:12 PM 'Michael Day' via Programming <
programm...@jsoftware.com> wrote:

> Devon's note reminds me to mention that I'm using the Avast Secure Browser
> Mike
>
> On 30/11/2021 00:11, 'Michael Day' via Programming wrote:
> > Thanks Eric.
> >
> > I've noticed your msg,  just before bedtime,  so, briefly,  here's
> > what happened when
> > I tried firing up tour>overview,  after running Package Manager from
> > Jqt to install all
> > selected updates:
> >
> > overview tour
> >
> > *** event handler error
> > ev_overview_click 0
> > |assertion failure: spf
> > |   fexist r['must exist'
> > jdo   jev_jijx_ 0
> > jtype click
> > jmid  overview
> > jsid
> > jdata
> > jwid  jijx
> >
> > Here's the JVERSION info:
> >
> > Engine: j903/j64avx2/windows
> > Beta-v: commercial/2021-11-16T21:47:12
> > Library: 9.03.07
> > Qt IDE: 1.9.4/5.15.2(5.15.2)
> > Platform: Win 64
> > Installer: J903 install
> > InstallPath: c:/d/j903-beta
> > Contact: www.jsoftware.com
> >
> > And so to bed,
> >
> > Cheers,
> >
> > Mike
> >
> >
> > On 29/11/2021 21:51, Eric Iverson wrote:
> >> JHS update available.
> >>
> >> jijx menu>tour>overview is a new lab that is an overview for new
> >> users that
> >> covers basic mechanics of J programming with the JHS front end.
> >>
> >> App facilities for apps without requiring any javascript programming
> >> have
> >> been improved. See:
> >> rundemo_jhs_ 16
> >> --
> >> 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


Re: [Jprogramming] JHS - password gen app

2021-11-29 Thread Eric Iverson
Devon,
I think this might be a difference between firefox and those browsers. I
will get out a fix tomorrow.


On Mon, Nov 29, 2021 at 7:06 PM Devon McCormick  wrote:

> Hi Eric,
>
> I just tried this in both Edge and Chrome but get this error in both
> places:
> HBS error:4 jhhn 3;'pswd app - no javascript' NB. header 2
>
> I checked that Javascript is enabled for both browsers, so I don't think
> that is the issue.  Please let me know what I should do to fix or debug
> this.
>
> Thanks,
>
> Devon
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
>
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] JHS update

2021-11-29 Thread Eric Iverson
JHS update available.

jijx menu>tour>overview is a new lab that is an overview for new users that
covers basic mechanics of J programming with the JHS front end.

App facilities for apps without requiring any javascript programming have
been improved. See:
   rundemo_jhs_ 16
--
For information about J forums see http://www.jsoftware.com/forums.htm


  1   2   3   4   5   6   7   >