Since I work in R alot, I value a repl session with state very highly. Bad scenario: suppose I'm working at rusti, and then I make one mistake in syntax, or do an index into a vector that is out-of-bounds and thus cause an assert!() to fire and my current task to fail. If I'm working at a repl without transactional rollback and recovery, suddenly rusti deletes all my data and code and work and starts over? Yikes. See Alex's comments earlier in this discussion thread.
To me, casual data loss is simply unacceptable. The repl state must survive mistakes by the user, or else it isn't usable at all. Period. Progress update: we have a name! Meet Rustxi Progress update: and, we have code! I've implemented transactional code evaluation using three processes and ping-pong forking. This was done in a prototype spike of Rust code that I posted to the repo below, and it works well. It doesn't loose state. It provides transactions with commit-on-success and rollback-on-failure. Of course, nothing is hooked up to rustc yet. Code, design, and RFC (Request For Comments) here: https://github.com/glycerine/rustxi
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
