Wikipedia purity example and discussion
Vladimir Panteleev
vladimir at thecybershadow.net
Sat Nov 6 04:49:20 PDT 2010
A while ago, someone added an example with pure functions to Wikipedia's D
article:
http://en.wikipedia.org/wiki/D_(programming_language)#Functional
Someone on the talk page asked why does the program compile despite that
mySum accesses a variable in its enclosing function:
http://en.wikipedia.org/wiki/Talk:D_(programming_language)#Purity_of_mySum_function_in_the_.22Functional.22_section_.281.1.4.29
I replied with:
> The code indeed compiles. I think that the idea is that nested functions
> have a hidden argument - a pointer to their enclosing scope (main's
> local variables). However, that doesn't explain why the code continues
> to compile when pivot is moved outside main(), or if you add a call to a
> non-pure function in mySum - these sound like compiler bugs.
I don't know much about purity, so I thought someone could shed some light
on this?
--
Best regards,
Vladimir mailto:vladimir at thecybershadow.net
More information about the Digitalmars-d
mailing list