[racket] TRing Places Issue Resolved
On Wed, Nov 7, 2012 at 11:55 AM, Ray Racine <ray.racine at gmail.com> wrote:
>
> Appears the place top level lifting macro and the accompany use of the
> let-values misplaces (pun intended) the type annotation (ch : Place) in the
> let-values bindings, causing the unknown place? identifier error. But it is
> an unknown identifier in let bindings and _not_ some sort of failure to
> correctly import 'place?' into TR.
I've finally figured out what was going on here -- when the type
annotation on `ch` is used, Typed Racket figures out that the lifted
procedure has input type `Place`, meaning that a contract like
`(place? . -> . any)` is generated. Unfortunately, there was a bug
where `place?` was referenced in a helper file for constructing that
contract without a proper `(require (for-template ...))`. That's what
led to the error, and the confusion here.
I'll push a fix shortly.
--
sam th
samth at ccs.neu.edu