Wed Sep 13 22:24:24 UTC 2023 Grand Challenge: A Drop-in Perl 5 Interpreter, Written in Rust -- After having some discussions on a certain Perl Monger's chat located in the heat of Texas (and I mean heat), I have concluded that it is time that the Perl 5 interpreter should have a strictly bound workalike, written in Rust. That is, a "perl" interpreter that will run a useful (and ever growing) subset of Perl that functions EXACTLY is it would as executed using a perl binary. This includes one liners and the CLI user experience (UX). The rewriting of UNIX tooling is something that the Rust community seems to be embracing, which I think is pretty revealing. A curated list of the projects appears on Github at the following URL: https://github.com/sts10/rust-command-line-utilities They have a "sed", but now "awk". I strongly recommend they skip the "awk" replacement and go straight for the jugular, a "perl" clone. BUT one that actual Perl programmers would use because it would not offer any surprises (except maybe the lack of some features as it grows into a mature utility). It has become a somewhat of a controversial topic in Perl circles, but will such a slippery slope to Rust from Perl "steal mindshare"? Idk, but I also don't care because if it did it'd would be very well deserved. And it would not be from Perl. It the vampire would suck from the likes of p5p and any potential contributors to it. And me personally, I would never switch to using Rust (I don't use anything except bash or Perl usually); but I would use a "perl" replacement written in Rust - or really anything that would take the path to Community acceptence that I am suggesting. It would still let me write Perl and use "perl" as a commandline chainsaw. And who knows, Rust with all its touted benefits might provide a superior host for Perl than C - since it is C (or C++ that it is meant to replace. Yes, it would be amazing to see an effort create a Perl interpreter, yes a literal replacement for the "perl" binary. It seems only fair given the utilities that are being rewritten in Rust. Here are the ground rules. I can not STRESS strongly enough that in order to avoid the failures of Perl 6/Raku, Perl 7, or a myriad of "perl" forks, this must not have any ambitions other than to properly support Perl as a drop-in replacement. Of course the idea would be for it to be a full replacement with feature parity that tracks happily as a heel dog it's master, the real upstream "perl". 1. It must support a *strict* subset of Perl, as defined by some recent version of the perl binary ( this is not your Mother's Perl 6 debacle) 2. It can't support things that the perl binary does not 3. Same goes for the commandline interface, switches, and options 4. The name of the binary must be an appropriate pun of the word "perl" 5. The pudding proof shall be the proper execution of some subset of perl's expansive test suite; but also the use of it in the wild What's the prize? The individual or team that does with will be held in high esteem and quite possibily inherit the entire Perl kingdom. But I the the actual prize would be, THE DEVELOPERS GET TO NAME IT. I think Darth Perl [1] would even be acceptible, but I digress. I contend that rather than try to poach Rust programmers from Perl, build a bridge for Perl programmers into the Rust world view. Given that a fair corollory to the widely accepted assertion that "only perl can parse Perl", is that "only Perl can replace perl". It clearly follows that in order for Rust to properly introduce Perl programmings to Rust, it must provide a work-a-like, drop-in executable that strives to be feature-for-feature and bug-for-bug compatible with the One True perl. It may not add anything, either. Though as it is build it is acceptible that it provides a growing subset of what perl does. The challenge has been laid. And while Rust may never steal most of the Perl programmers on the earth, it may very way get a large majority of them to run their Perl on an interpretor written in Rust. Would I ever swith to Rust from Perl? H-to-the-NO. Would I ever run my Perl in an interpreter written in Rust? Heck yes I would!1 I look forward to seeing the results of my efforts here. xD Enjoy. LINKS AND REFERENCES: [-] https://github.com/sts10/rust-command-line-utilities [1] https://en.wikipedia.org/wiki/Darth_Vader_grotesque