You are here |
without.boats | ||
| | | |
boats.gitlab.io
|
|
| | | | I'm really excited to share with you an experiment that I've been working on for the past 5 or 6 weeks. It's a Rust library called shifgrethor. shifgrethor implements a garbage collector in Rust with an API I believe to be properly memory safe. I'll be going through all of the technical details in future blog posts, so I want to kick this series off with a high level overview of the project's purpose and design decisions. | |
| | | |
rcoh.me
|
|
| | | | Before I start this post, let me preface it by saying that I'm not an experienced Rustacean by any means. The excellent foks at /r/rust gave a lot of helpful feedback and cleared up some misconceptions I had. Futher errata and corrections are appreciated. This post is aimed at helping other fledgling rust-learners avoid my mistake. First, by helping Rust learners pick good introductory projects that will fit naturally in idiomatic rust. | |
| | | |
boats.gitlab.io
|
|
| | | | In the previous post I said that in the second post in the series we'd talk about how rooting works. However, as I sat down to write that post, I realized that it would be a good idea to back up and give an initial overview of how a tracing garbage collector works - and in particular, how the underlying garbage collector in shifgrethor is implemented. In the abstract, we can think of the memory of a Rust program with garbage collection as being divided into three sections: the stack, the "unmanaged" heap... | |
| | | |
coredumped.dev
|
|
| | In my last post I introduced an Emacs Lisp VM I was writing in Rust. My stated goal at the time was to complete a garbage collector. I think Rust has some really interesting properties that will make building garbage collectors easier and safer. Many of the techniques used in my GC are not original and have been developed by other Rustaceans in previous projects. Updated: 2022-09-06 Why use garbage collection? |