Rue: Higher level than Rust, lower level than Go

Memory safety & management

  • Homepage promise “memory safe; no GC; no manual management” prompts many questions.
  • Current state: no heap allocation at all; safety is trivial for now.
  • Planned approach: linear types (must-use) plus mutable value semantics, with no references/lifetimes and likely no ARC.
  • This is contrasted with Rust’s affine types and borrow checker; Rue explicitly aims to avoid lifetimes and the lowest‑level performance niche.
  • Liveness/long‑running memory and concurrency semantics are acknowledged as open problems; async story is “totally unsure.”
  • Some commenters are skeptical, pointing to V’s “autofree + partial GC” as a cautionary tale and noting that “memory safe without GC” is quite hard.

Positioning between Rust and Go

  • The “higher than Rust, lower than Go” slogan is debated; people disagree on what “high‑” vs “low‑level” even means (machine closeness, type‑system complexity, abstraction level, etc.).
  • Rue’s author clarifies: not trying to compete with C/C++/Rust on raw speed, won’t add a GC, likely will require a runtime, and might not even have unsafe.
  • Not aimed at kernels/embedded; closer in spirit to OCaml/Swift/Hylo than to D, but with more imperative/FP than OOP.
  • Targeted niche is ergonomics and compile times rather than extreme performance.

Language design & features

  • Syntax currently very close to Rust, with @ intrinsics inspired by Zig; Rust syntax is reused to avoid bikeshedding while semantics and compiler internals are explored.
  • Algebraic data types (enums) have just been added; generics and broader abstraction strategy are still in flux.
  • No plans for classical OOP inheritance or subtyping; traits/sum types are preferred, which disappoints some C++‑style OOP users.
  • Interest in Swift/Hylo-style mutable value semantics, Vale’s research, and linear types/regions is explicitly acknowledged.

TCO, examples, and ergonomics

  • Naive recursive Fibonacci as a demo example upsets some, who see it as a sign the language might lack tail call optimization.
  • TCO is discussed as a semantic feature (enabling recursion-as-loops) rather than just an optimization; author is considering an explicit annotation to preserve useful backtraces.
  • There’s a side debate over punctuation-heavy syntax (semicolons, :, ->), with some finding it noisy and others defending it for readability.

Project maturity & reception

  • Rue is described as a personal, exploratory project; future production use is uncertain.
  • Concurrency model, FFI story, and metaprogramming (macros vs codegen) are explicitly undecided.
  • The thread’s attention is attributed mainly to interest in new languages and the author’s track record, with some noting that the current state is “just promises and a factorial demo.”