Jonathan Worthington, a Perl 6 (Rakudo) and MoarVM developer, publishes talks and slides on concurrency, typing, and performance.
HN links his slides as resources for learning Perl 6 and for its concurrency and mixed static and dynamic typing.
> Perl6 has been under development for over a decade at this point, and this equivocating statement is the best that can be said about performance? If the "work is clear, the goals are straightforward" and Perl 6 should easily outstrip Perl 5 on performance, then by gosh they should demonstrate that.
As the other of the post in question, I refer you to this presentation: https://www.youtube.com/watch?v=QNeu0wK92NE
It's fairly decent, but there's still a huge amount of backstory left out of it. In short: in many areas Perl 6 is pretty close to on par with most dynamic languages today. In other areas, performance is still an issue.
> If performance is a major blocker to adoption and it's as straightforward to fix as suggested - it should get done.
(Disclaimer: I'm not the one doing the work mentioned below)
It's being done, but there's a lot of work. There's compile-time analysis with constant folding, eliminating unnecessary scopes, inlining native ops, code rewriting to faster equivalents, etc. But that can only take you so far.
The run time optimizer is hard work, but that's where the good stuff is at. There's a very lightweight optimizer that builds a statistical model of the program and that's very helpful. For example, we can tell if a codepath is hot or not and that model than lets us do all sorts interesting stuff, such as realizing that a hot method is always getting called with an int, so we can skip multi-dispatch lookups, assume an int, and just have a fast…
I won't comment on Parrot, because I know nothing of Parrot or Perl 6 internals. But from what I hear and read on the internet, the new VM, Moar VM is doing pretty good as a parrot replacement.
P6 still faces an adoption cycle that's more difficult than that of Python 3.
I don't see how, especially when p5 developers are saying they will continue to support p5 long after p6 is released. And p6 is such a far drift from p5 that you can almost call it a new language. And no one if their right frame of mind will re write all p5 software in p6.
So it will be p6 for any new projects and p5 supported all along.
There's no plan for P6 to replace Perl (partly to avoid that adoption pain, for one, and partly because P6 has taken so long, there wouldn't be any Perl users remaining unless P6 had publicly changed its strategy).
From what I read(Again, I have no personal contributions or sources and I rely on what I read or hear on the internet) in http://jnthn.net/papers/2014-fosdem-perl6-today.pdf [pdf] rakudo is very close to spec completeness. And bulk of the effort currently is implementing last bits of spec and improving the speed.
Python's transition hasn't been quick or easy, but it's gone much, much better than the P6 fiasco.
Python is hardly comparable with Perl 6. They just changed a print statement and iterators in Python 3. Perl 6 is a very different story completely altogether.
It's too bad Perl6's interesting approaches to concurrency aren't mentioned here. Supporting concurrency and parallelism were key points in the design of Perl6, and in the multi-paradigmatic way of Perl, it provides a variety of tools.
Jonathan Worthington can write and speak about this topic far better than I can so I refer you to his talk and slides:
1. http://www.jnthn.net/papers/2018-conc-par-8-ways.pdf
2.C https://www.youtube.com/watch?v=l2fSbOPeSQs
> actually not quite. given the plethora of libraries/frameworks etc. for perl-5, why would perl-5 programmers move to perl-6 ?
I'm a Perl 5 programmer. Perl 6 is a more perly Perl. I can use my Perl 5 modules if I really want, but I can write better specified, safer and more logical code. Just having simple functions like 'whenever' makes developing fun and easy.
Please see http://jnthn.net/papers/2015-yapcasia-concurrency.pdf for context
I've found these resources helpful for learning Perl 6:
http://learnxinyminutes.com/docs/perl6/ is a pretty good intro to Perl 6 if you just want to jump into things.
http://www.jnthn.net/papers/2015-spw-perl6-course.pdf is more slowly paced but provides greater detail.
Also, the people in #perl6 on Freenode are all awesome and are usually quick to help beginners unless they are in the middle of fixing some crazy bug.
Perl 6 elegantly blends static nominal typing and arbitrarily loose or tight dynamic constraints.
The following slides were published a week or so ago and should demolish most folks' overly simplistic view that one or other is best or indeed that they don't play well together:
http://jnthn.net/papers/2015-fosdem-static-dynamic.pdf