Thanks for the info. It makes sense that if I drop down to the lower level of 
struct definition that I would need to do the same with contracts.


> On Apr 15, 2015, at 6:07 PM, Robby Findler <[email protected]> 
> wrote:
> 
> I think you have to drop to the lower-level and work directly with the
> 'contract' form. The implementation of contract-out might provide some
> inspiration. But the contract system actually exports the identifier
> as syntax in order to be able to pick up the name of the party that is
> importing the function.
> 
> Sorry I don't have a better answer for you.
> 
> Robby
> 
> 
>> On Wed, Apr 15, 2015 at 1:29 PM, Jon Zeppieri <[email protected]> wrote:
>> I'm trying to provide a struct, the struct type of which uses
>> prop:procedure and prop:match-expander, and I'd like the procedure to
>> have a contract.
>> 
>> If I simply (provide <identifier>) then both the procedure binding and
>> transformer binding are exported, but if I (provide/contract
>> [<identifier> <contract>]), then only the procedure is exported, and I
>> can't separately export the transformer binding with the same name.
>> 
>> Presumably, I could attach a contract to the procedure prior to
>> exporting it -- I could, for example, define it using define/contract
>> -- but then the wrong module would be blamed.
>> 
>> What's the best way to handle this case?
>> 
>> -Jon
>> 
>> --
>> 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.

Reply via email to