Hasty Briefsbeta

Bilingual

How Dada Enables Internal References

2 days ago
  • #rust
  • #borrow-checker
  • #programming-languages
  • Dada's permission system is inspired by Rust's borrow checker but aims to exceed its capabilities with place-based permissions.
  • Dada allows references to be created by naming the place the data was borrowed from, making types like `ref[list] String` more intuitive.
  • Unlike Rust, Dada's references are not pointers but shallow copies, allowing moves of borrowed data without invalidation.
  • Dada's type system updates references when the original data is moved, enabling strong updates and flexible borrows.
  • Dada can package borrowed data along with its owner in a struct, something Rust struggles with due to its pointer-based references.
  • Dada's approach to references and permissions could potentially be applied to Rust, especially for heap-allocated data.