On 4/20/12 4:06 PM, Namespace wrote:
The sense of pure functions isn't clear to me.
What is the advantage of pure functions / methods?
I inform the compiler with "const" that this method does not change the
current object, and therefore he can optimize (at least in C++) this
method. How and what optimized the compiler if i have "pure" or "const
pure" functions / methods?

As far as I know pure functions always return the same results given the same arguments. They also don't cause any side effect.

http://en.wikipedia.org/wiki/Pure_function

Many invocations of a pure function can be executed in parallel because they don't have side effects. There's also a chance of caching their result since it only depends on the value of their arguments (though I doubt what rule the compiler can use to decide to do it).

I don't think any of the following benefits are implemented in DMD.

Reply via email to