It is a tradition in JOD to recyle common english terms (verb, conjuction) instead of more technical terms. Rank and frame are more natural language like than inner shape and outer shape. Just my 2 cents.
Пн, 18 янв 2016, Roger Hui написал(а): > Among old timers, "frame" has an historical ambiguity. Originally, "frame" > was the leading axes of the array, the array whose shape was the outer > shape (*SATN-45*, 1983 <http://www.jsoftware.com/papers/satn45.htm>). Both > of these are not as good as "outer shape": What are "axes of an array"? > (Part of the array? Part of the shape?) What's the array whose shape is > the outer shape? It's the "virtual array" you get from <"r x, but the < is > only "pretend"; it's the virtual array with cells of rank r. > > Later on, *A Dictionary of the APL Language*, 1985 (precursor to *A > Dictionary of APL*, 1987 <http://www.jsoftware.com/papers/APLDictionary.htm>) > frame was redefined to be the same as outer shape, definitely part of the > shape, and Empty Frames in SHARP APL > <http://www.jsoftware.com/papers/EmptyFrames.htm>, 1986 uses frame in the > same, new sense. > > "Empty frames" (IMO) added to the confusion. Since "frame" is a shape and > therefore a vector, the only way a frame can be empty is if it's an empty > vector, $0. But the "Empty Frames" paper was not about that. Instead, it > dealt with the problem when the frame contains a 0. Hence "zero frames". > Empty frames (when the frame is the empty vector) are actually one of the > very nice, non-problematic, non-controversial, ... uses of the rank > operator. It's the case where one argument has only one cell and the other > argument has umpteen cells. It generalizes everyone's favorite, scalar > extension in APL\360 -- you know, the rule that makes 2 + 3 4 5 or (i.5 > 6)*8 work. > > The APL2 family generalizes scalar extension another way, via the each > operator. But that's another story. Dyalog APL, part of the APL2 family, > has both the each operator and (recently) the rank operator. To document > the latter, Dyalog resurrected "outer shape". Dyalog also resurrected > "major cell" because "item" already has an entrenched different meaning in > the APL2 family. > > > > > > > > > > > On Mon, Jan 18, 2016 at 10:43 AM, Henry Rich <[email protected]> wrote: > > > I really like this suggestion. "frame" makes sense for result: the frame > > is held fixed while the cell-results are coerced into the same shape, and > > then assembled using the frame. For the arguments, "outer shape" shows the > > dependence on the argument shape and (implicitly) the verb rank. > > > > I wonder whether we should try to move the documentation in this > > direction. There would need to be a general consensus in favor. > > > > Henry Rich > > > > On 1/18/2016 11:52 AM, Roger Hui wrote: > > > >> The terminology originated in SHARP APL in the 1980s. "Frame" was at > >> times > >> called "outer shape". In some situations, "outer shape" may be a better, > >> more easily understood term. You know, cell shape and outer shape; outer > >> shape is part of the shape; etc. > >> > >> > >> > >> > >> On Mon, Jan 18, 2016 at 7:19 AM, Jose Mario Quintana < > >> [email protected]> wrote: > >> > >> I would not be the one arguing for empty frame vs zero frame terminology > >>> :) > >>> (thanks for providing the context). > >>> > >>> Regarding frame, I meant it in the sense that Ken Chakahwata did: "to > >>> have > >>> a J definition of that fictitious primitive." > >>> > >>> Your executable model can, of course, readily address Ken's question and > >>> other similar questions for specific instances (pointing out, albeit > >>> rather > >>> tacitly, that such J definition already existed, was my main reason for > >>> mentioning your article): > >>> > >>> rk =. #@$ > >>> er =. (0:>.(+rk))`(<.rk) @. (0:<:[) > >>> fr =. -@er }. $@] > >>> cs =. -@er {. $@] > >>> > >>> (Y=. i.2 3 4) > >>> 0 1 2 3 > >>> 4 5 6 7 > >>> 8 9 10 11 > >>> > >>> 12 13 14 15 > >>> 16 17 18 19 > >>> 20 21 22 23 > >>> > >>> 3 (er;fr;cs) Y NB. effective rank; frame; cell shape > >>> ┌─┬┬─────┐ > >>> │3││2 3 4│ > >>> └─┴┴─────┘ > >>> > >>> 2 (er;fr;cs) Y NB. effective rank; frame; cell shape > >>> ┌─┬─┬───┐ > >>> │2│2│3 4│ > >>> └─┴─┴───┘ > >>> _1 (er;fr;cs) Y NB. effective rank; frame; cell shape > >>> ┌─┬─┬───┐ > >>> │2│2│3 4│ > >>> └─┴─┴───┘ > >>> > >>> > >>> > >>> On Sun, Jan 17, 2016 at 11:33 PM, Roger Hui <[email protected]> > >>> wrote: > >>> > >>> I did not define them; Roland Pesch did: Empty Frames in SHARP APL > >>>> <http://www.jsoftware.com/papers/EmptyFrames.htm>, 1986. I did rename > >>>> them > >>>> to "zero frames". Read the 1986 paper and you can decide for yourself > >>>> whether "empty frame" or "zero frame" is the better name. > >>>> > >>>> > >>>> > >>>> On Sun, Jan 17, 2016 at 5:28 PM, Jose Mario Quintana < > >>>> [email protected]> wrote: > >>>> > >>>> The verb (frame) as well as the Zero Frame concept are defined in [0] > >>>>> > >>>> by > >>> > >>>> Roger. > >>>>> > >>>>> [0] Rank and Uniformity > >>>>> http://www.jsoftware.com/papers/rank.htm > >>>>> > >>>>> On Sun, Jan 17, 2016 at 7:11 PM, Ken Chakahwata < > >>>>> [email protected]> wrote: > >>>>> > >>>>> My guess is that it would help if we could imagine that we had a > >>>>>> > >>>>> primitive > >>>>> > >>>>>> called 'frame' in the same way as we have one called 'shape' i.e. $ > >>>>>> Then one way to get to the precise meaning of frame is to have a J > >>>>>> definition of that ficticious primitive. At a guess, this primitive > >>>>>> requires the 'rank' of the cells in order to then return the > >>>>>> > >>>>> appropriate > >>>> > >>>>> frame. > >>>>>> If we have an array of shape (x,y,z), and we stipulate cells of rank > >>>>>> > >>>>> 3, > >>> > >>>> then the frame is presumably empty? Not sure of this... but anyhow, > >>>>>> > >>>>> just > >>>> > >>>>> a > >>>>> > >>>>>> thought... > >>>>>> > >>>>>> Enjoy > >>>>>> ken > >>>>>> > >>>>>> -----Original Message----- > >>>>>> From: Programming [mailto:[email protected]] > >>>>>> > >>>>> On > >>> > >>>> Behalf Of Henry Rich > >>>>>> Sent: 17 January 2016 23:59 > >>>>>> To: [email protected] > >>>>>> Subject: Re: [Jprogramming] Definition: Frame of an argument > >>>>>> > >>>>>> The terminology I use is an (x by y by z) array of cells, or an array > >>>>>> > >>>>> of > >>>> > >>>>> cells with frame (x,y,z), emphasizing that the frame is a (part of > >>>>>> > >>>>> the) > >>> > >>>> shape rather than an array. > >>>>>> > >>>>>> Henry Rich > >>>>>> > >>>>>> On 1/17/2016 6:16 PM, Raul Miller wrote: > >>>>>> > >>>>>>> Hmm... ok, reviewing > >>>>>>> http://www.jsoftware.com/help/primer/frame_and_cell.htm 'frame' > >>>>>>> > >>>>>> does > >>> > >>>> get used that way. > >>>>>>> > >>>>>>> I was thinking of the frame as having a shape rather than being the > >>>>>>> > >>>>>> shape. > >>>>>> > >>>>>>> Then again, since you can think of an array as being (for example) > >>>>>>> > >>>>>> an > >>> > >>>> (x,y,z) frame of cells, I do not think that my interpretation was > >>>>>>> entirely incorrect, either. So I suppose I have gotten myself into > >>>>>>> > >>>>>> a > >>> > >>>> "much ado about nothing" sort of issue. > >>>>>>> > >>>>>>> Thanks, > >>>>>>> > >>>>>>> > >>>>>> ---------------------------------------------------------------------- > >>> > >>>> For information about J forums see > >>>>>> > >>>>> http://www.jsoftware.com/forums.htm > >>> > >>>> > >>>>>> ---------------------------------------------------------------------- > >>> > >>>> For information about J forums see > >>>>>> > >>>>> http://www.jsoftware.com/forums.htm > >>> > >>>> ---------------------------------------------------------------------- > >>>>> For information about J forums see http://www.jsoftware.com/forums.htm > >>>>> > >>>> ---------------------------------------------------------------------- > >>>> For information about J forums see http://www.jsoftware.com/forums.htm > >>>> > >>>> ---------------------------------------------------------------------- > >>> For information about J forums see http://www.jsoftware.com/forums.htm > >>> > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
