> On May 4, 2016, at 2:36 PM, Sam Tobin-Hochstadt <[email protected]> wrote: > > On Wed, May 4, 2016 at 5:30 PM, 'John Clements' via Racket Users > <[email protected]> wrote: >> >>> 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. > > But don't those programs break now, with the error that led you to > originally start this discussion?
No, because the error-handling code falls back to simply re-raising the exception as it exists. This is why my students still got match failures, but they didn’t get the source text that caused them. 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.

