Le vendredi 5 mai 2017 02:30:50 UTC+2, Ben Greenman a écrit : > With a `define/contract-out` macro? > > But I'd rather not have a macro like this in the contract library. > I prefer reading code with all the "provide" statements at the top of the > file.
Since provide transformers are executed in two passes (the second one being after the expansion of the rest of the file, IIRC), I thought about writing define/contract-out so that it saves the contract, but does not implicitly provide the identifier. That way, if the identifier is provided, the "saved" contract is attached to it. Types in Typed Racket work a bit like this: the type is defined or inferred alongside the function definition, but is also provided. The implementation mechanism is a bit more complex though (it relies on a submodule to store the types). -- 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.