On Tuesday, 15 March 2016 at 19:59:01 UTC, deadalnix wrote:
On Tuesday, 15 March 2016 at 11:47:20 UTC, ZombineDev wrote:
Instead I think that if we improve D's existing introspection
capabilities and expose the compiler as a library at
compile-time, we will have a much powerful system than any
potential macro system, for a fraction of the complexity.
These videos are what changed my mind:
1. https://www.youtube.com/watch?v=OHZwYYW9koI
2. https://www.youtube.com/watch?v=59lKAlb6cRg
(Jonathan Blow's programming language for games)
It is like one of these simili good idea that everybody tries
and everybody regrets it. You DON'T want to expose your
compiler implementation to the language.
Jonathan Blow is certainly a talented person, but he has a very
grave NIH syndrome and various blind spot in language design.
So, to give a concrete example, because my critic sounds free and
mean.
https://youtu.be/59lKAlb6cRg?t=28m24s
He quote C++ and D while presenting the defers feature. Turns out
this feature is the same thing as scope(exit) and is planned to
be added to C++ at some point.
The more general subject of the video is basically AOP. For the
most part, is is a clumsy implementation of something like
lombok: https://projectlombok.org/
In addition it exposes the compiler, which will create
maintenance problems in the future.