J
Jonathan Worthington
jnthn.net · Personal blog · on HN since 2010
Jonathan Worthington, a Perl 6 (Rakudo) and MoarVM developer, publishes talks and slides on concurrency, typing, and performance.
What HN saysHN links his slides as resources for learning Perl 6 and for its concurrency and mixed static and dynamic typing.
21HN people shared it
13linked it in comments
15stories submitted
190story points
6 years agolast shared
2010people per year2026
Most-shared posts
- 1Rakudo Perl 6 and MoarVM Performance Advances [pdf]5 people · 10 points · first shared 2014 · discussion on HN
- 2Reactive Programming in Perl 6 [pdf]5 people · 10 points · first shared 2014 · discussion on HN
- 3State of Perl 6 – JVM, grammers, parallelisation [PDF; Slides]3 people · 6 points · first shared 2014 · discussion on HN
- 4Getting beyond static vs. dynamic [pdf]3 people · 3 points · first shared 2015 · discussion on HN
- 5Perl 6 hands-on tutorial – A small introduction to a big language [pdf]2 people · 111 points · first shared 2015 · 94 comments on HN
- 6Porting Perl 6 to the JVM2 people · 4 points · first shared 2013 · discussion on HN
- 7Rakudo Perl 6 on the JVM (YAPC:EU update)2 people · 3 points · first shared 2013 · 1 comments on HN
- 82015 yapcasia concurrency.pdf2 people · first shared 2016
- 9Using invoke dynamic to teach the JVM a new language [pdf]1 people · 38 points · first shared 2014 · 4 comments on HN
- 10How Perl 6 Works with Unicode (Normalization Form Grapheme) (2015) [pdf]1 people · 3 points · first shared 2019 · discussion on HN
- 11Realizing Raku Macros [video] – Jonathan Worthington1 people · 2 points · first shared 2020 · discussion on HN
- 122015 spw concurrency.pdf1 people · first shared 2015
- 13Rakudo Star 2010 07.msi1 people · first shared 2010
- 142014 yapceu async.pdf1 people · first shared 2015
- 152019 gpw ea.pdf1 people · first shared 2019
What HN people wrote when they linked it
daotoad · 2019-02-26
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
muraiki · 2015-10-07
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.
raiph · 2015-02-12
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
Ovid · 2019-08-30
> 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…
codesections · 2020-09-25
Slides for this talk available at http://www.jnthn.net/papers/2015-fosdem-static-dynamic.pdf
lizmat · 2019-04-17
If it's about Perl 6, perhaps: http://jnthn.net/papers/2015-spw-nfg.pdf ?
bmn__ · 2017-08-29
Accompanying presentation explains the design from the ground up: http://jnthn.net/papers/2017-spw-sockets-services.pdf
hahainternet · 2016-01-13
> 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
kbenson · 2014-09-09
jnthn also has numerous good talks[1] that the slides are fairly self explanatory for.
1: http://www.jnthn.net/articles.shtml
draegtun · 2012-10-08
Jonathan Worthington's slides: http://jnthn.net/papers/2012-yapcasia-modules.pdf
Modules referenced in Jonathan's talk:
* https://github.com/moritz/json/
* https://github.com/jnthn/grammar-debugger/
* https://github.com/jnthn/zavolaj/
* https://github.com/jnthn/rakudo-debugger
prakashk · 2010-07-29
For windows binaries, go to http://www.jnthn.net/perl6/rakudo/Rakudo-Star-2010-07.msi, which is where I got it. It may no t be the standard location, so I am not sure how long it will be available.
kamaal · 2014-05-27
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.