Sorry. Thanks for that correction. I quite like Robert's suggestion, though I took it on board without adequate attribution. Wasn't trying to be sneaky, though I see it might appear that way.
Pairing 'outer shape' and 'cell shape' does seem a bit unnatural. I think we need a phrase like (i) the argument's 'frame of cells', or (ii) the argument's 'inner and outer shapes'. The decision is not mine, but I can't see how adopting 'outer' on its own is wise. Here's an idea: An argument has inner cells, each with shape 'inner shape'. Any argument must always have one outer cell. It has shape 'outer shape'. Any thoughts? The alternative to frame / cell shape being discussed is outer shape / cell shape, not outer shape / inner shape. I don't believe anyone has used "inner shape" before (and it's not as good as "cell shape"). On Tue, Jan 19, 2016 at 2:14 AM, Matthew Baulch <[email protected]> wrote: > Outer/inner makes perfect sense. Seems unlikely to lead anyone astray. > To play devil's advocate, it might seem silly but maybe a newbie could > guess that inner/outer shape relates to boxing. Is this paranoia? I don't > know. > > The important question is: who is the terminology intended to serve? The > answer is, of course, everyone. But in what proportions? There are inherent > trade-offs. As noted by Roger and others, > > Outer and inner shape > Pros: fit together like a pair of gloves, suggest a dependency of some sort > (hopefully on rank!), is being adopted by Dyalog in a similar form (maybe a > pro?). > Cons: has an unfortunate though slight suggestion of boxing. > > Frame: > Pros: cells-in-frame concept makes some intuitive (and pictorial) sense, > frame is (?) unused for terminology anywhere else in J so unlikely to be > confused. > Cons: has historical context around 'empty', tempts us to use the word > empty, cells-in-frame concept breaks down when frame is empty (even though > cells may still exist), no natural pairing with cells. > > Cells > Pros: sort of makes sense...? > Cons: has various meanings depending on the context, doesn't imply that > shape or rank are at all important, no natural pairing with frame. > > I'm sure I've missed something. Anyway, I think there's a strong case for > inner/outer shapes. > > On Tue, Jan 19, 2016 at 5: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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
