Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    6

    6guts

    6guts.wordpress.com · Personal blog · on HN since 2010

    6guts is the blog of Jonathan Worthington, a core developer of Rakudo Perl 6 and MoarVM, covering virtual machine and compiler work.

    Visit blogHN submissions
    Languages & CompilersProgramming
    What HN says

    HN links it for Perl 6 implementation internals, such as the MoarVM design and async IO work, and for the language's progress.

    Stats for nerds
    22HN people shared it
    32linked in comments
    151story points
    Jul 2018last shared
    2015people per year2018

    Top posts on HN

    1. 1
      MoarVM: A virtual machine for NQP and Rakudo
      2 people · 40 points · first shared 2013 · 23 comments on HN
    2. 2
      Rakudo Perl 6 Architect Reflects on Last 8 Years
      1 person · 23 points · first shared 2015 · Discussion on HN
    3. 3
      Rakudo Star 2012.02 out – and the focus for 2012.03 (Perl6)
      1 person · 19 points · first shared 2012 · 1 comments on HN
    4. 4
      Perl 6 is biased towards mutators being really simple. That’s a good thing
      2 people · 10 points · first shared 2016 · Discussion on HN
    5. 5
      Porting Perl 6 to the JVM
      1 person · 7 points · first shared 2013 · 1 comments on HN
    6. 6
      Eliminating unrequired guards – MoarVM / Perl 6
      1 person · 6 points · first shared 2018 · Discussion on HN
    7. 7
      NQP (compiler toolkit) and Rakudo (Perl 6 in NQP) being ported to JVM
      2 people · 4 points · first shared 2013 · Discussion on HN
    8. 8
      Speeding up object creation (Perl6)
      1 person · 3 points · first shared 2018 · Discussion on HN
    9. 9
      Perl 6: Building and testing async socket code
      1 person · 3 points · first shared 2016 · 3 comments on HN
    10. 10
      Towards a new general dispatch mechanism in MoarVM
      1 person · 3 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • muraikiJan 2016

      I could give a list of features as to how Perl 6 will make my life as a developer better, but a list of features is not enough to justify adopting a whole new language with a small ecosystem. To adopt a language, it really has to improve your productivity. For instance, I think we've seen this with Go's adoption by people from dynamic languages, as it offered type safety, speed, and concurrency in a package that was generally more readily acceptable to them than Java/C#/Scala/etc.

      jnthn has a great series of blog posts illustrating how many of Perl 6's features come together to make developing a library very easy. To me, this is a great example of "how does Perl 6 help a business": by allowing rapid development of a complex asynchronous application, which is a use case many of us face. He illustrates this by writing a STOMP client for RabbitMQ, going from toy to a serious library: https://6guts.wordpress.com/2016/01/04/not-guts-but-6-part-1/

      I look at this workflow and think, "Wow, I wish I could do things that easily." But now I can, because Perl 6 is out. :)

    • lizmatJul 2018

      Since H. Merijn Brandt started working on the Perl 6 version of Text::CSV, he has kept a log of how long a specific test (referred to as test-t) too to run.

      https://tux.nl/Talks/CSV6/speed.log

      Since then, Rakudo Perl 6 has become more than 100x as fast, at least for this test. And more than 250x as fast using a concurrent version of the test (which was as simple as putting a `.race` in the code).

      This makes it still slower than the Perl 5 version, which uses XS (all parsing logic written in C). But the gap is closing with another round of optimizations to be merged later this week after an extensive refactor that took about 2 months. Of which you will most certainly see a report on https://6guts.wordpress.com , the blog of Jonathan Worthington.

    • raiphNov 2015

      It turns out that the same NFG mechanism developed to support graphemes works for this non-grapheme scenario too:

      "... POSIX doesn’t promise you’ll get UTF-8, or even ASCII. It promises ... a bunch of bytes. We can now cope with this properly – surprisingly enough, thanks to the power of NFG. We now have a special encoding, UTF-8 Clean-8-bit, which turns bytes that are invalid as UTF-8 into synthetics, from which we can recover the original bytes again at output. This means that any filename, environment variable, and so forth can be roundtripped through Perl 6 problem-free. You can concat “.bak” onto the end of such a string, and it’ll still work out just fine."

      From https://6guts.wordpress.com/2015/11/21/what-one-christmas-elf-has-been-up-to/

    • falsedanSep 2017

      > Any benefit you get from using UTF-16 vanishes the moment you need to operate on it like a string, in other words.

      So, don't decode to a string, and do all your character manipulation on the bytes.

      > A better solution is to allow programmers to specify string encoding and default it to UTF-8.

      Absolutely not: the internal representation of a string should be of no interest to a user of your language. The 'best' solution is to represent strings as a list of index lookups into a palette, and to update the palette as new graphemes are seen. This is similar to the approach Perl6 is using[0].

      [0]: https://6guts.wordpress.com/2015/12/05/getting-closer-to-christmas/

    • ash_gtiJul 2017

      Perl6 (with the MoarVM backend at least) should have proper async IO on both network and file IO.

      jnthn (one of the primary contributors to MoarVM) has a write up about recent work done to improve the system here: https://6guts.wordpress.com/2017/06/08/sorting-out-synchronous-io/

    • jedharrisJan 2016

      This is part of a sequence using TDD to refactor and extend a Stomp client. The earlier posts (not doing much with async code) are https://6guts.wordpress.com/2016/01/04/not-guts-but-6-part-1/ and https://6guts.wordpress.com/2016/01/05/not-guts-but-6-part-2/ . There will be more.

    Related

    Jonathan Worthingtonjnthn.net21 people

    Perl 6 hands-on tutorial – A small introduction to a big language [pdf]

    Jonathan Worthington
    Personal · last shared 2021
    Moritz Lenzperlgeek.de17 people

    Perl 6 in 2011 - A Retrospection

    Moritz Lenz
    Personal · last shared 2016
    Parallel Universe Blogblog.paralleluniverse.co45 people

    An Opinionated Guide to Modern Java Development, Part 1

    Parallel Universe Blog
    Company · last shared 2020
    Strangely Consistentstrangelyconsistent.org24 people

    You're in a space of twisty little mazes, all alike

    Strangely Consistent
    Personal · last shared 2026
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026