<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: lizmat</title><link>https://news.ycombinator.com/user?id=lizmat</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 16:54:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lizmat" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lizmat in "Regex visualized as 3D marble run"]]></title><description><![CDATA[
<p>If you're using Python, you may be in luck: <a href="https://andrewshitov.com/2026/10/03/using-raku-in-python/" rel="nofollow">https://andrewshitov.com/2026/10/03/using-raku-in-python/</a> which specifically shows using Raku grammars / action in Python.</p>
]]></description><pubDate>Sun, 18 Oct 2026 19:13:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=50144292</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=50144292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50144292</guid></item><item><title><![CDATA[New comment by lizmat in "Iosevka is an open-source, sans-serif and slab-serif monospace font"]]></title><description><![CDATA[
<p>Oops, should read better, thanks for the nudge!</p>
]]></description><pubDate>Thu, 15 Oct 2026 11:27:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=50102167</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=50102167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50102167</guid></item><item><title><![CDATA[New comment by lizmat in "Iosevka is an open-source, sans-serif and slab-serif monospace font"]]></title><description><![CDATA[
<p>Raku++ is *not* vibecoding: see <a href="https://dev.to/andrewshitov/comment/3gij4" rel="nofollow">https://dev.to/andrewshitov/comment/3gij4</a></p>
]]></description><pubDate>Wed, 14 Oct 2026 22:46:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=50096580</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=50096580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50096580</guid></item><item><title><![CDATA[New comment by lizmat in "Iosevka is an open-source, sans-serif and slab-serif monospace font"]]></title><description><![CDATA[
<p>Not true: you <i>can</i> use the unicode equivalent as well:<p>say 42 ≤ 666;  # True<p>say 42 ≠ 666;  # True<p>say 42 ≥ 666;  # False<p>For a full list, see <a href="https://docs.raku.org/language/unicode_ascii#Other_acceptable_single_codepoints" rel="nofollow">https://docs.raku.org/language/unicode_ascii#Other_acceptabl...</a></p>
]]></description><pubDate>Wed, 14 Oct 2026 22:44:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=50096562</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=50096562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50096562</guid></item><item><title><![CDATA[New comment by lizmat in "Cro – elegant reactive services in Raku"]]></title><description><![CDATA[
<p>Perl to Raku guide - in a nutshell: <a href="https://docs.raku.org/language/perl-nutshell" rel="nofollow">https://docs.raku.org/language/perl-nutshell</a><p>Perl to Raku guide - operators: <a href="https://docs.raku.org/language/perl-op" rel="nofollow">https://docs.raku.org/language/perl-op</a><p>Perl to Raku guide - functions: <a href="https://docs.raku.org/language/perl-func" rel="nofollow">https://docs.raku.org/language/perl-func</a></p>
]]></description><pubDate>Mon, 03 Aug 2026 09:15:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49153216</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=49153216</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49153216</guid></item><item><title><![CDATA[New comment by lizmat in "Decoding the obfuscated bash script on a Uniqlo t-shirt"]]></title><description><![CDATA[
<p>or<p>raku -e 'say "etbjxntqrdke".comb.map(*.succ).join'</p>
]]></description><pubDate>Wed, 08 Jul 2026 15:10:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48832991</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=48832991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48832991</guid></item><item><title><![CDATA[New comment by lizmat in "The Raku Foundation is born"]]></title><description><![CDATA[
<p>* No separate types of bytestrings versus sequences of unicode codepoints.<p>Fixed in Raku.  You either have a string (Str) or a bytestream (Blob).<p>* Wherever there's strings in any non-trivially-sized real-word Perl 5 project, there is utter irreversible and irredeemable mojibake.<p>No mojibake in Raku.<p>* No canonical way to do object-orientation. (cf. blessed objects, Moo in different versions, and different conventions around how to use them) -- This stuff should be easy in 2026. Perl makes this easy thing really hard.<p>Raku has single object / type system.<p>* Regexes suck. Their brevity is a nice circus stunt for a computer science audience, but unless you follow very particular patterns for composing them from ergonomically named constants, etc. etc. (which "in the wild" I rarely see), they are very unergonomic.<p>Raku regexes allow arbitrary whitespace, can contain comments and are composable.<p>Grammars are collections of tokens / rules / regexes that can be used to build an AST, and actions that can take that AST and build another data structure of it.  A grammar is used to parse Raku itself.<p>Grammars can be subclassed or have rules / regexes mixed in (slangs).<p>* The Perl 5/CPAN ecosystem has been left to rot and is no longer safe for consumption.<p>The Raku ecosystem, albeit much smaller, is growing and actively maintained: <a href="https://raku.land" rel="nofollow">https://raku.land</a></p>
]]></description><pubDate>Fri, 19 Jun 2026 15:40:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48599863</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=48599863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48599863</guid></item><item><title><![CDATA[New comment by lizmat in "The Raku Foundation is born"]]></title><description><![CDATA[
<p>And the original blog post from almost a year ago: <a href="https://dev.to/lizmat/towards-a-raku-foundation-3ne2" rel="nofollow">https://dev.to/lizmat/towards-a-raku-foundation-3ne2</a></p>
]]></description><pubDate>Mon, 15 Jun 2026 14:38:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48541964</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=48541964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48541964</guid></item><item><title><![CDATA[New comment by lizmat in "Official announcement of the start of The Raku Foundation"]]></title><description><![CDATA[
<p>From a blog post, to a problem solving issues, to passing a lot of hurdles: The Raku Foundation is here!<p><a href="https://dev.to/lizmat/a-year-later-a-trf-1lh0" rel="nofollow">https://dev.to/lizmat/a-year-later-a-trf-1lh0</a></p>
]]></description><pubDate>Mon, 15 Jun 2026 13:38:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48541124</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=48541124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48541124</guid></item><item><title><![CDATA[Official announcement of the start of The Raku Foundation]]></title><description><![CDATA[
<p>Article URL: <a href="https://dev.to/lizmat/a-year-later-a-trf-1lh0">https://dev.to/lizmat/a-year-later-a-trf-1lh0</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48541123">https://news.ycombinator.com/item?id=48541123</a></p>
<p>Points: 5</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 15 Jun 2026 13:38:57 +0000</pubDate><link>https://dev.to/lizmat/a-year-later-a-trf-1lh0</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=48541123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48541123</guid></item><item><title><![CDATA[New comment by lizmat in "Wayland set the Linux Desktop back by 10 years?"]]></title><description><![CDATA[
<p>The Rakudo implementation of the Raku Programming Language uses the MoarVM, which is pretty much a generic VM.  All you need to do(TM) is write a grammar and associated actions to build the right bytecode out of the given Python source.</p>
]]></description><pubDate>Fri, 20 Mar 2026 10:50:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47452855</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=47452855</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47452855</guid></item><item><title><![CDATA[Making your JITted Code known: Let me count the ways]]></title><description><![CDATA[
<p>Article URL: <a href="https://wakelift.de/2026/03/09/making-your-jitted-code-known-let-me-count-the-ways/">https://wakelift.de/2026/03/09/making-your-jitted-code-known-let-me-count-the-ways/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47320921">https://news.ycombinator.com/item?id=47320921</a></p>
<p>Points: 9</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 10 Mar 2026 09:31:19 +0000</pubDate><link>https://wakelift.de/2026/03/09/making-your-jitted-code-known-let-me-count-the-ways/</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=47320921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47320921</guid></item><item><title><![CDATA[New comment by lizmat in "The Om Programming Language"]]></title><description><![CDATA[
<p>It also goes from source code to AST:<p><pre><code>  $ raku -e 'say Q|say "Hello World!"|.AST'
  RakuAST::StatementList.new(
    RakuAST::Statement::Expression.new(
      expression => RakuAST::Call::Name::WithoutParentheses.new(
        name => RakuAST::Name.from-identifier("say"),
        args => RakuAST::ArgList.new(
          RakuAST::QuotedString.new(
            segments   => (
              RakuAST::StrLiteral.new("Hello World!"),
            )
          )
        )
      )
    )
  )</code></pre></p>
]]></description><pubDate>Thu, 26 Feb 2026 16:41:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47168426</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=47168426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47168426</guid></item><item><title><![CDATA[New comment by lizmat in "Closing this as we are no longer pursuing Swift adoption"]]></title><description><![CDATA[
<p>> In the raku example, what if the elements were to be multiplied?<p>$ raku -e 'say (0, 1, 2, * × * ... <i>)[^10]'    # for readability
(0 1 2 2 4 8 32 256 8192 2097152)<p>$ raku -e 'say (0, 1, 2, </i> * * ... *)[^10]'    # for typeability
(0 1 2 2 4 8 32 256 8192 2097152)</p>
]]></description><pubDate>Fri, 20 Feb 2026 23:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47095533</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=47095533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47095533</guid></item><item><title><![CDATA[New comment by lizmat in "Draig, a Welsh Programming Language"]]></title><description><![CDATA[
<p>Nothing stopping you from creating a L10N::LA module  :-)</p>
]]></description><pubDate>Sun, 25 Jan 2026 11:44:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46753225</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=46753225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46753225</guid></item><item><title><![CDATA[New comment by lizmat in "“Stop Designing Languages. Write Libraries Instead” (2016)"]]></title><description><![CDATA[
<p>You mean like:<p><pre><code>    my $a of Int = 42;
    say $a;  # 42
</code></pre>
or<p><pre><code>    my $a of Int = "foo";'       
    # Type check failed in assignment to $a; expected Int but got Str ("foo")

?</code></pre></p>
]]></description><pubDate>Thu, 08 Jan 2026 11:33:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46539895</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=46539895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46539895</guid></item><item><title><![CDATA[New comment by lizmat in "Ruby website redesigned"]]></title><description><![CDATA[
<p>FWIW, cannot reproduce on Safari 18.6 on MacOS 15.6.1</p>
]]></description><pubDate>Tue, 23 Dec 2025 10:51:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46364263</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=46364263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46364263</guid></item><item><title><![CDATA[New comment by lizmat in "Perl's decline was cultural"]]></title><description><![CDATA[
<p>Technically, no.  As Rakudo is not a programming language, and Perl6 is a deadname.<p>But there are indeed plenty of people doing projects with the Raku Programming Language.</p>
]]></description><pubDate>Sun, 07 Dec 2025 22:40:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46186050</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=46186050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46186050</guid></item><item><title><![CDATA[New comment by lizmat in "Why is Zig so cool?"]]></title><description><![CDATA[
<p>Please, stop deadnaming the Raku Programming Language  :-)</p>
]]></description><pubDate>Sat, 08 Nov 2025 11:52:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45856027</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=45856027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45856027</guid></item><item><title><![CDATA[New comment by lizmat in "Proxmox Donates €10k to the Perl and Raku Foundation"]]></title><description><![CDATA[
<p>There <i>is</i> a Perl 5 compatibility mode: it's called Inline::Perl5.<p>Maybe not the one that was originally planned.  But that was only a real possibility if Perl 5 would be able to get rid of its XS addiction.<p>Ask yourself: how many of the up river Perl modules are Perl only?</p>
]]></description><pubDate>Wed, 23 Jul 2025 22:31:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44664714</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=44664714</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44664714</guid></item></channel></rss>