You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rusty Ruby is a comprehensive Ruby implementation that combines the elegance of Ruby with the performance and safety of Rust. It features a multi-tier compilation architecture, advanced garbage collection, and a rich ecosystem of tools and libraries.
8
+
9
+
## 🌟 Key Features
10
+
11
+
-**Multi-tier Compilation**: Interpreter, baseline compiler, and optimizing compiler for balanced performance
12
+
-**Advanced Garbage Collection**: Generational, incremental, and concurrent GC strategies
13
+
-**JIT Compilation**: Just-In-Time compilation for hot code paths
14
+
-**WebAssembly Support**: Run Ruby code in the browser with WASI
15
+
-**Language Server Protocol**: Modern IDE integration
16
+
-**Comprehensive Tooling**: Pure Rust implementations of ruby, irb, gem, rake, rdoc, ri, and testrb
17
+
-**Type Safety**: Core type definitions for seamless Rust-Ruby integration
18
+
-**Macros**: Procedural macros for easy Ruby class and method definition in Rust
19
+
20
+
## 🚀 Quick Start
21
+
22
+
```bash
23
+
# Build the project
24
+
cargo build
25
+
26
+
# Run Ruby scripts
27
+
cargo run --bin ruby script.rb
28
+
29
+
# Start interactive Ruby shell
30
+
cargo run --bin irb
31
+
```
32
+
33
+
## 📁 Project Structure
34
+
35
+
The Rusty Ruby project is organized into multiple crates:
36
+
37
+
-**compilers/ruby**: Main Ruby compiler and runtime
38
+
-**compilers/ruby-ir**: Intermediate Representation for Ruby code
39
+
-**compilers/ruby-lsp**: Language Server Protocol implementation
40
+
-**compilers/ruby-macros**: Procedural macros for Ruby integration
41
+
-**compilers/ruby-tools**: Ruby language tools (ruby, irb, gem, etc.)
42
+
-**compilers/ruby-types**: Core type definitions
43
+
-**compilers/ruby-wasi**: WebAssembly support
44
+
-**frontends/ruby-ts**: TypeScript frontend for WASM integration
45
+
46
+
## 🔧 Development
47
+
48
+
```bash
49
+
# Run tests
50
+
cargo test
51
+
52
+
# Build in release mode
53
+
cargo build --release
54
+
55
+
# Run benchmarks
56
+
cargo bench
10
57
```
11
58
12
-
## Emoji Comment
59
+
## 🤝 Contributing
60
+
61
+
Contributions are welcome! Feel free to open issues or submit pull requests to help improve Rusty Ruby.
Intermediate Representation for Ruby code in Rusty Ruby, providing a foundation for optimization and code generation.
4
+
5
+
## 🎯 Project Overview
6
+
7
+
Ruby-IR is a crate that provides the intermediate representation (IR) for Ruby code compilation in the Rusty Ruby project. It defines the data structures and traversal utilities for representing Ruby code in a form suitable for optimization and code generation.
8
+
9
+
## 🌟 Key Features
10
+
11
+
-**Abstract Syntax Tree (AST) Representation**: Structured representation of Ruby code
12
+
-**Traversal Utilities**: Tools for navigating and manipulating IR nodes
13
+
-**Serialization Support**: Convert IR objects to and from serialized formats
14
+
-**Optimization Framework**: Foundation for code optimization passes
15
+
-**Integration**: Seamlessly works with other Rusty Ruby components
0 commit comments