3 ms·
The road ahead for Rust
- pkmays 16y agoWhen the author talks about missing features, is he referring to the new self-hosting compiler only? I remember skimming thru the PDF manual when I first heard about Rust, and I'd find it alarming if stuff like deterministic garbage collection and stack growth have been documented but not actually implemented.
- pcwalton 16y agoGarbage collection isn't implemented; we're relying on reference counting for now. The self-hosted compiler has no cyclic data structures, so we're fine. Stack growth was implemented at one point, but we disabled it because the way it was implemented was a proof-of-concept hack (it just rewrote anything that looked like a pointer on the stack). I suspect we're going to switch to a more Go-like model, in which stack growth happens by calling through a stack-switching thunk.
- nickik 16y agoWhat kind of of macros do you think about?
- pcwalton 16y agoToo early to say - this is probably the one part of the language that has had the least design work - but I suspect they'll feel like Dylan's macros. That is, Lisp/Scheme-inspired, but tailored to a C-like syntax.
- nickik 16y agoAh very very cool. I was think about saying something about dylan (the PLOT language by Dave Moon is something too look at too). Dylan has a BASIC like syntax do you think this will be easy to adopt to C like syntax? Is the C syntax set? I really like what I see with Rust. Keep up the good work.
- pcwalton 16y agoI don't foresee many problems with adopting Dylan-like macros to the C syntax (they're both Algol-derived anyhow), but again this is all up in the air :) The C syntax is pretty much set. Switching at this state would do more harm than good, and we think that in the long term syntax is less important than semantics.