On Friday, 28 July 2017 at 17:18:35 UTC, H. S. Teoh wrote:

But having a standardized IR that's available at the language level gives you much, much, more possibilities than merely metaclasses. You would be able to define foreach loops for ranges without baked-in compiler support, for example. And foreach loops for other kinds of aggregates, and you wouldn't even need opApply.

One significant problem with this is that, you loose alot of static introspection and reasoning capabilities.

As you need not only understand the core concepts of the language but also the specific dialect written by user-code.

Also while it may look like a reduction of complexity we compiler guys have to me even more on our guard if the users can manipulate asts too freely.

And it is very easy to write spaghetti-code which looks totally harmless. We are throwing the programmers intuition away if we go the "make-a-lanugauge" road.

Reply via email to