qroc

Crates.ioqroc
lib.rsqroc
version0.1.0
sourcesrc
created_at2024-02-18 16:44:25.919341
updated_at2024-02-18 16:44:25.919341
descriptionPerl for procedural macros
homepage
repositoryhttps://gitea.jellypro.xyz/jude/qroc
max_upload_size
id1144207
size4,297
Jude Southworth (JellyWX)

documentation

README

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.

Commit count: 0

cargo fmt