Garbage collector: Difference between revisions
(short explanation) |
(Category:Glossary) |
||
Line 12: | Line 12: | ||
* [[Research_papers/Runtime_systems#Garbage_collection Research papers]] | * [[Research_papers/Runtime_systems#Garbage_collection Research papers]] | ||
[[Category:Glossary]] |
Revision as of 17:35, 28 December 2008
A garbage collector deallocates unused allocated memory from time to time. This way, in Haskell memory deallocation can be hidden, making the language (more) declarative.
A simple idea of implementing a garbage collector would be to count the references to an object
and delete the object, when the last reference disappears.
However in a cyclic data structures like let x = 'a':x in x
,
the x
is referenced by itself, so that it would never get deallocated.
Thus garbage collection is a bit more complicated and thus needs more effort and phases, where it is applied.
Garbage collection is also a bit difficult to handle with respect to real-time processing.