[racket-dev] [plt] Push #25487: master branch updated

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Oct 17 12:14:57 EDT 2012

At Tue, 16 Oct 2012 17:42:06 -0400, Asumu Takikawa wrote:
> On 2012-10-16 15:27:46 -0400, mflatt at racket-lang.org wrote:
> > 843c722 Matthew Flatt <mflatt at racket-lang.org> 2012-10-16 15:10
> > :
> > | add an argument to `{chaperone,impersonate}-prompt-tag'
> > |
> > | The new argument gets to filter results that come from a
> > | non-composable continuation that replaces one delimited
> > | by a prompt using the chaperoned/impersonated prompt tag.
> Thanks. One thing I noticed is that I don't think this is quite enough
> to build contracts that provide full protection for `call/cc`.

Ah, right. The part that I implemented might be useful for using a
prompt tag that is imported with a contract into a typed context, but
but one that is exported with a contract from a typed context.

I've implemented the other direction --- one more argument to
`{chaperone,interpose}-prompt-tag' --- and I'll push that soon.

It turns out that there was also a problem with multiple uses of a
continuation that has a prompt, where the different uses include
different uses of the prompt (some aborting to the prompt and some
replacing the delimited continuation with a non-composable one). That
also will be fixed.

Posted on the dev mailing list.