2 ms·
> (2) cryptographic guarantees that code is compatible over time, What does this mean? You hash dependencies? > (3) a compiler that checks live servers for c
by asveikau 3y ago
> (2) cryptographic guarantees that code is compatible over time,
What does this mean? You hash dependencies?
> (3) a compiler that checks live servers for compatibility before deploying,
Why does a compiler need to talk to a server? Why should it? Seems like a huge step backwards in what a compiler is and expecting it to work later on.
- surprisetalk 3y ago> What does this mean? You hash dependencies? Yes, but everything is hashed at the expression-level rather than at the file-level, which prevents a few classes of errors. > Why does a compiler need to talk to a server? Why should it? Seems like a huge step backwards in what a compiler is and expecting it to work later on. Imagine if Javascript tooling could throw an error when a client implementation diverges from the server's expected input/output types: > const res = await fetch("https://example.com/api", [1, 2, 3]); ERROR: You're sending this REST endpoint a list of integers, but it expects a string! Wouldn't that be nice in some applications?