Hi Ben,

you wrote (snip):

For contracts, though, (provide (contract-out ...)) gives better error 
> messages than define/contract. 
>

In what sense is this the case, and where can I read more about the 
differences, as well as how to improve errors of contracts? Is it related 
to this part of the documentation of `contract-out` 
(https://docs.racket-lang.org/reference/attaching-contracts-to-values.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._contract-out%29%29)
 
- which I admittedly don't understand:

"The implementation of contract-out 
<https://docs.racket-lang.org/reference/attaching-contracts-to-values.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._contract-out%29%29>
 
uses syntax-property 
<https://docs.racket-lang.org/reference/stxprops.html#%28def._%28%28quote._~23~25kernel%29._syntax-property%29%29>
 
to attach properties to the code it generates that records the syntax of 
the contracts in the fully expanded program. Specifically, the symbol '
provide/contract-original-contract is bound to vectors of two elements, the 
exported identifier and a syntax object for the expression that produces 
the contract controlling the export."

Cheers,
Marc

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/a046c971-8207-4486-bfb3-723a5d7d0446%40googlegroups.com.

Reply via email to