Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

1) I genuinely prefer variadic prefix notation, even in the absence of homoiconicity.

2) Restricted does not mean "banned". It means that they need to be justified and subject to expert scrutiny.

3) Even if you never write a macro of your own, you're a beneficiary of the syntactic sugar and can leverage macroexpand to demystify otherwise opaque language constructs.



Pet peeve, sorry, but it irritates me that Clojure people act like this guilty-until-proven-innocent policy about macros is somehow original. It has been standard advice for decades. Chapter 8 of On Lisp (1994) is called "When to Use Macros" and its first section is "When Nothing Else Will Do":

By default we should use functions: it is inelegant to use a macro where a function would do. We should use macros only when they bring us some specific advantage.

I understand from a language marketing point of view why someone might say, "Oh, those other Lisps made wild and crazy use of macros. It was really bad! But we are enlightened and have restricted them." But it's a bogus way of playing to a bogus criticism. It would be better to just say that there's a tradition of how to use macros correctly.


Please name a language you use so that whenever you and I disagree I'll be able to cite the "Blub people".


Not sure what your point is? I'd be happy to be wrong here.


You paint "Clojure people" - I'm one - with a pretty broad brush. If one of us has said something you disagree with, then please cite it along with your rebuttal.

It is unlikely that you have an informed opinion of "Clojure people" on the basis of a few posts that give you heartburn.


Uh, I think maybe I'd better just quit while I'm behind.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: