> On Jun 18, 2017, at 8:09 AM, Matthew Flatt <[email protected]> wrote: > > At Sun, 18 Jun 2017 06:47:24 -0400, Tony Garnock-Jones wrote: >> First, it seems like since the whole point of require is to pollute the >> surrounding namespace, an "unhygienic" require would be better. > > Generally, I don't see the difference between `require` and `define` in > terms of the intent to bind identifiers. Many parts of Racket rely on > `require` binding being hygienic in the same way as definitions. > > But... > >> My past experiences of this kind of problem have all been related to >> #lang and module and require-level binding, come to think of it. It >> seems a murky area. Perhaps other kinds of hygiene-preserving techniques >> than those that work well for expressions are needed for these areas? > > ... I agree that hygiene is not always a convenient default for module > languages, which frequently want to introduce non-hygienic bindings. I > don't know how to make this better, but it's something to think about.
Perhaps the default setting needs a switch so it can be flipped for some contexts. The module language seems to be the first serious feature that could benefit from such a thing but I could imagine that classes (or extensions of class.rkt) may benefit from it too. — Matthias -- 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.

