B:BD[
4.1] → [
2.1042:1389]
-- static properties of the code
All strings are UTF-8. Bytes within them are not characters.
I try to label byte offsets as _offset, and character positions as _pos.
For example, string.sub should never use a _pos to substring, only an _offset.
Wish I had some static typing here. We're not going to try to write tests to catch issues like this.
I care a lot about being able to automatically check _any_ property about my
program before it ever runs. However, some things don't have tests yet.
### Compromises
Lua is dynamically typed. Tests can't patch over lack of type-checking.
* All strings are UTF-8. Bytes within them are not characters. I try to label
byte offsets as _offset, and character positions as _pos. For example,
string.sub should never use a _pos to substring, only an _offset.
### Todo list