ipr
DIPs
ipr | DIPs | |
---|---|---|
4 | 10 | |
216 | 156 | |
- | 0.6% | |
5.0 | 5.8 | |
10 months ago | 7 days ago | |
C++ | D | |
BSD 3-clause "New" or "Revised" License | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ipr
-
Module interfaces for pre-built libraries
I'm not sure about clang or gcc. For VS, u/GabrielDosReis might be able to speak to the .ifc IPR stability/volatility. My wager (deferring to him to correct me) is that the IPR is still changing over time but will stabilize more over time.
-
A new design pattern: the C++ "template mixin"
Have you had a look at its uses in the IPR interface and implementation? https://github.com/GabrielDosReis/ipr/blob/main/include/ipr/interface
-
Carbon Language: An experimental successor to C++
> C++ has virtually zero tooling
CMake, Meson, Waf, Conan, Visual Studio Code, Visual Studio, CLion, Intel VTune, GDB, LLDB, XCode, Artifactory, SonarQube, clang-tidy, clang-format, astyle, Incredibuild...
> Comparing CMake to cargo is like comparing fifth century fireworks to the Space Shuttle
You are wrong here. Cargo serves a set of fixed "this-is-how-to-do-it" thing. In C++ you can build anything. I do not mean it is better, but C++ software already exists and that is the solution that it works better for it. :)
> and the committee is not interested in ever working on that
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p08...
Interoperability effort for modules: https://github.com/GabrielDosReis/ipr
-
I hope this would ease C++ tooling
IPR Library
DIPs
-
The OpenD Programming Language (fork of D)
The reference compiler, DMD, is open source: https://github.com/dlang/dmd
But they don't accept just any Pull Request or features the community submits, understandably. There's a process called DIP for language improvements: https://github.com/dlang/DIPs/blob/master/DIPs/README.md
However, by some accounts, it's really hard to get anything through.
Given D already has so many feature, I find that to be a good thing , to be honest, by not everyone agrees, of course.
-
Mojo 🔥: A programming language for all AI developers
Borrow checking does not require lifetime annotations. D is a precedent there. Look at DIP25 and DIP1000.
-
Carbon Language: An experimental successor to C++
There's no "nogc" containers in phobos, or allocators, or an idiomatic way to do safe manual memory management. It expects you to do it the C way. It's also impossible to implement some things because of how D does moving. There's a DIP in the works to change how moving works, but it's overly complicated and bound to introduce even more bugs. https://github.com/dlang/DIPs/blob/master/DIPs/DIP1040.md
-
Is there any other programming language aside from C++ that has move semantics feature available?
D Is drafting up move semantics to interface better with C++. Although they're going a bit the Rust way in the current proposal. D has tried a couple of other strategies, but unique pointers and C++ interoperability kind of forced the hand of Walter Bright.
- Is D backwards compatible?
- PSC #025 2021-06-18 minutes - massive update on RFC processes and RFCs in flight
- Three situations regarding memory
- DIP1040: Copying, Moving, and Forwarding
-
Things that you miss from your previous language?
String interpolation is coming: https://github.com/dlang/DIPs/blob/master/DIPs/DIP1036.md
- System variables: Protecting data for memory safety in unsafe code
What are some alternatives?
ifc-spec - IFC format specification
crubit
compact_str - A memory efficient string type that can store up to 24* bytes on the stack
verdigris - Qt without moc: set of macros to use Qt without needing moc
peps - Python Enhancement Proposals
PythonNet - Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
intellij-dlanguage - Intellij Plugin for the D Programming Language
GrayC - GrayC: Greybox Fuzzing of Compilers and Analysers for C
proposals - ✍️ Tracking the status of Babel's implementation of TC39 proposals (may be out of date)
language - Design of the Dart language
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)