Hacker Newsnew | comments | show | ask | jobs | submit login

Does anyone have any references for the Clark GC? I'm writing a toy lisp compiler and would find it interesting to read about it.



I think it might be An empirical study of list structure in Lisp [1], by Douglas W. Clark and C. Cordell Green. I haven't read it because it is behind the ACM paywall. I'm pretty sure that the Clark he mentions must be Douglas W. Clark, who has at least five citations in the Jones and Lins Garbage Collection book (1st ed), and is the only Clark listed (under his own name, at least) in the bibliography (of the 1st ed).

If you are looking for a simple GC algorithm that might be suitable for use in a toy lisp language, you might check out Simple Generational Garbage Collection and Fast Allocation by Andrew W. Appel [2]. I think it has many of the same characteristics and is also pretty simple. For a while I had thought that this must be the one that Shivers meant, and that he just misremembered the author.

Edit: The reason I think it is this particular paper by Clark and Green is due to a discussion of it on page 140 (section 6.8) of Jones and Lins (this page is visible on Amazon in search inside):

> Experiments with a recursive copying collector by Douglas Clark and Cordell Green produced a cdr-cell linearisation -- the property that a cell that points to another will be next to each other in Tospace after collection -- of over 98 percent [Clark and Green, 1977]. The incidence of off-page pointers was also low (between 2.7 and 8.4 percent).

[1] http://dl.acm.org/citation.cfm?id=359427

[2] http://www.cs.ucsb.edu/~ckrintz/racelab/gc/papers/appel88sim...

-----


This isn't the Clark GC, but if you're writing a lisp compiler and want to just use a GC (and not Boehm), give http://www.ravenbrook.com/project/mps a look. It is pretty nice.

-----




Applications are open for YC Winter 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: