> [cps being implementable in a cheap way] This isn't about CPS (a style of user code), it's about first-class continuations (a language feature). I think that's just a terminological issue, not a conceptual one -- just making sure we're not talking past one another.
> I'm not all that up to date on recent research, but as I understand > it, the great optimistic CPS wave of the 90's (see, for example, > Appel's papers) has been largely discredited as not working out so > well in practice. I spent years in the Scheme community (in the 2000's) and that's not exactly the attitude I perceived. People mostly seemed frustrated that continuations hadn't caught on. Personally, I think they're not appropriate for all languages, but they are a pretty natural way to look at things like process management and task migration. > Even in the Scheme world, a common opinion seems to > be that continuations can be implemented in two ways -- you either > make normal code extra expensive and get fast continuations, or you > make normal code fast, and pay a serious price (stack copying) when > you actually use a continuation. This makes them rather unattractive. There's no free lunch. But I'd urge you to read the paper and see what you think; I'd be curious to hear what you (and the whole team) think about the plausibility of the implementation techniques it describes. (It leans in the direction of making normal code fast while not over-taxing the capture of continuations.) If we want task migration, we have to deal with these trade-offs no matter what, no? Dave _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
