Instead of "static type advocate", maybe we should call them "metaprogramming deniers". Then there are the metaprogramming deniers who don't even advocate static types. Morons.
-
Show this thread
-
I’ve been thinking about this. Except for code instrumentation and trivial boilerplate generation I’ve never missed macros. Can you come up with a problem that macros solve that isn’t solved by (maybe free monadic, but also plain old) ADT DSLs + interpreters?
2 replies 0 retweets 0 likes -
Replying to @pkamenarsky @Ngnghm
Sure you can solve anything with ADT DSLs. But why does your language then have e.g. IF and LET as built-ins instead of defining them as DSLs? The Lisp lifestyle is about granting every programmer (almost) the same rights as the language designer. It's a shift of perspective.
2 replies 3 retweets 5 likes -
You can always say "it's just trivial boilerplate" but it adds up. Give a Lisp programmer just GOTO and they can build IF, WHILE, FOR. Trivial? Sure. But once that level is defined, Lispers can define the next level of boilerplate on the previous one.
2 replies 2 retweets 3 likes -
I fully understand the philosophical underpinninga of Lisps, my question was more of a practical nature. Macros are just too powerful, and GOTO is a great example. Yes, GOTO is more powerful than a loop, but that doesn’t mean it’s justified, in most cases.
3 replies 0 retweets 0 likes
In practice, inventing your own interpreter means having to reinvent all the tooling (usually poorly), or do without (though GADTs let you reuse a small fragment of the type support). Macros means your languages automatically enjoy all the tooling from the underlying language.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!