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.