Re:C++26 is done ISO C++ standards meeting, Trip Report
by derriz on Sunday March 29, 2026 @03:37PM
(#47566450)
C++ is the last language I'd add to any list of languages used for correct-by-design - it's underspecified in terms of semantics with huge areas of UB and IB. Given its vast complexity - at every level from the pre-processor to template meta-programming and concepts, I simply can't imagine any formal denotational definition of the language ever being developed. And without a formal semantics for the language, you cannot even start to think about proof of correctness.
[ Parent
| on HN ]
Re:C++26 is done ISO C++ standards meeting, Trip Report
by addaon on Sunday March 29, 2026 @04:44PM
(#47567111)
As with Spark, proving properties over a subset of the language is sufficient. Code is written to be verified; we won’t be verifying interesting properties of large chunks of legacy code in my career span. The C (near-) subset of C++ is (modulo standard libraries) a starting point for this; just adding on templates for type system power (and not for other exotic uses) goes a long way.
Re:C++26 is done ISO C++ standards meeting, Trip Report
by extrabajs on Monday March 30, 2026 @01:37AM
(#47570745)
I don’t think this is a good comparison. Ada (on which Spark is based) has every safety feature and guardrail under the sun, while C++ (or C) has nothing.
Re:C++26 is done ISO C++ standards meeting, Trip Report
by uecker on Monday March 30, 2026 @04:33AM
(#47571891)
There is a lot of tooling for C though, just not in mainstream compilers.
Re:C++26 is done ISO C++ standards meeting, Trip Report
by jesse__ on Monday March 30, 2026 @03:17AM
(#47571377)
> The C (near-) subset of C++ is (modulo standard libraries) a starting point for this; just adding on templates for type system power (and not for other exotic uses) goes a long way.
In my experience, this is absolutely true. I wrote my own metaprogramming frontend for C and that's basically all you need. At this point, I consider the metaprogramming facilities of a language it's most important feature, by far. Everything else is pretty much superfluous by comparison