flang
dmd
flang | dmd | |
---|---|---|
4 | 147 | |
779 | 2,893 | |
0.9% | 0.4% | |
7.1 | 9.9 | |
17 days ago | 3 days ago | |
C | D | |
GNU General Public License v3.0 or later | Boost Software License 1.0 |
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.
flang
-
Supporting BFLOAT16 in ISO_Fortran_env: not recommended
It is great to know that LLVM Flang supports BFLOAT16!
I look forward to trying it in my project ( http://www.libprima.net ), although LLVM Flang is not ready to use last time I tried.
As a side note, the Classic Flang ( https://github.com/flang-compiler/flang ) does not support kind = 3.
-
Best book on writing an optimizing compiler (inlining, types, abstract interpretation)?
I think a lot of this material is in research papers and code. Take a look a MLTon or Clang Fortran
- Any updates on Flang?
-
Accidentally quadratic: When Python is faster than C++
I feel like the would have to, if they were to produce a remotely competitive compiler. That's why I'm hoping NVidia's Flang[1] efforts will lead to this aspect of LLVM being cleaned up.
[1]: https://github.com/flang-compiler/flang
dmd
- A History of C Compilers – Part 1: Performance, Portability and Freedom
- 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...
-
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:
https://github.com/dlang/dmd/pull/12507
https://news.ycombinator.com/item?id=27102584
-
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...
-
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
What are some alternatives?
rapidyaml - Rapid YAML - a library to parse and emit YAML, and do it fast.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
ldc - The LLVM-based D Compiler.
ctl - The C Template Library
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
Full-Stack-Fortran - Fortran to WebAssembly
dextool - Suite of C/C++ tooling built on LLVM/Clang
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Odin - Odin Programming Language
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.