comments
Marc Feeley
(04 May 2020 21:21 UTC)
|
Re: comments
John Cowan
(04 May 2020 21:23 UTC)
|
Re: comments
Marc Feeley
(04 May 2020 21:33 UTC)
|
Re: comments
John Cowan
(04 May 2020 21:59 UTC)
|
Re: comments
Marc Feeley
(05 May 2020 00:29 UTC)
|
Re: comments
Marc Nieper-Wißkirchen
(05 May 2020 06:35 UTC)
|
Re: comments
Marc Nieper-Wißkirchen
(05 May 2020 08:09 UTC)
|
Re: comments
Marc Nieper-Wißkirchen
(05 May 2020 06:21 UTC)
|
Re: comments Marc Nieper-Wißkirchen (17 Aug 2020 14:47 UTC)
|
Re: comments
Marc Nieper-Wißkirchen
(17 Aug 2020 14:48 UTC)
|
Re: comments Marc Nieper-WiÃkirchen 17 Aug 2020 14:47 UTC
Dear Marc, I am currently finishing SRFI 195 and I have thought again about your proposal to allow (box ...) to be the same as (values ...). What would be the value of the following expression? (let-values ((x (box 1 2 3))) x) Under your proposal, replacing "box" with "values", the value would be the list (1 2 3). In the original proposal of this SRFI (and in Schemes that do not or cannot equate "box" and "values"), the value would be a single-element list. Furthermore, under your proposal, it is not clear to me what the value of (let-values ((x (box 1))) x) would be? By the way you seem to have implemented SRFI 111 boxes, this would be a single-element list containing a proper box object and not just the value 1. But this would be inconsistent to the value of the first expression. Am Mo., 4. Mai 2020 um 23:21 Uhr schrieb Marc Feeley <xxxxxx@iro.umontreal.ca>: > > It should be specified that it is an error to call set-box! with a number of values that is different than the number of values in the box being set. In other words, set-box! does not allocate memory. > > Your extension to boxes reminds me of how multiple values are implemented in Gambit, with a “values object” which is in effect SRFI 195 boxes, in the sense that (box A B C) is Gambit’s (values A B C). For that reason I would like your SRFI to specify that it is allowed, but not required, that > > (box X ...) is equivalent to (values X ...) > (unbox b) is equivalent to b > > Marc > >