<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, 27 Apr 2026 11:48:35 +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 "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><item><title><![CDATA[New comment by lizmat in "0.9999 ≊ 1"]]></title><description><![CDATA[
<p>Sadly, that's just Num.gist showing 1.0 as "1" though.<p>say (pi/pi).^name;   # Num</p>
]]></description><pubDate>Tue, 03 Jun 2025 10:06:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=44168259</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=44168259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44168259</guid></item><item><title><![CDATA[New comment by lizmat in "Access Control Syntax"]]></title><description><![CDATA[
<p>Actually, a module can implement any export heuristics by supplying an EXPORT subroutine, which takes positional arguments from the `use` statement, and is expected to return a Map with the items that should be exported.  For example:<p><pre><code>    sub EXPORT() { Map.new: "&frobnicate" => &sum }
</code></pre>
would import the core's "sum" routine, but call it "frobnicate" in the imported scope.<p>Note that the EXPORT sub can also be a multi, if you'd like different behaviour for different arguments.</p>
]]></description><pubDate>Tue, 27 May 2025 07:52:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44104811</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=44104811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44104811</guid></item><item><title><![CDATA[New comment by lizmat in "Trump's attacks on universities get darker, with shadows reaching our shores"]]></title><description><![CDATA[
<p>Everybody is entitled to their opinion, whether they'd be Raku developers or not.</p>
]]></description><pubDate>Sat, 29 Mar 2025 23:19:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43519645</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=43519645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43519645</guid></item><item><title><![CDATA[New comment by lizmat in "Do any languages specify package requirements in import / include statements?"]]></title><description><![CDATA[
<p>The Raku Programming language allows one to specify the required version, the required authority and API level:<p>use Foo::Bar:ver<0.1.2+>:auth<zef:name>:api<2>;<p>would only work if the at least version 0.1.2 of the Foo::Bar module was installed, authored by "zef:name" (basically ecosystem + nick of author), with API level 2.<p>Note that modules can be installed next to each other that have the same name, but different authorities and different versions.<p>Imports from modules are lexical, so one could even have one block use one version of a module, and another block another version.  Which is handy when needing to migrate date between versions :-)</p>
]]></description><pubDate>Thu, 23 Jan 2025 18:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42806280</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42806280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42806280</guid></item><item><title><![CDATA[A highly configurable GNU/Linux with built-in AI]]></title><description><![CDATA[
<p>Article URL: <a href="https://ditana.org">https://ditana.org</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42682751">https://news.ycombinator.com/item?id=42682751</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 13 Jan 2025 12:31:48 +0000</pubDate><link>https://ditana.org</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42682751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42682751</guid></item><item><title><![CDATA[New comment by lizmat in "Some programming language ideas"]]></title><description><![CDATA[
<p>Hi Perlgeek, long time no see!<p>I really wish more people would use Raku  :-)   Because it is all built in there already!  :-)</p>
]]></description><pubDate>Fri, 10 Jan 2025 00:07:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42651152</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42651152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42651152</guid></item><item><title><![CDATA[New comment by lizmat in "Scripting Language Startup Overhead"]]></title><description><![CDATA[
<p>> those numbers show that Perl and Tcl, both "full featured" scripting languages, don't have the least issue on the matter.<p>Anybody using modern Perl will most likely also use Moose, and probably big integers as well.  If you compare startup times with Perl / Moose / big integers with Rakudo (on the same Intel hardware as before):<p>% time perl -MMoose -Mbigint -e ''
real 0.20s
user 0.14s
sys 0.02s<p>% time rakudo -e ''
real 0.16s
user 0.15s
sys 0.04s<p>And suddenly, Raku starts up faster than Perl!  Because Raku comes with a Moose like object system and big integers out of the box, it doesn't need to do anything special to give you those features.<p>So in a way, you're comparing apples with oranges when you're just comparing bare startup times.  Because you are not considering the feature set you get with a bare startup.<p>So your remark was definitely NOT very nice.</p>
]]></description><pubDate>Fri, 27 Dec 2024 00:39:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42519027</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42519027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42519027</guid></item><item><title><![CDATA[New comment by lizmat in "Scripting Language Startup Overhead"]]></title><description><![CDATA[
<p>Startup time is not the strong point of Rakudo.  And it will be a long time before it will.<p>Beyond startup, performance definitely has attention of the core developers:  that's when hot code gets inlined, and JITted to machine code if you're on Intel hardware.  But before that, currently not so much.<p>The best possible startup time that could potentially be reached in the current implementation of Rakudo, is the bare startup time of NQP in which Rakudo is basically implemented.  Compare NQP on an Intel 2.4 GHz i9 on MacOS:<p>% time nqp -e ''
real 0.04s
user 0.03s
sys 0.01s<p>with:<p>% time rakudo -e ''
real 0.15s
user 0.15s
sys 0.03s<p>With NQP taking about 16MB of memory.<p>Raku as a language is selected for its features, its community and possibly for its promise.  Whether that is a disaster or not, is up to the user.<p>Finally, if you want fast startup, don't use a scripting language.</p>
]]></description><pubDate>Thu, 26 Dec 2024 23:17:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42518624</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42518624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42518624</guid></item><item><title><![CDATA[New comment by lizmat in "Unusual Raku Features"]]></title><description><![CDATA[
<p>If this was about my former $work:<p>The company using Perl was able to double its turnover in 3 weeks.<p>The company using Java was still in the design phase.<p>Companies choose their tools depending on their internal culture.  The company using Perl at the time was simply more agile.<p>FWIW, the company that was using Perl is now using Java mostly.  And yes, the culture of the company has changed.  Not sure about cause and effect.</p>
]]></description><pubDate>Wed, 13 Nov 2024 11:10:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42124995</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42124995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42124995</guid></item><item><title><![CDATA[New comment by lizmat in "Demystifying the regular expression that checks if a number is prime (2016)"]]></title><description><![CDATA[
<p>> Fundamentally, Raku regexes are very much like subroutines...<p>And if they're part of a grammar, they're essentially methods on a class.  And a class that can be sub-classed.  Or have roles mixed in, consisting of regexes.</p>
]]></description><pubDate>Sat, 02 Nov 2024 10:07:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42025302</link><dc:creator>lizmat</dc:creator><comments>https://news.ycombinator.com/item?id=42025302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42025302</guid></item></channel></rss>