I agree the definition of f"g is not very useful, and I have argued previously that we change it [1,2,3]. In fact, given its limited deployment (as you said), I think it is a better candidate for change than f"n (as Ambrus proposes), and from my POV the change is only pending agreement on the most useful new definition and your approval. In fact, f"g <=> f"(g y) was my initial proposal for the new definiton of rank at the citations given [1-3], and I think it would be very useful (and not justy as compared to the current state of affairs). I would be very pleased to have that discussion.
But that's not what I was discussing below. I was only pointing out that we need justification for f <=> f"f to *not* hold (which we may have), and that asking for justification for it to be hold is just contrarian. Also, as you pointed out (and Ambrus before you), changing the definition of f"g will not evade that question, as I could always pose 'f <=> f"(f b. 0) ?' . The heart of the question and the impetus of the f"f discussion was exactly the definition of f"n with n having negative elements. Hence Ambrus' proposal. That question is still open, as far as I can tell (at least in its weaker form). -Dan [1] www.jsoftware.com/pipermail/programming/2006-November/004222.html [2] http://www.jsoftware.com/jwiki/System/Interpreter/Requests06#redefinitionofu.22v [3] http://www.jsoftware.com/jwiki/DanBron/Temp/rank%20redefinition Please excuse typos; composed on a handheld device. -----Original Message----- From: Roger Hui <[email protected]> Sender: [email protected] Date: Wed, 10 Nov 2010 13:26:09 To: Programming forum<[email protected]> Reply-To: Programming forum <[email protected]> Subject: Re: [Jprogramming] Atop u...@v with v of negative monadic rank On the other hand, one could look at the current definition of f"g as some sort of mistake (and the infrequency of its use is an indication of that), and a different meaning might have been more useful. e.g. f"g x <-> f"(g x) x Anyway, even given the current definition of f"g, I don't think there is a case for changing anything. You want f"f to be the same as f, but what if a rank of f is negative? Or even the noun case: <"r is not necessarily the same as <"r"r if r is negative. ----- Original Message ----- From: Dan Bron <[email protected]> Date: Wednesday, November 10, 2010 11:19 Subject: Re: [Jprogramming] Atop u...@v with v of negative monadic rank To: J Programming <[email protected]> > Yes, or you might have an expression like 3 2 0 p. x which > relies on the definition of x+0 without explicitly > stating it, or without the author of the expression even knowing > it (see Ambrus' comments later in this thread). > > In other words, you need identities to make algebra > reliable. In other words, edge cases are the bane of > formalisms (and one of the joys of J is that so very often it > handles them elegantly and transparently. This feature is > mostly derived from the thoughtful and sometimes seemingly > prophetic definitions of its words). In other words, the > more guarantees J makes, the less I have to worry (including > worrying about whether I should be worrying, as you & Roger are > doing). > Anyway, if you're looking for an analog to x+y , then think > about modifiers like "f (or 1 :'u"f' or whatever) > which one would like to "work" without worrying about the value > of the argument (even if sometimes it's exactly f). Yes, > abstractions over verbs are rarer than abstractions over nouns > (and J's grammar encourages this, viz Lisp), but they are not > insignificant, and I personally make great use of them [1]. > > Bear in mind, I am not arguing for or against Ambrus' proposal > (which I still haven't had time to study). I am only > pointing out 'who needs f"f ?' is not an argument against it and > is invidious logic. > > It is obvious that f -: f"f should be a tautology ("f is the > same as f with the rank of f"); we can choose to sacrifice this > self-consistency for some benefit, but we should do so > consciously and for good reasons (not because we can't think of > uses for self-consistency). > > -Dan > > > [1] We all know modifiers are one of J's strengths - we have > +/ */ and ^/ where math has big-sigma, big-pi and big-nada > respectively. > > > Please excuse typos; composed on a handheld device. > > -----Original Message----- > From: Raul Miller <[email protected]> > Sender: [email protected] > Date: Wed, 10 Nov 2010 12:57:58 > To: Programming forum<[email protected]> > Reply-To: Programming forum <[email protected]> > Subject: Re: [Jprogramming] Atop u...@v with v of negative monadic rank > > On Wed, Nov 10, 2010 at 10:29 AM, Dan Bron <[email protected]> wrote: > > Why would you ever say x+0 or y*1 ? > > I am not sure that I do? > > But I might say x+y where y was 1 0 1. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
