Remix.run Logo
▲ thfuran 3 hours ago

No mainstream compiler is formally proven. If you want a verified compiler, you pretty much have to choose between using a subset of standardml or a subset of C and the one proven compiler for each.

▲vrighter 2 hours ago | parent | next [-]

You're mistaking the semantics of the type system, from the implementation. I'm not talking about verifying the compiler. There's nothing to verify there.... literally. There is no spec to the language. By definition it is verified because the only verification you can do is tautological: "does this rust compiler do what this rust compiler does?"

But the unsoundness is because the type system itself, abstractly, was not verified. Or the interactions between parts. I.e. If you verified the compiler you'll find that it implements the algorithms perfectly. But tells you nothing about whether those implemented algorithms, however perfectly implemented, actually provided those guarantees.

▲AnimalMuppet 2 hours ago | parent | prev [-]

Wait, there's a proven subset of C? Can you point me to some info?

▲xgk 2 hours ago | parent | next [-]

https://en.wikipedia.org/wiki/CompCert

▲ 2 hours ago | parent | prev | next [-]
[deleted]
▲ 2 hours ago | parent | prev [-]
[deleted]