Walter Bright:

* for over an array in D:
    foreach (it; results) ...

D is better here, because it doesn't introduce magically named variables.


* D does the check function thing using compile time function execution to check template arguments.

This is not nearly enough. I have written a lot about this.


* D also has full compile time function execution - it's a very heavily used feature. It's mainly used for metaprogramming, introspection, checking of template arguments, etc. Someone has written a ray tracer that runs at compile time in D. D's compile time execution doesn't go as far as running external functions in DLLs.

His "compile time execution" is different and probably better: the whole language is available because it uses an intermediate bytecode. This makes it more flexible and avoids the need of having essentially two different implementations of the language.


The ascii_map function will work, however.

The ASCII map example doesn't work in D because of reasons I have explained a lot in past posts.

Bye,
bearophile

Reply via email to