Perl for procedural macros
Go to file
2024-02-18 16:43:34 +00:00
src Initial commit 2024-02-18 16:09:21 +00:00
.gitignore Initial commit 2024-02-18 16:09:21 +00:00
Cargo.lock Initial commit 2024-02-18 16:09:21 +00:00
Cargo.toml Update Cargo.toml 2024-02-18 16:43:34 +00:00
README.md Add README.md 2024-02-18 16:18:57 +00:00

Qroc

Perl for procedural macros

Have you ever...

  • Thrown a fit over Rust's type system not allowing you to write truly awful code?
  • Really wanted to just generate a tonne of code without having to learn how to correctly write proc macros?

Qroc

Qroc allows you to write Perl directly into procedural macros. For instance,

fn main() {
    println!("{}", add(1, 2));
}

#[perl {
    $_ =~ s/populate/a + b/g;
}]
fn add(a: isize, b: isize) -> isize {
    populate
}

...will compile to...

fn main() {
    println!("{}", add(1, 2));
}

fn add(a: isize, b: isize) -> isize {
    a + b
}

Considerations

This package should be carefully considered before use. The cognitive dissonance of writing Perl alongside Rust is probably too much for even the greatest 10xer to handle. Also, this is blatant developer-environment RCE etc. as a feature. Hence, this package is perfectly safe in SOC2-compliant environments.

Correctness

No effort made.

Compatibility

No effort made. Probably won't work on non-UNIX systems.