Re: Amazing
deSitter: It's a very subtle and difficult point.
Its even more subtle than that. Its not merely empty vs non-empty, but APL doesn't distinguish between a single number and an array of length one.* In other words, the number 1 can be treated as a number, or as an array of a single element.
Now this is makes for some convient shortcuts in programming (much like returning a zero when unboxing a null pointer), but I don't think it is mathematically very accurate. In Math**, a set of things and a thing are not the same thing***.
Footnotes:
* Assuming I correctly remember what little APL I ever knew.
** Assuming I correctly remember what little set theory I ever knew.
*** Do I get extra points for using the word thing(s) three times in one sentence?
--
-- Jim Weirich jweirich@one.net [link|http://w3.one.net/~jweirich|http://w3.one.net/~jweirich]
---------------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)