Rosetta Code/Find unimplemented tasks: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 136:
Integer'Image (Last_Index ((All_Tasks))));
end Not_Coded;</lang>
 
=={{header|AutoHotkey}}==
 
Line 541 ⟶ 542:
stderr.println(`$p${p.eStack()}`)
}</lang>
 
=={{header|Erlang}}==
init_http/0 is used by many tasks. rosetta_code_list_of/1 is used by [[Rosetta_Code/Rank_languages_by_popularity]]
Line 1,450 ⟶ 1,452:
 
'''See also:''' [[User:ImplSearchBot/Code]]
 
=={{header|Perl 6}}==
{{works with|Rakudo|2018.04.1}}
<lang perl6>use HTTP::UserAgent;
use URI::Escape;
use JSON::Fast;
use Sort::Naturally;
 
unit sub MAIN( Str :$lang = 'Perl_6' );
 
my $client = HTTP::UserAgent.new;
my $url = 'http://rosettacode.org/mw';
 
my @total;
my @impl;
 
@total.append: .&get-cat for 'Programming_Tasks', 'Draft_Programming_Tasks';
@impl = get-cat $lang;
 
say "Unimplemented tasks in $lang:";
.say for (@total (-) @impl).keys.sort: *.&naturally;
 
sub get-cat ($category) {
flat mediawiki-query(
$url, 'pages',
:generator<categorymembers>,
:gcmtitle("Category:$category"),
:gcmlimit<350>,
:rawcontinue(),
:prop<title>
).map({ .<title> });
 
sub mediawiki-query ($site, $type, *%query) {
my $url = "$site/api.php?" ~ uri-query-string(
:action<query>, :format<json>, :formatversion<2>, |%query);
my $continue = '';
 
gather loop {
my $response = $client.get("$url&$continue");
my $data = from-json($response.content);
take $_ for $data.<query>.{$type}.values;
$continue = uri-query-string |($data.<query-continue>{*}».hash.hash or last);
}
 
sub uri-query-string (*%fields) { %fields.map({ "{.key}={uri-escape .value}" }).join("&") }</lang>
 
=={{header|Phix}}==
Line 1,838 ⟶ 1,793:
(show-unimplemented 'Racket) ; see all of the Racket entries
</lang>
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
{{works with|Rakudo|2018.04.1}}
<lang perl6>use HTTP::UserAgent;
use URI::Escape;
use JSON::Fast;
use Sort::Naturally;
 
unit sub MAIN( Str :$lang = 'Perl_6' );
 
my $client = HTTP::UserAgent.new;
my $url = 'http://rosettacode.org/mw';
 
my @total;
my @impl;
 
@total.append: .&get-cat for 'Programming_Tasks', 'Draft_Programming_Tasks';
@impl = get-cat $lang;
 
say "Unimplemented tasks in $lang:";
.say for (@total (-) @impl).keys.sort: *.&naturally;
 
sub get-cat ($category) {
flat mediawiki-query(
$url, 'pages',
:generator<categorymembers>,
:gcmtitle("Category:$category"),
:gcmlimit<350>,
:rawcontinue(),
:prop<title>
).map({ .<title> });
 
sub mediawiki-query ($site, $type, *%query) {
my $url = "$site/api.php?" ~ uri-query-string(
:action<query>, :format<json>, :formatversion<2>, |%query);
my $continue = '';
 
gather loop {
my $response = $client.get("$url&$continue");
my $data = from-json($response.content);
take $_ for $data.<query>.{$type}.values;
$continue = uri-query-string |($data.<query-continue>{*}».hash.hash or last);
}
 
sub uri-query-string (*%fields) { %fields.map({ "{.key}={uri-escape .value}" }).join("&") }</lang>
 
=={{header|Ring}}==
10,351

edits