<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: chromatic</title><link>https://news.ycombinator.com/user?id=chromatic</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 21 Apr 2026 12:54:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chromatic" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chromatic in "Perl's decline was cultural"]]></title><description><![CDATA[
<p>Maybe until the 2001 O'Reilly layoffs. Tim hired Larry for about 5 years, but that was mostly working on the third edition of the Camel. A handful of other Perl luminaries worked there at the same time (Jon Orwant, Nat Torkington).<p>When I joined in 2002, there were only a couple of developers in general, and no one sponsored to work on or evangelize any specific technology full time. Sometimes I wonder if Sun had more paid people working on Tcl.<p>I don't mean to malign or sideline the work anyone at ORA or ActiveState did in those days. Certainly the latter did more work to make Perl a first-class language on Windows than anyone. Yet that's very different from a funded Python Software Foundation or Sun supporting Java or the entire web browser industry funding JavaScript or....</p>
]]></description><pubDate>Tue, 09 Dec 2025 00:21:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46199681</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=46199681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46199681</guid></item><item><title><![CDATA[New comment by chromatic in "Perl's decline was cultural"]]></title><description><![CDATA[
<p>Excellent point in the last paragraph. Python, JavaScript, Rust, Swift, and C# all have/had business models and business advocates in a way that Perl never did.</p>
]]></description><pubDate>Sun, 07 Dec 2025 22:11:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46185745</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=46185745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46185745</guid></item><item><title><![CDATA[New comment by chromatic in "JIT: So you want to be faster than an interpreter on modern CPUs"]]></title><description><![CDATA[
<p>This is an embarrassing context to admit, but here goes.<p>Back when Parrot was a thing and the Perl 6 people were targeting it, I profiled the prelude of Perl 6 to optimize startup time and discovered two things:<p>- the first basic block of the prelude was thousands of instructions long (not surprising)
- the compiler had to allocate thousands of registers because the prelude instructions used virtual registers<p>The prelude emitted two instructions, one right after another: load a named symbol from a library, then make it available. I forget all of the details, but each of those instructions either one string register and one PMC register. Because register allocation used the dominance frontier method, the size of the basic block and total number of all symbolic registers dominated the algorithm.<p>I suggested a change to the prelude emitter to reuse actual registers and avoid virtual registers and compilation sped up quite a bit.</p>
]]></description><pubDate>Tue, 14 Oct 2025 02:17:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45575561</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=45575561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45575561</guid></item><item><title><![CDATA[New comment by chromatic in "[dead]"]]></title><description><![CDATA[
<p>I wrote the book Modern Perl by hand, and it's accurate and freely available. I wonder how much of the linked book relies on what I already wrote:<p><a href="https://www.modernperlbooks.com/books/modern_perl_2016/" rel="nofollow">https://www.modernperlbooks.com/books/modern_perl_2016/</a></p>
]]></description><pubDate>Sun, 14 Sep 2025 21:06:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45243255</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=45243255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45243255</guid></item><item><title><![CDATA[New comment by chromatic in "How Python grew from a language to a community"]]></title><description><![CDATA[
<p>I prefer Perl's approach for both:<p><pre><code>    use v5.40;

    ....

</code></pre>
That's explicit, tied to a specific version, and executable code which can be scoped to a single source file.<p>(I'd argued for that feature for years with my `Modern::Perl` feature bundle; glad to see that can be deprecated now.)</p>
]]></description><pubDate>Mon, 04 Aug 2025 15:26:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=44787162</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=44787162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44787162</guid></item><item><title><![CDATA[New comment by chromatic in "Proxmox Donates €10k to the Perl and Raku Foundation"]]></title><description><![CDATA[
<p>I'm not aware of any published books yet, but I'd like to publish a 5th edition of Modern Perl sometime, and it will include the native object model.</p>
]]></description><pubDate>Wed, 23 Jul 2025 23:11:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44665015</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=44665015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44665015</guid></item><item><title><![CDATA[New comment by chromatic in "Good Writing"]]></title><description><![CDATA[
<p>That's fair; I appreciate it.</p>
]]></description><pubDate>Sun, 25 May 2025 01:52:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44084961</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=44084961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44084961</guid></item><item><title><![CDATA[New comment by chromatic in "Good Writing"]]></title><description><![CDATA[
<p>If there's more than "good editing often improves writing" I didn't see it in the essay.</p>
]]></description><pubDate>Sat, 24 May 2025 19:06:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44083128</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=44083128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44083128</guid></item><item><title><![CDATA[New comment by chromatic in "Significant features introduced for recent versions of Perl"]]></title><description><![CDATA[
<p>Your understanding is mostly accurate.<p>Perl 6 was intended from the start to be the next major release of Perl (at various times, a replacement for a 5.10 or 5.12 or 5.14), and it was intended to have a backwards compatibility mode to run 5.8 (or 5.10 or 5.12) code in the same process, with full interoperability.<p>As time went by, that plan became less and less likely. Some people came up with the idea that Perl and P6 were "sister languages", both to have new major releases. I think this happened sometime around 2009 or so, maybe as early as 2007.<p>Also by 2011 or so, the P6 developers effectively scuttled the backwards compatibility plan and code written to that point, but I've argued that their plan to replace Parrot was a mistake enough here and elsewhere already. (Sometimes I wonder, now that MoarVM is older than Parrot was when Parrot was declared unsuitable, if they've achieved their promised speed and compatibility goals.)</p>
]]></description><pubDate>Sat, 03 Feb 2024 22:13:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=39245286</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=39245286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39245286</guid></item><item><title><![CDATA[New comment by chromatic in "Significant features introduced for recent versions of Perl"]]></title><description><![CDATA[
<p><i>JSON::PP and Cpanel::JSON::XS don't have this problem somehow.</i><p>From my reading of the documentation of the former (especially the MAPPING section), it has the same problem for the same reasons.<p><i>the whole thing is a tangled mess of wrongness</i><p>Perl has monomorphic operators and polymorphic values. Every time someone tries to flip that, whether encoding arbitrary data structures to monomorphic values via a polymorphic visitor pattern, the smart-match experiment, or (as I already mentioned in this story's comments) polymorphic operators for data structure dereferencing, these problems occur.<p>Regardless of whether anyone believes that Perl's operator/value design is good or useful, that's how the language works. Working at cross purposes is an exercise in frustration. (I'll leave analogies about duck typing, contravariance, casting, and type erasure to people who like debating programming language design.)</p>
]]></description><pubDate>Sat, 03 Feb 2024 22:05:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=39245227</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=39245227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39245227</guid></item><item><title><![CDATA[New comment by chromatic in "Significant features introduced for recent versions of Perl"]]></title><description><![CDATA[
<p>It's a language implementation gotcha, not really a library problem. The internal data structure used to represent values is polymorphic and uses flags to represent the types of operations performed on the represented data (numeric, string, etc).<p>The only reliable way to serialize a value with a desired type is to request that type explicitly--as one might do to represent a large integer or very precise decimal in JavaScript or JSON, for example.</p>
]]></description><pubDate>Sat, 03 Feb 2024 20:47:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=39244576</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=39244576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39244576</guid></item><item><title><![CDATA[New comment by chromatic in "Significant features introduced for recent versions of Perl"]]></title><description><![CDATA[
<p>That's because it didn't work reliably. There were at least a couple of situations where Perl would have had to guess which operation you were trying to perform, so the feature was a source of potential bugs.</p>
]]></description><pubDate>Sat, 03 Feb 2024 20:43:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=39244543</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=39244543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39244543</guid></item><item><title><![CDATA[New comment by chromatic in "Significant features introduced for recent versions of Perl"]]></title><description><![CDATA[
<p>I am. I released a new version of the Modern-Perl library a couple of weeks ago (apropos of this story).</p>
]]></description><pubDate>Sat, 03 Feb 2024 20:40:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=39244526</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=39244526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39244526</guid></item><item><title><![CDATA[New comment by chromatic in "Perl 5.38"]]></title><description><![CDATA[
<p><i>IIRC was by and large advertised as such from the get go</i><p>It was not. For many years it was advertised as the next version of Perl (with the intent being perhaps a Perl 5.10 release and then no more major releases with the 5 version number), then years later a "sister language", and then finally now (but not retroactively) a "completely new language in the Perl family".</p>
]]></description><pubDate>Mon, 03 Jul 2023 20:53:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=36578668</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=36578668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36578668</guid></item><item><title><![CDATA[New comment by chromatic in "Making Python fast – Adventures with mypyc"]]></title><description><![CDATA[
<p><i>someone correct me if I'm wrong but this would apply to well known interpreted languages like Perl 5</i><p>Perl uses the same execution method you describe for cPython.</p>
]]></description><pubDate>Wed, 28 Sep 2022 18:44:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=33011639</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=33011639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33011639</guid></item><item><title><![CDATA[New comment by chromatic in "Perl Turns 34 Today"]]></title><description><![CDATA[
<p><i>Slashdot and its associated Everything2 site were written in Perl</i><p>That really takes me back!</p>
]]></description><pubDate>Sun, 19 Dec 2021 03:02:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=29610945</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=29610945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29610945</guid></item><item><title><![CDATA[New comment by chromatic in "TCL: The Tool Command Language – Lisp for the Masses [video]"]]></title><description><![CDATA[
<p><i>AFAICT, O'Reilly's first Ruby book was "Ruby on Rails", published 2006. O'Reilly's "The Ruby Programming Language" wasn't published until 2008.</i><p>O'Reilly published Matz's Ruby in a Nutshell in 2001, but it didn't sell very well. When I worked there, I encouraged more Ruby publishing but only after I published the "Rolling with Ruby on Rails" articles (January 2005) did that argument get much traction.<p>The Pragmatic Programmers released their first Ruby programming book in 2000, by way of comparison (and Dave introduced me to DHH in 2004, which is how I decided to seek out the Rails articles).</p>
]]></description><pubDate>Tue, 26 Oct 2021 21:42:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=29006700</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=29006700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29006700</guid></item><item><title><![CDATA[New comment by chromatic in "The reports of Perl’s death have been greatly exaggerated"]]></title><description><![CDATA[
<p>You're right, that's exactly what I meant!<p>I'm surprised there's no example in perlre(1); perhaps I can get that corrected.</p>
]]></description><pubDate>Fri, 22 Oct 2021 17:55:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=28960363</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=28960363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28960363</guid></item><item><title><![CDATA[New comment by chromatic in "The reports of Perl’s death have been greatly exaggerated"]]></title><description><![CDATA[
<p>No need to copy and then replace:<p><pre><code>  my $a =  'Perl';
  my $b =~ s/pe/ea/ir;</code></pre></p>
]]></description><pubDate>Thu, 21 Oct 2021 19:03:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=28949394</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=28949394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28949394</guid></item><item><title><![CDATA[New comment by chromatic in "Should Perl die gracefully?"]]></title><description><![CDATA[
<p>This is untrue.</p>
]]></description><pubDate>Tue, 01 Jun 2021 18:18:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=27358962</link><dc:creator>chromatic</dc:creator><comments>https://news.ycombinator.com/item?id=27358962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27358962</guid></item></channel></rss>