On Mon, Mar 14, 2022 at 10:01 AM Michal Wallace
<michal.wall...@gmail.com> wrote:
> 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

Conceptually, the isi people have set things up so that people in the
community can submit well thought out changes.

They have provided a variety of mechanisms here.

Of course, there's scripting that we all use. But, beyond that,
there's support involving git and github.

(*) If you have a github account (which is free to create), you can
create an addon which anyone can install (though of course you have to
make this known). An example here is Brian Schott ('zerowords' on
github) who has created the 'tgsjo' addon. To install or update it:

install'github:zerowords/tgsjo'  NB. install
https://github.com/zerowords/tgsjo as an addon

And then, you can use it using require'zerowords/tgsjo' or
load'zerowords/tgsjo' or you can open the top level file in jqt's
editor using open'zerowords/tgsjo'

Like any addon, this needs a manifest.ijs. But that's pretty straightforward.

Once you have published an addon for other people to use, you would
probably want to be able to alpha/beta releases. J's github install
process installs the 'master' branch from github. If you want to
install a different branch, you can append it. But, rather than for
example install'zerowords/tgsjo/tree/version1' you would use
install'zerowords/tgsjo@version1'.

It would be nice if the pacman ui would let you scan for updates to
installed github addons, but let me come back to this issue in a
bit...

(*) You can also fork a copy of one of jsoftware's addons. This gives
it a new name (with your username as a prefix, and the github name as
a suffix), but other than that, the mechanics are rather similar to
other addons. Not all of the jsoftware repositories represent addons,
but many of them are: https://github.com/orgs/jsoftware/repositories

Modify at your own risk, of course (just like any other changes you
make on your own machine).

As you can see, they have put in a tremendous amount of development
effort into this over the years.

(*) If you have changes that you have organized and developed, and
pushed to some branch on github, you can also submit them back to isi
as a pull request against the repository. Note acceptance into github
is not the same thing as publishing an update to the addon -- that's a
separate step.

It would be good to supply a test suite for any changes you submit.
This is an area which could use some thought and improvement. (There's
a tension, in test suites, between tedious or slow and lightweight and
convenient.)

(*) Also, in addition to discussion on the forums, topic and addon
specific notes can be left in the github issue tracker for a
repository (or as comments on a pull request).

For example, it would be nice if J's pacman could scan for changes to
addons which were installed from github. That would be a change to
https://github.com/jsoftware/base9 -- so I could fork the repository,
implement and test a change to pacman, maybe sleep on it a few days
and figure out if there are any important interface issues that should
get test suite support, for stability, maybe talk it out on the
forums, with instructions on how other people could test the changes
(inviting comments, feedback and hopefully not too much silliness) and
if it goes well I could eventually submit my changes for everyone to
use, in a pull request.

(Pull requests were designed to be a process which optionally involves
discussion and push-back and/or delay and/or rejection. There's a lot
of possibilities here.)

A similar process might work with dictionary support, though given the
wide variety of possibilities, I would expect rather slow progress
here -- it's all-too-often not the case that the first available
implementation would offer the best approach.  That said, small
well-thought-out changes offering convenience (like your 'of') might
be a good use of the limited 'short words space'.

Thanks,

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

Reply via email to