<commit_before>#!/usr/bin/env perl6
use v6;

constant release-number-offset = 2016;
my @first-rn = (
    95,     # 2016
);

sub MAIN ($year = Date.today.year + 1) {
    if $year < 2016 {
        die "No support for pre-historic release dates";
    }
    my $first-rn = @first-rn[release-number-offset - $year]
                   // 12 * ($year - @first-rn - release-number-offset + 1) + @first-rn[*-1];
    for 1..12 -> $month {
        my $d = Date.new($year, $month, 1);
        ++$d until $d.day-of-week == 6;     # $d is now first Saturday
        $d += 14;                           # ... third Saturday
        say "  $d   Rakudo #", $first-rn + $month - 1;
    }
}<commit_msg>Add 2019 checkpoint to release-dates.p6<commit_after>#!/usr/bin/env perl6
use v6;

constant release-year-offset = 2016;
my %release-number-checkpoints = (
    2016 =>  95,
    2019 => 130,
    # add more if some releases were skipped
);

sub MAIN ($year = Date.today.year + 1) {
    if $year < 2016 {
        die "No support for pre-historic release dates";
    }
    my $releases-jumped = 0; # from known checkpoint
    my $known-year = $year;
    while not defined %release-number-checkpoints{$known-year} {
        $releases-jumped += 12;
        $known-year--;
    }
    my $first-release-number = %release-number-checkpoints{$known-year} + $releases-jumped;

    for 1..12 -> $month {
        my $d = Date.new($year, $month, 1);
        ++$d until $d.day-of-week == 6;     # $d is now first Saturday
        $d += 14;                           # ... third Saturday
        say "  $d   Rakudo #", $first-release-number + $month - 1;
    }
}
{'fraction_non_alphanumeric': 0.15795943454210204, 'fraction_numerical': 0.04240934234787953, 'mean_word_length': 1.9386281588447654, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4702653', 'n_tokens_mistral': 620, 'n_tokens_neox': 544, 'n_words': 149}