vox
dmd
vox | dmd | |
---|---|---|
13 | 147 | |
325 | 2,893 | |
- | 0.4% | |
5.8 | 9.9 | |
7 months ago | 3 days ago | |
D | D | |
Boost Software License 1.0 | 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.
vox
- The Styx Programming Language
- Vox – multiparadigm PL inspired by D, Jai, and Zig
-
Embeddable script compiler for video games
I chase the same goal with Vox, although it is written in D.
-
SSA && Middle End resources
Just somewhere to point me, because while I do understand SSA a bit though I can't seem to make progress learning about it (dont know where from). I found https://github.com/MrSmith33/vox/blob/master/internals.md which kinda feeds me information but probably not enough.
- Open source compilers that use three address code as IR?
-
Ask HN: Who Wants to Collaborate?
Looking for contributors to Vox programming language/compiler: Statically typed, compiled and embeddable language, primarily focused on gamedev. It uses custom backend to keep low compile-times and small size. Written in D language.
https://github.com/MrSmith33/vox
-
Ast Arenas
Because it is easier to have a free-list in a dedicated array arena, so you could reuse memory when you free it (and you need to grow arrays when you fill them). I was lazy and did 13 array arenas each dedicated to allocating fixed size chunks, from 16 bytes to 64k bytes. Bigger sizes currently go to malloc/free. And I restrict arrays to PoT sizes, so they only request PoT sized chunks from array arenas.
-
Data oriented compiler architecture?
I use this approach in Vox compiler. Everything is stored in arenas including AST nodes and IR. I'm in the process of documenting the design, but I added a bit of description on memory management and IR storage
-
3 address form to 2 address ISA
Tip: Should probably use the Github permalink https://github.com/MrSmith33/vox/blob/35ec440d0c9a475cd4add6093d122cd249b03be9/source/be/reg_alloc/linear_scan.d#L891-L918 so later readers do not go to some random line after you change that file :)
-
Compiler Speed Tests
Here is a CI build
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?
langs
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
ldc - The LLVM-based D Compiler.
yjit - Optimizing JIT compiler built inside CRuby
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
oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
dextool - Suite of C/C++ tooling built on LLVM/Clang
godbledger - Accounting Software with GRPC endpoints and SQL Backends
Odin - Odin Programming Language
Raylib-CsLo - autogen bindings to Raylib 4.x and convenience wrappers on top. Requires use of `unsafe`
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.