>> - In our recent discussions at the all-hands, we were leaning towards >> eliminating the ability to send higher-order data over channels. This >> would be in tension with the desire to migrate tasks. > > This would make it easier to migrate tasks, no?
Right. If we could send closures, we could at least simulate task migration by packaging up the work as a function and sending it to another task that was programmed to accept the closure and invoke it. Without continuations, though, you can't suspend your work at arbitrary points unless you use CPS. > A language that makes call-cc cheap would make task migration cheap, but is > there a way to do it without putting the majority of the data in a common > GCed heap (a la smlnj)? Absolutely -- the paper I linked to shows 10 or so different implementation strategies, and shows much more sophisticated approaches that are still largely stack-based. Dave _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
