Thanks: I've pushed a fix. Robby
On Tue, Aug 9, 2016 at 2:38 PM, Brian LaChance <[email protected]> wrote: > I'm trying to identify the transformer definitions that > provide/contract and contract-out generate for the provided bindings. > The last paragraph of the docs for contract-out says that > 'provide/contract-original-contract is placed on "code it generates." > Oddly enough, though, contract-out's expansion does not appear to have > anything with this property. This property does appear in the > expansion of provide/contract. > > I tried looking through the contract library's source to see what the > issue is but had no luck. The two contract forms appear to go through > a common code path that attaches the syntax property, but I'm not able > to figure out what's causing it not to appear in contract-out's > expansion. > > In the program below, the first module's expansion has three forms > with this property (one of which is for the transformer definition) > while the second module's expansion has none. > > Does anyone know why one form adds the property but the other one > doesn't appear to? If making the two consistent isn't possible, any > thoughts on how else I could go about identifying the transformer > definition from contract-out? > > Thanks! > > -Brian > > #lang racket > (define (find-p/c-prop form) > (syntax-case form () > [_ > (syntax-property form 'provide/contract-original-contract) > (list form)] > [(subs ...) > (flatten (map find-p/c-prop (syntax->list #'(subs ...))))] > [_ > empty])) > > (find-p/c-prop > (expand > #'(module test racket > (provide/contract > [x (>/c 5)]) > (define x 6)))) > > (find-p/c-prop > (expand > #'(module test racket > (provide > (contract-out > [x (>/c 5)])) > (define x 6)))) > > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

