- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 08 Dec 2020 10:41:59 +0000
- To: Michael Kay <mike@saxonica.com>
- Cc: public-xslt-40@w3.org
- Message-ID: <m2czzkwpe0.fsf@saxonica.com>
> Perhaps we shouldn't even allow non-global functions to be variadic. Seems like a reasonable constraint to me. > My thinking is it's needed for backwards compatibility, but it doesn't > need to be special-cased. If a call to F(a, b, c, d) with four > positional arguments would be legal then we can make F#4 return a > "virtual" non-variadic function that performs that call. I like that. >> I could write: >> >> f(1) ===> f(1, array {}) >> f(1, 3, 4, 5) ==> f(1, array { (3,4,5) }) >> f(1, array { (3,4,5) }) ===> f(1, array { array { (3,4,5) }}) >> f(1, $y=array { (3,4,5) }) ===> f(1, array { (3,4,5) }) >> >> Is that right? > > Yes; but the third call would be a type error, because you're > supplying an array of arrays where an array of integers is required. Yes, I wrote array(*) initially and then changed it for no good reason. > IIRC array{ (3,4,5) } is an array holding one member whose value is > the sequence (3,4,5)? But I need to check. I think you meant the array > [3,4,5]. Hmm. Okay. I thought (I think I’ve used it as) an array constructor, but I could be wrong. Be seeing you, norm -- Norm Tovey-Walsh Saxonica
Received on Tuesday, 8 December 2020 10:42:26 UTC