> On May 4, 2016, at 2:24 PM, Eli Barzilay <[email protected]> wrote:
> 
> On Wed, May 4, 2016 at 5:12 PM, John Clements <[email protected]> 
> wrote:
>> 
>> So, I’d say this is basically an ergonomics issue. If we change this
>> code to raise a new exception, then it might potentially confuse a
>> handin-server-checker-writer, who expects (e.g.) to see a
>> ‘exn:fail:contract:variable?’ but actually gets back a
>> ‘exn:fail:handin-server?’.  IIUC, clear documentation could resolve
>> this.
> 
> I have no opinion on breaking backward compatibility on expectations of
> user-code (I might have some but I can adjust), but things like
> `!defined`, `!bound`, and `!syntax` should definitely continue working
> -- and it seems worse to fix them by looking at the exception message.
> 
> Another option to fix it would be to make it keep doing what it does now
> if the exceptions are transparent, and switch to some wrapper exception
> otherwise.  This way you're only breaking hypothetical code that expects
> exceptions that make it fail now anyway, IOW -- there's no breaking...
> (And also document the fact that not all of the builtin exceptions are
> transparent, unless it's already done somewhere.)

IIUC, it sounds like both you and Sam are suggesting the same thing. I think 
this *could* cause backward incompatibility for the *probably empty* set of 
handin checkers that use tests for non-transparent exceptions, but I’m happy to 
make this change if it makes sense to you guys.

John



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to