Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-05

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 idontknow joined #perl6
00:06 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_␤»
00:06 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));
00:06 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␤␤»
00:12 tony-o m: https://gist.github.com/tony-o/4a42f3807d9d5bba3688
00:12 camelia rakudo-moar 198d9e: OUTPUT«timeout␤  in block <unit> at /tmp/hCM75V3723:7␤␤1013.34␤»
00:12 tony-o weird..it continues to process for me
00:19 timotimo there is no sane way to abort a thread that doesn't explicitly cooperate
00:19 timotimo that said, when the mainline reaches the end, moarvm will shut down
00:21 tony-o i had an old build where moarvm wouldn't shut down -- i was getting 3+ seconds on that gist
00:22 tony-o which seemed incongruent with the slides i was looking at from a perl6 talk
00:25 timotimo there's a flag you can set on a Thread that'd make it a "keep the program alive" thread
00:25 timotimo that's as much as i know
00:38 tinyblak joined #perl6
00:38 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_␤»
00:39 TimToady skids: ^^
00:39 TimToady s/// is trying to modify your formal parameter
00:40 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));
00:40 camelia rakudo-moar 198d9e: OUTPUT«f_1-f_2-f_␤»
00:44 dabockster joined #perl6
00:48 perlvim joined #perl6
00:53 cognominal joined #perl6
01:01 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␤␤»
01:01 tony-o m: try { CATCH { default {  $_.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/KRcnpw1niC:1␤  in block <unit> at /tmp/KRcnpw1niC:1␤␤»
01:03 raydiak tony-o: "bracktrace" :)
01:03 tony-o m: try { CATCH { default {  $_.backtrace.nice; }; } ; die 'dead'; };
01:03 camelia rakudo-moar 198d9e: OUTPUT«use of uninitialized value of type Any in numeric context  in block  at /tmp/mOBQYlIIRt:1␤␤»
01:04 tony-o yea i know :-), i'm trying to determine where i'm getting that warning from :-)
01:05 raydiak ah I see
01:06 tony-o seems it's in the backtrace method somewhere ..
01:08 Zoffix joined #perl6
01:14 pecastro_ joined #perl6
01:14 Akagi201 joined #perl6
01:23 yeahnoob joined #perl6
01:35 raydiak anyone awake know if the grave/backtick (`) is as common on keyboards in other countries as it is in the US?
01:37 dayangkun joined #perl6
01:38 geekosaur my understanding is that in general it's not
01:40 geekosaur 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:41 raydiak well dang nabbit what good is extensibility if we used up all the easily typable chars with core ops and syntax?
01:41 raydiak but thanks for the info, guess I needed to know that :)
01:51 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
01:54 tony-o yea i saw the backtrace methods change when i rebuilt moar  . it seems to be randomly warning
01:55 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 synbot6 joined #perl6
01:58 synbot6 joined #perl6
02:00 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 pmichaud so I suspect there are a number of one-letter ops still available.  :-P
02:01 dfarrell joined #perl6
02:04 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:05 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.  :-(
02:05 pmichaud it's my plan for May.
02:05 pmichaud (now that robotics is done. :)
02:05 japhb Ah, OK
02:05 japhb How did that go, BTW?
02:06 pmichaud my team ended up 5th in their division, which is far better than we expected.
02:06 pmichaud they performed very well.
02:06 japhb Nice!
02:06 pmichaud And my team captain (and stepdaughter) was a Dean's List Award Winner
02:06 japhb Very nice!
02:09 pmichaud (http://www.usfirst.org/aboutus/dean-kamen-us-chief-technology-officer-megan-smith-and-guests-recognize-student-leaders-at-first-deans-list-award-ceremony)  # link with announcement
02:11 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 TimToady as a case in point, a lot of the :eager options that have been added recently would like to be automatic
02:12 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
02:12 TimToady and Nil is just gonna be a headache, I suspect
02:13 * japhb nods as he soaks in the above
02:13 labster Congrats pmichaud and family, well done
02:13 colomon indeed!
02:16 labster What in particular are we fixing about Nil?  I can't say I'm terribly surprised it needs fixing.
02:17 noganex_ joined #perl6
02:24 rmgk_ joined #perl6
02:47 synbot6 joined #perl6
02:50 dfarrell joined #perl6
02:58 Akagi201 joined #perl6
03:02 dustinm` joined #perl6
03:02 skids labster: Many things that return Nil should be returning () instead, for one.
03:05 Akagi201 joined #perl6
03:18 konsolebox joined #perl6
03:24 telex joined #perl6
03:36 konsolebox joined #perl6
03:38 hobbs joined #perl6
03:45 owlsley_ joined #perl6
03:54 araujo joined #perl6
04:06 mr-foobar joined #perl6
04:24 dalek specs: 1df1815 | raydiak++ | S28-special-names.pod:
04:24 dalek specs: ::?CLASS is a class object, not a name string
04:24 dalek specs: review: https://github.com/perl6/specs/commit/1df1815fde
04:40 moritz \o
04:40 moritz labster: currently iterating over Nil results in zero iterations (it's list-like); that's supposed to change
04:41 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:43 labster o/ moritz, you're up early
04:45 moritz I noticed :-)
04:46 timotimo my sleep rhythm has just gone a little bit haywire
04:46 timotimo but for some reason i feel motivated to do stuff
04:46 timotimo how do we feel about teaching doc.perl6.org and examples.perl6.org about the explanations in S99?
04:47 timotimo 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
04:47 moritz timotimo: in particular, I don't want two glossaries maintained (one in specs, one in doc)
04:47 timotimo maybe after that i'll check out what i'd have to do to get cairo rendering with opengl in a gtk window
04:48 timotimo aye, i think that S99 is a good source to re-use
04:49 konsolebox joined #perl6
04:51 diana_olhovik_ joined #perl6
05:09 konsolebox joined #perl6
05:25 Akagi201 joined #perl6
05:26 kaare__ joined #perl6
05:27 Akagi201 joined #perl6
05:28 Akagi201_ joined #perl6
05:30 Erendis42d joined #perl6
05:31 Erendis42d p6: say 3;
05:31 camelia rakudo-moar 198d9e: OUTPUT«3␤»
05:31 Erendis42d :D
05:31 konsolebox joined #perl6
05:33 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␤»
05:33 Erendis42d :DDD
05:34 Erendis42d 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␤»
05:34 Erendis42d um...
05:34 Erendis42d 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␤Undeclared routine:␤    for used at line 1␤␤»
05:35 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␤␤»
05:35 Erendis42d nevermind
05:36 Erendis42d please go and make me a coffee
05:37 Erendis42d p6: say "☕";
05:37 camelia rakudo-moar 198d9e: OUTPUT«☕␤»
05:37 Erendis42d thank you
05:38 timotimo m: say "lol" for ^3
05:38 camelia rakudo-moar 198d9e: OUTPUT«lol␤lol␤lol␤»
05:38 Erendis42d cool
05:38 timotimo p6: for (my $i=0;i <3;i++){ say "lol\n"}
05:38 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"}␤»
05:38 timotimo p6: loop (my $i=0;i <3;i++){ say "lol\n"}
05:38 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:…»
05:38 Erendis42d okay, i got it
05:38 Erendis42d aha
05:38 timotimo oh wow
05:39 Erendis42d cool again
05:39 Erendis42d thanks
05:39 timotimo p6: loop (my $i=0;$i <3;$i++){ say "lol\n"}
05:39 camelia rakudo-moar 198d9e: OUTPUT«lol␤␤lol␤␤lol␤␤»
05:39 timotimo you're welcome :)
05:39 Erendis42d ntot very patient, huh
05:39 timotimo hm?
05:40 Erendis42d you are impatient
05:40 timotimo oh, you preferred to figure it out by yourself?
05:40 timotimo you're right, i hadn't even realized
05:40 Erendis42d finally.
05:42 Erendis42d what is the difference between the impatient and the incredibly fast?
05:43 timotimo let me guess: the impatient make more mistakes?
05:43 Erendis42d confidence
05:51 Erendis42d nice to meet you :)
05:52 Rounin joined #perl6
05:52 timotimo likewise :)
05:57 quester joined #perl6
06:04 Foxcool joined #perl6
06:07 diana_olhovik_ joined #perl6
06:13 [ptc] timotimo++   # p6weekly
06:15 timotimo dankeschön :)
06:15 timotimo [ptc]++  # moarvm memory leaks, examples.perl6.org, documentation, ...
06:18 [ptc] gerne geschehen :-)
06:27 * timotimo is installing a fresh system on his desktop machine
06:27 timotimo that's why there's no progress with the doc.perl6.org <-> S99 integration
06:28 * Erendis42d likes this
06:29 _mg_ joined #perl6
06:30 dalek perl6-examples: 48ea582 | paultcochrane++ | t/categories/wsg/beginner-2007.t:
06:30 dalek perl6-examples: [wsg] add tests for beginner competition in 2007
06:30 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/48ea582bff
06:34 Erendis42d why not monday1, monday2, monday3, monday4, monday5, sunday1, sunday2, it would be so much easier to script
06:34 timotimo hehe
06:34 timotimo the problem is, that in some regions, sunday2 is actually at the front of the list
06:34 timotimo well, maybe not "the" problem, but "a" problem
06:35 Erendis42d or a tag
06:35 Erendis42d opening tag, closing tag
06:35 Erendis42d that's even better in a point of view
06:35 Erendis42d i'll go and tell Ben Franklin about that
06:36 Erendis42d well, maybe later
06:39 [Tux] Aaaaahrg, no panda!
06:40 [Tux] https://gist.github.com/Tux/f2235ccfe0349e8feaf4
06:40 hobbs joined #perl6
06:43 domidumont joined #perl6
06:46 konsolebox joined #perl6
06:48 domidumont joined #perl6
06:54 jepeway joined #perl6
06:57 zakharyas joined #perl6
06:59 timotimo something seems to be wrong with the hard drive i backed up all my files to
07:00 timotimo oh, it's just the "only root is allowed to use the last few gigabytes of your hard drive"
07:00 timotimo that thing
07:03 tony-o [Tux]: i'm getting that a lot too with moar
07:03 [Tux] moar here too
07:03 tony-o [Tux]: i'm also getting a lot of random failures, sometimes the code works as expected, other times it fails randomly
07:03 tony-o with wildly differently messages
07:06 masak morning, #perl6
07:06 tony-o hey masak
07:10 konsolebox joined #perl6
07:10 dalek rakudo/nom: a8326d0 | lizmat++ | src/core/Backtrace.pm:
07:10 dalek rakudo/nom: Silence backtrace generation, spotted by tony-o++
07:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8326d0718
07:11 timotimo oh, that explains a lot
07:11 lizmat [Tux]: working on panda
07:11 tony-o https://gist.github.com/tony-o/86411383afb0dd6e06e5
07:11 [Tux] lizmat++
07:11 tony-o i'm getting that type of thing ^
07:11 tony-o lizmat++
07:13 tony-o here is the lib/Green associated with that gist https://github.com/tony-o/perl6-green/blob/master/lib/Green.pm6
07:17 timotimo Green has a :) operator? :)
07:19 tony-o haha, yea for now - all tests are happy tests, esp when short handed
07:21 masak I'd make it prefix:<☺> and not look back
07:21 masak the mismatched ')' feels like a design smell... ;)
07:21 timotimo yeah
07:23 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:24 DrForr PHP nearly had a :) operator.
07:24 mr-foobar joined #perl6
07:25 RabidGravy joined #perl6
07:26 Ven_ joined #perl6
07:28 Erendis42d once in Python camp i saw a snowman as a variable name
07:29 Erendis42d but i also like the idea of ascii code table being 256 number system
07:29 brrt joined #perl6
07:31 DrForr *cough* 127 :)
07:32 * lizmat just pushed a fix that gets panda bootstrap a little further
07:33 lizmat ===SORRY!===
07:33 lizmat Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm')
07:33 mr-foobar joined #perl6
07:33 lizmat velly confoozed
07:33 tony-o i just changed the smiley prefix to '>>'
07:33 tony-o gonna try and sleep now
07:34 lizmat good night, tony-o
07:34 tony-o night
07:35 ugexe https://github.com/rakudo/rakudo/blob/44d40c290e5ec4985ea921236dc579d746ef2249/src/core/CompUnitRepo.pm#L134
07:36 lizmat ugexe: good catch!
07:37 ugexe should fix shell::command
07:37 lizmat eh. but,
07:37 lizmat that's an old version ?
07:37 lizmat sub CREATE-INCLUDE-SPECS(*@INC) { @INC.join(',') }
07:38 masak DrForr: 128, surely? as in 0..^128 -- the highest possible value being 127?
07:38 ugexe oh jeez
07:38 masak <nitpick />
07:39 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.
07:40 masak happy to waste that time for you :P
07:41 Isp-sec joined #perl6
07:41 * masak .oO( outsourced time wasting as a service )
07:41 DrForr No worries. Has there been any discussion about my => discovery?
07:42 timotimo yes
07:42 timotimo we're intentionally making it hard to have a bareword, then =>, then a newline, then a value
07:44 masak relevant backlog here: http://irclog.perlgeek.de/perl6/2015-05-04#i_10547052
07:44 jnthn o/ #perl6
07:44 timotimo ohai jnthn
07:45 * jnthn wonders if he has time to do anything useful (besides drink coffee) before the airport trip...
07:46 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.
07:46 jnthn No, I don't have *that* much time :)
07:47 abraxxa joined #perl6
07:48 DrForr And 'LTM' is?
07:49 lizmat http://design.perl6.org/S05.html#Longest-token_matching
07:49 DrForr Thanks.
07:49 sjn http://gitminer.com/report/aptl7 # rakudo git log "report" :)
07:52 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:53 masak 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
07:54 camelia rakudo-moar a8326d: OUTPUT«OH HAI␤Access denied to keep/break this Promise; already vowed␤  in block <unit> at /tmp/oEiXo9VWSv:1␤␤»
07:55 jnthn YOu break a Promise in a start block by dieing.
07:56 Erendis42d left #perl6
07:56 timotimo and you can't shoot it from outside
07:56 timotimo you have to have some code inside that cooperates
07:57 labster timotimo++ P6weekly: catching me up on the things I missed this week.
07:58 jnthn Indeed
07:58 jnthn Promise.in(...) does need a good cancellation mechanism though
08:01 lizmat and Supply.interval(:every)  :-)
08:01 jnthn That has one.
08:01 jnthn You close the tap
08:01 lizmat are you sure that works?  I seem to recall it still eating 100% of one CPU even after closing the tap
08:02 lizmat 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 #perl6
08:03 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:05 [Tux] Compiling lib/Panda/Ecosystem.pm to mbc
08:05 [Tux] ===SORRY!===
08:05 [Tux] Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm')
08:05 [Tux] build stage failed for panda: Failed building lib/Panda/Ecosystem.pm
08:05 * [Tux] started from scratch
08:08 lizmat ===SORRY!===
08:08 lizmat Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm')
08:08 lizmat t/02-shell-command.t ..
08:08 lizmat :-(
08:11 lizmat [Tux]: did you start with a fresh panda clone ?
08:12 bjz joined #perl6
08:13 darutoko joined #perl6
08:15 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:16 masak 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)
08:16 lizmat Non-zero wait status: 11
08:16 cschwenz joined #perl6
08:16 lizmat that means we had a segfaiult, right ?
08:18 [Tux] lizmat, I started with rm -rf moar-nom/ git_reference/
08:19 [Tux] rakudobrew build moar ; rakudobrew build-panda
08:19 espadrine joined #perl6
08:19 [Tux] as panda didn't work in jvm at all, I abandoned that experiment for a while
08:20 dakkar joined #perl6
08:21 bjz joined #perl6
08:27 lizmat of course, if I manually run the tests in Shell::Command, everything is hunky dory    :-(
08:27 Ven_ joined #perl6
08:30 masak lizmat: did you run the tests with TEST_JOBS ?
08:30 lizmat hmmm... good point
08:30 lizmat yes
08:32 andreoss joined #perl6
08:33 uncleyear joined #perl6
08:33 lizmat running without TEST_JOBS doesn't make a difference
08:34 masak but harness/no harness does?
08:37 timotimo harness is as harness does
08:37 lizmat I need to be afk for a few hours
08:38 lizmat I just pushed  https://github.com/tadzik/panda/commit/06f871588eb9c840efbca0bb
08:39 lizmat afk for ~ 2 hours
08:39 lizmat &
08:39 jnthn lizmat: Yes, 11 tends to mean SEGV
08:46 konsolebox joined #perl6
08:50 bjz joined #perl6
08:50 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 cschwenz joined #perl6
08:51 [ptc] hrm, sometimes 'Malformed UTF-8' is a bit confusing when actually the file doesn't exist...
08:52 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]
08:53 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
08:53 [ptc] timotimo: it's just tripped me up more than once
08:54 timotimo yes. i ought to look into that
08:55 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:56 RabidGravy I can't remember who else tracked it down but I think they RTd
08:58 jnthn [ptc]: That one got fixed some days ago...
08:58 jnthn airport &
09:00 * quester wishes #perl6 a pleasant *
09:00 [ptc] jnthn: thanks
09:00 * [ptc] needs to rebuild his Rakudo
09:01 quester left #perl6
09:10 quester joined #perl6
09:15 masak m: role pleasant {}; say pleasant ~~ *
09:15 camelia rakudo-moar a8326d: OUTPUT«WhateverCode.new␤»
09:15 masak oh, that produces a whatevercode these days?
09:16 masak m: role pleasant {}; say (pleasant ~~ *)(pleasant)
09:16 camelia rakudo-moar a8326d: OUTPUT«True␤»
09:17 masak m: role pleasant {}; role Tuesday does pleasant {}; say (Tuesday ~~ *)(pleasant)
09:17 camelia rakudo-moar a8326d: OUTPUT«True␤»
09:17 masak m: role pleasant {}; role Tuesday { also does pleasant }; say (Tuesday ~~ *)(pleasant)
09:17 camelia rakudo-moar a8326d: OUTPUT«True␤»
09:19 dalek perl6-examples: c6342ff | paultcochrane++ | categories/wsg/beginner-2008/event001-eric256.pl:
09:19 dalek perl6-examples: [wsg] make output consistent for all beginner 2008 event001 problems
09:19 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/c6342ff40e
09:19 dalek perl6-examples: fb21ef0 | paultcochrane++ | categories/wsg/beginner-2008/event003-unobe.pl:
09:19 dalek perl6-examples: [wsg] only match txt files for the given event
09:19 dalek joined #perl6
09:21 rindolf joined #perl6
09:52 dustinm` joined #perl6
10:00 sue_ joined #perl6
10:05 RabidGravy I'm having a senior moment, is there a more succinct way of doing:
10:05 RabidGravy for %foos{0,1} -> $v {
10:05 RabidGravy for $v.kv -> $key, $value {
10:05 RabidGravy %dist{$key} = $value;
10:05 RabidGravy }
10:05 RabidGravy }
10:06 RabidGravy i.e. flatten a HoH
10:07 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}<>␤»
10:07 masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values.perl
10:07 camelia rakudo-moar a8326d: OUTPUT«({:z(3)}, {:x(1), :y(2)})␤»
10:08 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)))␤»
10:08 masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values>>.pairs.flat.perl
10:08 camelia rakudo-moar a8326d: OUTPUT«(:z(3), :x(1), :y(2))␤»
10:08 masak m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say (hash %h.values>>.pairs.flat).perl
10:08 camelia rakudo-moar a8326d: OUTPUT«{:x(1), :y(2), :z(3)}<>␤»
10:09 masak you even got a diamond <> at the end, for free :P
10:10 RabidGravy good old hyper, cheers
10:11 masak hyper is like a very short for loop
10:11 masak (with no guarantees about temporal sequencing; so actually more like a "parallel" for loop)
10:13 [Tux] thanks to whoever made the final fix: panda is back in business again
10:14 RabidGravy yeah, it just hasn't stuck in my inner pattern book yet
10:14 Ven_ joined #perl6
10:16 dustinm` joined #perl6
10:18 lizmat [Tux]: does Inline::Perl5 work ???
10:18 [Tux] not yet :(
10:19 lizmat ah, ok
10:19 [Tux] its tests pass, and install with panda, but still unable to *use* it
10:21 lizmat yeah, that's the state I brought it back to
10:45 andreoss` joined #perl6
10:51 lizmat hmmm.... %!dists.keys.first( *.IO.w )    that doesn't feel right
10:54 uncleyear joined #perl6
10:54 Ven_ joined #perl6
10:57 mr-foobar joined #perl6
10:58 muraiki joined #perl6
11:18 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
11:18 lizmat there's great fun in removing todo fudges  :-)
11:20 dustinm` joined #perl6
11:26 cognominal joined #perl6
11:26 arnsholt Definitely TODO
11:26 _mg_ joined #perl6
11:26 arnsholt Failing tests being "normal" is something you really want to avoid
11:29 brrt joined #perl6
11:39 dustinm` joined #perl6
11:44 rurban joined #perl6
11:45 dalek roast: 4b6a5d1 | (Jonathan Stowe)++ | S17-channel/earliest.t:
11:45 dalek roast: Add test for pending PR #421 against rakudo
11:45 dalek roast: "make wildcard more and done blocks behave as expected"
11:45 dalek roast: review: https://github.com/perl6/roast/commit/4b6a5d17f9
11:46 kurahaupo joined #perl6
11:53 dalek rakudo/nom: 262e08f | (Jonathan Stowe)++ | src/core/asyncops.pm:
11:53 dalek rakudo/nom: handle "earliest @c { more $c1 { .. } more * { } }
11:53 dalek rakudo/nom: This creates todo items for the wildcard more and done
11:53 dalek rakudo/nom: if there are any remaining channels without specific handlers
11:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/262e08f5b6
11:53 dalek rakudo/nom: 34c15da | lizmat++ | src/core/asyncops.pm:
11:53 dalek rakudo/nom: Merge pull request #421 from jonathanstowe/nom
11:53 dalek rakudo/nom:
11:53 dalek rakudo/nom: handle "earliest @c { more $c1 { .. } more * { } }
11:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34c15da37c
11:55 H2O1 joined #perl6
11:55 H2O1 left #perl6
11:59 lizmat t/spec/S17-channel/earliest.rakudo.moar                     (Wstat: 0 Tests: 7 Failed: 0)
11:59 lizmat TODO passed:   7
11:59 lizmat RabidGravy: ^^
12:00 RabidGravy goovy, I'll unfundge the test then ;-)
12:01 lizmat has $.a will fetch { lazy init code }    # TimToady: better name for will lazy ?    matched Proxy's FETCH logic
12:01 lizmat RabidGravy++
12:03 RabidGravy ooh that's nice, can't have too many slack attributes
12:08 telex joined #perl6
12:09 dalek roast: 0bd6333 | (Jonathan Stowe)++ | S17-channel/earliest.t:
12:09 dalek roast: Unfudge test for wildcard earliest handlers (34c15da)
12:09 dalek roast: review: https://github.com/perl6/roast/commit/0bd6333898
12:14 ggoebel joined #perl6
12:16 airdisa joined #perl6
12:16 RabidGravy right that's one thing off the yak stack
12:17 dalek rakudo-star-daily: e966e82 | coke++ | log/ (2 files):
12:17 dalek rakudo-star-daily: today (automated commit)
12:17 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/e966e825e9
12:19 dalek rakudo/nom: 66b713d | lizmat++ | / (2 files):
12:19 dalek rakudo/nom: Make $?FILE absolute always
12:19 dalek rakudo/nom:
12:19 dalek rakudo/nom: Relative paths are useless when debugging problems with module loading.
12:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66b713de73
12:19 tadzik REWARD: Module that enables 'will procrastinate { }' instead/in addition to 'will lazy { }'
12:22 RabidGravy :)
12:24 RabidGravy 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:25 konsolebox joined #perl6
12:25 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
12:25 tadzik 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
12:29 brrt what does the 'will' thing do?
12:31 RabidGravy isn't it just another way of introducing a trait on a thingy?
12:32 tadzik it is, but how is it different? :)
12:32 dalek Inline-Perl5: 438d023 | lizmat++ | lib/Inline/Perl5.pm6:
12:32 dalek Inline-Perl5: Add failsafe for finding the p5helper
12:32 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/438d0234f9
12:33 lizmat m: my $a will leave { say "goodbye" } = 42; say $a
12:33 camelia rakudo-moar 34c15d: OUTPUT«42␤goodbye␤»
12:33 RabidGravy it gets passed a block of code
12:33 lizmat m: my $a will leave { say "goodbye to $_" } = 42; say $a++
12:33 camelia rakudo-moar 34c15d: OUTPUT«42␤goodbye to 43␤»
12:33 tadzik nah, it gets a 'lazy { }'
12:34 tadzik searching suspections for 'will' is quite a task :)
12:34 tadzik speculations*
12:37 lizmat deep sigh Cannot locate native library '/Users/liz/Github/panda/.panda-work/1430829325_4/lib/Inline/p5helper.dylib'
12:38 [Tux] did did did you fix it?
12:39 lizmat no
12:39 [Tux] :(
12:39 RabidGravy m: multi sub trait_mod:<will>(Variable $a, $block, :$wibble) { $block() }; my $v will wibble { say "wibble"};
12:39 camelia rakudo-moar 34c15d: OUTPUT«wibble␤»
12:39 * [Tux] running a perl5 core bisect on a box that take more than 5 *minutes* to just build
12:39 lizmat RabidGravy: might want to add a ! after $wibble
12:40 RabidGravy :-)
12:40 lizmat I guess precomped files remember where they were made  :-(
12:46 dustinm` joined #perl6
13:00 molecules joined #perl6
13:04 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:09 muraiki yay :D
13:10 dalek Inline-Perl5: f6e2993 | lizmat++ | lib/Inline/Perl5.pm6:
13:10 dalek Inline-Perl5: Add a better failsafe for finding p5helper
13:10 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/f6e299335b
13:11 RabidGravy happy camper
13:12 RabidGravy note to self: when C says "const char *" you want explictly-manage
13:15 lizmat [Tux]: with this last Inline::Perl5 patch, it likes panda again
13:16 * [Tux] rebuilds
13:19 * RabidGravy updates Log::Syslog::Native so that ident works properly
13:19 lizmat which ident?
13:20 RabidGravy the "ident" that gets passed to openlog()
13:20 RabidGravy I hadn't realised about the explicitly-manage thing
13:20 RabidGravy :-)
13:23 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.
13:23 FROGGS :/
13:23 yoleaux 30 Apr 2015 14:07Z <hoelzro> FROGGS: thanks for the tip, that worked!
13:23 yoleaux 30 Apr 2015 15:43Z <hoelzro> FROGGS: for the %?RESOURCE<lib/liblinenoise.so> suggestion, will %?RESOURCE contain Str values, or perhaps IO::Path ones?
13:23 yoleaux 2 May 2015 12:45Z <lizmat> FROGGS: is there a reason we add $home/.perl6/$ver/lib as a CURLF *and* as a CURLI ?
13:23 yoleaux 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 ?
13:23 yoleaux 2 May 2015 20:16Z <lizmat> FROGGS: re https://github.com/rakudo/rakudo/commit/d24f30015c31bf4e8fea, shouldn't it be the responsibility of panda to create a directory in which to install?
13:23 carlin joined #perl6
13:23 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
13:24 lizmat yeah
13:25 lizmat I've been banging my head on this for the better part of a day now
13:25 lizmat and am about to either revert all the speed gain patches, or reimplement panda from scratch
13:25 FROGGS reimplement panda from scratch?
13:25 FROGGS to solve a single issue?
13:26 lizmat a single issue that breaks the whole ecosystem
13:26 FROGGS but that is not panda's fault
13:26 FROGGS if we cannot get our hands on a CUR anymore, then we have to solve that issue
13:26 lizmat well, it's messing with PERL6LIB, @*INC willy nilly
13:27 lizmat 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
13:27 FROGGS it need to prepend a CUR somehow
13:27 FROGGS needs*
13:28 lizmat why would it need to prepend?
13:28 konsolebox joined #perl6
13:28 FROGGS to but the build directory at front IIRC
13:28 FROGGS put*
13:29 FROGGS ahh no, it does something else
13:29 FROGGS I am distracted right now
13:29 lizmat ok
13:29 lizmat that's ok  :-)
13:29 Akagi201 joined #perl6
13:29 lizmat I will be on the road most of the coming 2 days
13:30 lizmat 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
13:30 [Tux] $ datecalc 19871218 20150505
13:30 [Tux] Day 1: 18-12-1987 Friday
13:30 [Tux] Day 2: 05-05-2015 Tuesday
13:30 [Tux] Diff : 18-04-0027 10000 days (27 y, 4 m, 17 d)
13:30 [Tux] perl5 is 10000 days old today
13:30 [Tux] cheerio
13:31 FROGGS :o)
13:31 FROGGS nice
13:31 Juerd And how old is Perl 6 today? :)
13:34 lizmat [Tux]: I must correct you: "Perl" is now 10000 days old !
13:34 lizmat :-)
13:34 [Tux] ah, yes
13:35 [Tux] almost there (test/time) ...
13:36 [Tux] http://tux.nl/Files/20150505153603.png <= current timing
13:36 [Tux] and yes, Inline::Perl5 works again
13:36 FROGGS jnthn: nqp::scdisclaim($sc) works for simple things, but when I push to a just deserialized array I cannot serialize it again :/
13:43 lizmat nqp::bindhllsym('perl6', 'ModuleLoader', DepTracker)    # /me starts to silently scream
13:43 lizmat nine knows what I'm talking about
13:45 FROGGS what's wrong?
13:46 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 doc: b54a5b4 | (Jonathan Stowe)++ | lib/Language/nativecall.pod:
13:46 dalek doc: mention explicitly-manage for const char * arguments
13:46 dalek doc: review: https://github.com/perl6/doc/commit/b54a5b40b3
13:46 dalek doc: 5adbaaf | (Jonathan Stowe)++ | / (4 files):
13:46 dalek doc: Merge branch 'master' of github.com:perl6/doc
13:46 dalek doc: review: https://github.com/perl6/doc/commit/5adbaaf73f
13:46 lizmat FROGGS: it's completely unclear which code is responsible for module loading at what time
13:47 FROGGS lizmat: no, it is quite simple
13:47 RabidGravy just so I don't forget again
13:47 FROGGS lizmat: at the end of the setting, we register CompUnitRepo to be the one, so there is just one switch
13:48 lizmat FROGGS: please elaborate, as nine and I have been spending a few hours on that at the PQAH
13:48 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 ?
13:49 lizmat 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 .)
13:49 FROGGS lizmat: there is no distance
13:50 dalek rakudo/nom: 0ad4607 | lizmat++ | src/core/Distribution.pm:
13:50 dalek rakudo/nom: Remove CompUnitRepo::Distribution
13:50 dalek rakudo/nom:
13:50 dalek rakudo/nom: panda apparently has migrated
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0ad460716f
13:51 lizmat RabidGravy: I've just had earliest test 7 flap  :-(
13:52 dalek roast: f60e7f9 | lizmat++ | S02-types/WHICH.t:
13:52 dalek roast: CompUnitRepo::Distribution is no more
13:52 dalek roast: review: https://github.com/perl6/roast/commit/f60e7f966d
13:53 FROGGS jnthn: I can unshift to my deserialized array just fine, but cannot push?! O.o
13:54 lizmat afk&
13:54 RabidGravy lizmat, was the "got" completely empty or partially so?
13:54 tinyblak joined #perl6
13:55 lizmat # expected: '1 2 3 4 5 done_a'
13:55 lizmat #      got: '1 2 3 4'
13:55 lizmat really afk&
13:56 lizmat actually, that was a flapping 6
13:56 lizmat # expected: '6 7 8 9 10 done_b'
13:56 lizmat #      got: '6 7 8 9'
13:57 lizmat was a flapping 7
13:57 lizmat really really afk&
13:58 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 #perl6
13:58 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?
13:59 FROGGS there is not a single loop, so there can't be anything hot
13:59 timotimo good question
13:59 FROGGS but I'll check with spesh disabled
13:59 timotimo the push or unshift methods could be hot, though
13:59 RabidGravy (without the limit the loop will run forever if the new code doesn't work)
14:00 FROGGS timotimo: it is not a spesh issue
14:00 * jnthn waves from Trondheim
14:00 timotimo OK
14:00 timotimo hey jnthn! :)
14:00 FROGGS hi jnthn :o)
14:00 jnthn .oO( A city not famous for being an anagram of "im hot nerd" )
14:00 RabidGravy how are the parrots?
14:00 jnthn They...have parrots in Trondheim? :)
14:01 * jnthn is very glad to be here in nice weather
14:01 jnthn And at a time of year when there's more than a few hours of daylight :)
14:02 Sqirrel joined #perl6
14:03 mr-foobar joined #perl6
14:03 airdisa joined #perl6
14:06 dustinm` joined #perl6
14:12 dalek roast: fca774d | (Jonathan Stowe)++ | S17-channel/earliest.t:
14:12 dalek roast: Only break the loop if the * produced no action
14:12 dalek roast: review: https://github.com/perl6/roast/commit/fca774db49
14:12 dalek roast: e252944 | (Jonathan Stowe)++ | S02-types/WHICH.t:
14:12 dalek roast: Merge branch 'master' of github.com:perl6/roast
14:12 dalek roast: review: https://github.com/perl6/roast/commit/e252944629
14:13 RabidGravy there that should rid the flappiness
14:13 timotimo that loop didn't last long
14:14 tinyblak joined #perl6
14:15 thou joined #perl6
14:21 dalek Heuristic branch merge: pushed 67 commits to rakudo/jsoff by FROGGS
14:26 Ven_ joined #perl6
14:29 andreoss joined #perl6
14:30 andreoss is there a submethod which to be called after .new?
14:30 andreoss POSTCONSTRUCTOR or something
14:31 tadzik you can use BUILD if you really want to
14:31 timotimo you can leave your types behind
14:31 tadzik it's a bit of a PITA though
14:31 timotimo 'cus those types don't compose and if they don't compose well they're no types of mine
14:32 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
14:32 tadzik panda does that: https://github.com/tadzik/panda/blob/master/lib/Panda/Ecosystem.pm#L23
14:33 jnthn andreoss: No, though some folks do method BUILDALL(|) { callsame; ...stuff here... }
14:33 tadzik seems like the problem needs a common, reusable solution
14:33 tadzik perhaps as a module
14:33 tadzik REWARD: ^
14:34 PerlJam tadzik: what's "the problem"?
14:34 tadzik PerlJam: doing stuff post object initialization
14:34 tadzik "I want to do stuff after all is ready and setup"
14:34 tadzik all the solutions we have are ugly and error prone
14:35 tadzik or just unnecesserily complicated
14:35 tadzik imho
14:35 skids Well, the attribute initializer abuse is ugly, but not sure if it is especially error prone.
14:35 tadzik I once had a rakudo patch adding an automated call to method AFTERPARTY
14:35 PerlJam yeah, too many traps to fall into for something so simple
14:35 tadzik Perl 6 takes away Moose's BUILD mechanics, not giving much in return
14:36 tadzik although I'm not sure if Moose's BUILD mechanics are not just universally abused :)
14:37 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:38 skids And that would give us a playground for deciding what things should look like.
14:55 molaf joined #perl6
14:55 Akagi201_ joined #perl6
14:56 raydiak if we did it that way, is there anything else which would should this hiccup?
14:56 raydiak m: class C { has $.foo = "foo"; has $!bar = say $.foo }; C.new
14:56 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…»
14:58 timotimo you can just use $!foo there, can't you?
14:58 timotimo on the RHS fo the = i mean
14:58 owlsley joined #perl6
14:59 [Tux] OHHH NOOOOES! my /tmp is filled with files named 20248-p5helper.so
14:59 raydiak timotimo: yes but I'm wondering what else you can't do with partially-constructed objects
15:00 raydiak 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 :(
15:00 skids What mechanism declares the object "fully constructed"
15:00 skids ?
15:01 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
15:02 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 raydiak jnthn: are there other things which won't work on partially-constructed objects?
15:07 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 molaf_ joined #perl6
15:08 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:10 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␤»
15:13 raydiak why don't we allow $.foo on partially-constructed objects anyway, when we allow self.foo and $!foo?
15:15 jnthn raydiak: $!foo is safe because you're talking about the current class
15:16 jnthn raydiak: $.foo could be overridden and be referring to something not yet initialized, 'cus it goes top down
15:16 jnthn And self.foo is just an escape mechanism
15:18 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:19 airdisa joined #perl6
15:19 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 chenryn joined #perl6
15:20 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 #perl6
15:21 cygx o/
15:21 cygx m: my $n = 42; / a ** $n /
15:21 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 /␤»
15:21 cygx ^ any workaround for that?
15:21 cygx (besides writing a recursive rule)
15:22 moritz a ** {$n} iirc
15:22 moritz m: my $n = 42; say 'a' x 50 ~~ / a ** {$n} /
15:22 camelia rakudo-moar 0ad460: OUTPUT«「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」␤»
15:23 cygx \o/
15:23 moritz m: my $n = 42; say ('a' x 50 ~~ / a ** {$n} /).Str.chars
15:23 camelia rakudo-moar 0ad460: OUTPUT«42␤»
15:24 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␤»
15:25 jnthn hah
15:25 jnthn STD-- # that error tells you a second thing thta won't work :P
15:31 cygx my current approach to prototyping my own programming language: use Perl6 grammars, generate C code and JIT compile via TinyCC
15:31 cygx cf https://github.com/cygx/p6-tinycc
15:31 cygx so far, seems to work out just fine
15:32 nebuchadnezzar erf, evalbot password in git?
15:33 moritz nebuchadnezzar: just don't tell anybody :-)
15:33 jnthn I can't believe you picked "secret"!
15:34 raydiak oh cool... cygx++ :)
15:34 moritz right, the password isn't really secret :-)
15:35 masak $ time perl6 -ne '.say if /^.x/ && /n.$/' /usr/share/dict/words
15:36 masak takes 20 seconds here.
15:36 masak corresponding Perl 5 script takes 0.025 seconds.
15:38 ugexe lizmat: CompUnitRepo::Local::Installation.install still uses the removed CompUnitRepo::Distribution
15:38 * skids has run into that pain point too.
15:38 skids (masak's pain point)
15:41 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.
15:42 masak skids: I'm surprised the difference is as much as that -- three orders of magnitude.
15:42 masak but also a little grateful it isn't worse ;)
15:42 * 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.
15:43 cygx is the GLR supposed to improve performance of the grammar engine as well, and if not, what would?
15:44 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
15:44 jnthn Don't see how it'll affect the grammar engine, though maybe match object access will improve a bit.
15:44 jnthn Well, may improve a bit.
15:46 nwc10 jnthn: you're now in Oslo?
15:46 timotimo masak: i don't think we anchor regexes that end at $ properly yet
15:46 timotimo masak: fwiw, could you try ^^ and $$, too?
15:46 jnthn nwc10: Nah, Trondheim
15:46 jnthn nwc10: Oslo on Friday
15:47 masak timotimo: sure thing.
15:47 timotimo axiomatizing
15:47 masak timotimo: 20.2 seconds
15:47 timotimo how does it change if you use a single regex, but .* in between?
15:48 masak 13.6 seconds.
15:48 timotimo interesting; is the overhead to calling a regex that big?
15:48 masak which I guess shows that a bunch of overhead goes to that second regex.
15:48 timotimo on my machine, that script takes 1m39s :(
15:49 timotimo 4.8M is the size of my words file
15:49 timotimo 479828 lines
15:50 masak timotimo: oh, mine is only 917K
15:50 masak and there were two levels of linkdirection and it was really named /usr/share/dict/american-english
15:50 timotimo right; i have linux.words
15:51 masak <insert joke about US English vocab here>
15:51 timotimo "english traditional" vs "english simplified", right? :)
15:52 masak 哈哈
15:53 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 timotimo and another 2.875.319 in an anonymous inner block inside gimme
15:54 timotimo but the time spent garbage collecting is only 15%, so that's not the main problem
15:54 timotimo oh wow
15:54 dalek rakudo/nom: bf8aaa1 | lizmat++ | src/core/Distribution.pm:
15:54 dalek rakudo/nom: CURLI needs CompUnitRepo::Distribution, ugexe++
15:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf8aaa1ef0
15:54 timotimo match (in src/gen/m-CORE.setting:7791) deopts locally 959.357 times
15:55 timotimo that's quite amazing, given it's entered 959.661 times
15:59 timotimo so basically the match routine, which takes 15% exclusive time (and 64% inclusive time) runs "pretty much unspesh'd"
15:59 timotimo but it doesn't say what deopt point gets hit
16:09 gfldex joined #perl6
16:13 konsolebox joined #perl6
16:15 RabidGravy ooh so travis-ci has a weird filesystem that breaks Linux::Fuser
16:15 RabidGravy cool
16:18 ugexe i think someone asked recently, but is there a way/phaser for a role to know when its being composed into something?
16:21 PerlJam ugexe: S04:1376
16:21 synbot6 Link: http://design.perl6.org/S04.html#line_1376
16:21 diana_olhovik joined #perl6
16:21 PerlJam ugexe: dunno if it's implemented or not though.
16:22 ugexe i thought that was for use in the object being composed into
16:23 PerlJam Hmm.
16:23 PerlJam I've always thought of it as "fire at compose-time" whether from a class or a role.
16:23 dalek doc: a61a7d2 | (Jonathan Stowe)++ | lib/Type/Metamodel/RoleContainer.pod:
16:23 dalek doc: s/add_role/roles_to_compose/ in the right place
16:23 dalek doc: review: https://github.com/perl6/doc/commit/a61a7d272c
16:24 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
16:25 [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:28 RabidGravy m: role F { COMPOSE { say "oooo" } }; class A does F {}; # NYI it seems
16:28 camelia rakudo-moar bf8aaa: ( no output )
16:28 lizmat COMPOSE is NYI indeed
16:29 lizmat I was looking at it the other day, but it was too far out of my comfort zone
16:30 raydiak if it's a trait by chance, doesn't .compose() gets called if it exists?
16:31 lolisa joined #perl6
16:32 RabidGravy Dunno if anyone is interested in X::Panda gobbling blocks on jvm? https://travis-ci.org/jonathanstowe/p6-Linux-Fuser/jobs/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 #perl6
16:34 Foxcool_ joined #perl6
16:35 timotimo RabidGravy: i think that comes from the type not being found :(
16:35 timotimo m: when X::Panda
16:35 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␤»
16:35 timotimo m: when X::Panda  { say "test" }
16:35 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…»
16:35 timotimo m: class X::Panda { }; when X::Panda  { say "test" }
16:35 camelia rakudo-moar bf8aaa: ( no output )
16:35 timotimo the error could mention that, too, IMO.
16:37 Foxcool joined #perl6
16:38 hobbs joined #perl6
16:41 vendethiel joined #perl6
16:45 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 jnthn m: role R { say 'omg composed in ter ' ~ ::?CLASS.^name }; class A does R { }; class B does R { }
16:46 camelia rakudo-moar bf8aaa: OUTPUT«omg composed in ter A␤omg composed in ter B␤»
16:46 cdc joined #perl6
16:47 timotimo oh, that's pretty cool
16:47 timotimo i always forget about being able to put code into class bodies and such
16:48 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:49 * jnthn has a hungry
16:49 jnthn Time to go eat chili pakoras and stuff
16:49 jnthn bbl &
16:49 PerlJam Then I guess a COMPOSE phaser really is only useful for the class that the roles are being composed into.
16:51 timotimo classes get composed even without roles being involved, though
16:59 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}␤»
16:59 PerlJam neat
16:59 FROGGS[mobile] joined #perl6
17:00 rindolf joined #perl6
17:02 Sqirrel joined #perl6
17:04 rindolf joined #perl6
17:06 rindolf joined #perl6
17:14 vendethiel joined #perl6
17:18 cygx left #perl6
17:29 masak role closures are a lot like routine closures. mixing a role into something is a lot like calling a routine.
17:32 vendethiel nqp: my $a := sub() { say(42) }; say($a.HOW.name($a))
17:32 vendethiel oh.
17:32 vendethiel sorry, camelia...
17:33 fhelmberger joined #perl6
17:33 camelia joined #perl6
17:33 vendethiel nqp: my $a := sub() { say(42) }; say($a.HOW.name($a)) #was it me? :P
17:34 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 camelia ..nqp-moarvm: OUTPUT«NQPMu␤»
17:34 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 camelia ..nqp-moarvm: OUTPUT«NQPMu␤»
17:34 camelia ..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 ***␤»
17:34 vendethiel nqp: my $a := sub () { say(42) }; say($a.HOW.name($a)) #was it me? :P
17:35 lizmat .oO( stop swatting the butterflies !  )
17:35 masak vendethiel, internationally wanted camelia-killer.
17:35 camelia joined #perl6
17:37 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 camelia ..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ***␤*** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ***␤»
17:37 camelia ..nqp-moarvm: OUTPUT«BOOTCode␤»
17:37 vendethiel ah, so it's true that whitespace between sub and () matters...
17:37 fhelmberger joined #perl6
17:37 woolfy joined #perl6
17:38 woolfy left #perl6
17:39 Rounin joined #perl6
17:41 domidumont joined #perl6
17:43 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…»
17:43 masak m: sub sub() { say "OH HAI" }; sub()
17:43 camelia rakudo-moar bf8aaa: OUTPUT«OH HAI␤»
17:43 * masak hugs Perl 6
17:44 masak 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␤␤»
17:44 lizmat m:sub sub() { say "OH HAI" }; sub   # just checking
17:44 lizmat m: sub sub() { say "OH HAI" }; sub   # just checking
17:44 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␤»
17:45 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"
17:45 lizmat m: sub foo() { say "OH HAI" }; sub.invoke
17:45 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␤»
17:45 lizmat m: sub sub() { say "OH HAI" }; sub.invoke
17:45 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␤»
17:45 masak lizmat: &sub ?
17:45 lizmat m: sub sub() { say "OH HAI" }; &sub.invoke
17:45 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…»
17:46 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␤␤»
17:48 FROGGS[mobile] nwc10: so you are not comming since I dont spot you at the preconf dinner?
17:51 nwc10 FROGGS[mobile]: no, we *are* coming, on EN 406, which OBB insist is going as far as Dresden.
17:52 nwc10 So, we will be arriving around 7 tomorrow morning.
17:52 nwc10 (to Dresden, and no further)
17:53 timotimo nqp-m: say("test")
17:53 camelia nqp-moarvm: OUTPUT«test␤»
17:53 timotimo i think nqp: without -m takes camelia down sometimes :(
17:53 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.
17:54 nwc10 jdv79: German Perl Workshop, day 1.
17:55 jdv79 neat
17:56 FROGGS[mobile] nwc10: good luck
17:56 Rounin left #perl6
17:57 timotimo yes, good luck indeed
17:58 FROGGS[mobile] .oO( Good Lok)
17:59 timotimo hehehe
18:05 masak oh, it's "Lok" in German too? nice.
18:05 timotimo aye
18:08 fhelmberger joined #perl6
18:08 masak in Russian it means "onion" :)
18:12 timotimo i like onions!
18:13 tinyblak joined #perl6
18:16 vendethiel cool!
18:16 vendethiel (I meant WRT german perl workshop, hehe)
18:19 diana_olhovik_ joined #perl6
18:34 japhb joined #perl6
18:38 Isp-sec joined #perl6
18:47 yqt joined #perl6
18:52 mohij joined #perl6
19:01 dalek rakudo/nom: 99786d2 | lizmat++ | src/Perl6/Actions.nqp:
19:01 dalek rakudo/nom: Remove %?PRAGMAS
19:01 dalek rakudo/nom:
19:01 dalek rakudo/nom: I hadn't realised that it only makes sense to change pragmas at compile time.
19:01 dalek rakudo/nom: Since BEGIN blocks run in the lexical scope of the underlying nqp code, we
19:01 dalek rakudo/nom: can simply access %*PRAGMAS there.
19:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/99786d2288
19:01 lizmat m: use nqp; BEGIN say %*PRAGMAS
19:01 camelia rakudo-moar bf8aaa: OUTPUT«nqp => 1␤»
19:05 dalek mu: 4afef20 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
19:05 dalek mu: Merge 3 tickets for '::: NYI'
19:05 dalek mu: review: https://github.com/perl6/mu/commit/4afef2011b
19:05 timotimo jnthn: you were right, the perl6 optimizer doesn't annotate its ops with returns values
19:06 lizmat is that the reason for the reify deopts that you saw?
19:06 timotimo don't think so
19:06 timotimo that was just a random thing that jumped out at me in the code
19:07 timotimo but perhaps implementing something there (rather: stealing from the nqp optimizer) will make the code gen'd there a little bit better
19:10 jack_rabbit joined #perl6
19:10 telex joined #perl6
19:15 domidumont joined #perl6
19:15 timotimo oh, didn't i try to make that work and ran into having the wrong "int" to give to .returns()?
19:16 jnthn timotimo: Mebbe, but see $!symbols
19:16 timotimo surely will :)
19:16 jnthn timotimo: Which'll let you get the right one
19:16 timotimo i think i've been instructed to use that before and something went wrong
19:16 timotimo i'll just try again and see what happens
19:17 timotimo i wonder why it'd not be enough to simply have something in there that objprimspec's to the right number
19:19 jnthn mebbe 'cus trial binds in multi dispatch want Perl 6 types
19:20 timotimo ah
19:20 timotimo we'll see. stage optimize is already through
19:24 Erendis42d joined #perl6
19:24 Erendis42d HI
19:24 masak Erendis42d: hi!
19:24 Erendis42d ^*^
19:24 masak Erendis42d: you were here earlier, no? I think I missed you then.
19:25 Erendis42d yeah, i forgot to say hi, mazbe that made me invisible
19:25 Erendis42d sry
19:25 * vendethiel saw Erendis42d in the backlog as well
19:25 masak Erendis42d: no prob
19:25 * timotimo saw Erendis42d, too
19:25 Erendis42d :D
19:25 masak Erendis42d: welcome back!
19:25 Erendis42d ty
19:25 masak Erendis42d: I enjoyed backloggin over you :)
19:25 Erendis42d um
19:25 Erendis42d okay, now that's embarrassing
19:25 masak hehe
19:26 masak Erendis42d: ok, switching topics. how may I assist you today?
19:26 dalek rakudo/nom: 65cd273 | lizmat++ | src/Perl6/World.nqp:
19:26 dalek rakudo/nom: Prefix file# if needed
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65cd273828
19:27 Erendis42d i'm not here for assistance
19:27 Erendis42d you know, just
19:27 Erendis42d hangin' around
19:27 * masak scrabbles around for the image of the upside-down bats
19:27 * vendethiel wonders why "bats".
19:27 Erendis42d so thats upside up bats actually?
19:27 masak http://i.huffpost.com/gen/1341373/images/o-BATS-facebook.jpg
19:28 Erendis42d access denied
19:29 masak I google images'd for "upside-down bats". might work for you too.
19:29 masak https://www.google.com/search?tbm=isch&amp;q=upside-down+bats
19:29 Erendis42d i googled upside up bats
19:30 Erendis42d 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.
19:30 masak anyway. just a random association from "hangin' around"
19:30 Erendis42d those look like squirrels
19:30 Erendis42d aa
19:30 Erendis42d ic
19:31 masak bats and squirrels are not that far from each other in the evo tree.
19:31 masak anyway, back to Perl 6... :)
19:31 Erendis42d kk
19:32 masak m: class Greeter { method greet($name) { say "hidey ho, $name!" } }; Greeter.greet("Erendis42d")
19:32 camelia rakudo-moar 99786d: OUTPUT«hidey ho, Erendis42d!␤»
19:32 Erendis42d want me to show you my "hidey-ho"-s?
19:32 Erendis42d i have two of them
19:33 masak please do
19:33 masak m: sub phrase($t1, $t2) { say "why, those $t1 look like $t2!" }; phrase "upside-down bats", "squirrels"
19:33 camelia rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!␤»
19:33 Erendis42d 8
19:33 timotimo m: role Greeter[Str $target] { method greet() { say "ohai, $target!" } }; Greeter["Erendis42d"].greet();
19:33 camelia rakudo-moar 99786d: OUTPUT«ohai, Erendis42d!␤»
19:33 Erendis42d oh ie, bot
19:34 Erendis42d o ie?
19:34 Erendis42d nvm
19:34 masak m: role R[$t1, $t2] { method phrase { say "why, those $t1 look like $t2!" } }; R["upside-down bats", "squirrels"].new.phrase
19:34 camelia rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!␤»
19:34 Erendis42d i'm not a proper weaboo
19:34 Erendis42d i can't use yes as a greeting
19:34 Erendis42d you know, just... this is not how you say hi
19:34 Erendis42d hai means fucking yes
19:35 masak trust me, we know :)
19:35 Erendis42d i'm wondering how annoyed japs become when they see this
19:35 Erendis42d i bet they also know
19:35 dalek doc: d1c43b7 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
19:35 dalek doc: wrapp up Channel
19:35 dalek doc: review: https://github.com/perl6/doc/commit/d1c43b7360
19:36 Ugator joined #perl6
19:36 huf probably about as annoyed as random english pedants get about "literally"
19:36 Erendis42d still the same old shitty atmosphere
19:36 Erendis42d this is why you don't have nice things, you know
19:37 * timotimo imagines a litter rallye
19:38 masak or a lit e-rally.
19:38 huf litter-ally
19:38 huf also known as "sibling"
19:38 Erendis42d how... creative
19:38 masak huf: :P
19:38 huf wait, no. twin.
19:39 Ugator \o #perl6 :-) please see and comment:
19:39 Ugator http://r.789695.n4.nabble.com/Integrate-R-in-perl6-td4706844.html
19:41 masak sounds cool. do carry on :)
19:42 labster Good morning, #perl6 ????
19:42 masak .u ????
19:42 yoleaux U+1F38F CARP STREAMER [So] (????)
19:42 uncleyear joined #perl6
19:42 jnthn ...you're kidding, Unicode. :P
19:42 labster Today is Kodomo no Hi
19:43 masak wai~!
19:44 jnthn oh, streamer, not steamer...
19:44 Erendis42d left #perl6
19:44 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.
19:44 jnthn Well, I was wondering what made kitchen equipment for steaming carp specialized to that kind of fish... :P
19:45 * masak .oO( whoever carps the most gets the Unicode code points ) :P
19:46 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.
19:47 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.
19:47 jnthn It's hard to find 0xEFFFF things to fill your code pages with...
19:47 labster s/be//
19:48 masak not for lack of trying
19:48 jnthn RabidGravy: Yeah, we can doc it, though it's known flaky at the moment.
19:48 RabidGravy It'll encourage improvement :)
19:50 lizmat m: use cur <bar>; say @?INC; { use cur <foo>; say @?INC }; say @?INC
19:50 camelia rakudo-moar 65cd27: OUTPUT«file#bar␤file#foo file#bar␤file#bar␤»
19:51 lizmat jnthn: ^^^ now if I initialize %*PRAGMAS<INC> with a clone of PROCESS::<@INC>, the lexicalness of @?INC disappears
19:52 lizmat +    %*PRAGMAS<INC> := @INC.clone;
19:52 dalek perl6-roast-data: 3a647b6 | coke++ | / (9 files):
19:52 dalek perl6-roast-data: today (automated commit)
19:52 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/3a647b638f
19:52 lizmat jnthn: am I making a thinko ?
19:54 jnthn lizmat: Did you update how you clone it later?
19:54 jnthn lizmat: 'cus nqp::clone on a Perl 6 array won't be enough.
19:54 lizmat I used P6's .clone
19:55 jnthn OK, then I don't immediately have more guesses
19:55 lizmat Ok, I'll muddle on a bit more  :-)
19:56 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␤␤»
19:56 jnthn um.
19:58 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…»
20:10 espadrine joined #perl6
20:10 raydiak m: my @a = 42; say @a; @a.clone; say 'alive';
20:10 camelia rakudo-moar 65cd27: OUTPUT«42␤alive␤»
20:20 raydiak hrm
20:20 raydiak m: my @a = 42; try { @a.clone }; say "alive"
20:20 camelia rakudo-moar 65cd27: OUTPUT«This type does not support elems␤  in block <unit> at /tmp/C1KaQR943R:1␤␤»
20:20 raydiak m: my @a = 42; try { @a.clone; CATCH { default {} } }; say "alive"
20:20 camelia rakudo-moar 65cd27: OUTPUT«alive␤»
20:20 lizmat almost seems the clone is done at BEGIN time before $!items is set ?
20:20 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
20:21 raydiak seems contrary to "A try block by default has a CATCH block that handles all fatal exceptions by ignoring them."
20:22 raydiak m: try { die }; say "alive"
20:22 camelia rakudo-moar 65cd27: OUTPUT«alive␤»
20:22 raydiak m: try { fail }; say "alive"
20:22 camelia rakudo-moar 65cd27: OUTPUT«alive␤»
20:23 lizmat yeah, those were fixed by jnthn's work on lexical pragmas
20:25 dalek rakudo/nom: 1763049 | lizmat++ | src/Perl6/World.nqp:
20:25 dalek rakudo/nom: Go native
20:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/17630493ec
20:26 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 lizmat because there's something spooky going on there  :-)
20:26 lizmat m: try { fail } used to *not* catch the failure
20:26 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…»
20:26 raydiak ah, got it...fixed as in "things are shaken up in there recently" :)
20:26 lizmat that may be true  :-)
20:27 PerlJam raydiak: your examples make me think that there's really 2 (related) problems.
20:28 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:29 raydiak PerlJam: yeah I was just thinking along the lines of "the bug has a bug" :)
20:30 ][Sno][ joined #perl6
20:41 integral joined #perl6
20:41 integral joined #perl6
20:43 dalek perl6-examples: 1eda24d | paultcochrane++ | t/categories/wsg/beginner-2008.t:
20:43 dalek perl6-examples: [wsg] add a test for beginner 2008, event010
20:43 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/1eda24d963
20:45 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 jnthn Though I thought we did.
20:45 jnthn But yeah, the bug is in Array.clone.
20:45 masak 'night, #perl6
20:46 tony-o later masak
20:47 hobbs joined #perl6
20:47 hobbs joined #perl6
20:48 lizmat there's only one Mu.clone (apart from in Temporal)
20:48 lizmat good night, masak!
20:48 jnthn lizmat: Ah. Well, I'm pretty sure Array and Hash need their own clone logic to get the right answer.
20:50 lizmat well, there doesn't appear to be there one now
20:51 jnthn Right, which helps explain why it's knackered.
20:54 raydiak jnthn: is sinking in a try different when there is an explicit CATCH instead of relying on the implicit "ignore everything"?
20:55 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?
20:55 camelia rakudo-moar 176304: OUTPUT«This type does not support elems␤  in block <unit> at /tmp/OJ58IZObie:1␤␤»
20:55 raydiak ah ha, yep
20:56 jnthn I *think* when I actually made things sink in a try then Bad Things happened, alas.
20:57 * raydiak wishes it were easier to append to a RT
20:59 jnthn lizmat: Are you blocking on some clone fix?
20:59 lizmat no
20:59 jnthn (If so I'll try and do one quickly, if not I'll probably sleep soon :))
20:59 lizmat nono  please go sleep
21:00 lizmat will discuss this in a few days or so
21:00 lizmat I'll just stash what I'm doing
21:01 jnthn ok
21:02 tony-o jnthn: how long ago was that?
21:03 * 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:05 Ugator left #perl6
21:05 lizmat PerlJam: I remember testing that, and it had an averse affect of performance
21:06 lizmat *effect
21:06 mls joined #perl6
21:06 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 #perl6
21:07 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:08 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 #perl6
21:12 dolmen joined #perl6
21:13 bartolin [Coke]: ping
21:26 jnthn raydiak: Sorry, no. I'd maybe be albe to guess if I saw, say, a gdb stacktrace
21:26 beastd joined #perl6
21:27 Zoffix left #perl6
21:27 brrt raydiak - can you try it with MVM_JIT_DISABLE=1
21:27 dalek doc: 343fca6 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
21:27 dalek doc: Proc::Async basics
21:27 dalek doc: review: https://github.com/perl6/doc/commit/343fca67a3
21:27 [Coke] bartolin: pong
21:28 raydiak jnthn: absolutely, will add it to the issue...you saw that there is strace there already, right?
21:29 raydiak brrt: oh wish I'd thought of that...but no change sadly
21:29 brrt hmmm
21:30 jnthn raydiak: Yeah, but strace doesn't tell me so much sadly
21:30 jnthn raydiak: I mean, an strace can tell me much, but not about a SEGV problem.
21:30 brrt gdb can :-)
21:30 jnthn Right :)
21:30 bartolin [Coke]: locally I have a clone of roast where I solved the merge conflicts for PR 59
21:31 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
21:31 jnthn I think there's a perl6-gdb-m helper these days
21:31 brrt right
21:31 raydiak hah!  cool...
21:32 raydiak are the debugging symbols important?
21:32 jnthn Yes :)
21:32 bartolin [Coke]: I ran a spectest with rakudo.moar and got the same results as with HEAD
21:32 bartolin [Coke]: do you think it's worth to push it now?
21:33 brrt in fact, if you can, build moar withouth optimize
21:33 brrt perl Configure.pl --optimize=0 --debug
21:34 brrt that saves a lot of trouble in missing variables when running under gdb
21:34 raydiak oh I can do that, thanks brrt :)
21:34 brrt yw :-)
21:40 jnthn Time for some rest... 'night, #perl6
21:40 lizmat and from me as well, good night jnthn , #perl6!
21:40 raydiak rest well jnthn & lizmat
21:40 bartolin o/ o/
21:41 Peter_R joined #perl6
21:42 brrt yes, sleep well #perl6
21:45 timotimo Oxenstierna ... ?!
21:52 dalek rakudo-star-daily: ddeba44 | coke++ | log/ (2 files):
21:52 dalek rakudo-star-daily: today (automated commit)
21:52 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/ddeba4453a
21:53 timotimo masak: i managed to shave 1.30s off of that benchmark (the one that takes almost exactly 1:01.30)
22:00 Zoffix joined #perl6
22:00 Zoffix joined #perl6
22:04 dalek mu: 1327bdd | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
22:04 dalek mu: Mark rejected tickets which referred to parrot
22:04 dalek mu:
22:04 dalek mu: Please note that I didn't Cc: perl6-compiler when rejecting the tickets.
22:04 dalek mu: That looked like too much spam to me ...
22:04 dalek mu: review: https://github.com/perl6/mu/commit/1327bdd047
22:04 Zoffix left #perl6
22:05 Ugator joined #perl6
22:13 RabidGravy I think a small section on Locks at the bottom and I'm pretty much done with the concurrency doc
22:13 RabidGravy nighty night
22:14 [Coke] bartolin: was there an update on the pull request from the OP?
22:14 [Coke] If not, go ahead and commit your version and close out the PR.
22:15 [Coke] 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:17 [Coke] this in a ticket?
22:18 [Coke] ```foo``` ?
22:23 raydiak doesn't seem to work across multiple lines
22:24 raydiak heh I'll just do that to each line in vim I guess
22:26 raydiak ah, indenting the whole thing does the trick well enough
22:28 jepeway_ joined #perl6
22:29 jack_rabbit_ joined #perl6
22:30 raydiak .tell jnthn I've added the gdb backtrace to https://github.com/jnthn/grammar-generative/issues/1
22:30 yoleaux raydiak: I'll pass your message to jnthn.
22:30 ribasushi_ joined #perl6
22:31 rmgk joined #perl6
22:34 timotimo key=0xffffffff00000001 - yeah, that looks kinda fishy :)
22:35 isacloud joined #perl6
22:35 timotimo raydiak: you could help us out even more if you "print MVM_dump_stacktrace(tc)" or what the magical incantation was
22:36 raydiak 'No symbol "MVM_dump_stacktrace" in current context.' - I'll go look for the magical incantation, then :)
22:36 vendethiel joined #perl6
22:37 raydiak ah, s/stack/back/
22:38 timotimo ah
22:39 raydiak added
22:39 timotimo huh, how come its line number is :1?
22:40 raydiak b/c I'm triggering it from a -e maybe?
22:40 timotimo but ...
22:40 timotimo ...runtime/CORE.setting.moarvm:ASSIGN-KEY:4294967295
22:40 timotimo that must be a mistake
22:41 raydiak not on my end, that's literally what's in the terminal
22:42 raydiak this is awesome, now I know how y'all find your way around those "it just says nothing and segfaults" problems
22:43 raydiak I always ended up just changing stuff until it worked, or at least broken differently :)
22:45 raydiak m: say log(4294967295)/log(2)
22:45 camelia rakudo-moar 176304: OUTPUT«31.9999999996641␤»
22:45 raydiak yep, definitely something fishy
22:45 raydiak m: say 2**32-4294967295
22:45 camelia rakudo-moar 176304: OUTPUT«1␤»
22:46 raydiak the line number is the max value for a uint32
22:50 timotimo ah, so -1
22:51 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 #perl6
22:53 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:57 skids joined #perl6
22:57 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 raydiak but did you try Pointer[Pointer[SomeStruct]] ?
22:58 timotimo that's beautiful
22:58 timotimo m: my $a = "2d9"; $a++; say $a; $a++; say $a;
22:58 camelia rakudo-moar 176304: OUTPUT«2e0␤2e1␤»
22:58 timotimo guess what php makes of this code :)
23:00 raydiak dunno php, random guess...3d9 and 4d9?
23:00 timotimo no
23:00 timotimo 2e0 3
23:00 raydiak ah ha
23:01 vendethiel joined #perl6
23:02 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:05 hernan joined #perl6
23:06 pierrot joined #perl6
23:08 cognominal what are the CALL-ME methods in the setting?
23:12 timotimo the what?
23:12 raydiak m: my $obj = class { method CALL-ME { say "hi!" } }.new; $obj()
23:12 camelia rakudo-moar 176304: OUTPUT«hi!␤»
23:12 timotimo ah
23:14 cognominal https://github.com/rakudo/rakudo/blob/nom/src/core/List.pm#L711
23:14 raydiak m: List(1,2,3).say
23:14 camelia rakudo-moar 176304: OUTPUT«1 2 3␤»
23:14 timotimo that's for coercion, right
23:15 cognominal ok, that may explains the code in Actions.pm I was looking at
23:20 cognominal 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 #perl6
23:21 cognominal so you can call an object that "does" not do Code :(
23:24 timotimo a type object
23:24 timotimo er
23:24 timotimo that's not right
23:26 BenGoldberg joined #perl6
23:29 baest joined #perl6
23:30 raydiak yes you can call objects which don't do Callable, and you can index objects that don't do Positional or Associative
23:31 vendethiel joined #perl6
23:33 raydiak m: my $o = class { method AT-POS ($i) { $i } }.new; say $o[42]
23:33 camelia rakudo-moar 176304: OUTPUT«42␤»
23:33 cognominal you have example of the latters?
23:33 cognominal thx
23:34 raydiak m: say Match.^mro # and a core class example
23:34 camelia rakudo-moar 176304: OUTPUT«(Match) (Capture) (Cool) (Any) (Mu)␤»
23:34 cognominal Well, I thought AT-POS was supposed to be used to implement objects that do Positional
23:35 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
23:35 camelia rakudo-moar 176304: OUTPUT«(timeout)»
23:35 camelia rakudo-moar 176304: OUTPUT«False␤»
23:36 raydiak yes but it's used on objects that don't do Positional also...like Match
23:36 raydiak idk why
23:36 Vlavv joined #perl6
23:36 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
23:37 cognominal that defeats the purpose of the 6model as a learning tool.
23:37 camelia rakudo-moar 176304: OUTPUT«(timeout)»
23:37 tony-o should that work or ...?
23:38 cognominal s/purpose/use/
23:40 raydiak it certainly seems...unsettling, to me
23:41 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 cognominal * Santa Klaus
23:42 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)
23:42 raydiak but I'm not too familiar with this 6model thing I hear talked about
23:45 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:50 raydiak well, he should see this in the backlog ( \o ) so we'll see what he says about it
23:58 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 raydiak ah, a laziness bug?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo