[racket] Why does sync require at least one event?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Jul 18 01:42:53 EDT 2014

That makes sense to me. I'll look into changing `sync`.

Thanks!

At Thu, 17 Jul 2014 14:28:54 -0400, Jonathan Schuster wrote:
> I'm writing a macro that expands into a use of sync on a number of
> async-channels. In the context of the macro, it makes sense to have it wait
> on zero channels - it means effectively the same thing as "go to sleep
> forever", or (sync never-evt).
> 
> However, sync requires it be passed at least one event. I can get around
> this issue by just adding a never-evt to the argument list, but what's the
> reason for the current behavior? It seems silly to disallow (sync) when
> there's a seemingly obvious default behavior.


Posted on the users mailing list.