Home Quick start All builds News Donations
More
Log In
Light Theme Docs
Workers

SparrowCI Report - gh-melezhik-hub-example | [image: melezhik/sparrow:alpine]

  • Summary
  • Pipeline YAML
  • Report
BuildID: 2622
Status: OK
Image: melezhik/sparrow:alpine
Worker status: OK
---
Date: 16.01.2023 @ 02:46
Time elapsed: 112 sec
---
SCM: https://github.com/melezhik/hub-example.git
Git sha: 849227c
Git comment: Update sparrow.yaml
tasks:
  -
    name: main
    language: Raku
    default: true
    code: |
      for config()<tasks><multifetch><stat><> -> \i {
        say "url: {i<url>} - [{i<status>}]";
      }
    depends:
      -
        name: multifetch

  -
    name: multifetch
    language: Raku
    code: |
      if "{cache_root_dir()}/status.OK".IO ~~ :e {
        update_state %( url => config()<url>, status => "OK" );
      } else {
        update_state %( url => config()<url>, status => "FAIL" );
      }
    init: |
      run_task "fetch"
    subtasks:
      -
        name: fetch
        language: Bash
        code: |
          curl -f $(config url) && touch $cache_root_dir/status.OK
          echo $?
    hub:
      language: Raku
      code: |
        update_state %(
          list => [
              config => { url => "https://raku.org" },
              config => { url => "https://raku.land" },
              config => { url => "http://irclogs.raku.org" },
          ],
        );
