Valen's Memory Safety: A New Kind of Borrow Checking

(verdagon.dev)

22 points | by verdagon 1 hour ago

4 comments

  • giovannibonetti 3 minutes ago
    I wonder if nowadays 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 that work both in the CPU or the GPU, although each one works in a different level of abstraction and control.
  • verdagon 1 hour ago
    Also, as I was writing this, a couple things occurred to me:

    * We _could_ use the function parameter syntax `entities: &world.entities[]` instead of `entities in world.entities[]`.

    * "Groups" aren't really central to understanding the idea, so Path Borrowing might be a better name than Group Borrowing.

    Opinions welcome =)

  • sebastianmestre 1 hour ago
    IIRC this Verdagon guy had a language called Vale... is Valen a rename or a new project?

    Edit: tfa makes it clear it's a separate project

    • verdagon 56 minutes ago
      Hi! Kind of both. Even though Valen reuses 90% of the Vale compiler, its approach (Rust interop, borrow checking with mutable aliasing, etc.) is so different that it really needed a new name.

      Also, I really like where Vale ended up, Vale's generational references + region borrowing was a truly weird and unusual memory safety blend. I didn't want that combination to be lost to time, so I wanted "Vale" to keep referring to that.

  • falconBrisk47 57 minutes ago
    [dead]