On Wed, Nov 7, 2012 at 11:55 AM, Ray Racine <ray.rac...@gmail.com> wrote: > > As clearly explained in the Racket Doc for 'place', given (place ch body0 > ...) the bodies are lifted to the module top level. As generated binding, > lift.0 is lifted to the top level there is no Type declaration for TR to > see, so the single 'ch' arg of the lifted wrapping lambda is of type Any. > Hence, the necessity of the added (when (place? ch) ...).
The better way to fix this would be to annotate `ch` with the type `Place`, like this: (place #{ch : Place} ...) Annotating binding positions in macros like this is why the #{} syntax exists. -- sam th sa...@ccs.neu.edu ____________________ Racket Users list: http://lists.racket-lang.org/users