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

Re: Scheme mistakes (was Re: nil)



   >    Is this really true? What if `f' causes an error? Mightn't we need the
   >    old continuation to handle it correctly?
   > 
   > In pure R5RS Scheme I see no reason that old continuation can't be
   > discarded.

   But also, in pure R5RS Scheme I see no reason to program.

Sorry to appear humorless, but I can't tell if this is just a joke, or if
you're disagreeing with what I wrote.

Sure, nobody programs in pure R5RS Scheme.  Nonetheless what R5RS says
-does- matter.  All I'm saying is that nothing in R5RS appears to me to
require a hypothetical `throw' keyword to retain that old continuation.
Adding `throw' to R5RS would present the language designers with a choice
-- they could:

 1.  Require that `throw' discard the old continuation before evaluating
     the first operand.

 2.  Require that `throw' retain the old continuation until the first
     operand is evaluated.

 3.  State that implementations may discard the continuation at any point
     in between those times.

Any of these options appear to me to be a consistent way to extend R5RS
Scheme.  All I was trying to claim in my remark above is that, in
particular, #1 would be a consistent extension.

- Alan