---------- Forwarded message --------- From: Elias Mårtenson <loke...@gmail.com> Date: Thu, 20 Feb 2020, 22:39 Subject: Definition of "first-thingy" To: <bug-gnu-em...@gnu.org>
One benefit of experimenting with low-level PAL behaviours is that I've spent much more time lately reading the ISO spec. I was reading the specification for ↑ (first), which says that it returns "first-thingy" of the argument. Now, the definitions section defines "first-thingy" as such: *First-thingy in A : An opration that for A , an array, returns an array B , defined as follows:If A is empty, set B1 to the typical-element of A .Otherwise, set B1 to the first-item of the ravel-list of A .If B1 is a number or a character, set B to an array, whose ravel-list contains the singleitem B1 , and whose shape-list is empty.Otherwise, set B to B1 .* My impression from reading this is that this is not consistent with GNU APL's behaviour in the following case: ↑9 GNU APL returns the number 9 in this case, while it would seem it's supposed to return a 9 wrapped in a zero-dimensional array: ⊂9 Now, GNU APL evaluates ⊂9 to the number 9 as well, which I also feel isn't consistent. Am I misreading the spec, or is there an inconsistency here? Regards, Elias