Three prevalent themes in the discussion
- Borrow‑checking design and terminology – Commenters debated the syntax and naming of the new borrowing mechanism, especially whether “group borrowing” or “path borrowing” better captures the idea and how control‑flow interactions should be handled.
- “foo in bar implies iteration to me, not a path.” — munchler
- “Groups aren't really central to understanding the idea, so Path Borrowing might be a better name than Group Borrowing.” — verdagon
- “I noticed that there is no control flow in the examples.” — user142
-
“Loops is where it gets weird: we have to scout all the invalidations that happen inside the loop and then 'replay' them before the body of the loop.” — verdagon
-
GPU / vectorized compilation targets – Several participants emphasized the importance of targeting SIMD/GPU execution and discussed possible intermediate representations (Rust MIR, SPIR‑V, MLIR) for Valen.
- “we should be focusing less on scalar data structures and more on languages that facilitate vectorized/SIMD instructions. Languages like Vx lang, Mojo, and Futhark…” — giovannibonetti
- “GPU compilation is definitely something I intend Valen to support… Rust MIR, SPIR‑V, like Zig does for its GPU compilation, MLIR.” — verdagon
-
“Rust MIR is looking pretty nice. Valen already has Rust interop… I just need to figure out if Rust MIR can support the optimizations I have planned for Valen.” — verdagon
-
Interoperability and back‑porting to existing languages – The conversation frequently turned to whether the borrowing ideas could be applied to or borrowed by established languages such as Rust, D, Java, or even FreePascal.
- “How likely is it that such a borrow checker could be 'backported' to Rust? Maybe in a new edition?” — maufl
- “I would love to see someone augment GhostCell to have the sort of 'invalidation' logic that group borrowing does.” — verdagon
- “Is it possible to retrofit it to Freepascal, D, Freebasic or even Java?” — fithisux
- “If Valen solves those challenges… it could be a good direction for them to explore.” — verdagon (referring to D, Java, etc.)