1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00

Added an introductory blurb about GC that I had lying around.

This commit is contained in:
Marius Vollmer 2002-08-05 18:50:54 +00:00
parent a9e40ed0d0
commit c5ee546dda

View file

@ -2,6 +2,21 @@
@node Memory Management
@chapter Memory Management and Garbage Collection
Guile uses a @emph{garbage collector} to manage most of its objects.
This means that the memory used to store a Scheme string, say, is
automatically reclaimed when no one is using this string any longer.
This can work because Guile knows enough about its objects at run-time
to be able to trace all references between them. Thus, it can find
all 'life' objects (objects that are still in use) by starting from a
known set of 'root' objects and following the links that these objects
have to other objects, and so on. The objects that are not reached by
this recursive process can be considered 'dead' and their memory can
be used for new objects.
When you are programming in Scheme, you don't need to worry about the
garbage collector. When programming in C, there are a few rules that
you must follow so that the garbage collector can do its job.
@menu
* Garbage Collection::
* Memory Blocks::