Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] "Go Considered Harmful"



On Thu, 3 Sep 2020 at 14:23, Stephen J. Turnbull <turnbull.stephen.fw@example.com> wrote:
Josh Glover writes:

 > I really prefer Scheme over Common LISP, and my favourite Scheme is
 > Racket. Is that where you're finding your hygenic macros?

Hygienic macros are a Scheme thing.  Basically,
traditional macros introduce a form of unmarked dynamic scope (hi
Curt!)  Hygienic macros are supposed to prevent that by lexically
scoping certain variables introduced by the macro.

Yup, I know what they are. I haven't really been bitten by this in Clojure (because I don't write many macros, probably), and I quite often *want* that dynamic scoping, because my macros are basically delaying code evaluation. Clojure has an auto-gensym mechanism that's good enough for rudimentary hygiene. I've listened to a few podcast episodes with Matthias Felleisen explaining Racket's macro system, and it sounds both cool and more complicated than I need. ;)

-- 
Cheers,
Josh

Home | Main Index | Thread Index