<div dir="ltr">PS: this distinction seems like something not worth reflecting in the type system.<div><br>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 25, 2013 at 12:55 PM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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).<span class="HOEnZb"><font color="#888888"><div>
<br></div><div>Robby</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Thu, Jul 25, 2013 at 12:48 PM, Asumu Takikawa <span dir="ltr"><<a href="mailto:asumu@ccs.neu.edu" target="_blank">asumu@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I had a question about `handle-evt` and synchronizable events in<br>
general. I was trying to understand the documentation and only have a<br>
partial idea of the motivation behind `handle-evt` and the contracts of<br>
`handle-evt` and `wrap-evt`.<br>
<br>
In particular, what is the motivation for disallowing objects that<br>
satisfy `handle-evt?` as an argument for `handle-evt` and `wrap-evt`?<br>
<br>
As far as I understand, `handle-evt` allows more efficient<br>
post-processing of a synchronization result because the handler is<br>
called in tail position. However, it doesn't seem necessary to disallow<br>
the addition of more handlers (with the caveat that the tail call<br>
guarantee will disappear if this happens).<br>
<br>
Am I missing something?<br>
<br>
Note: I'm asking because these restrictions in the contracts complicate<br>
the types that we need to assign in Typed Racket:<br>
<a href="https://github.com/plt/racket/pull/379" target="_blank">https://github.com/plt/racket/pull/379</a><br>
<br>
Cheers,<br>
Asumu<br>
_________________________<br>
Racket Developers list:<br>
<a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>