Clay language

bearophile bearophileHUGS at lycos.com
Mon Dec 27 13:48:15 PST 2010


Walter:

>>> Additional optimizations should not be prevented, however.

> I.e. the same situation as today.

It's a different situation. See this part:

> It should be possible to specify
> that one or more of these optimizations is required, and have the compiler
> raise an error when they cannot be applied for some reason.<

The idea is to allow the code (I presume with the help of some annotations) to require certain optimizations (some are listed here, and they are more complex than replacing a*4 with a<<2:https://github.com/jckarter/clay/wiki/Guaranteed-optimizations ), if the compiler doesn't perform a specific optimization (that I presume an annotation asks for), a compilation error is raised, and the programmer is forced to change the code, removing the annotation or doing something else. This also means that a conforming Clay compiler must perform a certain number of not simple optimizations (further optimizations are accepted. So the point is for a specific piece of code to have a common level of optimization).

I don't know if all this is possible (this meta-feature is in the wish list of Clay), but if it's doable then it sounds like a very good thing to add to D3.

Bye,
bearophile


More information about the Digitalmars-d mailing list