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

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

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.


> On Thu, Aug 4, 2011 at 2:30 PM, Ismael Figueroa Palet
> <ifigueroap at gmail.com> wrote:
> > Greetings,
> >
> > Can someone please point me to documentation on how to create a language
> > module so it can be used with #lang? I copied some module and hacked it
> > until it worked, but I'm curious to know more details.
> >
> > Also, I tried to modify blame assignment (specifically I want to modify
> > raise-blame-error and ideally not change anything else) but the only way
> I
> > found was to copy the contract module and hack it. Since I copied
> > internal/unstable APIs my module doesn't work with newer versions of
> > Rackets, any ideas how to do this in a more future-compatible way??
> >
> > Thanks in advance
> >
> > --
> > Ismael
> >
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://lists.racket-lang.org/listinfo/users
> >

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

Posted on the users mailing list.