qroc/README.md
2024-02-18 16:18:57 +00:00

52 lines
1.0 KiB
Markdown

# 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,
```rs
fn main() {
println!("{}", add(1, 2));
}
#[perl {
$_ =~ s/populate/a + b/g;
}]
fn add(a: isize, b: isize) -> isize {
populate
}
```
...will compile to...
```rs
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.