I wrote:
>      u"(f`g`h) y <=> u"( (f u b.0) g   h&#&$ y)
>    x u"(f`g`h) y <=> u"( (f u b.0) g x h&#&$ y)

I recognized the separation between monad and dyad could be cleaner.  Since
the monad only cares about "monadic things" there is no reason for f to see
the dyadic ranks of u; similarly, since the dyad only cares about "dyadic
things" there is no reason for f to see the monad rank of u.  

Thus, if mru is the monadic rank of u and lru and rru are the left and right
dyadic ranks of u (resp.), then I propose:

      u"(f`g`h) y <=> u"( (    f mru) g   h&#&$ y)
    x u"(f`g`h) y <=> u"( (lru f rru) g x h&#&$ y)

The script:

        
http://www.jsoftware.com/svn/DanBron/trunk/environment/rank-reproposed.ijs

has been updated accordingly.  I also added a (commented-out) clause to
support Ambrus' request, in case anyone wants to investigate that as well.
Again, totally untested & in need of examples & test cases.

Does anyone see a reason why f may be interested in all the ranks of u
simultaneously*, or have any other comments?

-Dan

*  Besides that fact that the behavior above is derivable, given that
information, but the reverse isn't true?



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

Reply via email to