[racket] Is it possible to use contract-profile in Typed Racket?

From: Greg Hendershott (greghendershott at gmail.com)
Date: Mon Mar 3 20:49:21 EST 2014

p.s. Although I mistakenly used `...` in those examples -- too much
time writing macros today, I guess -- it's the same result when I use
the correct `*`: e.g. (Any Any * -> Any).

On Mon, Mar 3, 2014 at 8:26 PM, Greg Hendershott
<greghendershott at gmail.com> wrote:
> Is it possible to use contract-profile in Typed Racket?
>
>     #lang typed/racket
>     (define (x)
>       #t)
>     (require contract-profile)
>     (contract-profile (x))
>
> Gives:
>
>     ; Type Checker: Error in macro expansion -- insufficient type
> information to typecheck. please add more type annotations
>     ;   in: (contract-profile (x))
>
> Even though `contract-profile` is syntax not a function I tried:
>
>     (require/typed contract-profile [contract-profile (Any ... -> Any)])
>
> but that gives:
>
>     ; contract-profile: use does not match pattern: (contract-profile body ...)
>     ;   in: contract-profile
>
> And ditto for `(Any Any ... -> Any)` and `(Any -> Any)`, `(whatever -> Void)`.
>
> I also checked and there's no typed/contract-profile.
>
> ?
>
> Thanks.

Posted on the users mailing list.