1 unstable release

0.1.0 Feb 18, 2024

#975 in Procedural macros

0BSD license

4KB
50 lines

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.

Dependencies

~18KB