»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
wamba m: say sort :{1 => 2, 2=> 3, 12=>1, "a" => 2} 00:00
camelia rakudo-moar 41b685: OUTPUT«(1 => 2 2 => 3 12 => 1 a => 2)␤»
wamba m: say sort :{1 => 2, 2=> 3, 12=>1, "12a" => 2}
camelia rakudo-moar 41b685: OUTPUT«(1 => 2 12 => 1 12a => 2 2 => 3)␤»
TimToady nobody has ever claimed cmp is sane :) 00:01
wamba :)
TimToady in fact, it's arguably impossible to fulfill everyone's expectations of what cmp should do
sammers is there a way to get a module's version from inside the module? 00:02
m: module Foo:ver<0.1.0> { sub f is export { say "what is my version?" } }; import Foo; f 00:04
camelia rakudo-moar 41b685: OUTPUT«what is my version?␤»
00:04 adu joined
ugexe m: say (1 => 2, 12=> 3, 2=>1).Hash.sort(*.key.Int) 00:04
camelia rakudo-moar 41b685: OUTPUT«(1 => 2 2 => 1 12 => 3)␤»
Xliff m: Class A { multi method new(Int $x) { say 1; }; multi method new(Rat $y) { nextwith($y.Int) }; } A.new(1); A.new(5/2); 00:08
camelia rakudo-moar 41b685: OUTPUT«5===SORRY!5===␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3thod new(Rat $y) { nextwith($y.Int) }; }7⏏5 A.new(1); A.new(5/2);␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤…»
Xliff m: Class A { multi method new(Int $x) { say 1; }; multi method new(Rat $y) { nextwith($y.Int) }; }; A.new(1); A.new(5/2);
camelia rakudo-moar 41b685: OUTPUT«5===SORRY!5===␤Undeclared names:␤ A used at line 1␤ Class used at line 1␤␤Other potential difficulties:␤ Useless declaration of a has-scoped multi-method in mainline (did you mean 'my method new'?)␤ at <tmp>:1␤ ------> 3…»
ugexe order matters 00:09
whats next
Xliff m: class A { multi method new(Rat $y) { nextwith($y.Int) }; multi method new(Int $x) { say 1; }; }; A.new(1); A.new(5/2); 00:10
camelia rakudo-moar 41b685: OUTPUT«1␤Default constructor for 'A' only takes named arguments␤ in any call_with_args at gen/moar/m-Metamodel.nqp line 3853␤ in method new at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Xliff There we go
m: class A { multi method new(Int $x) { say 1; }; multi method new(Rat $y) { nextwith($y.Int) }; }; A.new(1); A.new(5/2); 00:11
camelia rakudo-moar 41b685: OUTPUT«1␤Default constructor for 'A' only takes named arguments␤ in any call_with_args at gen/moar/m-Metamodel.nqp line 3853␤ in method new at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Xliff m: class A { multi method new(Int $x) { say 1; }; multi method new(Rat $y) { A.new($y.Int) }; }; A.new(1); A.new(5/2); 00:12
camelia rakudo-moar 41b685: OUTPUT«1␤1␤»
Xliff Eenteresting.
00:14 Actualeyes joined
ugexe again, what do you think `nextwith` can go to next when its the last multi in a chain? 00:15
m: class A { multi method new(Int $x) { say 1; }; multi method new(Rat $y) { samewith($y.Int) }; }; A.new(1); A.new(5/2); 00:16
camelia rakudo-moar 41b685: OUTPUT«1␤1␤»
ugexe the only thing 'next' is the default constructor 00:17
00:18 lizmat joined 00:20 canopus left 00:23 cdg joined
Xliff ugexe: /o\ 00:23
samewith, not nextwith...
00:28 canopus joined 00:29 Actualeyes left 00:37 cpage_ joined 00:42 TakinOver joined, Actualeyes joined 00:43 johndau joined, kurahaupo left
sortiz m: module Foo:ver<1.0> { say $?PACKAGE.^ver }; # sammers, the version 00:46
camelia rakudo-moar 41b685: OUTPUT«v1.0␤»
sammers thanks sortiz 00:49
sortiz m: module Foo::Bar:ver<1.0.1> { }; Foo::Bar.^ver.say; # From outside 00:50
camelia rakudo-moar 41b685: OUTPUT«v1.0.1␤»
00:50 zacts left 00:51 TakinOver left 00:53 AlexDaniel left 00:54 TakinOver joined 00:55 kurahaupo joined 00:59 cognominal left, cdg left 01:00 ssotka left 01:01 vendethiel joined 01:02 wamba left
gfldex there seam to be no spec tests for .^ver 01:03
i take that back 01:04
i will doc .^ver tomorrow 01:05
sortiz I guess it will be the same case with ^auth 01:06
gfldex indeed, noted 01:07
01:08 vendethiel left 01:09 zacts joined, kalkin-_ joined, kalkin- left 01:18 xinming left 01:19 z3ndrag0n left
jdv79 [Coke]: are you going to spw this year? 01:20
01:20 xinming joined
MasterDuke .seen timotimo 01:22
yoleaux I saw timotimo 5 Jul 2016 20:17Z in #perl6: <timotimo> hello hankache
01:24 z3ndrag0n joined 01:25 yqt left
timotimo i wanted to sleep, but sleep is hard to come by tonight 01:30
MasterDuke: what's up?: )
:)
MasterDuke i made a couple edits to the parse_coverage script 01:31
timotimo i saw the PR, and it got merged by liz
i also updated the html files at the same position as before
MasterDuke new ones. including the addition of a javascript file to sort the table by the different columns
timotimo ah, lovely 01:32
i wanted to have that, too
MasterDuke but wasn't sure where in the MoarVM source tree to put the two .js files 01:33
or should i inline them into the script?
timotimo i wouldn't mind if it were inline, yeah
MasterDuke they aren't gigantic
timotimo feel free to put it in a sub at the very end
MasterDuke ok, i'll do that 01:34
timotimo way cool
also, we may want to have a way to sort by position in the original file
will you also put in the possibility to handle files that don't have these split comments at all? 01:35
01:37 BenGoldberg joined
MasterDuke probably won't get to it today 01:37
i can look into it over the next couple days 01:38
timotimo very cool 01:39
[Coke] jdv79: highly doubtful 01:43
01:43 finanalyst joined
jdv79 wut then? 01:46
01:46 ilbot3 left
jdv79 oh, conf? 01:46
01:47 molaf left, ilbot3 joined
[Coke] jdv79: yes, I'm probably not going to spw; last year I was very lucky to be sponsored to go. 01:53
01:57 kid511 left, kid51 joined, vendethiel joined 01:59 molaf joined 02:01 vendethiel left
sammers hi again, is there a way to use a variable here: unit module Foo:ver<$version-number>... ? 02:03
02:03 noganex joined
timotimo you'll need << >> in order for it to interpolate 02:05
that's just how < > works, it's literal
just like ' vs "
02:07 noganex_ left 02:10 canopus left 02:12 cpage_ left, canopus joined
sammers ah, thanks. 02:17
sortiz sammers, but beware that the values inside :ver() should be ready at compile time: 02:25
m: my $version='42'; module Foo::Bar:ver($version) { }; Foo::Bar.^ver.say; #Fails 02:26
camelia rakudo-moar 41b685: OUTPUT«Use of uninitialized value $version of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in any at src/Perl6/Grammar.nqp line 2164␤v␤»
sortiz m: my ($mayor,$minor); BEGIN { $mayor = '1.0'; $minor = '8' }; module Foo::Bar:ver("$mayor.$minor") { }; Foo::Bar.^ver.say; # Works 02:27
camelia rakudo-moar 41b685: OUTPUT«v1.0.8␤»
sammers ah 02:28
ok
02:30 ssotka joined
MasterDuke .tell timotimo github.com/MoarVM/MoarVM/pull/381 02:38
yoleaux MasterDuke: I'll pass your message to timotimo.
timotimo TBH i'd prefer if the lines weren't so wide 02:40
yoleaux 02:38Z <MasterDuke> timotimo: github.com/MoarVM/MoarVM/pull/381
timotimo can you break up the javascript a little?
maybe 100 or 120 chars wide?
02:43 zacts left 02:53 kid51 left 02:55 kurahaupo left, siriu5b left, keix joined, MasterDuke[lapto joined
MasterDuke[lapto timotimo: just switched to the non-minified version of the JS 02:56
timotimo yay
02:59 cpage_ joined 03:04 bjz left 03:05 zacts joined 03:06 parabolize left 03:11 kaare_ joined 03:13 TakinOver left 03:21 addison left 03:33 bjz joined 03:37 bjz_ joined, parabolize joined 03:40 bjz left 03:43 djbkd joined 03:49 dwarring joined 03:50 wisti left 03:54 wisti joined
jdv79 [Coke]: cool. i'm not going either. just curious. i was no sponsored. 03:55
*not
adu jdv79: going to what? 03:56
jdv79 spw
03:57 MasterDuke[lapto left
jdv79 coke and i went last year but are not going this year. if its even happening. 03:57
adu jdv79: spwmainline.com/ ?
jdv79 Swiss Perl Workshop
adu oh
jdv79 it was in olten last year
04:04 khw left 04:06 z3ndrag0n left 04:09 khw joined 04:11 rgrinberg left 04:16 molaf left 04:17 johndau left 04:35 Actualeyes left 04:43 cooper left, cooper joined 04:46 cooper left, cooper joined, cooper left, cooper joined 04:47 Actualeyes joined 04:50 Cabanossi left 04:51 Cabanossi joined
dj_goku I am not having much luck getting the prototype right for inet_ntop in nativecall: any ideas what I am doing wrong? gist.github.com/djgoku/06a14d31c36...6c9b018b86 05:17
05:19 zacts left 05:24 sortiz left 05:32 zacts joined
Xliff dj_goku: You might want an OpaquePointer for the second argument. 05:37
This is what I see for inet_ntop: const char *inet_ntop(int af, const void *restrict src, 05:38
char *restrict dst, socklen_t size);
So I'd write that as "sub inet_ntop(int32, OpaquePointer, Str, uint32) returns Str is native { * } 05:39
Err... with the " at the end. 05:40
Note that when you make your call from p6, your input parameters must match the types. 05:41
Likewise, inet_pton needs to change to: "sub inet_pton(int32, Str, OpaquePointer is rw) returns int32 is native { * }" 05:42
BenGoldberg Wouldn't a Buf would be better than a Str for the 'dst' parameter?
(so you can pre-allocated it)
Xliff BenGoldberg, probably. I know there are instances where Buf is better than Str, but I don't know the ruling on when to choose between the two. 05:43
My guess is Str is better for null termination.
BenGoldberg Hmm, probably.
Xliff For Buf, I would expect that a length parameter would need to be in the signature. 05:45
That's just my (subjective and probably wrong) take on the subject.
So take with a salt lick. 05:46
(we don't do dashes here...) 05:47
05:47 BenGoldberg left
psch i thought we're one of few non-lispy languages that does dashes in identifiers 05:48
05:57 zacts left
psch maybe it's really not that rare vOv 05:57
Xliff psch: :P 06:01
I'm talking dashes of salt you ninny!
=)
So salt lick is the unit of reliability you need to apply when taking my advice. 06:02
Coz...a dash of salt falls well below the margin of error. 06:03
06:04 ssotka left 06:05 CIAvash joined 06:07 jack_rabbit left 06:14 adu left 06:15 apejens joined 06:19 zacts joined
moritz Xliff: what about a dashboard of salt? :-) 06:21
psch hrm, is there something similar to ${ENV_VAR:=DEFAULT_VALUE} on windows? 06:28
06:29 dwarring left 06:31 abraxxa joined
Xliff moritz: That depends on the value of "board" 06:36
I wonder what a "dashbored" looks like. 06:38
psch compound words says that's just someone bored of dashes..? 06:39
english doesn't really like those though i think
06:39 buharin joined
buharin hi :-) 06:40
psch o/
buharin psch: hello
06:42 domidumont joined, araujo left
nine Xliff: s/OpaquePointer/Pointer/g 06:44
06:44 araujo joined 06:50 domidumont left, mohae_ joined 06:53 mohae left
Xliff is now playing: Chase & Status feat. Jenna G - In Love 06:56
!!!!
Xliff grooves
moritz: Now that's just being silly. There are no car makers who are stupid enough to be making dashboards of salt.
Xliff grooves some more. 06:57
07:00 huggable joined 07:02 djbkd left 07:05 wisti left, RabidGravy joined 07:06 firstdayonthejob joined 07:11 mohae_ left 07:13 darutoko joined 07:19 lnrdo left, roguelazer left 07:21 lnrdo joined, roguelazer joined 07:26 ChoHag left 07:34 zakharyas joined 07:42 roguelazer left, aindilis left 07:43 lnrdo left, roguelazer joined 07:44 lnrdo joined, dakkar joined, ChoHag joined 07:48 aindilis joined
Woodi hi #perl6 :) 07:51
DrForr Morning. 07:53
RabidGravy erp 07:54
DrForr Agreed.
07:55 wamba joined
Woodi so, in 1986.02 I got some computer magazine and learned general concept of programming by reading how to make ASCII guy animation in BASIC... of course I didn't have computer back then so it was just pure "learning by reading"... but here is prototype of that animation (original was more like letter passwd by *NIX banner utility) pastebin.com/26TFhK7u have a fun ;) 08:00
Woodi runs for coffee....
08:01 perl6_nb joined
TEttinger re salt, Xliff, this is trendy right now tipsforbbq.com/Definition/Himalayan-Salt-Blocks 08:01
08:01 jonas1 joined
TEttinger you could totally make a dashboard that is heated by the engine and allows you to cook on a big salt block dashboard 08:02
DrForr Does it count as distracted driving if you're grilling a steak in the passenger's seat though? 08:03
moritz we don't give legal advise on #perl6! :-) 08:05
08:05 perl6_nb left
RabidGravy There have been times when we could cook thinks in the glove box of our car without modification 08:11
DrForr Same here, I used to live in LA :) 08:14
08:20 zakharyas left
RabidGravy DrForr, in the tests for Prancer at line 28 in t/050-routes.t there are two '.' rather '~' for string concatenation 08:22
github.com/drforr/perl6-App-prancer/pull/1 there - with that the tests pass 08:24
DrForr Aaah, thanks. 08:25
Pulling that in so I can get actual "work" work done :)
RabidGravy :)
DrForr I still find myself making that mistake... 08:26
08:46 wamba left 08:47 wamba joined 08:58 jkramer left 09:12 go|dfish left 09:13 TEttinger left 09:16 finanalyst left 09:21 sftf joined 09:42 brrt joined 09:44 iH2O joined 09:50 brrt left 09:52 labster left 09:58 skids joined 09:59 zakharyas joined
jnthn ugexe: Did you RT it? (Please do so if not. Telling me stuff on IRC is not so reliable. :)) 10:04
yoleaux 5 Jul 2016 10:51Z <Zoffix> jnthn: is this Rosetta code outdated? It does a start {} on a connected socket and bleed Rakudo breaks the promise with "Tried to read() on a socket from outside its originating thread". I think this may be due to the async fixes we lately had. rosettacode.org/wiki/Echo_server#Perl_6
10:06 avenj left 10:10 iH2O left 10:16 zacts left, rindolf joined 10:27 andreoss joined 10:33 zacts joined 10:40 iH2O joined 10:51 skids left 10:55 AlexDaniel joined 10:58 cognominal joined 11:00 huggable left, huggable joined 11:04 silug left
wamba m: say ((12, 2, "12a"), {@^x.sort} ... * ).head(5) 11:04
camelia rakudo-moar 41b685: OUTPUT«((12 2 12a) (12a 2 12) (12 12a 2) (2 12 12a) (12a 2 12))␤»
wamba :)
iH2O wow
moritz m: ((12, 2, "12a"), *.sort ... *).head(5) 11:05
camelia rakudo-moar 41b685: OUTPUT«===SORRY!===␤Cannot find method 'take': no method cache and no .^find_method␤»
jnthn o.O
Oh, think that's already RT'd though...
psch m: ((12, 2, "12a"), **.sort ... *).head(5) 11:06
camelia rakudo-moar 41b685: OUTPUT«===SORRY!===␤This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤»
moritz m: ((12, 2, "12a"), &sort ... *).head(5)
camelia ( no output )
moritz m: say ((12, 2, "12a"), &sort ... *).head(5)
gregf_ m: (1..10).head(2).say
camelia rakudo-moar 41b685: OUTPUT«((12 2 12a) (12a 2 12) (12a (12a 2 12) 2 12) (12a (12a (12a 2 12) 2 12) (12a 2 12) 2 12) (12a (12a (12a (12a 2 12) 2 12) (12a 2 12) 2 12) (12a (12a 2 12) 2 12) (12a 2 12) 2 12))␤»
rakudo-moar 41b685: OUTPUT«(1 2)␤»
11:06 skids joined, avenj joined
wamba jnth, probably it is ok, since 12a lt 2 < 12 lt 12a 11:09
gregf_ is that @^x a special variable like $^a and $^b? 11:16
m: say (1, {$^a * (^10).pick}...*).head(5)
camelia rakudo-moar 41b685: OUTPUT«(1 8 56 168 1512)␤»
gregf_ m: sub foo(@arr,$bl){ @arr.map($bl); };say foo([1..10],->$x { $x * 2 },); 11:18
camelia rakudo-moar 41b685: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
gregf_ m: sub foo($bl){ @^x.map($bl); };say foo([1..10],->$x { $x * 2 },);# should this work?
camelia rakudo-moar 41b685: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Placeholder variable '@^x' cannot override existing signature␤at <tmp>:1␤------> 3sub7⏏5 foo($bl){ @^x.map($bl); };say foo([1..1␤»
11:18 freezerburnv joined 11:19 silug joined 11:21 pat_js joined
wamba m: my &foo = { @^a.map(&^b); };say foo([1..10],->$x { $x * 2 },) 11:22
camelia rakudo-moar 41b685: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
wamba m: sub foo (@a,&b)  { @a.map(&b); };say foo([1..10],->$x { $x * 2 },) 11:23
camelia rakudo-moar 41b685: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
wamba m: sub foo  { @^a.map(&^b); };say foo([1..10],->$x { $x * 2 },) 11:25
camelia rakudo-moar 41b685: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
11:25 yqt joined 11:26 iH2O left
wamba gregf_, i think you must use signatures, or placeholders, no both 11:27
gregf_ hmm 11:28
so that last one?
m: sub foo { @^a.map(&^b); };say foo([1..10],->$x { $x * 2 },) 11:30
camelia rakudo-moar 41b685: OUTPUT«(2 4 6 8 10 12 14 16 18 20)␤»
gregf_ anyways, something new learnt. wamba++
11:32 brrt joined, freezerburnv left 11:34 freezerburnv joined 11:35 grondilu joined 12:00 freezerburnv left, rgrinberg joined 12:02 kid51 joined, vendethiel joined 12:10 dogbert17 left 12:22 canopus left 12:26 vendethiel left, brrt left 12:30 rgrinberg left 12:31 canopus joined 12:57 wisti joined
BrokenRobot WOMBLES!! 13:01
BrokenRobot coughs
Sorry... the silence was deafening.
lizmat puts on some Nirvana 13:02
13:02 grondilu left, grondilu joined
lizmat 13:02
moritz puts on some Zaz, www.youtube.com/watch?v=WQnktOct1Bo 13:04
BrokenRobot TIL there's more than one Nirvana band
13:05 wamba left 13:06 brrt joined
perlpilot BrokenRobot: me too 13:07
13:07 Sgeo__ left
nine puts on some John Cage, www.youtube.com/watch?v=JTEFKFiXSx4 13:11
13:11 rgrinberg joined 13:13 pmurias joined
pmurias what's the recommended way to parse json from NQP? 13:13
13:14 sufrostico joined
moritz pmurias: examples/json.nqp has an example parse 13:17
pmurias it's bitrotten but it could be reused 13:20
.oO( would it make sense to have a nqp:: op to parse json fast? )
moritz well, if the result HLL-maps back into a HLL, possibly 13:21
ugexe jnthn: yes I rt'd it rt.perl.org/Ticket/Display.html?id=128553 13:25
fwiw its calculating the right stuff, the return value is just getting stepped on 13:26
nine pmurias: what do you need it for? 13:28
13:28 kurahaupo joined
pmurias nine: I don't really *need* it, as I can just parse the json with NQP code 13:29
13:29 acrussell joined
DrForr conferences.oreilly.com/oscon/open-...tail/53512 just went live. 13:29
pmurias nine: just thought it might make sense to have such an op as parsing json seemed to be a bottle neck for example panda in the past
nine pmurias: I'm more wondering what you need to parse anyway :)
pmurias nine: I want to pass data back from my hoopl using haskell based QAST optimizer 13:30
BrokenRobot Seems my Mojo+Perl 6 article got another stick in the spokes... I can consistently make my app crash :/ "Internal error: unhandled dyncall argument type"
And there's a whole bunch of output
s/consistently/regularly; about 50% of the time/; 13:31
"Segmentation fault" now... \o/
nine BrokenRobot: I hope you can golf that? 13:32
13:33 andreoss left
BrokenRobot "Unsupported type NativeCall::Types::Pointer<-1272678512> in p5_to_p6" 13:33
It's just 20 lines as it is, but seems I'm getting hammered by two different bugs. One that barfs up a ton of output ( gist.github.com/zoffixznet/ef8aadf...d2f284d177 ) and another that just dies with "Segfault" message 13:35
"Segmentation fault" I mean
13:36 ptolemarch joined
BrokenRobot And this is the code: github.com/zoffixznet/mu/tree/mast...-websocket (started with perl6 websocket.p6 daemon) 13:37
BrokenRobot files RT
13:38 Skarsnik joined
BrokenRobot .seen Skarsnik 13:38
yoleaux I saw Skarsnik 16 Apr 2016 17:14Z in #perl6: <Skarsnik> Hello
Skarsnik Hello there x)
yoleaux 13 May 2016 09:28Z <timotimo> Skarsnik: at some point gptrixie could totally extract doxygen stuff like \param and the general description and then put the corresponding pod comments into the generated code :3
BrokenRobot Hey :)
Long time. I was starting to think you were dead :) 13:39
Skarsnik Busy with other things
timotimo o/ 13:42
yeah, long time no see :)
timotimo also wonders about mouq
13:43 abraxxa1 joined, abraxxa left
Skarsnik It's me or there is not that much new thing, like the modules list did not seem to have grown much, or does it get moved to a cpan thingy finally? 13:48
nine It's not just you
Module list growth has slowed down
BrokenRobot Skarsnik: no it haven't moved. There's been a HUGE improvement with Rakudo's speed.
So that's new.
timotimo oh yes 13:49
Skarsnik Ah nice
psch blames brexit for lower module growth
RabidGravy++ is in distress
RabidGravy I'm at an all time record for the number of in-progress modules 13:50
Skarsnik I was checking if someone wrote a websocket client async module, but it seem not :(
timotimo we only have the synchronous one? 13:51
RabidGravy as part of the Websocket module, it does work quite well
it could be made asynchronous or used in asynchronous manner 13:52
timotimo ohai gravy 13:54
13:55 iH2O joined
RabidGravy harr! 13:58
Skarsnik RabidGravy, do you have an example of using it async? I'd like to have a Discord module that use the websocket api x)
14:01 zakharyas left
iH2O grrr! 14:03
timotimo good day to you, too, iH2O 14:04
iH2O B-)
RabidGravy nope, but it's basically start { } a client with a Promise that is kept with the handler in the on-ready and a supply to send text 14:06
or some variant thereof 14:07
14:15 harmil left
jnthn ugexe: Thanks, will hopefully find time for that tomorrow. :-) 14:15
pmurias why doesn't: paste.debian.net/777599 work on nqp? 14:22
jnthn: $!do on an NQPRoutine is mostly immutable? 14:25
14:28 CIAvash left
AlexDaniel MasterDuke: if I got it right, mst++ and others fixed the mail related problem, so it seems like you should send an email again 14:30
14:33 itaipu joined 14:34 tbrowder joined, cdg joined 14:37 molaf joined 14:39 MilkmanDan left
tbrowder ShimmerFairy: I've replied to yr comment ref spec PR 112 and modified that PR 14:42
14:46 wamba joined, gcole joined 14:47 MilkmanDan joined 14:49 yqt left
dalek c: fcec7dc | (Zoffix Znet)++ | doc/Programs/00-running.pod6:
List RAKUDO_PRECOMP_NESTED_JDB and RAKUDO_JDB_PORT

