Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-22

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:14 _28_ria joined #perl6
00:18 adu joined #perl6
00:27 sufrostico joined #perl6
00:29 aborazmeh joined #perl6
00:29 aborazmeh joined #perl6
00:29 mspo https://github.com/kostya/benchmarks#json  <- missing :)
00:31 jnm_theMailman joined #perl6
00:38 adhoc joined #perl6
00:46 itz_stmuk a594769 has the Grammar::Debugger breakage but my laptop is about to die (as I am)
00:46 llfourn joined #perl6
00:47 itz_stmuk "    handle junction on LHS of regex correctly
00:47 itz_stmuk maybe that?
00:47 itz_stmuk zzz
00:48 telex joined #perl6
00:48 cognominal joined #perl6
01:04 adu joined #perl6
01:17 yeahnoob joined #perl6
01:19 tokuhiro_ joined #perl6
01:22 yeahnoob joined #perl6
01:28 kalkin-_ joined #perl6
01:29 colomon joined #perl6
01:34 colomon joined #perl6
01:35 jnm_theMailman joined #perl6
01:42 tokuhirom_ joined #perl6
01:50 adu joined #perl6
01:51 dayangkun joined #perl6
02:01 dj_goku so I am using File::Find find function and the only way I have found to us in a for loop is with this: find(:dir<.>).list is that the correct/best way to do that?
02:02 dj_goku s/to us/to use/
02:05 skids joined #perl6
02:07 raiph joined #perl6
02:09 jacoby_ joined #perl6
02:10 noganex_ joined #perl6
02:10 _28_ria joined #perl6
02:14 _28_ria joined #perl6
02:15 tokuhiro_ joined #perl6
02:17 [Coke] we need info on perl6.org about how to report a bug.
02:20 chenryn joined #perl6
02:21 _28_ria joined #perl6
02:22 _28_ria joined #perl6
02:23 _28_ria joined #perl6
02:25 _28_ria joined #perl6
02:26 _28_ria joined #perl6
02:30 _28_ria joined #perl6
02:37 dalek rakudo/nom: e303970 | coke++ | docs/announce/2015.10.md:
02:37 dalek rakudo/nom: Add a placeholder release announcement
02:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e30397027b
02:43 tokuhirom_ joined #perl6
02:44 y0rl3 joined #perl6
02:44 colomon joined #perl6
02:45 BenGoldberg joined #perl6
02:46 BenGoldberg joined #perl6
02:49 llfourn joined #perl6
02:57 colomon joined #perl6
03:02 kaare_ joined #perl6
03:06 aindilis joined #perl6
03:13 dalek roast: 2041303 | hoelzro++ | S17-procasync/kill.t:
03:13 dalek roast: kill.t: Only test SIGINT
03:13 dalek roast:
03:13 dalek roast: SIGINT is available on all of our target operating systems, and it has
03:13 dalek roast: consistent semantics among them.  We shouldn't try every signal
03:13 dalek joined #perl6
03:14 hoelzro hmm, what'd I do to kill dalek?
03:14 llfourn joined #perl6
03:17 geekosaur if the commit message is too long, dalek can get overenthusiastic about it and freenode boots it for flooding
03:18 hoelzro ahhh
03:21 geekosaur really, dalek just needs to insert a pause after each line starting around the 4th
03:22 geekosaur most bots I've seen use a 1 second pause (or just truncate after the 3rd line) ; this may be overkill
03:36 xpen joined #perl6
03:44 timotimo http://varlogrant.blogspot.de/201​5/10/overkill-ii-quickening.html - someone could have a quick look at this :)
03:46 Oatmeal joined #perl6
03:54 xpen joined #perl6
03:55 raiph joined #perl6
03:56 Zoffix joined #perl6
04:43 timotimo perhaps it's just that .permutations wants to get the GLR treatment, because that custom recursion for permutation finding is 2x faster than .permutations
04:46 timotimo https://gist.github.com/timo/41ecb85a9fad659f6809
04:57 gonz_ joined #perl6
05:19 davido_ joined #perl6
05:27 [Sno] joined #perl6
05:29 tokuhirom_ joined #perl6
05:33 baest joined #perl6
05:33 spollei left #perl6
05:49 rurban joined #perl6
05:58 firstdayonthejob joined #perl6
06:08 diana_olhovik joined #perl6
06:09 pink_mist timotimo: well, calling subroutines in perl5 is notoriously slow, so any recursive algorithm will suffer ... try to unwind it into a loop instead perhaps?
06:11 pink_mist timotimo: can't really say anything about the perl6 version, but that didn't seem to have been benchmarked anyway :P
06:12 timotimo i'm up again for a little bit
06:12 timotimo (as sleep isn't initiating)
06:12 timotimo what do you mean "not benchmarked"?
06:12 timotimo there's a timing at the bottom
06:13 timotimo the two versions i put up there in the gist (one commented out, the other not) i let run to completion
06:13 timotimo 397.02user 1.21system 6:38.09elapsed 100%CPU (0avgtext+0avgdata 124428maxresident)k
06:13 timotimo 986.12user 1.32system 16:27.02elapsed 100%CPU (0avgtext+0avgdata 203812maxresident)k
06:13 timotimo the first is the recursive version, the second is with permutations
06:14 timotimo aand now with for ... -> $foo { &blah($foo) } replaced with .map(&blah)
06:24 pink_mist timotimo: err, I /only/ looked on the blogpost
06:24 pink_mist didn't even realise until just now that the gist was related :P
06:30 timotimo oh
06:32 rarara_ Algorithm::Permute::Nativecall :p
06:42 Ven joined #perl6
06:43 O47m341 joined #perl6
06:48 FROGGS joined #perl6
06:50 simcop2387 joined #perl6
07:03 xfix joined #perl6
07:08 abraxxa joined #perl6
07:30 ely-se joined #perl6
07:33 maddingue joined #perl6
07:33 maddingu1 joined #perl6
07:36 maddingue joined #perl6
07:40 [Sno] joined #perl6
07:43 llfourn m: "pay 'foo'"
07:43 camelia rakudo-moar e30397: OUTPUT«WARNINGS:␤Useless use of constant string "pay 'foo'" in sink context (line 1)␤»
07:44 llfourn m: "my $x = pay 'foo'"
07:44 camelia rakudo-moar e30397: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sRsvXivIIw␤Variable '$x' is not declared␤at /tmp/sRsvXivIIw:1␤------> 3"my 7⏏5$x = pay 'foo'"␤»
07:44 llfourn ...anyway I was wondering if there is any way to get Perl 6 to give me error correction suggestions on method names like it does with subs
07:45 araujo_ joined #perl6
07:45 llfourn if I do perl6 -e 'pay "foo"' => it says did you mean "say"? but if I do "foo".pay it doesn't give me a correction.
07:45 Ven a tad harder, because of the dynamic nature (fallback, handles, MOP, etc)
07:45 Ven it couldn't be too clever is what I'm saying :)
07:46 llfourn Ven: Yep I see your point
07:46 darutoko joined #perl6
07:47 pink_mist m: my $x = pay 'foo'; # why did you wrap your code in " so it was interpreted as a single string instead of a statement?
07:47 camelia rakudo-moar e30397: OUTPUT«5===SORRY!5=== Error while compiling /tmp/S_hAnJjbp5␤Undeclared routine:␤    pay used at line 1. Did you mean 'say'?␤␤»
07:47 llfourn pink_mist: urgh right I was just using -e so...thanks!
07:51 ShimmerFairy joined #perl6
07:53 cosimo how do I address the PF_INET6 constant in IO::Socket::INET / PIO ?
07:54 cosimo m: use IO::Socket::INET; say 'PF_INET6=', PIO::PF_INET6;
07:54 camelia rakudo-moar e30397: OUTPUT«===SORRY!===␤Could not find IO::Socket::INET in any of:␤  file#/home/camelia/.perl6/​2015.09-442-ge303970/lib␤  inst#/home/camelia/.perl6/2015.09-442-ge303970␤  file#/home/camelia/rakudo-inst-1/share/perl6/lib␤  file#/home/camelia/rakudo-inst-1/sh…»
07:54 moritz urks
07:54 moritz my module PIO {
07:54 moritz not at all, I fear
07:54 cosimo no way to get it from there?
07:55 moritz need to patch rakudo first :(
07:55 cosimo alright
07:55 cosimo I'm trying to address all issues on LWP::Simple
07:55 cosimo at least update them with current info
07:55 moritz cosimo: yes, I've seen a flood of issues updated on github. Very immpressive!
07:55 moritz cosimo++
07:55 moritz m: PIO.PF_INET6
07:55 camelia rakudo-moar e30397: OUTPUT«PIO is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method FALLBACK at src/RESTRICTED.setting:50␤  in any  at gen/moar/m-Metamodel.nqp:2864␤  in any  at gen/moar/m-Metamodel.nqp:1674␤  in block <unit> at /…»
07:56 lizmat m: my $a = ^10; for ^10 { say $a[$_] }
07:56 camelia rakudo-moar e30397: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
07:56 lizmat ^^^ always hits the AT-POS-SLOWPATH  :-(
07:57 kjs_ joined #perl6
07:57 lizmat which is weird, as we have Range have its own iterator ?
07:59 g4 joined #perl6
08:01 cosimo I used `perl Configure.pl --backends=jvm,moar'. At the end of the make/make install phase, perl6 points to the jvm backend. Any way to switch to moar, or do I need to rebuilt?
08:01 cosimo rebuild?
08:03 RabidGravy joined #perl6
08:06 Ven joined #perl6
08:07 eliasr joined #perl6
08:07 kjs_ joined #perl6
08:07 Ven cosimo: use perl6-m
08:09 lizmat .tell colomon is very-broken-combinations in List still needd ?
08:09 yoleaux lizmat: I'll pass your message to colomon.
08:12 cosimo Ven: I don't seem to have any perl6-* binary?
08:13 Ven cosimo: really? strange
08:13 cosimo Ven: a find command showed me I indeed have them
08:13 cosimo just not in $PATH
08:14 espadrine_ joined #perl6
08:18 dakkar joined #perl6
08:20 chenryn joined #perl6
08:21 timotimo right, it'll be where you supplied --prefix=
08:36 lizmat afk for a few hours&
08:38 bjz joined #perl6
08:53 Ven joined #perl6
08:58 El_Che #perl6: pack your bags for Fosdem 2016: we're having a devroom Sunday 31th January
08:59 cosimo nice
09:00 araujo joined #perl6
09:00 araujo joined #perl6
09:08 espadrine_ joined #perl6
09:20 woolfy joined #perl6
09:21 woolfy El-Che++
09:22 Ven joined #perl6
09:24 kjs_ joined #perl6
09:24 nine Wow, after 16 years of programming in Perl, I now have the first case where I'm porting parts to C for performance improvements.
09:26 ely-se joined #perl6
09:32 Ven nine: good thing our ffi works nicely, then :)
09:36 edehont joined #perl6
09:42 nine Unfortunately this is in Perl 5. I don't even want to know how slow this code would be in Perl 6...
09:45 FROGGS joined #perl6
09:50 virtualsue joined #perl6
09:53 brrt joined #perl6
09:54 brrt \o
09:55 El_Che woolfy: no. woolfie++ you mean
09:56 El_Che nine: that's a good exercise (and good to know)
09:56 brrt \o/
09:56 rindolf joined #perl6
09:56 brrt El_Che: is that a perl devroom or a perl6 devroom?
09:56 tokuhiro_ http://d.hatena.ne.jp/sugyan/20151022/1445505412
09:57 * brrt supposes a general perl devroom
09:57 tokuhiro_ Another Hello world in Perl6
09:57 tokuhiro_ m: ::('!{.(?'~^'.~!)~'~^')^.^^'~^'?!^?('~^'?​?)!{')('!?}}~~(!^~{~))(.{~('~^'))?^?.).(?​.}?)().!~'~^'~!.?}?~.^.{?!)~}!).'~^'}!!.~​(}(!?}~{!}).(('~^')^(^.(.)~?!.()!})?)')
09:57 camelia rakudo-moar e30397: OUTPUT«Hello, world!␤»
09:57 spider-mario joined #perl6
09:57 brrt oh, wow
09:57 El_Che brrt: a general perl devroom.
09:57 brrt cool
09:57 brrt we're one community, after all
09:58 El_Che and there is no way in hell we'll get 2 different devrooms
09:58 El_Che I see the python 2.7 people starting a riot :)
09:59 brrt i don't see python people starting a riot
09:59 brrt rubyists, maybe
10:01 mrf tokuhiro_: because if they're going to call the language linenoise anyway then why not prove it.
10:03 El_Che no, actually, the atmosphere at Fosdem is pretty nice
10:03 El_Che no language wars
10:03 El_Che I like it
10:04 btyler tokuhiro_: that is....that is amazing
10:07 espadrine_ joined #perl6
10:08 mrf If anyone has time I would be really interested in a deconstruction of what that is doing
10:14 telex joined #perl6
10:18 dakkar m: 'ab' ~^ 'AB'
10:18 camelia rakudo-moar e30397: OUTPUT«WARNINGS:␤Useless use of "~^" in expression "'ab' ~^ 'AB'" in sink context (line 1)␤»
10:18 dakkar m: say 'ab' ~^ 'AB'
10:18 camelia rakudo-moar e30397: OUTPUT«  ␤»
10:18 dakkar m: say ord('b' ~^ 'B)'
10:18 camelia rakudo-moar e30397: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ROdRevHhA5␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/ROdRevHhA5:1␤------> 3say ord('b' ~^ 'B)'7⏏5<EOL>␤»
10:18 dakkar m: say ord('b' ~^ 'B')
10:18 camelia rakudo-moar e30397: OUTPUT«32␤»
10:18 dakkar yep, that's the trick
10:21 chenryn joined #perl6
10:21 kjs_ joined #perl6
10:22 woolfy brrt: earlier this year, at FOSDEM, the Python people had a booth next to our Perl-booth.  It was their 2nd year, our 7th (??) year.  The complained that we had two tables and they had only one table.
10:23 woolfy Our two tables were completely covered with stuff: books, camels, wine, buttons, stickers, tuits, Camelia 3D-puzzles, brochures, pens etc etc.  They had 3 books, one pile of t-shirts, and one small pile of stickers.  Over 66% of their table was empty.
10:23 woolfy But that was all.  FOSDEM is friendly.
10:23 Timbus they needed the blank space
10:25 brrt camelia 3d puzzles? :-o
10:25 brrt well, /me is looking forward to it
10:27 itz_stmuk I think the FAQ needs a Q "Why is Rakudo so slow?" and I'm trying to phrase something positive
10:27 itz_stmuk draft at https://gist.github.com/stmuk/5f2f086733e084d5d829
10:27 itz_stmuk I'd be grateful for suggestions
10:27 llfourn m: ('!{.(?' ~^'.~!)~'  ~^')^.^^'  ~^'?!^?('  ~^'??)!{').say;  ('!?}}~~(!^~{~))(.{~('~^'))?^?.).(?.}?)(​).!~'~^'~!.?}?~.^.{?!)~}!).'~^'}!!.~(}(!​?}~{!}).(('~^')^(^.(.)~?!.()!})?)').say
10:27 camelia rakudo-moar e30397: OUTPUT«&EVAL␤"Hello, world!".say␤»
10:28 lizmat OMG
10:28 nine woolfy: you know how significant whitespace is in Python :)
10:29 * llfourn worries about fun "puzzels" like this on irc with EVAL something dangerous
10:29 ab6tract joined #perl6
10:29 ab6tract tokuhiro_: WOW :D
10:30 brrt itz_stmuk: because perl6 is to awesome for the current generation of computers
10:30 brrt :-P
10:30 brrt (that's not true, though. the real answer is 'we haven't gotten around to making it faster yet, but we know several good ways to do so'
10:31 pmurias joined #perl6
10:31 itz_stmuk actually I remember emacs being quite unusable on late 80s UNIX systems and being banned by sysadmins and it's faster than the Java IDEs today :)
10:31 llfourn we are trying to capture the market for people who like short breaks inbetween development
10:32 itz_stmuk has anyone examples of what is fast and isn't? I'm aware that empty loops are (or were) fast but that isn't that great :)
10:33 itz_stmuk maybe creating objects
10:33 ely-se joined #perl6
10:34 * brrt considers emacs to be a perfectly fine java ide
10:34 karim joined #perl6
10:35 karim how can I create an array of arrays? and how to access it then?
10:36 brrt do you want an array of arrays, or do you want a multidimensional array
10:36 gfldex m: my @lol = []; @lol[2] = []; @lol[2][1] = 'item'; @lol.perl.say;
10:36 camelia rakudo-moar e30397: OUTPUT«[Any, Any, [Any, "item"]]␤»
10:36 brrt m: my @a; @a[1][2] = 4; say @a.perl;
10:36 camelia rakudo-moar e30397: OUTPUT«[Any, [Any, Any, 4]]␤»
10:37 brrt autovivification ftw
10:37 karim array of array
10:37 karim s
10:37 karim is that it?
10:37 llfourn m: my $a = [ [ 1 ], ]; say $a; #notice the comma
10:37 camelia rakudo-moar e30397: OUTPUT«[[1]]␤»
10:37 brrt kind of, yes, karim
10:37 karim I mean, how can I declare a variable of this type?
10:37 brrt hmmm
10:37 karim @var1 - is just an array
10:38 brrt i'm not 100% familiar with that though
10:38 llfourn m: my @a = [1],; say @a.perl;
10:38 camelia rakudo-moar e30397: OUTPUT«[[1],]␤»
10:38 llfourn m: my @a = [1]; say @a.perl;
10:38 brrt m: my Array[Array] @a; @a[1][2] = 3; sa @a.perl;
10:38 camelia rakudo-moar e30397: OUTPUT«[1]␤»
10:38 camelia rakudo-moar e30397: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_I9Us09foE␤Undeclared routine:␤    sa used at line 1. Did you mean 'so'?␤␤»
10:38 brrt y
10:39 brrt m: my Array[Array] @a; @a[1][2] = 3; say @a.perl;
10:39 camelia rakudo-moar e30397: OUTPUT«Type check failed in assignment to @a; expected Array[Array] but got Array␤  in block <unit> at /tmp/1JziUJxb_M:1␤␤»
10:39 * llfourn is confused by brrt
10:39 RabidGravy m: my Array @g = [['f'],]; say @g.perl;
10:39 camelia rakudo-moar e30397: OUTPUT«Array[Array].new($["f"])␤»
10:39 llfourn brrt: that's an array of array of arrays :S?
10:39 brrt yeah, i was wrong
10:40 brrt huh, that's actually cooler than i had thought
10:41 gfldex karim: see http://design.perl6.org/S09.​html#Multidimensional_arrays
10:41 brrt m: my Array[Array] $x; say $x.perl;
10:41 camelia rakudo-moar e30397: OUTPUT«Array[Array]␤»
10:41 brrt m: my Array[Array] $x; $x[1][2] = 0; say $x.perl;
10:41 camelia rakudo-moar e30397: OUTPUT«Type check failed in assignment to $x; expected Array[Array] but got Array␤  in block <unit> at /tmp/JWSXZYZNzj:1␤␤»
10:42 brrt m: my Array[Array] $x .= new; say $x.perl;
10:42 camelia rakudo-moar e30397: OUTPUT«Array[Array].new()␤»
10:42 brrt m: my Array[Array] $x .= new; $x[1][2] = 0; say $x.perl;
10:42 camelia rakudo-moar e30397: OUTPUT«Cannot call postcircumfix:<[ ]>(NQPMu, Int, Int); none of these signatures match:␤    (\SELF, Any:U $type, |c is raw)␤    (\SELF, int $pos)␤    (\SELF, int $pos, Mu \assignee)␤    (\SELF, int $pos, Mu :$BIND! is raw)␤    (\SELF, int $pos, :$SINK!…»
10:42 FROGGS joined #perl6
10:42 brrt aargh
10:45 ab6tract brrt: I didn't think that typed arrays were truly supported in that way yet?
10:45 brrt possibly
10:46 karim joined #perl6
10:50 woolfy nine++ Python whitespace...  :-)
10:50 DrForr woolfy: FOSDEM talks coming later today.
10:51 woolfy DrForr++
10:52 itz_stmuk DrForr: is it January already?
10:52 * DrForr checks with Doc Brown.
10:54 Celelibi joined #perl6
10:56 DrForr Already giving them at Cluj.pm, may as well go for it. Plus I'll *definitely* be on the list to attend this way :)
10:58 DrForr (plus by then I won't have to do my Dr. House impression.)
10:59 skids joined #perl6
11:05 chenryn joined #perl6
11:07 weihan joined #perl6
11:08 El_Che DrForr: coming back to Fosdem? That's great
11:09 DrForr Wouldn't miss it, though I'm still going to beg for a few more days 'round it.
11:09 El_Che DrForr++
11:10 DrForr Need to make a more exhaustive evaluation of the chocolate options :)
11:10 El_Che About woolfy booth: by far the greatest of all the conference. True story each year
11:10 DrForr And heaviest :)
11:10 woolfy I'm still carrying most of the stuff anyway!
11:11 El_Che DrForr: I've got some extra muscle after a few years :)
11:11 woolfy And I already have a nice surprise in the making.  Secret secret.
11:11 El_Che woolfy: you're 2 heads bigger than DrForr and me :
11:11 El_Che :)
11:11 woolfy :-)
11:12 woolfy In case anybody feels some pressure to also send me a talk proposal: that would be very welcome.  https://wendyga.wordpress.com/2015​/10/08/fosdem-30-31-january-2016-b​russels-belgium-call-for-speakers/
11:15 pmurias itz_stmuk: re "Why is Rakudo slow?", I think it will be hard produce a good answer to that
11:15 pmurias itz_stmuk: in most Perl 6 implementations it has always been "because it's no fast yet"
11:16 brrt yeah, that is the true answer
11:17 moritz too many levels of indirection with too little optimization
11:17 pmurias I think a deeper reason might be that it's complex enough that there is no simple way to do things fast, and instead it will require a bunch of special casing and smart optimalizations
11:19 Ven joined #perl6
11:19 pmurias For really killer performance a few iterations might be required, just like the JavaScript engines have gone through a really complex evolution
11:22 brrt and what moritz says, is also true
11:23 itz_stmuk https://gist.github.com/stmuk/5f2f086733e084d5d829
11:23 El_Che the javascript example makes sense
11:23 itz_stmuk I added a very crude benchmark
11:23 El_Che they got eventually very fast
11:23 Ven El_Che: I'm not sure we have the same kind of money to throw at it, though :P
11:24 pmurias stealing designs is cheaper than inventing them
11:24 El_Che wait until Oracle forks Perl6 :)
11:24 moritz Unbreakable Perl 6
11:24 moritz (Enterprise)
11:25 El_Che Unbreakable Perl 6 - Java Enterprise Desktop Edition and Exadata Big Cloud Edition
11:25 itz_stmuk I thought "Unbreakable" was a particularly clueless marketing name sure to attract the best^uworst of the open source/hacker community :)
11:26 El_Che (yes, Sun and Oracle used to call everything Java, even non-Java projects)
11:26 El_Che itz_stmuk: you really don't get it
11:26 El_Che itz_stmuk: they were talking about the license :)
11:27 itz_stmuk :)
11:27 itz_stmuk hmm should I include a benchmark? any strong views against? I'm very wary of benchmarks
11:28 brrt well, what point do you want to make with it?
11:28 brrt here's the thing: it's probably best to be upfront with it
11:29 brrt hmmm
11:29 brrt no wait
11:29 itz_stmuk "A crude benchmark (with all the usual caveats) shows at least in some situations Perl 6 can be marginally faster than Perl 5."
11:29 brrt forget i said that
11:29 brrt ruby wasn't upfront about their slowness
11:29 brrt python isn't especially explicit about it
11:29 itz_stmuk it will be a frequently asked question
11:29 brrt do you think so?
11:30 tokuhirom_ joined #perl6
11:30 brrt i'd be surprised if i saw it on ruby-lang.org
11:30 itz_stmuk I've no idea about the ruby community I know the perl community very well
11:30 brrt 'why is ruby so slow?' - 'because ruby is very flexible'
11:30 brrt hmmm
11:30 brrt i have no definitive ideas about it
11:32 itz_stmuk maybe it needs a marketing line about how cool the JIT will be
11:35 pmurias itz_stmuk: I wouldn't try to twist things around with a carefully choosen benchmarks
11:35 pmurias itz_stmuk: one problem with JITs is that it's not that obvious how coll they will end up
11:37 pmurias itz_stmuk: there is a thin line between things being amazing and making stuff slower
11:37 itz_stmuk pmurias: that wasnt a carefully chosen benchmark
11:37 itz_stmuk its doing common things
11:40 itz_stmuk removing the say would have prolly made p6 faster due to perl 5 buffering
11:42 Zoffix itz_stmuk, on my box that bench shows a very slight advantage in P5: https://gist.github.com/stmuk/5f2f0​86733e084d5d829#gistcomment-1602277
11:42 Zoffix It's Perl5 5.20..
11:43 itz_stmuk ok I will remove numbers and say common tasks at equivalent speed
11:43 itz_stmuk some common tasks
11:44 dalek nqp: 66c3cd7 | (Pawel Murias)++ | src/QAST/Block.nqp:
11:44 dalek nqp: Print the blocktype for QAST::Block when dumping the AST.
11:44 dalek nqp: review: https://github.com/perl6/nqp/commit/66c3cd73fd
11:44 dalek nqp: 24e39b9 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
11:44 dalek nqp: [js] make nqp::mkdir($file, $mode) do nothing if $file exists just like on moarvm
11:44 dalek nqp: review: https://github.com/perl6/nqp/commit/24e39b9208
11:45 kid51 joined #perl6
11:46 El_Che I was positively surprised by perl6 for smaller command line applications. Startup wasn't slow. I had Moose from a few years ago in mind (I switched to Moo for that kind of apllications)
11:46 itz_stmuk I've seen people try and use Moose for CGI which is pretty insane
11:47 Ven joined #perl6
11:48 El_Che itz_stmuk: 90% of the occidental world is addicted to sugar (source: the internet)
11:52 RabidGravy What perl6 is missing is a CGI libray ;-)
11:52 mrf itz_stmuk: OOI do you know what the benchmark would be if you hypered the perl6 example. Might be worth showing how the new features can recover some of the lost time?
11:53 * mrf is unable to figure out how to hyper the example
11:53 flussence it seems like installed modules currently have a quadratic effect on startup time... the diff between "perl6 -e 1" and "perl6" (repl) is ~100ms on my server box with no modules installed... and 16 seconds on my laptop.
11:54 itz_stmuk mrf: I was using directly equivalent code on purpose .. I'm sure it's possible to increase and decrease the speeds of both scripts
11:54 mrf itz_stmuk: thats fair.
11:54 llfourn flussence: modules your not using shouldn't affect speed :S (apart frmo Linenoise)
11:55 araujo_ joined #perl6
11:55 flussence yeah, I don't get it. my desktop takes 5 seconds to start a repl now and that's hardly a weak cpu.
11:56 RabidGravy I thought there was a thing due to reading the manifest or something
11:56 RabidGravy or was that fixed
11:56 flussence I thought that was fixed, guess not :(
11:56 flussence (or it unfixed itself)
11:57 lizmat flussence: fwiw, that''s exactly what we're trying to fix
11:57 flussence oh, if it's being done I'll shut up then :)
12:01 ely-se joined #perl6
12:03 lizmat flussence: no, please don't shut up
12:04 lizmat just pointing out it's a known problem  :-)
12:13 kjs_ joined #perl6
12:15 mrf Is there a way of delegating to another grammar in a rule rather than a named rule. e.g 'rule TOP { <MY::Other::Grammar> <another-rule>}'
12:15 mrf I specifically don't want to inherit of compose the other grammar. I wish to delegate to its normal parse.
12:16 anonymouse_ joined #perl6
12:17 RabidGravy because there's nothing better than a 2014 chateau bottled Vouvray which you can't remember why you bought it, for lunch
12:21 mrf I suppose I could do 'rule TOP { <MY::Other::Grammar::TOP> }'
12:21 Upasaka joined #perl6
12:22 moritz mrf: method TOP(|c) { OtherGrammer.TOP(|c) }
12:22 flussence after a bit more poking around it seems it's "just" Linenoise causing the slowdown, installing other modules doesn't significantly add to the delay. that's useful to remember when I reinstall.
12:23 mrf moritz: do grammers always have to have a TOP rule ?
12:23 RabidGravy usually
12:23 RabidGravy if you don't have one you have to specify the name of the "top" rule to .parse()
12:23 DrForr You can specify that you want to run starting at a different rule during the parse, so I don't think it's *required* per se.
12:23 moritz mrf: you can all call YourGrammar.parse($string, :rule('startrule'))
12:24 mrf ok but if you call .parse($string) it looks for a TOP ?
12:24 RabidGravy yep
12:24 mrf awesome.
12:25 mrf For context it seems normal for a document to be composed of several descrete parts each of which may have their own distinct grammar (HTTP and MIME) are good examples. and Combining these without namespace clashes seems useful.
12:27 lizmat flussence: could it be that because Linenoise is *not* precomped, that we have the delay ?
12:27 [Coke] reminder, there's theoretically a birthday release of the compiler today
12:27 mrf so grammar HTTP::Message { rule TOP { <HTTP::StartLine::TOP> [<HTTP::Header::TOP>]+ \n <HTTP::Body::TOP>}}
12:28 mrf flussence: Concure that installing Linenoise has caused a >2s delay for the repl
12:28 itz_stmuk [Coke]: will there be cake and ice cream?
12:28 lizmat flussence: what if you do
12:28 lizmat time perl6 -MLinenoise -e''
12:28 lizmat ?
12:29 DrForr The cake... never mind.
12:30 dalek rakudo/nom: 084e462 | lizmat++ | src/core/List.pm:
12:30 dalek rakudo/nom: Nativy and GLRify List.combinations
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: It's now about 25x faster
12:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/084e462eeb
12:30 flussence lizmat: on my good computer, 2.62s user time, compared to 3.30s for starting the repl. No -MLinenoise is 0.12s
12:30 lizmat yeah, so that's pure parsing of Linenoise that's the delay then
12:34 flussence (and I've just figured out how to manually precomp it with the *right* file extension, that helps a huge amount!)
12:35 llfourn m: <one two three>.grep: { not 1 == 1 or not /./ }
12:35 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/ZCNpjhUlSO:1␤␤»
12:35 llfourn ^^ bug yes?
12:36 lizmat m: <one two three>.grep: { /./ }
12:36 camelia rakudo-moar e30397: ( no output )
12:36 lizmat m: <one two three>.grep: { not /./ }
12:36 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/u67oVswSGh:1␤␤»
12:36 lizmat hmmm...
12:36 lizmat m: <one two three>.grep: { !/./ }
12:36 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/tVujcsKWam:1␤␤»
12:36 lizmat m: <one two three>.grep: { not( /./ ) }
12:36 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/4qXRniSfWb:1␤␤»
12:37 lizmat <one two three>.grep: { not 1 == 1 or not m/./ }
12:37 lizmat m: <one two three>.grep: { not 1 == 1 or not m/./ }
12:37 camelia rakudo-moar e30397: ( no output )
12:37 lizmat that's exactly the reason I would not allow { // } to work
12:37 rindolf joined #perl6
12:38 lizmat / is just a Regex
12:38 lizmat m: dd (//).WHAT
12:38 camelia rakudo-moar e30397: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IeLy36zwQx␤Null regex not allowed␤at /tmp/IeLy36zwQx:1␤------> 3dd (//7⏏5).WHAT␤»
12:38 lizmat m: dd (/./).WHAT
12:38 camelia rakudo-moar e30397: OUTPUT«Regex $var = Regex␤»
12:38 lizmat m: dd (/./).Bool
12:38 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/kddF9WkA79:1␤␤»
12:39 sufrostico joined #perl6
12:39 lizmat m: (/./).Bool  # the problem golfed
12:39 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/tsPKKhr7JS:1␤␤»
12:39 lizmat to make this work, I think we should Regex.Bool do a match on $_
12:41 llfourn lizmat: hmm yep that explains everything I was completely stuck. The original thing I was trying to do was:
12:41 llfourn m: my $rx = /./; <one two three>.grep: { not $rx or so $rx }
12:41 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/Xmh9Jnqox4:1␤␤»
12:42 llfourn I was trying to see if the $rx was not defined with the first not and then if it was test it against $_
12:42 ShimmerFairy m: say (m/./).Bool
12:42 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/_pwXAMyKLn:1␤␤»
12:42 ShimmerFairy m: say (rx/./).Bool
12:42 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/1N_dsoKuSc:1␤␤»
12:42 llfourn m: my $rx = /./; <one two three>.grep: { not $rx or $_ ~~ $rx } # actually more like
12:42 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/U4PasoknDL:1␤␤»
12:42 moritz lizmat: it already does a match on $_. But $_ is Any, hence the error
12:43 llfourn m: my $rx = /./; <one two three>.grep: { not $rx.defined or $_ ~~ $rx } # actually more like
12:43 camelia rakudo-moar e30397: ( no output )
12:43 ShimmerFairy The problem really is that !/./ doesn't do a match and negate, which I happen to think is reasonable :)
12:43 llfourn ^^ that is what I wanted :S
12:43 moritz m: $_ = (class MyFunnyClass {}); /./.Bool
12:43 camelia rakudo-moar e30397: OUTPUT«Method 'match' not found for invocant of class 'MyFunnyClass'␤  in block <unit> at /tmp/8tj_BvwVrP:1␤␤»
12:43 moritz m: $_ = (class MyFunnyClass {}); !/./
12:43 camelia rakudo-moar e30397: OUTPUT«WARNINGS:␤Useless use of "!" in expression "!/./" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/sK90YKEb4C:1␤␤»
12:44 moritz ShimmerFairy: no, the problem is that prefix:<!> seems to clobber $_
12:44 ShimmerFairy I still think trying to negate a regex doesn't make sense :)
12:44 moritz yes yes, we're used to your arguments by now :-)
12:45 tokuhirom_ joined #perl6
12:46 virtualsue joined #perl6
12:51 ely-se joined #perl6
12:54 rurban joined #perl6
12:55 tadzik today I learned about --b, which is like o/ but for "thumbs up"
12:59 * flussence looked to see if that's in the default XCompose files but only found one for "o/" -> "🙌"
13:01 dalek doc: 9dbc09c | (Steve Mynott)++ | doc/Language/faq.pod:
13:01 dalek doc: [FAQ] Is Perl 6 fast enough for me
13:01 dalek doc: review: https://github.com/perl6/doc/commit/9dbc09c360
13:01 dalek doc: 6e7a9f3 | (Steve Mynott)++ | doc/Language/faq.pod:
13:01 dalek doc: [FAQ] minor tweaks
13:01 dalek doc: review: https://github.com/perl6/doc/commit/6e7a9f3fe1
13:03 jdv79 it'd be cool if we had more optimizer type devs.  are they hard to create?
13:04 tadzik hm, http://perl6.org/compilers/features looks a bit outdated
13:04 moritz well, you need a pretty solid understanding of large parts of the language AND the stack before you can really optimize
13:05 moritz that makes them hard to come by, yes
13:05 nine And if you have that kind of understanding, you're currently probably busy making Rakudo work right, rather than fast.
13:05 zakharyas joined #perl6
13:06 araujo joined #perl6
13:06 RabidGravy right now, working is good.  with working will come optimization inclined people
13:08 dalek rakudo/nom: eee3442 | lizmat++ | src/core/Any.pm:
13:08 dalek rakudo/nom: Oops, we don't want any flattening for dd
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eee3442432
13:08 dalek rakudo/nom: 987cdee | lizmat++ | src/core/List.pm:
13:08 dalek rakudo/nom: Remove debug code (at least for the release)
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/987cdeec38
13:08 lizmat .tell colomon I've removed the code with 987cdeec38
13:08 yoleaux lizmat: I'll pass your message to colomon.
13:13 lizmat m: my @a; @a[^5] = ^5; dd @a   # sigh
13:13 camelia rakudo-moar 084e46: OUTPUT«block <unit>␤»
13:13 Ven joined #perl6
13:13 lizmat m: my @a; @a[^5] = ^5; say @a
13:13 camelia rakudo-moar 084e46: OUTPUT«[]␤»
13:15 lizmat m: my @a = ^10; say @a[^15]  # I would argue this is also wrong
13:15 camelia rakudo-moar 084e46: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
13:15 lizmat there is no Whatever involved with [^15], so it should continue
13:15 lizmat the fact that it doesn't, is what causes the @a[^5] = ^5 fail
13:18 rarara_ itz_stmuk: I think it makes no sense to troll Perl 6 in the Perl 6 FAQ: the question "why is it slow?" does not really make sense, what would make sense would be "why it is slower than XXX in performing XXX thing?"
13:20 Zoffix +1
13:21 itz_stmuk rarara_: that's not the question it's "Is Perl 6 fast enough for me?"
13:21 Zoffix Ah :)
13:21 itz_stmuk rarara_: if you can suggest XXX type info please supply pull requests
13:24 rurban joined #perl6
13:26 [Coke] lizmat: do you still have any blockers for the release today?
13:28 lizmat looking at making array slices faster
13:29 lizmat but if you want to start releasing now, it will just have to wait post-release...
13:29 itz_stmuk is the Grammar::Debugger breakage mentioned in the scrollback the fault of that module?
13:29 itz_stmuk the recent regexp signature change one
13:30 lizmat someone had bisected a commit ?
13:30 itz_stmuk I *think* it's fairly obvious the change
13:31 FROGGS there was a regex signature change?
13:31 itz_stmuk the error suggests 5d83db
13:31 loren joined #perl6
13:31 FROGGS ohh, that was me
13:32 itz_stmuk ==> Testing Grammar::Debugger
13:32 itz_stmuk ===SORRY!===
13:32 itz_stmuk Cannot call ACCEPTS(Regex: Mu); none of these signatures match:
13:32 FROGGS hmmmm
13:34 FROGGS itz_stmuk: can you no-paste a backtrace?
13:34 FROGGS ohh nvm
13:34 FROGGS I can reproduce
13:35 lizmat [Coke]: trying to a simple [^5] speedup, should know if ok in the next 20 mins or so
13:39 sunnavy joined #perl6
13:39 FROGGS itz_stmuk: I'll PR Grammar::Debugger...
13:41 araujo joined #perl6
13:41 itz_stmuk I guess it's the sort of module fragile to rakudo changes!
13:42 FROGGS itz_stmuk: see: https://github.com/jnthn/grammar-debugger/pull/21
13:42 FROGGS itz_stmuk: aye
13:42 ely-se joined #perl6
13:44 raiph joined #perl6
13:45 lizmat #76676
13:45 synbot6 Link:  https://rt.perl.org/rt3/Publ​ic/Bug/Display.html?id=76676
13:46 lizmat [Coke]: ok, forget it, seems we need clipping for slices after all  :-(
13:47 lizmat we just need to implement it better and that is going to be.... interesting
13:50 jdv79 i was trying to optimze some stuff but had a hard time determining the hotspots
13:50 jdv79 are there any cool tools anyone uses or is it just trial and error and experience at this point?
13:51 PerlJam jdv79: and --profile
13:51 jdv79 for instance, --profile, for a few things was essentially flat for a few
13:52 jdv79 death by a thousand cuts type of thing
13:53 geekosaur joined #perl6
13:59 tokuhirom_ joined #perl6
14:03 Ven joined #perl6
14:05 Sqirrel joined #perl6
14:06 Hotkeys joined #perl6
14:10 khw joined #perl6
14:11 ely-se joined #perl6
14:12 araujo joined #perl6
14:12 araujo joined #perl6
14:13 rarara_ I am just starting to learn perl 6, may I ask your opinion? which of the two version of a method would you think is more proper? https://gist.github.com/ano​nymous/d548488b1c3ad9abde3c (or if you have any other suggestions)
14:14 rarara_ it is a boring task, just a style advice
14:14 dalek roast: 4e63f72 | (Steve Mynott)++ | S32-num/rat.t:
14:14 dalek roast: add test for RT #126391 - wrong div by 0 error
14:14 dalek roast: review: https://github.com/perl6/roast/commit/4e63f7265f
14:14 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=126391
14:14 PerlJam rarara_: "more proper" is really a design decision that's up to you :)
14:15 PerlJam rarara_: though, I wonder why you're backwhacking your constants.  That seems a little weird to me.
14:15 rarara_ PerlJam so that they are grouped
14:16 PerlJam grouped?
14:16 PerlJam why not use an enum then?
14:16 PerlJam (though, I still don't understand how  the \ in constant \foo implies some grouping)
14:17 rarara_ I didn't know you had enum :) This seems good. Regarding the \ it resembles more the Perl5 constants
14:18 rarara_ you didn't type $ there
14:18 pink_mist because they were subroutines :P
14:18 PerlJam rarara_: you don't need a $ or a \ though in P6
14:19 PerlJam rarara_: constant FOO = 7; is just fine
14:19 rarara_ true also
14:19 PerlJam (also, I'm not sure you need the := either :)
14:20 pink_mist well with the \ the := might have been needed? or am I overthinking things? :P
14:20 rarara_ good to learn all this things!
14:20 PerlJam pink_mist: nah.
14:20 rarara_ pink_mist I checked: nop
14:22 mrf rarara_: I am not sure you need \FOO in p5 either.
14:22 PerlJam afaik, constant initialization already happens at BEGIN time and since your assigning a literal, there should be no difference between binding and assignment
14:23 PerlJam s/your/you're/
14:25 pmurias_ joined #perl6
14:25 pink_mist mrf: no that was just that rarara_ didn't want to put $ on his constants, so he thought he had to use \
14:26 pink_mist (or maybe rarara_ is a she?)
14:26 mrf pink_mist: Constants in P5 are barewords (they are odd subs) not scalars. The \ in p5 creates a reference
14:27 pink_mist mrf: yes I know
14:27 pink_mist mrf: but rarara_ thought he needed a \ in p6
14:27 rarara_ mrf: pink_mist is right
14:27 pink_mist mrf: we've spent some time convincing him he doesn't
14:27 Zoffix left #perl6
14:27 mrf ok. :)
14:28 rarara_ I just wanted to avoid the $ in perl 6, which you don't need to
14:28 Zoffix joined #perl6
14:29 lizmat [Coke]: I have one optimization for array slice assignment (about 3x as fast)
14:29 lizmat [Coke]: still ok to commit that ?
14:29 PerlJam rarara_: actually, the answer to you original question is ... the first one is least Perlian, so I wouldn't do that one.  :)
14:30 PerlJam rarara_: so perhaps the second one but with an enum instead of the constants
14:32 gfldex m: my $foo = 'foo'; my \bar = 'bar'; say "Without sigils you lose the ability to say $foo. However, you can still say {bar}.";
14:32 camelia rakudo-moar 987cde: OUTPUT«Without sigils you lose the ability to say foo. However, you can still say bar.␤»
14:32 rarara_ PerlJam the second one with enum seems the best fit for this situation. There is no need to hide the user about the values of flags
14:32 PerlJam gfldex: good point.
14:32 hoelzro o/ #perl6
14:34 PerlJam rarara_: also, with an enum, you don't have to say "is export" so many times
14:35 RabidGravy I've got an example of initialising an enum from some bit masks in one of my modules even, can't remember which one though
14:36 dalek rakudo/nom: 49fd9ff | lizmat++ | src/core/array_slice.pm:
14:36 dalek rakudo/nom: Make $foo[slice] = list about 3x as fast
14:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49fd9ff488
14:39 rarara_ I'm trying to search for that
14:41 RabidGravy https://github.com/jonathanstowe/Audio-Snd​file/blob/master/lib/Audio/Sndfile/Info.pm for example, but I'm sure there's one that has some bit shifting involved
14:41 PerlJam rarara_: see S12:1939 perhaps
14:41 synbot6 Link: http://design.perl6.org/S12.html#line_1939
14:46 rarara_ m: enum End( :File(0x00000000), :Little(0x10000000), :Big(0x20000000), :Cpu(0x30000000)); say End(Big).Int.base(16)
14:46 camelia rakudo-moar 987cde: OUTPUT«20000000␤»
14:46 ely-se joined #perl6
14:46 rarara_ m: enum End( :File(0x00000000), :Little(0x10000000), :Big(0x20000000), :Cpu(0x30000000)); say End(Big).base(16)
14:46 camelia rakudo-moar 987cde: OUTPUT«20000000␤»
14:47 FROGGS m: enum End( :File(0x00000000), :Little(0x10000000), :Big(0x20000000), :Cpu(0x30000000)); say End(0x20000000)
14:47 camelia rakudo-moar 987cde: OUTPUT«Big␤»
14:47 ilmari m: enum End( :File(0x00000000), :Little(0x10000000), :Big(0x20000000), :Cpu(0x30000000)); say Big.base(16)
14:47 camelia rakudo-moar 987cde: OUTPUT«20000000␤»
14:48 PerlJam ilmari++ FROGGS++  I was just about to do those! : )
14:48 PerlJam er, :)
14:48 FROGGS hehe
14:48 FROGGS :\ ) # unspace allowed
14:48 itz_stmuk t/spec/S17-supply/throttle.t fails for me on a mac
14:49 sqirrel_ joined #perl6
14:49 FROGGS it fails on my box when my system is busy running a windows VM
14:49 moritz .oO( hello, I'm a Mac. And I fail your spectests )
14:49 FROGGS :P
14:49 itz_stmuk oops wrong screen session .. I meant linux
14:49 itz_stmuk :)
14:49 rarara_ Thanks
14:50 jnm_theMailman joined #perl6
14:51 itz_stmuk just trying nuke
14:53 jnm_theMailman_ joined #perl6
14:56 noganex joined #perl6
14:56 dj_goku_ joined #perl6
14:57 [Coke] lizmat: I'm not getting to the release until after $dayjob.
14:57 CurtisOvidPoe_ joined #perl6
14:57 [Coke] so, go to otwn.
14:57 [Coke] *town
14:57 ggoebel2 joined #perl6
14:57 itz_stmuk refactor all the things!
14:59 jdv79_ joined #perl6
15:00 xinming joined #perl6
15:00 erxeto joined #perl6
15:00 sergot_ joined #perl6
15:00 diakopte1 joined #perl6
15:00 BooK_ joined #perl6
15:01 mspo_ joined #perl6
15:01 zakharyas joined #perl6
15:02 PotatoGim_ joined #perl6
15:03 ggherdov_ joined #perl6
15:04 timbunce_ joined #perl6
15:04 mjgardner joined #perl6
15:04 edehont joined #perl6
15:06 hoelzro itz_stmuk: throttle.t fails sometimes; it probably has a race condition or something
15:08 itz_stmuk ah
15:08 [Coke] CurtisOvidPoe: hio. Find any good bugs today?
15:09 CurtisOvidPoe Haven’t have a chance today. Been grading Perl 5 tests all week.
15:09 PerlJam Found any good candidates?
15:09 lizmat itz_stmuk: re t/spec/S17-supply/throttle.t , doesn't fail for me on a Mac
15:09 PerlJam I got the impression after your blog post that you were flooded with not-so-good applicants
15:09 lizmat but OTOH, maybe the timing tests are a bit too tight
15:09 CurtisOvidPoe And still trying to get ready for Amsterdam. I need to find a better example for the concurrency work since the examples I’ve created are now rakudobugs :)
15:10 [Coke] uhoh. and jnthn++'s on holiday this week.
15:10 [Coke] all of the S17 tests are fiddly and need examining. :|
15:10 lizmat CurtisOvidPoe: do you have gists of the errors, or are they RT'd ?
15:10 CurtisOvidPoe PerlJam: yes, but it’s not a call we make until everyone finishes the process.
15:11 [Coke] Anyone has suggestions for more text on the birthday release, please read the placeholder release announcement and let me know.
15:11 lizmat itz_stmuk: which test specifically fail ?
15:11 isacloud joined #perl6
15:11 CurtisOvidPoe lizmat: one is simple. Setting the environment variable PERL5LIB to ‘lib’ causes ‘rakudobrew build panda’ to break.
15:11 [Coke] lurkers: want to help out? write a perl 6 script that grabs the list of Perl Monger groups in json, and compares it to the list of rakudo tag names, and gives a list of unused PM groups to use for a release name.
15:12 RabidGravy :)
15:12 PerlJam [Coke]++
15:12 lizmat [Coke]: shouldn't we just call this release "Birthday" ?
15:12 PerlJam lizmat: there is no Birthday.pm  :)
15:12 CurtisOvidPoe liamat: https://gist.github.com/Ovid/8d3085d466110d78aeda is the gist in question.
15:12 [Coke] (i.e. http://www.pm.org/groups/perl_mongers.json)
15:13 [Coke] lizmat: this release gets 3 tags. the monthly, the PM, and v6b (or however we're spelling it)
15:13 lizmat CurtisOvidPoe: that's the PERL5LIB one ?
15:13 jnm_theMailman joined #perl6
15:13 CurtisOvidPoe Yes. Should be an easy fix once the Perl 5 call is found.
15:14 itz_stmuk v6β
15:14 [Coke] ooooh, I think I have a PM group with a good name to use. :)
15:14 ely-se joined #perl6
15:15 colomon joined #perl6
15:15 CurtisOvidPoe And this is the one which is causing me to redo some slides for my talk: https://rt.perl.org/Public/​Bug/Display.html?id=126390
15:18 govt joined #perl6
15:19 itz_stmuk [Coke]: which one?
15:20 lizmat CurtisOvidPoe: sorry, won't be able to fix that before Mon
15:20 CurtisOvidPoe Kind of figured that one :)
15:20 CurtisOvidPoe It looks non-trivial.
15:20 RabidGravy CurtisOvidPoe, that latter if you put a URI.new anywhere outside the start { } will work
15:21 CurtisOvidPoe Can someone point me to an example of *interesting* concurrent code that will fit on a slide?
15:21 RabidGravy the problem is tracked right down to something in the way URI loads the grammar
15:21 [Coke] itz_stmuk: itz_a_surprise
15:21 CurtisOvidPoe Note: sleepsort is funny, not interesting :)
15:22 CurtisOvidPoe Hmm, grammars have deadlocks?
15:22 lizmat afk for a bit, maybe longer
15:23 RabidGravy who knows? There's quite a lot of stuff going on in the constructor
15:23 CurtisOvidPoe Time to break out the coffman conditions. Though I’d be surprised if merely parsing a grammar grabs an unshareable resource.
15:24 RabidGravy i.e. perl6 -MHTTP::UserAgent -MURI -e 'my $url = "http://www.rakudo.org/"; URI.new; my $ua = HTTP::UserAgent.new; await start { say $ua.get($url) }' # works fine
15:25 hobbs joined #perl6
15:25 RabidGravy as long as it has required the grammar before hitting the thread
15:25 itz_stmuk It's a pity Advent.pm was used
15:26 itz_stmuk and that none of these contain spaces
15:27 RabidGravy CurtisOvidPoe, so you could use the original example you had in mind but just gloss over the seemingly useless URI.new at the top of the code
15:27 CurtisOvidPoe RabidGravy: Hmm, I’ll give that a try.
15:34 jdv79 or apply my PR
15:34 oha joined #perl6
15:35 jdv79 it seems to be something with require'ing something that's already loaded and threads
15:35 rindolf joined #perl6
15:35 jdv79 but the code that triggers it in URI is lame imo
15:36 jdv79 RabidGravy: do you even get that constructor?
15:37 RabidGravy yeah
15:37 RabidGravy it works
15:37 [Coke] anyone run the inline Perl 5 tests recently?
15:37 jdv79 i know it works.  lots of stuff can work and be lame.
15:38 RabidGravy er, I thought you meant something else
15:38 PerlJam What's the P6 equivalent ot P5's   s///r ?   /me is drawing a blank
15:39 kjs_ joined #perl6
15:39 Ataul joined #perl6
15:40 psch PerlJam: S/// i think?
15:40 psch m: $_ = "foo"; say S/o/u/; .say
15:40 camelia rakudo-moar 782b13: OUTPUT«「o」␤foo␤»
15:40 psch ISTR something changed there recently, though
15:41 psch m: my $x = "foo"; my $y = $x ~~ S/o/O/; say $x; say $y
15:41 camelia rakudo-moar 782b13: OUTPUT«foo␤「o」␤»
15:41 PerlJam I thought it was S/// too, but then I tried it :)
15:41 [Coke] t/spec/S17-supply/throttle.t failing for me locally (no surprise. :(
15:41 TimToady someone broke S///
15:42 Ataul Can someone help me with the GUI part of Perl
15:42 [Tux] joined #perl6
15:42 psch i think the S/// breakage is from 32d7b083
15:42 TimToady my fault for not writing tests
15:42 PerlJam Ataul: GUI part of Perl 6?
15:42 psch s/is/might be/
15:42 Ataul Yes
15:42 PerlJam Ataul: what's the question?
15:43 PerlJam or problem
15:43 PerlJam or whatever
15:43 Ataul will Tk module work fine in Perl 6
15:43 lizmat [Coke]: which test is failing for Supply.throttle ?
15:44 Ataul i haven't installed perl 6 yet. just curious to know about perl 6
15:44 itz_stmuk Ataul: no but GTK might
15:44 Ataul ok. Thanks
15:45 lizmat moritz: looks like dalek is awol again
15:46 skarn joined #perl6
15:46 PerlJam Ataul: you could make a Tk binding for Perl 6 :)
15:46 tokuhiro_ joined #perl6
15:46 Ataul What do you guys think best module to work for perl GUI?
15:46 Ataul Tk? or do u suggest something else
15:47 mattn joined #perl6
15:47 PerlJam There aren't as many options for GUIs for Perl 6 as there are for Perl 5  (yet).
15:48 [Coke] lizmat: didn't save it. "S17 fails under load" is an unfortunate reality. :|
15:48 Ataul ok
15:48 PerlJam If I were going to write a GUI app right now in Perl, I would use Perl 5.
15:48 Ataul ok.. Thanks [perlJam]
15:49 pink_mist . o O ( if PerlJam is [PerlJam], does that mean [Coke] is [[Coke]]? )
15:49 lsm-desktop joined #perl6
15:49 PerlJam pink_mist: only if you speak POSIX
15:49 pink_mist hah
15:50 dalek joined #perl6
15:50 RabidGravy bindings for GUI libraries tend to be a lot of work so you have to be peculiarly motivated I guess ;-)
15:50 telex joined #perl6
15:50 PerlJam or have figured out a way to automate most of the work.
15:50 RabidGravy indeed
15:50 colomon joined #perl6
15:52 grondilu joined #perl6
15:53 nine I dare say there aren't even that many good options for GUIs in Perl 5...
15:53 keix joined #perl6
15:54 Ataul @nine I agree
15:55 itz_stmuk I wouldn't even write a GUI in perl 5 TBH
15:57 pollei joined #perl6
15:58 mattn_jp joined #perl6
15:58 dalek rakudo/nom: 0e26a47 | lizmat++ | / (2 files):
15:58 dalek rakudo/nom: Oops, forgot to also change the generator
15:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0e26a472e7
15:59 pollei left #perl6
16:00 mattn_jp joined #perl6
16:00 ilmari [Coke]: ’ is not an apostrophe
16:01 ilmari ' is an apostrophe
16:01 pollei joined #perl6
16:01 ilmari ’ - U+02019 - RIGHT SINGLE QUOTATION MARK
16:01 ilmari that's for closing a quotation started by ‘ - U+02018 - LEFT SINGLE QUOTATION MARK
16:01 ilmari https://tedclancy.wordpress.com/2015/0​6/03/which-unicode-character-should-re​present-the-english-apostrophe-and-why​-the-unicode-committee-is-very-wrong/
16:01 mattn_jp joined #perl6
16:02 ilmari if you absolutely want something unicodey, use ʼ - U+002BC - MODIFIER LETTER APOSTROPHE
16:02 masak 'night, #perl6
16:04 dalek roast: 22d8cbe | lizmat++ | S17-supply/throttle.t:
16:04 dalek roast: Hopefully make test less load sensitive
16:04 dalek roast: review: https://github.com/perl6/roast/commit/22d8cbe2cf
16:04 pink_mist ilmari: I read that blog post a month or two ago .. he has some very good points imo
16:04 ilmari pink_mist: yeah
16:06 mattn_jp joined #perl6
16:08 rbk_ joined #perl6
16:10 [Coke] ilmari: thank you.
16:11 Ven joined #perl6
16:13 loren night, #perl6 .. o/
16:13 rbk_ msg I downloaded rakudo-star-2015.09.tar.gz and did tar zxvf into the directory rakudo-star-2015.09
16:13 rbk_ When I run perl Configure.pl --backend=moar --gen-moar
16:14 rbk_ I get the following errors
16:17 rbk_ 3rdparty/libuv/src/unix/fs.c: In function ‘uv__fs_read’:  3rdparty/libuv/src/unix/fs.c:248:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]       static int no_preadv;       ^  3rdparty/libuv/src/unix/fs.c: In function ‘uv__fs_write’:  3rdparty/libuv/src/unix/fs.c:606:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]       static int no_pwritev;
16:17 grondilu what's your compiler?
16:17 rbk_ I am using gcc version 4.8.2
16:18 rbk_ on linux
16:18 gfldex gcc (Debian 4.9.2-10) 4.9.2 works fine for me
16:19 n0tjack joined #perl6
16:19 rbk_ Oh, ok. Thank you gfldex and grondilu
16:19 rbk_ I will try with 4.9.2
16:19 RabidGravy yeah 5.1.1 here and a few warnings but no error
16:20 rbk_ Thanks, RabidGravy
16:20 grondilu gcc (Raspbian 4.9.2-10) 4.9.2
16:20 grondilu Copyright (C) 2014 Free Software Foundation, Inc.
16:20 grondilu This is free software; see the source for copying conditions.  There is NO
16:20 grondilu warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16:20 grondilu (sorry for the verbose output, ran /exec -out gcc --version)
16:20 rbk_ How about gcc 5.2? Did anybody try that?
16:21 grondilu looks fairly bleeding edge
16:21 grondilu give it a try and report to us :)
16:21 RabidGravy I just take what I get ;-)
16:22 rbk_ Yeah, I will try and report back :)
16:24 rbk_ Yesterday I tried to install git so I can do git clone
16:25 rbk_ git installed successfully, but when I tried to clone, it said "No remote helper for https" available
16:26 mattn_jp joined #perl6
16:27 dalek rakudo/nom: d70ff74 | coke++ | docs/release_guide.pod:
16:27 dalek rakudo/nom: use more -correct- unicode
16:27 dalek rakudo/nom:
16:27 dalek rakudo/nom: ilmari++
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d70ff74d4c
16:27 rbk_ Any ideas on how to make enable https for git?
16:27 [Coke] ilmari: ^^ better?
16:27 mattn_jp joined #perl6
16:27 ilmari rbk_: use an https url
16:27 itz_stmuk lizmat++ # 100% passes now
16:27 araujo joined #perl6
16:29 ilmari [Coke]: yes
16:29 rbk_ ilmari: I tried the url git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew
16:29 gfldex rbk_: what's your git --version ?
16:29 [Coke] rbk_: https://github.com/tadzik/rakudobrew.git
16:29 ilmari rbk_: and what happened?
16:30 [Coke] You appear to be missing a .git
16:30 ilmari [Coke]: theres's a bunch of ’ being used as apostrophes in docs/announce/ as well
16:30 rbk_ git version 2.6.1
16:31 dalek rakudo/nom: a76c349 | coke++ | docs/announce/2015.10.md:
16:31 dalek rakudo/nom: use more -correct- unicode
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom:     ilmari++
16:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a76c349870
16:31 [Coke] ilmari: done.
16:31 ilmari coke++
16:31 rbk_ ilamari: I got the message Unable to find remote helper for https
16:31 PrometheusX_ joined #perl6
16:32 gfldex rbk_: you may be missing curl
16:32 [Coke] rbk_: how did you install git?
16:32 [Coke] (missing .git on that url doesn't seem to matter, ah well)
16:32 ilmari gfldex: does git really use curl?!
16:32 ilmari do you mean libcurl?
16:33 gfldex libcurl actually, last time i checked
16:33 ilmari yeah, /usr/lib/git-core/git-remote-http on my system is linked against libcurl-gnutls.so.4
16:33 rbk_ I followed the isntructions from https://git-scm.com/book/en/v2/​Getting-Started-Installing-Git
16:33 mattn_jp why don't use single quote? because avoiding issues on markdown?
16:33 gfldex on debian/stable dep: libcurl3-gnutls (>= 7.16.2)
16:33 ilmari rbk_: which linux distribution are you using?
16:34 gfldex rbk_: if you are on debian you could try to install git-all
16:34 rbk_ I am using RedHat
16:34 kmel joined #perl6
16:34 gfldex there is your problem! :->
16:35 ilmari rbk_: that page has many different ways of installing it. which did you use?
16:35 AlexDaniel joined #perl6
16:36 rbk_ I followed the instructions at the end of that page under the heading "Then, compile and install:"
16:36 ilmari rbk_: why did you not not use the "installing on linux" instructions at the top?
16:36 ilmari "sudo yum install git"
16:36 ^elyse^ joined #perl6
16:37 rbk_ ilmari: I don't have root access this linux box
16:37 ilmari rbk_: ask whoever has root to install it for you
16:37 ilmari or at least openssl-devel, so you can build your own with https support
16:38 rbk_ ilmari: Thank you, I will that
16:38 gfldex or you try to substitute https with http or git
16:38 ilmari for the specific case of github, yes
16:38 mattn_jp anyone help me please.
16:38 Hor|zon_ joined #perl6
16:38 mattn_jp now I'm trying to port Plack::Middleware::ErrorDocument.
16:39 mattn_jp And I'm having problem to pass arguments like perl5 as below
16:39 mattn_jp 500 => '/path/to/500.html'
16:39 dalek rakudo/nom: fb39bda | PerlJam++ | / (2 files):
16:39 dalek rakudo/nom: tool for Coke++
16:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb39bda0a2
16:39 rbk_ gfldex: I tried replacing https with http. Even for http, it gave me remote helper not found message
16:40 mattn_jp But perl6 occur errors when arguments are defined as *%args
16:40 mattn_jp for example: sub enable(*%args) { say %args; }
16:40 gfldex mattn_jp: see http://design.perl6.org/S06.html#Named_arguments
16:40 ilmari rbk_: looks like you don't have curl-devel either
16:40 rbk_ gfldex: I tried with git://   and it just hangs there
16:40 ilmari rbk_: looks like you're firewalled
16:40 ilmari rbk_: just get your sysadmin to install git using yum already
16:40 PerlJam mattn_jp: What's the error(s) you get ?
16:40 mattn_jp gfldex: yes, i know. but: this should work. enable foo => 1, bar => 2;
16:41 mattn_jp but enable 500 => 1;
16:41 mattn_jp this doesn't
16:41 gfldex rbk_: are you in some educational institution?
16:41 mattn_jp Too many positionals passed; expected 0 arguments but got 1
16:41 gfldex mattn_jp: try '500' => 1
16:41 rbk_ I am working for a telcom company
16:41 psch m: sub enable (*%args) { say %args }; enable 500 => 1
16:41 camelia rakudo-moar 0e26a4: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub enable at /tmp/d1Rss6TeA4:1␤  in block <unit> at /tmp/d1Rss6TeA4:1␤␤»
16:41 mattn_jp but not same as perl5 way.
16:41 gfldex rbk_: i'm sorry to hear that :->
16:41 ilmari m: sub (*%args) { say %args }( '500' => 1 )
16:41 psch m: sub enable (*%args) { say %args }; enable foo => 1
16:41 camelia rakudo-moar 0e26a4: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub  at /tmp/wECqwQHWTp:1␤  in block <unit> at /tmp/wECqwQHWTp:1␤␤»
16:41 camelia rakudo-moar 0e26a4: OUTPUT«foo => 1␤»
16:42 ilmari m: sub (*%args) { say %args }( 'foo' => 1 )
16:42 camelia rakudo-moar 0e26a4: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub  at /tmp/rI3GYMkA76:1␤  in block <unit> at /tmp/rI3GYMkA76:1␤␤»
16:42 ilmari m: sub (*%args) { say %args }( foo => 1 )
16:42 camelia rakudo-moar 0e26a4: OUTPUT«foo => 1␤»
16:42 nine mattn_jp: named arguments must be valid identifiers
16:42 nine mattn_jp: they cannot start with numbers
16:42 ilmari m: sub (%args) { say %args }( (500 => 1) )
16:42 camelia rakudo-moar 0e26a4: OUTPUT«500 => 1␤»
16:42 mattn_jp m: sub enable(|args) { say args; }; enable 500 => 1;
16:43 camelia rakudo-moar 0e26a4: OUTPUT«\(500 => 1)␤»
16:43 mattn_jp i know this way works fine but. can't define with types.
16:43 Hor|zon joined #perl6
16:43 psch m: sub enable(|args) { say args.hash; }; enable 500 => 1;
16:43 camelia rakudo-moar 0e26a4: OUTPUT«Map.new()␤»
16:44 psch mattn_jp: as nine says, '500 => 1' is not a valid named argument
16:44 rbk_ ilmari: gfldex: Thanks a lot for your suggestions, I will try them
16:44 nine m: sub foo(:$500) { }
16:44 camelia rakudo-moar 0e26a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qw45WtLJN4␤Cannot declare a numeric parameter␤at /tmp/qw45WtLJN4:1␤------> 3sub foo(:$5007⏏5) { }␤»
16:44 mattn_jp psch: is it spec of perl6?
16:45 mattn_jp http://search.cpan.org/dist/Plack/li​b/Plack/Middleware/ErrorDocument.pm
16:45 nine mattn_jp: why are you trying to pass that as named argument anyway? Couldn't you just accept a positional one? You will get a Pair.
16:45 psch mattn_jp: i'm pretty confident it is, yes
16:45 nine m: sub foo($arg) { say "{$arg.key}, {$arg.value}"; }; foo 500 => 1;
16:45 camelia rakudo-moar 0e26a4: OUTPUT«500, 1␤»
16:46 adu joined #perl6
16:46 PerlJam mattn_jp: S06:Named arguments
16:46 PerlJam mattn_jp: S06:778
16:46 PerlJam oh, no bot
16:47 psch m: my enum HTTPCodes <200, 400, 500>; sub f(%h) { %h.perl.say }; f 500 => 1;
16:47 camelia rakudo-moar 0e26a4: OUTPUT«500 => 1␤»
16:47 psch vOv
16:47 psch that's just hacking around it, and i'd actually discourage it :P
16:47 synbot6 joined #perl6
16:47 mattn_jp m: sub foo($arg) { say "{$arg.key}, {$arg.value}"; }; foo foo => 1;
16:47 camelia rakudo-moar 0e26a4: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub foo at /tmp/hLn_VS62Hv:1␤  in block <unit> at /tmp/hLn_VS62Hv:1␤␤»
16:47 tokuhiro_ joined #perl6
16:47 mattn_jp my fault
16:47 ilmari m: grep { / ^ <[A..Z]> \w+ / }, <foo Bar bat Zoot>
16:47 camelia rakudo-moar 0e26a4: ( no output )
16:48 ilmari m: say grep { / ^ <[A..Z]> \w+ / }, <foo Bar bat Zoot>
16:48 camelia rakudo-moar 0e26a4: OUTPUT«(Bar Zoot)␤»
16:48 mattn_jp m: sub enable($arg) { say "{$arg.key}, {$arg.value}"; }; enable foo => 1;
16:48 camelia rakudo-moar 0e26a4: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub enable at /tmp/d6rNy5ybwe:1␤  in block <unit> at /tmp/d6rNy5ybwe:1␤␤»
16:48 ilmari bah, my rakudo is too old
16:48 * ilmari nukes and rebuilds
16:49 mattn_jp P::M::E should take multiple arguments with number prefixed keys.
16:49 nine m: sub enable($arg) { say "{$arg.key}, {$arg.value}"; }; enable "foo" => 1;
16:49 camelia rakudo-moar 0e26a4: OUTPUT«foo, 1␤»
16:49 nine mattn_jp: ^^^
16:50 mattn_jp m: sub enable($arg) { say "{$arg.key}, {$arg.value}"; }; enable "foo" => 1, "bar" => 2;
16:50 camelia rakudo-moar 0e26a4: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in sub enable at /tmp/JKkEasrROq:1␤  in block <unit> at /tmp/JKkEasrROq:1␤␤»
16:50 ilmari m: sub enable (%args) { say %args }; enable foo => 42, 500 => 37
16:50 camelia rakudo-moar 0e26a4: OUTPUT«Unexpected named parameter 'foo' passed␤  in sub enable at /tmp/G8p0gkfBtk:1␤  in block <unit> at /tmp/G8p0gkfBtk:1␤␤»
16:50 ilmari m: sub enable (%args) { say %args }; enable (foo => 42, 500 => 37)
16:50 camelia rakudo-moar 0e26a4: OUTPUT«Type check failed in binding %args; expected Associative but got List␤  in sub enable at /tmp/htVJ3kBfy7:1␤  in block <unit> at /tmp/htVJ3kBfy7:1␤␤»
16:50 ilmari m: sub enable (%args) { say %args }; enable {foo => 42, 500 => 37}
16:50 camelia rakudo-moar 0e26a4: OUTPUT«500 => 37, foo => 42␤»
16:51 nine m: sub enable(@args) { say "{$_.key}, {$_.value}" for @args; }; enable "foo" => 1, 500 => 37;
16:51 camelia rakudo-moar 0e26a4: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in sub enable at /tmp/hUgfTNzQWr:1␤  in block <unit> at /tmp/hUgfTNzQWr:1␤␤»
16:51 nine m: sub enable(*@args) { say "{$_.key}, {$_.value}" for @args; }; enable "foo" => 1, 500 => 37;
16:51 camelia rakudo-moar 0e26a4: OUTPUT«foo, 1␤500, 37␤»
16:51 mattn_jp needless braces...
16:51 mattn_jp so quote is required?
16:52 nine m: sub enable(*@args, *%args) { say "{$_.key}, {$_.value}" for flat @args, %args; }; enable foo => 1, 500 => 37;
16:52 camelia rakudo-moar 0e26a4: OUTPUT«500, 37␤foo, 1␤»
16:52 rurban joined #perl6
16:52 araujo joined #perl6
16:52 nine mattn_jp: there's a way around that ^^^
16:52 psch mattn_jp: it really depends on your motivation
16:52 mattn_jp yes man!
16:52 mattn_jp awesome.
16:52 psch mattn_jp: from what i can see you want to copy the interface 1:1 from perl5, which i don't know if that's a good idea
16:53 nine mattn_jp: what psch++ said.
16:53 psch mattn_jp: if you're set on that there's two ways around it, the one shown by nine++ probably the cleaner one
16:53 edehont joined #perl6
16:53 mattn_jp thanks. nine/psch
16:55 mattn_jp will apply this into https://github.com/tokuhirom/p6-Crust/blob/m​aster/lib/Crust/Middleware/ErrorDocument.pm6 :)
16:55 n0tjack What is MoarVM written in?
16:55 ilmari n0tjack: C
16:55 mattn_jp AFAIK, C.
16:56 zakharyas joined #perl6
16:56 n0tjack wow, I applaud anyone who's willing to write C so the rest of us never have to write C
16:56 ilmari 97.2% C, 1.7% Perl, 1.1% other, according to github
16:57 n0tjack Perl as in "Perl 5", or Perl as in "Perl 6"?
16:57 psch the Perl in moar is probably mostly Configure.pl
16:57 psch Perl 5
16:57 ilmari n0tjack: a bit of both. Configure is perl5, tools/* is perl6
16:57 psch oh
16:57 ilmari (and a bit of perl 5, sh and python)
16:57 n0tjack python! heretics.
16:58 psch well, i'm not really in the mvm codebase either... the C sentiment holds :)
16:58 ilmari n0tjack: it's for extending gdb
16:58 * psch goes back to debugging java... :P
16:58 n0tjack what are the major barriers to a self-hosting p6?
16:58 n0tjack (I suppose I mean above the VM level)
16:59 n0tjack why nqp instead of qp?
16:59 psch S99:Circularity_Saw
16:59 synbot6 Link: http://design.perl6.org/S99.html#Circularity_Saw
16:59 psch some pieces don't fit together to well
16:59 psch nine came across a spot with Bool, and the bit on jvm i'm working could probably also be argued to have similar causes underneath
17:00 n0tjack that link doesn't really answer thr question so much as punt it
17:00 psch m: say Attribute.^attributes[0].WHAT
17:00 camelia rakudo-moar a76c34: OUTPUT«Method 'gist' not found for invocant of class 'BOOTSTRAPATTR'␤  in block <unit> at /tmp/s3ny_JjIBG:1␤␤»
17:00 n0tjack psch: ah, well, it's an academic question anyway
17:00 psch n0tjack: ^^^ that's one of the obvious things lie beyond the vm-level
17:00 n0tjack psch: I've seen a lot of Type.^something recently -- what's with the ^?
17:01 psch n0tjack: Foo.^meth is Foo.HOW.meth(Foo)
17:01 n0tjack ah, htanks
17:01 n0tjack also, and in addition, thanks.
17:01 psch n0tjack: HOW is the Higher Order Workings, i.e. the meta object
17:01 psch m: Any.HOW.^name.say
17:01 camelia rakudo-moar a76c34: OUTPUT«Perl6::Metamodel::ClassHOW␤»
17:02 n0tjack m: Mu.HOW.say;
17:02 camelia rakudo-moar a76c34: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
17:02 mattn_jp one more question.
17:02 mattn_jp is it possible to inherit Any?
17:02 psch mattn_jp: everything automatically inherits from Any
17:02 mattn_jp for example, making to-json method for all types.
17:03 psch m: class Foo { }; Foo.^mro.say
17:03 camelia rakudo-moar a76c34: OUTPUT«((Foo) (Any) (Mu))␤»
17:03 psch (terms and conditions may apply)
17:03 virtualsue joined #perl6
17:03 psch mattn_jp: you want to mixin into Any, which currently has strong caveats - i.e. you need to recompose every object that's supposed to know about the mixin
17:03 tokuhirom_ joined #perl6
17:04 psch mattn_jp: if this is only about supplying and object-y notation you can use object notation with routine names directly
17:04 mattn_jp psch: it's not possible to add_method on Any.
17:04 mattn_jp Should be mu?
17:05 dalek rakudo/nom: 75e92fc | diakopter++ | src/Perl6/Actions.nqp:
17:05 dalek rakudo/nom: fix S///
17:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/75e92fcd71
17:05 dalek rakudo/nom: 6c810d8 | diakopter++ | / (3 files):
17:05 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
17:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c810d8047
17:05 psch m: Any.^add_method("foo", method (Any: ) { say "impossible" }); Any.foo
17:05 camelia rakudo-moar a76c34: OUTPUT«impossible␤»
17:05 gfldex mattn_jp: it is possible to add_method to Any but it wont bubble up to childs
17:05 firstdayonthejob joined #perl6
17:05 psch mattn_jp: it is clearly possible to add_method on Any, but you need to recompose every child that should know the method
17:05 mattn_jp gfldex: yes, that's right.
17:05 psch m: Any.^add_method("foo", method (Any: ) { say "impossible" }); Int.^compose; Int.foo
17:05 camelia rakudo-moar a76c34: OUTPUT«impossible␤»
17:05 psch m: Any.^add_method("foo", method (Any: ) { say "impossible" }); Int.foo
17:05 camelia rakudo-moar a76c34: OUTPUT«Method 'foo' not found for invocant of class 'Int'␤  in block <unit> at /tmp/_i5IfdSLP2:1␤␤»
17:06 psch (recomposing the class that had the method added is also something you probably want to do, due to caching)
17:06 PerlJam mattn_jp: besides ... you could just use the to-json multi-sub that comes with Rakudo :)
17:06 psch m: Any.&to-json.say
17:06 camelia rakudo-moar a76c34: OUTPUT«null␤»
17:06 psch ^^^ that's the object-y notation i was talking about a bit before
17:06 mattn_jp hmm.
17:06 ilmari m: Any.new.&to-json.say
17:06 camelia rakudo-moar a76c34: OUTPUT«Can't serialize an object of type Any␤  in block <unit> at /tmp/KffYLvQ4zH:1␤␤»
17:07 ilmari m: Date.today.&to-json.say
17:07 camelia rakudo-moar a76c34: OUTPUT«Can't serialize an object of type Date␤  in block <unit> at /tmp/dvWYTXYABm:1␤␤»
17:07 ilmari m: Date.today.say
17:07 camelia rakudo-moar a76c34: OUTPUT«2015-10-22␤»
17:07 ilmari m: Date.today.Str.&to-json.say
17:07 camelia rakudo-moar a76c34: OUTPUT«"2015-10-22"␤»
17:07 diakopte1 m: $_="foo"; say S/o/l/
17:07 camelia rakudo-moar a76c34: OUTPUT«「o」␤»
17:07 mattn_jp m: Any.^add_method( 'to-json', method () { say "Jesus"; }); 1.to-json;
17:07 camelia rakudo-moar a76c34: OUTPUT«Method 'to-json' not found for invocant of class 'Int'␤  in block <unit> at /tmp/hhkt13jiVd:1␤␤»
17:07 psch m: Any.^add_method( 'to-json', method () { say "Jesus"; }); Int.^compose; 1.to-json;
17:07 camelia rakudo-moar a76c34: OUTPUT«Jesus␤»
17:08 mattn_jp oh, i/stand
17:08 mattn_jp psch: thanks!
17:08 psch mattn_jp: it's actually not a good idea to want to do that, in my opinion
17:08 mattn_jp psch: i see.
17:09 PerlJam .oO(  but, but, ruby does it!  )
17:09 PerlJam (sorta)
17:09 mattn_jp lol
17:09 psch m: Any.^add_method("foo", my method foo { say "foo" }); class Bar { method foo { say "bar" } }; Bar.new.foo
17:09 camelia rakudo-moar a76c34: OUTPUT«bar␤»
17:11 dalek roast: e82eb2d | TimToady++ | S05-substitution/subst.t:
17:11 dalek roast: add tests for S///
17:11 dalek roast: review: https://github.com/perl6/roast/commit/e82eb2dfb1
17:11 nine psch: I just can't shake the feeling that my Bool problem and your JVM Attribute thing are connected
17:12 diakopter sorry for the merge commit
17:13 raiph joined #perl6
17:13 diakopter raiph: heya
17:19 psch nine: you can try applying this diff to nqp https://gist.github.com/pe​schwa/e63482bc9c260a654f96
17:19 psch nine: err, no, not that one hold on
17:20 psch nine: updated the gist at the same link
17:21 psch nine: if it's related you should get "type object: Bool  from SC: gen/jvm/BOOTSTRAP.nqp  to SC: gen/jvm/CORE.setting" on stderr during CORE compilation
17:21 psch nine: on your branch that is
17:21 ggoebel joined #perl6
17:22 psch nine: the curious bit is, that according to all i can see from the outside moar has the same problem but just doesn't care, in contrast to jvm
17:22 psch i'll readily admit that might be because i have no clue how to verify that moar does the same stuff behind the scenes - printf debugging somehow didn't work the last time i tried :P
17:24 leont joined #perl6
17:25 [Coke] yay, looks like if I ever roll out a perl 6 web app at $dayjob, it won't have to be in java.
17:25 Ch0c0late joined #perl6
17:25 [Coke] diakopter++ welcome back. :)
17:27 FROGGS joined #perl6
17:28 jevin joined #perl6
17:28 diakopter FROGGS: sry I mangled your codegen code
17:30 diakopter m: $_="foo"; say S:Fuuuuuuuuuu/o/l/
17:30 camelia rakudo-moar 6c810d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WvLsGU5Xjp␤Adverb Fuuuuuuuuuu not allowed on substitution␤at /tmp/WvLsGU5Xjp:1␤------> 3$_="foo"; say S:Fuuuuuuuuuu/o/l/7⏏5<EOL>␤»
17:30 diakopter m: $_="foo"; say S:g/o/l/
17:30 camelia rakudo-moar 6c810d: OUTPUT«fll␤»
17:30 samb1 joined #perl6
17:30 diakopter ^ Ft Lauderdale
17:31 st_iron joined #perl6
17:31 st_iron good afternoon
17:31 FROGGS diakopter: you did what? O.o
17:31 diakopter hiiii
17:31 st_iron wow this channel is growing
17:31 st_iron it's almost Christmas
17:31 * [Coke] tries to find "S" on the doc site.
17:31 diakopter [Coke]: see TimToady's last commit to roast
17:31 mattn_jp similar to ruby: https://gist.github.com/mattn/6550bc27cf55f11d1136
17:32 FROGGS diakopter: and there is no spectest fallout? what does your patch solve?
17:32 diakopter TimToady wrote tests for it
17:32 diakopter I dunno; we didn't run the whole spectest suite
17:32 diakopter probably should...
17:32 [Coke] diakopter: sure, but I still can't find it on the doc site. :)
17:34 TimToady I ran the tests
17:34 FROGGS hah!
17:34 * TimToady is also unbreaking the S/// in smartmatch warning
17:34 FROGGS TimToady: now S/// does what I proposed it might should do :o)
17:34 TimToady I don't know what you proposed
17:34 FROGGS and also what my local code did before I changed it
17:34 TimToady S/// returned the modified string before
17:35 TimToady S/// was an experiment at the time, so was sub-documented :)
17:36 FROGGS ahh yes
17:36 dalek rakudo/nom: 006526c | TimToady++ | src/Perl6/Actions.nqp:
17:36 dalek rakudo/nom: restore S/// in smartmatch warning
17:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/006526c09f
17:36 FROGGS I proposed to return the replacement for s/// instead... http://irclog.perlgeek.de/p​erl6/2015-10-17#i_11393001
17:36 FROGGS so, nvm
17:39 n0tjack .mangle my bonnie lies over the ocean
17:39 yoleaux Further builders are above sea level
17:39 n0tjack .mangle life, the universe, and everything
17:39 yoleaux Life, the universe and everything
17:40 n0tjack .mangle Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds.
17:40 yoleaux Neither snow nor rain nor heat nor darkness of night, the completion of their appointed rounds this fast couriers.
17:40 n0tjack meh
17:42 muraiki joined #perl6
17:44 leont How can I detect if I'm running rakudo-moar or rakudo-jvm?
17:44 n0tjack perl6 --version
17:44 psch r: say $*VM
17:44 FROGGS m: say $*PERL.compiler.name
17:44 camelia rakudo-jvm 6c810d: OUTPUT«jvm (1.7)␤»
17:44 camelia ..rakudo-moar 6c810d: OUTPUT«moar (2015.9.79.gee.9.fc.2.b)␤»
17:44 camelia rakudo-moar 6c810d: OUTPUT«rakudo␤»
17:45 FROGGS ohh, $*VM...
17:45 FROGGS m: sub foo { @_ = 42; if @_ -> { say &?BLOCK } }; foo # a pointy does not set &?BLOCK?
17:45 camelia rakudo-moar 6c810d: OUTPUT«sub foo (*@_) { #`(Sub|76137832) ... }␤»
17:46 diakopter m: say $*VM
17:46 camelia rakudo-moar 6c810d: OUTPUT«moar (2015.9.79.gee.9.fc.2.b)␤»
17:46 leont $*VM.name it is
17:46 leont m: say $*VM.name
17:46 camelia rakudo-moar 6c810d: OUTPUT«moar␤»
17:47 [Coke] t/spec/S17-procasync/kill hanging on a stress test run; killing it, everything still passes.
17:48 FROGGS m: if 42 -> $a { say $a }; if 42 -> *@_ { say @_ }
17:48 camelia rakudo-moar 6c810d: OUTPUT«42␤[]␤»
17:48 FROGGS that is quite strange
17:49 psch m: if 42 -> $a { say $a }; if 42 -> *@b { say @b }
17:49 camelia rakudo-moar 6c810d: OUTPUT«42␤[]␤»
17:49 psch m: if [42] -> *@b { say @b }
17:49 camelia rakudo-moar 6c810d: OUTPUT«[]␤»
17:50 psch m: (-> *@_ { say @_ })(42)
17:50 camelia rakudo-moar 6c810d: OUTPUT«[42]␤»
17:50 FROGGS weird
17:51 psch m: if 42 -> @b { say @b }
17:51 camelia rakudo-moar 6c810d: OUTPUT«Type check failed in binding @b; expected Positional but got Int␤  in block <unit> at /tmp/xrhayv4KnY:1␤␤»
17:51 psch m: if [42] -> @b { say @b }
17:51 camelia rakudo-moar 6c810d: OUTPUT«[42]␤»
17:51 psch huh
17:51 FROGGS do we just check for the arity?
17:54 psch no idea
17:54 FROGGS P6::A:7085 is interesting
17:54 psch i have something more of a clue wrt the jvm SC stuff though
17:54 FROGGS as well as this comment: $pb.arity(1);  # gotta force this, or Block node gets optimized away
17:54 FROGGS \o/
17:55 FROGGS psch: I love you :o)
17:55 psch uh.. :x
17:55 FROGGS *g*
17:55 psch afaiu, BEGIN blocks *always* add the result to the current SC
17:55 psch which is probably not quite right
17:55 psch and 'BEGIN Attribute.^compose;' returns the new Attribute
17:57 psch -        self.add_object($r);
17:57 psch +        self.add_object_if_no_sc($r);
17:57 psch in Perl6/World.nqp:2400 might be enough...
17:57 psch eh, line 2403 actually
17:57 psch misread the git diff :)
17:59 FROGGS hmmmm
17:59 psch not sure how much we actually can/(want to) use .add_object in Perl6::World, especially if this is actually the reason for the bug
18:00 FROGGS I guess you have to add it to the current SC
18:00 FROGGS how do you want to alter the other SC? I mean, you can only load it
18:00 FROGGS that's reposession, no?
18:00 psch FROGGS: we don't want to alter the SC, the type object doesn't have any state
18:00 psch FROGGS: we want to alter the STable which knows the methods though
18:01 ^elyse^ joined #perl6
18:01 psch at least that's my understanding from what jnthn said about this whole thing... :s
18:01 FROGGS what if we reparent a type object... do we want to own it then?
18:02 psch reparent?
18:02 FROGGS like moving a type underneath a just created type... like we move stuff under Any
18:03 FROGGS just as an example
18:03 FROGGS but for Attribute, won't the recomposed Attribute not have a new STable?
18:03 psch (fwiw, make runs through with that change)
18:04 psch gotta take care of some stuff quickly, back in around 10 or so
18:04 FROGGS a precomp test might give insights
18:04 FROGGS k
18:05 FROGGS ahh I guess you don't even need a precomp test...
18:06 espadrine_ joined #perl6
18:06 FROGGS if we recompose Attribute at compile time of the setting, and dont add it to the SC of the setting, we would already know when we run the setting later
18:07 FROGGS like, we run perl6-j and the Attribute we see would still have an STable from BOOTSTRAP
18:08 xpen joined #perl6
18:09 softmoth joined #perl6
18:13 diana_olhovik_ joined #perl6
18:13 psch $ ./perl6-j -e'Attribute.map({ .say })'
18:13 psch (Attribute)
18:13 psch FROGGS: i think that proves enough, doesn't it?
18:13 psch FROGGS: 'cause .map gets added during CORE.setting compilation
18:16 nine psch: you're a genius!
18:16 jdv79 https://gist.github.com/ano​nymous/e329f07eca6b0f894162
18:16 jdv79 anyone get why the p6 one is failing?
18:16 jdv79 i don't see it 
18:16 psch nine: err, ok..? :)
18:17 jdv79 hmm, well that p5 one has my user hardcoded:(
18:17 vendethiel joined #perl6
18:18 nine psch: the good news is that with self.add_object_if_no_sc($rc); my Bool issue is finally gone! Bool.isa(Bool) now. The bad news is that I get segfaults with e.g. Bool.pick(*).elems
18:19 timotimo ah, i've finally caught up with backlog
18:19 lizmat nine: I just found out that Regex.Bool should do what I discussed earlier
18:19 lizmat it doesn't
18:19 timotimo itz_stmuk: do you realize that 10000 iterations of creating an object, assigning an attribute, and stringifying the object basically measures start-up time?
18:20 psch nine: i suspect moar is cheating somewhere with its SC handling.  no idea if that's behind your segfault though
18:20 timotimo itz_stmuk: if you add a couple zeroes, you'll be measuring our implementation of for-ing over ranges (soon to be automatically converted into a proper loop loop again, hopefully)
18:20 lizmat seems like it expects to find $_ one level up, but it needs to look up 2 levels
18:22 lizmat m: $_ = "foo"; say ?/./   # this should work, right ?
18:22 camelia rakudo-moar 006526: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/XfPgP7MSjL:1␤␤»
18:22 FROGGS psch: does that mean that the new STable get added to the SC anyway?
18:23 FROGGS m: $_ = "foo"; say ?m/./
18:23 camelia rakudo-moar 006526: OUTPUT«True␤»
18:23 FROGGS lizmat: this should
18:24 lizmat apparently, Regex.Bool is now 2 call frames away from the callee
18:24 lizmat if I look up one more level, it all works
18:24 FROGGS I wonder why ?/./ tries to match at all... is it meant to?
18:24 lizmat it is meant to, looking at Regex.Bool
18:24 FROGGS star-m: $_ = "foo"; say ?/./
18:24 camelia star-m 2015.09: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/IUHuTqbuKG:1␤␤»
18:25 lizmat so it's been broken for a while  :-)
18:25 lizmat but Regex.Bool tries to find $_ to match with and return its result
18:25 lizmat and even set $/
18:26 psch FROGGS: afaiu, there's a fixup for the STable during deserialization of CORE
18:26 psch FROGGS: the type object itself gets deserialized from BOOTSTRAP
18:26 FROGGS hmmm, so the STable makes it to the new SC
18:26 lizmat FROGGS: question is now whether the fact that the proto is not oprtimized away, is the bug
18:26 FROGGS otherwise there would be no fixup
18:27 nine lizmat: when code depends on an optimization to work, I become nervous
18:27 lizmat yeah
18:27 FROGGS lizmat: and I guess the (perhaps more expensive) CALLERS does not work there?
18:28 lizmat will try
18:28 lizmat CALLER::CALLER worked  :-)
18:28 FROGGS nine: there is low level code that does not ignore protos, and then there is high level code that does
18:28 FROGGS lizmat: CALLER*S*
18:28 lizmat yeah...  :-)
18:29 Hor|zon joined #perl6
18:29 FROGGS CALLER      # Contextual symbols in the immediate caller's lexical scope
18:29 FROGGS CALLERS     # Contextual symbols in any caller's lexical scope
18:29 FROGGS not quite what I thought but it might still work
18:29 itz_stmuk timotimo: I had more zeros at first but got bored of waiting
18:30 itz_stmuk timotimo: I'll experiment and probably update
18:30 FROGGS CLIENT might not work in this case though
18:30 timotimo hah
18:31 lizmat FROGGS: CALLERS doesn't cut it
18:31 psch FROGGS: actually, i remember having debug-seen repossession of the Attribute STable to CORE
18:31 FROGGS :/
18:31 FROGGS psch: that's good then
18:32 lizmat FROGGS: trying CLIENT
18:32 psch FROGGS: i'm still wondering what's behind moar never having cared about the reassignment of the SC...
18:33 FROGGS lizmat: if the $_ is now always to frames away, then just add another nqp::ctxcaller or what it is called...
18:33 lizmat FROGGS: yeah, that works, tried that
18:33 lizmat but it feels fragile
18:33 FROGGS lizmat: why? because someone might remove the proto?
18:34 lizmat or it might be optimized away ?
18:34 nine lizmat: how do you feel about rebasing curli on nom? Right now there are more merge commits in it than real ones.
18:34 kjs_ joined #perl6
18:34 lizmat nine: not a good idea, because it contains some WIP of mine
18:34 psch MVM_sc_set_obj_sc calls MVM_sc_set_collectable_sc, and the latter doesn't really make sense to me
18:34 lizmat which breaks precomp atm
18:34 nine lizmat: understood
18:34 FROGGS lizmat: I guess the optimization should either not optimize/inline stuff that fiddles with caller or it should fake the inlined frames so caller works
18:35 itz_stmuk 90 wallclock s for perl 6 v 120 for perl5 with 1m objs
18:35 itz_stmuk YMMV
18:35 lizmat well, sometime in the past, something happened there, and Regex.Bool broke
18:35 lizmat wonder if that happened during the GLE
18:35 lizmat GLR
18:35 itz_stmuk . o O ( I should compile the perl5 with threads )
18:35 psch itz_stmuk: that's object creation on Moose vs rakudo-m?
18:35 psch (just guessing :s )
18:36 itz_stmuk basically yes
18:36 nine itz_stmuk: is it with immutable Moose classes?
18:36 itz_stmuk no
18:37 nine The __PACKAGE__->meta->make_immutable; has huge performance impact on object creation
18:37 nine Since it inlines the constructor
18:37 itz_stmuk its a naive test .. I didn't want to customize too heavily
18:37 itz_stmuk I suppose I could have used ints on the loop
18:38 itz_stmuk and not used say since ours isn't buffered
18:38 itz_stmuk etc etc
18:38 jdv79 moose without make_immutable is unthinkable!
18:39 itz_stmuk I've seen plenty of production code without it
18:39 jdv79 must not be perf sensitive then
18:40 lizmat FROGGS: Regex.ACCEPTS uses the same idea to access $/, but that *does* work correctly with only 1 level
18:40 jdv79 seems H::UA may not know how to consume cookies very well
18:41 dalek doc: 7e45aeb | (Steve Mynott)++ | doc/Language/faq.pod:
18:41 dalek doc: [FAQ] bump example to 1m objs timotimo++
18:41 dalek doc: review: https://github.com/perl6/doc/commit/7e45aeb15f
18:42 xenu win 11
18:42 xenu oops
18:42 xenu ;)
18:43 FROGGS :o)
18:44 timotimo itz_stmuk: and the timings?
18:44 timotimo also, i really like putting _ into numbers that match 1 0+
18:44 FROGGS m: $_ = "foo"; (/./).Bool; say $/
18:44 camelia rakudo-moar 006526: OUTPUT«「f」␤»
18:45 FROGGS m: $_ = "foo"; ?/./; say $/
18:45 camelia rakudo-moar 006526: OUTPUT«WARNINGS:␤Useless use of "?" in expression "?/./" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/PiG1Xw6LUd:1␤␤»
18:45 itz_stmuk see above .. just trying immutable moose
18:45 FROGGS m: $_ = "foo"; ?(/./); say $/
18:45 camelia rakudo-moar 006526: OUTPUT«WARNINGS:␤Useless use of "?" in expression "?(/./)" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/RqNEa1VxP3:1␤␤»
18:45 FROGGS lizmat: that's why I dont understand currently
18:45 itz_stmuk immutable moose doesn't seem to make much difference
18:46 timotimo that's very weird
18:46 timotimo BBIAB
18:46 jdv79 https://gist.github.com/ano​nymous/3af1447cd2859ff2a54b seems like a solid lead on the issue
18:46 itz_stmuk maybe recent Moose is clever
18:46 lizmat FROGGS: $ 6 '$_ = "foo"; ?/./; say $/'
18:46 lizmat WARNINGS:
18:46 lizmat Useless use of "?" in expression "?/./" in sink context (line 1)
18:46 lizmat 「f」
18:46 lizmat but with this change, I get quite a lot of spectest breakage
18:46 FROGGS m: $_ = "foo"; (/./).Bool; say $/ # lizmat: does this still work?
18:46 camelia rakudo-moar 006526: OUTPUT«「f」␤»
18:47 itz_stmuk or maybe reini is right about recent perl 5s ;) *joke*
18:47 FROGGS hehe
18:47 lizmat FROGGS: no it's not  :-(
18:47 lizmat grrr
18:48 FROGGS lizmat: that means ?/./ compiles wrongish?
18:48 lizmat ah, hmmm... good point
18:49 tokuhiro_ joined #perl6
18:49 lizmat lemme check
18:50 RabidGravy jdv79, can you make that into a test and PR it on github?  A fix would be better of course, but unless there's a test or an issue or something it won't get done
18:50 FROGGS m: $_ = "foo"; prefix:<?>(/./)
18:50 camelia rakudo-moar 006526: OUTPUT«WARNINGS:␤Useless use of "prefix:<?>(/./)" in expression "prefix:<?>(/./)" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/K8tRWY4RsX:1␤␤»
18:50 jdv79 i'm still having energy to dig
18:51 jdv79 i'll at least bug it
18:51 FROGGS lizmat: does that just mean that the prefix:<?>() call adds another indirection?
18:52 lizmat the proto for Bool occurs in the stack trace
18:52 lizmat with ?/./
18:52 zostay joined #perl6
18:52 FROGGS m: sub booly(Mu $thing) { $thing.Bool }; $_ = "foo"; booly(/./); say $/
18:52 camelia rakudo-moar 006526: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in sub booly at /tmp/MMRlsTZTp7:1␤  in block <unit> at /tmp/MMRlsTZTp7:1␤␤»
18:52 FROGGS lizmat: like in here
18:53 FROGGS that's the same as what prefix:<?> does I guess
18:53 * lizmat checks
18:53 dalek rakudo/nom: 582661f | TimToady++ | src/Perl6/Actions.nqp:
18:53 dalek rakudo/nom: Allow list assoc and meta ops to autoprime
18:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/582661f3c0
18:53 FROGGS m: sub booly(Mu $thing) { $_ := CALLER::<$_>; $thing.Bool }; $_ = "foo"; booly(/./); say $/
18:53 camelia rakudo-moar 006526: OUTPUT«Nil␤»
18:53 lizmat multi sub prefix:<?>(Mu \a) { a.Bool }
18:54 dalek roast: 113c002 | TimToady++ | S02-types/whatever.t:
18:54 dalek roast: tests for * with X and Z metaops
18:54 dalek roast: review: https://github.com/perl6/roast/commit/113c002801
18:54 FROGGS m: sub booly(Mu $thing) { $_ := CALLERS::<$_>; $thing.Bool }; $_ = "foo"; booly(/./); say $/
18:54 camelia rakudo-moar 006526: OUTPUT«Nil␤»
18:54 FROGGS m: sub booly(Mu $thing) { say $_ := CALLER::<$_>; $thing.Bool }; $_ = "foo"; booly(/./); say $/
18:54 camelia rakudo-moar 006526: OUTPUT«foo␤Nil␤»
18:54 zostay someone suggested an interesting method call operator for perl 5 just now as a shortcut for (ref $a && $a->do): $a//->do;
18:54 FROGGS m: sub booly(Mu \thing) { say $_ := CALLER::<$_>; thing.Bool }; $_ = "foo"; booly(/./); say $/
18:54 camelia rakudo-moar 006526: OUTPUT«foo␤Nil␤»
18:54 FROGGS why is that Nil?
18:54 lizmat FROGGS: all of the Bool prefixes where last changed almost a year ago
18:55 TimToady m: say 'foo' ~~ S/o/O/
18:55 camelia rakudo-moar 006526: OUTPUT«Potential difficulties:␤    Smartmatch with S/// can never succeed because the subsequent string match will fail␤    at /tmp/bIfqTYwJJ4:1␤    ------> 3say 'foo' ~~ S/o/O/7⏏5<EOL>␤False␤»
18:55 timotimo itz_stmuk: i'm very surprised we're faster than p5 on this
18:55 FROGGS lizmat: and you know how long it is broken?
18:55 TimToady m: say S/o/O/ given 'foo'
18:55 camelia rakudo-moar 006526: OUTPUT«fOo␤»
18:55 lizmat well, at least since Rakudo 2015.09  :-)
18:55 lizmat is what you established
18:56 FROGGS zostay: that's nice indeed... :o)
18:56 itz_stmuk timotimo: its roughly the same .. my systems seem to have p6 slightly faster but YMMV
18:56 FROGGS lizmat: and you know that it worked every before?
18:56 FROGGS ever*
18:56 lizmat well, looking at the code in Regex.Bool, I think it is expected ?
18:57 lizmat I think the problem really is that prefix:? is no longer inlined or so
18:57 lizmat FROGGS: I'll put in some code to look for the first defined $_ now
18:57 lizmat so at least it works in the release
18:57 FROGGS even if we inlined it, it should not have an effect of the caller ops
18:58 lizmat ok, then it maybe has never worked
18:58 lizmat the prefix:<?> just adds another level
18:58 FROGGS *nod*
18:58 lizmat so I'll create a separate candidate to be used by prefix:<?>
19:01 FROGGS m: $_ = "foo"; !/./; say $/
19:01 camelia rakudo-moar 006526: OUTPUT«WARNINGS:␤Useless use of "!" in expression "!/./" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/DdQtAtMogV:1␤␤»
19:01 dalek doc: 5d7b737 | (Steve Mynott)++ | doc/Language/faq.pod:
19:01 dalek doc: [FAQ] underscores in 1m and immutable moose
19:01 dalek doc: review: https://github.com/perl6/doc/commit/5d7b737d1f
19:01 FROGGS m: $_ = "foo"; so /./; say $/
19:01 camelia rakudo-moar 006526: OUTPUT«WARNINGS:␤Useless use of "so " in expression "so /./" in sink context (line 1)␤Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/viP_UsrLLP:1␤␤»
19:01 itz_stmuk 45s p6 v 55s p5 on another system with those versions
19:01 zostay m: class Foo { method foo(Foo:D:) { say 'foo' } }; my Foo $f; $f.?foo;
19:01 camelia rakudo-moar 006526: OUTPUT«Invocant requires an instance of type Foo, but a type object was passed.  Did you forget a .new?␤  in method foo at /tmp/09atUd0VAT:1␤  in block <unit> at /tmp/09atUd0VAT:1␤␤»
19:02 FROGGS m: $_ = "foo"; say ~/./; say $/
19:02 camelia rakudo-moar 006526: OUTPUT«Regex object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/4lUQxJ49ii:1␤␤Nil␤»
19:02 FROGGS lizmat: there are so many ops that would need adjustment...
19:02 zostay m: class Foo { }; my Foo $f; $f.?foo;
19:02 camelia rakudo-moar 006526: ( no output )
19:02 dalek rakudo/nom: cc67265 | peschwa++ | src/Perl6/World.nqp:
19:02 dalek rakudo/nom: Only add constant folded results to the current SC if they don't have one.
19:02 dalek rakudo/nom:
19:02 dalek rakudo/nom: This fixes a bug on JVM where the Attribute type object gets reassigned to the
19:02 dalek rakudo/nom: CORE.setting serialization context (from BOOTSTRAP.nqp), which broke
19:02 dalek rakudo/nom: runtime-creation of Attributes due to an SC-mismatch during Attribute attribute
19:02 dalek rakudo/nom: lookup.
19:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc672654e8
19:02 zostay that feels like a bug to me
19:02 lizmat prefix ? ! so not ^   afaics
19:03 dalek nqp: 255ddbf | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/sixm​odel/reprs/P6OpaqueBaseInstance.java:
19:03 dalek nqp: Revert "Only compare STables when looking for the nameToHintMap."
19:03 dalek nqp:
19:03 dalek nqp: This reverts commit 52e409ec22755de7d9dd6309e10996a88f4ec872.
19:03 dalek nqp:
19:03 dalek nqp: Conflicts:
19:03 dalek nqp: src/vm/jvm/runtime/org/perl6/nqp/sixm​odel/reprs/P6OpaqueBaseInstance.java
19:03 dalek nqp:
19:03 dalek nqp: With Rakudo commit cc672654 we don't need this workaround anymore.
19:03 dalek nqp: review: https://github.com/perl6/nqp/commit/255ddbf0c2
19:03 FROGGS lizmat: also ~
19:03 FROGGS lizmat: basically every op that you can imagine
19:04 psch zostay: why? .? means "call method if there is one, otherwise Nil"
19:04 [Coke] moarvm 2015.10 tagged; no upload or macport until jnthn returns, I think.
19:04 itz_stmuk conversely I've noticed pure maths on perl6 to be an order of magnitude slower (based on a pi calculation)
19:04 psch m: class Foo { method foo { say "ok" } }; my Foo $f; $f.?foo
19:04 camelia rakudo-moar 006526: OUTPUT«ok␤»
19:04 zostay psch: but there isn't one, right? no signature matches my call
19:04 FROGGS [Coke]: we only need the upload for star, right?
19:04 psch zostay: right, which is why it returns Nil
19:04 psch m: class Foo { }; my Foo $f; say $f.?foo
19:04 camelia rakudo-moar 006526: OUTPUT«Nil␤»
19:05 zostay yes, i know, i think you missed my first m: up there
19:05 leont What's the right way to do catfile/catdir in perl6? I'm not seeing any such method documented on IO::Path :-s
19:05 psch zostay: oh, yes i did
19:05 psch zostay: with that added information i'd still say "not a bug", though
19:05 [Coke] FROGGS: macports needs it. I think Star just bundles it, someone can manually finagle that if needed.
19:05 psch zostay: there is a method, and the signature doesn't fit, which is what it complains about
19:05 leont And IO::Spec is a bit low-level for my taste (though it'd work fine probably)
19:05 FROGGS m: say $*SPEC.catpath('foo', 'bar', 'baz') #
19:05 camelia rakudo-moar 006526: OUTPUT«bar/baz␤»
19:06 psch zostay: .? doesn't check "can we dispatch to this", it only checks "does the method exist"
19:06 FROGGS leont: ^^
19:06 flussence m: '/foo'.IO.child('bar').say
19:06 camelia rakudo-moar 006526: OUTPUT«"/foo/bar".IO␤»
19:06 leont flussence: thanks, that's what I was looking for :-)
19:07 zostay psch: yes, i think that's wrong... convince me that that's the right way to think about it
19:07 dalek doc: b0392f9 | ugexe++ | doc/Type/Supply.pod:
19:07 dalek doc: Fix zip-latest signature and throttle header
19:07 dalek doc: review: https://github.com/perl6/doc/commit/b0392f9f19
19:07 psch zostay: i don't understand how it can be wrong, fwiw.  it's implemented as written.
19:08 FROGGS zostay: if the question mark only means "if there is no method", then it is implemented correctly.
19:08 zostay yes, and all of my code always works as written too, but that doesn't mean that's the right implementation
19:08 psch m: class Foo { method f(Foo:D:) { } }; Foo.^can('f')[0]() # that's what .? means
19:08 camelia rakudo-moar 006526: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in method f at /tmp/BibxCS_LKs:1␤  in block <unit> at /tmp/BibxCS_LKs:1␤␤»
19:08 FROGGS zostay: if it instead should mean "if there is no applicable method" on the other hand...
19:08 zostay but SHOULD it mean that? why should it mean that?
19:08 FROGGS zostay: check the design docs
19:08 psch zostay: oh, that's a very different question :)
19:09 zostay RTFM? really?
19:09 psch zostay: as it stands, the behavior in rakudo is not a bug, because it conforms to the design/tests
19:09 FROGGS zostay: no, RTFDD... that's for the cool ppl :o)
19:10 timotimo i'm a little surprised that @array == 5 is measurably slower than @array.elems == 5
19:10 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ };
19:10 camelia rakudo-moar 006526: ( no output )
19:10 zostay i didn't specify what whether it's a design bug or a rakudo bug, i just say it feels like a bug to me
19:11 FROGGS timotimo: sounds like a job for The Timomizer™ :o)
19:11 timotimo not sure; it's probably just that it adds one more call to the call chain
19:11 timotimo as in: @arr == 5 would call @arr.Int which then calls @arr.elems?
19:11 leont My program has a --help flag, how do I make it display the Pod to the user?
19:12 ugexe its nice for providing hooks for roles, like `my $conn-host = self.?proxy // $header<host>;` where your default implementation has no proxy role but you are welcome to apply one and it will be handled
19:12 lizmat psch: do we need an NQP bump or not ?
19:12 psch lizmat: oh, right, i missed that, yes
19:12 psch lizmat: thanks
19:12 pecastro joined #perl6
19:13 FROGGS lizmat: btw, the fact that /./ in combination with ops does not do the right thing hints to using m/./ instead
19:13 lizmat timotimo: .elems is optimized in the iterator as doing count-only, maybe that's the difference ?
19:13 dalek rakudo/nom: a91a75e | peschwa++ | tools/build/NQP_REVISION:
19:13 dalek rakudo/nom: Bump NQP_REVISION for the jvm SC fix.
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a91a75e1f8
19:14 zostay psgh, FROGGS: as far as i can tell the RTFDD doesn't justify the description and doesn't really imply psch's implementation either, it just says "it does this"
19:14 FROGGS lizmat: so please don't make it work, if the solution is hacky and the semantics might not survive anyway
19:14 psch http://design.perl6.org/S12.​html#Calling_sets_of_methods say "$object.?meth(@args)  # calls method if there is one, otherwise Nil"
19:14 lizmat FROGGS: now spectesting .Bool going up the stack until it finds the first .DEFINITE $_
19:15 lizmat this seems to pass all tests *and* makes ?/./ work
19:15 zostay yes, but what does "if there is one" mean? that's not specific
19:15 zostay the roast tests don't demonstrate this case at all, i say it's not specified what it means
19:15 psch zostay: yes, i concede that the wording is a bit terse.  i read it as "calls method meth if it exists in $object, otherwise return Nil"
19:15 FROGGS lizmat: that sounds better then adding another .Bool candidate
19:15 lizmat yup
19:16 psch zostay: i also recognize that it could be understood to mean "calls method meth if it exists in $object and can be dispatched to, otherwise return Nil"
19:16 FROGGS zostay: to me a method 'is there' if it implemented... even if it is implemented in a way that it will never be callable
19:16 psch zostay: that's where roast is probably the better DD to R, as it tests actual behavior
19:17 zostay i'll submit a PR and it can get hashed out further there :)
19:17 zostay thx!
19:17 FROGGS zostay++
19:18 dalek rakudo/nom: 3c9c459 | lizmat++ | src/core/Regex.pm:
19:18 dalek rakudo/nom: Make both /./.Bool as well as ?/./ work
19:18 dalek rakudo/nom:
19:18 dalek rakudo/nom: Turns out that most likely, ?/./ has never worked, because the code
19:18 dalek rakudo/nom: in Regex.Bool was looking in the wrong caller frame.  This commit
19:18 dalek rakudo/nom: makes it adaptive: Regex.Bool will use the first DEFINITE $_ it finds
19:18 dalek rakudo/nom: up the call stack: 1 level for direct calls like /./.Bool, 2 levels
19:18 dalek rakudo/nom: when using a boolean prefix such as ? ! so not ^.
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c9c4591cf
19:18 leont When are state's initialized? First entry of that scope?
19:19 timotimo m: say "out"; do { say "begin"; state $foo = say "hi"; say "end"; }
19:19 camelia rakudo-moar 006526: OUTPUT«out␤begin␤hi␤end␤»
19:19 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi"; say "end"; }
19:19 camelia rakudo-moar 006526: OUTPUT«out␤begin␤hi␤end␤begin␤end␤begin␤end␤»
19:19 tokuhirom_ joined #perl6
19:19 timotimo apparently the first time it gets encountered
19:20 leont Excellent!
19:20 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi" if Bool.pick; say "end"; }
19:20 camelia rakudo-moar 006526: OUTPUT«out␤begin␤end␤begin␤end␤begin␤end␤»
19:20 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi" if Bool.pick; say "end"; }
19:20 camelia rakudo-moar 006526: OUTPUT«out␤begin␤hi␤end␤begin␤end␤begin␤end␤»
19:20 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi" if Bool.pick; say "end"; }
19:20 camelia rakudo-moar 006526: OUTPUT«out␤begin␤hi␤end␤begin␤end␤begin␤end␤»
19:20 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi" if Bool.pick; say "end"; }
19:20 camelia rakudo-moar 006526: OUTPUT«out␤begin␤end␤begin␤end␤begin␤end␤»
19:20 timotimo m: say "out"; for ^3 { say "begin"; state $foo = say "hi" if Bool.pick; say "end"; }
19:20 camelia rakudo-moar 006526: OUTPUT«out␤begin␤end␤begin␤end␤begin␤end␤»
19:20 timotimo interesting
19:21 lizmat psch: error: pathspec '2015.09.1-150-g0b8fc76' did not match any file(s) known to git
19:21 lizmat ???
19:21 martinf82 joined #perl6
19:21 * lizmat cannot build rakudo atm
19:21 psch uh
19:22 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; CompUnit::PrecompilationID $foo = 'abc123';
19:22 camelia rakudo-moar 006526: OUTPUT«5===SORRY!5=== Error while compiling /tmp/a4_i0JIq4R␤Variable '$foo' is not declared␤at /tmp/a4_i0JIq4R:1␤------> 0..9_]>$/ }; CompUnit::PrecompilationID 7⏏5$foo = 'abc123';␤»
19:22 psch err
19:22 lizmat even on a clean install :-(
19:22 psch yeah, wrong workflow
19:22 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; my CompUnit::PrecompilationID $foo = 'abc123';
19:22 camelia rakudo-moar 006526: OUTPUT«5===SORRY!5===␤Type 'CompUnit::PrecompilationID' is not declared␤at /tmp/vtkYsIjPYh:1␤------> 3.9_]>$/ }; my CompUnit::PrecompilationID7⏏5 $foo = 'abc123';␤Malformed my␤at /tmp/vtkYsIjPYh:1␤------> 3& /^<[A..Za..z0..9_]>$/ }; my Comp…»
19:22 psch i messed up the bump
19:22 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; my CompUnit::PrecompilationId $foo = 'abc123';
19:22 camelia rakudo-moar 006526: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in any accepts_type at gen/moar/m-Metamodel.nqp:3232␤  in block <unit> at /tmp/jj_bk7trXu:1␤␤»
19:22 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; my CompUnit::PrecompilationId $foo;
19:22 camelia rakudo-moar 006526: ( no output )
19:22 hoelzro someone forgot to push a tag?
19:22 nine m: subset CompUnit::PrecompilationId of Str:D where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; sub foo(CompUnit::PrecompilationId $foo) {};
19:22 camelia rakudo-moar 006526: OUTPUT«===SORRY!===␤Cannot find method 'nominalize'␤»
19:22 nine Ah, there it is.
19:22 nine m: subset CompUnit::PrecompilationId of Str where { 2 < .chars < 64 && /^<[A..Za..z0..9_]>$/ }; sub foo(CompUnit::PrecompilationId $foo) {};
19:22 camelia rakudo-moar 006526: ( no output )
19:23 FROGGS uhh
19:23 FROGGS nine: can you RT it?
19:23 hoelzro not even 0b8fc76 resolves in nqp =S
19:23 nine FROGGS: on it
19:23 FROGGS nine++
19:23 psch lizmat, hoelzro: yes, that was nqp-j --version output without the commit actually commit
19:23 psch my bad
19:24 psch +ed
19:24 nine FROGGS: any reason why Perl6::Metamodel::DefiniteHOW is not nominal?
19:24 * psch actually verifies the new NQP_REVISION is correct this time
19:25 dalek rakudo/nom: 97e0a36 | peschwa++ | tools/build/NQP_REVISION:
19:25 dalek rakudo/nom: Correctly bump NQP_REVISION.
19:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97e0a362e6
19:25 psch it builds here
19:25 psch so i *think* i did it right this time... :S
19:25 psch again, sorry
19:26 * lizmat checks
19:26 lizmat psch: no worries  :-)
19:26 raiph joined #perl6
19:26 PerlJam psch++  (for giving us another opportunity to display forgiveness ;)
19:26 lizmat looks ok so far  :-)
19:27 jevin joined #perl6
19:27 FROGGS nine: I dunno
19:28 skids joined #perl6
19:28 * FROGGS does not even know what it means
19:28 nine FROGGS: from my very limited understanding I think it should be :nominalizable and have the same method nominalize as SubsetHOW
19:30 FROGGS hmmm, I thought this was tied to SubsetHOW
19:31 FROGGS but that was just a guess
19:32 jdv79 sergot_: around?
19:32 woolfy left #perl6
19:35 dalek roast: c7e7bde | lizmat++ | S05-metasyntax/regex.t:
19:35 dalek roast: Add some tests for ? ! so not /./.Bool
19:35 dalek roast: review: https://github.com/perl6/roast/commit/c7e7bdeb9e
19:39 lizmat m: my $rx = /./; say <one two three>.grep: { not $rx or so $rx }
19:39 camelia rakudo-moar cc6726: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/StQ9jLjr3K:1␤␤»
19:39 lizmat this should work soon  :-)
19:40 lizmat .tell llfourn commit 3c9c4591cf0f666607dd made my $rx = /./; say <one two three>.grep: { not $rx or so $rx } DWIM
19:40 yoleaux lizmat: I'll pass your message to llfourn.
19:41 dalek rakudo/nom: 31146cc | TimToady++ | src/Perl6/Actions.nqp:
19:41 dalek rakudo/nom: don't need these can('returns') guards now
19:41 dalek rakudo/nom:
19:41 dalek rakudo/nom: since we catch infix:<,> upstream from this now
19:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31146cc330
19:41 dalek rakudo/nom: f45ed86 | TimToady++ | src/Perl6/Actions.nqp:
19:41 dalek rakudo/nom: also need to not curry invocant variant of comma
19:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f45ed8627c
19:42 pullphinger joined #perl6
19:42 travis-ci joined #perl6
19:42 travis-ci Rakudo build failed. Pepe Schwarz 'Bump NQP_REVISION for the jvm SC fix.'
19:42 travis-ci https://travis-ci.org/raku​do/rakudo/builds/86891917 https://github.com/rakudo/rakudo/c​ompare/cc672654e8bd...a91a75e1f822
19:42 travis-ci left #perl6
19:42 dalek roast: 6a07e75 | usev6++ | S05-match/capturing-contexts.t:
19:42 dalek roast: Add test for RT #118453
19:42 dalek roast: review: https://github.com/perl6/roast/commit/6a07e754c2
19:42 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=118453
19:42 psch /o\
19:42 psch but travis, i fixed it already :/
19:42 FROGGS psch: give travis some time
19:42 pullphinger joined #perl6
19:45 jdv79 RabidGravy: quite a little pile...
19:47 flussence joined #perl6
19:48 travis-ci joined #perl6
19:48 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make both /./.Bool as well as ?/./ work
19:48 travis-ci https://travis-ci.org/raku​do/rakudo/builds/86892922 https://github.com/rakudo/rakudo/c​ompare/a91a75e1f822...3c9c4591cf0f
19:48 travis-ci left #perl6
19:50 lizmat in further news, psch's fix is still underway to Travis
19:50 raiph joined #perl6
19:51 PerlJam maybe during periods of "high activity" travis should only attempt a build every N minutes or M commits or something.
19:51 PerlJam I don't even know if you can configure travis that way, but if you could it would save on confusion and resources
19:52 Mhoram joined #perl6
19:53 zakharyas joined #perl6
19:54 hoelzro PerlJam: I don't think you can; I remember looking into it a while ago
19:54 hoelzro we have a very similar problem @ work =/
19:55 xinming joined #perl6
19:56 abraxxa joined #perl6
20:00 psch nine: fwiw, bool_enum fails on jvm with "Attribute '$!value' is not a native int" in the bindattr_i for Int
20:00 psch nine: which makes sense, 'cause Int!value is a bigint
20:00 psch nine: maybe that helps with your moar efforts there
20:00 nine And again something that moar doesn't complain about...
20:01 nine psch: thanks for the hint!
20:02 psch ("for Int" means "in the Bool area where Int!value for Bool::False is set, but that's probably already understood...)
20:02 psch s/,/",/
20:03 psch (and s/",/,"/ for people who like english quotes-and-commas rules :P )
20:04 jdv79 RabidGravy: any idea why form fields end up as http header fields?
20:04 nine psch: FWIW I didn't even know if I should use bindattr_i or bindattr. It's all cargo culted ;)
20:04 sufrostico joined #perl6
20:05 jdv79 RabidGravy: or why header values are split on comma?
20:05 jdv79 those are what i've found yet
20:05 jdv79 haven't fixed them well enough though and dinner &
20:05 cosimo seems that travis doesn't resolve IPv6 addresses
20:05 RabidGravy what form fields?
20:05 psch nine: the hint is usually the declared type of the attribute.  if that's native, use the bindattr_* form, otherwise bindattr
20:06 psch nine: i at least haven't found a spot where that's the wrong approach :)=
20:06 psch -=
20:06 nine jnthn++ # dropping subtle little errors in his gists for added debugging fun :)
20:07 jdv79 oh right, ha.  well that's cool.
20:07 jdv79 so POST is essentially unimplemented as far as payload
20:07 RabidGravy yes
20:08 jdv79 so one bug and one feature then instead of 2 bugs
20:08 jdv79 maybe tomorrow
20:09 [Coke] nqp-j has a failing test.
20:09 RabidGravy you can add payload, just you have to have it in the correct format
20:10 psch [Coke]: i'll look at that in a bit.  it's probably my fault anyway... :s
20:10 * lizmat confirms jvm builds on OS-X
20:10 TEttinger joined #perl6
20:11 Hotkeys Why does the second one work but the first doesn't
20:11 Hotkeys http://pastebin.com/tkUGe41F
20:11 Hotkeys am I just bad at syntax
20:11 RabidGravy jdv79, see also the HTTP::Request::Common that has helpers to do a lot of the for you
20:11 Hotkeys am I using map incorrectly
20:11 RabidGravy I think it needs a cookbook
20:12 FROGGS Hotkeys: .elems yields an integer, and you basically call .map on that
20:13 psch m: say .elems
20:13 camelia rakudo-moar 97e0a3: OUTPUT«1␤»
20:13 geekosaur *.elems ?
20:13 psch m: say map .elems, ^10
20:13 camelia rakudo-moar 97e0a3: OUTPUT«Cannot call map(Int, Range); none of these signatures match:␤    (&code, + is raw)␤  in block <unit> at /tmp/6bMBRh2CM2:1␤␤»
20:13 geekosaur m: say map *.elems, ^10
20:13 camelia rakudo-moar 97e0a3: OUTPUT«(1 1 1 1 1 1 1 1 1 1)␤»
20:14 Hotkeys *.elems just gives me a list of 1s
20:14 geekosaur m: say map {.elems}, ^10
20:14 camelia rakudo-moar 97e0a3: OUTPUT«(1 1 1 1 1 1 1 1 1 1)␤»
20:14 psch i think there's also a do { } missing?
20:14 Hotkeys oh
20:14 Hotkeys right
20:14 psch maybe not, i think i'm slightly over-eager with do-blocks, sometimes :)
20:15 Hotkeys does the bot keep things, can I define a function in one line and then call it in another
20:15 Hotkeys or does it only do one line statements
20:15 Hotkeys (with ';')
20:15 lizmat [Coke]: FWIW, I'm seeing a lot of fails on JVM in spectest
20:15 RabidGravy one line only
20:16 geekosaur but you can feed it a gist, I think
20:16 FROGGS lizmat: the jvm spectest was very unclean since the GLR
20:16 geekosaur (as in gist.github.com url)
20:16 psch there's a failure in 51-multi.t on nqp-j
20:16 psch i suspect that's (part of) what [Coke]++ is talking about
20:17 Hotkeys m: sub collatz($x) { return $x, -> $a { $a %% 2 ?? $a / 2 !! 3 * $a + 1 } ... 1; } say map { .elems }, (collatz($_) for 1, 3 ... 10)
20:17 camelia rakudo-moar 97e0a3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/veVOTxHnv6␤Strange text after block (missing semicolon or comma?)␤at /tmp/veVOTxHnv6:1␤------> 3 %% 2 ?? $a / 2 !! 3 * $a + 1 } ... 1; }7⏏5 say map { .elems }, (collatz($_) for 1,␤    expecting an…»
20:17 Hotkeys m: sub collatz($x) { return $x, -> $a { $a %% 2 ?? $a / 2 !! 3 * $a + 1 } ... 1; }; say map { .elems }, (collatz($_) for 1, 3 ... 10)
20:17 camelia rakudo-moar 97e0a3: OUTPUT«(1 8 6 17 20)␤»
20:17 Hotkeys what
20:17 Hotkeys I just tried it locally and it didn't work
20:17 geekosaur how recent is your build?
20:18 FROGGS lizmat: it is at 30%ish since mid September
20:18 Hotkeys 2015.09 msi of rakudo
20:18 geekosaur camelia's version moves quickly with bugfixes
20:18 FROGGS lizmat: https://github.com/coke/perl6-roast-d​ata/blob/master/perl6_pass_rates.csv
20:18 Hotkeys running on windows
20:18 lizmat ok...  so nothing new then... :-(
20:18 psch lizmat: i'm confident that the lowest breakage is fixed now, so i can start looking at spectests agian
20:18 lizmat psch++
20:18 psch well, and nqp-j first... :s
20:19 geekosaur Hotkeys, there have been a LOT of fixes since then
20:19 Hotkeys ah
20:19 FROGGS lizmat: correct... the Attribute conversation this evening is still a result of the GLR and other stuff
20:19 Hotkeys should I just build from source
20:19 geekosaur I don;t even recall if that release had the initial GLR implementation yet --- that change made a lot of things more rational
20:19 FROGGS Hotkeys: there will be a 2015.10 msi soonish
20:20 FROGGS gnight #perl6
20:21 dalek rakudo/nom: 416b5aa | (Stefan Seifert)++ | src/Perl6/Metamodel/DefiniteHOW.nqp:
20:21 dalek rakudo/nom: Fix subtypes of definite types
20:21 dalek rakudo/nom:
20:21 dalek rakudo/nom: Fixes subtype Foo of Str:D; failing with
20:21 dalek rakudo/nom: "Cannot find method 'nominalize'"
20:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/416b5aa612
20:22 cosimo RabidGravy: did you have a chance to look at Cache::Memcached failures?
20:22 nine .tell FROGGS https://github.com/rakudo/rakudo/commit/416b5aa612
20:22 yoleaux nine: I'll pass your message to FROGGS.
20:23 bartolin psch++ # rakudo.jvm fixes
20:24 Hotkeys I'm going to attempt building from source
20:26 psch huh, the test that fails is barely two weeks old
20:26 nine psch: with bindattr I get P6opaque: representation mismatch when storing value to attribute
20:26 RabidGravy cosimo, I sent A PR - it's all worky here
20:26 psch i think that means we just didn't know it's broken...
20:27 RabidGravy :)  There were only or two things that needed changing
20:28 [Coke] lizmat: we shipped a broken jvm last month, will probably do so again. :|
20:28 psch nine: looking a bit closer, i wonder why you add a second int-typed $!value attribute to Bool
20:29 jnm_theMailman left #perl6
20:29 psch nine: you get one for free from Int, which should probably be enough
20:29 RabidGravy cosimo, https://github.com/cosimo/p​erl6-cache-memcached/pull/6
20:29 abraxxa joined #perl6
20:29 leont I have a list of arguments, that I want to separate on "does it start with -- or not", is there a cleaner way than grepping twice?
20:30 nine psch: good questions. It's been a while since I've been working on this code. And it took me quite some time to figure out how all of this works
20:30 psch nine: the repr mismatch is probably the reason for the workaround in src/core/allomorphic.pm for IntStr
20:30 cosimo RabidGravy: cool, thanks
20:30 psch nine: line 4 in that file, to be precise.  an IntStr is Int is Str, but we can't bindattr{,_i} because bigints aren't quite nqp-level exposed
20:30 leont @all.classify({...}).{True,False} is the best I can come up with, but not being able to use @variables is meh
20:31 cosimo RabidGravy: indeed, it's passing for me too, with the 2 todo tests passing too
20:31 psch nine: you could co-opt the workaround from allomorphic.pm or try to not have a secondary $!value - the latter would be my suggestion, because in contrast to IntStr you don't have two attributes called $!value
20:31 cosimo RabidGravy: awesome, thanks
20:32 nine psch: even if I loose the $!value from Bool, I still have to bind to the $!value from Int which is where the problem lies
20:32 RabidGravy cosimo, I found the timeout tests somewhat flaky, sometimes don't work
20:32 RabidGravy so I TODOd them
20:33 psch nine: oh.  right, Int brings the bigint, which means the nqp::add_I workaround is probably the workable solution
20:33 cosimo RabidGravy: understood
20:33 [Coke] ilmari: someone disagrees with you:
20:33 [Coke] https://github.com/rakudo/rakudo/co​mmit/d70ff74d4cae6ae9d880d33d39fd1e​dc96c8a385#commitcomment-13935958
20:34 nine psch: nqp::add_I($false, 0, Int);?
20:34 psch nine: hrm, but that's kinda troublesome too, 'cause you don't have a convenient peg to hang the binding onto...
20:34 psch oh, nvm, you do
20:34 psch nine: not quite.  $false := nqp::add_I(0, 0, Bool);
20:35 psch nine: and the bindattr_s for "False" after that
20:35 psch nine: actually, just replace the nqp::create call with the add_I call
20:35 psch nine: and delete the bindattr_i calls
20:35 psch nine: because Bool is Int, you can create a Bool with add_I
20:35 psch nine: and onto the Bool created thus you bindattr_s the $!key
20:36 nine This representation (P6int) cannot unbox to other types
20:37 nine m: use nqp; nqp::add_I(0, 0, Int);
20:37 camelia rakudo-moar f45ed8: ( no output )
20:37 nine m: use nqp; class B is Int {}; nqp::add_I(0, 0, B);
20:37 camelia rakudo-moar f45ed8: ( no output )
20:37 PerlJam leont: what do you mean about not being able to use @variables?
20:38 leont I preferred to have them end up in two @variable, but I don't think I can do that without breaking it up in multiple lines
20:38 leont But I decided to get rid of that entire piece of code, so I'm not actively looking anymore
20:39 rurban joined #perl6
20:40 psch nine: EnumHOW and ClassHOW repr mismatch i guess..?
20:40 Greg__ joined #perl6
20:40 psch nine: IntStr clearly still has a ClassHOW underneath...
20:40 nine psch: or nqp 0 is no Perl 6 0
20:41 nine I guess nqp's 0 is an int which is repr P6int
20:41 leont It seems MAIN's argument handling doesn't understand :@multi-arg parameters :-(
20:41 leont The way Getopt::Long does…
20:41 vendethiel leont: named mutli-args?
20:41 vendethiel multi
20:42 yqt joined #perl6
20:42 psch nine: right, maybe that too
20:43 vendethiel m: sub MAIN(:@arg) {}; say USAGE;
20:43 camelia rakudo-moar f45ed8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XQIPBUEDL_␤Undeclared name:␤    USAGE used at line 1␤␤»
20:43 leont In Getopt::Long, you can declare an argument "bar=s@", and then do «foo --bar=1 --bar=42», and it will end up in
20:43 nine I hope nqp::create(Int) gives me a 0. But how on earth do I create a 1?
20:44 PerlJam leont: I think you have to do your own arg processing for that
20:44 ugexe do $multi-arg not @Multi-arg
20:45 leont That kind of sucks :-/
20:45 * leont sometimes has high expectations from perl6
20:47 kjs_ joined #perl6
20:48 nine psch: ah, basic mathematics: nqp::pow_I(nqp::create(Int), nqp::create(Int), Int, Int) # I guess this code is so obvious, it doesn't even warrant a comment...
20:49 garu leont: check https://github.com/tokuhirom/p6-Getopt-Tiny :)
20:49 garu it should DWYW
20:50 lizmat m: sub a(:$a) { dd $a }; a( :42a, :666a)   # leont: underlying reason
20:50 camelia rakudo-moar f45ed8: OUTPUT«Int $var = 666␤»
20:50 tokuhiro_ joined #perl6
20:51 leont garu: yeah, was considering that, but it's for rakudo-core ;-)
20:51 nine psch: unfortunatly it still segfaults :/
20:51 lizmat m: sub a(:@a) { dd @a }; a( :42a, :666a)   # now if this would work  :-)
20:51 camelia rakudo-moar f45ed8: OUTPUT«Type check failed in binding @a; expected Positional but got Int␤  in sub a at /tmp/Gnu4_lRDqm:1␤  in block <unit> at /tmp/Gnu4_lRDqm:1␤␤»
20:54 leont Anyway, I'm very close to having a functional harness for rakudo.
20:55 leont How important is archiving? There's a target for it in the jvm makefile, but not the moar one
20:57 nine But except for those weird segfaults in Bool.pick(*) and Bool.roll, all other spec test failures are out of date tests :)
20:58 psch nine: what does Bool.list do for you locally?
20:59 psch nine: nevermind, just saw Bool has its own .roll and .pick
21:00 psch m: my enum Foo <a b>; say (Foo::a, Foo::b).pick
21:00 camelia rakudo-moar 416b5a: OUTPUT«a␤»
21:00 psch m: my enum Foo <a b>; say Foo.pick
21:00 camelia rakudo-moar 416b5a: OUTPUT«b␤»
21:00 psch m: my enum Foo <a b>; say Foo.pick(*)
21:00 camelia rakudo-moar 416b5a: OUTPUT«(a b)␤»
21:01 leont Why is IO::Spec::Win32 ~~ IO::Spec::Unix?
21:01 leont That's the sort of mistake we made in perl5 that wasn't good to repeat, really
21:03 psch nine: re: "warrant a comment", i'd probably at least document it with "0 ** 0 == 1" or something succint like that
21:04 ugexe m: say IO::Spec::Win32.ACCEPTS(IO::Spec::Unix);
21:04 camelia rakudo-moar 416b5a: OUTPUT«False␤»
21:04 lizmat leont: in what way was that a mistake ?
21:04 rindolf joined #perl6
21:04 psch m: say IO::Spec::Win32.isa(IO::Spec::Unix)
21:04 camelia rakudo-moar 416b5a: OUTPUT«True␤»
21:04 geraud joined #perl6
21:05 leont I wanted to check if I had a IO::Spec::Unix or not, and I got the wrong answer!
21:06 leont It's leaking out an implementation detail
21:06 * psch .oO( $thing ~~ $typeobj is more of a instanceof, not isInstance... shush java-think!)
21:07 psch s/isInstance/$thing.getClass()​.equals($typeobj.getClass())/ # i confuse those, occassionally...
21:08 psch leont: i can your concern though (the java-detour aside)
21:08 psch +understand
21:08 leont I want to rewrite from Unix filename to local filename, but only when necessary.
21:09 psch leont: .WHAT === .WHAT is probably the best for type identity
21:09 psch leont: infix:<~~> always allows subclasses, which might still be wonky in case someone decided OSX.isa(Unix) for example
21:09 psch or whathaveyou
21:10 leont I understand how ~~ works
21:11 leont I just hadn't expected something to be a subclass when it actually fails the Liskov substitution principle
21:11 Greg__ left #perl6
21:13 leont You can not use an IO::Spec::Win32 in place of an IO::Spec::Unix, and expect your program to continue functioning the way it did before.
21:13 TimToady probably means something should in a role rather than in a class
21:13 pink_mist IO::Spec::Unixy!
21:14 leont IO::Spec::Base, pretty much
21:14 leont Or whatever one wants to call it
21:14 lizmat FWIW, in my opinion IO::Spec should die
21:14 leont Isn't IO::Spec a thing already?
21:14 psch didn't newio throw them out?
21:14 psch or did that get suspended
21:16 leont lizmat: I suspect we will need the functionality somewhere, but we may be able to do better than what we have inherited
21:16 lizmat psch: newio is dead in the water after GLR
21:17 lizmat and was pretty dormant before it
21:17 leont Great, my naive solution false triggers QNX and Cygwin as non-unix :-s
21:17 kmel joined #perl6
21:18 psch lizmat: oh alright, thanks for the info
21:19 psch lizmat: ooc, was that decision about GLR specifically or more of "adapting this is gonna be too horrible"?
21:19 psch s/GLR/something in GLR/
21:19 Hotkeys Anyone have any idea why I'm getting this err when trying to build rakudo http://pastebin.com/RBwprw5F
21:20 Hotkeys can't find anything on the google
21:20 lizmat no, it's just that many things were broken during the GLR: merges are not clean atm
21:20 lizmat and since there was no consensus on the work I had done in there
21:20 lizmat I figured I wouldn't spend any more time on it
21:21 hoelzro Hotkeys: I don't know, but let me know if you figure it out; I've been trying to set up a Windows dev env forever
21:21 hoelzro ooc, which version of Windows and which compiler are you using?
21:21 Hotkeys 7
21:21 * geekosaur guesses an exception, and the moar version needs to be verified
21:22 Hotkeys using the visual studio 2015 nmake
21:23 geekosaur nmake is just the messenger there
21:25 itz_stmuk I could only build 32 bit rakudo on VS2015 myself
21:26 * leont is fine with IO::Spec leaving tomorrow, but prefers having a sensible thing today (unless you beat me to it while away for the weekend)
21:26 lizmat leont: not going to happen :-(
21:26 lizmat so please beat us!
21:26 Hotkeys gonna try rakudobrew
21:27 hoelzro I think I did 64bit VS2015 and got an access violation
21:27 hoelzro maybe I should try the 32bit vers
21:28 itz_stmuk I ended up downgrading VS
21:29 psch hm, the 51-multi.t failure in nqp is because named arguments don't count as arguments
21:29 psch which seems wrong on the surface, but simply counting them doesn't quite work out
21:30 hoelzro itz_stmuk: I tried that too =/
21:30 hoelzro I tried VS2015, VS2013, and Mingw on Win8
21:30 hoelzro and VS2013 on Win7
21:31 itz_stmuk I had no problems at all with VS2010
21:31 psch unfortunately that's again an area where i'm not sure i can derive useful information from the corresponding bits in mvm, if i can even find them...
21:31 itz_stmuk I think jnthn said he used VS2013
21:31 lichtkind joined #perl6
21:32 itz_stmuk with VS2010 I installed SP1 for it and SDK 7.1 (for 64bit support) and it still worked on Windows 10
21:33 dalek problem_solver_tutorial: 6c85e5f | lichtkind++ | chapter/self1.pl6:
21:33 dalek problem_solver_tutorial: selfprinting example
21:33 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_​solver_tutorial/commit/6c85e5f2ca
21:33 dalek problem_solver_tutorial: 80be9e0 | lichtkind++ | chapter/text0.md:
21:33 dalek problem_solver_tutorial: completed paragraph 5 chapter 0
21:33 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_​solver_tutorial/commit/80be9e0919
21:33 lichtkind latest part is about perl philosophy
21:33 lichtkind especially larry please check if it correctly represents your views - thank you
21:34 sufrostico joined #perl6
21:37 Hotkeys brb going to school
21:37 Hotkeys hooray for night lectures /s
21:40 dalek nqp: 9b68e81 | coke++ | tools/build/MOAR_REVISION:
21:40 dalek nqp: bump MOAR_REVISION to latest release
21:40 dalek nqp: review: https://github.com/perl6/nqp/commit/9b68e8163e
21:40 dalek nqp: e4334e6 | coke++ | VERSION:
21:40 dalek nqp: bump VERSION to 2015.10
21:40 dalek nqp: review: https://github.com/perl6/nqp/commit/e4334e6c71
21:41 retupmoca re: rakudo windows build failure: I have a ticket created, but it looks like a jitbug to me https://github.com/MoarVM/MoarVM/issues/284
21:43 [Coke] oh, hey, I have no idea what passphrase I used to create my key when I did the release last month.
21:45 lizmat [Coke]:  :-(
21:45 pink_mist that seems to not be ideal
21:45 skids :(   (Neither do I :)
21:47 leont Meh, I can't make IO::Spec a role without getting rid of the IO::Spec.select method
21:47 lizmat leont: welcome to my newio world  :-)
21:47 lizmat good night, #perl6!
21:48 psch night lizmat o/
21:48 spider-mario <dalek> nqp: bump VERSION to 2015.10
21:48 spider-mario 2015.10?
21:48 spider-mario 2015.10!
21:48 spider-mario that’s a release
21:50 leont IO::Spec::Any it is!
21:50 tokuhirom_ joined #perl6
21:51 [Coke] spider-mario: I'm working on it.
21:51 [Coke] stuck on the (&#@$# tagging step.
21:54 cygx joined #perl6
21:54 cygx o/
21:54 cygx Hotkeys, hoelzro: try building Rakudo with MVM_SPESH_DISABLE=1 set
21:55 hoelzro cygx: thanks, I'll give that a shot!
21:56 cygx hoelzro: setting that variable is the only way I get the setting to build, but it works fine otherwise
21:56 hoelzro the setting? I couldn't even get NQP to build =/
21:57 zakharyas joined #perl6
21:57 cygx I have yet to see the NQP build fail...
21:59 cygx (Win 7 64-bit, Strawberry Perl 5.20.2 / MSWin32-x64-multi-thread)
22:02 psch hrm, the naive fix for the nqp-j test failure probably messes up our arity caching there...
22:02 psch i guess that mean i have to actually understand what's going on there... /o\
22:04 leont Have a patch, superficially seems to work, now lets test for real
22:04 psch leont++
22:11 psch .tell zostay some research suggests C# has a ?. operator, which means "if the LHS is not null, call the RHS as method on it"
22:11 yoleaux psch: I'll pass your message to zostay.
22:11 vike joined #perl6
22:11 leont Weird, it dies during compilation with: Error while constructing error object:Could not locate compile-time value for symbol X::InvalidType
22:12 psch leont: that usually means you have a failure of the type of the exception it can't load before that exception is composed properly
22:13 psch leont: it usually dumps the hash it would use to construct that exception below, which should have a hint or two
22:13 leont suggestions: (unstringifiable object)  typename: IO::Spec::Any
22:13 psch .tell zostay the semantic difference, as i see it, is that we can have methods that work as class methods or instance methods but don't (neccessarily) know before we try to dispatch
22:13 yoleaux psch: I'll pass your message to zostay.
22:14 psch .tell zostay whereas C# can say "ok this is{,n't} always an instance method" during compile time
22:14 yoleaux psch: I'll pass your message to zostay.
22:14 leont It seems my sourcefile isn't included in the setting
22:14 leont How do I cause it to be there?
22:15 psch leont: add it to tools/build/Makefile-$backends.in
22:15 leont ack suggests tools/build/moar_core_sources
22:15 leont Makefile-$backends seems logical too
22:16 psch leont: oh, right, i think there's something i'm not 100% up-to-date about whether we generate bits or not
22:16 leont It seems I need to update Makefile-JVM and moar-core-sources
22:17 psch leont: as in, i'm not sure if Makefile-$backends.in are generated or not - pmurias++ recently said Makefile-JS.in is generated, but i'm pretty sure Makefile-JVM.in isn't...
22:18 TimToady m: say (* X+ 42 X+ *)(41,43)
22:18 camelia rakudo-moar 416b5a: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at /tmp/T9rWXt3LUG:1␤␤»
22:18 tokuhiro_ joined #perl6
22:18 * TimToady testing a patch for this
22:20 TimToady [Coke]: are you tagging nqp or rakudo?  I hope I have time to get this patch in...
22:22 dalek roast: 78701f5 | TimToady++ | S02-types/whatever.t:
22:22 dalek roast: fixed multiple * on autopriming call ops
22:22 dalek roast: review: https://github.com/perl6/roast/commit/78701f505a
22:23 dalek rakudo/nom: 1f2ea21 | TimToady++ | src/Perl6/Actions.nqp:
22:23 dalek rakudo/nom: fix multiple * on autoprimed call ops
22:23 dalek rakudo/nom:
22:23 dalek rakudo/nom: This fixes things like * X+ *
22:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f2ea21b6d
22:26 jdv79 RabidGravy: why is that not in Request.pm?
22:27 jdv79 that's wrong
22:27 dalek rakudo/nom: 75db4a5 | TimToady++ | docs/ChangeLog:
22:27 dalek rakudo/nom: list assoc can now autoprime
22:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/75db4a5ea4
22:27 RabidGravy why?
22:27 jdv79 because doing that stuff is basic
22:28 jdv79 it should be "core"'ed
22:28 RabidGravy no it's a common use, but not basic
22:30 jdv79 performing a useful POST is basic
22:30 leont Meh, now the restricted setting doesn't compile :-/
22:30 RabidGravy you meaning performing an form/x-url-encoded is basic?
22:31 jdv79 either url-encoded or multi-part
22:31 leont Probably fixed it, but this recompile cycle is slow :-s
22:31 RabidGravy I could argue that so is performing a text/javascript post is basic
22:32 RabidGravy or application/xml
22:32 RabidGravy or whatever
22:32 jdv79 are you being serious?
22:32 RabidGravy yes
22:34 psch ...i'm starting to question the design of org.perl6.nqp.reprs.MultiCacheInstance
22:34 psch oh, but that's probably because i'm not paying enough attention, carry on!
22:34 jdv79 in my 15 year career i can only remember seeing url-encoded or multi-part POSTS.
22:35 leont That's what browsers would do
22:35 leont If you're not a browser, you can do anything, really
22:35 RabidGravy never used REST or SOAP or XML::RPC?
22:36 jdv79 i'm merely advocating for making the common paths the defaults/easiest
22:36 RabidGravy that's my point
22:37 RabidGravy everyone has a different common path
22:37 psch hrm, but something is weird there
22:37 psch m: sub f($, :$a) { }; say &f.arity
22:37 camelia rakudo-moar 416b5a: OUTPUT«1␤»
22:38 psch assuming that semantic carries down to nqp, at least
22:38 RabidGravy I spent the last five years building a system that used HTTP as an interface between parts and not once did it use url-encoded posts but posted a lot of data
22:42 jdv79 ok
22:43 jdv79 the very concept of a ::Common ns seems ridiculous to me but ok
22:43 jdv79 if its common then perhaps that should be the base
22:47 itz_stmuk oh no
22:47 itz_stmuk http://act.yapc.eu/lpw2015/talk/6436
22:49 virtualsue joined #perl6
22:50 leont It's working at last! \o/
22:50 psch itz_stmuk: that's a bit discouraging
22:50 psch i've seen bits of Zefram++, mostly RTs and a bit of discussion
22:51 RabidGravy itz_stmuk, I saw that earlier, got a bit confused, ignored it and decided that I wouldn't be going to LPW
22:51 psch http://irclog.perlgeek.de/p​erl6/2015-09-24#i_11268124 that's where he went, afair
22:51 psch where "went" means "left"
22:52 telex joined #perl6
22:53 itz_stmuk he's heavily into scheme now
22:53 itz_stmuk or rather his own version
22:55 psch i really just don't understand the motivation behind that
22:56 psch reminds me of this C3 talk about the vulnerability in bugzilla and how that means perl5 is a bad language
22:58 jdv79 i feel there have been a few of those over the years
22:59 RabidGravy jdv79, this not all to say I'm averse to putting in some convenient and simple .post method into the UserAgent class it's just not high on my personal priorities :)
23:00 jdv79 my motivation is simply to have the lib be as useful as possible.  if someone has to dig to find something "common" that's a problem.
23:00 jdv79 no big deal
23:02 jdv79 i just lied.  it is:
23:02 jdv79 :)
23:03 [Coke] I'm still working on nqp
23:03 jdv79 how's that going?
23:04 RabidGravy my motivation is simply to have the lib be as useful to *me* as possible, and I have no interest at the moment in the things you think are "common"
23:04 [Coke] Guess I have to throw out that key and create a new one.
23:04 RabidGravy ;-p
23:06 RabidGravy I'm only fixing it up to the extent that I can make some very specific interfaces with it
23:10 tokuhirom_ joined #perl6
23:16 TimToady m: say (* X+ 42 X+ *)(41,43)
23:16 camelia rakudo-moar 75db4a: OUTPUT«(126)␤»
23:16 TimToady \o/
23:19 RabidGravy the crack is strong in this one ;-)
23:22 TimToady m: say &infix:<+>(*, 42)
23:22 camelia rakudo-moar 75db4a: OUTPUT«Inf␤»
23:22 TimToady I'm not sure I like this
23:24 TimToady rather than defaulting to Inf, the conservative thing would be to blow up if * is used where it's not expected, because then we can add more meanings to * later
23:24 psch sounds sound
23:24 TimToady as it is, people will start relying on * mapping to Inf
23:24 psch m: say Whatever.new.Numeric
23:24 camelia rakudo-moar 75db4a: OUTPUT«Inf␤»
23:24 TimToady lemme take it out and see what blows up in roast...
23:24 psch m: say Whatever.new.Str
23:24 camelia rakudo-moar 75db4a: OUTPUT«Whatever<140427946008856>␤»
23:25 psch m: say Whatever.new.Stringy
23:25 camelia rakudo-moar 75db4a: OUTPUT«Whatever<140242053959960>␤»
23:30 [Coke] Does the changelog need care?
23:38 RabidGravy if I want to "require Foo" at runtime and use a type defined therein is "::($typename)" my only option, or is there another trick?
23:38 [Coke] nqp cut and on the site.
23:41 psch RabidGravy: i think you can still assign the result of that lookup to a sigilless variable
23:41 psch RabidGravy: that only changes the look slighty, of course, but maybe that's the motivation vOv
23:42 RabidGravy ooh, yes that hadn't occurred to me
23:48 [Coke] TimToady: you going to try to cram anything else in, or can I start on the rakudo release?
23:50 jnm_theMailman joined #perl6
23:54 jnm_theMailman left #perl6
23:55 TimToady I think I'm done
23:56 TimToady well, excpet the * -> Inf thing...
23:58 dalek rakudo/nom: 4e35e80 | TimToady++ | src/core/Whatever.pm:
23:58 dalek rakudo/nom: * no longer defaults to Inf
23:58 dalek rakudo/nom:
23:58 dalek rakudo/nom: This is to protect extensibility of * to other dwimmy situations.
23:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e35e807c5
23:58 dalek roast: 690dbe4 | TimToady++ | S02-types/whatever.t:
23:58 dalek roast: R- now works better with * too
23:58 dalek roast: review: https://github.com/perl6/roast/commit/690dbe42ac
23:59 TimToady now I'm doner :)

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

Perl 6 | Reference Documentation | Rakudo