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