Our great sponsors
Empowering everyone to build reliable and efficient software.
Interoperable ABI: https://github.com/rust-lang/rust/pull/105586
hspp: An experimental library to bring Haskell Style Programming to C++.
Yeah, C++ supports higher kinded types through template templates (I'm not sure why the other poster said it doesn't), however it quickly becomes messy and impractical. Here's a cursed library that attempts to support Haskell-style programming in C++. Here's an example where they implement a monad transformer using the only example of a template template template that I have ever seen in the wild.
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
🐈⬛ A runtime for C++23 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!
It's worse in the standard library than it has to be. When I refactored my traits to minimize template instantiations and lean on concepts as much as possible, I measured over 30% improvement to clean build compile times. It's not possible for the standard to do this, because it would subtly change the API. For instance, you can't instantiate or take the address of a concept, but you can for a type-trait class. No reason you'd want to do that, but you can, so they can't "break" the standard library by optimizing this.
Kani Rust Verifier
By making your code have some semantics (even panicking has defined semantics). C++ UB is characterized by having no semantics. Giving your code clear runtime semantics, a small-step description of what happens when you execute expression X, is what enables robust and provable static analysis in the first place. So indeed there are proof checkers, such as this, that allow you to ensure that code is panic free (i.e. bounds are actually never executed).
Quick File Sorter: An open source tool for sorting your files on Linux
3 projects | /r/opensource | 8 May 2023
Must move types by Niko Matsakis
3 projects | /r/rust | 17 Mar 2023
WisniaLang – Compile binaries 41x faster and 27x lighter than Rust
1 project | /r/CKsTechNews | 28 Nov 2022
P2656: C++ Ecosystem International Standard
2 projects | /r/cpp | 18 Oct 2022
Can't modern c++ be as safe as rust?
4 projects | /r/rust | 16 Aug 2022