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
