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