Hi Ian,
Firstly I like the idea of the article - IMO it fills a bit of a void in the
current available documentation of a higher level overview on how to use/work
in the J environment. There is really good stuff on the details of the language
itself, but not so much on the environment.
Some suggestions/impressions:
CALC=: noun define
Using this format (rather than 0 : 0) means that the form editor will no longer
recognize your noun as a form and won't let you edit it. It would be nice if
the form editor were a bit smarter and recognized both formats but it doesn't.
Might be worthwhile pointing out that trade off to the reader.
"handler define" - I can see the advantages of this in helping document your
app, however the noun "handler" isn't defined by default in the J standard
library and doesn't seem to be defined in calc.ijs so I end up with a "domain
error: define" when I try to run the calc.ijs window.
I would suggest that you highlight to your reader any of the things that you
have found useful additions to the J environment and show them how they can add
them to their own installed environment, that way it will be clear that these
are things that they shouldn't expect to be available in every J session.
Alternatively you could concentrate on introducing the reader to the J
environment as it is and save those customizations for a separate article -
"Tips and tricks for customizing/improving the J environment".
I think in an earlier edition you mentioned that the words noun, verb,
conjunction etc were all defined in the stdlib.ijs. The J6.02 version of this
script contains a lot of comments and descriptions, I'd recommend suggesting to
the reader to open and inspect the script:
open '~system/main/stdlib.ijs'
These comments are (unfortunately IMO) removed from the stdlib.ijs script, and
other distributed scripts in the J701 beta.
Although monadic ". (Do) corresponds better with APL's {execute} function my
preference would be to use dyadic ". (Numbers) in the verb eval to convert the
string to a number. Eg: {. 0 ". '0',y
As a reader I'm not a fan of the tinyurls used as references in the article,
they break up the train of thought and don't have any meaning in and of
themselves and so don't give me any idea of what I'm going to get when I click
on them. I'd much rather the links be hyperlinked text (not urls)
describing/referring to the resource, and using the correct URL in the
reference enables me to mouseover the hyperlink and see a meaningful URL.
As an APL user who started using J in 2007, I'd disagree with any advice that
APL knowledge is of no use and that APL users should start from scratch -
something you also believe in, hence the article. In my early J learning
journey I found Henry Rich's J Reference card indispensible for helping me find
the appropriate word to accomplish the operation I was after. Because not all
the J words have APL equivalents it is a useful addition/extension to the APL2J
phrasebook.
Thanks again for this fine contribution to the community!
Ric
> From: Ian Clark
> Sent: Thursday, 28 October 2010 15:28
>
> http://www.jsoftware.com/jwiki/JinaDay
>
> Thanks to all for crits, and for provocative & instructive
> discussions. It doesn't escape me that a lot of people have really
> spent time to debug it.
>
> 1st draft done. Extensive edits. Most people's suggestions
> incorporated (I've not checked everyone's is in, but I will). Demo app
> CALC somewhat improved, behaviour more intuitive, focus problem
> hopefully solved. Correct (?) use of the term "array" -- which has
> proved useful after all.
>
> LOBROW will need some spit&polish before final publication. Ditto
> handy.ijs.
>
> Haven't checked that all weblinks are actually used in the text. On
> the other hand there may be more that ought to be mentioned. Virtually
> no mention of the J Primer, which IMO is an omission.
>
> Ian
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm