[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiple values not for R4RS



>> From: Morris J. Katz <katz@Polya.Stanford.EDU>
...
>> If it is possible, I would be interested in what about my wording you
>> find troubling.  (I realize that often bad feelings about wordings are
>> based on gut level feelings that are hard to explain.)  Given some
>> input, I would be happy to work on refining my prose.

Sorry about that.  I did not mean to be so gruff in my reply.  

>> During the evaluation of a 'with-values' form, the 'generator' thunk
>> is first thawed (evaluated to yield some values) and then the 'receiver' is
>> applied to the values returned by 'generator'.  This means that a
>> continuation captured in 'generator' includes the application of
>> 'receiver' to the values returned by 'generator'.  It also includes the
>> return from 'with-values' of the value(s) returned by 'receiver'.

The problem I see with this text is that the continuation captured in
'generator' may not be the one your text suggests.  Consider

(baby-doe
  (lambda ()
     (let ((x (call-with-current-continuation
		(lambda (c) ...))))
	....))
  ...) 

One other point (a small nit I admit), is I prefer the phrase "the
'generator' is called to yield some values" to "the 'generator' is
first thawed (evaluated to yield some values)" but this is what
editors are for.