My experience crafting an interpreter with Rust (2021)
1–10 of 53 posts
Re: My experience crafting an interpreter with Rust (2021)
#2A downside of Rust for applications like virtual machines is that it doesn't have a goto statement. Ideally, both a labelled and a computed goto would be available in the language.
Re: My experience crafting an interpreter with Rust (2021)
#3A downside of Rust for applications like virtual machines is that it doesn't have a goto statement. Ideally, both a labelled and a computed goto would be available in the language.
Not only does it not have computed goto (almost no languages do, tbh), it also doesn't have guaranteed tall-call elimination or allow you to use the GHC calling convention. Which are more egregious, imo.
Re: My experience crafting an interpreter with Rust (2021)
#4A downside of Rust for applications like virtual machines is that it doesn't have a goto statement. Ideally, both a labelled and a computed goto would be available in the language.
Not only does it not have computed goto (almost no languages do, tbh), it also doesn't have guaranteed tall-call elimination or allow you to use the GHC calling convention. Which are more egregious, imo.
Why is the lack of "GHC calling convention" egregious? I've never heard this before as an argument against Rust.
Re: My experience crafting an interpreter with Rust (2021)
#5.
Re: My experience crafting an interpreter with Rust (2021)
#6.
Seems up to me at the moment.
Re: My experience crafting an interpreter with Rust (2021)
#7.
nope, works
Re: My experience crafting an interpreter with Rust (2021)
#8Does Crafting Interpreters require preexisting C knowledge? I'm curious to follow the book, but my experience with X is beginner level at best.
Re: My experience crafting an interpreter with Rust (2021)
#9I’m curious about the extent to which DOS is a concern for an interpreter like this. I can see it be an issue if you’re exposing a service to external actors, but how big of a concern is it really in this context?
Re: My experience crafting an interpreter with Rust (2021)
#10> I would often write huge refactorings thinking that they would be a solution to a borrow checker error, just to get another one at the end of the refactoring.
Yeah this can often be a problem because the borrow checker doesn't kick in until the refactoring is done and no other errors are left.