Re: Scope exit and timely destruction

2005-01-15 Thread Leopold Toetsch
Unknown <[EMAIL PROTECTED]> wrote: > You could adapt Java's last-generation GC scheme to do a really fast GC > on scope-exit, only of objects created within that scope. However, this > may require a relocating or treadmill GC to do efficiently. Yeah. That's what I'm currently working on: $ l src

Re: Scope exit and timely destruction

2005-01-14 Thread Michael Walter
Hum hum hum. What exactly does "destroying" mean in Perl 6? As memory is managed it probably refers to invoking a finalizer..? If yes, then you could also use an explicit construct such as C++'s auto_ptr<> & the likes (read: an "auto" declaration), C# using() mechanism (read: a "block statement" t

Re: Scope exit and timely destruction

2005-01-14 Thread Shevek
In which Tigger maintains that code relying on timely destruction in perl5 is buggy [and relatively rare], and agrees wholeheartedly with Rabbit on almost everything else. On Fri, 2005-01-14 at 17:52 -0700, Luke Palmer wrote: > Shevek writes: > > The example you described destroyed a ref within a

Re: Scope exit and timely destruction

2005-01-14 Thread Luke Palmer
Unknown writes: > On Fri, 2005-01-14 at 17:57 -0500, Michael Walter wrote: > > You could change the GC scheme (*cough*) to use one similar to > > Python's (ref-counting + additional GC for cyclic references > > *double-cough*). > > You could adapt Java's last-generation GC scheme to do a really fa

Re: Scope exit and timely destruction

2005-01-14 Thread Luke Palmer
Shevek writes: > On Fri, 2005-01-14 at 16:56 -0700, Luke Palmer wrote: > > > > I thought C++ only guaranteed destruction (on return or exception) for > > > objects which were directly on the stack. > > > > That's true, you have to explicitly delete most memory. I was actually > > referring to t

Re: Scope exit and timely destruction

2005-01-14 Thread Luke Palmer
Dave Mitchell writes: > On Fri, Jan 14, 2005 at 02:40:43PM -0700, Luke Palmer wrote: > > What I'd most like is to convince Larry to waive the timely destruction > > requirement. However, that doesn't really solve the problem for other > > languages that need timely destruction. Are there any? >

Re: Scope exit and timely destruction

2005-01-14 Thread Shevek
On Fri, 2005-01-14 at 16:56 -0700, Luke Palmer wrote: > > I thought C++ only guaranteed destruction (on return or exception) for > > objects which were directly on the stack. > > That's true, you have to explicitly delete most memory. I was actually > referring to the template refcounting class

Re: Scope exit and timely destruction

2005-01-14 Thread Unknown
I think that there are misconceptions about the nature of timely GC in this thread. * First I present some notes on how it could be achieved or approximated using incremental and generational techniques. * Second, I note that timely GC only exists in C++. On Fri, 2005-01-14 at 17:57 -0500, Michae

Re: Scope exit and timely destruction

2005-01-14 Thread Dave Mitchell
On Fri, Jan 14, 2005 at 02:40:43PM -0700, Luke Palmer wrote: > What I'd most like is to convince Larry to waive the timely destruction > requirement. However, that doesn't really solve the problem for other > languages that need timely destruction. Are there any? Perl 5 springs to mind !!! --

Re: Scope exit and timely destruction

2005-01-14 Thread Michael Walter
You could change the GC scheme (*cough*) to use one similar to Python's (ref-counting + additional GC for cyclic references *double-cough*). Out-of-this-world-ly yours, Michael On Fri, 14 Jan 2005 14:40:43 -0700, Luke Palmer <[EMAIL PROTECTED]> wrote: > Hildo Biersma writes: > > If the number of

Re: Scope exit and timely destruction

2005-01-14 Thread Luke Palmer
Hildo Biersma writes: > If the number of objects that needs this is relatively small, we could > play a trick somewhat like the following (with small changes to the perl > compiler): > > 1. Break the filehandle object into two: a generic wrapper that uses > refcounting and forwards all calls, p

Re: Scope exit and timely destruction

2005-01-14 Thread Hildo Biersma
Leopold Toetsch wrote: Given is a Perl snippet like: { my $fh = IO::File->new; $fh->open(">test.tmp"); print $fh "a"; } The filehandle is closed automatically at scope exit and the file contains the expected contents. That's quite easy in the current Perl implementation as it d

Scope exit and timely destruction

2005-01-12 Thread Leopold Toetsch
Given is a Perl snippet like: { my $fh = IO::File->new; $fh->open(">test.tmp"); print $fh "a"; } The filehandle is closed automatically at scope exit and the file contains the expected contents. That's quite easy in the current Perl implementation as it does reference counting. At t