Re: Storage management, was Compiler writers will love this language

"Dennis Ritchie" <dmr@bell-labs.com>
17 Jul 2003 00:34:01 -0400

          From comp.compilers

Related articles
[10 earlier articles]
Re: Compiler writers will love this language nmm1@cus.cam.ac.uk (2003-07-15)
Re: Storage management, was Compiler writers will love this language stephen@dino.dnsalias.com (2003-07-17)
Re: Storage management, was Compiler writers will love this language monnier+comp.compilers/news/@cs-www.cs.yale.edu (Stefan Monnier) (2003-07-17)
Re: Storage management, was Compiler writers will love this language haberg@matematik.su.se (2003-07-17)
Re: Storage management, was Compiler writers will love this language lars@bearnip.com (2003-07-17)
Re: Storage management, was Compiler writers will love this language RLake@oxfam.org.pe (2003-07-17)
Re: Storage management, was Compiler writers will love this language dmr@bell-labs.com (Dennis Ritchie) (2003-07-17)
Re: Storage management, was Compiler writers will love this language dot@dotat.at (Tony Finch) (2003-07-17)
| List of all articles for this month |

From: "Dennis Ritchie" <dmr@bell-labs.com>
Newsgroups: comp.compilers
Date: 17 Jul 2003 00:34:01 -0400
Organization: Lucent Technologies
References: 03-05-211 03-06-106 03-07-012 03-07-089 03-07-096
Keywords: storage, GC
Posted-Date: 17 Jul 2003 00:34:01 EDT

"Nick Maclaren" <nmm1@cus.cam.ac.uk> wrote in message news:03-07-096@comp.compilers...
  [ ... ]


In the matter of GC--


> >[I think I've seen descriptions of GC that use reference counts in places
> >where they're known to be safe, other kinds elsewhere. -John]
>
> Yes, I remember that, too.


Limbo, http://www.vitanuova.com/inferno/papers/limbo.html ,
the programming language for Inferno, mostly uses reference
counts for GC. The original version forbade creating references
that could be cyclical, and offers an explicit guarantee that things are
freed at last in-scope reference; in the Inferno implementation, for example,
a subwindow automatically disappears when its last handle is assigned
to or moves out of scope. Similarly for communication channels
and other system resources.


This was done by disallowing assignments to references that could
(directly or indirectly) lead back to the same type of object
containing the reference.


A slightly later version relaxed the rule by permitting reference
objects to be declared "cyclical". At the same time, a backup marking
GC was installed, but reference counting usually suffices.


        Dennis


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.