On Sun, Apr 28, 2019 at 10:46 AM Erik Assum wrote:
> I see, and acknowledge that eg the go-macro core.async is a wonderful
> piece of work, and that it’s really cool that it could be done in a
> library. But as an application programmer, I really don’t care if it’s a
> macro or a language feature
We owe much of Clojure's utility and innovation to a *community* of macro
writers. core.match, core.logic, clojure.test, Tellman's Manifold... You
are in deep trouble if you "brute-force" your way around what Manifold
does, by melding the complexity into your application space. And those
lib
I like Eric Normand's take here:
https://lispcast.com/magical-leverage-languages/
On Sun, Apr 28, 2019 at 9:46 AM wrote:
> I agree Erik, macros and the dsl idea are edge cases imho. Having written
> clojure for 4 years now (and with 30 as a professional developer) I’ve only
> written a few macro
I agree Erik, macros and the dsl idea are edge cases imho. Having written
clojure for 4 years now (and with 30 as a professional developer) I’ve only
written a few macros and they were for very specific use cases where I wanted
to support something specific.
I think they are over-hyped feature
Macros allow for experimentation in language design, not only by third
parties, but also by the developers of the language themselves. If you have
an idea for some new piece of syntax, it can be tried out in a library
first.
Macros are also useful for precompiling code for performance. If you have