Do you have to create a GC if you create your interpreted language in a host language that has GC?
Okay thats one question but my bigger question is what happens if you write it (a bytecode interpreted language) in Rust, where there is no GC at all, but unlike other similar language you dont even manually memory manage how do you handle it do you have to write a GC, cuz everywhere I look it looks like using Reference counting is not an option cuz it makes things way more complicated in Rust.
And what I found is you have to write a virtual heap and a eval stack to basically hold objects so they live and you can probably make a mark and sweep gc (never made a gc) to release the objects so they get removed? I am actually very confused on what to do.
Cuz I already made a VM interpreted language in Go and now that i think about it if logical memory leak is actually happening means my other language on Go is actually leaking memory because i didn't do any of the virtual heap stuff on there i just left Go to do its thing no custom gc either i didnt know.
Any help on the question would be appreciated.