Subject: Definition of "first-thingy"

From: Elias Mårtenson <[email-masked]>
Date: Thu, 20 Feb 2020 22:39:10 +0800

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