|
Stream-filter and space leaks
Phil Bewig
(20 Feb 2003 14:08 UTC)
|
|
Re: Stream-filter and space leaks
Richard Kelsey
(20 Feb 2003 18:41 UTC)
|
|
Re: Stream-filter and space leaks
Phil Bewig
(21 Feb 2003 09:57 UTC)
|
|
Re: Stream-filter and space leaks
Richard Kelsey
(21 Feb 2003 23:18 UTC)
|
|
Re: Stream-filter and space leaks
sperber@xxxxxx
(21 Feb 2003 10:04 UTC)
|
|
Re: Stream-filter and space leaks
Richard Kelsey
(21 Feb 2003 15:06 UTC)
|
|
Re: Stream-filter and space leaks
Matthias Neubauer
(25 Feb 2003 16:01 UTC)
|
|
Re: Stream-filter and space leaks
Richard Kelsey
(25 Feb 2003 18:25 UTC)
|
|
Re: Stream-filter and space leaks
Matthias Neubauer
(25 Feb 2003 21:32 UTC)
|
|
Re: Stream-filter and space leaks
Richard Kelsey
(25 Feb 2003 22:11 UTC)
|
|
Re: Stream-filter and space leaks
sperber@xxxxxx
(26 Feb 2003 08:18 UTC)
|
|
Re: Stream-filter and space leaks Matthias Neubauer (26 Feb 2003 13:31 UTC)
|
|
Re: Stream-filter and space leaks
sperber@xxxxxx
(11 Mar 2003 14:58 UTC)
|
|
Re: Stream-filter and space leaks
Matthias Neubauer
(19 Mar 2003 15:27 UTC)
|
|
Re: Stream-filter and space leaks
felix
(22 Mar 2003 09:49 UTC)
|
|
Re: Stream-filter and space leaks
felix
(22 Mar 2003 09:56 UTC)
|
xxxxxx@informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) writes:
> >>>>> "Matze" == Matthias Neubauer <xxxxxx@informatik.uni-freiburg.de> writes:
>
> Matze> Richard Kelsey <xxxxxx@s48.org> writes:
>
> >> Our different experiences may be based on differences between the 0.57 and
> >> the Scheme 48 version underlying Scsh 0.6.3. I don't know which version
> >> that is.
>
> Matze> Well, that's what I already feared. To me, this means either that my
> Matze> scsh is somehow "buggy" or that we still don't have a portable,
> Matze> non-leaking implementation of STREAM-FILTER.
>
> There's no way to do that in general. However, if you take the code
> Phil posted last and lambda-lift the internal definitions out, you'll
> get something that works pretty much everywhere (certainly in Scheme
> 48 and scsh), I conjecture.
Yes, this does the trick. After lambda-lifting STREAM-FILTER,
(stream-car (stream-filter (lambda (x) (zero? x)) (stream-from 1)))
also loops in my scsh.
The real problem is see is the following: as soon as I apply some kind
of abstraction over STREAM-FILTER---which is something every Schemer
wants to do of course---, hell breaks loose again. E.g., if I type
(define (filter-zero stream)
(stream-filter (lambda (x) (zero? x))
stream))
(stream-car (filter-zero (stream-from 1)))
in scsh, I will again see a space leak.
Considering all the major Scheme implementations, how common is it to
use a flat closure representation for procedures?
-Matthias
--
Matthias Neubauer |
Universität Freiburg, Institut für Informatik | tel +49 761 203 8060
Georges-Köhler-Allee 79, 79110 Freiburg i. Br., Germany | fax +49 761 203 8052