3 ms·
The problem is that it isn't so much about an interface-compatible version of $project in Rust - the value of things like SQLite is in the huge amount of testin
by WaxProlix 11y ago
The problem is that it isn't so much about an interface-compatible version of $project in Rust - the value of things like SQLite is in the huge amount of testing and perf work that's been done over the years. You could do a toy reimplementation, but the value wouldn't be there.
- TranquilMarmot 11y agoSure the value would be there! After a huge amount of testing and perf work done over the course of 15 years...
- pygy_ 11y agoMozilla has a license for the full test suite (which AFAIK uses the public interface), and Rust interoperates nicely with C... The perf works would remain to be done, though, after the whole thing is made to work.
- vvanders 11y agoThat's the exact line I was thinking of, It'd be curious to see how reimplementing an existing C-api library looks in Rust. One of the huge benefits is the lifetime analysis which you lose soon as you cross the FFI boundary.
- pygy_ 11y agoAFAIK the SQLite API is rather tight. You mostly pass in and get back strings (SQL and rows of tuples, respectively).
- rcthompson 11y agoLuckily a huge amount of that testing work has been captured in a comprehensive test suite for SQLite that any alternative implementation could easily use to ensure compatibility.