»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
00:11
[particle]1 joined
00:13
[particle] left
00:17
[particle]1 left,
[particle] joined
00:18
wildtrees left
00:21
mowcat left
00:27
[particle] left
00:30
Sgeo_ left
|
|||
SmokeMachine | jmerelo, AlexDaniel: github.com/FCO/Red/blob/master/CONTRIBUTING.md | 00:36 | |
AlexDaniel | SmokeMachine: it's better to have a specific section for the squashathon | 00:37 | |
SmokeMachine: so that we can link to that document | 00:38 | ||
SmokeMachine | AlexDaniel: any suggestion of what should be there? | ||
AlexDaniel | SmokeMachine: definitely a link to github.com/FCO/Red/labels/Documentation | 00:39 | |
00:39
cpan-p6 left,
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
|
|||
AlexDaniel | SmokeMachine: maybe more info, but it depends on what you're going to put into the body of these issues | 00:40 | |
SmokeMachine: for inspiration, here are the autogenerated tickets from the unbitrot squashathon: github.com/perl6/ecosystem-unbitrot/issues/587 | 00:41 | ||
SmokeMachine | AlexDaniel: Thank's! I think Ill have to continue tomorrow... | 00:42 | |
AlexDaniel | SmokeMachine: thank you! There's enough time, I think :) | ||
SmokeMachine: I'll let you know how to set up the webhook for squashable6 a bit later | |||
SmokeMachine | AlexDaniel: ok, thanks! | 00:43 | |
AlexDaniel: github.com/rakudo/rakudo/wiki/Mont...-Day#dates still shows 36 things... | |||
but there are 145... | 00:44 | ||
00:46
Actualeyes left
|
|||
AlexDaniel | SmokeMachine: sure, feel free to edit it | 00:53 | |
00:57
rindolf left
00:58
[particle] joined
|
|||
cpan-p6 | New module released to CPAN! Device::HIDAPI (0.0.1) by 03HANENKAMP | 01:12 | |
01:19
[particle] left
01:21
[particle] joined
01:25
Doc_Holliwood left
01:26
[particle]1 joined
01:28
[particle] left
01:32
[particle] joined
01:33
[particle]1 left
01:39
[particle] left
01:41
[particle] joined
01:46
[particle] left
02:03
[particle] joined
02:04
Manifest0 left,
Manifest0 joined
02:18
[particle] left
02:23
khisanth_ left
02:24
MilkmanDan left
02:25
MilkmanDan joined
02:44
khisanth_ joined
02:45
Cabanossi left
02:48
Cabanossi joined
03:12
[particle] joined
03:19
[particle] left
03:38
adu joined
03:46
rindolf joined
04:25
Sgeo joined
04:30
[particle] joined
04:36
[particle]1 joined
04:37
[particle] left
04:44
[particle]1 left
05:08
[particle] joined
05:21
hythm joined
05:31
hcit left
05:39
Cabanossi left
05:44
Cabanossi joined
06:25
jmerelo joined
06:51
hythm left
|
|||
jmerelo | .tell SmokeMachine that looks fine. | 06:52 | |
tellable6 | jmerelo, I'll pass your message to SmokeMachine | ||
06:52
cpan-p6 left
|
|||
jmerelo | .tell SmokeMachine and I see you have written a Contributing.md, so I think we're good to go. | 06:52 | |
tellable6 | jmerelo, I'll pass your message to SmokeMachine | ||
06:53
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
|
|||
Geth | doc: 55eb422a51 | (JJ Merelo)++ | doc/Type/X/Bind/NativeType.pod6 Some proofreading |
06:57 | |
synopsebot | Link: doc.perl6.org/type/X::Bind::NativeType | ||
doc: 0230dda10f | (JJ Merelo)++ | doc/Type/X/Dynamic/NotFound.pod6 Adds exception class, closes #2928 |
|||
synopsebot | Link: doc.perl6.org/type/X::Dynamic::NotFound | ||
06:57
ravenous_ joined
06:59
ravenous_ left
07:00
k0Le left
07:01
k0Le joined
07:04
Xliff joined
|
|||
Xliff | \o | 07:04 | |
Well.... got bored. | |||
Now working on GStreamer. | 07:05 | ||
developer.gnome.org/gstreamer/stable/index.html | |||
gstreamer.freedesktop.org/document...language=c | |||
github.com/Xliff/p6-GStreamer | |||
scream | 07:06 | ||
Oops. | |||
😱 | |||
... yeeaah... that | |||
07:08
kylese joined
|
|||
Xliff | .tell masak Has any of Alma made it into Perl6, yet? | 07:10 | |
tellable6 | Xliff, I'll pass your message to masak | ||
07:11
_jrjsmrtn joined,
ravenous_ joined,
ravenous_ left
07:13
__jrjsmrtn__ left
07:15
stux|RC-- joined
07:16
kini left
07:17
stux|RC-only left
07:23
kini joined
07:32
ravenous_ joined
08:32
Doc_Holliwood joined
09:06
kylese left
|
|||
SmokeMachine | . | 09:14 | |
tellable6 | 2019-08-25T06:52:17Z #perl6 <jmerelo> SmokeMachine that looks fine. | ||
2019-08-25T06:52:57Z #perl6 <jmerelo> SmokeMachine and I see you have written a Contributing.md, so I think we're good to go. | |||
SmokeMachine | jmerelo: I’ll probably create more issues and add body to some of those issues... | 09:16 | |
jmerelo | SmokeMachine: great idea. | 09:26 | |
I'm going to put it in the wiki and announce it | |||
09:28
xmav joined
09:35
xmav left,
ufobat joined
|
|||
ufobat | m: Backtrace.new.gist.say | 09:35 | |
camelia | Backtrace(3 frames) | ||
ufobat | m: sub a($i) { my $bt = Backtrace.new; die "i: $i and { $bt.list.elems } " if $bt.list.elems != $i; a($i+1) }; a(4) | 09:36 | |
camelia | i: 100 and 101 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 in sub a at <tmp> line 1 … |
||
ufobat | why is that? | ||
jmerelo | why is what? | 09:37 | |
El_Che | that | ||
Geth | doc: Kaiepi++ created pull request #2968: Document Metamodel::Versioning |
||
ufobat | why does the Backtrace.new.list.elems not reflect to the number of calls I made to a() | ||
i am playing around with recursive calls, and I wand to find out how "deep" I am in the recursion. I was hoping that Backtrace can help me out | 09:39 | ||
but the maximum depth I get is 101 | |||
perl5 yielded a "Deep recoursion", since i dont considder 101 to be quite deep.. Is there a way I could for example rather terminate my programm then consuming all the memory :) | 09:42 | ||
jmerelo | ufobat: I'm not sure you can access memory used from Perl 6 unless you use something like POSIX calls | 09:43 | |
ufobat | I was assuming that Backtrace contains a list of all Backtrace::Frames. could it be a bug? | 09:52 | |
jmerelo | ufobat: it's probably limited for some reason; also probably you can change that. Check the source and/or raise an issue in the documentation. | ||
ufobat | github.com/rakudo/rakudo/blob/mast...e.pm6#L316 <- looks like its limited | 09:56 | |
jmerelo | ufobat: that was a very safe bet. You can either request from Rakudo to include that as a configuration option, or request from documentation to document that. Or both... | 10:00 | |
10:01
|oLa| joined
10:02
|oLa| left
|
|||
ufobat | I think I try to write a PR and I might open a rakudo issue do ask if we could have a depth for Backtrace that actually reflects the current depth | 10:04 | |
jmerelo | ufobat: great :-) | 10:06 | |
10:06
pecastro joined
10:25
ufobat left,
ufobat joined
10:40
|oLa| joined
|
|||
jmerelo | SmokeMachine: it would probably be a good idea if you add "good first issue" to a bunch of them, so that people knows where to start. | 10:43 | |
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.name }; ab(A.new); ab(B.new) | 10:44 | |
camelia | No such method 'name' for invocant of type 'A'. Did you mean any of these? none note take in sub ab at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new) | ||
camelia | A True B True |
10:45 | |
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name }; ab(A.new); ab(B.new) | ||
camelia | A B |
||
Geth | doc: 275a5090da | (JJ Merelo)++ | template/footer.html Eliminated variable elements closes #2915 |
10:48 | |
ufobat | jmerelo, github.com/rakudo/rakudo/issues/3148 | ||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.^name.say | 10:54 | |
camelia | A True B True AB |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.WHAT.say | ||
camelia | A True B True (AB) |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.^HOW.say | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use .^ on a non-identifier method call at <tmp>:1 ------> 3name.say}; ab(A.new); ab(B.new); AB.^HOW7⏏5.say expecting any of: method arguments |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say | ||
camelia | A True B True Perl6::Metamodel::SubsetHOW.new |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say; say AB ~~ Subset | 10:55 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: Subset used at line 1 |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say; say AB.HOW ~~ SubsetHOW | 10:56 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: SubsetHOW used at line 1. Did you mean 'Submethod'? |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say; say AB.HOW ~~ Perl6::Metamodel::SubsetHOW | ||
camelia | A Could not find symbol '&SubsetHOW' in block <unit> at <tmp> line 1 True B True Perl6::Metamodel::SubsetHOW.new |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say; say AB.HOW.contains('SubsetHOW') | 11:00 | |
camelia | A No such method 'contains' for invocant of type 'Perl6::Metamodel::SubsetHOW' in block <unit> at <tmp> line 1 True B True Perl6::Metamodel::SubsetHOW.new |
||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; sub ab (AB $c) { say $c.^name.say}; ab(A.new); ab(B.new); AB.HOW.say; say AB.HOW.Str.contains('SubsetHOW') | ||
camelia | A True B True Perl6::Metamodel::SubsetHOW.new True |
||
jmerelo | ufobat++ | 11:08 | |
11:31
|oLa| left
|
|||
Kaiepi | jmerelo, xt/examples-compilation.t runs makes moar out of memory after around 100 tests (probably because i have /etc/login.conf set up too strictly) and there's this random deadlock in t/02-pods-valid.t that doesn't go away no matter what TEST_THREADS is set to | 12:14 | |
i'll see if the first gets fixed by making it more lax next time i update opensbd | 12:16 | ||
12:28
Black_Ribbon left
|
|||
Geth | doc: 317364d265 | (Ben Davies)++ | doc/Type/Metamodel/Versioning.pod6 Document Metamodel::Versioning |
12:40 | |
synopsebot | Link: doc.perl6.org/type/Metamodel::Versioning | ||
doc: ef76a377a9 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Type/Metamodel/Versioning.pod6 Merge pull request #2968 from Kaiepi/versioning Document Metamodel::Versioning |
|||
doc: bbec26b4df | (Mike Swierczek)++ | doc/Language/101-basics.pod6 Added comment syntax on 101 page. I think it's handy to make that easier to find in the documentation. |
|||
synopsebot | Link: doc.perl6.org/language/101-basics | ||
doc: 602f814af6 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/101-basics.pod6 Merge pull request #2964 from Michael-S/master Added comment syntax on 101 page. |
|||
jmerelo | Kaiepi: you can run tests on single documents | 12:42 | |
Kaiepi | you can? | 12:43 | |
oh, i see, with TEST_FILES in the env | 12:48 | ||
jmerelo | Kaiepi: right :-) | 12:49 | |
Kaiepi: or simply with the name of the file at the end, IIRC | 12:50 | ||
12:51
k0Le left
13:02
jmerelo left
13:20
lucasb joined
13:25
k0Le joined
13:32
lgtaube left
13:47
lgtaube joined
|
|||
Doc_Holliwood | I think I found a bug in NativeCall. | 13:51 | |
this code should not throw error 87: pastebin.com/qbV7WdFz | 13:52 | ||
i think this is akin to stackoverflow.com/questions/465025...ction-call | |||
13:55
Kaiepi left
14:01
ufobat left
14:02
[particle]1 joined
14:03
[particle] left
14:25
hcit joined
14:41
molaf joined
15:46
MilkmanDan left
15:49
MilkmanDan joined
15:53
Kaiepi joined,
ilbelkyr left
|
|||
Doc_Holliwood | So, should I file a bug for this? | 16:21 | |
Whos turf is NativeCall? | 16:22 | ||
16:32
eseyman left
16:41
eseyman joined
16:42
ilbelkyr joined
16:43
ilbelkyr left
16:44
ilbelkyr joined,
ilbelkyr left
16:57
aborazmeh joined,
aborazmeh left,
aborazmeh joined
17:00
pamplemousse joined
|
|||
Geth | whateverable: eac051e9fa | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable/Processing.pm6 Make it easier to select the main file This way you can just have a “# MAIN” comment in one of the files, and that file will be used for bisecting. |
17:21 | |
17:22
bisectable6 left,
evalable6 left
17:23
pamplemousse left,
bisectable6 joined
17:26
evalable6 joined
17:29
committable6 left
17:30
chloekek joined
17:31
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
Doc_Holliwood | How do I tell Comma to stop messing with my formatting for /(/!("%!"()!!! | 17:33 | |
Geth | whateverable: 36faa5b32e | (Aleks-Daniel Jakimenko-Aleksejev)++ | xbin/Bisectable.p6 Add missing space |
17:37 | |
AlexDaniel | Doc_Holliwood: maybe file a bug report for comma? | 17:43 | |
17:48
domidumont joined
17:49
ilbelkyr joined
|
|||
MasterDuke | Doc_Holliwood: i think nine++ is the NativeCall expert | 17:52 | |
17:58
aborazmeh left
17:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
moritz | m: say 1 | 18:02 | |
camelia | 1 | ||
moritz | I'm trying to wipe out the current rakudo installation on evalbot and try to create a new one | 18:05 | |
18:09
aborazmeh left
18:12
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
AlexDaniel | moritz: fwiw evalable6 automatically responds to m: messages if camelia is down, so feel free to restart it or whatever | 18:12 | |
Doc_Holliwood | nine is on vacation, but I dropped them a message. ty, MasterDuke | 18:18 | |
18:32
|oLa| joined
|
|||
Geth | whateverable: taboege++ created pull request #355: Bisectable: "DWIM" → "do what you mean" in message |
18:45 | |
whateverable: 50ef0201c2 | (Tobias Boege)++ | 2 files Bisectable: "DWIM" → "do what you mean" in message "DWIM" in a message "[doing this] in an attempt to DWIM" directed at the user uses the wrong pronoun ("I" instead of "you"). Unabbreviate it and use "you". |
18:46 | ||
whateverable: c0646d99d6 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | 2 files Merge pull request #355 from taboege/bisectable-dwym Bisectable: "DWIM" → "do what you mean" in message |
|||
18:46
bisectable6 left
18:51
bisectable6 joined,
ChanServ sets mode: +v bisectable6
19:03
mahafyi joined
19:10
adu left
|
|||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; say AB.HOW ~~ Metamodel::SubsetHOW | 19:26 | |
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
Xliff | m: class A {}; class B {}; my @s = (A, B); subset AB where @s.any; say AB.HOW ~~ Metamodel::SubsetHOW | 19:27 | |
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
Xliff | class A {}; class B {}; my @s = (A, B); subset AB where @s.any; say AB.HOW ~~ Metamodel::SubsetHOW | ||
evalable6 | True | ||
Xliff | jnthn++ # Thanks! | ||
19:44
pamplemousse joined
19:46
k0Le left
19:49
ravenous_ left
19:51
ravenous_ joined
|
|||
moritz | Precompiling templates from src/jit/core_templates.expr | 20:03 | |
"pairkeys" is not exported by the List::Util module | |||
timotimo | interesting, did we accidentally depend on a too new perl5 for that? | 20:04 | |
i mean, it's a development-time dependency | |||
moritz | build-time dependency | ||
timotimo | so not nearly as critical as what we have in Configure.pl and such | ||
moritz | this is from the rakudo build log | ||
and a perl 5.20 cannot build moarvm right now, it seems | 20:05 | ||
20:05
|oLa| left
|
|||
moritz | (I assume it's moar, not rakudo directly | 20:05 | |
timotimo | it's not supposed to have to work with core_templates.expr | ||
moritz | gist.github.com/moritz/3dc056e66ac...73203a9d16 | 20:06 | |
with a bit more context | |||
Grinnz | 5.20.0 should have List::Util 1.38 which is new enough for pair functions | 20:07 | |
timotimo | maybe the linux distro in question removes 90% of perl5 modules from the core | 20:08 | |
Grinnz | then it wouldn't have List::Util at all | ||
timotimo | who knows! maybe they cut out individual lines from the module to minimize it even further | 20:10 | |
Grinnz | that's not a thing anyone does, except PAR packer with pod | ||
El_Che | Grinnz: it is on long lived distros like Centos | 20:11 | |
timotimo | *shruuuuug* | 20:12 | |
Grinnz | no, the second thing | ||
El_Che | (they change course, but Centos 6 and 7 are still there) | ||
Grinnz | also they didn't change course, they just named it better | ||
El_Che | potato - earth apple (the litteral translation of the dutch name) | 20:13 | |
moritz | it has List::Util 1.38 | ||
Grinnz | my guess is that the wrong perl is being used | 20:14 | |
moritz | possible | ||
20:15
atweiden-air joined
|
|||
moritz | ah yes, crontab... | 20:15 | |
20:15
aborazmeh left
|
|||
Grinnz | any perl older than 5.20 would need to update their List::Util | 20:16 | |
moritz | where the bashrc doesn't activate perlbrew | ||
Grinnz | absolute paths to perls in cron, always ;) | ||
20:18
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
aborazmeh left
20:22
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
k0Le joined
|
|||
AlexDaniel | m: say 42 | 20:23 | |
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
AlexDaniel | moritz: ↑ | 20:24 | |
guifa just watched the video from Riga that talked about perl6 / javascript. | 20:25 | ||
discord6 | <RaycatWhoDat> Hello | ||
Xliff | Do roles allow for a :U: type smiley | ||
guifa | I had no idea it was so far along. Now I feel like a bit of a fool for creating a fairly cruddy rudimentary parser in JS when I could have just copied the grammar over lol | ||
discord6 | <RaycatWhoDat> m: say (2 + 1); | 20:27 | |
guifa | p6: role Foo { ; }; class Bar does Foo { ; }; sub xyz (Foo:U $foo) { say "yes" }; xyz(Foo) | ||
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
guifa | m: role Foo { ; }; class Bar does Foo { ; }; sub xyz (Foo:U $foo) { say "yes" }; xyz(Foo) | ||
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
guifa | o.O | ||
discord6 | <RaycatWhoDat> Alas. | 20:28 | |
20:28
ravenous_ left,
|oLa| joined
|
|||
guifa | Anyways, Xliff: yes they do. (I was trying to be cute and have it respond with “yes” lol) | 20:28 | |
Xliff | guifa: How about within the role, itself. ;) | ||
m: role A { method B (A:U:) { say "N | 20:29 | ||
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
Xliff | m: role A { method B (A:U:) { say "Boo!" }; }; class AA does A { }; AA.B | ||
camelia | sudo: /home/camelia/rakudo-m-inst/bin/perl6-m: command not found | ||
Xliff | Well... :( | 20:30 | |
mrole A { method B (A:U:) { say "Boo!" }; }; class AA does A { }; AA.B | |||
role A { method B (A:U:) { say "Boo!" }; }; class AA does A { }; AA.B | |||
evalable6 | Boo! | ||
Xliff | \o/ | ||
guifa ’s answer holds haha | 20:31 | ||
Xliff | Yes. Yes it does! :) | ||
20:40
domidumont left
|
|||
moritz | Makefile:577: recipe for target 'CORE.setting.moarvm' failed | 20:50 | |
make: *** [CORE.setting.moarvm] Bus error (core dumped) | |||
build rakudo on the evalbot server continues to be difficult :( | |||
20:51
john_parr left
20:53
AlexDaniel left
20:54
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
21:04
gdonald left
21:06
gdonald joined
21:07
john_parr joined
21:09
aborazmeh left
21:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
21:22
mowcat joined
21:23
atweiden-air left
21:34
aborazmeh left
22:12
chloekek left
22:34
pamplemousse left
22:51
rindolf left
22:54
pecastro left
23:02
Black_Ribbon joined
23:09
lucasb left
23:28
|oLa| left,
|oLa| joined
23:29
|oLa| left
23:30
oodani left
23:31
oodani joined
23:52
Kaiepi left
|
|||
Geth | doc: 33a5fc4873 | Coke++ | xt/words.pws learn new words |
23:53 | |
doc: 2ac0fc4798 | Coke++ | doc/Language/101-basics.pod6 follow style guide on braces/brackets |
|||
synopsebot | Link: doc.perl6.org/language/101-basics |