One thing I've really come to appreciate from working on type checkers:
There's a crucial difference between the type system and checks you can do on type-inferred code.
E.g. using a bottom type is totally well-typed, but users expect warnings:
x = exit(0);
miniblog.
Related Posts
WebAssembly seems like a totally reasonable bytecode format, but I've not had many opportunities to use it so far.
Has wasm found its 'killer app' yet?
In Python I can choose any name for my instance variable when defining a method. In practice people almost always use `self`.
Go has the same flexibility, but using other names for the instance is totally normal!
zsh is generally wonderful, and it's sufficiently like bash/POSIX sh that it works.
However, it uses 1-indexed arrays, whereas bash uses 0-indexed arrays. This totally caught me out.