dmd
passerine
dmd | passerine | |
---|---|---|
148 | 10 | |
2,894 | 1,029 | |
0.4% | 0.5% | |
9.9 | 0.0 | |
about 10 hours ago | almost 2 years ago | |
D | Rust | |
Boost Software License 1.0 | MIT License |
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
- Results of the Grand C++ Error Explosion Competition
- 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
passerine
- Passerine: A small functional scripting language with macros, powered by Rust
-
The absurd complexity of server-side rendering
It's still a long way from being complete, but I'm working on something like that[0]. Eventual plans are to have good Rust library interop (e.g. bindings to hyper for http) while also being able to compile to Wasm (to run on an erlang-style distributed runtime / the browser). The language is currently interpreted, but one I get typechecking working, I should be able to merge in the Wasm codegen backend I'm working on (with eventual plans for LLVM). Current compiler has zero external dependencies.
Language itself could be described as a mix of OCaml, Scheme, and Lua. Currently working on the hygienic procedural macro system and system injection through algebraic effects.
[0]: https://github.com/vrtbl/passerine
-
I wrote a Cozy Programming language
Passerine was the next language i decided to try to fit onto paka, but alas this one too was eventually put aside for the time being.
-
Scripting Languages of the Future
Tossing my hat in for Passerine [1]. Gorgeous ML inspired syntax. Built for scripting Rust applications.
Dreaming here: Lua is a fantastic scripting language, but the Rust FFI isn’t as ergonomic as it could be. Enter Luster [2], which is basically LuaJIT rewritten in Rust.
Embedding a scripting language in a Rust application gives you tons of power (e.g. scripting Rust structs from Lua [3]), and setting this up isn’t terribly difficult.
[1] https://github.com/vrtbl/passerine
[2]: https://github.com/kyren/luster
[3]: https://git.sr.ht/~ioiojo/kiwi
- GitHub - vrtbl/passerine: A small extensible programming language designed for concise expression with little code.
-
Extensible syntax?
Seed7 and https://github.com/vrtbl/passerine (and seemingly more as others have suggested) have direct / first-class support of syntax declaration/definition in a homoiconic way, as powerful as LISPs, but feels more "natural" compared to a LISP.
-
Achieving nullable ergonomics with a real optional type without special compiler privileges.
It used to work pretty well only if the core PL makes semicolons programmable, but given the development of effect systems, plus customizable syntax as in https://github.com/ThomasMertes/seed7 and https://github.com/vrtbl/passerine , I'd say, there are much more we can do about it.
-
Passerine: An extensible and expressive new programming language
git clone https://github.com/vrtbl/passerine
- Passerine — extensible functional scripting langauge — 0.9.0 Released!
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
ldc - The LLVM-based D Compiler.
xvm - Ecstasy and XVM
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
langs-in-rust - A list of programming languages implemented in Rust, for inspiration.
dextool - Suite of C/C++ tooling built on LLVM/Clang
seed7 - Source code of Seed7
Odin - Odin Programming Language
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
piccolo - An experimental stackless Lua VM implemented in pure Rust