Per github.com/rakudo/rakudo/commit/0295443849
14:55
14:55 rindolf left 14:59 z3ndrag0n joined 15:00 huggable left, huggable joined, rindolf joined
arnsholt Smalltalk first impressions: Kind of unfamiliar, but definitely looks promising! 15:01
BrokenRobot nqp: grammar Foo { token TOP { foo \s+ (\d+) {say($/[0])} } }; say(Foo.parse("foo 123").made);
camelia nqp-moarvm: OUTPUT«123␤␤»
BrokenRobot Seems make inside a token in nqp just doesn't work as it does in P6 15:02
TimToady BrokenRobot: I believe you have to write an action class in nqp
15:02 mohae joined
BrokenRobot pmurias: ^ 15:03
dalek c: 4be0d1d | (Wenzel P. P. Peppmeyer)++ | html/js/main.js:
adding #__debug__ to any url will

   - warn on the javascript console for duplicated id and name attrs
As soon as Pod::To::HTML is updated on docs.perl6.org we can start hunting for duplicated X<> tags and get the search function to actually
  link to X<> generated anchors.
15:06
c: 2b4d47b | (Wenzel P. P. Peppmeyer)++ | doc/Programs/00-running.pod6:
Merge branch 'master' of github.com/perl6/doc
15:06 a3r0_ left, a3r0 joined 15:07 wamba left 15:12 Khisanth left, iH2O left 15:15 z3ndrag0n left 15:16 xinming_ joined
[Coke] (regarding issues with rt) Worth keeping in mind that the perl.org RT instance is volunteer run. (useful to remember when reporting issues to them, and also something to consider when considering switching ticketing systems) 15:16
timotimo yes, very 15:17
[Coke] (e.g. we're likely to not get a response as quickly, but are more likely to get a personalized response when we do.)
15:19 xinming left
dalek c: c99316f | (Wenzel P. P. Peppmeyer)++ | doc/Language/packages.pod6:
doc .^ver
15:20
gfldex if that build fails it will be my fault for once :)
gfldex shakes fist at travis
15:25 ssotka joined 15:26 skids left 15:27 Khisanth joined 15:28 z3ndrag0n joined, z3ndrag0n left, z3ndrag0n joined
hoelzro I just searched around trying to remember which programming langauge implements power loops (I can never remember), and google led me to a Perl 6 language discussion =) 15:33
masak power loops? 15:34
yoleaux 4 Jul 2016 11:07Z <moritz> masak: I've created a shell account for you on irc.p6c.org, which should be more stable for IRC session than hack. Password is the same as on hack. Enjoy!
masak moritz++ \o/
hoelzro yeah, they're this obscure language feature that never took off that allows you to write loops that have recursion-like properties 15:35
BrokenRobot gfldex++
15:36 pdcawley left 15:37 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'doc .^ver' 15:37
travis-ci.org/perl6/doc/builds/142791449 github.com/perl6/doc/compare/2b4d4...9316f44586
15:37 travis-ci left
BrokenRobot chuckles 15:37
# Failed test 'no trailing whitespace in html/js/main.js' 15:38
# at t/trailing_whitespace.t line 19
dalek c: 2aa78ff | (Wenzel P. P. Peppmeyer)++ | CONTRIBUTING.md:
tell contributors about #__debug__
gfldex shaked both fists at travis 15:39
BrokenRobot: what does that test actually test for? 15:40
dalek c: 19d5fbc | (Zoffix Znet)++ | CONTRIBUTING.md:
Fix typo
BrokenRobot gfldex: trailing whitespace. i.e /\s+$/
gfldex i can't see any 15:41
BrokenRobot Try running perl -pi -e 's/\s+$/\n/m' html/js/main.js
15:41 domidumont joined
gfldex no result 15:42
15:43 pdcawley joined
gfldex i'm looking into teaching search.js to have proper links for X<> anchors now 15:43
dalek c: 2439855 | (Zoffix Znet)++ | html/js/main.js:
Remove trailing whitespace
BrokenRobot gfldex: there's no output, but it does change the file. If you run git diff you can see it changed stuff
15:45 canopus left
BrokenRobot huggable: strip trailing whitespace :is: Run perl -pi -e 's/\s+$/\n/m' THE_FILE to strip trailing whitespace from THE_FILE 15:46
huggable BrokenRobot, Added strip trailing whitespace as Run perl -pi -e 's/\s+$/\n/m' THE_FILE to strip trailing whitespace from THE_FILE
15:52 KillBill joined, travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'tell contributors about #__debug__' 15:52
travis-ci.org/perl6/doc/builds/142795914 github.com/perl6/doc/compare/c9931...a78ff57b9b
15:52 travis-ci left, canopus joined 15:53 Util left, dalek left
KillBill m: my \i = 2; say 22ⁱ; # ;-) 15:53
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3my \i = 2; say 227⏏5ⁱ; # ;-)␤»
BrokenRobot m: say 22ⁱ; 15:54
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say 227⏏5ⁱ;␤»
BrokenRobot Same thing...
15:55 abraxxa1 left
BrokenRobot m: sub infix:<⁢> ($, $) { 'i' }; say 2⁢2 15:55
camelia rakudo-moar d505a8: OUTPUT«i␤»
BrokenRobot ;)
15:56 travis-ci joined
travis-ci Doc build failed. Zoffix Znet 'Fix typo' 15:56
travis-ci.org/perl6/doc/builds/142796497 github.com/perl6/doc/compare/2aa78...d5fbc311de
15:56 travis-ci left, japhb left
BrokenRobot m: sub postfix:<ⁱ> { $^ⁱ**2 }; say 22ⁱ 15:57
camelia rakudo-moar d505a8: OUTPUT«484␤»
BrokenRobot m: sub postfix:<ⁱ> { $^ⁱ² }; say 22ⁱ 15:59
camelia rakudo-moar d505a8: OUTPUT«484␤»
BrokenRobot tehe
[Coke] that seems misleading. :P 16:01
m: for Nil -> $a { say 1 }; say "alive" 16:02
camelia rakudo-moar d505a8: OUTPUT«1␤alive␤»
[Coke] m: for Slip -> $a { say 1 }; say "alive"
camelia rakudo-moar d505a8: OUTPUT«Invocant requires an instance of type Slip, but a type object was passed. Did you forget a .new?␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot m: for Int -> $a { say 1 }; say "alive" 16:03
camelia rakudo-moar d505a8: OUTPUT«1␤alive␤»
16:03 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Remove trailing whitespace' 16:03
travis-ci.org/perl6/doc/builds/142797450 github.com/perl6/doc/compare/19d5f...39855c3370
16:03 travis-ci left 16:05 domidumont left 16:06 pmurias left 16:12 cdg left 16:15 KillBill left 16:16 domidumont joined 16:18 vibha left 16:23 domidumont left
gfldex m: sub foo(:$p){ $p }; sub bar(:$p){ foo(:$p ~ '#') }; my @a = start { say bar(p=>'oi') }; await @a; 16:27
camelia rakudo-moar d505a8: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub foo(:$p){ $p }; sub bar(:$p){ foo(:$p) }; my @a = start { say bar(p=>'oi') }; await @a; 16:28
camelia rakudo-moar d505a8: OUTPUT«oi␤»
gfldex why does it do that?
the error triggers on await(@a) 16:29
and bar has to be executed
BrokenRobot What's :$p ~ '#' ?
To me, that looks to be stringified into one thing which is then passed as positional 16:30
m: class A { has $!b is readonly = "foo" };
camelia rakudo-moar d505a8: OUTPUT«Potential difficulties:␤ useless use of 'is readonly' on $!b␤ at <tmp>:1␤ ------> 3class A { has $!b is readonly7⏏5 = "foo" };␤»
gfldex i would call it The Culprit
BrokenRobot Why is it telling me that's useless use?
gfldex because private variables are inlined and as such there is no container that could do the rw check 16:31
BrokenRobot Inlined how? :/ 16:32
timotimo gfldex: you expect :$p ~ '#' to still be a named argument? 16:33
ah, BrokenRobot already said that
psch warn "useless use of 'is readonly' on $attr.name()" unless $attr.has_accessor; # from src/core/trait.pm 16:35
gfldex no, it's a string concat on a Pair object. However the error message points at await(@a)
psch so, it's not about inlining or containers
it's purely about accessors
because, similar to 'is rw', readonly-ness of an Attribute talk about *outside* of the class
m: class A { has $!a is rw } 16:36
camelia rakudo-moar d505a8: OUTPUT«Potential difficulties:␤ useless use of 'is rw' on $!a␤ at <tmp>:1␤ ------> 3class A { has $!a is rw 7⏏5}␤»
timotimo gfldex: ah, it's just about exceptions being reported at the await, not at the actual throw point
yeah, i think that problem's known already
psch if you don't have an accessor, it's useless to tell the rest of the world whether your Attribute is readonly or rw, they can't see it anyway
BrokenRobot m: class A { has $!b; submethod BUILD { $!b := Proxy.new: STORE => { say "sod off" }, FETCH => { "foo" } }; method meow { $!b = 42 } }.new.meow
camelia rakudo-moar d505a8: OUTPUT«Too many positionals passed; expected 0 or 1 arguments but got 2␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot psch: so then am I correct to assume this test is bogus and should be removed? github.com/perl6/roast/blob/master...only.t#L24 16:37
psch: oh, I misread
BrokenRobot tries with an accessor
timotimo that seems outdated, yeah
16:38 dakkar left
BrokenRobot m: class C { has $!attr is readonly = 71356; method get-attr() { $!attr }; method set-attr($val) { $!attr = $val } }; say C.new.get-attr; C.new.set-attr: 99 16:38
camelia rakudo-moar d505a8: OUTPUT«Potential difficulties:␤ useless use of 'is readonly' on $!attr␤ at <tmp>:1␤ ------> 3class C { has $!attr is readonly7⏏5 = 71356; method get-attr() { $!attr }; ␤71356␤»
psch 'accessor' refers to the autogenerated ones from the . twigil 16:39
so yeah, the test looks wrong to me
BrokenRobot Thanks.
16:40 zakharyas joined 16:41 kid51 left, kid51 joined
jnthn .tell pmurias Yes, in NQP - modulo fixups post-compile (I think) - it stays stable. 16:41
yoleaux jnthn: I'll pass your message to pmurias.
jnthn .tell pmurias and in the case where it isn't then the thing in $!do is marked as a stub, iirc 16:42
yoleaux jnthn: I'll pass your message to pmurias.
BrokenRobot m: say &1 16:46
camelia rakudo-moar d505a8: OUTPUT«Nil␤»
BrokenRobot m: say &1232132 16:47
camelia rakudo-moar d505a8: OUTPUT«Nil␤»
BrokenRobot What are these? &\d+ ?
16:47 zakharyas left
BrokenRobot m: "foo" ~~ /(f)(\w+)/; say &0; say &1 16:48
camelia rakudo-moar d505a8: OUTPUT«「f」␤「oo」␤»
BrokenRobot Is that supposed to be like that?
psch huh, i thought we had that fixed already 16:50
well, there's a few not-quite-clean semantics there i think
timotimo right; we allow you to refer to the things as @0, $0, %0, and apparently also &0
but for some reason, not ::0 :P
psch m: "foo" ~~ /(.+)/; say @0
camelia rakudo-moar d505a8: OUTPUT«()␤»
psch except it's not exactly like that
@0 only has things if the first positional capture is actually repeated
BrokenRobot m: "foo" ~~ /(f)(\w+)/; say %0
camelia rakudo-moar d505a8: OUTPUT«Map.new(())␤»
psch m: "foo" ~~ /(...)+/; say @0 16:51
camelia rakudo-moar d505a8: OUTPUT«[「foo」]␤»
psch as in, has a quantifier
so &0 should just be invalid, i think
BrokenRobot m: "foo" ~~ /(...)+/; say &0
camelia rakudo-moar d505a8: OUTPUT«[「foo」]␤»
timotimo oh
BrokenRobot m: "foo" ~~ /(...)+/; say $0
camelia rakudo-moar d505a8: OUTPUT«[「foo」]␤»
psch m: "foo" ~~ /(.)+/; say $0
camelia rakudo-moar d505a8: OUTPUT«[「f」 「o」 「o」]␤»
psch m: "foo" ~~ /(.)+/; say @0
camelia rakudo-moar d505a8: OUTPUT«[「f」 「o」 「o」]␤»
psch that's what i mean :)
it's all kinda a bit over the place
BrokenRobot Well, there's rt.perl.org/Ticket/Display.html?id=72820 mind the cobwebs 16:52
psch note, i'm not sure what $0 *should* mean if we have only one pos capture that's quantified
16:52 yqt joined
psch i think i've looked at it before 16:54
but i don't recall what i found where :S 16:55
BrokenRobot I wonder how many bugs can just be closed 'cause no one cares :) 16:57
Auto-close after 3 years :)
Oh.. That'd close just 6 bugs lol :) 16:58
m: say 1340/365
camelia rakudo-moar d505a8: OUTPUT«3.671233␤»
BrokenRobot That means on average, in the past year more than 3.7 tickets per day were created! 16:59
17:01 addison joined
gfldex dalek: you there mate? 17:02
BrokenRobot Nope. "◀▬▬ │ dalek (~dalekbot@2001:780:101:ff00::2:9) has quit (Ping timeout: 258 seconds)" 17:03
that was over an hour ago
timotimo oh, huh
it's supposed to reboot
is hack all right?
BrokenRobot Ulti is connted from it
psch hack is 580 load 17:04
BrokenRobot Oh maybe not... I can't ssh :)
psch +at
gfldex docs.perl6.org will have proper index entry search, that actually jumps to the right spot on the page, in 20min or so
timotimo yeah, i'll reboot it
17:04 zacts left
timotimo bye bye all hack chatters 17:05
psch *phew*
BrokenRobot closes RT#72820 while no one is looking
17:05 sergot left, masak left, synopsebot6 left, dalek joined, ChanServ sets mode: +v dalek 17:06 synopsebot6 joined
timotimo allow me to advertise ire.p6c.org again 17:06
psch BrokenRobot: why? 17:07
BrokenRobot: i mean, do you think &0 as a feature is something to leave in? 17:08
fwiw, i'd tag it as LHF and leave it for someone who wants to dig into the grammar 17:10
BrokenRobot psch: because no one cared about that bug report for 5 years. I think that alone is a reason enough to close it. As for leaving it in: if it's not specced by roast, it's not a feature. Grepping the docs repo, I don't see it mentioned either. 17:18
timotimo um, that's kind of not how we do it, though? 17:19
anyway, i have to AFK for a bit
psch iirc when i looked into it nobody cared what happens with it; i left an RFC for how to throw about it but nothing happened
i don't recall if i had a commit bit at that time, but right now i'm strongly tempted to push something that throws something like X::Variable::InvalidCapture 17:20
because to me it doesn't make sense to refer to a Callable regex capture
BrokenRobot OK, I reopened it. 17:21
psch i can also guide you how i figured out what to change where to throw a typed Exception there, because as i said, i think it's a great ticket for getting used to the Grammar and Actions 17:22
BrokenRobot psch: sure, I'd love to learn that
psch BrokenRobot: the most important thing is --stage=parse
BrokenRobot: as in, the start for any bug that most likely is Grammar or Actions based is by isolating it as far as possible - in this case a bare '&0' - and running that through ./perl6 --stage=parse -e 17:23
err, target
goddamn >_>
not stage
gist.github.com/peschwa/1e6a9f84a4...e5b79f86d9 # like this 17:24
EXPR is a scary place, i don't go there
so it's about variable
BrokenRobot heh. everyone's afraid of EXPR :)
psch github.com/rakudo/rakudo/blob/nom/....nqp#L2017 so this 17:25
17:25 addison left
psch yeah, as i said, it's scary :P 17:25
17:25 cdg joined
psch i mean, if i had more formal comp sci education, maybe i'd think different 17:25
but i don't so yeah
anyway, looking at <variable> we can already guess what matches 17:26
that is, the 4th alternation, '| <sigil> $<index>=[\d+] [<?{ $*IN_DECL }> <.typed_panic: "X::Syntax::Variable::Numeric">]?' 17:27
m: my $0 # 'cause this doesn't work, which fits with the typed_panic
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot declare a numeric variable␤at <tmp>:1␤------> 3my $07⏏5 # 'cause this doesn't work, which fits ␤»
psch so, we know what matches, now we check what happens with ti
*it
BrokenRobot So <sigil> needs to exclude '&' on here? github.com/rakudo/rakudo/blob/nom/....nqp#L2025
psch well, yeah, that's one possibly fix 17:28
i'd say you should try what happens if you do that - i'm pretty sure i know what it'll be, but verifying is clearly superior :)
and the 3 or so minutes of a clean moar build should be bearable :)
the thing is, you cannot change <sigil> in general 17:29
you could probably put a negative lookahead infront
something like "| <!before '&'> <sigil> $<index>...." 17:30
BrokenRobot <[<sigil>]-[&]> or some such won't work?
psch i don't think tokens expand inside a character class
considering that's kind of the halting problem afaiu
17:31 vendethiel joined
BrokenRobot Does it have to be a token? <[$@%]> is not acceptable? 17:31
psch well, you still have to store that in $<sigil>, because the actions probably depend on that
github.com/rakudo/rakudo/blob/nom/....nqp#L2276 # they definitely do
BrokenRobot builds 17:33
heh.. nothing changed :P 17:37
psch what did you implement?
BrokenRobot Oh. I modified the wrong line. Now that makes sense :P
psch BrokenRobot++ # quick debugging 17:38
:P
BrokenRobot "Name must begin with alphabetic character" 17:41
Good error, no?
psch a bit unspecific, isn't it? 17:42
i mean, $0, @0, %0 all work
so clearly "Name must beign with alphabetic character" isn't really the whole truth
BrokenRobot | $<sigil>='&' $<index>=[\d+] <.typed_panic: "X::Syntax::Variable::SomethingOrOther"> ? 17:43
DrForr Well, tere's also $ and @ on their own.
*there's
psch DrForr: right, but those never match if we look for \d+ afterwards 17:44
BrokenRobot: that's a possibility, you don't even have to capture $<sigil> like that
i'm not sure how LTM works there, though, but i'd guess '&' is more specific than <sigil> 17:48
17:51 domidumont joined
BrokenRobot huggable: exceptions :is: Run in rakudo repo: grep -R 'X::' | perl -nE 'my ($x) = /(X::[^\s'\''",().]+)/; $x and $x !~ /:$/ and say $1' | sort | uniq 17:51
huggable BrokenRobot, Added exceptions as Run in rakudo repo: grep -R 'X::' | perl -nE 'my ($x) = /(X::[^\s'\''",().]+)/; $x and $x !~ /:$/ and say $1' | sort | uniq
psch huggable: exceptions :is: X::.keys.say 17:52
huggable psch, Added exceptions as X::.keys.say
psch scnr
BrokenRobot :o
psch well, that actually only traverses one level 17:53
BrokenRobot :)
So there's no X::Variable::InvalidCapture. Create one? 17:54
psch well, i'm not sure that's the best name 17:55
m: X::Variable.say
camelia rakudo-moar d505a8: OUTPUT«Could not find symbol '&Variable'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch i think X::Syntax::Regex::UnrecognizedCaptureShorthand maybe?
or s/Unrecognized/Invalid/
'cause it's a Syntax feature, and specifically a Regex feature 17:56
on the other hand, the other Exceptions below X::Syntax::Regex belong *inside* QRegex
so maybe just X::Syntax::InvalidCapture
perlpilot So ... when there's a capture in scope, &0 will work as usual, but otherwise it errors? Is that where y'all are going? 17:57
psch hm, actually i think the Shorthand is useful
perlpilot: &0 is never useful to refer to a Capture - it would have to refer to a Callable capture, which we don't do
BrokenRobot perlpilot: "as usual" is what?
psch s/C/c/
i mean, maybe it could shorthand to the .made, but that seems terribly magical 17:58
perlpilot m: "foo" ~~ /(oo)/; say &0; # "usual" is perhaps overstating current behavior :)
camelia rakudo-moar d505a8: OUTPUT«「oo」␤»
BrokenRobot m: package Foo { sub EXPORT { {'&foo' => sub { "you called?" }} } }; import Foo; say &foo 17:59
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ foo used at line 1␤␤» 18:00
BrokenRobot hm
(was just trying to see what exporting '&1' did... nothing apparently. 18:01
)
m: X::Syntax::Variable::Match.new.throw 18:02
camelia rakudo-moar d505a8: OUTPUT«Cannot declare a match variable␤ in block <unit> at <tmp> line 1␤␤»
psch m: my $<a>
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot declare a match variable␤at <tmp>:1␤------> 3my $<a>7⏏5<EOL>␤»
BrokenRobot psch: what about X::Syntax::Variable::InvalidCaptureShorthand?
psch that's where that is used 18:03
18:03 domidumont left
psch BrokenRobot: yeah, that seems fine. length is a bit awkward, but it should be rare enough to not be weird 18:03
maybe "InvalidCaptureSigil"?
18:03 M-matthew left, M-Illandan left, tadzik left
psch 'cause, well, that's what we *really* care about, isn't it 18:03
BrokenRobot Yeah, that's better.
Alright, I'll submit a PR tonight after work 18:04
psch++ for helping :)
psch i like this solution a lot more than just closing the ticket 18:05
BrokenRobot: also, don't forget the roast PR ;)
BrokenRobot Yeah, I kinda brainfarted with the close :)
psch BrokenRobot++ 18:06
18:07 labster joined 18:09 yqt left 18:16 sufrostico left 18:17 spider-mario joined 18:28 wamba joined, girafe joined
dalek c: 52c90a5 | (Wenzel P. P. Peppmeyer)++ | html/js/main.js:
__debug__ will check all links and alert on http status >= 400
18:32
BrokenRobot :o neat
18:34 tadzik joined 18:38 domidumont joined, Actualeyes left
dalek c: 12347fc | (Wenzel P. P. Peppmeyer)++ | html/js/main.js:
XMLHTTPRequest does not decode URIs for us, fixed
18:38
gfldex i found that «#__debug__» is a really bad way to start a commit message 18:40
moritz gfldex: it works fine if you commit with git commit -m '#__debug__ bla bla' 18:43
because there, git doesn't recognize # as a comment
BrokenRobot hm, I get seen_name_or_id.includes is not a function... I guess my browser is too ancient. 18:44
moritz it's better than "undefined is not a function" :-) 18:45
gfldex BrokenRobot: see developer.mozilla.org/en-US/docs/W...y/includes 18:46
BrokenRobot gfldex: yeah, I'm using a Firefox fork that usually lags behind :)
gfldex BrokenRobot: easy to fix, simply copy the implementation from the site i just linked into main.js 18:47
BrokenRobot Well... At this moment in time. I think I use like 3 different browsers throughout the day 18:48
gfldex: nah, I think it's fine as it is. It's a debugging feature. People can grab a modern browser if they wanna use it :)
moritz *sigh* can't somebody invent an HTTP header that opts in to cookie usage, so that websites can stop asking/informing me about cookie usage 18:49
18:50 nebg left, vendethiel left
BrokenRobot I rather we stop making laws about cookies :P 18:50
moritz well, that would be the ideal solution 18:51
but I happen not to believe in the IT competence of politicians
DrForr s/IT//; :)
18:51 M-matthew joined, M-Illandan joined
moritz well, those in office had compentency in getting into office 18:52
so there's some undeniable competency there
DrForr True that.
brrt it's a typical failure of the 'nudge' politics
psch "It is a well-known fact that those people who must want to rule people are, ipso facto, those least suited to do it... anyone who is capable of getting themselves made President should on no account be allowed to do the job. 18:53
yay douglas adams :P
also screw that website for messing with my clipboard
moritz I hate it when that happens 18:54
brrt EU probably thought, "hey, if we make it /really annoying/ to use cookies, websites will be incentivized to not use cookies, and our citizens will have privacy"
technically, they are correct....
psch yeah, they something like "read more quotes at our-fancy-website.tld"
moritz at $work, we have gitlab, and if you want to copy the SSH repo URL, it automatically marks the whole URL for "easier" copying
psch +appended 18:55
psch accidentally a verb
moritz ... which on Linux has the effect of not makig it into the paste buffer
psch eww :|
moritz so I can either use the slow ctrl+c + right-click-to-open-context-menu thingy, or have to take other evasive action to get it into the paste buffer 18:56
I'm sure somebody meant well when implementing that feature
brrt had the EU simply said: 'you can use cookies for such and such purposes, but /only/ these purposes', we'd have clarity, and much less annoyance
moritz brrt: or if they had invested their energy into, like, educating the users 18:57
brrt i'm sorry, but i think that is naive
moritz and/or sponsor development of awesome cookie-blocking browser extensions 18:58
brrt us computer guys cannot expect 'users' to be educated any more than mechanics can expect drivers to be educated on the intricacies of petrol engines
that, i would agree with
18:58 labster left, addison joined
psch an unfortunate truth 18:58
moritz it's not like cookies are the only way to track people, so the privacy gains are pretty small anyway
brrt true.... which is why a hard law would've been better 18:59
DrForr moritz: Yeah, in fact they're in the vast minority. JS bugs, pixel tracking, supercookies and Flash are the real culprits there. Having worked for a place that did those things for others.
19:00 huggable left
brrt what is a supercookie? 19:00
moritz DrForr: right
localstorage, silverlight (luckily mostly dead), ip tracking, ...
DrForr Yeah. Though they can also be cookies that "other sites" (that are actually the tracking agency) load on your browser's "behalf". 19:01
moritz brrt: it's a broad term for any kind of cookie-light storage like flash cookies, localstorage etc, and typical implementations use several such methods to make sure at least one of them gets through 19:02
*cookie-like
19:02 labster joined
gfldex do we actually have /html/$/ (as in doc for `$/`)? 19:02
moritz gfldex: we have a problem with any symbol with / in it, iirc 19:03
BrokenRobot and .
*leading .
19:03 nebg joined
DrForr considers asking OSCON to pay for a ferry rather than a plane. 19:04
BrokenRobot timeless was working on a fxi
grondilu can I make sigilless named parameters? 19:05
moritz I don't think so 19:06
grondilu m: say sub (:foo) {}
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3say sub (:7⏏5foo) {}␤»
grondilu m: say sub (:\foo) {}
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3say sub (:7⏏5\foo) {}␤»
19:06 skids joined
moritz maybe the :\foo form could be made to work 19:07
gfldex m: sub foo(:a(\b)){}
camelia rakudo-moar d505a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub foo(:a(7⏏5\b)){}␤»
19:07 darutoko left
moritz but then I'm not really a parsing expert 19:07
gfldex m: sub foo(:$a is raw){}
camelia ( no output )
psch "Missing block" is kinda weird there
brrt DrForr: not fond of flying?
BrokenRobot m: say "echo exit(42) | $*EXECUTABLE 1>&2" 19:08
camelia rakudo-moar d505a8: OUTPUT«echo exit(42) | ./rakudo-m-inst/bin/perl6-m 1>&2␤»
BrokenRobot psch: hm. our fix now throws on that ^
DrForr No, just not fond of flying in to Heathrow and sitting in that little carrel by the passport booth waiting for an hour to be told not to stay beyond 90 days.
BrokenRobot It doesn't like the &2
DrForr And not fond of Heathrow in general. 19:09
psch BrokenRobot: that's interesting
DrForr &_0 is fine, I'm using it in some internals. 19:10
19:10 domidumont left
psch BrokenRobot: the naive solution would be to check if you're in qq-lang and just don't do the lookup then 19:10
BrokenRobot: as in, don't treat it like a variable
19:10 AndyBotwin joined
psch BrokenRobot: but that's probably really weirdly complicated and there's likely an easier solution 19:10
m: say "foo 1>&2" 19:11
camelia rakudo-moar d505a8: OUTPUT«foo 1>&2␤»
BrokenRobot This is my current thing FWIW: github.com/rakudo/rakudo/compare/n...l?expand=1
psch m: "foo" ~~ /(.)(.)(.)/; say "foo 1>&2"
camelia rakudo-moar d505a8: OUTPUT«foo 1>&2␤»
psch m: "foo" ~~ /(.)(.)(.)/; say "foo 1>$2"
camelia rakudo-moar d505a8: OUTPUT«foo 1>o␤»
psch BrokenRobot: well, looks like your addition LTMs better in places you didn't want it to 19:12
BrokenRobot: the alternative is not touching the grammar - cause, as in my example, the grammar already does it well enough
19:14 gcole left, gcole joined
psch BrokenRobot: which means instead changing Actions.variable to throw on $<sigil> eq '&' && so $<index> # or somesuch 19:15
19:17 TEttinger joined
BrokenRobot So it'd be doing that check every time it parses a variable? Won't that be a hefty price for such an edge case? 19:18
s/such <(/rare/;
m: say 10&2 19:20
camelia rakudo-moar d505a8: OUTPUT«all(10, 2)␤»
BrokenRobot m: say 10 &2
camelia rakudo-moar d505a8: OUTPUT«all(10, 2)␤»
psch BrokenRobot: well, to reach that spot in Actions it first has to have parsed [ $<sigil> $<index> } 19:21
]*
BrokenRobot Ah 19:22
psch so, in a way, it might actually be cheaper than your current implementation
because you're always LTM-ing for ['&' \d+]
19:24 itaipu left 19:29 FROGGS joined 19:30 harmil joined
BrokenRobot psch: but then that won't fix the original case: 19:32
m: &1
camelia ( no output )
BrokenRobot m: say &1
camelia rakudo-moar d505a8: OUTPUT«Nil␤»
psch BrokenRobot: what did you try? 19:33
BrokenRobot Oh, right, never mind the above comment. 19:34
But the solution still has the same problem: it throws inside strings
19:34 adu joined
psch BrokenRobot: can i see a diff? 19:34
FROGGS o/
yoleaux 5 Jul 2016 05:53Z <Xliff> FROGGS: The latest PR for p6-XML::LibXML finishes the porting of 06elements and 08findnodes. Please let me know what you think.
psch o/ FROGGS
BrokenRobot psch: I undid all the previous Grammar stuff and now did this: gist.github.com/zoffixznet/4fbe333...8542834047
FROGGS Xliff: sorry that I've got almost not time these days :o(
psch BrokenRobot: i'll look a bit closer in a moment 19:35
gfldex i can't find where htmlify.p6 generates the ToC. The ToC needs fixing as it duplicates X<> nodes. 19:36
BrokenRobot psch: here's a better link: github.com/rakudo/rakudo/compare/n...l?expand=1
gfldex: IIRC the toc is generated by Pod::To::HTML
19:37 adu left
BrokenRobot gfldex: this seems to be it: github.com/perl6/Pod-To-HTML/blob/...ML.pm#L192 19:37
gfldex BrokenRobot: found it, thanks 19:38
19:38 labster left
BrokenRobot m: my &foo; 'foo' ~~ /(\w+)/; say "&0()" 19:43
camelia rakudo-moar d505a8: OUTPUT«No such method 'CALL-ME' for invocant of type 'Match'␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot m: my &foo; 'foo' ~~ /(\w+)/; say &0() 19:44
camelia rakudo-moar d505a8: OUTPUT«No such method 'CALL-ME' for invocant of type 'Match'␤ in block <unit> at <tmp> line 1␤␤»
psch BrokenRobot: i think that's actually EXPR :|
BrokenRobot Awesome :)
psch note that without your changes it runs through EXPR 19:45
BrokenRobot How can you tell it doesn't without my changed?
psch ...huh?
BrokenRobot like the --target=parse doesn't show anything usefulk
psch right, --target=parse dies with your changes
and without your changes it runs through EXPR 19:46
BrokenRobot Ah, OK. EXPR is after parse?
psch so EXPR is behind it dying with your changes
no, EXPR is the operator/operand parser
or something like that, i'm really not sure
as i said, it's a scary place :P
BrokenRobot starts to understand why everyone hates EXPR
psch yeah, it's the thing that pulls different associativities and precedences apart 19:47
mind, i don't really *hate* it
i just really don't it at all
hoelzro good ol' EXPR
arnsholt EXPR is less terrifying than you think
BrokenRobot Well, I've seen someone else express the same sentiments and jnthn++'s nqp and internals guide also calls it a scary place >:) 19:48
psch BrokenRobot: github.com/perl6/nqp/blob/master/s...r.nqp#L415
that's EXPR
arnsholt: feel free to, idk, explain it somewhere..? :)
arnsholt Basically, it's the shunting yard algorithm
en.wikipedia.org/wiki/Shunting-yard_algorithm 19:49
There are two stacks, an operand stack, and an operator stack
19:49 ptolemarch left
arnsholt When terms are read, they are pushed to the operand stack 19:49
BrokenRobot That doesn't look very scary... Well.. judging only by its small size that is :)
arnsholt When operators are read, they're pushed to the operator stack
BrokenRobot relocates &
DrForr Careful, that almost sounds Forth-like :)
BrokenRobot I'll read the backlog 19:50
psch honestly, the fact that it's a well-documented algorithm just makes our implementation even scarier 19:51
because, well, i'm pretty sure that whoever wrote it is a better programmer than me
yet EXPR still has bugs
19:52 kaare_ left
brrt well, the fact that it is well documented means you can read about different angles and ideas 19:54
linear scan is well documented and that helps :-)
19:56 setty1 joined
arnsholt And if the operator to be pushed binds looser than the top of the stack, pop and evaluate operators off the top of the stack until you find something that binds looser than yourself 19:57
IIRC the main bug in EXPR is error reporting 19:58
It's not that it does things wrong, but when things are invalid it tends to fail in uninformative ways
20:00 setty1 left 20:01 brrt left 20:04 ptolemarch joined
FROGGS Xliff: merged, thank you! :o) 20:05
20:05 colomon left 20:14 acrussell left 20:21 jonas1 left
grondilu I wanted to write this in Perl 6 for a while: rosettacode.org/wiki/Orbital_elements 20:27
20:28 dwarring joined
hoelzro grondilu: why the name "Clifford", if I may ask? 20:29
grondilu It's a library for Clifford algebras. 20:30
hoelzro oh, I thought it might be a reference of some sort
grondilu well, in a way it is. 20:31
(but in a very dull way)
20:37 labster joined
[Coke] catching up, but just because a report is old is no reason to close it. Review it on the merits, THEN close it. 20:43
dalek ecs: f8a00d1 | (Tom Browder)++ | S26-documentation.pod:
further amplify table row and cell requirments and recommendations
ecs: 135839c | (Tom Browder)++ | S26-documentation.pod:
add expectation of the same number of cells per row
ecs: 15c1586 | (Tom Browder)++ | S26-documentation.pod:
Merge pull request #112 from tbrowder/pod-table-fix

