Related to my previous post [ https://groups.google.com/g/racket-users/c/OqyqDFxwhf0], I have several cases where I have this kind of pattern:
V1: #lang racket (provide +) V2: #lang racket (provide [rename-out (my-+ +)]) (define my-+ …) Each variant provides some/all primitives directly from the module's lang, while a sibling variant changes their behavior. Since there are a lot of names, it gets tiresome to remember which things have and haven't been exported. Duplicates are of course caught statically, but missing names are not "caught" at all at module definition time. It'd be nice to be able to write, say a block like #lang racket (provide-if-not-defined +) at the top of BOTH files. In V1, this turns into provide; in V2 I'd still write the rename-out, but would only need to do this for the (usually) small number of operations that I am overriding. Having a common block at the top of each variant would ensure that the variants provide the same language. Shriram -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/46a4bed5-1839-4482-b8f2-7b54076fbb7dn%40googlegroups.com.