Unison intro: https://www.youtube.com/watch?v=IvENPX0MAZ4
I understand that cargo has incremental builds. However, often times, it feels like cargo is re-parsing and re-type checking my entire code base.
Unison has this idea of 'hashing' code by content. As a result, a particular piece of code is only parsed / type-checked once (and then cached).
I'm wondering if this idea can be extended to cargo/Rust.
I understand this will have complications with macros.
Is it possible for this to work with generics? (Seems like the use of generics will either (1) results in lots of re-computation or (2) a large cache of every type we ever instantiated a function with.)
Having a < 0.1 sec "cargo check", regardless of codebase size, would be insane. [In theory, this seems possible since in a 'unison' style world, we should only need to parse / type checked the "diff" rather than the entire code base.]