Re: [Lisp] Gruende fuer Garbage Collection
- From: hannah@xxxxxxxxxx (Hannah Schroeter)
- Date: Sat, 23 Jul 2005 18:07:58 +0000 (UTC)
Hallo!
Rainer Weikusat <rainer.weikusat@xxxxxxxxx> wrote:
>Stefan Reuther <stefan.news@xxxxxxxx> writes:
>> In Haskell in der Implementation als STG-Maschine enthält z.B. jedes
>> Objekt seinen dynamischen Typen[1], auch wenn die Sprache Haskell an
>> sich statisch typisiert ist. Jedes Objekt beginnt im Speicher mit einem
>> Wort, welches dieses Objekt beschreibt: wie es auszuwerten ist, und wie
>> es für den GC zu markieren ist.
>Es ist "nicht unkompliziert", zugaengliche Veroeffentlichungen zu
>solchen Themen zu finden (Hinweis: Solange das so bleibt, wird
>'functional programming' schon deswegen irrelevant bleiben),
Als ich mich damit genauer befaßt habe, vor ein paar Jahren, war
das für mich nicht so schwer, über die Papiere zu stolpern und die
zu lesen.
>aber das
>waere ein "tag" und eine "tag-less machine" hat keine. Stattdessen
>wird etwas aequivalentes "objektorientiert" implementiert, dh ueber
>eine vtable (respektive ein Funktionszeigerfeld).
Genau das ist der "Tag" bei der STG-Maschine z.B. von GHC.
Der Tag selbst ist ein Zeiger auf Code zur Evaluierung (sprich
berechne den Wert und rufe eine Fortsetzung mit dem Ergebnis
auf). Natürlich ist der Code für "evaluiertes Integer" einfach
(Lade das Int von der Heap-Zelle in das Ergebnisregister,
springe zur ersten Fortsetzung).
Vor diesem Code liegen Funktionszeiger, z.B. für die
typspezifischen "Arbeiten" beim GC-Lauf.
Gruß,
Hannah.
.
- Follow-Ups:
- Re: [Lisp] Gruende fuer Garbage Collection
- From: Rainer Weikusat
- Re: [Lisp] Gruende fuer Garbage Collection
- References:
- [Lisp] Gruende fuer Garbage Collection
- From: Stefan Reuther
- Re: [Lisp] Gruende fuer Garbage Collection
- From: Dirk Thierbach
- Re: [Lisp] Gruende fuer Garbage Collection
- From: Stefan Reuther
- Re: [Lisp] Gruende fuer Garbage Collection
- From: Rainer Weikusat
- [Lisp] Gruende fuer Garbage Collection
- Prev by Date: Re: [Lisp] Gruende fuer Garbage Collection
- Next by Date: Re: [Lisp] Gruende fuer Garbage Collection
- Previous by thread: Re: [Lisp] Gruende fuer Garbage Collection
- Next by thread: Re: [Lisp] Gruende fuer Garbage Collection
- Index(es):
Relevant Pages
|