Piers Cawley writes:
 >   is static?
 >     Discussion of static/state variables continued. Arcadi Shehter wondered
 >     if it made sense to attach "but" properties to closures. I confess I
 >     didn't really understand what he was driving at. Austin Hastings and

Actually, I was confused , thinking that state declare trait ("is"
property ) of the closure , and that could explain examples before
that letter in the thread. But then it became clear that state declare
property ( "but" property ) of the closure - in the sence that it is born
anew every time closure is created. But then , it is still unclear ,
how one should look at closure - as a variable , as a value , or both. 

also , From the post of Larry Wall , 

{...
state $a = INIT/FIRST/ENTER/... { ... } ;
...}

force evaluation of the whole closure at the time prescribed by
INIT/FIRST/ENTER/... . 

this is similar to  behaviour in perl5: 

sub a{ my $x  = shift ; my $y ; return sub { INIT{$y=1}; $x+$y } } 
print a(1)->(), a(2)->() ; #print 22

so , yes, "state" creates "but" property of the closure , but its
initialization  controlls when and how many times that closure will be 
created. 



arcadi 

Reply via email to