On 05/07/2015 01:00, Neil Van Dyke wrote:
Matthew Flatt wrote on 07/04/2015 06:40 PM:
That is, unlike so many other things in our infrastructure, the GC is not so tangled with everything else that it would be difficult to change by itself. Granted,

Good about GC not so tangled.

I don't know the current state of GC research, nor what GC ideas PLTers could come up with, but maybe there is a doctoral dissertation, or at least some MS projects, waiting to happen.

Separate from research activity, anyone know of existing off-the-shelf GCs that would be interesting to hook up to Racket?

There is the Memory Pool System Kit Readme (but I didn't have any time to test it yet): https://www.ravenbrook.com/project/mps/ (Perhaps SCM or even hobbit has a better GC: http://people.csail.mit.edu/jaffer/SCM)

It's better to think about the malloc/gc duo as a memory manager. Some traditional approaches just seem awfully dumb and wrong like conservative mark&sweep. Treating every byte word on each and every call stack (every thread has one) as a valid reference to a Scheme object just doesn't scale well. But computers are dumb machines anyway - fortunately they had a working power on/off switch back in those days when ... (nowadays you have to kill these beasts three times: pull the plug, remove the battery and wait at least 15 times n seconds for capacitors to ...)


GC implementation can be fairly challenging on its own.

Systems programming is hard, as you know. :)

Neil V.


That depends on the presence of the system manual and a good mental scheme of what one wants to achieve. I'd just start out with a flat addressing scheme implemented as one huge Scheme vector called RAM-emulation and try some algorithms in Scheme on it. Then segmentation and alignment and C pointers have never been the truth ...

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to