It's clear that you can have any sort of channel, or all
possible combinations, and end up with a language usable for
typical problems. Any single primitive works to build all the
rest.  So, this isn't a question of whether users are allowed
to code the way they want to. It comes down to a question of
what and who Rust is for.

A systems language meant to implement rigorously specified
designs needs to be as rigorously specified itself -- a huge job,
at best.  For that, it needs a primitive with behavior that can
be completely and precisely expressed for all runtime conditions.
Anything else that can be built using the primitive can go in
libraries that a rigorous design need not depend on.

If performance matters, then the primitive chosen should impose
no overhead for features not needed in the simplest, fastest
use case.  It's easy to add features and overhead.  It's not
just good luck that the primitives that are simplest to specify
usually are also fastest.

Nathan Myers
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to