02:45:48 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[task run: task.raku - tasks/multifetch-hub]
[dump code: task.raku]
[1] update_state %(
[2]   list => [
[3]       config => { url => "https://raku.org" },
[4]       config => { url => "https://raku.land" },
[5]       config => { url => "http://irclogs.raku.org" },
[6]   ],
[7] );
[8] 
[task stdout]
[task run: task.bash - tasks/multifetch]
[dump code: task.bash]
[1] curl -f $(config url) && touch $cache_root_dir/status.OK
[2] echo $?
[3] 
[task stdout]
02:45:55 :: <!DOCTYPE html>
02:45:55 :: 
02:45:55 :: <!-- Hacking: see NOTES and TODO in this directory -->
02:45:55 :: 
02:45:55 :: <html lang="en">
02:45:55 :: <head>
02:45:55 ::     <meta charset="utf-8">
02:45:55 ::     <meta http-equiv="X-UA-Compatible" content="IE=edge">
02:45:55 ::     <meta name="viewport" content="width=device-width, initial-scale=1">
02:45:55 ::     <title>Raku Programming Language</title>
02:45:55 ::      <meta name="description" content="Home page of the Raku Programming Language." />
02:45:55 ::     <meta name="verify-v1" content="p7bEStVpDsW4ixm9YbF1ck02FRQfdA97ZL9mJnt0iQ0=" />
02:45:55 ::     <meta name="google-site-verification" content="fDTmO9fcCRRgBqbKirQidKJ6nhTqnolHrKrgwVWJxZA" /> 
02:45:55 :: 
02:45:55 ::     <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">
02:45:55 ::     <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
02:45:55 ::     <link href="/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
02:45:55 ::     <link href="/style.css?v=1" rel="stylesheet">
02:45:55 ::     
02:45:55 :: </head>
02:45:55 :: <body>
02:45:55 :: <div class="bg">
02:45:55 ::   <div class="container">
02:45:55 :: 
02:45:55 :: 
02:45:55 :: <nav class="navbar navbar-fixed-top navbar-inverse">
02:45:55 ::   <div class="container">
02:45:55 ::     <div class="navbar-header">
02:45:55 ::       <button type="button" class="navbar-toggle collapsed"
02:45:55 ::         data-toggle="collapse" data-target="#navbar"
02:45:55 ::         aria-expanded="false" aria-controls="navbar">
02:45:55 ::           <span class="sr-only">Toggle navigation</span>
02:45:55 ::           <span class="icon-bar"></span>
02:45:55 ::           <span class="icon-bar"></span>
02:45:55 ::           <span class="icon-bar"></span>
02:45:55 ::       </button>
02:45:55 ::     </div>
02:45:55 ::     <div id="navbar" class="collapse navbar-collapse">
02:45:55 ::       <ul class="nav navbar-nav">
02:45:55 ::          <li id="nav-home" class="active"
02:45:55 ::           ><a href="/">Home</a></li>
02:45:55 ::          <li id="nav-downloads"
02:45:55 ::           ><a href="/downloads">Download</a></li>
02:45:55 ::          <li id="nav-community"
02:45:55 ::           ><a href="/community/">Community</a></li>
02:45:55 ::          <li id="nav-docs" 
02:45:55 ::           ><a href="https://docs.raku.org">Documentation</a></li>
02:45:55 ::          <li id="nav-res" 
02:45:55 ::           ><a href="/resources/">Resources</a></li>
02:45:55 ::          <li id="nav-modules" 
02:45:55 ::           ><a href="https://modules.raku.org/">Modules</a></li>
02:45:55 ::          <li id="nav-fun" 
02:45:55 ::           ><a href="/fun/">Fun</a></li>
02:45:55 ::          <li id="nav-whatever"
02:45:55 ::           ><a href="/whatever/">Whatever</a></li>
02:45:55 ::          <li id="nav-faq"
02:45:55 ::           ><a href="https://docs.raku.org/language/faq">FAQ</a></li>
02:45:55 ::       </ul>
02:45:55 ::     </div>
02:45:55 ::   </div>
02:45:55 :: </nav>
02:45:55 :: 
02:45:55 :: 
02:45:55 :: 
02:45:55 :: 
02:45:55 :: 
02:45:55 :: 
02:45:55 :: 
02:45:55 :: <div class="container-fluid">
02:45:55 ::   <header id="welcome-header" class="row lead">
02:45:55 ::     <div class="col-sm-12">
02:45:55 ::       <div class="panel" style="box-shadow: 1px 1px 3px rgba(0, 0, 0, .3)">
02:45:55 ::         <div class="panel-primary">
02:45:55 ::           <div class="panel-heading">
02:45:55 ::               <h3 class="panel-title">The Raku Conference 2022</h3>
02:45:55 ::           </div>
02:45:55 ::           <div class="panel-body trim" style="background: #fafafa">
02:45:55 ::             <p style="font-size: 81%;"> šŸ¦‹ <a href="https://conf.raku.org/">The Raku Conference 2022</a> was held August 13–14 šŸ¦‹Ā Talk replays <a href="https://conf.raku.org/">now available</a> šŸ¦‹ </p>
02:45:55 ::           </div>
02:45:55 ::         </div>
02:45:55 ::       </div>
02:45:55 ::     </div>
02:45:55 ::     <div class="col-sm-12">
02:45:55 ::       <h1>The <b>Raku</b> Programming Language</h1>
02:45:55 :: 
02:45:55 ::       <a href='https://github.com/perl6/mu/raw/master/misc/camelia.txt'
02:45:55 ::         class="pull-right"><img
02:45:55 ::         src="camelia-logo.png" alt="»ö«"
02:45:55 ::         class="img-responsive"
02:45:55 ::       ></a>
02:45:55 :: 
02:45:55 ::       <p>Hi, my name is Camelia.  I'm the spokesbug for the Raku Programming Language.
02:45:55 ::         Raku has been developed by a team of dedicated and
02:45:55 ::         enthusiastic open source volunteers, and continues to be developed. You
02:45:55 ::         can help too. The only requirement is that you know
02:45:55 ::         how to be nice to all kinds of people (and butterflies). Go to
02:45:55 ::         <a href="https://kiwiirc.com/client/irc.libera.chat/#raku"
02:45:55 ::           >#raku (irc.libera.chat)</a>
02:45:55 ::         and someone will be glad to help you
02:45:55 ::           <a href="/getting-started/">get started</a>.
02:45:55 ::       </p>
02:45:55 ::     </div>
02:45:55 ::   </header>
02:45:55 :: 
02:45:55 ::   <main class="row">
02:45:55 ::     <div class="col-sm-9 row">
02:45:55 ::       <section class="col-sm-4">
02:45:55 ::         <div class="well">
02:45:55 ::           <h3 class="h2 trim-top">Jump in!</h3>
02:45:55 ::           <p>Rakudoā„¢ is a compiler for Raku code. Install it and you're
02:45:55 ::             all set to run Raku programs!</p>
02:45:55 ::           <a href="/downloads/"
02:45:55 ::             class="btn btn-primary btn-lg btn-block"
02:45:55 ::               style="white-space: normal; font-size: 120%">
02:45:55 ::             Download Rakudo
02:45:55 ::           </a>
02:45:55 ::         </div>
02:45:55 ::       </section>
02:45:55 ::       <div class="col-sm-8">
02:45:55 ::         <div class="panel panel-info">
02:45:55 ::           <div class="panel-heading">
02:45:55 ::             <h3 class="panel-title">
02:45:55 ::               Many new features greatly advance our tradition of expressive and feature-rich programming
02:45:55 ::             </h3>
02:45:55 ::           </div>
02:45:55 ::           <div class="panel-body trim">
02:45:55 ::             <ul class="shy-list">
02:45:55 ::                 <li>Object-oriented programming including generics, roles and multiple dispatch</li>
02:45:55 ::                 <li>Functional programming primitives, lazy and eager list evaluation, junctions, autothreading and hyperoperators (vector operators)</li>
02:45:55 ::                 <li>Parallelism, concurrency, and asynchrony including multi-core support</li>
02:45:55 ::                 <li>Definable grammars for pattern matching and generalized string processing</li>
02:45:55 ::                 <li>Optional and gradual typing</li>
02:45:55 ::             </ul>
02:45:55 ::           </div>
02:45:55 ::         </div>
02:45:55 ::       </div>
02:45:55 :: 
02:45:55 ::       <div class="col-sm-12">
02:45:55 ::         <ul class="nav nav-tabs" role="tablist">
02:45:55 ::           <li role="presentation" class="active"
02:45:55 ::             ><a href="#samp-grammars" role="tab"
02:45:55 ::               data-toggle="tab">Grammars</a>
02:45:55 ::           </li>
02:45:55 ::           <li role="presentation"><a href="#samp-async" role="tab" data-toggle="tab">Async &amp; Parallelism</a></li>
02:45:55 ::           <li role="presentation"><a href="#samp-rats" role="tab" data-toggle="tab">Rational Numbers</a></li>
02:45:55 ::           <li role="presentation"><a href="#samp-lazy" role="tab" data-toggle="tab">Lazy Evaluation</a></li>
02:45:55 ::           <li role="presentation"><a href="#samp-more" role="tab" data-toggle="tab">More…</a></li>
02:45:55 ::         </ul>
02:45:55 ::         <div class="tab-content">
02:45:55 ::           <div role="tabpanel" class="tab-pane active" id="samp-grammars">
02:45:55 ::     <div class="highlight"><pre><span class="Statement">grammar</span> Parser {
02:45:55 ::     <span class="Statement">rule</span>  TOP  {<span class="Constant"> I </span><span class="Special">&lt;</span>love<span class="Special">&gt;</span><span class="Constant"> </span><span class="Special">&lt;</span>lang<span class="Special">&gt;</span><span class="Constant"> </span>}
02:45:55 ::     <span class="Statement">token</span> love {<span class="Constant"> </span><span class="Special">'</span><span class="Constant">♄</span><span class="Special">'</span><span class="Constant"> </span><span class="Special">|</span><span class="Constant"> love </span>}
02:45:55 ::     <span class="Statement">token</span> lang {<span class="Constant"> </span><span class="Special">&lt; </span><span class="Constant">Raku Perl Rust Go Python Ruby </span><span class="Special">&gt;</span><span class="Constant"> </span>}
02:45:56 :: }
02:45:56 :: 
02:45:56 :: <span class="Identifier">say</span> Parser<span class="Statement">.</span>parse<span class="Statement">:</span> <span class="Special">'</span><span class="Constant">I ♄ Raku</span><span class="Special">'</span><span class="Statement">;</span>
02:45:56 :: <span class="Comment"># OUTPUT: ļ½¢I ♄ Rakuļ½£ love =&gt; 「♄」 lang =&gt; ļ½¢Rakuļ½£</span>
02:45:56 :: 
02:45:56 :: <span class="Identifier">say</span> Parser<span class="Statement">.</span>parse<span class="Statement">:</span> <span class="Special">'</span><span class="Constant">I love Perl</span><span class="Special">'</span><span class="Statement">;</span>
02:45:56 :: <span class="Comment"># OUTPUT: ļ½¢I love Perlļ½£ love =&gt; ļ½¢loveļ½£ lang =&gt; ļ½¢Perlļ½£</span></pre></div>
02:45:56 ::           </div>
02:45:56 ::           <div role="tabpanel" class="tab-pane" id="samp-async">
02:45:56 ::     <div class="highlight"><pre>start { <span class="Identifier">sleep</span> <span class="Constant">1.5</span><span class="Statement">;</span> <span class="Identifier">print</span> <span class="Special">&quot;</span><span class="Constant">hi</span><span class="Special">&quot;</span> }
02:45:56 :: await Supply<span class="Statement">.</span>from-list(<span class="Special">&lt;</span><span class="Constant">A B C D E F</span><span class="Special">&gt;</span>)<span class="Statement">.</span>throttle<span class="Statement">:</span> <span class="Constant">2</span><span class="Statement">,</span> {
02:45:56 ::     <span class="Identifier">sleep</span> <span class="Constant">0.5</span><span class="Statement">;</span>
02:45:56 ::     <span class="Statement">.</span><span class="Identifier">print</span>
02:45:56 :: }
02:45:56 :: 
02:45:56 :: <span class="Comment"># OUTPUT: ABCDhiEF</span></pre></div>
02:45:56 ::     </div>
02:45:56 ::     <div role="tabpanel" class="tab-pane" id="samp-rats">
02:45:56 ::     <div class="highlight"><pre><span class="Comment"># No floating point noise:</span>
02:45:56 :: <span class="Identifier">say</span> <span class="Constant">0.1</span> <span class="Statement">+</span> <span class="Constant">0.2</span> <span class="Statement">==</span> <span class="Constant">0.3</span><span class="Statement">;</span>        <span class="Comment"># OUTPUT: True</span>
02:45:56 :: <span class="Identifier">say</span> (<span class="Constant">1</span><span class="Statement">/</span><span class="Constant">13</span> <span class="Statement">+</span> <span class="Constant">3</span><span class="Statement">/</span><span class="Constant">7</span> <span class="Statement">+</span> <span class="Constant">3</span><span class="Statement">/</span><span class="Constant">8</span>)<span class="Statement">.</span><span class="Identifier">raku</span><span class="Statement">;</span> <span class="Comment"># OUTPUT:  &lt;641/728&gt;</span></pre></div>
02:45:56 ::     </div>
02:45:56 ::     <div role="tabpanel" class="tab-pane" id="samp-lazy">
02:45:56 ::             <div class="highlight"><pre><span class="Comment"># Infinite list of primes:</span>
02:45:56 :: <span class="Special">my</span> <span class="Identifier">@</span><span class="Identifier">primes</span> <span class="Statement">=</span> <span class="Statement">^</span>āˆž <span class="Statement">.</span><span class="Identifier">grep</span><span class="Statement">:</span> <span class="Statement">*.</span><span class="Identifier">is</span><span class="Statement">-</span>prime<span class="Statement">;</span>
02:45:56 :: <span class="Identifier">say</span> <span class="Special">&quot;</span><span class="Constant">1001ˢᵗ prime is </span><span class="Identifier">@</span><span class="Identifier">primes</span>[<span class="Constant">1000</span>]<span class="Special">&quot;</span><span class="Statement">;</span>
02:45:56 :: 
02:45:56 :: <span class="Comment"># Lazily read words from a file</span>
02:45:56 :: <span class="Statement">.</span><span class="Identifier">say</span> <span class="Statement">for</span> <span class="Special">'</span><span class="Constant">50TB.file.txt</span><span class="Special">'</span><span class="Statement">.</span><span class="Type">IO</span><span class="Statement">.</span>words<span class="Statement">;</span></pre></div>
02:45:56 ::             </div>
02:45:56 ::           <div role="tabpanel" class="tab-pane" id="samp-more">
02:45:56 ::             <p class="lead text-center well"
02:45:56 ::               style="padding-top: 20px;">Want to see more?
02:45:56 ::                 <a href="https://examples.raku.org/"
02:45:56 ::               class="btn btn-primary">Visit Raku examples page</a>
02:45:56 ::             </p>
02:45:56 ::           </div>
02:45:56 ::         </div>
02:45:56 ::       </div>
02:45:56 ::     </div>
02:45:56 ::     <div class="col-sm-3">
02:45:56 ::       <div class="panel panel-success">
02:45:56 ::         <div class="panel-heading">
02:45:56 ::           <h3 class="panel-title text-center">Recent Blog Posts
02:45:56 ::             <small>
02:45:56 ::                 <a href="https://planet.raku.org/">[view more]</a>
02:45:56 ::                 <a href="https://planet.raku.org/atom.xml"
02:45:56 ::                   class="recent_blogs_rss">RSS</a>
02:45:56 ::             </small>
02:45:56 ::           </h3>
02:45:56 ::         </div>
02:45:56 ::         <div class="panel-body trim">
02:45:56 ::           <ul id="recent_blog_posts">
02:45:56 :: 
02:45:56 ::           </ul>
02:45:56 ::         </div>
02:45:56 ::       </div>
02:45:56 ::     </div>
02:45:56 ::   </main>
02:45:56 :: 
02:45:56 ::   <div class="panel panel-default">
02:45:56 ::     <div class="panel-body">
02:45:56 ::       <h3 class="trim-top">Successfully used in production at</h3>
02:45:56 :: 
02:45:56 ::       <div id="ref-logos">
02:45:56 ::         <img src="images/edument-logo.png" alt="Edument">
02:45:56 ::         <img src="images/atikon-logo.png" alt="Atikon">
02:45:56 ::         <img src="images/oetiker_partner-logo.png" alt="Oetiker+Partner">
02:45:56 ::         <img src="images/haltec-logo.png" alt="HALTEC Hallensysteme" id="haltec-logo">
02:45:56 ::         <img src="images/qbrc-logo.jpg" alt="QBRC">
02:45:56 ::         <img src="images/cns-logo.png" alt="CNS Technical Group" id="cns-logo">
02:45:56 ::         <img src="images/helpshift-logo.png" alt="Helpshift" id="helpshift-logo">
02:45:56 ::         <img src="images/henley_cloud_consulting-logo.png" alt="Henley Cloud Consulting">
02:45:56 ::       </div>
02:45:56 :: 
02:45:56 ::       <small class="pull-right">The trademarks are the property of their respective owners.</small>
02:45:56 ::     </div>
02:45:56 ::   </div>
02:45:56 :: </div>
02:45:56 ::   </div>
02:45:56 :: </div>
02:45:56 :: 
02:45:56 :: <footer>
02:45:56 ::   <div class="container">
02:45:56 ::     <div class="row">
02:45:56 ::       <section class="col-sm-6 col-md-5ths">
02:45:56 ::         <h4><a href="/community/">Community</a></h4>
02:45:56 ::         <ul class="shush-list">
02:45:56 ::           <li><a href="/community/irc">#raku IRC channel</a>: <a href="irc://irc.libera.chat/#raku">system IRC client</a>
02:45:56 ::           or&nbsp;<a href="https://kiwiirc.com/client/irc.libera.chat/#raku">chat live in your browser</a></li>
02:45:56 ::           <li><a href="/community/rosettacode">Raku on Rosetta Code</a>, <a href="https://planet.raku.org/">Blogs</a></li>
02:45:56 ::         </ul>
02:45:56 :: 
02:45:56 ::         <a href="/community/" class="btn btn-success">More</a>
02:45:56 ::       </section>
02:45:56 :: 
02:45:56 ::       <section class="col-sm-6 col-md-5ths">
02:45:56 ::         <h4><a href="/resources/">Resources</a></h4>
02:45:56 ::         <ul class="shush-list">
02:45:56 ::           <li><a href="/getting-started/">Getting started</a></li>
02:45:56 ::           <li><a href="https://docs.raku.org/">Raku Documentation</a></li>
02:45:56 ::           <li><a href="https://docs.raku.org/language.html#Migration_guides">Other languages to Raku</a>,
02:45:56 ::               an introduction for programmers</li>
02:45:56 ::         </ul>
02:45:56 ::           <a href="/resources/" class="btn btn-success">More</a>
02:45:56 ::       </section>
02:45:56 :: 
02:45:56 ::       <section class="col-sm-6 col-md-5ths">
02:45:56 ::         <h4><a href="https://modules.raku.org/">Modules</a></h4>
02:45:56 :: 
02:45:56 ::         <ul class="shush-list">
02:45:56 ::           <li><a href="https://modules.raku.org/">Raku modules
02:45:56 ::               directory</a></li>
02:45:56 ::           <li><a href="https://modules.raku.org/dist/zef:github">Zef</a> Raku
02:45:56 ::               module manager</li>
02:45:56 ::         </ul>
02:45:56 :: 
02:45:56 ::         <a href="https://modules.raku.org/" class="btn btn-success">More</a>
02:45:56 ::       </section>
02:45:56 :: 
02:45:56 ::       <section class="col-sm-6 col-md-5ths">
02:45:56 ::         <h4><a href="/compilers/">Compilers</a></h4>
02:45:56 ::         <ul class="shush-list">
02:45:56 ::             <li><a href="https://rakudo.org/">Rakudo</a>, a compiler running on
02:45:56 ::                 <a href="https://moarvm.org/">MoarVM</a>,
02:45:56 ::                  the JVM and other backends.</li>
02:45:56 ::         </ul>
02:45:56 ::         <a href="/compilers/" class="btn btn-success">More</a>
02:45:56 ::       </section>
02:45:56 :: 
02:45:56 ::       <section class="col-sm-6 col-md-5ths">
02:45:56 ::         <h4><a href="/specification/">Language Design</a></h4>
02:45:56 ::         <ul class="shush-list">
02:45:56 ::           <li><a href="https://github.com/Raku/roast">Specification</a> -
02:45:56 ::               Official Raku language specification test suite</li>
02:45:56 ::           <li><a href="https://design.raku.org/">Speculations</a> -
02:45:56 ::               historical language design documents</li>
02:45:56 ::         </ul>
02:45:56 ::         <a href="/specification/" class="btn btn-success">More</a>
02:45:56 ::       </section>
02:45:56 :: 
02:45:56 ::       <p class="col-sm-12 text-center"
02:45:56 ::         ><i class="glyphicon glyphicon-info-sign"></i>
02:45:56 ::           If you want to contribute to this page,
02:45:56 ::         <a href="/about/">look here for instructions</a>.<br/>
02:45:56 ::         The RakuĀ® Programming Language
02:45:56 ::       </p>
02:45:56 ::     </div>
02:45:56 ::   </div>
02:45:56 :: </footer>
02:45:56 :: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
02:45:56 :: <script src="/bootstrap/js/bootstrap.min.js"></script>
02:45:56 :: <script src="/js.js"></script>
02:45:56 :: 
02:45:56 :: </body>
02:45:56 :: </html>
02:45:56 :: 0
[task stderr]
02:45:56 ::   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
02:45:56 ::                                  Dload  Upload   Total   Spent    Left  Speed
02:45:56 :: 
02:45:56 ::   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
02:45:56 :: 100 15686    0 15686    0     0  33021      0 --:--:-- --:--:-- --:--:-- 33092
[task run: task.raku - tasks/multifetch]
[dump code: task.raku]
[1] if "{cache_root_dir()}/status.OK".IO ~~ :e {
[2]   update_state %( url => config()<url>, status => "OK" );
[3] } else {
[4]   update_state %( url => config()<url>, status => "FAIL" );
[5] }
[6] 
[task stdout]
[task run: task.bash - tasks/multifetch]
[dump code: task.bash]
[1] curl -f $(config url) && touch $cache_root_dir/status.OK
[2] echo $?
[3] 
[task stdout]
02:46:00 :: 
02:46:00 :: 
02:46:00 :: <!doctype html>
02:46:00 :: 
02:46:00 :: <html lang=en>
02:46:00 :: 
02:46:00 :: <title>Raku Land</title>
02:46:00 :: <meta property="og:title" content="Raku Land">
02:46:00 :: 
02:46:00 :: <link href=/recent/json rel=alternate type=application/json>
02:46:00 :: 
02:46:00 ::     <meta name=description          content="Raku Land is a directory of Raku distributions.">
02:46:00 ::     <meta property="og:description" content="Raku Land is a directory of Raku distributions.">
02:46:00 :: 
02:46:00 ::     <meta property="og:image" content="https://raku.land/logo.png">
02:46:00 ::     <meta property="og:image:width" content=200>
02:46:00 ::     <meta property="og:image:height" content=200>
02:46:00 :: 
02:46:00 :: 
02:46:00 :: <meta name=viewport content="width=device-width">
02:46:00 :: 
02:46:00 :: <link href="/dist/css/common-PFKRAGVP.css" rel=stylesheet><link href="/dist/css/index-R7IGZVIA.css" rel=stylesheet>
02:46:00 :: <script src="/dist/js/common-HPXSUBMW.js" type=module></script>
02:46:00 :: 
02:46:00 ::     
02:46:00 ::     <link rel=next href="?page=2">
02:46:00 :: 
02:46:00 :: <header>
02:46:00 ::     <a id=logo href=/ title=Home><svg viewbox="0 0 16 16"><rect width="16" height="16" rx="2" fill="#ce8"/><path d="M3 12h10M4 7h8M8 3v10" stroke="#444" stroke-width="2"/></svg>
02:46:00 :: </a>
02:46:00 :: 
02:46:00 ::     <a class=btn href=/rand title="Random Distribution">
02:46:00 ::         <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zM5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0"/></svg>
02:46:00 :: 
02:46:00 ::         <span>Rand</span>
02:46:00 ::     </a>
02:46:00 :: 
02:46:00 ::     <a class=btn href=/stats title="Distribution Statistics">
02:46:00 ::         <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h1v15h15v1H0V0zm10 3.5a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v4a.5.5 0 01-1 0V4.9l-3.613 4.417a.5.5 0 01-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 01-.808-.588l4-5.5a.5.5 0 01.758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 01-.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::         <span>Stats</span>
02:46:00 ::     </a>
02:46:00 :: 
02:46:00 ::     <form action=/ id=search>
02:46:00 ::         <input autocomplete=off autofocus name=q
02:46:00 ::             placeholder="Search distributions" type=search value="">
02:46:00 ::     </form>
02:46:00 :: </header>
02:46:00 :: 
02:46:00 :: 
02:46:00 :: <main>
02:46:00 ::     <section>
02:46:00 ::         <p>
02:46:00 ::             Raku Land is a directory of <a href=//raku.org>Raku</a>
02:46:00 ::             distributions.
02:46:00 :: 
02:46:00 ::         <p>
02:46:00 ::             Written itself in Raku, licensed under
02:46:00 ::             <a href=//spdx.org/licenses/Artistic-2.0.html>Artistic 2.0</a>,
02:46:00 ::             and available on
02:46:00 ::             <a href=//gitlab.com/raku-land/raku-land>GitLab</a>;
02:46:00 ::             patches welcome!
02:46:00 :: 
02:46:00 :: 
02:46:00 ::         <h2>Distributions</h2>
02:46:00 :: 
02:46:00 ::         <ul id=dists>
02:46:00 :: <li>        <div class="eco with-tags zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:codesections/_">
02:46:00 ::                     _
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2021-12-11T01:24:31Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 11 Dec 2021
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="14 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 14
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             A meta package for zero-dependency micro packages of under 70 lines of code
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/bundle">
02:46:00 ::                         bundle
02:46:00 ::                 </a><a href="/tags/lowbar">
02:46:00 ::                         lowbar
02:46:00 ::                 </a><a href="/tags/metapackage">
02:46:00 ::                         metapackage
02:46:00 ::                 </a><a href="/tags/micro">
02:46:00 ::                         micro
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco with-tags p6c" title="p6c">
02:46:00 ::             P6C
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/github:FCO/6pm">
02:46:00 ::                     6pm
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2019-10-06T15:27:27Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 6 Oct 2019
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="12 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 12
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Perl6 module dependency manager (aka npm for Perl6)
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/cli">
02:46:00 ::                         cli
02:46:00 ::                 </a><a href="/tags/devel">
02:46:00 ::                         devel
02:46:00 ::                 </a><a href="/tags/install">
02:46:00 ::                         install
02:46:00 ::                 </a><a href="/tags/package">
02:46:00 ::                         package
02:46:00 ::                 </a><a href="/tags/util">
02:46:00 ::                         util
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco with-tags zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:tbrowder/Abbreviations">
02:46:00 ::                     Abbreviations
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-07-23T22:50:41Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 23 Jul 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="2 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 2
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Provides abbreviations for an input set of one or more words
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/abbreviations">
02:46:00 ::                         abbreviations
02:46:00 ::                 </a><a href="/tags/options">
02:46:00 ::                         options
02:46:00 ::                 </a><a href="/tags/text">
02:46:00 ::                         text
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco  zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:colomon/ABC">
02:46:00 ::                     ABC
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2021-03-20T17:21:50Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 20 Mar 2021
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="6 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 6
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Toolkit for dealing with ABC music notation
02:46:00 ::     </li><li>        <div class="eco with-tags zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:jonathanstowe/AccessorFacade">
02:46:00 ::                     AccessorFacade
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-08-07T08:48:36Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 7 Aug 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="3 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 3
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Provides a method trait to turn indivdual get/set subroutines into a single attribute
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/devel">
02:46:00 ::                         devel
02:46:00 ::                 </a><a href="/tags/facade">
02:46:00 ::                         facade
02:46:00 ::                 </a><a href="/tags/util">
02:46:00 ::                         util
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco with-tags zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:lizmat/AccountableBagHash">
02:46:00 ::                     AccountableBagHash
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-01-17T17:02:44Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 17 Jan 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="1 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 1
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             be an accountable BagHash / MixHash
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/util">
02:46:00 ::                         util
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco  p6c" title="p6c">
02:46:00 ::             P6C
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/github:xfix/Acme::Addslashes">
02:46:00 ::                     Acme::Addslashes
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-06-07T14:50:42Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 7 Jun 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="3 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 3
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             PHP security. Now in Perl 6.
02:46:00 ::     </li><li>        <div class="eco with-tags p6c" title="p6c">
02:46:00 ::             P6C
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/github:raku-community-modules/Acme::Advent::Highlighter">
02:46:00 ::                     Acme::Advent::Highlighter
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2021-12-08T12:39:09Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 8 Dec 2021
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="2 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 2
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Preprocessor for Raku Advent Articles
02:46:00 :: <div>            <div class=tags>
02:46:00 :: <a href="/tags/util">
02:46:00 ::                         util
02:46:00 ::                 </a>            </div>
02:46:00 ::         </div>    </li><li>        <div class="eco  zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:raku-community-modules/Acme::Anguish">
02:46:00 ::                     Acme::Anguish
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-05-20T09:38:58Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 20 May 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="16 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 16
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             Use Anguish programming language in your Raku programs
02:46:00 ::     </li><li>        <div class="eco  zef" title="zef">
02:46:00 ::             ZEF
02:46:00 ::         </div>
02:46:00 ::         <header>
02:46:00 ::             <h2>
02:46:00 ::                 <a href="/zef:Kaiepi/Acme::BaseCJK">
02:46:00 ::                     Acme::BaseCJK
02:46:00 ::                 </a>
02:46:00 ::             </h2>
02:46:00 ::             <time class=badge datetime="2022-06-24T02:04:30Z">
02:46:00 ::                 <svg viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 01.5.5V1h8V.5a.5.5 0 011 0V1h1a2 2 0 012 2v11a2 2 0 01-2 2H2a2 2 0 01-2-2V5h16V4H0V3a2 2 0 012-2h1V.5a.5.5 0 01.5-.5"/></svg>
02:46:00 :: 
02:46:00 ::                 24 Jun 2022
02:46:00 ::             </time>
02:46:00 :: <div class=badge title="0 stars">                <svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: 
02:46:00 ::                 0
02:46:00 ::             </div>        </header>
02:46:00 ::         <p>
02:46:00 ::             More digits for more better
02:46:00 ::     </li></ul>
02:46:00 :: 
02:46:00 ::         <nav id=pagination>
02:46:00 ::     <span>
02:46:00 ::         
02:46:00 ::     </span>
02:46:00 ::     <span>
02:46:00 ::         1⁠–10 of 2,139
02:46:00 ::     </span>
02:46:00 ::     <span>
02:46:00 ::         <a href="?page=2">Next</a>
02:46:00 ::     </span>
02:46:00 :: </nav>
02:46:00 :: 
02:46:00 ::     </section>
02:46:00 :: 
02:46:00 :: 
02:46:00 ::     <aside>
02:46:00 ::         <h2><a href=recent>Recent Dists</a></h2>
02:46:00 :: 
02:46:00 ::         <table>
02:46:00 ::             <thead>
02:46:00 ::                 <tr>
02:46:00 ::                     <th>Distribution
02:46:00 ::                     <th><div><svg viewBox="1 1 13.75 13.75"><path d="M2 1a1 1 0 00-1 1v4.586a1 1 0 00.293.707l7 7a1 1 0 001.414 0l4.586-4.586a1 1 0 000-1.414l-7-7A1 1 0 006.586 1H2zm4 3.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0"/></svg>
02:46:00 :: </div>
02:46:00 ::                     <tbody>
02:46:00 :: <tr>            <td><a href="/zef:jmaslak/App::Tasks" title="App::Tasks">App::Tasks</a>
02:46:00 ::             <td>0.3.0
02:46:00 ::         </tr><tr>            <td><a href="/zef:rawleyfowler/Net::Gemini" title="Net::Gemini">Net::Gemini</a>
02:46:00 ::             <td>0.0.2
02:46:00 ::         </tr><tr>            <td><a href="/zef:rawleyfowler/Net::Gemini" title="Net::Gemini">Net::Gemini</a>
02:46:00 ::             <td>0.0.1
02:46:00 ::         </tr><tr>            <td><a href="/zef:finanalyst/Collection-Raku-Documentation" title="Collection-Raku-Documentation">Collection-Raku-Documentation</a>
02:46:00 ::             <td>0.12.3
02:46:00 ::         </tr><tr>            <td><a href="/github:finanalyst/Collection-Raku-Documentation" title="Collection-Raku-Documentation">Collection-Raku-Documentation</a>
02:46:00 ::             <td>0.12.3
02:46:00 ::         </tr><tr>            <td><a href="/zef:finanalyst/Collection" title="Collection">Collection</a>
02:46:00 ::             <td>0.13.3
02:46:00 ::         </tr><tr>            <td><a href="/zef:jmaslak/TCP::LowLevel" title="TCP::LowLevel">TCP::LowLevel</a>
02:46:00 ::             <td>0.1.2
02:46:00 ::         </tr><tr>            <td><a href="/zef:jmaslak/TCP::LowLevel" title="TCP::LowLevel">TCP::LowLevel</a>
02:46:00 ::             <td>0.1.1
02:46:00 ::         </tr><tr>            <td><a href="/zef:antononcube/Lingua::Stem::Portuguese" title="Lingua::Stem::Portuguese">Lingua::Stem::Portuguese</a>
02:46:00 ::             <td>0.1.0
02:46:00 ::         </tr><tr>            <td><a href="/zef:bbkr/Text::Markov" title="Text::Markov">Text::Markov</a>
02:46:00 ::             <td>2.0.0
02:46:00 ::         </tr>
02:46:00 ::         </table>
02:46:00 ::     </aside>
02:46:00 :: 
02:46:00 ::     <aside>
02:46:00 ::         <h2>Popular Dists</h2>
02:46:00 :: 
02:46:00 ::         <table>
02:46:00 ::             <thead>
02:46:00 ::                 <tr>
02:46:00 ::                     <th>Distribution
02:46:00 ::                     <th><div><svg viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256"/></svg>
02:46:00 :: </div>
02:46:00 ::                     <tbody>
02:46:00 :: <tr>            <td><a href="/github:Raku/p6doc" title="p6doc">p6doc</a>
02:46:00 ::             <td>273
02:46:00 ::         </tr><tr>            <td><a href="/cpan:UGEXE/zef" title="zef">zef</a>
02:46:00 ::             <td>193
02:46:00 ::         </tr><tr>            <td><a href="/github:ugexe/zef" title="zef">zef</a>
02:46:00 ::             <td>193
02:46:00 ::         </tr><tr>            <td><a href="/cpan:UFOBAT/Bailador" title="Bailador">Bailador</a>
02:46:00 ::             <td>180
02:46:00 ::         </tr><tr>            <td><a href="/github:masak/Alma" title="Alma">Alma</a>
02:46:00 ::             <td>131
02:46:00 ::         </tr><tr>            <td><a href="/github:tadzik/panda" title="panda">panda</a>
02:46:00 ::             <td>117
02:46:00 ::         </tr><tr>            <td><a href="/cpan:NINE/Inline::Perl5" title="Inline::Perl5">Inline::Perl5</a>
02:46:00 ::             <td>90
02:46:00 ::         </tr><tr>            <td><a href="/zef:raku-community-modules/DBIish" title="DBIish">DBIish</a>
02:46:00 ::             <td>89
02:46:00 ::         </tr><tr>            <td><a href="/cpan:JNTHN/cro" title="cro">cro</a>
02:46:00 ::             <td>84
02:46:00 ::         </tr><tr>            <td><a href="/zef:cro/cro" title="cro">cro</a>
02:46:00 ::             <td>84
02:46:00 ::         </tr>
02:46:00 ::         </table>
02:46:00 ::     </aside>
02:46:00 :: 
02:46:00 ::     <aside>
02:46:00 ::         <h2><a href=prolific>Prolific Authors</a></h2>
02:46:00 :: 
02:46:00 ::         <table>
02:46:00 ::             <thead>
02:46:00 ::                 <tr>
02:46:00 ::                     <th>Author
02:46:00 ::                     <th>#
02:46:00 ::                     <tbody>
02:46:00 :: <tr>            <td><a href="/zef:lizmat" title="Elizabeth Mattijsen (zef:lizmat)">Elizabeth Mattijsen</a>
02:46:00 ::             <td>192
02:46:00 ::         </tr><tr>            <td><a href="/zef:jonathanstowe" title="Jonathan Stowe (zef:jonathanstowe)">Jonathan Stowe</a>
02:46:00 ::             <td>89
02:46:00 ::         </tr><tr>            <td><a href="/zef:raku-community-modules" title="raku-community-modules (zef:raku-community-modules)">raku-community-modules</a>
02:46:00 ::             <td>84
02:46:00 ::         </tr><tr>            <td><a href="/cpan:TYIL" title="Patrick Spek (cpan:TYIL)">Patrick Spek</a>
02:46:00 ::             <td>43
02:46:00 ::         </tr><tr>            <td><a href="/zef:dwarring" title="David Warring (zef:dwarring)">David Warring</a>
02:46:00 ::             <td>43
02:46:00 ::         </tr><tr>            <td><a href="/zef:tony-o" title="tony-o (zef:tony-o)">tony-o</a>
02:46:00 ::             <td>41
02:46:00 ::         </tr><tr>            <td><a href="/zef:FRITH" title="Fernando Santagata (zef:FRITH)">Fernando Santagata</a>
02:46:00 ::             <td>35
02:46:00 ::         </tr><tr>            <td><a href="/cpan:FRITH" title="Fernando Santagata (cpan:FRITH)">Fernando Santagata</a>
02:46:00 ::             <td>32
02:46:00 ::         </tr><tr>            <td><a href="/cpan:MELEZHIK" title="melezhik (cpan:MELEZHIK)">melezhik</a>
02:46:00 ::             <td>29
02:46:00 ::         </tr><tr>            <td><a href="/zef:antononcube" title="Anton Antonov (zef:antononcube)">Anton Antonov</a>
02:46:00 ::             <td>29
02:46:00 ::         </tr>
02:46:00 ::         </table>
02:46:00 ::     </aside>
02:46:00 :: </main>
02:46:00 :: 
02:46:00 :: 
02:46:00 :: 
02:46:00 :: <footer>
02:46:00 ::     <a href=mailto:contact@raku.land>Email</a>
02:46:00 ::     •
02:46:00 ::     <a href=//gitlab.com/raku-land/raku-land>Git</a>
02:46:00 ::     •
02:46:00 ::     <a href=//web.libera.chat#raku-land>IRC</a>
02:46:00 ::     •
02:46:00 ::     <a href=//status.raku.land>Status</a>
02:46:00 :: 
02:46:00 ::     <a href=/build>Built <time datetime="2023-01-16T02:32:23.588669Z">14 mins ago</time></a>
02:46:00 :: </footer>
02:46:00 :: 0
[task stderr]
02:46:00 ::   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
02:46:00 ::                                  Dload  Upload   Total   Spent    Left  Speed
02:46:00 :: 
02:46:00 ::   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
02:46:00 :: 100 20070  100 20070    0     0  33929      0 --:--:-- --:--:-- --:--:-- 33959
[task run: task.raku - tasks/multifetch]
[dump code: task.raku]
[1] if "{cache_root_dir()}/status.OK".IO ~~ :e {
[2]   update_state %( url => config()<url>, status => "OK" );
[3] } else {
[4]   update_state %( url => config()<url>, status => "FAIL" );
[5] }
[6] 
[task stdout]
[task run: task.bash - tasks/multifetch]
[dump code: task.bash]
[1] curl -f $(config url) && touch $cache_root_dir/status.OK
[2] echo $?
[3] 
[task stdout]
02:46:04 :: 0
[task stderr]
02:46:04 ::   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
02:46:04 ::                                  Dload  Upload   Total   Spent    Left  Speed
02:46:04 :: 
02:46:04 ::   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
02:46:04 ::   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
[task run: task.raku - tasks/multifetch]
[dump code: task.raku]
[1] if "{cache_root_dir()}/status.OK".IO ~~ :e {
[2]   update_state %( url => config()<url>, status => "OK" );
[3] } else {
[4]   update_state %( url => config()<url>, status => "FAIL" );
[5] }
[6] 
[task stdout]
02:45:18 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
source directory does not yet exist, download source archive from storage
02:45:21 :: [repository] - installing pack-unpack, version 0.000001
[task run: task.bash - unpack source archive]
[dump code: task.bash]
[1] set -e
[2] 
[3] file=$(config file)
[4] dir=$(config dir)
[5] 
[6] echo "tar -xzf $file "
[7] 
[8] tar -xzf $file
[9] 
[10] if test $dir; then
[11]   ls -l $dir
[12] fi
[13] 
[14] 
[task stdout]
02:45:24 :: tar -xzf source.tar.gz 
[task run: task.raku - tasks/main]
[dump code: task.raku]
[1] for config()<tasks><multifetch><stat><> -> \i {
[2]   say "url: {i<url>} - [{i<status>}]";
[3] }
[4] 
[task stdout]
02:46:11 :: url:  - []
[task stderr]
02:46:11 :: Use of uninitialized value element{'url'} of type Any in string context.
02:46:11 :: Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
02:46:11 ::   in block  at /var/.sparrowdo/env/main/.sparrowdo/tasks/main/task.raku line 2
02:46:11 :: Use of uninitialized value element{'status'} of type Any in string context.
02:46:11 :: Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
02:46:11 ::   in block  at /var/.sparrowdo/env/main/.sparrowdo/tasks/main/task.raku line 2