So (obviously) more than six months ago, I asked Why is the macro systems in lisps considered so valuable. This is now closed for comments, but I’d like to link to https://www.youtube.com/watch?v=43XaZEn2aLc&feature=youtu.be which is a PWL talk on expressiveness.
So the talk is basically about if you add a feature f to a language l, will it be more expressive. And it seems like if you can have the feature by rewriting it locally and still be in language l, the feature does not add expressive powers to the language. In Clojure, examples of this would be adding
when when you already have
when will let you express anything you cannot express already using if. And this holds for most of the simpler macro-systems.
So my speculation is that the lisp macro system might be more powerful than this and that it actually is able to add new expressive features to the language, ie features which are not just local rewrites.
Anyways, enough ramblings, go watch the talk. it’s super interesting.