Talk:Partition representations: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:


I see. Go ahead and change it. [[User:Adám Brudzewsky|Adám Brudzewsky]] ([[User talk:Adám Brudzewsky|talk]])
I see. Go ahead and change it. [[User:Adám Brudzewsky|Adám Brudzewsky]] ([[User talk:Adám Brudzewsky|talk]])
I meant that match should be taken to ignore prototypes recursively (this is the case in some array languages, such as J). Maybe this is unclear, but "ignoring zero-length divisions" is also unclear: if two partitions differ only in that one has an extra zero-length division at the end, should they be the same?
Since we're partitioning vectors, only zero-length divisions can be [[empty]]. I've clarified also that a partition can't be empty.
Part of the problem is that you seem to be using [[prototype]] to mean [[Type]]. The prototype of an array <source lang=apl inline>A</source> has the same structure as <source lang=apl inline>⊃A</source>, so only simple scalars can match their own prototypes. It doesn't make sense to call an array a prototype in isolation: an array has a prototype but no array is a prototype.
There's no such thing as an "inserted division".
--[[User:Marshall|Marshall]] ([[User talk:Marshall|talk]]) 15:34, 28 January 2020 (UTC)

Revision as of 15:34, 28 January 2020

"We consider two partitions of a vector to be identical if they match, ignoring prototypes."

If two arrays match, their prototypes also match.

If the final phrase has any non-trivial meaning that must be one of:

  • "ignoring zero-length divisions"
  • "ignoring divisions of any length that match their own prototypes."

In neither case do they coincide with the prototype of the partition itself unless the first division is itself one or other of them. The second could be formed from a blank length of the original vector so could not be ignored.

I suggest using "zero-length divisions". --Phil Last (talk) 16:02, 27 January 2020 (UTC)

Couldn't a division be empty without being zero-length? Adám Brudzewsky (talk)

Certainly it could if by "empty" you mean my second case above "match their own prototype". Inserted divisions would necessarily be of zero length. A non-zero-length division matching its prototype must therefore contain some of the original data. And if my assertion of necessity is questionable then no divisions can be ignored as no distinction can be made between data and insertions.

But to return to the main point. The original sentence is either a tautology or ambiguous. The word "prototype" does not belong there. Phil Last (talk) 23:32, 27 January 2020 (UTC)

I see. Go ahead and change it. Adám Brudzewsky (talk)

I meant that match should be taken to ignore prototypes recursively (this is the case in some array languages, such as J). Maybe this is unclear, but "ignoring zero-length divisions" is also unclear: if two partitions differ only in that one has an extra zero-length division at the end, should they be the same?

Since we're partitioning vectors, only zero-length divisions can be empty. I've clarified also that a partition can't be empty.

Part of the problem is that you seem to be using prototype to mean Type. The prototype of an array A has the same structure as ⊃A, so only simple scalars can match their own prototypes. It doesn't make sense to call an array a prototype in isolation: an array has a prototype but no array is a prototype.

There's no such thing as an "inserted division". --Marshall (talk) 15:34, 28 January 2020 (UTC)