[Jprogramming] J807 beta-i available
Henry Rich
henryhrich at gmail.com
Fri Aug 24 01:41:36 UTC 2018
Often you need for a verb to refer to the value of a name when the noun
is executed, rather than when it is defined. So, rather than
npixels =: */ windowsize
which would just be a noun, you write
npixels =: 3 : '*/ windowsize'
to defer taking the value of (windowsize) until (npixels) is executed.
In tacit code, you used to write
npixels =: */ @: ". @ ('windowsize'"_)
to get the same result. Recently the syntax was added to allow
npixels =: */ @: ". @ 'windowsize'
All that still works. But the (".) verb starts the parser and executes
its y argument as a sentence, with a modest overhead that will matter if
the verbs have small ranks. Now, you can write
npixels =: */ @: (". @ 'windowsize')
[parentheses important! make sure you see why]. When (npixels) is
defined, this form will detect that the argument to (".) is a single
name. When (npixels) is executed, the name will be evaluated without
going through the overhead of starting a sentence.
Henry Rich
On 8/23/2018 8:49 PM, Brian Schott wrote:
> Henry,
>
> What does this new feature mean/do? Could you give an example, please?
>
> [x] ".@'name' y improved.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by AVG.
https://www.avg.com
More information about the Programming
mailing list