I wrote:
>     u"v y <=> u"( mru v&, #$y)y 
>   x u"v y <=> x u"( (lru,rru) v x ,&#&$ y )y

I am becoming more convinced this is an appropriate new definition.  The RHA
to " should be used to determine the new rank of the LHA.  If the new rank
is static & known in advance, then the RHA is a noun.  If the new rank is
dynamic and depends on LHA's arguments, then the RHA is a verb.  Since the
only purpose of the RHA is to calculate rank, then as a verb, it only needs
information pertinent to determine rank; to wit, the rank(s) of the LHA, and
the rank(s) of the LHA's argument(s).

I have updated the script at [1] to allow us to experiment with this idea.
Picking from the candidates listed at [2], I came across one of my own
examples [3].  The original is:

        x taut  " (_ , 0 >. (#$x) - 1 ) y

using the proposal above, modeled as rP in [1], we can re-express this
tacitly thus:

        x taut rP (_ , 0 >. _1 + {...@])  y

which doesn't seem much of a change - until you realize that's the point
(tacit code that's as easy to read as explicit code yet more reusable).*

I'll see if any of the other candidates obtain a similar benefit from this
or other proposals.  One trend I'm noticing is that the "dynamic" rank is
often distant from the actual argument, and hence not as amenable to
abstraction by these proposals. And in at least some of the cases I've seen,
no possible proposal would suit.  After all, we need the argument to v in
u"v to be the same as the argument to u - but I'm seeing cases like  u"(....
y)/y  where that simply isn't possible, grammatically.

-Dan

[1]  Models of various proposals for a new definition of  "  :
 
http://www.jsoftware.com/svn/DanBron/trunk/environment/rank-reproposed.ijs 

[1]  Incidents of  "(...)  in the Forum archives, and candidates for
re-expression using the proposed new definitions of " :
     http://www.jsoftware.com/jwiki/DanBron/Temp/rank%20redefinition

[2]  A use of "(...) amenable to re-expression using rP .
     http://www.jsoftware.com/pipermail/beta/2006-June/001421.html

*  Bear in mind this proposal competes directly with the earlier proposal
for u"(v y) y etc, and like that proposal, this one is also
backwards-incompatible.



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

Reply via email to