Unspecified result
Lassi Kortela
(07 Nov 2022 12:01 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 13:01 UTC)
|
Re: Unspecified result
Lassi Kortela
(07 Nov 2022 13:18 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 13:31 UTC)
|
Re: Unspecified result
Lassi Kortela
(07 Nov 2022 13:47 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 13:56 UTC)
|
Re: Unspecified result
Lassi Kortela
(07 Nov 2022 14:14 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 14:20 UTC)
|
Re: Unspecified result Lassi Kortela (07 Nov 2022 14:45 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 14:50 UTC)
|
Re: Unspecified result
John Cowan
(07 Nov 2022 14:45 UTC)
|
Re: Unspecified result
Marc Nieper-Wißkirchen
(07 Nov 2022 14:53 UTC)
|
> R6RS allows zero or more than one value. That's good. > Additions to R[67]RS outside the standard libraries can enforce the > "unspecified = zero values" convention without problems with backward > compatibility. Can, but probably should not since there are so many SRFIs and other libraries written by dozens of people. Many of whom are out of reach. A macro would be a smooth way to let individual Scheme implementations solve this problem for themselves. With enough uptake, perhaps most of them will converge on a solution one day, which can then be enshrined in RnRS. >> If there's a standard expression (unspecified) or (void), it could >> return zero values in some implementations. > That would be a good macro for writing code that has to work with > several implementations and standards; but it shouldn't be in a > standard itself. We probably can't excise "unspecified" from RnRS at this point since there are too many implementations. But kudos to anyone who tries. > Coercing zero values into some default value is precisely what we > don't want because it covers bugs. It's a typing error and the > implementation should not be silent about it. Probably not a type error. Values are received into locations, which are dynamically typed in Scheme. "Wrong number of locations" is different from "wrong type of value in a location", no? Intuitively, tuples have a similar nature to multiple values, but tuples are objects. I'm starting to lean into the view that Lisp-style multiple values are a mistake.