Typescript has an interesting approach to type checking: it will emit JS even if the code isn't well-typed! https://basarat.gitbooks.io/typescript/docs/why-typescript.html
(This is a nice property of gradual typing: you can run unit tests on refactored code even when some code still uses the old API.)
miniblog.
Related Posts
OpenSSH will send packets at 20ms intervals to prevent network timings revealing what you're typing: https://undeadly.org/cgi?action=article;sid=20230829051257
Really elegant solution!
I'm still figuring out where Copilot fits in my workflow, and I find it works really well *when I know exactly what code I want*.
When I have e.g. two lines in mind, I can see if it will write them (saving me the typing), and it's trivial to validate correctness.
In OCaml I can use Merlin to destructure `flavour ()` and it gives me the whole `match flavour () with | Vanilla -> ()`. It's nice.
In Rust I have to write `match flavour() {}` before rust-analyzer can autofill the match arms, which is more typing. I'm not sure why.