»ö« 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:00 reportable6 left 00:03 reportable6 joined 00:09 pamplemousse left 00:11 vike joined 00:12 pamplemousse joined 00:15 lucasb left 00:20 [particle] joined 00:22 [particle]1 left 00:23 pilne joined 00:30 xi| joined 00:31 pamplemousse left, xi- left 00:32 pamplemousse joined 00:33 empee0 left 00:45 adu joined 00:46 pamplemousse left
pilne i am getting quite impatient to see if the rakudostar installer gets updated for either of the big .07 rakudo upgrades, will i end up regretting installing 2019.3? 00:49
(windows version) 00:50
00:57 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo i don't see a reason to regret the installation 01:04
pilne and when a new one comes out, it's as easy as an uninstall then fresh? anything to keep note of to backup before? 01:13
timotimo hm, i don't know where on windows installed modules will be put; but you can get output for that with this code: 01:15
m: .say for $*REPO.repo-chain
camelia inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/share/perl6/core
ap#
nqp#
perl5#
timotimo that's perhaps something to keep around, even though updating rakudo will invalidate the precompilation results and we don't actually have something to delete precomp stuff i don't think 01:16
01:40 irced joined
pilne that's fine, i really just need a list of what i have, not the actual code (i'll have my own code setup locally, should probably look into a git for windoze solution) 01:40
and will i be missing out using vscode over atom? 01:41
something tells me i'll go to comma soon™ but not quite ready for something as heavy as an intellij inspired solution quite yet (as i've never gotten along with them in general in the past). 01:44
01:45 ravenousmoose_ left, ravenousmoose_ joined
irced anyone know of a perl6 direct or indirect way to change an environment variable so that it persists after the script ends? (specifically in BASH) 01:50
01:51 Voldenet left 01:55 Kaiepi left 01:56 Voldenet joined, Voldenet left, Voldenet joined 02:01 Manifest0 left, Manifest0 joined
Elronnd irced: no, you have to set it from within bash 02:02
(I mean, I could imagine a super convoluted situation where you have a perl6 instance that spawns a bash, and opens up a socket so child scripts can ask it to change env vars. But that's really not worth it.) 02:03
irced Elronnd: cool. i figured it would otherwise require low level maybe native call hacks or like what you said.
Elronnd: thanks for your input 02:04
Elronnd in general, if you are a script being controlled by someone else, you cannot change anything about them
Xliff m: my $S = Supplier.new; my $s = $S.Supply; $S.emit(1); $s.tap({ say "Hi!" }); sleep 2;
camelia ( no output )
Xliff m: my $S = Supplier.new; my $s = $S.Supply; $S.emit(1); $s.tap(-> { say "Hi!" }); sleep 2;
camelia ( no output )
Xliff m: my $S = Supplier.new; my $s = $S.Supply; $S.emit(1); $s.tap({ say "Hi!" }); sleep 5; 02:05
camelia ( no output )
Xliff m: my $S = Supplier.new; my $s = $S.Supply; $S.emit(1) for ^4; $s.tap({ say "Hi!" }); sleep 5;
camelia ( no output )
timotimo ^- wants Supplier::Preserving 02:06
Xliff Is that the only way to make it work?
m: my $S = Supplier::Preserving.new; my $s = $S.Supply; $S.emit(1) for ^4; $s.tap({ say "Hi!" }); sleep 5;
timotimo it's literally the raison dêtre for that class
camelia Hi!
Hi!
Hi!
Hi!
Xliff m: my $S = Supplier::Preserving.new; my $s = $S.Supply; $S.emit(1) for ^4; $s.stable(0.5).tap({ say "Hi!" }); sleep 5;
camelia Hi!
Xliff I'm implementing my events in GTKPlus using just a supplier tho. 02:07
Should those be ::Preserving now? 02:08
irced sacré bleu!
timotimo not necessarily
irced just wanted to show off unicode accents.
timotimo could also have supply blocks, such that they set up the connections at the gtk-side of things when an actual tap happens
Xliff m: use v6.c;my $S = Supplier.new; my $s = $S.Supply; $S.emit(1) for ^4; $s.tap({ say "Hi!" }); sleep 5;
camelia ( no output )
timotimo then it'll actually create one connection for every tap that exists
Xliff Well fahrfignugen!
timotimo unless you return the result of .share on the Supply
good night! 02:09
Xliff timotimo: I may need you to look at event code, then!
timotimo: I will lasso you, if I have to pardnah! 02:10
timotimo nah
:
:P
Xliff yah 02:11
:p
timotimo i believe in the you that believes in yourself
02:11 Cabanossi left
Xliff i believe in my lasso. 02:13
I am about to corral m'self a bed. 02:14
m: use v6.c;my $S = Supplier.new; my $s = $S.Supply; $s.stable(0.5).tap({ say "Hi!" }); $S.emit(1) for ^4; sleep 2
camelia Hi!
Xliff m: my &a = sub { say "aa" }; &a; 02:16
camelia WARNINGS for <tmp>:
Useless use of &a in sink context (line 1)
Xliff m: my &a = sub { say "aa" }; &a();
camelia aa
02:17 Cabanoss- joined 02:18 uzl joined 02:20 Cabanoss- is now known as Cabanossi 02:23 aborazmeh left 02:52 Voldenet left 02:57 Voldenet joined, Voldenet left, Voldenet joined 03:07 uzl left 03:31 Kaiepi joined
Kaiepi how do parametric roles know how many types they can be parameterized with? 03:31
irced m: open "testfile", :w; 03:41
camelia Failed to open file /home/camelia/testfile: Permission denied
in block <unit> at <tmp> line 1
irced in reflection, i suppose i could write a bash script to wrap and process return values or other magic to export to bash (utilizing exec most likely) 03:46
kentnl I'm doing vendor stuff for moarvm, upgrading from moarvm 2019.07 to 2019.07.1 results in moarvm no-longer installing libmoar.so, is this the right place to hope for somebody to explain why? :) 04:02
kentnl couldn't spot anything in the commit diff that explained it 04:03
04:03 [particle]1 joined
kentnl the most likely candidate was github.com/MoarVM/MoarVM/commit/25...53a04a6e11 , but it doesn't apply here, because we applied that patch on 2019.07 04:04
04:05 [particle] left
irced kentnl: sit tight or perhaps ask again earlier next evening. i know there are some devs who can speak to the builds but maybe not this instant. 04:07
kentnl it may actually be related to a similar problem where libmoar is installed to /lib64/ instead of /usr/lib64
04:08 [particle] joined
kentnl did change something in his tooling between these versions, I just didn't expect there to be a change that affected that 04:08
04:08 [particle]1 left
kentnl will have to test that 04:08
goddamn, it *is* something in tooling doing something funky with /lib64/ 04:13
04:13 [particle]1 joined 04:15 [particle] left 04:16 [particle] joined 04:18 [particle]1 left
kentnl nvm, it is 100% on our side, I get to blame somebody else for doing something wrong in the first place. 04:26
irced kentnl: cool
kentnl: and not so cool
kentnl 90% of the time, you don't realise the real problem until you ask somebody about what you think the problem is :(
irced kentnl: cool
04:31 cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 04:41 molaf joined
Geth doc/master: 6 commits pushed by threadless-screw++, (Juan Julián Merelo Guervós)++ 04:46
04:49 curan joined 05:08 Woodi joined 05:11 molaf left 05:54 robertle left 05:57 sena_kun joined 05:58 sena_kun left 06:00 reportable6 left, quester joined 06:01 reportable6 joined 06:19 jaldhar joined 06:22 jaldhar left, jaldhar joined 06:25 jaldhar left, jaldhar_ joined 06:26 jaldhar_ left 06:27 jaldhar_ joined 06:28 jaldhar_ left, jaldhar_ joined, rindolf joined 06:31 jaldhar_ left, jaldhar joined 06:32 jaldhar left 06:33 jaldhar joined 06:34 jaldhar left, jaldhar joined 06:38 jaldhar left, jaldhar joined 06:42 jaldhar left, jaldhar joined 06:50 jaldhar left, jaldhar joined 06:52 jaldhar left, jaldhar joined 06:54 jaldhar left, jaldhar joined 06:58 jaldhar left, jaldhar joined 07:00 jaldhar left, jaldhar joined 07:01 sena_kun joined, sena_kun left 07:02 jaldhar left, jaldhar joined 07:06 [Sno] left 07:08 jaldhar left, jaldhar joined 07:10 jaldhar left, jaldhar joined 07:15 irced left 07:18 jaldhar left, jaldhar joined 07:24 jaldhar left, jaldhar joined 07:28 jaldhar left, jaldhar joined 07:30 marcel_ joined, jaldhar left, jaldhar joined 07:32 jaldhar left, lizmat joined, jaldhar joined 07:34 jaldhar left, jaldhar joined 07:38 jaldhar left, jaldhar joined 07:40 jaldhar left, jaldhar joined 07:41 quester left 07:42 sauvin joined, jaldhar left, jaldhar joined 07:43 [Sno] joined 07:44 jaldhar left, jaldhar joined 07:46 jaldhar left, jaldhar joined 07:48 jaldhar left, jaldhar joined 07:49 zakharyas joined 07:50 jaldhar left, jaldhar joined 07:52 DarthGandalf left, jaldhar left, jaldhar joined 07:54 jaldhar left, jaldhar joined 07:56 sauvin left, sauvin_ joined 08:00 jaldhar left, jaldhar joined 08:01 __jrjsmrtn__ joined 08:02 lizmat left, jaldhar left, jaldhar joined 08:03 lizmat joined 08:04 jaldhar left, jaldhar joined 08:08 jaldhar left, jaldhar joined 08:10 DarthGandalf joined, jaldhar left, jaldhar joined 08:12 jaldhar left, jaldhar joined 08:14 lizmat left 08:19 lizmat joined 08:20 jaldhar left, jaldhar joined 08:22 dolmen joined, jaldhar left, jaldhar joined 08:24 [particle]1 joined 08:27 [particle] left 08:28 lizmat left 08:32 jaldhar left, jaldhar joined 08:34 jaldhar left, jaldhar joined 08:36 jaldhar left, jaldhar joined 08:38 jaldhar left, jaldhar joined 08:42 chloekek joined 08:50 lizmat joined 08:51 ravenousmoose_ left 08:52 ravenousmoose_ joined 08:54 jaldhar left, jaldhar joined 09:00 jaldhar left, jaldhar joined 09:04 pecastro joined 09:08 jaldhar left, jaldhar joined 09:10 jaldhar left, jaldhar joined 09:12 jaldhar left, jaldhar joined, lizmat left 09:13 lizmat joined 09:15 noisegul joined 09:17 Black_Ribbon left 09:24 pat_js joined 09:28 lizmat left 09:30 chloekek left 09:31 ufobat joined 09:32 jaldhar left, jaldhar joined 09:38 jaldhar left, jaldhar joined 09:44 jaldhar left, jaldhar joined 09:48 jaldhar left, jaldhar joined 09:52 jaldhar left, jaldhar joined 10:04 jaldhar left, jaldhar joined 10:09 pat_js left 10:11 marcel_ left 10:15 pilne left 10:24 jaldhar left, jaldhar joined 10:25 pat_js joined 10:26 jaldhar left, jaldhar joined 10:28 jaldhar left, jaldhar joined 10:33 marcel_ joined 10:40 jaldhar left, jaldhar joined 10:44 jaldhar left, jaldhar joined 10:48 jaldhar left, jaldhar joined 10:56 marcel_ left 11:00 jaldhar left, jaldhar joined 11:03 sena_kun joined 11:04 jaldhar_ joined 11:06 jaldhar left 11:08 jaldhar_ left, jaldhar_ joined 11:11 Cabanossi left 11:14 jaldhar_ left, jaldhar_ joined 11:16 jaldhar_ left, jaldhar_ joined 11:18 jaldhar_ left, jaldhar_ joined 11:20 jaldhar_ left, jaldhar_ joined 11:22 jaldhar_ left, jaldhar_ joined 11:25 zakharyas left 11:26 Cabanossi joined 11:30 jaldhar_ left, jaldhar_ joined 11:32 jaldhar_ left, jaldhar_ joined 11:33 aborazmeh joined, aborazmeh left, aborazmeh joined 11:40 jaldhar_ left, jaldhar_ joined 11:44 jaldhar_ left, jaldhar_ joined 11:45 dolmen left 11:48 jaldhar_ left, jaldhar_ joined 11:49 pat_js left 11:50 jaldhar_ left, jaldhar_ joined 11:52 jaldhar_ left, jaldhar_ joined 11:56 marcel_ joined 11:58 jaldhar_ left, jaldhar_ joined 12:00 reportable6 left, jaldhar_ left, jaldhar_ joined 12:02 jaldhar_ left, jaldhar_ joined 12:05 reportable6 joined 12:08 jaldhar_ left, jaldhar_ joined 12:14 chloekek joined, jaldhar_ left, jaldhar_ joined 12:18 aborazmeh left, jaldhar_ left, jaldhar_ joined 12:20 jaldhar_ left, jaldhar_ joined 12:22 dolmen joined, jaldhar_ left, jaldhar_ joined 12:30 jaldhar_ left, jaldhar_ joined 12:40 xinming_ joined 12:43 xinming left 12:55 lucasb joined 12:56 zakharyas joined 12:57 pat_js joined 13:02 pat_js left 13:11 MilkmanDan left 13:12 MilkmanDan joined 13:14 curan left 13:24 dolmen left, pamplemousse joined 13:25 dolmen joined 13:52 nightfrog left 14:05 molaf joined
chloekek What's the difference between p6: and m:? 14:06
14:07 mowcat joined
timotimo nothing at the moment, i think 14:07
14:07 mowcat left
timotimo it used to run as many backends as we had 14:07
14:08 mowcat joined
chloekek p6: say $*PERL 14:10
camelia Perl 6 (6.d)
chloekek m: say $*PERL
camelia Perl 6 (6.d)
chloekek p6: say $*VM
camelia moar (2019.07.12.gab.7.bac.5.ad)
chloekek m: say $*VM
camelia moar (2019.07.12.gab.7.bac.5.ad)
moritz m: say $*PERL.version 14:13
camelia v6.d
moritz m: say $*PERL.version.^name
camelia Version
14:21 pat_js joined
chloekek p6: say $*PERL.perl 14:31
camelia Perl.new(compiler => Compiler.new(id => "296F76A8515BD1E6C6059FD3644852E8D6649EAC", release => "", codename => "", name => "rakudo", auth => "The Perl Foundation", version => v2019.07.69.gecf.2.b.1.e.4.f, signature => Blob, desc => Str), name => "Perl…
timotimo j: say "hi" 14:34
jvm: say "hi"
camelia
(timeout)
chloekek jvm: say "hi" 14:53
js: say "hi"
Amazing.
15:01 __none__ joined
timotimo j: say "hi" 15:02
camelia
(timeout)
timotimo m: sub postcircumfix:<h m>($before, $inside) { say "$before hours and $inside minutes" }; 3h40m
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3$before hours and $inside minutes" }; 3h7⏏0540m
timotimo m: sub postcircumfix:<ⓗ ⓜ>($before, $inside) { say "$before hours and $inside minutes" }; 3ⓗ40ⓜ 15:03
15:03 sena_kun left
camelia 3 hours and 40 minutes 15:03
timotimo a bit annoying to type tho
chloekek That's so cool.
timotimo i need some more compose rules :) 15:04
chloekek p6: sub postcircumfix:<時 分>($before, $inside) { say "$before hours and $inside minutes" }; 8時42分
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3$before hours and $inside minutes" }; 8時7⏏0542分
15:05
15:05 cpage joined 15:06 vrurg left, vrurg joined 15:07 MilkmanDan left
chloekek p6: sub infix:<🕒>($h, $m) { say "$h hours and $m minutes" }; 8 🕒 42 15:07
camelia 8 hours and 42 minutes
timotimo nice 15:08
15:08 __none__ left
timotimo ⅋ whoa 15:08
15:09 MilkmanDan joined, reach_satori_ left
chloekek That symbol is used in linear logic. 15:09
15:09 reach_satori_ joined
chloekek Looks like a Thai letter in Fixedsys Excelsior. 15:10
timotimo my new xcompose isn't taking effect for some reason :| 15:14
AlexDaniel chloekek: there's also perl6: 15:15
perl6: say 42
camelia 42
read: Connection reset by peer
AlexDaniel which works great, as you can see
timotimo: do you have access to camelia's machine? 15:16
timotimo: because it is stuck
15:17 marcel_ left, khisanth_ left
chloekek timotimo: you have to restart programs that use it, usually. 15:17
timotimo: XCompose is read by every program separately, not by a daemon.
2019 won't be the year of the Linux desktop. 15:18
AlexDaniel well, last time I was changing my xcompose stuff I had to restart X, so…
I hope it is really better now and you *just* have to restart every program instead…
timotimo i've restarted my terminal emulator, tried a different one, tried setting GTK_IM_MODULE to xim before starting gnome-terminal or xfce4-terminal, tried terminology 15:19
chloekek gnome-terminal shares one process for all windows.
You have to close all gnome-terminal terminals.
timotimo i killed the gnome-terminal-server process after closing all terminals
AlexDaniel or just restart… :) 15:20
chloekek At home I use Sakura and it works if I start a new terminal after changing .XCompose.
timotimo sakura is what, a distro or a terminal emulator?
15:20 pat_js left 15:22 pat_js joined
chloekek Terminal emulator. 15:23
Oh right, probably everything in your stack matters when it comes to X shenanigans. I also use NixOS GNU/Linux distro, i3 window manager, and SDDM display manager. 15:24
timotimo haha, yeah, every little thing can upset the delicate balance that is input on X
chloekek And I can't remember whether it was .xinit, .xinitrc, .xsession, or .xsessionrc that I put my startup commands into. 15:25
Some of them only work on some machines.
timotimo :D
chloekek xkcd.com/963/
timotimo whoa, compose + v + / gives √ 15:26
that rocks
chloekek p6: sub infix:<√>($b, $x) { $x ** (1 / $b) }; say 3 √ 27 15:27
camelia 3
chloekek My .XCompose is simple, it has [[ for 「 and ]] for 」 :) 15:28
timotimo i want that 15:29
15:30 khisanth_ joined 15:34 marcel_ joined
timotimo aaaaah 15:38
in the xfce4 control center thingie for "Keyboard", i can type compose+*+i to get ι
wait
that also works in my terminal now
maybe opening that tool was all i had to do to make things work, lol
now i have ⊏⊐ on the combinations you just mentioned 15:43
which i think is also kind of cool
unicodable6: ⊏⊐ 15:44
unicodable6 timotimo, U+228F SQUARE IMAGE OF [Sm] (⊏)
timotimo, U+2290 SQUARE ORIGINAL OF [Sm] (⊐)
timotimo what :) :)
i haven't a clue where that comes from
but i like how in my current font it forms one closed shape
15:44 antoniogamiz joined
timotimo i also have ⬚ and ⌷ 15:44
unicodable6: ⬚⌷ 15:45
unicodable6 timotimo, U+2B1A DOTTED SQUARE [So] (⬚)
timotimo, U+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD [So] (⌷)
timotimo squish quad!
that is an amazing name
AlexDaniel m: say Q⊏hello world⊐
camelia hello world
15:46 mcmillhj joined
timotimo heck yeah 15:46
antoniogamiz m: "/sth".split("/").elems
camelia ( no output )
antoniogamiz m: say "/sth".split("/").elems
camelia 2
AlexDaniel timotimo: `compose s q` should also give √
antoniogamiz how can I avoid that? I mean, get one element only
AlexDaniel depending on your config
timotimo yeah it does
m: say "/sth".split("/", :skip-empty).elems 15:47
camelia 1
timotimo m: say "/sth".split("/", :skip-empty).perl
camelia ("sth",).Seq
antoniogamiz oh nice option
thanks
AlexDaniel timotimo: and if you're using that compose file from github, then `compose * something` is always some math stuff, like `compose * p` is π
hm, or maybe not always… 15:48
timotimo did i paste which file i'm using? 15:49
AlexDaniel not yet
timotimo there's probably only the top result, haha
ah, yes, what i originally wanted was an h and an m that won't confuse perl6's parser when attempted to be used as a postcircumfix
m: sub postcircumfix:<ₕ ₘ>($h, $m) { say "$h hours, $m minutes" }; say 10ₕ3ₘ 15:50
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3 { say "$h hours, $m minutes" }; say 10ₕ7⏏053ₘ
15:51 marcel_ left
timotimo m: sub postcircumfix:<ḣ ṁ >($h, $m) { say "$h hours, $m minutes" }; say 10ḣ3ṁ 15:51
none of those work
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3 { say "$h hours, $m minutes" }; say 10ḣ7⏏053ṁ
timotimo unicodable6: ľ
unicodable6 timotimo, U+013E LATIN SMALL LETTER L WITH CARON [Ll] (ľ)
timotimo that's beautiful, at least on my font
hum. supposedly i should be able to type multikey ( 1 : 0 0 ) but after (1: it already stops the composition giving nothing 15:53
ha! multi key + multi key + p + o + w 💥 15:54
but it does seem like every sequence of three letters-or-similar ends the thing immediately
15:54 chloekek left 15:55 pat_js left
AlexDaniel 🕐 15:55
timotimo: iirc I had the same issue, but it works now…
timotimo so i just need to reboot? :P
AlexDaniel maybe wait until your OS is updated… 15:56
El_Che AlexDaniel: I see a rectangle
timotimo oh, i can type ℃ which is multi-multi-degC
AlexDaniel I'm on debian unstable
℃ ℉
timotimo ☖ ☗ shogi pieces! i don't play that, but it's nice to have
15:56 pamplemousse left
AlexDaniel yeah, and there are all the cards and all chess pieces… 15:56
timotimo 🂡 and such 15:57
15:57 Wahnberger joined
timotimo the only thing you see, you know it's gonna be the 🂡, the 🂡 15:57
Wahnberger hello Folks
timotimo guten tag Herr Wahnberger 15:58
15:58 john_parr left
AlexDaniel 🙋 15:58
Xliff 3√27
timotimo that was probably too formal
Xliff Ooh! I have that too. I windows, no less! 15:59
timotimo nice. with wincompose or out of the box for some reason?
Xliff Wincompose
timotimo Wahnberger: you have joined us in a strange moment where we all try out input methods for strange unicode symbols. care to join?
AlexDaniel timotimo: speaking of which, `compose compose o/` and `compose compose \o/`
timotimo that's emoji compose codes, yeah? 16:00
AlexDaniel yeah, if you have them included
actually these may be in the main file…
hmm, nope, where are these coming from then… 16:01
Wahnberger uhm..actually i need to figure out something else :(
AlexDaniel Wahnberger: sure! Just ask
timotimo that's not a problem, we can probably help!
Xliff ⏹️ 16:02
LOL!
Multi+multi+"stop button"
Wahnberger I have build a litte site using Cro and a tiny session management using this: cro.services/docs/http-auth-and-se...ased_login
Xliff ¯\_(ツ)_/¯ 16:03
Hahaha!
AlexDaniel Wahnberger: sounds great so far 16:04
Xliff 💩
Wahnberger all the stuff is working well - but - i want to route then to static pages (just html and JS) .. on those sites i need to know whos is the user but i cant get POST/GET infos by using JS .. anyone an idea how to deal with it?
Xliff I can't get that to come out of wincompose, though. 16:05
Wahnberger of course..thats not really a perl6 question :(
not even really cro but i am not sure :D
btw: I would pay 100 bucks and more for a really handy cro handbook :D 16:06
16:08 uzl joined
uzl m: class H { multi method greet('hello') { 'Hello!'.put }; multi method greet('hello', :$padded!) { '**Hello!**'.put }}; H.new.greet('hello'); H.new.greet('hello', :padded) 16:09
camelia Hello!
Hello!
uzl m: class H { multi method greet('hello') { 'Hello!'.put }; multi method greet('hello', Bool :$padded!) { '**Hello!**'.put }}; H.new.greet('hello'); H.new.greet('hello', :padded)
camelia Hello!
Hello!
timotimo uzl: need to put the padded one first 16:10
uzl m: class H { multi method greet('hello') { 'Hello!'.put }; multi method greet('hello', Bool :$padded!) { '**Hello!**'.put }}; H.new.greet('hello'); H.new.greet(:padded, 'hello')
camelia Hello!
Hello!
timotimo haha, no i mean the method in the class body :)
uzl m: class H { multi method greet('hello') { 'Hello!'.put }; multi method greet(Bool :$padded!, 'hello') { '**Hello!**'.put }}; H.new.greet('hello'); H.new.greet('hello', :padded) 16:11
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot put required parameter after variadic parameters
at <tmp>:1
------> 3lti method greet(Bool :$padded!, 'hello'7⏏5) { '**Hello!**'.put }}; H.new.greet('he
expecting any of:
timotimo sorry, i meant the candidate with :$padded! has to come first
16:11 cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined
uzl m: class H { multi method greet('hello', Bool :$padded!) { '**Hello!**'.put }; multi method greet('hello') { 'Hello!'.put }}; H.new.greet('hello'); H.new.greet('hello', :padded) 16:12
camelia Hello!
**Hello!**
timotimo i could have explained that much more clearly the first time :S
uzl timotimo: Thanks. I was at the brink of pulling out my hair. 16:13
No problem!
timotimo named arguments only serve for tie-breaking, and since methods accept all nameds by default, both candidates still have the same priority, so which comes first in the source code decides which one wins
or putting an "is default" to boost the priority
uzl timotimo: I was just going to ask why so thanks for the explanation. 16:14
timotimo that smells like an analysis comma could do 16:15
uzl Using Vim at the moment but that's totally something Comma users would benefit from :-) 16:17
16:17 john_parr joined 16:21 dolmen left 16:22 Kaiepi left 16:23 Kaiepi joined
AlexDaniel Wahnberger: hmmm, so why can't you do it in cro? 16:23
16:23 pamplemousse joined
AlexDaniel Wahnberger: I mean if you just add some routes for static files in cro, wouldn't it just work? 16:23
timotimo the JS in the static app would want to ask the backend if there's a logged-in user i guess? 16:24
if you don't want to modify the file you're delivering to have the user info in it
16:25 nepugia joined
Wahnberger alex: you cannot route GET parameter to html/JS afaik 16:36
i just found a workaround by using jquery
timotimo: yes the static page need to verify the user at a backend (rest api) 16:37
timotimo on the client-side you can look what the URL is that the user entered or navigated to
that could have the user name the user tried to authenticate as 16:38
of course then the user can just change the URL
Wahnberger oh damn 16:39
I need some holydays 16:40
sorry for the noise :)
timotimo NP :)
Wahnberger I love the Cro libs..thats amazing stuff.. but the documentation is really hard to understand to perl6 beginners .. i would love to see a cro doc from brian de foy 16:47
timotimo hm, yeah, "getting started with cro & perl6" could be a good format for something book-ish 16:48
16:49 epony left 16:52 Wahnberger left
MasterDuke is there way to get comma not to complain about `nqp::*` calls? 16:58
El_Che so, is someone setting an ad hoc stream from perlcon for the perl6 talks? :) 16:59
antoniogamiz El_Che: I hope someone does 17:00
s/does/is
17:01 Guest_26 joined, Guest_26 left
MasterDuke oh, and i don't remember if i've asked this before, but is there a way to point it at the rakudo source such that go to declaration of perl6 built-ins works? 17:02
AlexDaniel El_Che: that's a great questionE
s/E//
El_Che some people have crazy high volume in their packs 17:04
being a member of the EU all the crazy roaming coast disappear
MasterDuke i'm sorry to miss perlcon. i thought i might be able to make it, but hopefully next year will work out
17:06 jaldhar_ left
AlexDaniel El_Che: or if not the stream, what about the recordings… 17:06
17:06 jaldhar_ joined
AlexDaniel El_Che: I can bring some lightweight equipment with me but I have no idea what's the situation 17:07
El_Che More honestly, by now I would prefer a smaller perl 6 conf. Loosing somewhat intereset in p5 (I still use it though).
AlexDaniel El_Che: like, is there somebody doing the recordings officially?
El_Che AlexDaniel: yes, I read somewhere (tweet) that the sessions will be recorded and uploaded later
AlexDaniel: people from shadowcat always do their own recording as well 17:08
AlexDaniel ok, cool then
El_Che Check with tom bloor if he can upload the p6 somewhere :)
17:08 jaldhar_ left, jaldhar_ joined
AlexDaniel ahh 17:09
Kaiepi i asked this last night and didn't get an answer so 17:10
how do parametric roles know how many generic types they were declared to use?
in it's meta-class, i mean 17:11
17:11 Cabanossi left
Kaiepi well i can't say its meta-class since there are actually four, so i mean Metamodel::ParametricRoleHOW 17:12
17:14 abc3354 joined
vrurg Kaiepi: what do you mean by that? 17:16
17:17 wahnberger joined, abc3354 left
wahnberger timotimo: do you have examples to read? 17:17
timotimo i think the difference between a role like Positional (Positional[Int]) or Rational (Rational[Int, Int])?
wahnberger: for what exactly?
Kaiepi vrurg like, if you declare a role like `role Foo[::T, ::U]` how does it know it needs to be parameterized with two types?
17:17 Cabanossi joined
vrurg Kaiepi: it has an associated block which has it's signature which is role parameters. 17:18
17:18 jaldhar_ left
wahnberger timotimo: Cro documentation 17:18
17:18 jaldhar_ joined
Kaiepi hooooooo boy then what i want to do will be a bitch to write, probably 17:19
timotimo besides the cro documentation i don't think i have anything
Kaiepi unless you can use multiple dispatch with the block, but even then...
wahnberger oh..i missread something :D 17:20
17:20 jaldhar_ left, jaldhar_ joined
vrurg Kaiepi: look at parameterize* family of methods in Role HOWs. For example: my @result := $!candidate.HOW.body_block($!candidate)(|@pos_args, |%!named_args); 17:21
Kaiepi: though I don't remember all the details for now. If I need anything – I pick up my walkingstick and go into the metamodel wilderness. 17:22
timotimo Kaiepi: don't forget any ParametricRoleGroupHOW has .candidates
17:22 jaldhar_ left, jaldhar_ joined
timotimo m: .perl.say given Rational.^candidates[0].^body_block 17:24
camelia multi sub (::$?CLASS ::::?CLASS Mu $, ::NuT Mu $ = Int, ::DeT Mu $ = { ... }) { #`(Sub|79396720) ... }
wahnberger ok, thx anyway for clearing my mind :)
timotimo m: .perl.say given Rational.^candidates[0].^body_block.signature
camelia :(::$?CLASS ::::?CLASS Mu $, ::NuT Mu $ = Int, ::DeT Mu $ = { ... })
17:24 wahnberger left
timotimo ::::?CLASS, eh? that's ridiculous :D 17:24
17:25 antoniogamiz left
vrurg timotimo: what does it mean anyway? 17:25
If anything at all.
timotimo one :: is for type capture, i assume
vrurg Ah, perhaps.
timotimo m: method test(::$?CLASS ::::?CLASS Mu $) { } 17:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use :: as a type name
at <tmp>:1
------> 3method test(::7⏏5$?CLASS ::::?CLASS Mu $) { }
El_Che ooh 17:27
www.youtube.com/watch?v=QeE9nBnx8d0
Kaiepi m: method test($?CLASS ::?CLASS Mu $) { }
camelia 5===SORRY!5===
In signature parameter $?CLASS, it is illegal to use the ? twigil
at <tmp>:1
------> 3method test($?CLASS7⏏5 ::?CLASS Mu $) { }
Malformed parameter
at <tmp>:1
------> 3method test($?CLASS ::7⏏5?CLASS Mu $) { }…
timotimo lovely!
may have to actually be put inside a class body 17:28
Kaiepi m: class { method test($?CLASS ::?CLASS Mu $) { } }
camelia 5===SORRY!5===
In signature parameter $?CLASS, it is illegal to use the ? twigil
at <tmp>:1
------> 3class { method test($?CLASS7⏏5 ::?CLASS Mu $) { } }
Malformed parameter
at <tmp>:1
------> 3class { method test($?CLASS ::7⏏…
Kaiepi m: class { method test(::$?CLASS ::?CLASS Mu $) { } }
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use :: as a type name
at <tmp>:1
------> 3class { method test(::7⏏5$?CLASS ::?CLASS Mu $) { } }
Kaiepi hm
El_Che www.youtube.com/user/ShadowcatSyst...;flow=grid 17:29
there is a channel per room
17:30 jaldhar_ left, jaldhar_ joined
timotimo i pray to The Noodly Appendages that the sound recording will be Very Good for this perlcon 17:30
El_Che yeah, that seems to be always the problem 17:31
timotimo in the cases where it isn't, the slides are unreadable on the video, or both problems happen at the same time
17:32 jaldhar_ left, jaldhar_ joined
El_Che unreadable slide are less troublesome than bad sound 17:33
sometimes I keep working on something else and just listen
for somewhat interesting talks that don't require my full attention
17:34 marcel_ joined, epony joined, jaldhar_ left, jaldhar_ joined
timotimo aye 17:35
17:40 jaldhar_ left, jaldhar_ joined 17:48 zakharyas left 17:52 pamplemousse left
El_Che timotimo: twitter.com/shadow_dot_cat/status/...7333385216 17:54
17:54 jaldhar_ left, jaldhar_ joined
timotimo that's very promising! 17:56
El_Che a nice surprise, as it was supposed to be uploaded later
17:58 jaldhar_ left, jaldhar_ joined 18:00 reportable6 left, jaldhar_ left, jaldhar_ joined 18:02 jaldhar_ left, jaldhar_ joined 18:03 reportable6 joined, ChanServ sets mode: +v reportable6 18:04 jaldhar joined 18:08 jaldhar left, jaldhar_ left, jaldhar joined 18:10 jaldhar left, jaldhar joined 18:13 chloekek joined 18:14 jaldhar left, jaldhar joined 18:20 jaldhar_ joined, jaldhar left 18:22 jaldhar_ left, jaldhar_ joined
Xliff m: say max(Nil, 6) 18:23
camelia 6
18:24 jaldhar_ left, jaldhar_ joined 18:30 jaldhar_ left
chloekek Till you can write comments in qqww{ … } 18:30
p6: say qqww{ foo #`(bar) baz }
camelia (foo baz)
18:30 jaldhar_ joined 18:34 jaldhar_ left, jaldhar_ joined 18:42 jaldhar_ left, jaldhar_ joined 18:44 jaldhar_ left, jaldhar_ joined 18:45 Woodi left 18:46 chloekek left 18:50 jaldhar_ left, jaldhar_ joined
timotimo m: say "foobar\qqww[#`( oh another comment )]bazquux" 18:50
camelia foobarbazquux 18:51
timotimo ^ that's wild
18:52 Kaiepi left 18:54 jaldhar_ left, jaldhar_ joined 18:55 Kaiepi joined
Xliff Can you do that with the angled constructor?> 18:55
m: say <a [#`( this isn't here )] b c>
camelia (a [#`( this isn't here )] b c)
Xliff :p
m: say <a {#`( this isn't here )} b c> 18:56
camelia (a {#`( this isn't here )} b c)
Xliff m: say <a {2 + 2} b c>
camelia (a {2 + 2} b c)
MasterDuke in comma, is there a way to exclude a particular directory from attempted indexing?
18:58 jaldhar_ left, jaldhar_ joined
timotimo MasterDuke: i think in any intellij you can set the type of a folder, among other things there's "source code" 19:00
or maybe that's just intellij idea
19:02 jaldhar_ left, jaldhar_ joined 19:04 mcmillhj left
veesh eh, someone left docs.perl6.org in development mode 19:04
though it's cool that it's on mojolicious
nothing juicy there, but disconcerting 19:05
19:10 sftp left 19:13 chloekek joined 19:15 ratagin joined 19:17 pamplemousse joined, dolmen joined 19:18 jaldhar_ left
chloekek p6: ||42 19:46
camelia ( no output )
chloekek The precedence table on docs.perl6.org/language/operators mentions a unary || operator, but I can't find it. 19:47
Kaiepi m: say CORE::{'&prefix:<||>'}:exists 19:53
camelia False
Kaiepi m: say CORE::{'&postfix:<||>'}:exists
camelia False
Kaiepi maybe it's in the grammar 19:54
timotimo m: say(||1 ||2 ||3)
camelia (1)
timotimo m: say(1 ||2 ||3)
camelia 1
timotimo it's a flattening operator i think?
m: say &prefix:<||>
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
prefix:<||> used at line 1. Did you mean 'prefix:<|>', 'prefix:<~^>', 'prefix:<!>', 'prefix:<->'?
19:57 mcmillhj joined, sftp joined 20:05 MilkmanDan left 20:07 MilkmanDan joined 20:09 [Sno] left 20:19 mcmillhj left 20:34 pilne joined 20:36 empee0 joined 20:42 noisegul left
chloekek p6: say (|| 1, (2, 3), 4).perl 20:44
camelia (1, (2, 3), 4)
20:47 mowcat left 20:48 marcel_ left
Kaiepi what's the difference between .^type_check and .^accepts_type? 20:48
20:51 ufobat_ joined 20:54 mowcat joined 20:55 ufobat left, chloekek left 21:11 Cabanossi left 21:13 pamplemousse left 21:14 pamplemousse joined 21:17 MasterDuke left 21:21 Cabanossi joined 21:24 lizmat joined 21:28 pamplemousse left 21:30 sauvin_ is now known as Sauvin 21:33 ratagin left 21:35 molaf left 21:40 pecastro left 21:43 dolmen left
Geth doc/traps: 98f809b4b0 | threadless-screw++ | doc/Language/traps.pod6
Deletion of regex-interpolation trap section
21:47
21:53 pamplemousse joined 21:57 Aearnus joined
Aearnus wanted to send this here too. it's a dice operator :D 21:58
p6: sub infix:<d>(Int $n, Int $max) { (^$max).pick xx $n }; say 4 d 20;
camelia (15 7 18 16)
AlexDaniel veesh: file a bug report 22:03
p6: sub infix:<d>(Int $n, Int $max) { (^$max).pick($n) }; say 4 d 20;
camelia (12 10 17 11)
AlexDaniel p6: sub infix:<d>(Int $n, Int $max) { (^$max).pick($n) }; say 4 d 20;
camelia (8 14 6 16)
AlexDaniel e: sub infix:<d>(Int $n, Int $max) { (^$max).pick($n) }; say 4 d 20;
evalable6 (3 4 11 9)
AlexDaniel hmm, why is camelia so slow…
Aearnus I noticed that too 22:04
Geth doc: threadless-screw++ created pull request #2940:
Deletion of regex-interpolation trap section
AlexDaniel e: sub infix:<d>(Int $n, Int $max) { (^$max).roll($n) }; say 4 d 20; 22:06
evalable6 (17 0 7 11)
AlexDaniel this is more correct, I guess
22:08 dolmen joined 22:10 Aearnus left 22:14 mowcat left, pamplemousse left
Xliff m: say 1 / 2 * 8 22:34
camelia 4
22:41 GodsMadClown joined, GodsMadClown left
Kaiepi m: role Foo[::T, ::U] {}; say Foo[Int, Str].^body_block.signature 22:45
camelia No such method 'body_block' for invocant of type 'Perl6::Metamodel::CurriedRoleHOW'
in block <unit> at <tmp> line 1
Kaiepi m: role Foo[::T, ::U] {}; say Foo.^body_block.signature
camelia No such method 'body_block' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'
in block <unit> at <tmp> line 1
22:46
Kaiepi m: role Foo[::T, ::U] {}.^body_block.signature
camelia ( no output )
Kaiepi m: say role Foo[::T, ::U] {}.^body_block.signature
camelia (::$?CLASS ::::?CLASS Mu, ::T Mu, ::U Mu)
Kaiepi m: say role Foo[::T, ::U] {}.^body_block.signature.arity
camelia 3 22:47
Kaiepi m: sub foo(::T $a --> T) { $a }; say foo 1 22:48
camelia Died with X::TypeCheck::Return
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: sub foo(::T $a --> ::T) { $a }; say foo 1
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of symbol 'T'
at <tmp>:1
------> 3sub foo(::T $a --> ::T7⏏5) { $a }; say foo 1
Kaiepi m: sub foo(::T $a --> T:D) { $a }; say foo 1
camelia Died with X::TypeCheck::Return
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: sub foo(::T $a --> T) { T.new: $a }; say foo 1 22:49
camelia Died with X::TypeCheck::Return
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi ?
m: sub foo(::T $a) { say T; $a }; say foo 1
camelia (Int)
1
Kaiepi why doesn't `foo(::T $a --> T)` work? is it because T is still a generic when it type checks the return value or something? 22:51
timotimo sounds like a bugge 22:52
23:04 dolmen left 23:13 rindolf left 23:30 _jrjsmrtn joined 23:31 uzl left, __jrjsmrtn__ left, _uzl joined, nepugia left 23:32 _uzl left 23:36 [particle]1 left 23:43 [particle] joined 23:46 lucasb left
timotimo m: gist.github.com/timo/47faa5c04b41c...64fcc2aca8 23:50
camelia ===SORRY!===
Cannot bind to QAST::Var resolving to a lexicalref
timotimo committable6: releases gist.github.com/timo/47faa5c04b41c...64fcc2aca8
committable6 timotimo, gist.github.com/b7d1583e780a3bfab6...0de45252eb
timotimo damn it
bisectable: GOOD=2019.07.1 gist.github.com/timo/47faa5c04b41c...64fcc2aca8 23:51
bisectable6 timotimo, Bisecting by exit code (old=2019.07.1 new=74f2d3f). Old exit code: 0
timotimo, bisect log: gist.github.com/96d8439fed2d4d209e...4697933dc3
timotimo, (2019-07-08) github.com/rakudo/rakudo/commit/80...3423e0a51e
timotimo of course it was i who broketh it
am i glad it isn't in a release 23:52
23:52 empee0 left
timotimo m: sub rot(int $x is rw, int $y is rw) { my $t = $y; $y = $x; $x = $t; } 23:54
camelia ===SORRY!===
Cannot bind to QAST::Var resolving to a lexicalref
timotimo m: sub rot(int $x is rw) { $x = $x; } 23:55
camelia ===SORRY!===
Cannot bind to QAST::Var resolving to a lexicalref