Hacker News new | past | comments | ask | show | jobs | submit login

Need a comprehensive, up-to-date, yet brief, status of what happened to Perl 6 and where it stands in today's s/w tech.



Perl 6 is basically a totally different language than any other Perl, and it took a very long time to go from announcement (2000) to release (2015). It was renamed to Raku last year.


String parsing - Perl5's forte - is still dog slow with Perl6/Raku and year after year we hear that will change in the future. Don't hold your breath.


Raku's big strengths lie, IMO, in the command line scripting capabilities (the MAIN function), parsing with grammars and powerful new regex syntax, and as a glue language. It's relatively easy to bind to external libraries and work with them.

Look at how easily raku binds to a python charting module in this article: https://www.perl.com/article/plotting-with-perl-6/


But if it's slow at really basic stuff users will ignore it, surely?


Slow is in the eye of the beholder. Sure, for some applications, Perl blows Raku out of the water. Add in some Moose, and the situation is not so different. YMMV.


On my 4-core i7 Macbook Pro parsing a 20Mb log file with a regex takes 9.4 times longer with Raku than Perl5. That's unacceptable. Adding Moose to Perl5 reduces the differential to 7.1 which is still huge.


Do you have a gist of your code and a representative sample of the log file you're parsing?


It's a one-liner:

    for 'logs1.txt'.IO.lines -> $_ { .say if $_ ~~ /<<\w ** 15>>/; }


Perl 6 had its first release in December 2015. Since then, it has been renamed to Raku (https://raku.org using the #rakulang tag on social media). It has monthly releases and a weekly blog: https://rakudoweekly.blog

It supports an improved regex syntax, grammars, Unicode NFG (Normalization Form Grapheme, think "\r\n" as a single codepoint), a gradual type system, async execution of code, junctions, event driven execution, set operations...

Hope this was short enough.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: