20 points elffjs 2 hours ago 13 comments
AnimalMuppet 2 hours ago | parent
dnautics 40 minutes ago | parent
treyd 31 minutes ago | parent
You do that by making the type system more sophisticated.
If you have a really important invariant that you really don't want to be violated due to run-time behavior/input, it's a huge benefit to have a compiler that can statically check that it actually can't be. That's one of the main benefits of having type systems, not just describing the shape of data structures in memory.
dnautics 23 minutes ago | parent
C is a bad language to do this with for various reasons, but as a simple example:
char* buf = malloc(SIZE);
free(buf);
free(buf);
There is absolutely no reason why static analysis should not be able to see what the problem is here.api 53 minutes ago | parent
amelius 45 minutes ago | parent
Sounds like a great language for an AI to use then :)
png732 43 minutes ago | parent
Skwid 15 minutes ago | parent
Cyan488 38 minutes ago | parent
Is the intent that applications developed with this are compiled for target hardware on a machine-specific basis?
e.g. I define a machine file for my i5 and GTX3080, and another machine file for my gnarly datacenter rack, and the compiler compiles specifically for each?
That way the same source file is "provable" for different hardware configurations without relying on a runtime to be identicallu implemented?
yewenjie 23 minutes ago | parent
BatchJob 12 minutes ago | parent