Add README.md
This commit is contained in:
parent
10b1417e03
commit
2919d75f14
51
README.md
Normal file
51
README.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# 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.
|
Loading…
Reference in New Issue
Block a user