Raul wrote:
> For example, should we allow J to assign definitions to APL
> tokens (using =:)?  

The question of what to permit as "assignable" codepoints is still open. 
But, at first blush, I don't see why not.

Raul wrote:
> If so, does what does this mean for APL's
> assignment arrow, and quad?  

I don't see what J has to do with APL's symbols, or why we should consider
them differently from, say, musical notes.

Raul wrote:
> If not, what kind of burden
> does this put on our J implementation team?

If you're asking whether the fact that these symbols are assignable should
imply they have the same definitions in APL, then no.  I doubt that's what
you (Raul, in particular) are asking, but cannot find another way to
interpret the question.

J is not APL, for broader reasons than symbol set.  Permitting Unicode
identifiers will effect Part I of the dictionary (Alphabet & Words) but
not Part II (Grammer; in particular Section E, the parse table) [1].

Today,  is =: =:  is illegal; analogously, in the hypothetical
J-with-Unicode-identifiers,  {apl-arrow} =: =:  would be illegal.  The
reason is the same in both cases:  the spelling of the identifier is not
problematic, the part of speech of the referent is.  

Put another way, just because you can't say  {apl-arrow} =: =:  doesn't
mean you shouldn't be able to say  {apl-arrow} =: @:  . In fact,
expressions like     idxWhere =:  I. <- E.  might have mnemonic value
("the results of  E.  feed into  I.", "the data flows left").  Of course
then you wonder if  I.<-E.  would be optimized like  I.@:E.  is; but that
issue is not introduced by Unicode identifiers.  Consider  of =: @:  .

Similarly, I don't see why we shouldn't permit {apl-quad} as an assignable
name.   In fact, a J user who came from APL might find  [] <-
(request_user_input @: print_verb_input)  a familiar definition.  But he'd
be responsible for writing it.

Don Guinn wrote:
>  And if UTF characters were opened up for names would this 
>  prevent the use of those characters as primitives at some
>  future date?

This is the strongest argument against Unicode identifiers I've seen so far
(well; 3rd place.  2nd the current (non-)transparency of Unicode use and
1st is it's not a priority for Roger.  The latter two are probably
related.)

Even so, I don't imagine it represents such a hurdle.  If J introduces
primitives using codepoints you'd previously included in identifiers, it's
not such a hard task to find and replace them.

Raul wrote:
>  Perl6 is, in essence, a language for writing parsers, and may never
>  be completed.  Do you really think this would be a good model for J?

I don't believe the "is" of Perl6 has gelled yet.  Specifically because it
may never be completed.

Raul wrote:
>  If you want to write something like this, I would be willing to give
>  it a try.

It's on the to-do list.  About halfway down.  FYI, even the items at the
top are yellowed with age.

-Dan

[1]  And while permitting Unicode identifiers may eventually effect the
Vocabulary, by increasing our range of succinct names for primitives, and
letting us explore possible definitions for those names, this is a
side-effect, not a neccesary consequence.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to