Does a Interpretation-Engine fit in phobos ?

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 30 10:55:39 PDT 2016


On Thursday, 30 June 2016 at 15:53:19 UTC, ZombineDev wrote:
> Also almost every dynamic language has some sort of eval 
> function can be used to evaluate arbitrary code at run-time.

And almost every language guideline suggest to never use it. When 
people have to use it, it usually ends in a library/language 
extension making it obsolete...

> LOL, I have never heard about a user complaining that a product 
> has too many features, as long as they don't get in the way.

Really? It is quite common to complain about standard libraries 
being stuck with obsolete features. Which is quite confusing to 
both beginners and intermediate programmers.

> data base queries, etc.) Such functionality has been a huge 
> success for .NET. E.g. they enabled some advanced LINQ features 
> which are used under the hood of almost every .NET project.

In Java and C#, the VM is the most stable language. In D/C++/C 
the IR is completely implementation defined.

A VM does not belong in a standard library. It is going to suck. 
If it doesn't suck today, then it will most certainly suck 
tomorrow or the day after.

> packages. For example, that would allow linters to leverage the 
> compiler lexer and parser instead of implementing their own, 
> which often can't handle all language features.

The standard library is for abstracting system specific aspects 
that libraries need to deal with. The most important aspect of a 
standard library is for writing libraries with a strong focus on 
consistency, not compilers or even applications. A standard 
library should have very high quality and performance 
requirements.

The D standard library is already too bloated to reach a high 
quality level and probably also suffer in the performance 
department.

Keep auxiliary stuff out, or D will never reach a competitive 
level.



More information about the Digitalmars-d mailing list