further amplify table row and cell requirments and recommendations
[Coke] If you're feeling particularly engaged on fixing the bug queue, find an old ticket, and make it your mission to get one of the core devs to comment on it if there's a question as to whether or not it's desired/working as intended, whatever. 20:46
20:52 ZoffixMobile joined, yqt joined
ZoffixMobile [Coke], one of the commens on the ticket was jnthn calling it a feature. I did point it out to core devs before closing and I did reopen it after psch said it should be fixed. 20:54
[Coke] ok. In general, though, please do not close tickets just because they are old. 20:55
ZoffixMobile It wasn't the only reason. The report was about LTA erro which was fixed 5 years ago /o\ 20:59
20:59 ZoffixMobile left
[Coke] sure, that's fine. 21:00
I was originally replying to this:
irclog.perlgeek.de/perl6/2016-07-06#i_12795473 21:01
if it's something that isn't in 6.c, it's still possible it was intended to be included in 6 at some point. 21:02
21:04 Zoffix joined
Zoffix OK 21:04
21:11 Util joined 21:12 vibha joined 21:15 espadrine joined, rgrinberg left 21:20 freezerburnv joined
gfldex tbrowder: if you are working on Pod::* please consider to give Pod::Block a .parent field. Having context would greatly simplifying rendering. 21:28
i have to take drastic measures to handle X<> inside the ToC :-| 21:29
21:30 vendethiel joined
tbrowder gfldex: I would love to do that someday, but for the moment I am working just on fixing a table pod error. There is a lot to learn before I can work on a pod class. 21:33
gfldex tbrowder: also right now there is no way to set/reset the counter for numbered item list. I had retreat to reset all counters when I hit a =head. That works but then you can't have more then one numbered item list per section. 21:35
tbrowder Copy. Have you filed those issues with RT? 21:36
gfldex tbrowder: i did not 21:38
21:39 molaf left, RabidGravy left
gfldex tbrowder: the whole structure of Pod::* could do with some rethinking. It's in many places not really a tree structure. For the flat text for of a pod file that may be ok, but from the standpoint of a renderer a nice tree would be better. 21:40
tbrowder: all those nice cores CPUs got could do with some parallel love
tbrowder Sounds like a good idea, but I'm still very new at Perl 6 and have a lot to learn. But I will definitely continue to work on pod because it's rendering, in many formats is of great interest to me. 21:44
s/it's/its/ 21:45
(dumb iPhone thinks it knows what I'm trying to say) 21:46
21:51 rindolf left
dalek c: e449141 | (Jan-Olof Hendig)++ | doc/Type/Capture.pod6:
Added docs for Capture.Bool and Capture.Numeric
21:52
21:52 FROGGS left 21:53 Sgeo__ joined 21:54 kerframil joined 21:56 maybekoo2 joined 22:00 travis-ci joined
travis-ci Doc build failed. Jan-Olof Hendig 'Added docs for Capture.Bool and Capture.Numeric' 22:00
travis-ci.org/perl6/doc/builds/142891152 github.com/perl6/doc/compare/12347...49141c0644
22:00 travis-ci left
dalek c: 3e694bf | (Jan-Olof Hendig)++ | doc/Type/Capture.pod6:
Removed some whitespace
22:00
22:02 cognominal left
Zoffix m: say 0o9 22:03
camelia rakudo-moar 55c359: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤'9' is not a valid number␤at <tmp>:1␤------> 3say 0o97⏏5<EOL>␤»
Zoffix m: say 09
camelia rakudo-moar 55c359: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6.␤ Please use 0o9 if you mean that.␤ at <tmp>:1␤ ------> 3say 097⏏5<EOL>␤9␤»
22:05 firstdayonthejob left 22:06 _dolmen_ joined 22:07 rgrinberg joined 22:08 freezerburnv left
MasterDuke AlexDaniel: yep, [Coke] helped and everything seems fine now. i can see/comment on tickets (at least from the web page when logged in, i haven't tried emailing again) 22:12
AlexDaniel \o/ 22:13
timotimo hooray 22:15
22:17 Sgeo__ left 22:18 Sgeo joined 22:19 travis-ci joined
travis-ci Doc build passed. Jan-Olof Hendig 'Removed some whitespace' 22:20
travis-ci.org/perl6/doc/builds/142893418 github.com/perl6/doc/compare/e4491...694bf07676
22:20 travis-ci left 22:31 Possum left 22:32 Possum joined 22:33 eugen left 22:34 vibha left, rgrinberg left 22:36 spider-mario left 22:37 buharin left, buharin joined 22:39 gcole left, gcole_ joined 22:42 bjz_ left
leedo_ is there a way to augment a class, but within a limited scope? i.e. the modification goes away once you leave some scope 22:43
22:45 gcole_ left, gcole joined
Xliff FROGGS: Cool! I will pick out another test over the weekend! 22:45
22:51 _dolmen_ left
Zoffix leedo_, don't think so. You can mixin a role into an object (perl6.party/post/Exploiting-Perl-6-...xingitup). It may be possible with the MOP but I don't know how 22:54
m: Int.^remove_method
camelia rakudo-moar 55c359: OUTPUT«Method 'remove_method' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: Int.HOW.^methods.say
camelia rakudo-moar 55c359: OUTPUT«Method 'gist' not found for invocant of class 'NQPRoutine'␤ in block <unit> at <tmp> line 1␤␤»
Zoffix :/
leedo_ Zoffix: yeah i figured that could be done, I was just talking to a ruby person and he asked if there was something akin to "refinements" in rubyland 22:55
which is just a tiny bit better than monkey patching :P
Zoffix m: Int.^method_table<abs>:delete; say (-5).abs 22:56
camelia rakudo-moar 55c359: OUTPUT«5␤»
Zoffix ¯\_(ツ)_/¯ no idea
22:59 cpage_ left 23:00 huggable joined 23:04 yqt left 23:06 gcole left 23:07 gcole joined 23:10 bjz joined 23:11 Skarsnik left 23:15 bjz left 23:17 cdg left 23:18 cdg joined 23:19 zengargoyle left 23:20 dwarring left 23:22 cdg left 23:23 zengargoyle joined 23:26 vendethiel left 23:27 cpage_ joined 23:37 girafe left 23:42 ptolemarch left 23:44 cdg joined 23:47 cdg left 23:48 cdg joined