Type-checking is just one static verification tool. Arity, numeric overflow, array bounds and null errors can also be verified statically.
miniblog.
Related Posts
I'm writing a Path type in my programming language but not sure what methods belong on a Path.
Should I have some_path.read_string() or fs::read_string(some_path) instead?
I love .method() for IDE completion, but I don't want Path to be cluttered. I'm also trying to avoid UFCS.
I've been iterating further on how Garden shows type errors.
For types in the standard library, I'm now showing "a String" but "an Int". I'm also doing basic syntax highlighting of the code excerpt.
What do you think?
What types should you infer when code is invalid?
In Garden, + only applies to integers. What should the type of "x" + "y" be?
(1) Int: This produces cascading errors.
(2) String: We've already emitted an error anyway.
(3) Bottom.
Opinions?