Article View: comp.lang.functional
Article #1230Garbage Collection library (was: Is the Lisp Language Stagnant?)
From: Fernando Mato Mira
Date: Thu, 15 Jul 1993 15:53
Date: Thu, 15 Jul 1993 15:53
61 lines
4447 bytes
4447 bytes
In article <CA7MpC.uC@cs.uiuc.edu>, morrison@cs.uiuc.edu (Vance Morrison) writes: matomira@di.epfl.ch (Fernando Mato Mira) writes: >Garbage collection to the Operating System!! >Trying to put together languages each one having their own GC run-time >is a mess and definitely wasteful of machine an development resources. >Given the current trend in gnu.misc.discuss concerning the GPL I propose >that we search to create a new organization: the Free Garbage Foundation!! :-| I believe to some extent this is an impossible dream. What a garbage collector does for you is free you from dealing with resource allocation of a very common resource (memory). The problem with garbage collection is that in its niave (current) form it is NOT modular. That is most garbage collection techniques rely on a single monolithic algorithm that assumes that the entire memory system is under its control While this can be a reasonable assumtion for memory on the scale of a single application, it IS a STRONG assumption. For example it is usually NOT a reasonable assumption for a fileing system (which is why we don't see many 'garbage collectors' for disks, even though such a system would be quite useful). It is also the root of the problem with interfacing with foreign languages (since code written in these languages are not under the garbage collectors control). On a more fundamental note, garbage collection abstracts away the problem of resource (of memory at least). When resource allocation is not the problem we are trying to solve (as is the case in most applications), this is a real plus, but in those cases where resource allocation IS the problem to be solved, it makes the problem even impossible to express (at least not directly)!! A major function of operating system and many concurrent/networking algorithms is in fact resource allocation. Imposing a single standard is likely to be inappropriate. Uk,uk. I don't know if what you got was that I would like to impose a GC on all processes of a system, including the OS, but if that was the case, that's not what I meant (after all, this is a Unix world, isn't it? [$$$-) <-- guess who]). The "Memory manager" should be able to divide a virtual memory space into different areas, according to management policy (eg. non-garbage collected, generation scavenging, mark&sweep, etc.), and object representation formats (that is, a protocol should be provided to specify tagging schemes, tag-to-box-format tables, etc.). In that way the different applications can use the facility if and as they want. Regarding the FSF, such a facility could well be one of the "special" cases, libc style. I guess you could get quite a few donations from C++ vendors. Even the LISP vendors would profit from it. -- Fernando D. Mato Mira Computer Graphics Lab "There is only one Language Swiss Federal Institute of Technology and McCarthy is its prophet" matomira@di.epfl.ch FAX : +41 (21) 693 - 5328 Disclaimer: disclaim([],[]). disclaim([H|T],[DH,DT]) :- fixed_point_disclaimer(H,DH), disclaim(T,DT). fixed_point_disclaimer(Text,fixed_point_disclaimer(Text,_)).
Technical Details
Message-ID:
<223uhl$nil@disuns2.epfl.ch>Path:
arc1-ca.pugleaf.net!gmd.de!xlink.net!howland.reston.ans.net!darwin.sura.net!news.dfn.de!scsing.switch.ch!epflnews!disuns2.epfl.ch!di.epfl.ch!matomiraReferences:
<MARCOXA.93Jul10115701@image.cs.nyu.edu> <38351@castle.ed.ac.uk> <fritz.742503691@Cadence.COM> <38552@castle.ed.ac.uk> <fritz.742675867@Cadence.COM> <2235dk$cps@disuns2.epfl.ch> <CA7MpC.uC@cs.uiuc.edu>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107f24,ee4f5387c9da91de X-Google-Attributes: gid107f24,public X-Google-Thread: f4fd2,8d6761c2d50f053a X-Google-Attributes: gidf4fd2,public X-Google-Thread: 109fba,194bba7190fb1541,start X-Google-Attributes: gid109fba,public X-Google-Thread: 1025b4,194bba7190fb1541,start X-Google-Attributes: gid1025b4,public X-Google-ArrivalTime: 1993-07-15 09:32:33 PST Path: arc1-ca.pugleaf.net!gmd.de!xlink.net!howland.reston.ans.net!darwin.sura.net!news.dfn.de!scsing.switch.ch!epflnews!disuns2.epfl.ch!di.epfl.ch!matomira From: matomira@di.epfl.ch (Fernando Mato Mira) Newsgroups: comp.lang.functional,comp.lang.lisp,comp.lang.c++,gnu.misc.discuss Subject: Garbage Collection library (was: Is the Lisp Language Stagnant?) Date: 15 Jul 1993 15:53:24 GMT Organization: Ecole Polytechnique Federale de Lausanne Lines: 61 Distribution: world Message-ID: <223uhl$nil@disuns2.epfl.ch> References: <MARCOXA.93Jul10115701@image.cs.nyu.edu> <38351@castle.ed.ac.uk> <fritz.742503691@Cadence.COM> <38552@castle.ed.ac.uk> <fritz.742675867@Cadence.COM> <2235dk$cps@disuns2.epfl.ch> <CA7MpC.uC@cs.uiuc.edu> NNTP-Posting-Host: disun45.epfl.ch