acwj
artichoke
acwj | artichoke | |
---|---|---|
25 | 31 | |
9,952 | 2,998 | |
- | 0.3% | |
2.8 | 9.0 | |
4 months ago | 7 days ago | |
C | Rust | |
GNU General Public License v3.0 only | 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.
acwj
-
Toy C compiler, worth having an IR stage?
I wrote https://github.com/DoctorWkt/acwj. I'm working on a version with an IR so I can add some optimisations to it. I'd say, yes, have an IR :-)
-
Resources for beginners
Here's another resource: https://github.com/DoctorWkt/acwj
-
Why Take a Compiler Course?
I currently study https://github.com/DoctorWkt/acwj which is quite interesting I have to admit.
I'm interested in this topic, because I want to participate in TinyC compiler's development; I use it quite often to run C demos of mine and its execution is instant.
The least I can do is to either fix bugs or extend it to support more C99, C11, C17 features, and why not even C23 as soon as it gets approved?
All I need is to gain the necessary knowledge and experience to jump right in and start fixing things.
- Any good references/tutorials/text’s for building a compiler?
- A Compiler Writing Journey
- Why does Rust have parameters on impl?
-
Toy languages for implementing a compiler.
I took a journey writing my first compiler, and started with just evaluating integer expressions. From there, I moved to adding language features and ended up with a compiler that could compile itself: https://github.com/DoctorWkt/acwj
- Acwj - A Compiler Writing Journey
artichoke
-
Ruby 3.2.0 Is from Another Dimension
The java based ruby, removes the GIL, which provides us real multithreading.
Truffleruby is "A high performance implementation of the Ruby programming language, built on GraalVM." If you prefer there is even a rust based ruby https://github.com/artichoke/artichoke
again, IMO, the microbenchmark, doesn't matter. What matters is the problem domain, whole stack and the whole "speed", including development, deployment and etc, and for some domains, ruby is the best and fast choice.
- Rust front-end merged in GCC trunk
-
Lunatic is an Erlang-inspired runtime for WebAssembly
Not to be pedantic but Ruby has webassembly support, still won't work on the BEAM.
https://github.com/artichoke/artichoke
- Why does Rust have parameters on impl?
-
When I look at ruby code written in C, I have one thought. Why isn't Ruby rewritten in Crystal, which would make use of parallelism?
Artichoke is a Ruby interpreter written in Rust.
- Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.64]
-
Should I be concerned about the quality of crates.io?
The owner of this reserved crate is Ryan Lopopolo who seems to indeed work on artichoke
-
Announcing strftime-ruby v1.0.0, a pure Rust no-std implementation of Ruby 3.1.2 Time#strftime method.
I believe it was written mainly for/within the context of artichoke, which is an implementation of Ruby written (mostly) in Rust. It's a neat project!
- Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.63]
- Artichoke is a Ruby made with Rust
What are some alternatives?
nelua-lang - Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
truffleruby - A high performance implementation of the Ruby programming language, built on GraalVM.
os-tutorial - How to create an OS from scratch
monkey-rust - A dancing with interpreter and compiler
chibicc - A small C compiler
Kubewarden - Kubewarden is a policy engine for Kubernetes. It helps with keeping your Kubernetes clusters secure and compliant. Kubewarden policies can be written using regular programming languages or Domain Specific Languages (DSL) sugh as Rego. Policies are compiled into WebAssembly modules that are then distributed using traditional container registries.
dnsguide - A guide to writing a DNS Server from scratch in Rust
www.rust-lang.org - The home of the Rust website
write-a-C-interpreter - Write a simple interpreter of C. Inspired by c4 and largely based on it.
pen - The parallel, concurrent, and functional programming language for scalable software development
jonesforth - Mirror of JONESFORTH
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.