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

Reply via email to