Re: [stack] sweetening concatenative syntax
Don Groves <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 8, 2008, at 19:06 , [email protected] wrote: > On Sat, March 8, 2008 2:58 pm, Don Groves wrote: > >> My understanding of linearity is that a value have only a single >> reference at any one instant. > > Right. > >> So, for example, if a value is pushed on the stack, it may not be >> held >> anywhere else simultaneously as it is now referenced by the stack. > > Right. > >> This seems to rule out the possibility of pushing a variable's >> value onto the stack, then doing it again later from the same >> variable. > > There's no variable to push "from". Lambda expressions are > translated to > pointfree stack-based code. If a variable is used more than once, > explicit > copying is automatically inserted as I described earlier. OK, thanks. The same thing happens in ACL, my as yet unfledged contribution to the cause. Explicit copying allows you to immediately free memory when a stack item is consumed, hence there's no way a value can have multiple references. -- don > > - John > > > > > Yahoo! Groups Links > > > >