Email or username:

Password:

Forgot your password?
Joshua Barretto

The withoutboats article is good. As much as it pains me to say it, Rust has promised too much in the domain of stability for a practical effect system to ever be workable on top of what is already here. The place to implement an effect system is (a) a new language or (b) Rust as it was a decade ago.

6 comments
James Waples

@jsbarretto I think we should be breaking more of the universe in new editions. I’ve always thought that was kinda their purpose, instead we get a watered down minimal changeset which wastes a good opportunity imo.

Maybe I need to look at this through the systems programming lens where tooling is supposed to be rock solid and last for years but that begs the question: why do we have to perpetuate that?

Joshua Barretto

@jamwaffles I don't disagree, although obviously care needs to be taken to avoid anything approaching an ecosystem split. Traits are the annoying one in this regard

James Waples

@jsbarretto Rust already takes a lot of care (in a good way!) so that part is covered. What’s annoying about traits here?

Joshua Barretto

@jamwaffles Traits leap the boundary between crates, so it's difficult to make substantial changes without breakage. Syntax and expression semantics is comparatively easy

Adam Chalmers

@jsbarretto I generally agree -- I really liked the talk about keyword generics at Rustconf this year, IMO the proposal would fix a lot of problems. But I don't think we should be delaying important async features to make them play better with a theoretical future. Even if the keyword generics design is great, implementing it could take a long long time, and impling async iterators should be decoupled from KW generics.

Joshua Barretto

@adam_chal Yes. I really love algebraic effects - so much so that I'm building a language around them - but Rust is too committed in too many ways to have the ability to quickly evolve such a complicated and all-encompassing feature. Doing it *properly* would be at least as complex as introducing lifetime analysis was (and far more breaking, given the size of the ecosystem), and not doing it properly would probably mean more harm than good.

Go Up