dmd
carbon-lang
Our great sponsors
dmd | carbon-lang | |
---|---|---|
146 | 172 | |
2,882 | 32,102 | |
0.9% | 0.7% | |
9.9 | 9.8 | |
6 days ago | 1 day ago | |
D | C++ | |
Boost Software License 1.0 | GNU General Public License v3.0 or later |
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.
dmd
- D2 Playground
-
DMD Compiler as a Library: A Call to Arms
Here's the pipeline spitting out the same error as on my macbook did.
https://github.com/dlang/dmd/actions/runs/8023469412/job/219...
I added your code to the D test suite. It passes on all supported platforms, including Windows and OSX. I am at a loss why it isn't working for you.
-
My favourite Git commit (2019)
Not completely on topic (if you read TFA) but my favorite Git commit is by compiler badass and HN frequenter, where he checks in an entire C compiler to the D language repo:
-
The C Bounded Model Checker: Criminally Underused
A new generated code alone is 4000 lines long [1]. The actual code added is just 2000 lines, and some are used to pay debts, I mean, to make a proper code generator (which can be alternatively written in a simpler scripting langauge). In any case it is never comparable to the entier C parser proper.
[1] https://github.com/dlang/dmd/pull/15307/files#diff-3677bcc89...
Thank you for the explanation.
I agree that if one isn't going to enhance C, one is going to have to resort to these tools.
C gets new features now and then. Why not add something incredibly useful, like the slice proposal? Instead, C23 got enhanced with the crazy Unicode identifiers. Richard Cattermole has been adding them to D's C support, requiring 6000 lines of code!!
https://github.com/dlang/dmd/pull/15307
The entire C parser is 6000 lines of code:
https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cp...
-
OpenD, a D language fork that is open to your contributions
D is completely opensource already (https://github.com/dlang/dmd). The "open" of OpenD is just ADR saying that OpenD will be more open to new language features than D has historically been.
-
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.
- Odin Programming Language
- D Programming Language
carbon-lang
-
Odin Programming Language
Carbon was started by Chandler Carruth, at Google, but they wanted to move it to broader governance quickly. It's not under the Google GitHub today, but its own org.
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
-
C++ Should Be C++
What do you think about Carbon[1]? I am hopeful.
- The NSA advises move to memory-safe languages
-
Toward a TypeScript for C++"
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
next year 0.1 will be usable, 1.0 is about 3 years away, sigh, back to my rust fight
The "Dart plan" vs "TypeScript plan" comparison is shown at 1:33:50 in the talk:
> "Dart plan" - Competitive/successor 10x improvement
> New creation
> Limited interop, relies on wrapping/marshaling/thunking...
> Competes with standard (e.g., different modules, different generic constraints)
> Evolves independently of standards committee - far fewer design constraints
> Needs to bootstrap a new ecosystem
> "Typescript plan" - Cooperative/compatible 10x improvement
> Every .js file is a valid .ts file, add 1 class and see benefit
> Lowers to standard .js, 100% seamless compat with all JS libraries
> Cooperates with the standards committee (ECMAScript)
> Brings evolution proposals to standards committee
> Leverages entire existing ecosystem - works with all JS implementations & tools
Carbon is an example of the "Dart plan". Some quotes from Carbon's "Interoperability philosophy and goals" page (my emphasis):
> The C++ interoperability layer of Carbon allows a subset of C++ APIs to be accessed from Carbon code, and similarly a subset of Carbon APIs to be accessed from C++ code.
> The result is that it will often be reasonable to directly expose a C++ data structure to Carbon without converting it to a "native" or "idiomatic" Carbon data structure. Although interfaces may differ, a trivial adapter wrapper should be sufficient.
> There should be support for most idiomatic usage of advanced C++ features. A few examples are templates, overload sets, attributes and ADL.
> Non-goals
> Never require bridge code
> Support for C++ exceptions without bridge code
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
-
Programming Languages Every Developer Should Watch Out For
1. Carbon
-
My (Herb Sutter's) C++ Now 2023 talk is online: “A TypeScript for C++”
Another interesting C++ successor language:
-
Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022
To put it even more plainly than the others: https://github.com/carbon-language/carbon-lang#project-statu...
> Carbon Language is currently an experimental project. There is no working compiler or toolchain. You can see the demo interpreter for Carbon on compiler-explorer.com.
-
I cannot answer to any comments because I was blocked for NO REASON in #2071 Thank you jonmeow 👏👏👏, very good job, I hope they pay you good money for your good work 👏
You don't want to find yourself in the Ministry of Truth's Community Transparency Report. If Carbon shipped an implementation, people might commit some of their attention to that, but when discussion is all there is, you'd better believe that discussion will be audited to the letter.
What are some alternatives?
rust - Empowering everyone to build reliable and efficient software.
crubit
cppfront - A personal experimental C++ Syntax 2 -> Syntax 1 compiler
Odin - Odin Programming Language
go - The Go programming language
hylo - The Hylo programming language
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Rustler - Safe Rust bridge for creating Erlang NIF functions
ldc - The LLVM-based D Compiler.
jakt - The Jakt Programming Language
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
dextool - Suite of C/C++ tooling built on LLVM/Clang