[racket-dev] Motivation for handle-evt/wrap-evt contracts

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Jul 25 14:23:27 EDT 2013

Probably we just didn't consider that! It does seem better.


On Thu, Jul 25, 2013 at 1:06 PM, Asumu Takikawa <asumu at ccs.neu.edu> wrote:

> On 2013-07-25 12:55:25 -0500, Robby Findler wrote:
> >    I think the issue is that the tail guarantee can't be met if there
> are two
> >    handles (one won't be in tail position wrt to the sync).
> I understand. I guess what I'm asking is that there seem to be two
> reasonable choices for the semantics here:
>   (1) Do not allow an event that is created as a handle event to
>       ever have two handlers.
>   (2) If an event ever ends up having two handlers, that's okay, but
>       it will not respond #t to `handle-evt?`.
> My question boils down to "why semantics (1) and not (2)?"
> (though it doesn't matter much if we just choose not to reflect
>  this in the type system, but that means you will sometimes
>  get a contract error saying "expected (not/c handle-evt?) but ...")
> Cheers,
> Asumu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20130725/449a7ced/attachment-0001.html>

Posted on the dev mailing list.