opMixin or mixin function templates with convenience operator?
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Fri Dec 13 16:44:17 UTC 2019
On Friday, 13 December 2019 at 16:07:01 UTC, Paul Backus wrote:
> You'll notice that there's no direct manipulation of the
> AST--everything is done by substitution.
Yes, and there are many ways to do substitution.
Full term rewriting is extremely powerful, to the extent that it
is used for formal proofs and verifiable programming. That is
going a bit far.
On the other end of the spectrum you have very limited pattern
matching languages like XSLT that compensate for the simplicity
So it is possible that something like XSLT (substitution) with
Pattern matching transforms with some CTFE mixed in can provide
elegant AST manipulation. In my experience it leads to code that
is relatively easy to read and understand and feels familiar for
people with FP background.
More information about the Digitalmars-d