[e-lang] Fixing exceptions,
try #3 (was Re: TextWriter/__printOn ...)
Kevin Reid
kpreid at attglobal.net
Wed Jun 1 19:10:17 EDT 2005
On May 31, 2005, at 21:53, Mark Miller wrote:
> Kevin Reid wrote:
>> The primitive exception/ejection mechanisms should be essentially
>> the same mostly-trivial changes for adding sealing that I already
>> have in E-on-CL, except that 'throw.free()' is renamed and gets an
>> argument guard such that it accepts only magic ejectoid-boxes.
>
> I don't understand throw.free. For example, the following from your
> exception.updoc:
>
>> An exception may be explicitly thrown unsealed. This is used for
>> mechanisms
>> using custom sealers (such as the eventual pseudo-ejectors shown
>> below).
>> ? try { throw.free("eek") } catch p { print(p); throw(p) }
>> # stdout: eek
>> # problem: eek
>
> seems to demonstrate that throw.free leaves open the leakage bug
> you've been working so hard to plug. I must be misunderstanding
> something.
Somewhat: the system still prevents *accidental* leakage, while
allowing deliberate leakage. Thus it's an improvement, but still not
Good.
To rephrase the above, I propose to remove throw.free in favor of a
method which allows throwing Magic Bit-Hiding Ejectoid SealedBoxes and
nothing else.
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list