Re: ubuntu 18.10
"J. Andrew Rogers" <[email protected]>
| Newsgroups | gmane.culture.people.rohit-khare |
|---|---|
| Message-ID | <[email protected]> |
The combination of compile-time execution facilities (i.e. constexpr), advanced generics (e.g. templates), and type inference facilities in C++17 are sufficiently expressive that in principle your software can pervasively programmatically construct types whose interactions can be verified at compile-time. For example, instead of using the default ‘int’ type etc, singular int-like types are generated for every occasion that can only express a restricted set of required operations and type interactions that can be trivially checked for correctness by the compiler. The neat trick is making this look like ordinary idiomatic C++ code by transparently hiding it in the type system. Optimized code generation is essentially the same as when using conventional C++ types, though the compilation is significantly slower. Out of the box, the C++ standard library has no concept of types that work this way nor any facilities to construct alternative primitive type systems even though it is now possible. To leverage this capability, you need to build an entire type system scaffolding from scratch in addition to all the verification infrastructure. Recent versions of C++ allow a lot of code verification to be automagically pushed into the type system at compile-time, not that this is common. > On Apr 18, 2019, at 7:15 AM, Stephen D. Williams <[email protected]> wrote: > >> While the tooling is there, implementations aren’t part of the standard library. > What are you referring to here? _______________________________________________ FoRK mailing list http://xent.com/mailman/listinfo/fork