> [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

Reply via email to