I'm writing some Typed Racket code that works with syntax objects, which currently can't be converted to contracts since syntax chaperones aren't a thing. As a result, if I want untyped racket users to use my library, I have to `unsafe-provide` functions in my module.
However, all of my procedures are simple enough that if I wrapped them in contracts that checked the `syntax?` predicate they ought to work fine in most cases. This might not be sound from a TR perspective, but it's a huge step up from `unsafe-provide`. Is there a way I can somehow get something like this example to work? #lang typed/racket (require typed/racket/unsafe) (unsafe-provide (contract-out [foo (-> string? string?)])) (: foo (-> String String)) (define (foo s) s) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.