[plt-scheme] Re: history of stack and heap.
I don't have a formal CS background and so this intrigues me.
It almost looks like after the advent of the term "garbage
collection",
which I believe happened after stacks came to be, did all forms of
resource cleanup end up being looked upon as types of GC?
If you look at it more specifically as "garbage collection
of the program store" where the program store usually refers
to a heap, I found the chicken scheme implementation interesting
in that it used the stack more or less equally as a program store
as well.
On Apr 25, 12:41 am, Matthias Felleisen <matth... at ccs.neu.edu> wrote:
> The idea that pop is a special-purpose garbage collection construct
> is something I encountered in my readings as a grad student, and
> thats 22+ years ago.
>
> On Apr 24, 2009, at 12:19 PM, hend... at topoi.pooq.com wrote:
>
>
>
>
>
> > On Fri, Apr 24, 2009 at 09:40:41AM -0400, Matthias Felleisen wrote:
>
> >> Stacks as a special-purpose form of GC is a hat that's even older
> >> than me. And I am old.
>
> > Let me try to recall history.
>
> > Stacks were definitely well-known in 1960, when Algol 60 came out.
> > Possibly even in 58, when the preliminary designs were published.
>
> > Garbage colection appeared with Lisp, as far as I know, around the
> > same
> > time. But Lisp still used a stack, not a heap. And the Lisp
> > garbage collector used a stack.
>
> > So it looks as if stacks are older than garbage collectors.
>
> > Ah. There was also IPL-V, which had dynamic storage allocation and a
> > stack, but reference counting instead of garbage collection.
> > Programs were linked data structures on the heap. I can't remember
> > whether the stack was also on the non-collected heap. Does anyone
> > here
> > have a better memory than mine?
>
> > -- hendrik
> > _________________________________________________
> > For list-related administrative tasks:
> > http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme