»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:03 idontknow joined, idontknow left
skids m: my $n = "f-1-f-2-f-" ~~ /.*/; $n.say; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; 00:06
camelia rakudo-moar 198d9e: OUTPUT«「f-1-f-2-f-」␤f_1-f_2-f_␤»
skids m: grammar g { token TOP {.*} }; class c { method TOP($/) { my $n = ~$/; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c));
camelia rakudo-moar 198d9e: OUTPUT«Cannot assign to a readonly variable or a value␤ in method TOP at /tmp/gDr3R_1I4V:1␤ in regex TOP at /tmp/gDr3R_1I4V:1␤ in block <unit> at /tmp/gDr3R_1I4V:1␤␤»
tony-o m: gist.github.com/tony-o/4a42f3807d9d5bba3688 00:12
camelia rakudo-moar 198d9e: OUTPUT«timeout␤ in block <unit> at /tmp/hCM75V3723:7␤␤1013.34␤»
tony-o weird..it continues to process for me
00:12 Akagi201 left
timotimo there is no sane way to abort a thread that doesn't explicitly cooperate 00:19
that said, when the mainline reaches the end, moarvm will shut down
tony-o i had an old build where moarvm wouldn't shut down -- i was getting 3+ seconds on that gist 00:21
which seemed incongruent with the slides i was looking at from a perl6 talk 00:22
timotimo there's a flag you can set on a Thread that'd make it a "keep the program alive" thread 00:25
that's as much as i know
00:38 tinyblak joined
TimToady m: grammar g { token TOP {.*} }; class c { method TOP($/ is copy) { my $n = ~$/; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c)); 00:38
camelia rakudo-moar 198d9e: OUTPUT«f_1-f_2-f_␤»
TimToady skids: ^^ 00:39
s/// is trying to modify your formal parameter
00:39 yqt left
skids TimToady++ 00:40
TimToady m: grammar g { token TOP {.*} }; class c { method TOP($match) { my $n = ~$match; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c));
camelia rakudo-moar 198d9e: OUTPUT«f_1-f_2-f_␤»
00:44 dabockster joined 00:48 perlvim joined 00:53 cognominal joined 00:56 perlvim left
tony-o m: try { CATCH { $_.bracktrace.nice; } ; die 'dead'; }; 01:01
camelia rakudo-moar 198d9e: OUTPUT«Method 'bracktrace' not found for invocant of class 'X::AdHoc'␤ in block at /tmp/3ILtg4Pd4L:1␤ in block <unit> at /tmp/3ILtg4Pd4L:1␤␤»
tony-o m: try { CATCH { default { $_.bracktrace.nice; }; } ; die 'dead'; };
camelia rakudo-moar 198d9e: OUTPUT«Method 'bracktrace' not found for invocant of class 'X::AdHoc'␤ in block at /tmp/KRcnpw1niC:1␤ in block <unit> at /tmp/KRcnpw1niC:1␤␤»
raydiak tony-o: "bracktrace" :) 01:03
tony-o m: try { CATCH { default { $_.backtrace.nice; }; } ; die 'dead'; }; 01:04
camelia rakudo-moar 198d9e: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/mOBQYlIIRt:1␤␤»
tony-o yea i know :-), i'm trying to determine where i'm getting that warning from :-)
raydiak ah I see 01:05
tony-o seems it's in the backtrace method somewhere .. 01:06
01:08 Zoffix joined 01:09 dabockster left 01:14 pecastro_ joined, Akagi201 joined 01:15 pecastro left 01:23 yeahnoob joined
raydiak anyone awake know if the grave/backtick (`) is as common on keyboards in other countries as it is in the US? 01:35
01:37 dayangkun joined
geekosaur my understanding is that in general it's not 01:38
also I just ran through the set of alternative layouts I have set up on my Mac with "Keyboard Viewer" active and only one out of 5 non-US layouts had readily available on a key 01:40
01:41 grondilu left
raydiak well dang nabbit what good is extensibility if we used up all the easily typable chars with core ops and syntax? 01:41
but thanks for the info, guess I needed to know that :)
01:48 cognominal left
pmichaud raydiak: well, you would prefer the core ops used non-easily typable chars? ;-) 01:51
ugexe lizmat recently added env variables for showing more code in backtraces or something
tony-o yea i saw the backtrace methods change when i rebuilt moar . it seems to be randomly warning 01:54
raydiak pmichaud: heh I suppose not...just wish we coulda had one or two non-word non-whitespace chars left over for the user to play with 01:55
01:55 synbot6 joined, synbot6 left 01:58 synbot6 joined
pmichaud Even the core ops had to spill into Latin-1 with « and ». Not to mention that we started using things like "Z" as operators. :) 02:00
so I suspect there are a number of one-letter ops still available. :-P
02:01 dfarrell joined
japhb pmichaud, TimToady: Are there expected to be more major semantic changes coming in the GLR, or have all the major semantic changes been done and now it's down to performance and niggling bits? 02:04
pmichaud japhb: many of the identified semantic changes haven't been implemented yet 02:05
japhb (Sorry, I've been u )nable to follow this too closely lately. :-(
pmichaud it's my plan for May.
(now that robotics is done. :)
japhb Ah, OK
How did that go, BTW?
pmichaud my team ended up 5th in their division, which is far better than we expected. 02:06
they performed very well.
japhb Nice!
pmichaud And my team captain (and stepdaughter) was a Dean's List Award Winner
japhb Very nice!
pmichaud (www.usfirst.org/aboutus/dean-kamen-...-ceremony) # link with announcement 02:09
TimToady japhb: we've done a lot of the semantic shifts, but the subtle ones having to do with how we intuit the transitive laziness/eagerness/batchiness of list interactions could still distort the semantics 02:11
as a case in point, a lot of the :eager options that have been added recently would like to be automatic
pmichaud well, and we still have to fix Nil. And eliminate Parcel. 02:12
TimToady yes, we've been converging the semantics of Parcel and List, but aren't quite there yet
and Nil is just gonna be a headache, I suspect
japhb nods as he soaks in the above 02:13
labster Congrats pmichaud and family, well done
colomon indeed!
labster What in particular are we fixing about Nil? I can't say I'm terribly surprised it needs fixing. 02:16
02:17 noganex_ joined 02:20 noganex left 02:22 dfarrell left 02:24 rmgk_ joined, rmgk is now known as Guest37091, Guest37091 left, rmgk_ is now known as rmgk 02:47 synbot6 left, synbot6 joined 02:50 dustinm` left, dfarrell joined 02:57 Akagi201 left 02:58 risou is now known as risou_awy, Akagi201 joined, risou_awy is now known as risou 02:59 risou is now known as risou_awy, risou_awy is now known as risou 03:02 dustinm` joined
skids labster: Many things that return Nil should be returning () instead, for one. 03:02
03:04 mr-foobar left, Akagi201 left 03:05 Akagi201 joined 03:10 dfarrell left 03:18 konsolebox joined, konsolebox left 03:23 telex left 03:24 telex joined 03:33 hobbs left 03:36 konsolebox joined 03:38 hobbs joined 03:45 owlsley_ joined 03:54 araujo joined 04:06 mr-foobar joined 04:08 araujo left 04:18 ggoebel left
dalek ecs: 1df1815 | raydiak++ | S28-special-names.pod:
::?CLASS is a class object, not a name string
04:24
04:28 skids left 04:33 konsolebox left
moritz \o 04:40
labster: currently iterating over Nil results in zero iterations (it's list-like); that's supposed to change
ugexe lizmat: looks like the Shell::Command thing has to do with bootstrap.pl and its 'use lib' statements. in the "could not find shell::command in any of" statement its still using ':' as the separator which would explain why it cant find it 04:41
labster o/ moritz, you're up early 04:43
moritz I noticed :-) 04:45
timotimo my sleep rhythm has just gone a little bit haywire 04:46
but for some reason i feel motivated to do stuff
how do we feel about teaching doc.perl6.org and examples.perl6.org about the explanations in S99?
i'm thinking it might be nice to be able to reach the definitions from S99 through the search box on doc.perl6.org and to have that html tag that allows you to hover over text and get an explanation put into the rendered text 04:47
moritz timotimo: +1
timotimo: in particular, I don't want two glossaries maintained (one in specs, one in doc)
timotimo maybe after that i'll check out what i'd have to do to get cairo rendering with opengl in a gtk window
aye, i think that S99 is a good source to re-use 04:48
04:49 konsolebox joined 04:51 diana_olhovik_ joined 04:52 konsolebox left 05:09 konsolebox joined 05:14 konsolebox left 05:24 Akagi201 left 05:25 Akagi201 joined 05:26 kaare__ joined 05:27 Akagi201 left, Akagi201 joined 05:28 Akagi201_ joined 05:30 Erendis42d joined
Erendis42d p6: say 3; 05:31
camelia rakudo-moar 198d9e: OUTPUT«3␤»
Erendis42d :D
05:31 diana_olhovik_ left, konsolebox joined, konsolebox left, Akagi201 left
Erendis42d p6: for(my $i=0;i<3;i++){ say "lol\n"}; 05:33
camelia rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Whitespace required before < operator␤at /tmp/tmpfile:1␤------> 3for(my $i=0;i<3;i++){ say "lol\n"};7⏏5<EOL>␤ expecting any of:␤ postfix␤»
Erendis42d :DDD
p6: for(my $i=0;i<3;i++){ say "lol \n"}; 05:34
camelia rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Whitespace required before < operator␤at /tmp/tmpfile:1␤------> 3for(my $i=0;i<3;i++){ say "lol \n"};7⏏5<EOL>␤ expecting any of:␤ postfix␤»
Erendis42d um...
p6: for(my $i=0;i <3;i++){ say "lol\n"};
camelia rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ for used at line 1␤␤»
Erendis42d p6: say "lol\n" * 3; 05:35
camelia rakudo-moar 198d9e: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏lol␤' (indicated by ⏏)␤ in block <unit> at /tmp/tmpfile:1␤␤»
Erendis42d nevermind
please go and make me a coffee 05:36
p6: say "☕"; 05:37
camelia rakudo-moar 198d9e: OUTPUT«☕␤»
Erendis42d thank you
timotimo m: say "lol" for ^3 05:38
camelia rakudo-moar 198d9e: OUTPUT«lol␤lol␤lol␤»
Erendis42d cool
timotimo p6: for (my $i=0;i <3;i++){ say "lol\n"}
camelia rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)"␤at /tmp/tmpfile:1␤------> 3for 7⏏5(my $i=0;i <3;i++){ say "lol\n"}␤»
timotimo p6: loop (my $i=0;i <3;i++){ say "lol\n"}
camelia rakudo-moar 198d9e: OUTPUT«use of uninitialized value of type Any in numeric context␤Earlier failures:␤ Can not convert 0+1i to Real: imaginary part not zero␤ in block <unit> at /tmp/tmpfile:1␤␤Final error:␤ Cannot call Real(Failure: ); none of these signatures match:…»
Erendis42d okay, i got it
aha
timotimo oh wow
Erendis42d cool again 05:39
thanks
timotimo p6: loop (my $i=0;$i <3;$i++){ say "lol\n"}
camelia rakudo-moar 198d9e: OUTPUT«lol␤␤lol␤␤lol␤␤»
timotimo you're welcome :)
Erendis42d ntot very patient, huh
timotimo hm?
Erendis42d you are impatient 05:40
timotimo oh, you preferred to figure it out by yourself?
you're right, i hadn't even realized
Erendis42d finally.
what is the difference between the impatient and the incredibly fast? 05:42
timotimo let me guess: the impatient make more mistakes? 05:43
Erendis42d confidence
nice to meet you :) 05:51
05:52 Rounin joined
timotimo likewise :) 05:52
05:57 quester joined 06:04 Foxcool joined 06:07 diana_olhovik_ joined
[ptc] timotimo++ # p6weekly 06:13
timotimo dankeschön :) 06:15
[ptc]++ # moarvm memory leaks, examples.perl6.org, documentation, ...
[ptc] gerne geschehen :-) 06:18
timotimo is installing a fresh system on his desktop machine 06:27
that's why there's no progress with the doc.perl6.org <-> S99 integration
Erendis42d likes this 06:28
06:29 _mg_ joined
dalek pan style="color: #395be5">perl6-examples: 48ea582 | paultcochrane++ | t/categories/wsg/beginner-2007.t:
[wsg] add tests for beginner competition in 2007
06:30
Erendis42d why not monday1, monday2, monday3, monday4, monday5, sunday1, sunday2, it would be so much easier to script 06:34
timotimo hehe
the problem is, that in some regions, sunday2 is actually at the front of the list
well, maybe not "the" problem, but "a" problem
Erendis42d or a tag 06:35
opening tag, closing tag
that's even better in a point of view
i'll go and tell Ben Franklin about that
well, maybe later 06:36
[Tux] Aaaaahrg, no panda! 06:39
06:39 hobbs left
[Tux] gist.github.com/Tux/f2235ccfe0349e8feaf4 06:40
06:40 hobbs joined 06:43 domidumont joined 06:46 konsolebox joined 06:48 domidumont left, domidumont joined 06:52 jepeway left 06:53 konsolebox left 06:54 jepeway joined 06:57 zakharyas joined
timotimo something seems to be wrong with the hard drive i backed up all my files to 06:59
oh, it's just the "only root is allowed to use the last few gigabytes of your hard drive" 07:00
that thing
tony-o [Tux]: i'm getting that a lot too with moar 07:03
[Tux] moar here too
tony-o [Tux]: i'm also getting a lot of random failures, sometimes the code works as expected, other times it fails randomly
with wildly differently messages
masak morning, #perl6 07:06
tony-o hey masak
07:10 konsolebox joined
dalek kudo/nom: a8326d0 | lizmat++ | src/core/Backtrace.pm:
Silence backtrace generation, spotted by tony-o++
07:10
timotimo oh, that explains a lot 07:11
lizmat [Tux]: working on panda
tony-o gist.github.com/tony-o/86411383afb0dd6e06e5
[Tux] lizmat++
tony-o i'm getting that type of thing ^
lizmat++
07:12 konsolebox left
tony-o here is the lib/Green associated with that gist github.com/tony-o/perl6-green/blob.../Green.pm6 07:13
timotimo Green has a :) operator? :) 07:17
tony-o haha, yea for now - all tests are happy tests, esp when short handed 07:19
masak I'd make it prefix:<☺> and not look back 07:21
the mismatched ')' feels like a design smell... ;)
timotimo yeah
07:23 mr-foobar left
tony-o i'll change it up once i figure this thing out, i can't tell if i'm doing something wrong with the async stuff or if something broke. i had it working very consistently with a moar/p6 from last week before i left work. i updated moar/p6 on the same machine and started getting random results (that's a debian jessie on surface pro 3 box), same strange behavior on imac 07:23
DrForr PHP nearly had a :) operator. 07:24
07:24 mr-foobar joined 07:25 RabidGravy joined 07:26 Ven_ joined 07:28 Ven_ left
Erendis42d once in Python camp i saw a snowman as a variable name 07:28
but i also like the idea of ascii code table being 256 number system 07:29
07:29 brrt joined, mr-foobar left
DrForr *cough* 127 :) 07:31
lizmat just pushed a fix that gets panda bootstrap a little further 07:32
===SORRY!=== 07:33
Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm')
07:33 mr-foobar joined
lizmat velly confoozed 07:33
tony-o i just changed the smiley prefix to '>>'
gonna try and sleep now
lizmat good night, tony-o 07:34
tony-o night
ugexe github.com/rakudo/rakudo/blob/44d4...po.pm#L134 07:35
lizmat ugexe: good catch! 07:36
ugexe should fix shell::command 07:37
lizmat eh. but,
that's an old version ?
sub CREATE-INCLUDE-SPECS(*@INC) { @INC.join(',') }
masak DrForr: 128, surely? as in 0..^128 -- the highest possible value being 127? 07:38
ugexe oh jeez
masak <nitpick />
ugexe theres a : getting put into @INC during use lib for the test of shell::command 07:39
DrForr Yeah, I was going to correct myself but figured it wasn't worth the time.
masak happy to waste that time for you :P 07:40
07:41 Isp-sec joined
masak .oO( outsourced time wasting as a service ) 07:41
DrForr No worries. Has there been any discussion about my => discovery?
timotimo yes 07:42
we're intentionally making it hard to have a bareword, then =>, then a newline, then a value
masak relevant backlog here: irclog.perlgeek.de/perl6/2015-05-04#i_10547052 07:44
jnthn o/ #perl6
timotimo ohai jnthn 07:45
jnthn wonders if he has time to do anything useful (besides drink coffee) before the airport trip...
timotimo the local/localref thing perhaps? :)) 07:46
DrForr Wow, I'm the first person to typo a newline in a decade. I feel honored.
jnthn No, I don't have *that* much time :)
07:47 abraxxa joined
DrForr And 'LTM' is? 07:48
lizmat design.perl6.org/S05.html#Longest-token_matching 07:49
DrForr Thanks.
sjn gitminer.com/report/aptl7 # rakudo git log "report" :)
masak LTM is what allows us to have both a prefix:<+> and a prefix:<++>, and there's never any confusion about which one we mean :) 07:52
m: my $p = start { say "OH HAI" }; say $p.^name 07:53
camelia rakudo-moar a8326d: OUTPUT«Promise␤OH HAI␤» 07:54
masak m: my $p = start { say "OH HAI" }; $p.break
camelia rakudo-moar a8326d: OUTPUT«OH HAI␤Access denied to keep/break this Promise; already vowed␤ in block <unit> at /tmp/oEiXo9VWSv:1␤␤»
jnthn YOu break a Promise in a start block by dieing. 07:55
07:56 Erendis42d left
timotimo and you can't shoot it from outside 07:56
you have to have some code inside that cooperates
labster timotimo++ P6weekly: catching me up on the things I missed this week. 07:57
jnthn Indeed 07:58
Promise.in(...) does need a good cancellation mechanism though 07:59
lizmat and Supply.interval(:every) :-) 08:01
jnthn That has one.
You close the tap
lizmat are you sure that works? I seem to recall it still eating 100% of one CPU even after closing the tap
or maybe that was before your fix :-) 08:02
jnthn lizmat: That's not related to timers in particular, but a more general issue.
08:02 wtw joined
jnthn And yes, it's fairly high on my conc todo list, though it's a perf bug rather than a "it crashes" bug, and I'm looking more at the latter kind first. 08:03
[Tux] Compiling lib/Panda/Ecosystem.pm to mbc 08:05
===SORRY!===
Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm')
build stage failed for panda: Failed building lib/Panda/Ecosystem.pm
[Tux] started from scratch
lizmat ===SORRY!=== 08:08
Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')
t/02-shell-command.t ..
:-(
[Tux]: did you start with a fresh panda clone ? 08:11
08:12 bjz joined 08:13 darutoko joined
masak pmichaud: I'm not so sure that core ops "had to spill into Latin-1"... I took it more as it's safe enough to assume Latin-1, so it's like an only slightly extended ASCII. 08:15
that reminds me, I should familiarize myself more with Latin-1, to see what can be turned into custom operators ;) 08:16
lizmat jnthn: t/02-shell-command.t (Wstat: 11 Tests: 0 Failed: 0)
Non-zero wait status: 11
08:16 cschwenz joined
lizmat that means we had a segfaiult, right ? 08:16
08:16 bjz left
[Tux] lizmat, I started with rm -rf moar-nom/ git_reference/ 08:18
rakudobrew build moar ; rakudobrew build-panda 08:19
08:19 espadrine joined
[Tux] as panda didn't work in jvm at all, I abandoned that experiment for a while 08:19
08:20 dakkar joined 08:21 bjz joined 08:26 bjz left
lizmat of course, if I manually run the tests in Shell::Command, everything is hunky dory :-( 08:27
08:27 Ven_ joined
masak lizmat: did you run the tests with TEST_JOBS ? 08:30
lizmat hmmm... good point
yes
08:31 cschwenz left 08:32 andreoss joined 08:33 uncleyear joined
lizmat running without TEST_JOBS doesn't make a difference 08:33
masak but harness/no harness does? 08:34
timotimo harness is as harness does 08:37
lizmat I need to be afk for a few hours
I just pushed github.com/tadzik/panda/commit/06f...40efbca0bb 08:38
afk for ~ 2 hours 08:39
&
jnthn lizmat: Yes, 11 tends to mean SEGV
08:46 konsolebox joined 08:50 bjz joined
quester [Tux] and lizmat: I've been having panda problems too. I tried not installing anything, just copying the .pm files for panda itself to install/share/perl6/site/lib, then using panda look to get... 08:50
08:50 cschwenz joined
[ptc] hrm, sometimes 'Malformed UTF-8' is a bit confusing when actually the file doesn't exist... 08:51
quester ... the modules I needed (Inline::Perl5 for example) and sticking their .pm's into the same directory. It worked, modulo fixing $path in Inline/Perl5.pm. I'm inclined to think the majority of what looks... 08:52
timotimo yes, that's a bad error for that, [ptc]
quester ... like panda breakage is a side effect of problems that Rakudo is having with mbc (*.moarvm) files, rather than problems inside of panda itself. FWIW... but that's how it looks from here. 08:53
[ptc] timotimo: was only commenting about it; not annoyed or anything
timotimo: it's just tripped me up more than once
timotimo yes. i ought to look into that 08:54
RabidGravy I had a quick look a couple of weeks ago, it's something to do with the Perl filename getting appended to the output of perror() or something similar 08:55
I can't remember who else tracked it down but I think they RTd 08:56
jnthn [ptc]: That one got fixed some days ago... 08:58
airport &
quester wishes #perl6 a pleasant * 09:00
[ptc] jnthn: thanks
[ptc] needs to rebuild his Rakudo
09:01 quester left 09:02 risou is now known as risou_awy 09:03 risou_awy is now known as risou, risou is now known as risou_awy, risou_awy is now known as risou, risou is now known as risou_awy 09:04 risou_awy is now known as risou 09:10 quester joined, quester left, dustinm` left 09:13 Isp-sec left
masak m: role pleasant {}; say pleasant ~~ * 09:15
camelia rakudo-moar a8326d: OUTPUT«WhateverCode.new␤»
masak oh, that produces a whatevercode these days? 09:16
m: role pleasant {}; say (pleasant ~~ *)(pleasant)
camelia rakudo-moar a8326d: OUTPUT«True␤»
masak m: role pleasant {}; role Tuesday does pleasant {}; say (Tuesday ~~ *)(pleasant) 09:17
camelia rakudo-moar a8326d: OUTPUT«True␤»
masak m: role pleasant {}; role Tuesday { also does pleasant }; say (Tuesday ~~ *)(pleasant)
camelia rakudo-moar a8326d: OUTPUT«True␤»
dalek pan style="color: #395be5">perl6-examples: c6342ff | paultcochrane++ | categories/wsg/beginner-2008/event001-eric256.pl:
[wsg] make output consistent for all beginner 2008 event001 problems
09:19
perl6-examples: fb21ef0 | paultcochrane++ | categories/wsg/beginner-2008/event003-unobe.pl:
perl6-examples: [wsg] only match txt files for the given event
09:19 dalek left, dalek joined, ChanServ sets mode: +v dalek, brrt left 09:21 rindolf joined 09:23 konsolebox left 09:39 sue_ left 09:44 yeahnoob left, cschwenz left 09:52 dustinm` joined 10:00 sue_ joined 10:03 dustinm` left
RabidGravy I'm having a senior moment, is there a more succinct way of doing: 10:05
for %foos{0,1} -> $v {
for $v.kv -> $key, $value {
%dist{$key} = $value;
}
}
i.e. flatten a HoH 10:06
masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h>>.values.perl 10:07
camelia rakudo-moar a8326d: OUTPUT«{"0" => 1, "1" => 3}<>␤»
masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values.perl
camelia rakudo-moar a8326d: OUTPUT«({:z(3)}, {:x(1), :y(2)})␤»
masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values>>.pairs.perl 10:08
camelia rakudo-moar a8326d: OUTPUT«((:z(3),), (:x(1), :y(2)))␤»
masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values>>.pairs.flat.perl
camelia rakudo-moar a8326d: OUTPUT«(:z(3), :x(1), :y(2))␤»
masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say (hash %h.values>>.pairs.flat).perl
camelia rakudo-moar a8326d: OUTPUT«{:x(1), :y(2), :z(3)}<>␤»
masak you even got a diamond <> at the end, for free :P 10:09
RabidGravy good old hyper, cheers 10:10
masak hyper is like a very short for loop 10:11
(with no guarantees about temporal sequencing; so actually more like a "parallel" for loop)
[Tux] thanks to whoever made the final fix: panda is back in business again 10:13
RabidGravy yeah, it just hasn't stuck in my inner pattern book yet 10:14
10:14 Ven_ left, Ven_ joined 10:15 Ven_ left 10:16 dustinm` joined
lizmat [Tux]: does Inline::Perl5 work ??? 10:18
[Tux] not yet :(
lizmat ah, ok 10:19
[Tux] its tests pass, and install with panda, but still unable to *use* it
lizmat yeah, that's the state I brought it back to 10:21
10:22 dayangkun left 10:35 mr-foobar left 10:43 _mg_ left 10:45 andreoss` joined 10:48 andreoss left
lizmat hmmm.... %!dists.keys.first( *.IO.w ) that doesn't feel right 10:51
10:52 uncleyear left 10:54 uncleyear joined, Ven_ joined 10:57 mr-foobar joined 10:58 muraiki joined 11:04 dustinm` left
RabidGravy what's the score with adding a test for something that you are changing in core? make it todo until the change gets merged or just leave it failing as a reminder to do the merge? 11:18
lizmat mark it todo
there's great fun in removing todo fudges :-)
11:20 dustinm` joined 11:26 cognominal joined
arnsholt Definitely TODO 11:26
11:26 _mg_ joined
arnsholt Failing tests being "normal" is something you really want to avoid 11:26
11:29 brrt joined 11:30 Ulti left 11:31 mr-foobar left 11:36 dustinm` left, _mg_ left 11:39 dustinm` joined 11:42 fhelmberger left 11:44 rurban joined
dalek ast: 4b6a5d1 | (Jonathan Stowe)++ | S17-channel/earliest.t:
Add test for pending PR #421 against rakudo
11:45
11:46 kurahaupo joined
dalek kudo/nom: 262e08f | (Jonathan Stowe)++ | src/core/asyncops.pm:
handle "earliest @c { more $c1 { .. } more * { } }

if there are any remaining channels without specific handlers
11:53
kudo/nom: 34c15da | lizmat++ | src/core/asyncops.pm:
Merge pull request #421 from jonathanstowe/nom

handle "earliest @c { more $c1 { .. } more * { } }
11:55 H2O1 joined, H2O1 left
lizmat t/spec/S17-channel/earliest.rakudo.moar (Wstat: 0 Tests: 7 Failed: 0) 11:59
TODO passed: 7
RabidGravy: ^^
RabidGravy goovy, I'll unfundge the test then ;-) 12:00
lizmat has $.a will fetch { lazy init code } # TimToady: better name for will lazy ? matched Proxy's FETCH logic 12:01
RabidGravy++
12:02 Akagi201_ left
RabidGravy ooh that's nice, can't have too many slack attributes 12:03
12:07 telex left 12:08 telex joined
dalek ast: 0bd6333 | (Jonathan Stowe)++ | S17-channel/earliest.t:
Unfudge test for wildcard earliest handlers (34c15da)
12:09
12:14 ggoebel joined 12:16 airdisa joined
RabidGravy right that's one thing off the yak stack 12:16
dalek kudo-star-daily: e966e82 | coke++ | log/ (2 files):
today (automated commit)
12:17
kudo/nom: 66b713d | lizmat++ | / (2 files):
Make $?FILE absolute always

Relative paths are useless when debugging problems with module loading.
12:19
tadzik REWARD: Module that enables 'will procrastinate { }' instead/in addition to 'will lazy { }'
RabidGravy :) 12:22
it creates a proxy that under the hood has a promise that will be kept with the value at some point in the future when it can get round to it? 12:24
12:25 konsolebox joined, konsolebox left
RabidGravy after, y'now it has indexed its collection of MacGuyver episodes by which tool on the swiss army is used 12:25
tadzik not sure if it's exactly a Promise, or just a block that'll get called the first time you access it, but yeah
may help me with Panda actually, and the fact that it requires network access for offline things in a few places, because of how Panda::Ecosystem is initialized
brrt what does the 'will' thing do? 12:29
RabidGravy isn't it just another way of introducing a trait on a thingy? 12:31
tadzik it is, but how is it different? :) 12:32
dalek line-Perl5: 438d023 | lizmat++ | lib/Inline/Perl5.pm6:
Add failsafe for finding the p5helper
lizmat m: my $a will leave { say "goodbye" } = 42; say $a 12:33
camelia rakudo-moar 34c15d: OUTPUT«42␤goodbye␤»
RabidGravy it gets passed a block of code
lizmat m: my $a will leave { say "goodbye to $_" } = 42; say $a++
camelia rakudo-moar 34c15d: OUTPUT«42␤goodbye to 43␤»
tadzik nah, it gets a 'lazy { }'
searching suspections for 'will' is quite a task :) 12:34
speculations*
12:36 kurahaupo left
lizmat deep sigh Cannot locate native library '/Users/liz/Github/panda/.panda-work/1430829325_4/lib/Inline/p5helper.dylib' 12:37
[Tux] did did did you fix it? 12:38
lizmat no 12:39
[Tux] :(
RabidGravy m: multi sub trait_mod:<will>(Variable $a, $block, :$wibble) { $block() }; my $v will wibble { say "wibble"};
camelia rakudo-moar 34c15d: OUTPUT«wibble␤»
[Tux] running a perl5 core bisect on a box that take more than 5 *minutes* to just build
lizmat RabidGravy: might want to add a ! after $wibble
RabidGravy :-) 12:40
lizmat I guess precomped files remember where they were made :-(
12:41 dustinm` left 12:46 rararara left, dustinm` joined 12:52 pecastro_ is now known as pecastro 13:00 molecules joined, molecules is now known as Guest61737
Guest61737 I just wanted to say thank you to everyone for all of your current and past work on Perl6, Rakudo, MoarVM, Parrot, and Pugs. Perl6 is awesome. I am enjoying using it very much. 13:04
13:04 Guest61737 left
muraiki yay :D 13:09
dalek line-Perl5: f6e2993 | lizmat++ | lib/Inline/Perl5.pm6:
Add a better failsafe for finding p5helper
13:10
RabidGravy happy camper 13:11
note to self: when C says "const char *" you want explictly-manage 13:12
lizmat [Tux]: with this last Inline::Perl5 patch, it likes panda again 13:15
[Tux] rebuilds 13:16
RabidGravy updates Log::Syslog::Native so that ident works properly 13:19
lizmat which ident?
RabidGravy the "ident" that gets passed to openlog() 13:20
I hadn't realised about the explicitly-manage thing
:-)
lizmat .tell FROGGS CURLI is now effectively disabled as an installation method because @*INC only contains Str, which !.can('install') 13:23
yoleaux lizmat: I'll pass your message to FROGGS.
FROGGS :/
yoleaux 30 Apr 2015 14:07Z <hoelzro> FROGGS: thanks for the tip, that worked!
30 Apr 2015 15:43Z <hoelzro> FROGGS: for the %?RESOURCE<lib/liblinenoise.so> suggestion, will %?RESOURCE contain Str values, or perhaps IO::Path ones?
2 May 2015 12:45Z <lizmat> FROGGS: is there a reason we add $home/.perl6/$ver/lib as a CURLF *and* as a CURLI ?
2 May 2015 12:46Z <lizmat> FROGGS: feels to me like adding it as a CURLI would be sufficient ? You don't usually use such a dir for development ?
2 May 2015 20:16Z <lizmat> FROGGS: re github.com/rakudo/rakudo/commit/d2...1bf4e8fea, shouldn't it be the responsibility of panda to create a directory in which to install?
13:23 carlin joined
yoleaux 13:23Z <lizmat> FROGGS: CURLI is now effectively disabled as an installation method because @*INC only contains Str, which !.can('install') 13:23
FROGGS uff
lizmat yeah 13:24
I've been banging my head on this for the better part of a day now 13:25
and am about to either revert all the speed gain patches, or reimplement panda from scratch
FROGGS reimplement panda from scratch?
to solve a single issue?
lizmat a single issue that breaks the whole ecosystem 13:26
FROGGS but that is not panda's fault
if we cannot get our hands on a CUR anymore, then we have to solve that issue
lizmat well, it's messing with PERL6LIB, @*INC willy nilly
well, the other option is to first actually write tests for CURLI 13:27
FROGGS it has to mess with at least one of them
it need to prepend a CUR somehow
needs*
lizmat why would it need to prepend? 13:28
13:28 konsolebox joined
FROGGS to but the build directory at front IIRC 13:28
put*
ahh no, it does something else 13:29
I am distracted right now
lizmat ok
that's ok :-)
13:29 Akagi201 joined
lizmat I will be on the road most of the coming 2 days 13:29
and I've given up on solving this today 13:30
FROGGS but before we do changes to panda we need to understand how the CUR/@*INC stuff is supposed to work
[Tux] $ datecalc 19871218 20150505
Day 1: 18-12-1987 Friday
Day 2: 05-05-2015 Tuesday
Diff : 18-04-0027 10000 days (27 y, 4 m, 17 d)
perl5 is 10000 days old today
cheerio
FROGGS :o) 13:31
nice
Juerd And how old is Perl 6 today? :)
lizmat [Tux]: I must correct you: "Perl" is now 10000 days old ! 13:34
:-)
[Tux] ah, yes
almost there (test/time) ... 13:35
tux.nl/Files/20150505153603.png <= current timing 13:36
and yes, Inline::Perl5 works again
FROGGS jnthn: nqp::scdisclaim($sc) works for simple things, but when I push to a just deserialized array I cannot serialize it again :/
13:42 andreoss` left, Ven_ left
lizmat nqp::bindhllsym('perl6', 'ModuleLoader', DepTracker) # /me starts to silently scream 13:43
nine knows what I'm talking about
FROGGS what's wrong? 13:45
cognominal it seems that Perl 6 major releases have followed kind an exponential time trend for delivery, so maybe Perl 6 will be early in that view frame. 13:46
dalek c: b54a5b4 | (Jonathan Stowe)++ | lib/Language/nativecall.pod:
mention explicitly-manage for const char * arguments
c: 5adbaaf | (Jonathan Stowe)++ | / (4 files):
Merge branch 'master' of github.com:perl6/doc
lizmat FROGGS: it's completely unclear which code is responsible for module loading at what time
FROGGS lizmat: no, it is quite simple 13:47
RabidGravy just so I don't forget again
FROGGS lizmat: at the end of the setting, we register CompUnitRepo to be the one, so there is just one switch
lizmat FROGGS: please elaborate, as nine and I have been spending a few hours on that at the PQAH 13:48
13:48 airdisa left
FROGGS lizmat: and the line you pasted is only used when you use the Panda::DepTracker module, and you don't do that on your own 13:48
lizmat unless we run panda DepTracker, and it installs a different one ?
sorry, that's just too many cases of action at a distance to me :-( 13:49
FROGGS lizmat: that only happens when we shell out to do dependency and symbol tests (panda gen-meta .)
lizmat: there is no distance
dalek kudo/nom: 0ad4607 | lizmat++ | src/core/Distribution.pm:
Remove CompUnitRepo::Distribution

panda apparently has migrated
13:50
lizmat RabidGravy: I've just had earliest test 7 flap :-( 13:51
dalek ast: f60e7f9 | lizmat++ | S02-types/WHICH.t:
CompUnitRepo::Distribution is no more
13:52
FROGGS jnthn: I can unshift to my deserialized array just fine, but cannot push?! O.o 13:53
13:53 tinyblak left
lizmat afk& 13:54
RabidGravy lizmat, was the "got" completely empty or partially so?
13:54 tinyblak joined
lizmat # expected: '1 2 3 4 5 done_a' 13:55
# got: '1 2 3 4'
really afk&
actually, that was a flapping 6 13:56
# expected: '6 7 8 9 10 done_b'
# got: '6 7 8 9'
was a flapping 7 13:57
really really afk&
13:57 dustinm` left
RabidGravy need to up the number of loops in the test or think of some other way of breaking out if it doesn't look like it's going to work 13:58
timotimo FROGGS: perhaps there's a SCWB missing?
13:58 skids joined, tinyblak left
timotimo actually .. could you try with spesh disabled? or do you think spesh isn't kicking in this early to hit your code? 13:58
FROGGS timotimo: hmmm, how do I check that?
there is not a single loop, so there can't be anything hot 13:59
timotimo good question
FROGGS but I'll check with spesh disabled
timotimo the push or unshift methods could be hot, though
RabidGravy (without the limit the loop will run forever if the new code doesn't work)
FROGGS timotimo: it is not a spesh issue 14:00
jnthn waves from Trondheim
timotimo OK
hey jnthn! :)
FROGGS hi jnthn :o)
jnthn
.oO( A city not famous for being an anagram of "im hot nerd" )
RabidGravy how are the parrots?
jnthn They...have parrots in Trondheim? :)
jnthn is very glad to be here in nice weather 14:01
And at a time of year when there's more than a few hours of daylight :)
14:02 Sqirrel joined 14:03 mr-foobar joined, airdisa joined 14:06 dustinm` joined 14:08 Rounin left
dalek ast: fca774d | (Jonathan Stowe)++ | S17-channel/earliest.t:
Only break the loop if the * produced no action
14:12
ast: e252944 | (Jonathan Stowe)++ | S02-types/WHICH.t:
Merge branch 'master' of github.com:perl6/roast
RabidGravy there that should rid the flappiness 14:13
timotimo that loop didn't last long
14:14 tinyblak joined 14:15 thou joined 14:16 owlsley_ left
dalek Heuristic branch merge: pushed 67 commits to rakudo/jsoff by FROGGS 14:21
14:26 Ven_ joined 14:29 andreoss joined
andreoss is there a submethod which to be called after .new? 14:30
POSTCONSTRUCTOR or something
tadzik you can use BUILD if you really want to 14:31
timotimo you can leave your types behind
tadzik it's a bit of a PITA though
timotimo 'cus those types don't compose and if they don't compose well they're no types of mine
tadzik but my friends don't BUILD and since they don't BUILD then BUILD is no friend of mine 14:32
timotimo that's way better
tadzik panda does that: github.com/tadzik/panda/blob/maste...tem.pm#L23
jnthn andreoss: No, though some folks do method BUILDALL(|) { callsame; ...stuff here... } 14:33
tadzik seems like the problem needs a common, reusable solution
perhaps as a module
REWARD: ^
PerlJam tadzik: what's "the problem"? 14:34
tadzik PerlJam: doing stuff post object initialization
"I want to do stuff after all is ready and setup"
all the solutions we have are ugly and error prone
or just unnecesserily complicated 14:35
imho
skids Well, the attribute initializer abuse is ugly, but not sure if it is especially error prone.
tadzik I once had a rakudo patch adding an automated call to method AFTERPARTY
PerlJam yeah, too many traps to fall into for something so simple
tadzik Perl 6 takes away Moose's BUILD mechanics, not giving much in return 14:36
although I'm not sure if Moose's BUILD mechanics are not just universally abused :)
skids So, A module that could make a private attribute and use the initializer and hide the attribute could sweep the ugly under the rug. 14:37
And that would give us a playground for deciding what things should look like. 14:38
14:55 molaf joined, Akagi201_ joined
raydiak if we did it that way, is there anything else which would should this hiccup? 14:56
m: class C { has $.foo = "foo"; has $!bar = say $.foo }; C.new
camelia rakudo-moar 0ad460: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IXLC6wL89J␤Virtual call $.foo may not be used on partially constructed objects␤at /tmp/IXLC6wL89J:1␤------> 3has $.foo = "foo"; has $!bar = say $.foo7⏏5 }; C.new␤ expecting any of:␤ ar…»
timotimo you can just use $!foo there, can't you? 14:58
on the RHS fo the = i mean
14:58 owlsley joined 14:59 rurban left
[Tux] OHHH NOOOOES! my /tmp is filled with files named 20248-p5helper.so 14:59
14:59 Akagi201 left
raydiak timotimo: yes but I'm wondering what else you can't do with partially-constructed objects 14:59
I'd rather be able to say "okey the object is fully constructed, now do something" 15:00
cognominal french parlement just voted massive surveillance fast tracked law with almost no oversight mechanisms :(
skids What mechanism declares the object "fully constructed"
?
RabidGravy doesn't the "lazy" thing sort that? Inasmuch as you could postpone the initialisation of $!bar until is actually needed? 15:01
raydiak skids: I'm guessing it's "partially constructed" until it returns from .bless
jnthn Note the analysis in question here is actually semantic checks in the compiler 15:02
raydiak RabidGravy: yes but that misses the point of using it to prop up build semantics
15:06 owlsley left
raydiak jnthn: are there other things which won't work on partially-constructed objects? 15:06
skids The initializer could just add closures to a list of things to run, if a single entry point for running that list post-fully-constructed could be got. 15:07
15:07 molaf_ joined
raydiak I'd be pretty happy with BUILD if declaring it didn't mess with attribute defaults (and more happy if it were composable) 15:08
jnthn raydiak: submethods iirc have the partial invocant also
15:08 brrt left 15:10 molaf left
raydiak m: class C { submethod foo { say "foo" }; has $!bar = self.foo }; C.new # looks like those work 15:10
camelia rakudo-moar 0ad460: OUTPUT«foo␤»
raydiak why don't we allow $.foo on partially-constructed objects anyway, when we allow self.foo and $!foo? 15:13
15:14 domidumont left
jnthn raydiak: $!foo is safe because you're talking about the current class 15:15
raydiak: $.foo could be overridden and be referring to something not yet initialized, 'cus it goes top down 15:16
And self.foo is just an escape mechanism
15:16 airdisa left 15:18 abraxxa left
raydiak jnthn: it's the "self.foo but not $.foo" that really confuses me...escape mechanism? am I supposed to know to be careful of something non-obvious when I write "self.foo" in an initializer? it doesn't look very scary. 15:18
15:19 airdisa joined
jnthn raydiak: Well, most poeple use $.foo for the things they think of as state-y, and those are the ones that are the main risk. 15:19
15:19 chenryn joined
raydiak hm, I see 15:20
raydiak has no consistent conventions between self. and $. and $! (unless it's a hot path, then I always use $! if it's in scope)
15:20 cygx joined
cygx o/ 15:21
m: my $n = 42; / a ** $n /
camelia rakudo-moar 0ad460: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FgHr3eg4uQ␤Quantifier quantifies nothing␤at /tmp/FgHr3eg4uQ:1␤------> 3my $n = 42; / a **7⏏5 $n /␤»
cygx ^ any workaround for that?
(besides writing a recursive rule)
moritz a ** {$n} iirc 15:22
m: my $n = 42; say 'a' x 50 ~~ / a ** {$n} /
camelia rakudo-moar 0ad460: OUTPUT«「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」␤»
cygx \o/ 15:23
moritz m: my $n = 42; say ('a' x 50 ~~ / a ** {$n} /).Str.chars
camelia rakudo-moar 0ad460: OUTPUT«42␤»
jnthn std: my $n = 42; / a ** $n / 15:25
camelia std 28329a7: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** $n as separator; nowadays please use atom +% $n at /tmp/VRqSF9wPoK line 1:␤------> 3my $n = 42; / a ** $n 7⏏5/␤ok 00:00 138m␤»
jnthn hah
STD-- # that error tells you a second thing thta won't work :P
cygx my current approach to prototyping my own programming language: use Perl6 grammars, generate C code and JIT compile via TinyCC 15:31
cf github.com/cygx/p6-tinycc
so far, seems to work out just fine
15:32 cdc left
nebuchadnezzar erf, evalbot password in git? 15:32
moritz nebuchadnezzar: just don't tell anybody :-) 15:33
jnthn I can't believe you picked "secret"! 15:34
raydiak oh cool... cygx++ :)
moritz right, the password isn't really secret :-)
15:34 zakharyas left
masak $ time perl6 -ne '.say if /^.x/ && /n.$/' /usr/share/dict/words 15:35
takes 20 seconds here. 15:36
corresponding Perl 5 script takes 0.025 seconds.
ugexe lizmat: CompUnitRepo::Local::Installation.install still uses the removed CompUnitRepo::Distribution 15:38
skids has run into that pain point too.
15:38 diana_olhovik_ left
skids (masak's pain point) 15:38
RabidGravy also uses a fair amount of memory, is that because it slurps the whole file and then splits it into the lines in one go? 15:41
masak skids: in this case it's fine. those 20 seconds are an acceptable pain. but mostly because the use is a bit frivolous.
skids: I'm surprised the difference is as much as that -- three orders of magnitude. 15:42
but also a little grateful it isn't worse ;)
colomon backed out yesterday’s changes to emmentaler, and smoke is back to 76 additional modules failing (vs two weeks ago) instead of 98% of them failing.
cygx is the GLR supposed to improve performance of the grammar engine as well, and if not, what would? 15:43
moritz I don't think GLR will change grammar perf much 15:44
jnthn I suspect the GLR will help a good with with the -ne one
Don't see how it'll affect the grammar engine, though maybe match object access will improve a bit.
Well, may improve a bit.
nwc10 jnthn: you're now in Oslo? 15:46
timotimo masak: i don't think we anchor regexes that end at $ properly yet
masak: fwiw, could you try ^^ and $$, too?
jnthn nwc10: Nah, Trondheim
nwc10: Oslo on Friday
masak timotimo: sure thing. 15:47
timotimo axiomatizing
masak timotimo: 20.2 seconds
timotimo how does it change if you use a single regex, but .* in between?
masak 13.6 seconds. 15:48
timotimo interesting; is the overhead to calling a regex that big?
masak which I guess shows that a bunch of overhead goes to that second regex.
timotimo on my machine, that script takes 1m39s :(
4.8M is the size of my words file 15:49
479828 lines
masak timotimo: oh, mine is only 917K 15:50
and there were two levels of linkdirection and it was really named /usr/share/dict/american-english
timotimo right; i have linux.words
masak <insert joke about US English vocab here> 15:51
timotimo "english traditional" vs "english simplified", right? :)
masak 哈哈 15:52
timotimo well, we allocate 13.435.249 scalars in match (m-CORE.setting:7791) and another 5.758.012 in reify + 3.838.677 in gimme + another 2.878.980 in reify 15:53
and another 2.875.319 in an anonymous inner block inside gimme
but the time spent garbage collecting is only 15%, so that's not the main problem 15:54
oh wow
dalek kudo/nom: bf8aaa1 | lizmat++ | src/core/Distribution.pm:
CURLI needs CompUnitRepo::Distribution, ugexe++
timotimo match (in src/gen/m-CORE.setting:7791) deopts locally 959.357 times
that's quite amazing, given it's entered 959.661 times 15:55
15:58 Ven_ left
timotimo so basically the match routine, which takes 15% exclusive time (and 64% inclusive time) runs "pretty much unspesh'd" 15:59
but it doesn't say what deopt point gets hit
15:59 airdisa left 16:03 TimToady left 16:09 gfldex joined 16:10 konsolebox left 16:13 konsolebox joined
RabidGravy ooh so travis-ci has a weird filesystem that breaks Linux::Fuser 16:15
cool
ugexe i think someone asked recently, but is there a way/phaser for a role to know when its being composed into something? 16:18
PerlJam ugexe: S04:1376 16:21
synbot6 Link: design.perl6.org/S04.html#line_1376
16:21 diana_olhovik joined
PerlJam ugexe: dunno if it's implemented or not though. 16:21
ugexe i thought that was for use in the object being composed into 16:22
PerlJam Hmm. 16:23
I've always thought of it as "fire at compose-time" whether from a class or a role.
dalek c: a61a7d2 | (Jonathan Stowe)++ | lib/Type/Metamodel/RoleContainer.pod:
s/add_role/roles_to_compose/ in the right place
RabidGravy ugexe, dunno but I did find that as a consequence of you asking ;-) 16:24
ugexe ive been playing with dependency injection so my expectation of compose time is probably skewed
[Coke] labster++ # my boss, who isn't a perl guy but knows I work on perl stuff, said, "I just read this article about perl, python, and php..." 16:25
PerlJam [Coke]: Did your boss form any kind of opinion or conclusion from what he read? 16:26
16:27 Sqirrel left
RabidGravy m: role F { COMPOSE { say "oooo" } }; class A does F {}; # NYI it seems 16:28
camelia ( no output )
lizmat COMPOSE is NYI indeed
I was looking at it the other day, but it was too far out of my comfort zone 16:29
raydiak if it's a trait by chance, doesn't .compose() gets called if it exists? 16:30
16:31 lolisa joined 16:32 camelia left
RabidGravy Dunno if anyone is interested in X::Panda gobbling blocks on jvm? travis-ci.org/jonathanstowe/p6-Lin...s/61327914 16:32
[Coke] PerlJam: no clue. I mentioned I "knew" the author, talked about the python/php agita it got feedback on, that was it.
16:33 camelia joined 16:34 ChanServ sets mode: +v camelia, Foxcool_ joined
timotimo RabidGravy: i think that comes from the type not being found :( 16:35
m: when X::Panda
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qejF2lxRuT␤Missing block␤at /tmp/qejF2lxRuT:1␤------> 3when X::Panda7⏏5<EOL>␤ expecting any of:␤ parameterized block␤»
timotimo m: when X::Panda { say "test" }
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5===␤Function X::Panda needs parens to avoid gobbling block␤at /tmp/etb4mVeLnt:1␤------> 3when X::Panda { say "test" }7⏏5<EOL>␤Missing block (apparently taken by 'X::Panda')␤at /tmp/etb4mVeLnt:1␤------> 3when X::Panda { s…»
timotimo m: class X::Panda { }; when X::Panda { say "test" }
camelia ( no output )
timotimo the error could mention that, too, IMO.
16:36 Foxcool_ left, Foxcool left 16:37 Foxcool joined, hobbs left 16:38 hobbs joined 16:41 vendethiel joined, espadrine left
jnthn About roles, if you just want to do something when the role is composed into a class, note the code in the role body runs at that point. 16:46
m: role R { say 'omg composed in ter ' ~ ::?CLASS.^name }; class A does R { }; class B does R { }
camelia rakudo-moar bf8aaa: OUTPUT«omg composed in ter A␤omg composed in ter B␤»
16:46 cdc joined 16:47 cdc is now known as Guest59586
timotimo oh, that's pretty cool 16:47
i always forget about being able to put code into class bodies and such
jnthn Also it runs at BEGIN time so it's a fine time to twiddle the class dynamically too, without running into pre-comp issues. 16:48
jnthn has a hungry 16:49
Time to go eat chili pakoras and stuff
bbl &
16:49 Guest59586 is now known as cdc_
PerlJam Then I guess a COMPOSE phaser really is only useful for the class that the roles are being composed into. 16:49
timotimo classes get composed even without roles being involved, though 16:51
16:57 dakkar left
PerlJam m: role R { say 'omg composed in ter ' ~ ::?CLASS.^name }; my $x = 42; $x does R; 16:59
camelia rakudo-moar bf8aaa: OUTPUT«omg composed in ter Int+{R}␤»
PerlJam neat
16:59 FROGGS[mobile] joined 17:00 rindolf left, rindolf joined 17:02 Sqirrel joined 17:04 rindolf left, rindolf joined 17:06 rindolf left, rindolf joined 17:11 vendethiel left 17:12 tinyblak left 17:14 vendethiel joined 17:17 kaare__ is now known as kaare_ 17:18 cygx left 17:20 chenryn left, mr-foobar left
masak role closures are a lot like routine closures. mixing a role into something is a lot like calling a routine. 17:29
vendethiel nqp: my $a := sub() { say(42) }; say($a.HOW.name($a)) 17:32
17:32 camelia left
vendethiel oh. 17:32
sorry, camelia...
17:33 fhelmberger joined, camelia joined
vendethiel nqp: my $a := sub() { say(42) }; say($a.HOW.name($a)) #was it me? :P 17:33
17:34 carlin left
camelia ..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f064400a480 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f064400a5f0 ***␤#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pth…» 17:34
..nqp-moarvm: OUTPUT«NQPMu␤»
17:34 ChanServ sets mode: +v camelia
camelia nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Lost connection to server irc.freenode.org.␤» 17:34
..nqp-moarvm: OUTPUT«NQPMu␤»
..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f444400a290 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f4444013880 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f444401d450 ***␤»
vendethiel nqp: my $a := sub () { say(42) }; say($a.HOW.name($a)) #was it me? :P
17:34 camelia left, diana_olhovik left
lizmat
.oO( stop swatting the butterflies ! )
17:35
masak vendethiel, internationally wanted camelia-killer.
17:35 camelia joined 17:37 fhelmberger left
camelia nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Server error occurred! Closing Link: ns1.niner.name (Client Quit)␤Lost connectio…» 17:37
..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ***␤*** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ***␤»
..nqp-moarvm: OUTPUT«BOOTCode␤»
17:37 ChanServ sets mode: +v camelia
vendethiel ah, so it's true that whitespace between sub and () matters... 17:37
17:37 fhelmberger joined 17:38 woolfy joined, fhelmberger left, woolfy left 17:39 Rounin joined 17:41 domidumont joined
masak m: sub() {} 17:43
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5===␤Word 'sub' interpreted as 'sub()' function call; please use whitespace around the parens␤at /tmp/IDAoQyBVuk:1␤------> 3sub7⏏5() {}␤Unexpected block in infix position (two terms in a row)␤at /tmp/IDAoQyBVuk:1␤------> 3s…»
masak m: sub sub() { say "OH HAI" }; sub()
camelia rakudo-moar bf8aaa: OUTPUT«OH HAI␤»
masak hugs Perl 6
m: sub byte($n) { say $n }; byte(42) 17:44
camelia rakudo-moar bf8aaa: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0)␤ in block <unit> at /tmp/KLbTDGGfWQ:1␤␤»
lizmat m:sub sub() { say "OH HAI" }; sub # just checking
m: sub sub() { say "OH HAI" }; sub # just checking
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6ypr5UnifP␤Missing block␤at /tmp/6ypr5UnifP:1␤------> 3 { say "OH HAI" }; sub # just checking7⏏5<EOL>␤ expecting any of:␤ new name to be defined␤»
masak that one feels fair, somehow. 17:45
cognominal masak, or to paraphrase Walter Sobchak "Look at our current situation with that camel f* in #per6"
lizmat m: sub foo() { say "OH HAI" }; sub.invoke
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R1hdhh9DBi␤Missing block␤at /tmp/R1hdhh9DBi:1␤------> 3sub foo() { say "OH HAI" }; sub7⏏5.invoke␤ expecting any of:␤ new name to be defined␤»
lizmat m: sub sub() { say "OH HAI" }; sub.invoke
camelia rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qIAY1PreFk␤Missing block␤at /tmp/qIAY1PreFk:1␤------> 3sub sub() { say "OH HAI" }; sub7⏏5.invoke␤ expecting any of:␤ new name to be defined␤»
masak lizmat: &sub ?
lizmat m: sub sub() { say "OH HAI" }; &sub.invoke
camelia rakudo-moar bf8aaa: OUTPUT«Method 'CALL-ME' not found for invocant of class 'Sub'␤ in block <unit> at /tmp/qQmGJoGg6u:1␤␤Saw 1 call to deprecated code during execution.␤Method invoke (from Any) called at:␤ /tmp/qQmGJoGg6u, line 1␤Deprecated since v2015.3, will be remov…»
lizmat m: sub sub() { say "OH HAI" }; &sub.CALL-ME 17:46
camelia rakudo-moar bf8aaa: OUTPUT«Method 'CALL-ME' not found for invocant of class 'Sub'␤ in block <unit> at /tmp/92sQAvv6be:1␤␤»
FROGGS[mobile] nwc10: so you are not comming since I dont spot you at the preconf dinner? 17:48
nwc10 FROGGS[mobile]: no, we *are* coming, on EN 406, which OBB insist is going as far as Dresden. 17:51
So, we will be arriving around 7 tomorrow morning. 17:52
(to Dresden, and no further)
timotimo nqp-m: say("test") 17:53
camelia nqp-moarvm: OUTPUT«test␤»
timotimo i think nqp: without -m takes camelia down sometimes :(
jdv79 what is happening tomorrow? 17:54
nwc10 OK, to be pedantically accurate, we'll be going to the station in Vienna in about 2 hours, expecting the train to run. And will be in an L.T.A. mood if it doesn't get us to Dresden as advertised.
jdv79: German Perl Workshop, day 1.
jdv79 neat 17:55
FROGGS[mobile] nwc10: good luck 17:56
17:56 Rounin left
timotimo yes, good luck indeed 17:57
FROGGS[mobile]
.oO( Good Lok)
17:58
timotimo hehehe 17:59
masak oh, it's "Lok" in German too? nice. 18:05
timotimo aye
18:08 fhelmberger joined
masak in Russian it means "onion" :) 18:08
timotimo i like onions! 18:12
18:13 tinyblak joined
vendethiel cool! 18:16
(I meant WRT german perl workshop, hehe)
18:18 tinyblak left 18:19 diana_olhovik_ joined 18:21 japhb left 18:25 fhelmberger left 18:34 japhb joined 18:38 Isp-sec joined 18:40 andreoss left 18:41 mrf left 18:47 yqt joined 18:52 mohij joined 18:59 domidumont left
dalek kudo/nom: 99786d2 | lizmat++ | src/Perl6/Actions.nqp:
Remove %?PRAGMAS

I hadn't realised that it only makes sense to change pragmas at compile time. Since BEGIN blocks run in the lexical scope of the underlying nqp code, we can simply access %*PRAGMAS there.
19:01
lizmat m: use nqp; BEGIN say %*PRAGMAS
camelia rakudo-moar bf8aaa: OUTPUT«nqp => 1␤»
dalek : 4afef20 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Merge 3 tickets for '::: NYI'
19:05
timotimo jnthn: you were right, the perl6 optimizer doesn't annotate its ops with returns values
lizmat is that the reason for the reify deopts that you saw? 19:06
timotimo don't think so
that was just a random thing that jumped out at me in the code
but perhaps implementing something there (rather: stealing from the nqp optimizer) will make the code gen'd there a little bit better 19:08
19:08 telex left 19:10 jack_rabbit joined, telex joined 19:15 domidumont joined
timotimo oh, didn't i try to make that work and ran into having the wrong "int" to give to .returns()? 19:15
jnthn timotimo: Mebbe, but see $!symbols 19:16
timotimo surely will :)
jnthn timotimo: Which'll let you get the right one
timotimo i think i've been instructed to use that before and something went wrong
i'll just try again and see what happens
i wonder why it'd not be enough to simply have something in there that objprimspec's to the right number 19:17
jnthn mebbe 'cus trial binds in multi dispatch want Perl 6 types 19:19
timotimo ah 19:20
we'll see. stage optimize is already through
19:24 Erendis42d joined
Erendis42d HI 19:24
masak Erendis42d: hi!
Erendis42d ^*^
masak Erendis42d: you were here earlier, no? I think I missed you then.
Erendis42d yeah, i forgot to say hi, mazbe that made me invisible 19:25
sry
vendethiel saw Erendis42d in the backlog as well
masak Erendis42d: no prob
timotimo saw Erendis42d, too
Erendis42d :D
masak Erendis42d: welcome back!
Erendis42d ty
masak Erendis42d: I enjoyed backloggin over you :)
Erendis42d um
okay, now that's embarrassing
masak hehe
Erendis42d: ok, switching topics. how may I assist you today? 19:26
dalek kudo/nom: 65cd273 | lizmat++ | src/Perl6/World.nqp:
Prefix file# if needed
Erendis42d i'm not here for assistance 19:27
you know, just
hangin' around
masak scrabbles around for the image of the upside-down bats
vendethiel wonders why "bats".
Erendis42d so thats upside up bats actually?
masak i.huffpost.com/gen/1341373/images/o...cebook.jpg 19:28
Erendis42d access denied
19:28 FROGGS[mobile] left
masak I google images'd for "upside-down bats". might work for you too. 19:29
www.google.com/search?tbm=isch&...-down+bats
Erendis42d i googled upside up bats
thanks 19:30
masak it's the second image in my search. it kinda looks like they're circling each other in the ring or something.
anyway. just a random association from "hangin' around"
Erendis42d those look like squirrels
aa
ic
masak bats and squirrels are not that far from each other in the evo tree. 19:31
anyway, back to Perl 6... :)
Erendis42d kk
masak m: class Greeter { method greet($name) { say "hidey ho, $name!" } }; Greeter.greet("Erendis42d") 19:32
camelia rakudo-moar 99786d: OUTPUT«hidey ho, Erendis42d!␤»
Erendis42d want me to show you my "hidey-ho"-s?
i have two of them
masak please do 19:33
m: sub phrase($t1, $t2) { say "why, those $t1 look like $t2!" }; phrase "upside-down bats", "squirrels"
camelia rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!␤»
Erendis42d 8
timotimo m: role Greeter[Str $target] { method greet() { say "ohai, $target!" } }; Greeter["Erendis42d"].greet();
camelia rakudo-moar 99786d: OUTPUT«ohai, Erendis42d!␤»
Erendis42d oh ie, bot
o ie? 19:34
nvm
masak m: role R[$t1, $t2] { method phrase { say "why, those $t1 look like $t2!" } }; R["upside-down bats", "squirrels"].new.phrase
camelia rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!␤»
Erendis42d i'm not a proper weaboo
i can't use yes as a greeting
you know, just... this is not how you say hi
hai means fucking yes
masak trust me, we know :) 19:35
Erendis42d i'm wondering how annoyed japs become when they see this
i bet they also know
dalek c: d1c43b7 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
wrapp up Channel
19:36 Ugator joined
huf probably about as annoyed as random english pedants get about "literally" 19:36
Erendis42d still the same old shitty atmosphere
this is why you don't have nice things, you know
timotimo imagines a litter rallye 19:37
masak or a lit e-rally. 19:38
huf litter-ally
also known as "sibling"
Erendis42d how... creative
masak huf: :P
huf wait, no. twin.
Ugator \o #perl6 :-) please see and comment: 19:39
r.789695.n4.nabble.com/Integrate-R-...06844.html
masak sounds cool. do carry on :) 19:41
labster Good morning, #perl6 🎏 19:42
masak .u 🎏
yoleaux U+1F38F CARP STREAMER [So] (🎏)
19:42 uncleyear left, uncleyear joined
jnthn ...you're kidding, Unicode. :P 19:42
labster Today is Kodomo no Hi
masak wai~! 19:43
jnthn oh, streamer, not steamer... 19:44
19:44 Erendis42d left
masak jnthn: that makes it better how? :P 19:44
labster Yeah, there's a whole section of holidays in Unicode, but those holidays were decided by Japan.
jnthn Well, I was wondering what made kitchen equipment for steaming carp specialized to that kind of fish... :P
masak .oO( whoever carps the most gets the Unicode code points ) :P 19:45
RabidGravy a section on Proc::Async in the concurrency doc: yes/no/meh? 19:46
masak when I was young, Unicode was mostly for writing systems.
RabidGravy when I was young, Unicode was, er., wait ... ;-) 19:47
labster [Coke]: I guess if touching other people's holy wars is a good way to get people to talk about Perl 6, it worked out. It was actually fascinating because almost everyone read their own prejudices into my text, which in retrospect was be 100% likely given the topic.
jnthn It's hard to find 0xEFFFF things to fill your code pages with...
labster s/be// 19:48
masak not for lack of trying
jnthn RabidGravy: Yeah, we can doc it, though it's known flaky at the moment.
RabidGravy It'll encourage improvement :)
lizmat m: use cur <bar>; say @?INC; { use cur <foo>; say @?INC }; say @?INC 19:51
camelia rakudo-moar 65cd27: OUTPUT«file#bar␤file#foo file#bar␤file#bar␤»
lizmat jnthn: ^^^ now if I initialize %*PRAGMAS<INC> with a clone of PROCESS::<@INC>, the lexicalness of @?INC disappears 19:52
+ %*PRAGMAS<INC> := @INC.clone;
dalek rl6-roast-data: 3a647b6 | coke++ | / (9 files):
today (automated commit)
lizmat jnthn: am I making a thinko ?
jnthn lizmat: Did you update how you clone it later? 19:54
lizmat: 'cus nqp::clone on a Perl 6 array won't be enough.
lizmat I used P6's .clone
jnthn OK, then I don't immediately have more guesses 19:55
lizmat Ok, I'll muddle on a bit more :-)
jnthn m: my @a = 1,2,3; @a.clone.push(4); say @a 19:56
camelia rakudo-moar 65cd27: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/OVHMR4K3Pq:1␤␤»
jnthn um.
lizmat m: my @a = 42; @a.clone # golfed 19:58
camelia rakudo-moar 65cd27: OUTPUT«Unhandled exception: This type does not support elems␤ at src/gen/m-CORE.setting:10898 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:REIFY:34)␤ from src/gen/m-CORE.setting:11416 (/home/camelia/rakudo-inst-2/share/perl6/runtim…»
19:59 rindolf left 20:06 domidumont left 20:10 espadrine joined
raydiak m: my @a = 42; say @a; @a.clone; say 'alive'; 20:10
camelia rakudo-moar 65cd27: OUTPUT«42␤alive␤»
20:17 muraiki left
raydiak hrm 20:20
m: my @a = 42; try { @a.clone }; say "alive"
camelia rakudo-moar 65cd27: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/C1KaQR943R:1␤␤»
raydiak m: my @a = 42; try { @a.clone; CATCH { default {} } }; say "alive"
camelia rakudo-moar 65cd27: OUTPUT«alive␤»
lizmat almost seems the clone is done at BEGIN time before $!items is set ?
tony-o i've been getting the same error on a Promise.in() 20:21
raydiak well what seemed weird to me about that is that it does catch the error, but only if you have an explicit CATCH
seems contrary to "A try block by default has a CATCH block that handles all fatal exceptions by ignoring them."
m: try { die }; say "alive" 20:22
camelia rakudo-moar 65cd27: OUTPUT«alive␤»
raydiak m: try { fail }; say "alive"
camelia rakudo-moar 65cd27: OUTPUT«alive␤»
lizmat yeah, those were fixed by jnthn's work on lexical pragmas 20:23
20:24 hernan605 left
dalek kudo/nom: 1763049 | lizmat++ | src/Perl6/World.nqp:
Go native
20:25
raydiak fixed? looks broken to me. why does the try catch the .clone exception only when there's an *explicit* CATCH block which does the same thing as the implicit one should? 20:26
20:26 darutoko left
lizmat because there's something spooky going on there :-) 20:26
m: try { fail } used to *not* catch the failure
camelia rakudo-moar 65cd27: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8GrqpGw681␤Strange text after block (missing semicolon or comma?)␤at /tmp/8GrqpGw681:1␤------> 3try { fail }7⏏5 used to *not* catch the failure␤ expecting any of:␤ infix␤ infi…»
raydiak ah, got it...fixed as in "things are shaken up in there recently" :)
lizmat that may be true :-) 20:27
PerlJam raydiak: your examples make me think that there's really 2 (related) problems.
raydiak lizmat: anyway, wasn't trying to derail you from the problem you started with, was hoping it was a klew, but guess it's something else 20:28
PerlJam: yeah I was just thinking along the lines of "the bug has a bug" :) 20:29
20:30 ][Sno][ joined, [Sno] left 20:40 konsolebox left 20:41 hobbs left, integral left, integral joined, integral left, integral joined
dalek pan style="color: #395be5">perl6-examples: 1eda24d | paultcochrane++ | t/categories/wsg/beginner-2008.t:
[wsg] add a test for beginner 2008, event010
20:43
jnthn I suspect the sinking of the thing being returned from the try is the issue. Maybe we don't sink hard enough in try yet 20:45
Though I thought we did.
But yeah, the bug is in Array.clone.
masak 'night, #perl6
tony-o later masak 20:46
20:47 hobbs joined, hobbs left, hobbs joined
lizmat there's only one Mu.clone (apart from in Temporal) 20:48
good night, masak!
jnthn lizmat: Ah. Well, I'm pretty sure Array and Hash need their own clone logic to get the right answer. 20:49
lizmat well, there doesn't appear to be there one now 20:50
jnthn Right, which helps explain why it's knackered. 20:51
raydiak jnthn: is sinking in a try different when there is an explicit CATCH instead of relying on the implicit "ignore everything"? 20:54
jnthn raydiak: Possibly, though not intentionally 20:55
raydiak m: my @a = 42; try { CATCH { default {} }; @a.clone }; say "alive" # maybe because I put the CATCH as the last statement before?
camelia rakudo-moar 176304: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/OJ58IZObie:1␤␤»
raydiak ah ha, yep
20:56 RabidGravy left
jnthn I *think* when I actually made things sink in a try then Bad Things happened, alas. 20:56
raydiak wishes it were easier to append to a RT 20:57
jnthn lizmat: Are you blocking on some clone fix? 20:59
lizmat no
jnthn (If so I'll try and do one quickly, if not I'll probably sleep soon :))
lizmat nono please go sleep
will discuss this in a few days or so 21:00
I'll just stash what I'm doing
jnthn ok 21:01
tony-o jnthn: how long ago was that? 21:02
PerlJam wonders why Mu.clone checks if %twiddles has any elements instead of just relying on multi dispatch for the %twiddles vs non-%twiddles case ... 21:03
21:05 molaf_ left, Ugator left
lizmat PerlJam: I remember testing that, and it had an averse affect of performance 21:05
*effect 21:06
21:06 mls left, mls joined
dalek Heuristic branch merge: pushed 46 commits to rakudo/newio by lizmat 21:06
lizmat and that concludes my hacking for the coming 48 hours...
21:07 brrt joined
raydiak jnthn: do you have a guess off the top of your head what Grammar::Generative's segfault is likely about? seems there is interest around every time I talked about it, even masak ++'d me just for filing the issue, so thought I might even try to take a look at it myself 21:07
brrt \o 21:08
raydiak jnthn: since I assume it'd like...off the bottom edge of your possibly-infinite todo list :) but touches very deeply on things I've been working on recently
21:09 RabidGravy joined 21:12 dolmen joined
bartolin [Coke]: ping 21:13
21:22 Foxcool left
jnthn raydiak: Sorry, no. I'd maybe be albe to guess if I saw, say, a gdb stacktrace 21:26
21:26 beastd joined 21:27 Zoffix left
brrt raydiak - can you try it with MVM_JIT_DISABLE=1 21:27
dalek c: 343fca6 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
Proc::Async basics
[Coke] bartolin: pong
raydiak jnthn: absolutely, will add it to the issue...you saw that there is strace there already, right? 21:28
brrt: oh wish I'd thought of that...but no change sadly 21:29
brrt hmmm
jnthn raydiak: Yeah, but strace doesn't tell me so much sadly 21:30
raydiak: I mean, an strace can tell me much, but not about a SEGV problem.
brrt gdb can :-)
jnthn Right :)
bartolin [Coke]: locally I have a clone of roast where I solved the merge conflicts for PR 59
raydiak figured that was probably the case, just wanted to make sure since I'm going to go learn how to use gdb now :) 21:31
brrt hmm... if you'd have some golfed testcase i could take a look for a bit
jnthn I think there's a perl6-gdb-m helper these days
brrt right
raydiak hah! cool...
are the debugging symbols important? 21:32
jnthn Yes :)
bartolin [Coke]: I ran a spectest with rakudo.moar and got the same results as with HEAD
[Coke]: do you think it's worth to push it now?
brrt in fact, if you can, build moar withouth optimize 21:33
perl Configure.pl --optimize=0 --debug
that saves a lot of trouble in missing variables when running under gdb 21:34
raydiak oh I can do that, thanks brrt :)
brrt yw :-)
21:35 Peter_R left 21:39 skids left
jnthn Time for some rest... 'night, #perl6 21:40
lizmat and from me as well, good night jnthn , #perl6!
raydiak rest well jnthn & lizmat
bartolin o/ o/
21:41 Peter_R joined
brrt yes, sleep well #perl6 21:42
21:42 brrt left
timotimo Oxenstierna ... ?! 21:45
21:49 Peter_R left
dalek kudo-star-daily: ddeba44 | coke++ | log/ (2 files):
today (automated commit)
21:52
timotimo masak: i managed to shave 1.30s off of that benchmark (the one that takes almost exactly 1:01.30) 21:53
21:53 kaare_ left 22:00 Zoffix joined, Zoffix left, Zoffix joined
dalek : 1327bdd | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Mark rejected tickets which referred to parrot

Please note that I didn't Cc: perl6-compiler when rejecting the tickets. That looked like too much spam to me ...
22:04
22:04 Zoffix left 22:05 Ugator joined
RabidGravy I think a small section on Locks at the bottom and I'm pretty much done with the concurrency doc 22:13
nighty night
[Coke] bartolin: was there an update on the pull request from the OP? 22:14
If not, go ahead and commit your version and close out the PR.
and thank you so much for your help moving forward on this. 22:15
raydiak grr how can I automatically escape a bunch of text so github doesn't butcher it as markdown?
22:15 diana_olhovik_ left
[Coke] this in a ticket? 22:17
22:17 RabidGravy left
[Coke] ```foo``` ? 22:18
raydiak doesn't seem to work across multiple lines 22:23
heh I'll just do that to each line in vim I guess 22:24
ah, indenting the whole thing does the trick well enough 22:26
22:28 jepeway_ joined 22:29 jack_rabbit_ joined, jepeway left 22:30 ribasushi left, jack_rabbit left, rmgk left, renormalist left, isacloud left
raydiak .tell jnthn I've added the gdb backtrace to github.com/jnthn/grammar-generative/issues/1 22:30
yoleaux raydiak: I'll pass your message to jnthn.
22:30 ribasushi_ joined 22:31 rmgk joined 22:34 vendethiel left
timotimo key=0xffffffff00000001 - yeah, that looks kinda fishy :) 22:34
22:35 isacloud joined
timotimo raydiak: you could help us out even more if you "print MVM_dump_stacktrace(tc)" or what the magical incantation was 22:35
raydiak 'No symbol "MVM_dump_stacktrace" in current context.' - I'll go look for the magical incantation, then :) 22:36
22:36 vendethiel joined 22:37 beastd left
raydiak ah, s/stack/back/ 22:37
timotimo ah 22:38
raydiak added 22:39
22:39 bjz left
timotimo huh, how come its line number is :1? 22:39
raydiak b/c I'm triggering it from a -e maybe? 22:40
timotimo but ...
...runtime/CORE.setting.moarvm:ASSIGN-KEY:4294967295
that must be a mistake
raydiak not on my end, that's literally what's in the terminal 22:41
22:42 Isp-sec left
raydiak this is awesome, now I know how y'all find your way around those "it just says nothing and segfaults" problems 22:42
I always ended up just changing stuff until it worked, or at least broken differently :) 22:43
m: say log(4294967295)/log(2) 22:45
camelia rakudo-moar 176304: OUTPUT«31.9999999996641␤»
raydiak yep, definitely something fishy
m: say 2**32-4294967295
camelia rakudo-moar 176304: OUTPUT«1␤»
raydiak the line number is the max value for a uint32 22:46
22:49 gfldex left, mohij left
timotimo ah, so -1 22:50
raydiak ah right, that too 22:51
timotimo some code somewhere sets that as a "i don't know" value, i bet
22:52 grondilu joined
grondilu With NativeCall, can you make a binding to a function that takes "SomeStruct **theStruct" as argument? The double pointer is the issue here. 22:53
22:57 skids joined
raydiak as long as what you pass it actually is what is needed, I'd think you could declare the binding as just Pointer and it'd work, if nothing else 22:57
but did you try Pointer[Pointer[SomeStruct]] ?
timotimo that's beautiful 22:58
m: my $a = "2d9"; $a++; say $a; $a++; say $a;
camelia rakudo-moar 176304: OUTPUT«2e0␤2e1␤»
timotimo guess what php makes of this code :)
22:59 vendethiel left
raydiak dunno php, random guess...3d9 and 4d9? 23:00
timotimo no
2e0 3
raydiak ah ha
23:01 pierrot left, vendethiel joined
raydiak (and here I was wondering what regularly-shaped 9-sided dice would look like...it'd have to have rounded sides...) 23:02
timotimo :)
23:04 baest left 23:05 hernan joined 23:06 pierrot joined
cognominal what are the CALL-ME methods in the setting? 23:08
timotimo the what? 23:12
raydiak m: my $obj = class { method CALL-ME { say "hi!" } }.new; $obj()
camelia rakudo-moar 176304: OUTPUT«hi!␤»
timotimo ah
23:13 dolmen left
cognominal github.com/rakudo/rakudo/blob/nom/...st.pm#L711 23:14
raydiak m: List(1,2,3).say
camelia rakudo-moar 176304: OUTPUT«1 2 3␤»
timotimo that's for coercion, right
23:15 pierrot left
cognominal ok, that may explains the code in Actions.pm I was looking at 23:15
m: my $obj = class { method CALL-ME { say "hi!" } }.new; say $obj ~~ Code 23:20
camelia rakudo-moar 176304: OUTPUT«False␤»
23:21 pierrot joined
cognominal so you can call an object that "does" not do Code :( 23:21
23:22 Vlavv left
timotimo a type object 23:24
er
that's not right
23:25 vendethiel left 23:26 BenGoldberg joined 23:29 baest joined
raydiak yes you can call objects which don't do Callable, and you can index objects that don't do Positional or Associative 23:30
23:31 vendethiel joined
raydiak m: my $o = class { method AT-POS ($i) { $i } }.new; say $o[42] 23:33
camelia rakudo-moar 176304: OUTPUT«42␤»
cognominal you have example of the latters?
thx
raydiak m: say Match.^mro # and a core class example 23:34
camelia rakudo-moar 176304: OUTPUT«(Match) (Capture) (Cool) (Any) (Mu)␤»
cognominal Well, I thought AT-POS was supposed to be used to implement objects that do Positional
tony-o m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises); "here".say; 23:35
cognominal m: say Match ~~ Code
camelia rakudo-moar 176304: OUTPUT«(timeout)» 23:36
rakudo-moar 176304: OUTPUT«False␤»
raydiak yes but it's used on objects that don't do Positional also...like Match
idk why
23:36 Vlavv joined
tony-o m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises); "here".say; 23:36
raydiak tried to ask, don't recall atm if I ever got a straight answer or not
cognominal that defeats the purpose of the 6model as a learning tool. 23:37
camelia rakudo-moar 176304: OUTPUT«(timeout)»
tony-o should that work or ...?
23:37 yqt left
cognominal s/purpose/use/ 23:38
raydiak it certainly seems...unsettling, to me 23:40
cognominal I am like a child that was just said that Santa does not exist. I hope Christmas is for real, because that is the target release date. 23:41
* Santa Klaus
raydiak maybe we're supposed to look at the role being used or not as more a statement of intent/purpose than a hard restriction...certainly most of the usual suspects do follow the pattern, like List, Array, Hash, and so forth 23:42
[Coke] the folks who organized the hackathon are hoping to get someone down to NYC in the fall to give a talk on perl 6 to spread the word. (I'm in)
raydiak but I'm not too familiar with this 6model thing I hear talked about
23:45 pierrot left
cognominal TimToady would say that consistency is a mean and not an end in itself, but I don't see the motivation here to break it. 23:45
raydiak well, he should see this in the backlog ( \o ) so we'll see what he says about it 23:50
23:52 vendethiel left 23:55 thou left
ugexe m: m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises.grep(*)); "here".say; 23:58
camelia rakudo-moar 176304: OUTPUT«here␤»
23:59 espadrine left
raydiak ah, a laziness bug? 23:59