Has Rust hit the design limits of its original scope and constraints?

271 points kishaloy 104 comments

Rust was one of the best examples of bringing PL research from the land of ML (Haskell, OCaml) to the mainstream. This coupled with zero cost abstraction and revolutionary borrow checker provided it C++ speed with Haskell like correctness in an imperative world with a quite good ergonomics. As of now, nothing beats it in this particular area while it has branched out to a lot of newer areas.

There are however a few items which say Scala has in terms of expressivity which I thought would land in time but seems to have been now not in the horizon. These are:

  1. Higher kinded type like Scala
  2. proc-macro with full power to move AST with the ergonomics of Racket on the current macro_rules!. I am looking at more Lean 4 rather than Scala power, also not just a simple comptime.
  3. Tail call optimization using the become keyword.

My question is many of these were originally planned but now we don't hear much of them. Are they still being researched for implementation as in like due in 1-2 years or have they been parked as too hard research problems, which may be tackled some day?