Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-04-21

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:00 adu joined #perl6
00:01 kurahaupo joined #perl6
00:16 [Coke] jnthn++
00:20 kurahaupo joined #perl6
00:23 kurahaupo joined #perl6
00:30 [Coke] rakudo.jvm failed big time today.
00:30 [Coke] probably my fault.
00:30 TimToady r: my &op = &[~]; say [[&op]] <a b c d e>
00:30 camelia rakudo-{parrot,jvm,moar} 349281: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in bracketed infix; couldn't find final ']' �at /tmp/tmpfile:1�------> [32mmy &op = &[~]; say [[&[33m�[31mop]] <a b c d e>[0m�»
00:31 TimToady std: my &op = &[~]; say [[&op]] <a b c d e>
00:31 camelia std ec3d853: OUTPUT«ok 00:01 129m␤»
00:31 TimToady reduction [] aren't the same as [&op] []
00:31 TimToady that is, &op is not an infix, but [&op] is
00:32 TimToady and reduce requires an infix inside the []
00:32 TimToady lizmat: ^^
00:34 TimToady looks like the rakudo parser is not up to STD's standard there, however
00:34 TimToady niecza: my &op = &[~]; say [[&op]] <a b c d e>
00:34 camelia niecza v24-109-g48a8de3: OUTPUT«abcde␤»
00:34 TimToady niecza++ however
00:34 TimToady might be a good Mouq++ project
00:35 colomon TimToady!  o/
00:37 TimToady jnthn: re http://irclog.perlgeek.de/​perl6/2014-04-20#i_8614140 it doesn't matter that it could be taken as an array, since it checks for an infix first, and fails over to taking it as an array composer.  in fact, [[&op]] is a valid set of nested arrays, but should be taken as a reduction first
00:43 TimToady FROGGS_: re http://irclog.perlgeek.de/​perl6/2014-04-20#i_8614153 it can't really find the error after [&op] because < and > are taken as infixes, I suspect, and a b c d e as missing listops
00:45 timotimo with just a space, you can force it to be a nested array instead
00:46 TimToady indeed
00:50 Mouq joined #perl6
00:53 timotimo so it's not a big loss of ... name space i guess?
00:54 TimToady it's a carefully chosen dwim to overload brackets, anyway
01:05 klapperl joined #perl6
01:11 dayangkun joined #perl6
01:13 colomon avuserow: you might … never mind, you did.  avuserow++
01:15 Mouq tadzik++
01:16 Mouq and o/
01:24 Sibin joined #perl6
01:26 Mouq TimToady: I can't quite get the operator precedence to work out for 1 [&op] 2
01:26 FROGGS__ joined #perl6
01:28 Sqirrel_ joined #perl6
01:49 lue Heh, it's funny to see a little "Party like it's 1999" fly across a blank page :)
01:53 raiph so i've installed rakudo (per https://gist.github.com/ra​iph/a6a5303b97de78a58b1a)
01:54 raiph and now i want to install panda
01:55 raiph do i: cd install; git clone https://github.com/tadzik/panda.git ?
01:55 lue just clone panda where you normally clone things and run bootstrap.pl inside
01:55 raiph thx
01:57 raiph "Dynamic variable $*EXECUTABLE not found"
01:58 Mouq Whoa, what's with all the spectest fails in https://gist.github.com/ra​iph/a6a5303b97de78a58b1a?
01:59 raiph Mouq: that gist is from 2 months ago
01:59 Mouq Ohh
01:59 Mouq Well, $*EXECUTABLE_NAME got turned into $*EXECUTABLE
02:00 Mouq So you either need to get a fresh Rakudo or rewind the version of Pand you have :)
02:00 Mouq *Panda
02:00 xenoterracide joined #perl6
02:00 Mouq I think git checkout 2693bbc should work if you're doing the latter
02:00 raiph It's a brand new rakudo clone and brand new panda clone
02:01 Mouq Oh... uh...
02:01 timotimo make double sure the perl6 in your path is the one youre meaning to use
02:01 timotimo that bit me a bunch of times before
02:01 Mouq timotimo++
02:02 timotimo oh hey mouq
02:03 timotimo i should be going to bed. but are you going to make something cool happen in time for the weekly? :P
02:03 raiph No, was trying to setup a dev env so I could do more than one liners with evalbots
02:04 timotimo have you considered rakudobrew?
02:04 timotimo it'll do all the things for you :)
02:04 raiph thx for the pointer, looking
02:05 timotimo we should perhaps put a note on that on perl6.org or something
02:07 raiph do i blow away everything and start again with rakudobrew or leave the rakudo i just installed?
02:07 Mouq timotimo: Me?
02:08 Mouq timotimo: Not in particular… There are some things I've been meaning to write though…
02:09 raiph ok, blew everything away, starting over with rakudobrew
02:10 raiph is this the right line: git clone --recursive git://github.com/tadzik/rakudobrew.git
02:10 timotimo Mouq: that's fine :)
02:11 colomon joined #perl6
02:11 timotimo i'm not sure when --recursive is even necessary
02:11 raiph i'm cargo culting it from the line in the panda readme (the rakudobrew readme doesn't say)
02:12 raiph trying first without the --recursive, see how it goes
02:13 timotimo i think you only need to --recursive if there are submodules involved; otherwise you'll just have to git submodule init and then update which the bootstrap script of panda will do for you
02:13 timotimo anyway, i'm going to bed finally
02:13 timotimo good * everyone!
02:13 raiph gnite
02:14 Mouq night timotimo!
02:26 woosley joined #perl6
02:27 Monkey joined #perl6
02:30 Alula_ joined #perl6
02:31 dayangkun joined #perl6
02:32 xragnar_ joined #perl6
02:41 xenoterracide joined #perl6
02:59 raiph I'm trying to install rakudo with debugger (with ui) on feather. Anyone awake/willing to try help me?
03:01 raiph I've previously successfully built/installed rakudo/moarvm.
03:01 * Mouq
03:01 raiph But I'm getting stuck trying to get panda bootstrapped so I can get the debugger ui.
03:01 Mouq :(
03:02 Mouq Where did you install perl6?
03:02 Mouq Or, wait, did you use rakudobrew?
03:02 raiph Hi Mouq. Liked your epic golf entry. :)
03:03 raiph I've done it three ways, with the last being rakudobrew.
03:03 Mouq raiph: Thanks :) It took long enough to make
03:03 Mouq raiph: :/
03:03 Mouq What's `which perl6` ?
03:03 raiph The wrong thing: /usr/local/bin/perl6
03:04 raiph from ~/panda
03:04 raiph echo $PATH is /home/raiph/rakudobrew/bin:/usr/local/bi​n:/usr/bin:/bin:/usr/bin/X11:/usr/games
03:05 Mouq raiph: Maybe try export PATH=~/rakudo/install:$PATH ?
03:06 * Mouq hasn't used rakudobrew in a long time and doesn't remember how it sets things up…
03:07 raiph The rakudobrew instructions said to prepend ~/rakudobrew/bin (which i did, per the echo $PATH)
03:08 raiph ("Install to ~/.rakudobrew Add ~/.rakudobrew/bin to $PATH")
03:08 Mouq Oh. Right. and does `ls ~/.rakudobrew/bin` actually contain perl6?
03:08 raiph (I assumed Add meant prepend)
03:10 logie_ joined #perl6
03:11 raiph No, I think rakudobrew failed
03:12 * Mouq tries to make rakudobrew's README a little more verbose
03:13 raiph Last rakudobrew line was "Done, moar-HEAD built"
03:13 raiph But the prior line was "Sorry, I have no idea what 'moar-HEAD' is"
03:13 Mouq O_o
03:13 raiph https://gist.github.com/raiph/11130739
03:14 raiph and the line prior to that: readdir() attempted on invalid dirhandle $dh at /home/raiph/rakudobrew/bin/rakudobrew line 70.
03:16 Mouq raiph: Well, it looks like everything else is OK, so you should just be able to make a file in ~/.rakudobrew/bin called perl6 with the contents:
03:16 Mouq #!/bin/sh
03:16 Mouq /Users/amoquin/.rakudobrew/​moar-HEAD/install/bin/perl6 "$@"
03:17 Mouq s|'/Users/amoquin'|/home/raiph|
03:17 Mouq Rather than fiddle to try and get this to work, 'cause that ain't your job as the user
03:19 raiph presumably i need to chmod it?
03:19 Mouq raiph: Oh, yeah, that too :)
03:20 Mouq I'm trying to reproduce it but git's being stubborn
03:23 raiph the good news is that which perl6 says /home/raiph/rakudobrew/bin/perl6
03:23 raiph the bad news is perl6 bootstrap.pl in panda still gives:
03:24 raiph ==> Bootstrapping Panda
03:24 raiph Dynamic variable $*EXECUTABLE not found
03:24 raiph in method Str at src/gen/CORE.setting:11851
03:24 raiph in method Str at src/gen/CORE.setting:950
03:24 raiph in method Stringy at src/gen/CORE.setting:960
03:24 raiph in method Stringy at src/gen/CORE.setting:959
03:24 raiph in block  at bootstrap.pl:47
03:25 raiph Mouq: Do you have an account on feather?
03:25 Mouq raiph: Negative
03:28 Mouq https://github.com/tadzik/rakudobrew/pull/6
03:29 raiph hangon, i see an extra .
03:34 Mouq raiph: As in ~/.rakudobrew?
03:35 raiph yeah, i got that wrong, fixing now to see if it works
03:35 Mouq Ok :)
03:35 * Mouq can't get it to install moar since make doesn't exit cleanly
03:39 raiph think i'm making progress
03:40 raiph (different errors :)
03:48 thou joined #perl6
03:55 hoverboard joined #perl6
04:04 dalek doc: f6fc962 | Mouq++ | lib/terms.pod:
04:04 dalek doc: Begin documenting Q
04:04 dalek doc: review: https://github.com/perl6/doc/commit/f6fc962d85
04:04 dalek doc: 5d54887 | Mouq++ | lib/terms.pod:
04:04 dalek doc: Begin describing Q:q
04:04 dalek doc: review: https://github.com/perl6/doc/commit/5d54887c14
04:07 raiph raiph@feather:~/.rakudobrew/moar-HEAD$ ./perl6-debug-m
04:07 raiph > 1
04:07 raiph >>> LOADING <REPL 1>
04:07 raiph + <REPL 1> (1 - 1)
04:07 raiph | 1
04:07 raiph >
04:07 raiph \o/
04:08 Mouq :D
04:08 Mouq raiph++
04:08 raiph jnthn++, tadzik++, Mouq++ :)
04:09 dalek doc: 0828aed | Mouq++ | lib/terms.pod:
04:09 dalek doc: Tweak Q intro
04:09 dalek doc: review: https://github.com/perl6/doc/commit/0828aed89a
04:11 dalek doc: 3c78deb | Mouq++ | lib/terms.pod:
04:11 dalek doc: Represented in writing, not the language itself
04:11 dalek doc: review: https://github.com/perl6/doc/commit/3c78deb17d
04:11 Mouq #nonsensicalcommitmessages
04:17 raiph Now I'm ready to start building a grammar for http://www.cpan.org/MIRRORED.BY to help with FROGGS++ 's CPAN work. :)
04:25 dalek doc: 1c6b3b0 | Mouq++ | lib/terms.pod:
04:25 dalek doc: Start on qw
04:25 dalek doc: review: https://github.com/perl6/doc/commit/1c6b3b02dc
04:26 Mouq Oh, that's wrong
04:26 Mouq qw !~~ Q:e
04:26 Mouq qw ~~ q:w
04:26 Mouq Qw ~~ Q:w
04:27 Mouq *qw !~~ Q:w
04:27 Mouq So
04:27 Mouq My goal is to explain this simply
04:28 Mouq (And I'm not very good at it)
04:28 Mouq But it's time for me to sleep
04:28 Mouq o/
04:45 kaare_ joined #perl6
04:48 haroldwu joined #perl6
04:52 anaeem1 joined #perl6
04:58 xinming__ joined #perl6
05:08 SamuraiJack_ joined #perl6
05:19 dalek doc: a807255 | moritz++ | lib/terms.pod:
05:19 dalek doc: Try to explain qw vs. Qw
05:19 dalek doc: review: https://github.com/perl6/doc/commit/a80725541d
05:22 xinming_ joined #perl6
05:27 xinming__ joined #perl6
05:27 kaleem joined #perl6
06:20 gaussblurinc_ joined #perl6
06:24 darutoko joined #perl6
06:39 anaeem1 joined #perl6
07:00 masak morning, #perl6
07:03 dalek doc: 2c42a1c | masak++ | lib/terms.pod:
07:03 dalek doc: s/defined by/defined as/
07:03 dalek doc: review: https://github.com/perl6/doc/commit/2c42a1c618
07:03 dayangkun joined #perl6
07:06 Rotwang joined #perl6
07:08 moritz \o masak
07:09 masak moritz o/
07:33 FROGGS joined #perl6
07:39 thou joined #perl6
07:45 salv0 joined #perl6
07:46 FROGGS tadzik: about "I tried --libpath=moar-bundle/nqp/lib/Perl6", you should only point to ".../lib" and not ".../lib/Perl6"
07:46 FROGGS ohh, nvm
08:00 dmol joined #perl6
08:07 SamuraiJack__ joined #perl6
08:09 dalek rakudo/nom: 9144630 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
08:09 dalek rakudo/nom: Mark use of local op as a hack
08:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9144630ce5
08:12 masak is there an RT ticket for that parse failure?
08:12 masak or a failing test?
08:13 * lizmat checks
08:13 molaf joined #perl6
08:13 tadzik "Has the speed of Perl 6 improved so much that you can already play racing games?" :D
08:13 tadzik (perlweekly)
08:14 masak :)
08:15 masak m: my &with = -> $x, $y { $x + $y }; my &infix:<op> = &with; say [op] 1..5
08:15 lizmat :-)
08:15 camelia rakudo-moar 349281: OUTPUT«15␤»
08:15 masak m: my &with = -> $x, $y { $x + $y }; say [[&with]] 1..5
08:15 camelia rakudo-moar 349281: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/M1NXm1Ot8B�Unable to parse expression in bracketed infix; couldn't find final ']' �at /tmp/M1NXm1Ot8B:1�------> [32my &with = -> $x, $y { $x + $y }; say [[&[33m�[31mwith]] 1..5[0m�»
08:15 masak std: my &with = -> $x, $y { $x + $y }; say [[&with]] 1..5
08:15 camelia std ec3d853: OUTPUT«ok 00:01 134m␤»
08:15 * masak submits rakudobug
08:16 jnthn morning, #perl6
08:18 masak jnthn! \o/
08:18 lizmat jnthn /o
08:19 lizmat masak: number?
08:20 masak lizmat: https://rt.perl.org/Ticket/Display.html?id=121692
08:23 masak tadzik++ # writing games in Perl 6
08:23 nwc10 good *, *
08:23 masak * morning, *
08:23 nwc10 cynic :-)
08:26 SamuraiJack joined #perl6
08:27 masak realist. :P
08:32 dalek roast: 999caf1 | (Elizabeth Mattijsen)++ | S13-overloading/metaoperators.t:
08:32 dalek roast: Add test for RT #121692
08:32 dalek roast: review: https://github.com/perl6/roast/commit/999caf154d
08:32 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121692
08:37 masak lizmat++
08:56 jnthn We've done little benchmarking/optimization of how Moar copes when trying to scale CPU-bound things over cores. I got curious. Note, this is on a debug build 'cus that's what I have around. https://gist.github.com/jnthn/c739b869378133ccb09d
08:59 jnthn lizmat: Don't suppose you have a golf of that done bug?
09:02 anaeem1 joined #perl6
09:03 lizmat jnthn: no, I haven't  :-(
09:04 lizmat the golf you made, appears to be fixed
09:04 lizmat r: my $x = -> $a { { a => sub () { $a } } }; my $foo = $x(42); say $foo<a>.();
09:04 camelia rakudo-{parrot,jvm,moar} 349281: OUTPUT«42␤»
09:04 lizmat this used to say Mu on Moar
09:04 jnthn Right, I fixed that one.
09:05 lizmat btw: I'm splitting off the rotoring capabilities off of buffering
09:05 lizmat although they implement in similar ways
09:05 lizmat their usage is different,
09:06 lizmat and the timing feature interferes with the rotoring
09:06 masak haha, I was going to show this ported palindrome-finder: https://gist.github.com/masak/11136998
09:07 masak ...but I found an unlikely bug along the way: https://rt.perl.org/Ticket/Display.html?id=121693
09:07 masak (random walks)++
09:08 masak lizmat: is it your Perl 5 side that makes you put in the '.' in '$foo<a>.()' ? :)
09:08 masak not meaning to be snide, just a curious question.
09:08 lizmat eh, actually, jnthn was the author of that code
09:08 masak oh!
09:08 lizmat I merely copy/pasted  :-)
09:08 masak heh.
09:09 masak jnthn: is it your C# side that made you put in the '.' ? :P
09:09 lizmat if it would have been a Perl5ie, it would have been <a>->()  :-)
09:09 masak well, they might've learned to mechanically translate '->' to '.'
09:09 masak some do, while drawing a sigh of relief :)
09:10 rindolf joined #perl6
09:11 jnthn masak: Context?
09:11 masak jnthn: above.
09:11 dalek specs: dda1c40 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
09:11 dalek specs: Split off .rotor from .buffering
09:11 dalek specs: review: https://github.com/perl6/specs/commit/dda1c40751
09:12 jnthn Oh, I see
09:13 jnthn I dunno. It was golfed down from something much bigger and I tend to golf concepts, not chars. I forget exactly the path it took to looking like that, but probably the . is an artefact of it.
09:13 spider-mario joined #perl6
09:14 jnthn You can't write .() in C#, so I rather doubt it's that :)
09:15 lizmat r: my $x = -> $a { { a => sub () { $a } } }; my $foo = $x(42); say $foo<a>();
09:15 camelia rakudo-{parrot,jvm,moar} 349281: OUTPUT«42␤»
09:15 lizmat *phew*
09:16 jnthn :)
09:17 jnthn OK, I'm going to get the file change watcher supply thingy done, then merge my various branches, then look into the done bug, then probably start working on some examples/slides for my nlpw talk. :)
09:17 denis_boyun_ joined #perl6
09:18 masak nice!
09:20 * jnthn blasts Amorphis and gets coding
09:27 thou joined #perl6
09:34 kurahaupo joined #perl6
09:36 salv0 joined #perl6
09:39 anaeem1 joined #perl6
09:41 anaeem1__ joined #perl6
09:43 molaf joined #perl6
09:55 dalek rakudo/nom: 3e4d2ca | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
09:55 dalek rakudo/nom: Split off Supply.rotor from Supply.buffering
09:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3e4d2cade7
09:56 kaleem joined #perl6
09:56 dalek roast: 32b4e5a | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
09:56 dalek roast: Add tests for Supply.(buffering|rotor)
09:56 dalek roast: review: https://github.com/perl6/roast/commit/32b4e5a007
09:57 kaleem joined #perl6
09:59 woolfy Just read this on the Facebook-page of Sebastian Riedel:  #‎perl6‬ is starting to reach the point where i would love to spend more time on a port of ‪#‎mojolicious‬. https://t.co/9jnPqOzl2u
09:59 woolfy :-)
10:00 woolfy (I just cut and paste the whole post of Riedel)
10:01 vendethiel r: my @a = ^5; say $@a
10:01 camelia rakudo-{parrot,jvm,moar} 914463: OUTPUT«0 1 2 3 4␤»
10:01 jnthn Well, he's been asking for async sockets for a long while. And japhb for a shorter while, also. It eventually reached the top of my todo list.
10:01 lizmat r: my @a = ^5; say ($@a).WHAT
10:01 camelia rakudo-{parrot,jvm,moar} 914463: OUTPUT«(Array)␤»
10:02 jnthn r: my @a = ^5; say @a.perl; say $@a.perl
10:02 camelia rakudo-{parrot,jvm,moar} 914463: OUTPUT«Array.new(0, 1, 2, 3, 4)␤[0, 1, 2, 3, 4]␤»
10:02 jnthn vive le difference
10:02 vendethiel jnthn: la* :)
10:02 jnthn Excuse my French. :)
10:02 masak he's just trying to be different :P
10:03 lizmat vive les differents!
10:03 jnthn oh hell, file system change notification is in a sorry state over the various platforms.
10:04 masak I wonder if the above eval doesn't effectively give us (the best parts of) http://www.perl6.org/archive/rfc/9.pod
10:05 jnthn I'd kinda assumed everywhere had it to the level Windows does, but no...Windows is actually ahead. Apart from it's still crap, because if a file change results in two..low level things...the abstraction leaks and you get dupes you have to filter.
10:05 * jnthn learned that when doing it in .Net
10:05 jnthn The hard way.
10:05 lizmat Supply.uniq ?
10:06 FROGGS jnthn: solaris is good at that also me thinks, but not a regular linux
10:06 jnthn lizmat: It's more like .sample(:by(*.path), 1)
10:06 jnthn FROGGS: What *isn't* solaris good at? :)
10:06 FROGGS jnthn: not sure :o)
10:07 jnthn lizmat: And if we can actually make that work we 1-up Rx on that use case, iirc.
10:07 FROGGS I mean I have solaris virtual machines, but I didn't used them for anything than debugging
10:07 jnthn lizmat: .sample(1) is basically "only let an entry through per second"
10:08 jnthn lizmat: If you add a :by then it's adding a key to do the samples by.
10:08 lizmat that's not how it is specced
10:08 jnthn Now how what is spec'd? .sample?
10:08 jnthn .uniq should just work like .uniq; I'm saying .sample is more useful than .uniq in the dealing-with-Windows-crap case.
10:09 lizmat S32-Containers/1053
10:09 lizmat S32-Containers:1053
10:10 jnthn oh, the name .sample got stolen already? Darn.
10:10 lizmat well, it hasn't gotten implemented yet, afaics
10:10 lizmat and the spec is about Range.sample
10:11 jnthn Yeah but having a wildly different meaning on a supply may be a bad idea.
10:11 jnthn I did like that name for it though.
10:11 lizmat well, actually I was thinking about .sample this morning in the context of Supplies
10:11 jnthn In general I'm just picking the Rx names where there's no obvious Perl one and seeing if they stick.
10:11 lizmat Supply.sample( .001 )
10:12 jnthn For one because it means I don't have to learn two names :P
10:12 lizmat would give you a Supply with a random sample of the 1/1000 of the original supply
10:12 lizmat but that's not what you meant, is it?
10:13 lizmat TimToady specced Range.sample on 24 Feb
10:14 jnthn No
10:14 jnthn I mean to just let a value through per time period.
10:15 jnthn Possibly by key.
10:15 lizmat Supply.grep.buffering ?
10:16 lizmat Supply.grep.buffering(:seconds(1))
10:16 * moritz hopes that .grep takes a matcher
10:16 dalek specs: 13869e3 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
10:16 dalek specs: De-TAB
10:16 dalek specs: review: https://github.com/perl6/specs/commit/13869e3e62
10:16 jnthn It's not about buffering.
10:16 jnthn It's about only giving *one* thing per time unit
10:17 lizmat Supply.grep(&matcher).buffering(:seconds(1))  # indeed
10:17 jnthn Buffering is about collecting all the things in a given time unit.
10:17 lizmat well, .buffering does that for you as well
10:17 jnthn Oh?
10:17 jnthn Then it perhaps does too many things...
10:17 lizmat maybe not
10:17 jnthn Yeah, I'd be surprised at it doing this
10:18 lizmat .buffering is specced to buffer by number of elements and/or time
10:18 jnthn I see buffering as doing a kind of grouping thing.
10:18 jnthn Over time or element count.
10:18 lizmat yup
10:18 lizmat that's what it does
10:18 jnthn .batch would be as good as .buffer...
10:18 lizmat or both
10:18 lizmat hmmm.... batch
10:19 jnthn As in "break up into batches"
10:19 lizmat much better, yup
10:20 lizmat I didn't like "buffer", "buffering" was slight better, "batch" feels much better
10:21 jnthn yeah, to me also
10:21 dalek specs: 9f36e02 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
10:21 dalek specs: s/buffering/batch/   jnthn++
10:21 dalek specs: review: https://github.com/perl6/specs/commit/9f36e02782
10:24 jnthn nmake
10:24 jnthn oops
10:29 dalek rakudo/nom: 8f4fa15 | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
10:29 dalek rakudo/nom: Supply s/buffering/batch/
10:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f4fa15b2a
10:29 jnthn haha...the dupes happen here too :)
10:29 dalek roast: b1e0e4f | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
10:29 dalek roast: s/buffering/batch
10:29 dalek roast: review: https://github.com/perl6/roast/commit/b1e0e4ffb4
10:32 dalek rakudo/nom: d3908f2 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
10:32 dalek rakudo/nom: Update ChangeLog
10:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d3908f23e0
10:37 * moritz finds the wording "+ all timing asynchrony made it to MoarVM" a bit werid
10:38 jnthn you and me both :)
10:38 moritz maybe "asynchrnous timers on MoarVM backend"?
10:38 moritz +o
10:38 jnthn sounds better
10:39 moritz what about the NQP asyncops branch? is that merged already?
10:40 dalek rakudo/nom: 7d27d37 | moritz++ | docs/ChangeLog:
10:40 dalek rakudo/nom: reword changelog entry
10:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d27d37e68
10:40 jnthn No
10:42 brother joined #perl6
10:43 dalek rakudo/async: a38725d | jnthn++ | / (2 files):
10:43 dalek rakudo/async: First pass at IO::Notification.
10:43 dalek rakudo/async:
10:43 dalek rakudo/async: Provides OS-backed notification of file changes. It's a fairly raw
10:43 dalek rakudo/async: stream; more sophisticated things based on it can likely evolve in
10:43 dalek rakudo/async: module space for the time being.
10:43 dalek rakudo/async: review: https://github.com/rakudo/rakudo/commit/a38725d48f
10:43 anaeem1_ joined #perl6
10:45 SamuraiJack joined #perl6
10:47 lizmat afk for a few hours&
10:49 colomon joined #perl6
10:49 Rotwang joined #perl6
11:03 araujo joined #perl6
11:03 araujo joined #perl6
11:12 kurahaupo joined #perl6
11:27 dalek rakudo/async: b4fcf26 | jnthn++ | / (2 files):
11:27 dalek rakudo/async: Add a basic cancellation object.
11:27 dalek rakudo/async: review: https://github.com/rakudo/rakudo/commit/b4fcf267ba
11:27 dalek rakudo/async: 77d8bbd | jnthn++ | src/core/ThreadPoolScheduler.pm:
11:27 dalek rakudo/async: Return Cancellation for time-based scheduled work.
11:27 dalek rakudo/async: review: https://github.com/rakudo/rakudo/commit/77d8bbd403
11:30 kurahaupo_mobile joined #perl6
11:32 vendethiel r: sub foo { for ^10 { $_ }}; say foo
11:32 camelia rakudo-jvm 3e4d2c: OUTPUT«(timeout)»
11:32 camelia ..rakudo-{parrot,moar} 3e4d2c: OUTPUT«Nil␤»
11:32 vendethiel m: sub foo { do for ^10 { $_ }}; say foo
11:32 camelia rakudo-moar 3e4d2c: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
11:32 vendethiel m: sub foo { my $i = 0; do while $i < 10 { $i++; $i }}; say foo
11:33 camelia rakudo-moar 3e4d2c: OUTPUT«False␤»
11:37 dayangkun joined #perl6
11:37 kaleem joined #perl6
11:38 dayangkun joined #perl6
11:42 dalek nqp/asyncops: 916eddb | jnthn++ | docs/ops.markdown:
11:42 dalek nqp/asyncops: A docs update for nqp::watchfile.
11:42 dalek nqp/asyncops: review: https://github.com/perl6/nqp/commit/916eddb69a
11:44 dalek nqp/asyncops: 9ad9220 | jnthn++ | tools/build/MOAR_REVISION:
11:44 dalek nqp/asyncops: Bump to a MoarVM that supports async ops.
11:44 dalek nqp/asyncops: review: https://github.com/perl6/nqp/commit/9ad9220aac
11:45 dalek nqp: 5fbd68b | jnthn++ | docs/ops.markdown:
11:45 dalek nqp: Docs nqp::timer and other coming-soon async ops.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/5fbd68b0f1
11:45 dalek nqp: b397114 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
11:45 dalek nqp: Map async nqp::ops for MoarVM.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/b3971142cb
11:45 dalek nqp: a66079d | jnthn++ | docs/ops.markdown:
11:45 dalek nqp: Tweak signal definition.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/a66079d8a8
11:45 dalek nqp: feefbf2 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
11:45 dalek nqp: Signal constants.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/feefbf24f9
11:45 dalek nqp: c042626 | jnthn++ | docs/ops.markdown:
11:45 dalek nqp: Sync async op docs with reality.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/c04262617d
11:45 dalek nqp: 916eddb | jnthn++ | docs/ops.markdown:
11:45 dalek nqp: A docs update for nqp::watchfile.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/916eddb69a
11:45 dalek nqp: 9ad9220 | jnthn++ | tools/build/MOAR_REVISION:
11:45 dalek nqp: Bump to a MoarVM that supports async ops.
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/9ad9220aac
11:45 dalek nqp: 518ff26 | jnthn++ | / (3 files):
11:45 dalek nqp: Merge branch 'asyncops'
11:45 dalek nqp: review: https://github.com/perl6/nqp/commit/518ff26537
11:46 vendethiel no heuristics : branch merge?
11:47 jnthn It didn't meet the heuristic :P
11:50 tadzik :P
11:55 jnthn Got the Rakudo branch merged locally, but need to fix the JVM build. Lunch first. bbiab
12:06 vendethiel a good heuristic could be to see "merge branch" in the last commit message
12:07 vendethiel oh, it's p5 :(
12:08 nwc10 convert it to p6?
12:08 vendethiel which raises the question : do we have an IRC module for p6 alreayd ?
12:08 nwc10 I don't think so
12:09 moritz oh yes we do
12:09 nwc10 glad to be wrong
12:09 vendethiel I'd be, really, really surprised
12:09 moritz go to modules.perl6.org, search for IRC
12:09 vendethiel well, I jump to perl6/ecosystem usually
12:09 nwc10 so, camelia6 coming soon? and ilbot6?
12:09 moritz nwc10: ilbot6 basically exists, but wasn't stable enough last I tried it
12:10 moritz also, reconnecting it as an issue :(
12:10 nwc10 aha. And now jnthn has a whole lot of new bleading-edge MoarVM for it to get hurt by? :-)
12:10 moritz well, I'll have to try on MoarVM
12:11 vendethiel m: my %enemies = ('evilmoritz', 'evilnwc', 'evilven') X=> True; multi sub isenemy($ where %enemies) { True }; multi sub isenemy($) { False }; say isenemy('a'); say isenemy('evilmoritz')
12:11 camelia rakudo-moar 7d27d3: OUTPUT«False␤True␤»
12:11 vendethiel [~~]++
12:11 nwc10 but MoarVM is fun, isn't it? And fun magically makes all hard problems easy. :-)
12:12 FROGGS true :o)
12:13 vendethiel so, can you add a github hook to deal with bots ?
12:13 vendethiel else you kinda have to poll every X minutes to check if new commits were made
12:13 FROGGS vendethiel: there are service hooks for that, yes
12:14 moritz vendethiel: dalek does both, polling and receiving notifications
12:14 vendethiel moritz: are the notifications not exhaustive enough?
12:16 vendethiel r: class A { has $.a; method foo { :$.a; } }; say A.new(:a(5)).foo;
12:16 camelia rakudo-jvm 7d27d3: OUTPUT«(timeout)»
12:16 camelia ..rakudo-{parrot,moar} 7d27d3: OUTPUT«"a" => 5␤»
12:17 vendethiel m: class A { method foo {} }; say A.new.^find_method('foo');
12:17 camelia rakudo-moar 7d27d3: OUTPUT«foo␤»
12:17 vendethiel m: class A { method foo {} }; say A.new.^find_method('foo').perl;
12:17 camelia rakudo-moar 7d27d3: OUTPUT«method foo(A: *%_) { #`(Method|140519222501696) ... }␤»
12:17 vendethiel m: class A { method foo {} }; say A.new.^find_method('foo').cando;
12:17 camelia rakudo-moar 7d27d3: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method cando at src/gen/m-CORE.setting:3181␤  in block  at /tmp/MAQW2iq_9B:1␤␤»
12:18 vendethiel m: class A { method foo {} }; say A.new.^find_method('foo').cando((5));
12:18 camelia rakudo-moar 7d27d3: OUTPUT«Type check failed in binding $c; expected 'Capture' but got 'Int'␤  in method cando at src/gen/m-CORE.setting:3181␤  in block  at /tmp/PxDyXmUWxF:1␤␤»
12:18 vendethiel m: class A { method foo($a) {say $a } }; say A.new.^find_method('foo').cando(Capture.new(list => [5]));
12:18 camelia rakudo-moar 7d27d3: OUTPUT«␤»
12:18 vendethiel m: class A { method foo($a) {say $a } }; say A.new.^find_method('foo').cando(Capture.new(list => [5]))>>.(5);
12:18 camelia rakudo-moar 7d27d3: OUTPUT«␤»
12:19 * vendethiel WATs
12:19 masak wait, why *can't* we do RIIA with 'given' statements?
12:20 jnthn vendethiel: It's a method.
12:20 jnthn vendethiel: You have to pass it an object too.
12:21 masak I mean, I know we don't have refcounting. but it seems to me some kind of escape analysis (or whatever) could reason about the `$f` in `given open('words') -> $f { ... }` being the only reference to that file handle.
12:21 vendethiel masak: because they don't invoke destructors ?
12:21 masak so we could make that analysis, and then issue some kind of guaranteed per-object destroy at the end of the `given`...
12:21 masak as long as the rules are clear for when that happens.
12:22 jnthn I'm not sure we want to overload that onto given.
12:22 vendethiel given open('words') -> $f { LEAVE $f.close; } ?
12:22 masak hm, yeah.
12:22 masak and then fold that into a macro.
12:23 moritz and name it masacro
12:24 * moritz is proud to have come up with a macro name that's not 'marco' :-)
12:24 vendethiel r: macro riaa($expr) { quasi { given {{{$expr}}} { LEAVE $f.close; } how do I pls } }
12:24 camelia rakudo-{parrot,jvm,moar} 7d27d3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$f' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32masi { given {{{$expr}}} { LEAVE $f.close[33mâ��[31m; } how do I pls } }[0mâ�¤    expecting any of:â�¤      â€¦Â»
12:25 colomon ==> Testing Audio::Taglib::Simple
12:25 colomon t/basic.t .. Cannot locate native library 'libtag_c.so'
12:25 colomon in method postcircumfix:<( )> at lib/NativeCall.pm6:127
12:25 colomon libtag_c.so is in /usr/local/lib.  Any hints on getting NativeCall to work with that?
12:25 vendethiel r: macro riaa($expr) { quasi { given {{{$expr}}} { LEAVE $_.close; }; how is code going there, idk } }
12:26 vendethiel Well, I'll need somebody more experienced with p6macros to do that :)
12:26 camelia rakudo-{parrot,jvm,moar} 7d27d3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routines:â�¤    code used at line 1â�¤    going used at line 1. Did you mean 'join'?â�¤    how used at line 1â�¤    idk used at line 1â�¤    is used at line 1â�¤   …»
12:28 retupmoca colomon: is it libtag_c.so or libtag_c.so.0 ? (it's the latter on my machine, and NativeCall only looks for .so)
12:29 colomon libtag_c.so
12:29 retupmoca well, nevermind then :P
12:29 moritz vendethiel: {{{}}} only works that the statement level
12:30 moritz m: macro riaa($expr) { quasi { my $x = {{{ $expr }}}; given $x { LEAVE .close } };
12:30 camelia rakudo-moar 7d27d3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6aqkTJ4s5Eâ�¤Unable to parse expression in block; couldn't find final '}' â�¤at /tmp/6aqkTJ4s5E:1â�¤------> [32m $expr }}}; given $x { LEAVE .close } };[33mâ��[31m<EOL>[0mâ�¤    expecting any of…»
12:30 vendethiel moritz: there's a bigger problem though
12:30 nwc10 t/spec/S04-phasers/first.t now passes for me
12:30 retupmoca colomon: LD_LIBRARY_PATH maybe? FWIW, it works for me with the lib in /usr/lib64
12:30 vendethiel m: macro riaa($expr) { quasi { my $x = {{{ $expr }}}; given $x { LEAVE .close } } }
12:30 camelia rakudo-moar 7d27d3: ( no output )
12:31 vendethiel m: macro riaa($expr) { quasi { my $x = {{{ $expr }}}; given $x { LEAVE .close } } }; class A { method close { say 'oh' } }; riaa(A.new);
12:31 camelia rakudo-moar 7d27d3: OUTPUT«Cannot call method 'STORE' on a null object␤  in any  at /tmp/DetV1Lz7YK:1␤  in block  at /tmp/DetV1Lz7YK:1␤␤»
12:32 colomon manually setting LD_LIBRARY_PATH worked, retupmoca++
12:33 FROGGS m: my %h; if %h<a>:exists || %h<b>:exists { } # is it meant to do that?
12:33 camelia rakudo-moar 7d27d3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/aKrC0tY6bFâ�¤You can't adverb thatâ�¤at /tmp/aKrC0tY6bF:1â�¤------> [32mmy %h; if %h<a>:exists || %h<b>:exists[33mâ��[31m { } # is it meant to do that?[0mâ�¤    expecting any of:â�¤        pair …»
12:34 FROGGS m: my %h; if %h<a>:exists or %h<b>:exists { }
12:34 camelia rakudo-moar 7d27d3: ( no output )
12:34 colomon but setting LD_LIBRARY_PATH in .bashrc didn't work?!
12:36 nwc10 jnthn: works on "my" machine (apart from the 2 concurrency spectests)
12:36 btyler joined #perl6
12:36 nwc10 (not new)
12:37 dalek nqp: c8a41cf | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
12:37 dalek nqp: Stub cancellation on the JVM.
12:37 dalek nqp: review: https://github.com/perl6/nqp/commit/c8a41cf409
12:38 dalek rakudo/nom: 72db9bf | jnthn++ | src/core/ThreadPoolScheduler.pm:
12:38 dalek rakudo/nom: When an array is scheduled, it is providing args.
12:38 dalek rakudo/nom:
12:38 dalek rakudo/nom: This supports various of the async nqp:: ops that pass information to
12:38 dalek rakudo/nom: a scheduler in this way.
12:38 dalek joined #perl6
12:45 masak ok, I added some timings to https://gist.github.com/masak/11136998
12:45 kbaker joined #perl6
12:49 xenoterracide joined #perl6
12:54 moritz m: say 22.2863 / 0.197
12:54 camelia rakudo-moar 7d27d3: OUTPUT«113.128426␤»
12:55 moritz :(
12:55 moritz masak: which backend is that with? Moar?
12:56 SamuraiJack_ joined #perl6
12:56 vendethiel :(
12:56 masak yes.
12:57 masak I can put up the 'words' file somewhere if someone is interested in doing their own timings.
12:59 xinming_ joined #perl6
12:59 ivanshmakov joined #perl6
12:59 colomon masak: please do
13:00 FROGGS I'd like to know what is the slowest part there... is it open('words').lines or the $line.flip?
13:01 colomon FROGGS: same here
13:01 kaare_ joined #perl6
13:01 colomon (I mean, that's why I wanted the words file.)
13:01 masak colomon: http://masak.org/carl/tmp/words
13:01 colomon masak++
13:02 masak glad my aimless toying around with stuff has led to one rakudobug and some people doing benchmarking :)
13:03 colomon aimless toying around with p6 is almost always beneficial, IME
13:03 masak aye.
13:03 colomon which probably means that should be "aimless" toying around
13:04 masak no, it's still aimless :)
13:04 masak (I'm "actually" building a Beginning Python course.)
13:04 thou joined #perl6
13:07 colomon locally, I get 9.7 seconds for the entire script, 9.4 seconds for the script minus the block starting with if $line.flip
13:07 jnthn What if you get rid of the "next if" line?
13:07 colomon So at first glance it appears that open / lines must be taking the time.
13:07 jnthn I'm doubtful it's the open
13:08 masak or the for loop itself.
13:08 colomon 9.0 s without the next if line (as well as without the flip block)
13:09 colomon .2 seconds without the for loop and .lines
13:09 masak :)
13:09 colomon so it's not the open
13:10 masak how about with just .lines but not the for loop?
13:10 FROGGS .lines then...
13:10 masak maybe +.lines or something
13:10 FROGGS m: say +lines()
13:10 jnthn Well, .lines is lazy, so need to do something to eval it
13:10 camelia rakudo-moar 7d27d3: OUTPUT«(signal )»
13:10 FROGGS wow
13:10 colomon jnthn: not as such here
13:10 colomon given open('words') -> $f {
13:10 colomon $f.lines;
13:10 colomon }
13:10 colomon 5.4 s
13:11 jnthn There's a whole bunch of the cost, then.
13:11 masak colomon: how about with a `while` loop instead of a `for` loop?
13:11 masak something that just uses the iterator by hand.
13:11 colomon +$f.lines has the same timing as just $f.lines, so it doesn't seem to be acting lazy in this case.
13:12 colomon masak: something like while $line = $f-lines.shift  ?
13:12 jnthn while (my $line = $f.get) { } is worth trying
13:12 masak what jnthn said.
13:13 colomon what jnthn said is 1.9s.
13:13 colomon so using .lines has 150% overhead more than just reading the file using .get
13:14 FROGGS that is what .lines does:
13:14 FROGGS gather while ++$count <= $limit && (my $line = self.get).defined {
13:14 FROGGS take $line;
13:14 FROGGS }
13:14 jnthn ugh
13:14 FROGGS colomon: can you add that gather and take?
13:15 jnthn That ++$count is pointless in the common case
13:15 colomon so, rewriting the entire functionality of find-palindromes using while takes 2.5s
13:15 jnthn When we know that $limit is Inf
13:15 jnthn And .defined is overkill there, .DEFINITE will do.
13:15 jnthn That <= is also hitting a slow path in that we have an Int on one side and a Num on the other.
13:15 jnthn Meaning it always has to go through the Bridge path.
13:16 masak eech.
13:16 jnthn So no wonder it's slow.
13:16 masak I'm willing to re-run my benchmark after someone applies some love to Rakudo.
13:16 FROGGS I can patch it if nobody else wants to
13:16 colomon ugh
13:16 masak ++FROGGS
13:17 jnthn FROGGS: Go for it.
13:17 colomon I just timed a simple version of lines written with gather / take
13:18 colomon I fear the slowdown is mostly in gather / take
13:18 daniel-s_ joined #perl6
13:18 jnthn Well, it's not allowed to batch at all, so it's going to have some overhead.
13:19 jnthn There's also the odd micro-opt to get
13:20 colomon https://gist.github.com/colomon/11142571 # 5.3 s
13:20 jnthn $!chomp is faster to check than $.chomp, for example
13:21 colomon and using the (empty) for loop adds another 3.4s
13:22 masak that sounds... high :/
13:25 * jnthn notes that all these were probably worse against a 2014.03.
13:26 masak *nod*
13:26 colomon jnthn++
13:27 masak to be frank, I'm happy we're just talking two orders of magnitude here.
13:27 * colomon notes this was rakudo compiled about 20 minutes ago, while attempting to get Audio::Taglib::Simple to work without starting all uses by explicitly specifying LD_LIBRARY_PATH
13:31 * colomon is a bit distressed that the overhead for using gather / take and the overhead for a for loop both outweigh the cost of file I/O.  On the bright side, sounds like we have plenty of room for optimization...
13:33 anaeem1 joined #perl6
13:34 masak yeah, that's the spirit.
13:37 bluescreen10 joined #perl6
13:39 jnthn In another "huh, why'd that get so much slower", stage mast in the setting build seems to have gone up disproportionately given the amount of sutff added.
13:41 FROGGS :/
13:41 LLamaRider joined #perl6
13:43 masak sounds bisectable.
13:43 FROGGS which is not very fun when three projects and their revisions need to be taken into account
13:43 jnthn Well, also worth profiling
13:43 jnthn If MVM_sc_find_object_idx comes out way high then we've a good idea of the culprit...
13:46 masak FROGGS: I'd just make a bisect script that realclean'd every time and compared the time it took against a threshold, I think.
13:47 FROGGS ahh, yeah, that might work well
13:48 FROGGS masak: perhaps rakudo/tools/bisect_parrot.pl is a start
13:48 masak was not aware of that script :)
13:49 FROGGS I never used it btw
13:51 FROGGS stage mast is only 24s where stage parse is 49s... that does not look too bad
13:52 jnthn FROGGS: Here stage mast used to be 14s-15s, now it's 19s.
13:52 dalek rakudo/nom: 2528d63 | jnthn++ | src/core/Supply (2 files):
13:52 dalek rakudo/nom: Properly handle closing a tap in many built-ins.
13:52 dalek rakudo/nom:
13:52 dalek rakudo/nom: This was a leftover NYI from when supplies were first added. Now you
13:52 dalek rakudo/nom: can close a tap right at the end of a chain and it cascades all the
13:52 dalek rakudo/nom: way up to the top. For example, if there's a Supply.interval at the
13:52 dalek rakudo/nom: end of the chain, it will stop the underlying timer from producing
13:52 dalek rakudo/nom: values.
13:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2528d639c9
13:52 FROGGS okay, looks like I do not remember the times that well *g*
13:54 vincent21 joined #perl6
13:56 FROGGS when I replace the .defined .DEFINITE, do not check for $count if limit is Inf, then we are at 11.0s instead of 11.5s
13:57 FROGGS when I then string the gave/take and replace it with an array, we are at 9.3s
13:57 FROGGS but then it isnt lazy anymore...
14:00 colomon FROGGS: That corresponds to the numbers I was seeing, I think.  .defined and $count < Inf might be sub-optimial, but they are not the main components of the problem here.
14:01 jnthn m: say 11/11.5
14:01 camelia rakudo-moar 544ed9: OUTPUT«0.956522␤»
14:02 thou joined #perl6
14:02 jnthn Still a ~5% win for a simple change.
14:03 anaeem1_ joined #perl6
14:06 logie_ joined #perl6
14:08 dalek rakudo/nom: 9605613 | (Tobias Leich)++ | src/core/IO.pm:
14:08 dalek rakudo/nom: slightly optimize IO::Handle.lines
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: We do not need to check for the limit when it is Inf. Also use .DEFINITE
14:08 dalek rakudo/nom: instead of .defined, which delegates directly to p6definite.
14:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96056138ea
14:09 dalek rakudo/nom: ca00d7b | jnthn++ | src/core/Supply.pm:
14:09 dalek rakudo/nom: Make on-based supplies also work well with .close.
14:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ca00d7bb68
14:12 anaeem1 joined #perl6
14:13 guru joined #perl6
14:13 moritz why not use p6definite directly?
14:19 FROGGS yes, should have done it
14:19 masak but now it's TOO LATE! :P
14:19 jnthn It works out exactly the same
14:19 jnthn code-gen wise
14:19 masak heh, was gonna ask that :)
14:20 moritz oh, never mind then
14:20 moritz masak: a git wizard is never late. He knows git push --force :-)
14:20 FROGGS it reads a bit nicer IMO with the nqp::p6definite(...)
14:20 * [Coke] tries install retroracer deps and fails miserably. :|
14:21 FROGGS eww
14:21 [Coke] *to
14:21 masak moritz: :P
14:22 colomon moritz: whereas Jedi tend to Force push gits
14:22 colomon ;)
14:23 masak "These are not the commits you are looking for."
14:23 masak *wave*
14:26 jnthn r: my $a = -> $b { c => { d => -> \e { say $b } } }; $a(42).value<d>(1)
14:26 camelia rakudo-jvm 544ed9: OUTPUT«(timeout)»
14:26 camelia ..rakudo-parrot 544ed9: OUTPUT«42␤»
14:26 camelia ..rakudo-moar 544ed9: OUTPUT«(Mu)␤»
14:30 FROGGS uhh
14:31 rindolf joined #perl6
14:31 FROGGS j: my $a = -> $b { c => { d => -> \e { say $b } } }; $a(42).value<d>(1)
14:31 camelia rakudo-jvm 544ed9: OUTPUT«42␤»
14:32 * [Coke] wonders where all the old jnthn++ blog posts are coming from in his feedly
14:32 [Coke] (rss reader)
14:33 jnthn How old?
14:33 * jnthn didn't do anything knowingly, though
14:34 jnthn blog is just a hosted wordpress one
14:34 [Coke] it's through one of the sixperl aggregrators, I assume something got bumped.
14:35 [Coke] it's just depressing because I keep thinking OOOH jnthn++ blogged AGAIN... oh, wait, that's from 2013.
14:36 jnthn Well, the last post was less than a week ago, and it was 3000 words. :P
14:41 vincent21 joined #perl6
14:42 dalek rakudo/nom: bd9e2a3 | jnthn++ | src/Perl6/Actions.nqp:
14:42 dalek rakudo/nom: Fix pointy blocks inside {...} hashes.
14:42 dalek rakudo/nom:
14:42 dalek rakudo/nom: Also need moving to get them correctly scoped. Fixes the .done method
14:42 dalek rakudo/nom: call bug in Supply.merge.
14:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd9e2a370c
14:42 jnthn .tell lizmat bd9e2a3 seems to fix the done bug
14:42 yoleaux jnthn: I'll pass your message to lizmat.
14:47 [Coke] jnthn, you raised the bar!
14:53 anaeem1 joined #perl6
14:57 jnthn [Coke]: What can I say, I learn more and more about bars as life goes by... :)
14:58 dalek rakudo/nom: 4332d7e | (Tobias Leich)++ | src/core/ (2 files):
14:58 dalek rakudo/nom: make Str.lines cheaper too by not always checking $limit
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4332d7eddf
15:00 [Coke] jnthn: mmhehehehe
15:11 kaleem joined #perl6
15:11 dalek rakudo/nom: 3425f2b | (Tobias Leich)++ | src/core/Str.pm:
15:11 dalek rakudo/nom: only check for ICU on parrot in Str.perl
15:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3425f2b7dd
15:14 salv0 joined #perl6
15:21 bluescreen100 joined #perl6
15:25 timotimo FROGGS: could that be made even more efficient by turning $icu into a state rather than my variable?
15:27 raiph joined #perl6
15:28 raydiak good morning #perl6
15:29 colomon joined #perl6
15:30 FROGGS timotimo: perhaps yes
15:30 FROGGS hi raydiak
15:31 timotimo i can't believe we've been doing a two-layer hash lookup every time we're trying to .perl a string %)
15:32 masak fortunately, .perl tends to be on "debugging" code paths, where speed is not essential.
15:33 timotimo aye, but .perl on a big hash (like $*VM for example) has been super crazy slow in the past
15:33 masak oh.
15:34 sqirrel joined #perl6
15:34 guru joined #perl6
15:34 FROGGS and I still can't believe that not Str.flip is the slowest thing in masak++'s code snippet, but the loops
15:35 masak let's make it Str.flip :)
15:35 masak (and not by slowing Str.flip down) :P
15:36 FROGGS but how so?
15:36 timotimo where do i see masaks code?
15:37 FROGGS timotimo: https://gist.github.com/masak/11136998
15:37 FROGGS and http://masak.org/carl/tmp/words
15:37 masak (temporary URL; grab it while it's hot!)
15:38 telex joined #perl6
15:39 timotimo wait ... given accepts pointy blocks?
15:39 timotimo that's funny
15:40 timotimo the timings are for moarvm?
15:40 FROGGS yes
15:41 FROGGS it is about 11s for perl6-m on my box though
15:41 bcode joined #perl6
15:42 timotimo actually
15:42 masak timotimo: allow me to blow your mind:
15:42 timotimo i'm surprised line[::-1] == line actually works
15:42 masak timotimo: *if* accepts pointy blocks!
15:42 timotimo i know *that* :)
15:42 FROGGS and 0.05s for python2.7 and 0.08 for 3.3
15:42 masak huh.
15:42 masak timotimo: array equality in Python is defined as element equality.
15:42 timotimo i thought given was for setting $_ easily :)
15:43 timotimo ah, so it re-interprets the RHS as an array?
15:43 timotimo that'd make sense
15:43 masak oh, arrays and strings :)
15:43 masak strings are sequences of characters in Python.
15:43 masak they are very list-like.
15:43 masak down to indexing (but not assigning to an element).
15:44 timotimo right
15:44 rindolf joined #perl6
15:44 masak and slicing, as evidenced.
15:44 masak and line[::-1] is the idiomatic way to reverse a string.
15:44 timotimo i wonder if it'd be faster if we immediately skipped all lines that end in 's
15:45 masak that's a microoptimization :)
15:45 timotimo fair enough
15:45 timotimo what's the exact number of lines in that file?
15:45 atroxaper joined #perl6
15:45 timotimo so we can know how much time per line rakudo-moar spends on average?
15:45 FROGGS ohh, nvm the python3.3 run, it does not like the syntax :o)
15:45 timotimo you'll probably just have to put () around line in the print line line
15:46 FROGGS timotimo: 99171
15:46 timotimo okay, so at least we're way below 1 second per line :)
15:46 FROGGS timotimo: can p6bench run pythen too?
15:46 timotimo it could easily be made to
15:46 FROGGS because this would make a good benchmark
15:47 timotimo r: say "that's {22.2863 / 99171} seconds per line for rakudo and {0.197 / 99171} seconds per line in python"
15:47 jnthn Well, also can write a Perl 5 version of it if we don't want to do that.
15:47 camelia rakudo-{parrot,jvm,moar} 544ed9: OUTPUT«that's 0.0002247260 seconds per line for rakudo and 0.000001986 seconds per line in python␤»
15:47 FROGGS (good as an internal benchmark, not for handing it out to our customers :o)
15:47 timotimo masak: the given block with the file object doesn't really give the same "close automatically on exception" semantics as the with block
15:48 timotimo so maybe put an UNDO { $f.close } in there?
15:48 FROGGS jnthn: a P5 version of Python? :P
15:49 FROGGS timotimo: but there is no exception
15:49 FROGGS none at all :P
15:49 treehug88 joined #perl6
15:50 timotimo rakudo can't prove that yet! :P
15:50 treehug88 joined #perl6
15:56 masak timotimo: maybe LEAVE { $f.close } ?
15:56 masak anyway, 's a good idea.
15:57 guru joined #perl6
16:00 vendethiel m: if 5 -> $a { say $a }
16:00 camelia rakudo-moar 544ed9: OUTPUT«5␤»
16:00 vendethiel timotimo: ^
16:03 masak updated: https://gist.github.com/masak/11136998
16:04 masak vendethiel: timotimo said he knew that one already.
16:05 politico joined #perl6
16:13 guru joined #perl6
16:15 politico left #perl6
16:16 dmol joined #perl6
16:22 retupmoca I think I found a LWP::Simple bug with chunked transfer encoding (that only happens sporadically when hitting real servers)
16:22 retupmoca fix attempt: https://github.com/cosimo/perl6-lwp-simple/pull/29
16:22 retupmoca (also, get-unsized.t is hitting a server that now does chunked, so it isn't really testing unsized anymore)
16:24 hoelzro joined #perl6
16:24 FROGGS retupmoca: on which backends?
16:25 ajr joined #perl6
16:25 retupmoca FROGGS: I only tested moar, but I'm not seeing anything backend-specific
16:28 hoverboard joined #perl6
16:31 kurahaupo joined #perl6
16:35 ajr joined #perl6
16:37 FROGGS retupmoca: k, I had thought it might be parrot related
16:47 gaussblurinc joined #perl6
16:56 a3gis joined #perl6
16:59 Rotwang joined #perl6
17:18 SamuraiJack_ joined #perl6
17:21 FROGGS jnthn: building perl6-j is currently broken with HEAD?
17:21 jnthn Shouldn't be.
17:22 FROGGS Stage jast       : Method 'jast' not found for invocant of class 'NQPMu'
17:22 FROGGS in  (gen/jvm/stage2/QAST.nqp:3813)
17:22 FROGGS in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3795)
17:22 jnthn Make sure you've HEAD NQP (one in NQP_REVISION)
17:22 FROGGS nqp is HEAD also
17:22 atroxaper joined #perl6
17:22 jnthn That's very likely the error you'd get if you didn't have c8a41cf4, is all.
17:22 jnthn oh, maybe not...
17:23 jnthn hmm, odd
17:23 FROGGS This is nqp version 2014.04-16-gc8a41cf built on JVM
17:23 FROGGS froggs@TL02L-R8RXTCW-linux:~/dev/rakudo$ cat tools/build/NQP_REVISION
17:23 FROGGS 2014.04-16-gc8a41cf
17:23 jnthn It worked for me earlier.
17:23 FROGGS hmmm
17:23 jnthn Like, a few hours ago.
17:24 FROGGS I am going back, commit by commit in rakudo to see what is going on
17:24 jnthn So it'll be a recent one.
17:24 jnthn Yeah
17:24 jnthn FROGGS++
17:25 * jnthn is currently working on the wonderful "Attempt to unlock mutex by thread not holding it" error
17:25 FROGGS eww
17:26 FROGGS btw, what is your opinion of playing with making hypers multi threaded on moar?
17:26 FROGGS is that too early?
17:29 gaussblurinc_ joined #perl6
17:33 jnthn FROGGS: Well, can always play around with it in module-space first.
17:33 jnthn FROGGS: I think a module that loads an alternative hyper implementation would do it.
17:34 FROGGS sure, I did not meant to push that to nom directly :o)
17:34 FROGGS I just wonder if everything needed is in a good shape already
17:34 FROGGS (I did nothing with threads here yet)
17:36 jnthn Well, there'll be issues here and there :)
17:37 FROGGS k
17:37 FROGGS :o)
17:40 FROGGS first bad: 2528d63... Properly handle closing a tap in many built-ins.
17:40 FROGGS last good: 544ed97... Include Cancellation.pm in JVM setting build.
17:40 dalek roast: dec25be | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
17:40 dalek roast: Unfudge/Normalize Supply.merge tests
17:40 dalek roast: review: https://github.com/perl6/roast/commit/dec25be2c2
17:41 jnthn How the heck could that break it...
17:42 FROGGS I dunno... I'll debug it in a bit
17:47 dalek specs: b8a36cb | jnthn++ | S17-concurrency.pod:
17:47 dalek specs: Some additions/improvements to Supply spec.
17:47 dalek specs:
17:47 dalek specs: Subject to review, of course.
17:47 dalek specs: review: https://github.com/perl6/specs/commit/b8a36cb66c
17:49 lizmat jnthn: looks good to me
17:49 yoleaux 14:42Z <jnthn> lizmat: bd9e2a3 seems to fix the done bug
17:49 lizmat and that is now confirmed
17:50 lizmat should :on_close be specced ?
17:50 lizmat jnthn  ^^^
17:56 jnthn lizmat: Probably yeah
17:57 dalek rakudo/nom: bc7efa3 | jnthn++ | src/core/IO/Spec/Win32.pm:
17:57 dalek rakudo/nom: PATH may be Path (or even missing!) on Win32.
17:57 dalek rakudo/nom:
17:57 dalek rakudo/nom: This prevents the split from exploding.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc7efa382f
17:57 dalek rakudo/nom: be57b26 | jnthn++ | src/core/Supply.pm:
17:57 dalek rakudo/nom: Allow argless tap.
17:57 dalek rakudo/nom:
17:57 dalek rakudo/nom: Useful for tapping for (do) side-effects.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/be57b261a4
17:57 dalek rakudo/nom: a364a1f | jnthn++ | src/core/Supply.pm:
17:57 dalek rakudo/nom: Implement act.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a364a1fdc8
17:58 lizmat pulling and spectesting :-)
17:58 dalek rakudo/nom: 3b6ab9e | jnthn++ | src/Perl6/Actions.nqp:
17:58 dalek rakudo/nom: Fix CATCH/CONTROL phaser and thread interaction.
17:58 dalek rakudo/nom:
17:58 dalek rakudo/nom: We over-shared the blocks, meaning that once threads showed up we got
17:58 dalek rakudo/nom: into weird problems. Possibly recursion could reproduce it too. In the
17:58 dalek rakudo/nom: threads case, the CATCH in Lock.protect sometimes tried to unlock the
17:58 dalek rakudo/nom: wrong mutex.
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b6ab9e274
17:59 jnthn lizmat: You'll probably want ^^ too
17:59 jnthn Just finished spectesting that here
17:59 lizmat ^Cing, pulling and spectesting :-)
17:59 jnthn If you've ever got a "Wrong thread trying to unlock mutex" error, it wsa that.
17:59 lizmat no, never seen that
18:00 jnthn And I'm *really* glad I put the sanity check in Moar to spit out such an error, rather than having it silently fail, then something else screw up...
18:00 jnthn OK. I was getting it reliably while building a demo app for my talk :)
18:00 lizmat jnthn: "on_close" feels wrong with regards to "done" and "quit"
18:00 lizmat I mean, they're not called "on_done" and "on_quit" either
18:01 lizmat maybe "closed" ?
18:01 lizmat rather then "on_close" or "close" ?
18:01 jnthn I want it to look unusual
18:01 lizmat CLOSE ?
18:01 lizmat CLOSED?
18:01 jnthn In so far as it's the only thing that propagates up rather than down.
18:02 jnthn closing maybe :)
18:02 jnthn Because it happens during closing.
18:02 lizmat in that case, "closing" feels indeed better than "on_close", at least to me
18:02 btyler joined #perl6
18:03 lizmat if you want, I can take care of that LHF
18:03 jnthn Feel free
18:03 jnthn You only use it if creating your own supplies in a lower-level way.
18:06 hoverboard joined #perl6
18:11 lizmat actually, I just realise that Supply.list is not specced
18:12 lizmat conversely, I wonder if we would need a Any.Channel
18:12 lizmat or at least a Lo
18:12 lizmat List.Channel
18:13 anaeem1 joined #perl6
18:14 lizmat hmmm... it seems that t/spec/S17-concurrency/promise.t now fails the last test under load
18:14 lizmat somerimes
18:14 lizmat sometimes
18:15 treehug88 joined #perl6
18:15 lizmat #      got: '1 0 2 3 4 5 6 7 8 9'
18:15 lizmat # expected: '0 1 2 3 4 5 6 7 8 9'
18:17 lizmat looks like the test is a bit fragile
18:18 jnthn Looks like.
18:19 lizmat whoa: ok 29 - Correct exception stored
18:19 lizmat Segmentation fault: 11
18:19 lizmat only once though :-(
18:21 treehug88 joined #perl6
18:22 dalek roast: 2133955 | (Elizabeth Mattijsen)++ | S17-concurrency/promise.t:
18:22 dalek roast: Made sleepsort / cas @a test less fragile
18:22 dalek roast: review: https://github.com/perl6/roast/commit/21339550ff
18:24 Sqirrel joined #perl6
18:31 FROGGS jnthn: see:
18:31 FROGGS j: class Supply { method foo() { if [] -> &on_close { } } }
18:31 camelia rakudo-jvm 544ed9: ( no output )
18:31 FROGGS j: role Supply { method foo() { if [] -> &on_close { } } }
18:31 camelia rakudo-jvm 544ed9: OUTPUT«===SORRY!===␤No such method 'jast' for invocant of type 'NQPMu'␤»
18:33 jnthn FROGGS: Did your JVM patch earlier address if/unless code-gen with pointies, or just while?
18:33 FROGGS both
18:35 guru joined #perl6
18:36 FROGGS that was the patch https://github.com/perl6/nqp/commit/2a​316976f614671604cb9a2aa0605e6960d95624
18:38 denis_boyun_ joined #perl6
18:38 FROGGS do you have an idea why it fails in a role but not in a class?
18:39 FROGGS j: role Supply { method foo() { if 1 -> $a { } } } # a bit shorter
18:39 camelia rakudo-jvm 544ed9: OUTPUT«===SORRY!===␤No such method 'jast' for invocant of type 'NQPMu'␤»
18:39 FROGGS j: class Supply { method foo() { if 1 -> $a { } } } # a bit shorter
18:39 camelia rakudo-jvm 544ed9: ( no output )
18:43 hoverboard joined #perl6
18:49 jnthn FROGGS: Yeah. Because role bodies are compiled once at compile time since they need to be run when the role is composed
18:49 jnthn FROGGS: Then again post-optimization
18:49 jnthn FROGGS: So if the first compile ruins the tree...the second one is sad.
18:50 FROGGS I see
18:50 dalek roast: 4e3020d | (David Warring david.warring@gmail.com)++ | integration/advent2012-day1 (2 files):
18:50 dalek roast: adding advent 2012 days 12 & 13
18:50 dalek roast: review: https://github.com/perl6/roast/commit/4e3020d4a5
18:52 vincent21 left #perl6
18:57 jnthn FROGGS: Hmm, your patch looks right at first glance
18:58 FROGGS I am patching it now that I do not rebind to $op[1] but to something else, so I can set the blocktype of $op[1] instead of $op[1][0]
19:01 denis_boyun__ joined #perl6
19:03 anaeem1 joined #perl6
19:05 ajr_ The bug [perl #121693] recently filed appears not to affect "perl6 version 2014.03.01 built on parrot 6.1.0 revision 0
19:05 ajr_ "
19:05 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121693
19:05 ajr_ I just tried the tests, and they terminated correctly.
19:07 brrt joined #perl6
19:10 dalek rakudo/nom: 257d0cd | (Elizabeth Mattijsen)++ | t/spectest.data:
19:10 dalek rakudo/nom: Add advent2012, day 12 and 13 tests
19:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/257d0cde3e
19:10 dalek rakudo/nom: 40c3799 | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
19:10 dalek rakudo/nom: Rename Tap 'on_close' to 'closing'
19:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40c379993c
19:10 lizmat dwarring++
19:13 FROGGS ajr_: there was a IO refactoring in MoarVM by that time... but knowing this timespan is very good because we can bisect it easily
19:13 ajr_ Happy to make whatever tiny contribution I can.
19:14 FROGGS ajr_++ # :o)
19:16 jnthn FROGGS: I don't suppose it could be anything to do with the cleverness here? https://github.com/MoarVM/MoarVM/b​lob/master/src/io/syncfile.c#L186
19:17 jnthn FROGGS: What is lstat gonna do on a symlink?
19:17 FROGGS jnthn: ohh that is a good start
19:17 jnthn It might just return the length of the symlink.
19:17 jnthn Well, I've felt a bit uneasy about that code generally.
19:18 jnthn Not saying it's wrong...
19:18 jnthn Just a slightly curious thing to do.
19:18 FROGGS okay do that one in a sec
19:18 FROGGS I've got a patch for the jvm bug now
19:18 jnthn FROGGS++
19:18 jnthn I need to prep a bit for my travels tomorrow
19:18 jnthn But hopefully some code later
19:22 dalek nqp: 3617885 | (Tobias Leich)++ | src/vm/jvm/QAST/Compiler.nqp:
19:22 dalek nqp: unbreak pointies in if/unless by keeping a ref we reset the blocktype later
19:22 dalek nqp: review: https://github.com/perl6/nqp/commit/3617885235
19:22 flussence oh hai *
19:22 FROGGS hi flussence
19:23 flussence I was trying to write a glue script thingy yesterday that checked some dead links using HTTP::Client, but that seems to... flat out not work. Is there something newer I should be using instead?
19:26 kurahaupo joined #perl6
19:27 dalek rakudo/nom: e974894 | (Tobias Leich)++ | tools/build/NQP_REVISION:
19:27 dalek rakudo/nom: bump nqp rev for unbreak of pointies in if
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e974894efd
19:27 retupmoca flussence: have you tried LWP::Simple?
19:28 flussence bah, why didn't I think of looking for LWP first... :)
19:28 zakharyas joined #perl6
19:29 flussence (I ended up using shell("curl ...") as a workaround, it did what I wanted but it's scary variable-interpolation-into-shell(), and forces one guy playing along with me to load up cygwin stuff...)
19:38 nwc10 The LWP project folks ought to watch this PyCon talk: http://pyvideo.org/video/2​651/the-sorry-state-of-ssl
19:39 nwc10 heck, everyone should. It's a useful and fun use of 45 minutes
19:42 Vlavv joined #perl6
19:44 dalek specs: 276721d | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
19:44 dalek specs: Spec Supply.list
19:44 dalek specs: review: https://github.com/perl6/specs/commit/276721dd31
19:46 lizmat timotimo: maybe it is an idea to add a "quote of the week" to the weekly
19:47 timotimo ah?
19:47 jnthn <jnthn> Quotes suck zebra!
19:48 lizmat my proposal for this weeks: Sebastian Riedl: "#‎perl6 is starting to reach the point where i would love to spend more time on a port of #‎mojolicious."
19:48 timotimo i saw that, too. and it made me happy :)
19:48 _sri :)
19:48 lizmat hi Sebastian  :-)
19:49 _sri o/
19:54 masak \o
19:54 masak ++_sri
19:54 * brrt would <3 a perl6 mojolicious port
19:54 FROGGS ohh yes!
19:54 FROGGS ++_sri
20:03 hoverboard joined #perl6
20:03 beastd joined #perl6
20:08 _sri jnthn++
20:09 segomos _sri++
20:12 arturo joined #perl6
20:14 dalek rakudo/nom: b916084 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
20:14 dalek rakudo/nom: Make sure Supply.(zip|merge) noop correctly
20:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9160840b3
20:18 timotimo will we be releasing a bistar or a tristar this month?
20:22 jnthn timotimo: It will supporting building all 3, though only 2 are fully functional
20:22 jnthn (A handful of module fails left on j)
20:22 timotimo thanks
20:23 arnsholt Any of the remaining module failures on j potentially NativeCall related?
20:26 jnthn arnsholt: I don't believe so
20:27 dalek roast: 839e811 | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
20:27 dalek roast: Add some noop tests and some cleanup
20:27 dalek roast: review: https://github.com/perl6/roast/commit/839e8119c1
20:30 arnsholt Goody! =)
20:31 dalek nqp: 1c280f2 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
20:31 dalek nqp: bump moar rev to get symlink/stat fixes
20:31 dalek nqp: review: https://github.com/perl6/nqp/commit/1c280f221b
20:31 dalek rakudo/nom: 0fb001e | (Tobias Leich)++ | tools/build/NQP_REVISION:
20:31 dalek rakudo/nom: bump moar/nqp rev to get symlink/stat fixes
20:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fb001e592
20:31 * lizmat pulls, rebuilds and spectests
20:32 FROGGS jnthn: yes, lstat on a symlink gives you the .chars of the target filename for st_size
20:33 FROGGS jnthn: so we had read 6 bytes and the file was just 3 bytes and therefor we did not hit eof :o)
20:33 anaeem1 joined #perl6
20:33 jnthn FROGGS: haha
20:35 FROGGS moritz: camelia is still not up to HEAD :/
20:36 FROGGS arnsholt: the failures are more about lexical lookups from our subs or so... I keep this up-to-date https://gist.github.com/FR​OGGS/0ea5537eb675588baaa2
20:37 effbiai joined #perl6
20:37 FROGGS sadly the really interesting modules fail on jvm :/
20:42 masak FROGGS++ # https://gist.github.com/FR​OGGS/0ea5537eb675588baaa2
20:42 brrt left #perl6
20:42 timotimo FROGGS: may i link to that gist from my blog post?
20:43 FROGGS timotimo: sure
20:44 timotimo https://p6weekly.wordpress.com/?p=​146&amp;shareadraft=53558343051b0
20:47 jnthn timotimo: looks good to me
20:50 timotimo published
20:50 segomos bad..ass...
20:50 FROGGS timotimo++
20:51 lizmat timotimo++
20:51 lizmat fg
20:51 btyler joined #perl6
20:51 * masak jumps to the foreground
20:51 masak url to timotimo++'s post: https://p6weekly.wordpress.com/2014/​04/21/2014-16-release-asynchronous-i​o-timers-supply-features-and-gsoc/
20:53 [Coke] timotimo++
20:57 raydiak timotimo++: when you have a moment, have a look at http://cyberuniverses.com/perl6-bench/ and tell me if you think the weird placement of the tooltip on the bar charts is a deal-breaker. have been wrestling with it without success...would probably have to hack the plotting lib to fix it, or put the bar charts back how they were and just not update those ones for the toggling
21:03 raydiak well, there is one more option, to completely re-build the bar charts every time someone clicks a check box, but that's probably too heavy an operation to be a good idea
21:05 jnthn raydiak: ooh, that fastest vs global fastest thing is great
21:05 jnthn raydiak++
21:06 raydiak jnthn: thanks :) was timotimo's idea
21:07 timotimo oooh! i meant to talk about that in the post, too!
21:09 PerlJam raydiak: Why not have the tooltip show up at a fixed location relative to the graph?  Like in a little box next to the title for instance.
21:10 raydiak PerlJam: it's a thought, but would take some doing...the options the plotting lib provides for the tooltip are very limited
21:12 raydiak e.g. "‘n’, ‘ne’, ‘e’, ‘se’, ‘s’, ‘sw’, ‘w’, ‘nw’"
21:12 * lue wonders when one of these benchmark sites will link you to the actual code used for the test
21:13 raydiak where is this thing actually hosted at anyway?
21:17 dmol joined #perl6
21:17 raydiak or does nobody have it running on a cron job with the output hosted on a webserver?
21:17 masak 'night, #perl6
21:18 raydiak g'night masak
21:18 lizmat FROGGS: problems with statting files on Moar:
21:18 lizmat $ perl6 t/spec/S16-filehandles/io_in_while_loops.t
21:18 lizmat 1..13
21:18 lizmat Failed to stat in filehandle: Unknown system error
21:19 lizmat see it in many tests  :-(
21:20 lizmat This is perl6 version 2014.04-72-g0fb001e built on MoarVM version 2014.04-24-g4a8dac6
21:21 IllvilJa joined #perl6
21:23 gdey joined #perl6
21:24 raiph joined #perl6
21:37 FROGGS lizmat: k, I'll care
21:38 FROGGS lizmat: hmmm, at least that test file passes on my box
21:39 lizmat ok, then I'll do a rebuild from sratch and see what gives
21:39 FROGGS hmmm
21:40 jnthn OSes?
21:40 * jnthn tries on Windows
21:41 lizmat OSX in my case
21:41 jnthn FROGGS: When building I see this:
21:41 jnthn c:\consulting\moarvm\src\io\fileops.c(55) : warning C4715: 'MVM_file_follow_symlinks' : not all control paths return a value
21:41 FROGGS jnthn: yes, I've spotted that a second ago too
21:41 FROGGS lizmat: you do not need to rebuild anything now
21:41 lizmat okidoki
21:42 jnthn Test does pass on Windows, fwiw
21:42 vendethiel timotimo: "Nami-Doc was kind enough to fix this" I, uh, was the one who broke it when I added it to start with :/
21:43 FROGGS lizmat: now please only pull and rebuild moar
21:43 jnthn The patch to syncfile looks dubious too
21:43 jnthn It doesn't stat any more, just does follow sym links?
21:43 vendethiel (so I wasn't "kind enough" to fix anything, it took me like 4 PRs to implement something that should've taken 3 minutes ... my bad)
21:43 FROGGS the follow_symlink stats
21:44 dalek rakudo/nom: 98c2b3d | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
21:44 dalek rakudo/nom: Fixed timed batching with Supply.batch
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98c2b3d086
21:44 jnthn FROGGS: oh...that's a weird name for it then?
21:44 FROGGS jnthn: yeah, I considered a much longer name first to express what it does :/
21:45 FROGGS MVM_file_stat_symlink`s_target?
21:45 FROGGS :/
21:46 jnthn MVM_file_stat_follow_symlink
21:47 FROGGS thanks, will change it
21:48 dalek roast: 28ddeb8 | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
21:48 dalek roast: Add tests for timed batches
21:48 dalek roast: review: https://github.com/perl6/roast/commit/28ddeb857f
21:50 dalek nqp: 8ac1a92 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
21:50 dalek nqp: bump moar rev for follow_symlink fix
21:50 dalek nqp: review: https://github.com/perl6/nqp/commit/8ac1a9247b
21:51 dalek rakudo/nom: cc017e8 | (Tobias Leich)++ | tools/build/NQP_REVISION:
21:51 dalek rakudo/nom: bump nqp/moar rev for follow_symlink fix
21:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc017e881d
21:51 FROGGS nwc10++ # that TLS talk is really worth watching it
21:52 punter joined #perl6
22:01 punter Has CPAN started indexing perl6 modules properly?
22:01 FROGGS punter: no, the indexer ignores these atm
22:01 punter it will do so soon, though, won't it?
22:02 FROGGS I sent a mail to andk on saturday to discuss the indexer
22:02 punter ok
22:02 FROGGS I'll write a pull request after I got my answer :o)
22:04 punter kewl
22:05 FROGGS yeah, and then we have to test the "eleven" branch of rakudo heavily and finally connect panda to cpan
22:05 jnthn Time for some rest...early start tomorrow
22:05 jnthn 'night, #perl6
22:05 FROGGS night jnthn
22:07 timotimo raydiak: i like the functionality; can you make the checkboxes float to the right of the graphs and follow the scrolling?
22:08 raydiak timotimo: sure, great idea...hadn't figured out where to put them yet
22:08 timotimo and then turn that intox a matrix of nqp-jvm / nqp-moarvm / rakudo-jvm on the top and 2013.12 on the left
22:08 FROGGS is there something to look at?
22:08 raydiak hold on I'll un-break it
22:10 raydiak http://cyberuniverses.com/perl6-bench/
22:10 FROGGS ahh, very nice
22:11 raydiak timotimo: when I make them float, they'll overlap the graphs if the window is too narrow...is that acceptable?
22:12 raydiak suppose I could add a 'open/close' button to the float too
22:12 FROGGS gnight all
22:15 * lizmat also wishes #perl6! a good *
22:15 lizmat sleep&
22:15 raydiak good night lizmat
22:16 rurban joined #perl6
22:19 gdey_ joined #perl6
22:28 xenoterracide_ joined #perl6
22:28 timotimo raydiak: oh, maybe you can make it expandable from the side?
22:28 timotimo so if the window is too narrow, it'll collapse and you can show it again with a button?
22:29 raydiak how about just having start collapsed?
22:29 timotimo good idea
22:29 timotimo something else i've just noticed, but you can probably do nothing about that
22:29 timotimo if there's a dot near the top of the graph, only parts of its mouseover tag will be visible :(
22:30 raydiak ah, I see
22:30 raydiak not sure, but I'll put it on a list to at least look at
22:31 raydiak there, fixed it
22:31 raydiak and have a start to floating checkboxes
22:37 timotimo <3
22:37 timotimo now the chartrs with only bars are weird
22:37 timotimo (regarding mouseover)
22:38 raydiak yeah, that's what I started out asking you about :)
22:39 raydiak but I'm thinking about a solution based on something PerlJam said...I might be able to get them to at least always show up in a certain corner or something
22:40 timotimo oooh
22:40 timotimo also the check boxes seem to have weird "hit boxes"
22:40 timotimo clicking on the lower quarter or so of one will select the one below it instead
22:41 raydiak ah, I can fix that
22:42 timotimo great
22:42 timotimo i'm liking the changes a lot so far :)
22:49 raydiak glad to hear it :)
22:50 raydiak it has quick-n-dirty open/close for now, can add fancy rolling animation and open/close icon later
22:52 raydiak I notice when you hover over hidden bars, it shows a dot (but no tooltip)
22:53 timotimo doesn't do it for me
22:53 raydiak hm
22:54 raydiak wish I could just turn that tooltip off for the bar charts, but then there's no way to see the exact value
22:56 raydiak the problems with the bar charts boil down to the fact that they used to be 1 series with a datum for each perl, and now it's 1 series per perl with a single datum each, like how the line graphs do it
22:57 raydiak b/c there are ways to turn whole series on/off, but not single points
22:58 timotimo oh
22:59 raydiak I'm learning to dislike jqplot...too many options for too little flexibility in the ways I need
23:07 BenGoldberg joined #perl6
23:08 timotimo if you can save us (yourself) a lot of time by switching to something else, feel free ;)
23:10 raydiak I may take that project on in the future
23:20 hoverboard joined #perl6
23:22 raydiak I got the tooltip to always show in the top left...how does that look?
23:23 timotimo i like it
23:23 raydiak I almost like it more that way...doesn't tend to obscure the region of the graph you're looking at
23:24 timotimo aye
23:24 timotimo though bottom right may be a better choice all in all
23:24 timotimo as there's some white space there usually any way
23:26 raydiak lol it really didn't like that
23:28 raydiak ah there we go, that works
23:29 timotimo i like that more
23:30 timotimo but somehow, along the way, bar charts seem to have lost all their annotation
23:30 timotimo so you'll have to be not-colorblind
23:30 raydiak added roll up/down effect on the toggle drawer
23:30 timotimo cute
23:30 raydiak ah, right, that was another one of the tradeoffs for the restructuring I had to do
23:31 raydiak I will add the name of the perl to the tooltip on the bar charts
23:32 timotimo good
23:33 raydiak there, now color-blind people can identify the bars w/o counting from the top/left
23:33 timotimo good
23:35 raydiak got a few other issues to address over the evening to finish it up, but I think that's all the show-stopping problems I needed input on
23:35 timotimo \o/
23:35 timotimo i was planning on going to bed soon
23:35 timotimo i suppose i'll put the changes to the bench graphs into next week's weekly
23:35 timotimo (or maybe even write more than one post per week?)
23:37 raydiak really want to be thorough, don't you? :) didn't think this kind of minor evolution was newsworthy
23:40 timotimo the post started out quite short :P
23:41 raydiak you do a good job of making it all sound alive and exciting, regardless
23:41 timotimo hah
23:42 timotimo that's all that matters in the end ;)
23:45 raydiak hid the hover dot on the bar graphs, so now they look completely normal
23:46 timotimo looks good
23:46 timotimo i'm going to bed now :)
23:46 timotimo good luck and thanks for working on this!
23:47 raydiak you're quite welcome, I'm glad to help.  sleep well!
23:54 raiph joined #perl6

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

Perl 6 | Reference Documentation | Rakudo