www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - It's not always nice to share

reply Walter Bright <newshound1 digitalmars.com> writes:
http://www.reddit.com/r/programming/comments/8m6p0/dobbs_code_talk_its_not_always_nice_to_share/
May 21 2009
parent reply "Tim Matthews" <tim.matthews7 gmail.com> writes:
On Fri, 22 May 2009 05:37:42 +1200, Walter Bright  
<newshound1 digitalmars.com> wrote:

 http://www.reddit.com/r/programming/comments/8m6p0/dobbs_code_talk_its_not_always_nice_to_share/

Should this change the way pure functions work. for example: module test; int i; //tls pure void foo(int arg) { i = arg; } void main() { foo(2); } Error: pure function 'foo' cannot access mutable static data 'i'
May 21 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Tim Matthews wrote:
 Should this change the way pure functions work. for example:
 
 module test;
 
 int i; //tls
 
 pure void foo(int arg)
 {
     i = arg;
 }
 
 void main()
 {
     foo(2);
 }
 
 
  Error: pure function 'foo' cannot access mutable static data 'i'

No. Pure functions cannot change global state, even if that global state is for one thread only.
May 21 2009