Pepe asked:
>  I am curious... Can you show us some examples of how the label-less label
>  works as punctuation (separator)?

Pascal responded:
>      3 :'a =. 1  label_. a + y' 4
>   5


That’s right: the token ‘label_.’ (that is, the label-less label) can be used 
to create multiple logical lines within one physical line, inside an explicit 
definition. Because it has no part of speech (i.e. is punctuation), it doesn’t 
suffer from the same drawbacks as, say, 2 : ‘v’ does.  

And, unlike other punctuation, it is semantically transparent and doesn’t 
require an argument, which most other control words do (and, of course, the 
argument to a control word appears to its right, which is exactly where you 
want your “second logical line” to be, and separating the no-op argument to the 
control word from the desired “second logical line” leaves you back at square 
one, using tricks like [ etc).

One further advantage of label_. is that you can have many of them as you like 
in a single explicit definition, spelled precisely like that (‘label_.’), 
unlike, for example, ‘label_JustUsedAsALineSeparator.’ or anything else (where 
you’d have to come up with new useless labels for every logical line break, to 
keep the explicit parser from complaining).

     verb def ' smoutput ‘'this'’ label_. smoutput ''is'’ label_. ''Sparta!'’ '

-Dan


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

Reply via email to