Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread Steven McPhelan
You are addressing issues that have always been of concern to enterprise developers versus individual PC developers. Yes, Yes, Yes, there are individual PC developers that care about efficiencies. I do not want to go there. In an enterprise implementation a 1000 NEWs versus 1 NEW and a 1000 KILLs

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread Greg Woodhouse
--- Steven McPhelan [EMAIL PROTECTED] wrote: You are addressing issues that have always been of concern to enterprise developers versus individual PC developers. I'm not sure I agree, but perhaps I just misunderstand your point. It is true that essentially all PCs run complex operating

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread Steven McPhelan
I will give an example of enterprise versus local programmers that I have experienced in over 20 years of hiring programmers. A programmer who has only programmed in the situation where the application will run on a standalone single-user PC may not think twice about locking a record or a file.

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread rcr
Well said, Steve; Different situations require different solutions. Finesse comes with applying the best solution for the situation which inconveniences the fewest people. There was a site in Daito, Japan which had a warehouse and an facility where locks were being badly applied. They

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread Greg Woodhouse
--- [EMAIL PROTECTED] wrote: Well said, Steve; Different situations require different solutions. Finesse comes with applying the best solution for the situation which inconveniences the fewest people. There was a site in Daito, Japan which had a warehouse and an facility where locks

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-03-01 Thread Greg Woodhouse
--- Steven McPhelan [EMAIL PROTECTED] wrote: I will give an example of enterprise versus local programmers that I have experienced in over 20 years of hiring programmers. A programmer who has only programmed in the situation where the application will run on a standalone single-user PC may

[Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Kevin Toppenberg
I have a question about the NEW and KILL command. I asked this question long ago, but want to revisit it. Image this code: new i,Var for i=1:1:10 do . kill Var . set Var=i . write Var,! My understanding of how variables are stored in M is to put them into a big symbol table. So I assume that

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gregory Woodhouse
On Feb 11, 2006, at 5:33 PM, Kevin Toppenberg wrote: Image this code: new i,Var for i=1:1:10 do . kill Var . set Var=i . write Var,! Try this: S X=1 D .N X .K X W X === Gregory Woodhouse [EMAIL PROTECTED] Nothing is as powerful than an idea whose time has come. -- Victor

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Kevin Toppenberg
Greg, Are you showing me a better way of coding, or answering my question? I'm not following you here. The result of the code should be 1 Kevin On 2/11/06, Gregory Woodhouse [EMAIL PROTECTED] wrote: On Feb 11, 2006, at 5:33 PM, Kevin Toppenberg wrote: Image this code: new i,Var

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gregory Woodhouse
On Feb 11, 2006, at 6:15 PM, Kevin Toppenberg wrote: Image this code: new i,Var for i=1:1:10 do . kill Var . set Var=i . write Var,! What do you accomplish with new i,Var in this code? === Gregory Woodhouse [EMAIL PROTECTED] Design quality doesn't ensure success, but design failure can

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Kevin Toppenberg
OK. Bad example. Here is a closer one to what I am working on. ... new Array,done set done=0 for do quit:done . kill Array . if $$UpdateInfo(.Array)=1 do SOMETHING . (more logic here) . set done=(some logic) So here we have Array NEW'ed outside the loop. Array is used primarily as an OUT

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gregory Woodhouse
On Feb 11, 2006, at 7:55 PM, Kevin Toppenberg wrote: OK. Bad example. Not really. Here is a closer one to what I am working on. ... new Array,done set done=0 for do quit:done . kill Array . if $$UpdateInfo(.Array)=1 do SOMETHING . (more logic here) . set done=(some logic) When you

RE: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gary Monger
: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening? OK. Bad example. Here is a closer one to what I am working on. ... new Array,done set done=0 for do quit:done . kill Array . if $$UpdateInfo(.Array)=1 do SOMETHING . (more logic here) . set done=(some logic) So here we have Array

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Kevin Toppenberg
... When you NEW a variable, you basically create a fresh variable with the same name, that shadows the old value until the DO block or extrinsic call exits and the variable name is again associated with the old storage location. Think about it this way: your environment consists of a stack

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Kevin Toppenberg
On 2/11/06, Gary Monger [EMAIL PROTECTED] wrote: NEW Array,done; Array and done pushed on the stack SET done=0; FOR DO Q:done ; DO pushes a new frame on the stack . ; If NEW variable here, value will pop with DO frame . KILL Array ; . I $$Up(.Array) D

RE: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gary Monger
Toppenberg Sent: Sunday, February 12, 2006 12:02 AM To: hardhats-members@lists.sourceforge.net Subject: Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening? ... When you NEW a variable, you basically create a fresh variable with the same name, that shadows the old value until the DO

RE: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gary Monger
: Sunday, February 12, 2006 12:04 AM To: hardhats-members@lists.sourceforge.net Subject: Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening? On 2/11/06, Gary Monger [EMAIL PROTECTED] wrote: NEW Array,done; Array and done pushed on the stack SET done=0; FOR DO

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Gregory Woodhouse
On Feb 11, 2006, at 9:02 PM, Kevin Toppenberg wrote: So in this code for i=1:1:1000 do . new VAR . set VAR=i Then the frame containing VAR is popped/discarded at the end of each loop, because the do block has concluded, right? We don't get 1000 pushes onto the stack, right? Thanks for you

Re: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening?

2006-02-11 Thread Chris Richardson
@lists.sourceforge.net Sent: Saturday, February 11, 2006 9:08 PM Subject: RE: [Hardhats-members] KILL'ing and NEW'ing -- what's really happening? The DO inside the loop will create 1000 pushes and 1000 pops. The NEW will push VAR 1000 times. Its usually better to NEW outside the loop, and use SET