4 ms·
No, the article is correct. Hygienic macros give you strictly more information to work with, enabling them to be more expressive. It's possible to implement unh
by samth 12y ago
No, the article is correct. Hygienic macros give you strictly more information to work with, enabling them to be more expressive. It's possible to implement unhygienic macros, either at an individual macro level or a whole new macro syso, using Racket's macro system.
- wes-exp 12y agoI'm thinking you're right in the theoretical sense, but I'm right in the practical sense. Every time I've looked at hygienic macro systems, it just seems like now I'm jumping through extra hoops to overcome a more restrictive way of doing things. Is that extra information you cite typically useful for anything besides safety? Can you give an example?
- NotAtWork 12y agoMost of my development time is spent on correctness, safety, and refactorings. If the extra information helps those at the cost of not one of those, it's almost always the right choice for me to use.
- samth 12y agoYes, the information is useful for lots of things. For example, tracking the binding information in the data is how DrRacket manages renaming, how Scribble (the Racket docs tool) hyperlinks every identifier in every example to the correct documentation for the identifier, how Typed Racket tracks type metadata for identifiers, ...