[racket] Creating a #lang language, and modifying contract system

From: Ismael Figueroa Palet (ifigueroap at gmail.com)
Date: Tue Aug 9 16:56:00 EDT 2011

2011/8/9 Robby Findler <robby at eecs.northwestern.edu>

> On Tue, Aug 9, 2011 at 3:01 PM, Ismael Figueroa Palet
> <ifigueroap at gmail.com> wrote:
> > 2011/8/4 Robby Findler <robby at eecs.northwestern.edu>
> >>
> >> The blame assignment stuff is wired pretty deep into the contract
> >> system. There isn't currently any way to change that aspect of the
> >> system without doing what you've done below.
> >>
> >> If you can say more about how/why you want to change it, tho, there
> >> maybe some extension to the current API that would work for you and
> >> that we'd be willing to maintain going forward.
> >
> > I defined a new-exn struct to represent exceptions and defined a raise
> macro
> > that wraps Racket's raise to throw a new-exn value. Also, I need to raise
> > the exception thrown by raise-blame-error inside a parameterize
> expression.
> > I want to access and modify a parameter that will be used to construct
> the
> > new-exn value.
> It sounds like you're maybe adding a field to the exn record? Can you
> say more about what that field is and how you compute its value? (Or
> if I'm just wrong about that?)

Yes, the end result I want is to tag the exn record with a value. That value
is stored in a parameter A. I want to make raise-blame-error to always raise
an exception tagged with A+1.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110809/a80ac4af/attachment.html>

Posted on the users mailing list.