|
|
|
|
|
by chubot
2123 days ago
|
|
Yes I'll be interested to see how it turns out. Any blog posts / writing on the procedural viewpoint will be appreciated. Does Rust have something like C++'s const methods? Where you can have a method that mutates a member, but doesn't logically mutate from the caller's perspective? It seems like you could be prevented from having races on individual variables, but still have races at a higher level. Like on database cells. I guess no language will help you with that, and that's why Hickey wrote Datomic -- to remove mutability from the database. |
|
Yes! "Interior mutatbility" is the term to search for. In Rust, you'd wrap the field in a RefCell<T>. Many connection-pool implementations use interior mutability to manage the connections transparently to the caller.
Interior mutability is basically what, e.g. OCaml, does by default. In Rust, it's opt-in.
Yeah, DB ops are always a sticking point for figuring out how to write my APIs.