»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
ugexe | now that i've stated that im sure it will start giving me problems again | 00:00 | |
00:00
n0tjack joined
00:04
mprelude left,
pierrot joined
00:09
vendethiel left,
pierrot left
00:13
n0tjack left,
colomon joined
00:14
n0tjack joined
00:20
geekosaur joined
|
|||
psch | ugexe: i was thinking gdb backtrace, actually | 00:27 | |
ugexe: sorry for misspeaking | |||
00:39
aborazmeh left,
lolisa joined,
thou left
00:40
n0tjack left
|
|||
ShimmerFairy | .tell TimToady one thing about 'is raw' is that it's just one letter (and visually similar) to 'is rw', and I'm not sure if having such different behaviors be so close in name is a good idea (even worse, 'a' neighbors 'w' on QWERTY, so accidental 'rw'->'raw' is possible too if your fingers slip a bit :P) | 00:42 | |
yoleaux | ShimmerFairy: I'll pass your message to TimToady. | ||
grondilu | ^that looks like a reasonable objection | 00:48 | |
00:53
b2gills joined
00:58
n0tjack joined
|
|||
TimToady already considered it before deciding | 01:00 | ||
yoleaux | 00:42Z <ShimmerFairy> TimToady: one thing about 'is raw' is that it's just one letter (and visually similar) to 'is rw', and I'm not sure if having such different behaviors be so close in name is a good idea (even worse, 'a' neighbors 'w' on QWERTY, so accidental 'rw'->'raw' is possible too if your fingers slip a bit :P) | ||
colomon | Util: ping? | ||
ShimmerFairy | TimToady: that's good to hear :) . I wonder if an 'is rw' slip-up would be caught if you weren't returning a Proxy ('is raw' slip-up would be caught as you tried assigning to the call) | 01:01 | |
01:03
n0tjack left
|
|||
colomon | .tell masak I’ve got a pull request to get Perl6::Literate passing tests again. | 01:08 | |
yoleaux | colomon: I'll pass your message to masak. | ||
colomon | .tell Util I’ve got a pull request for you, too. :) | 01:12 | |
yoleaux | colomon: I'll pass your message to Util. | ||
01:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:31
n0tjack joined,
tokuhiro_ joined
01:35
n0tjack left
01:36
tokuhiro_ left
01:42
skids joined
01:48
thou joined
01:52
thou left
02:04
n0tjack joined
02:05
TimToady joined
02:08
n0tjack left
02:09
colomon left
02:13
BenGoldberg left
|
|||
dalek | ecs: 9855bfd | raiph++ | S07-lists.pod: typo |
02:14 | |
02:23
colomon joined
02:33
kjs__ joined
02:36
n0tjack joined
02:40
n0tjack left
02:55
noganex joined
|
|||
dalek | ecs: fb7cb20 | raiph++ | S07-lists.pod: simplify / improve non-technical language |
02:56 | |
02:58
noganex_ left,
kjs__ left
|
|||
diakopter | arm warnings: pastebin.com/5V9vs6tA | 03:02 | |
03:07
colomon left
03:09
n0tjack joined
03:14
n0tjack left
03:20
colomon joined
03:26
khw left
03:32
khw joined
03:33
tokuhiro_ joined
03:36
thou joined
03:38
tokuhiro_ left
03:41
rangerprice left
03:42
n0tjack joined
|
|||
dalek | kudo/nom: f7d8335 | TimToady++ | src/core/ (2 files): Xop didn't set lazy right |
03:46 | |
03:47
n0tjack left
04:12
khw left
04:15
n0tjack joined
|
|||
dalek | c: 173717a | skids++ | lib/Language/functions.pod: Document conventional flattening style/single-argument-rule post-GLR |
04:16 | |
04:18
ggoebel left
04:19
ggoebel joined,
n0tjack left
|
|||
Util | colomon: pong | 04:26 | |
yoleaux | 01:12Z <colomon> Util: I’ve got a pull request for you, too. :) | ||
dalek | kudo/nom: cc0c380 | TimToady++ | src/core/metaops.pm: triangle reduce should pass on is-lazy |
04:28 | |
04:33
vendethiel joined
|
|||
dalek | ast: 75dcd61 | TimToady++ | S03-metaops/reduce.t: test triangle laziness transitivity |
04:35 | |
ast: cd5a1af | TimToady++ | S03-metaops/cross.t: test Xop laziness transitivity |
|||
04:42
kaare_ joined
04:47
n0tjack joined
|
|||
Util | colomon: Merged. Thanks! | 04:47 | |
04:51
n0tjack left
04:56
thou left
04:58
vendethiel left
05:20
n0tjack joined,
aborazmeh left,
shinobi-cl joined
|
|||
shinobi-cl | Hi | 05:22 | |
r: my @a=(1,2,(30,40),50); say @a.flat.perl; | |||
camelia | rakudo-moar cc0c38: OUTPUT«(1, 2, $(30, 40), 50).Seq» | ||
..rakudo-jvm cc0c38: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory» | |||
shinobi-cl | What can i use to get (1,2,30,40,50) instead of (1, 2, $(30, 40), 50)? | 05:23 | |
r: my @a=(1,2,[30,40],50); say @a.flat.perl; | |||
camelia | rakudo-moar cc0c38: OUTPUT«(1, 2, $[30, 40], 50).Seq» | ||
..rakudo-jvm cc0c38: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory» | |||
05:24
n0tjack left
05:25
lolisa left
|
|||
TimToady | m: my @a=(1,2,[30,40],50); say @a»<>.flat.perl | 05:32 | |
camelia | rakudo-moar cc0c38: OUTPUT«(1, 2, 30, 40, 50).Seq» | 05:33 | |
TimToady | m: my @a=(1,2,[30,40],50); say @a»[].flat.perl | ||
camelia | rakudo-moar cc0c38: OUTPUT«(1, 2, 30, 40, 50).Seq» | ||
TimToady | an array itemizes its elements, so flat can't work directly on an array | 05:34 | |
05:34
tokuhiro_ joined
|
|||
TimToady | though perhaps Array.flat could imply deitemization of the elements | 05:34 | |
05:38
tokuhiro_ left
05:52
n0tjack joined
05:57
n0tjack left
|
|||
ShimmerFairy | TimToady: you could generally characterize .flat as "treat each Positional item as though it were really a Slip" if you went with that, I think. (That is, [1, [2, [3, 4], 5]].flat -> [1, |[2, [3, 4], 5]] -> [1, 2, [3, 4], 5] | 06:01 | |
TimToady | well, but flat is recursive ordinarily | 06:06 | |
grr, just got a "Too many arguments in flattening array" trying to do [max] @values | 06:08 | ||
ShimmerFairy | Ah. Was there a one-level version of flat? I seem to recall one. | ||
06:10
Alina-malina joined
|
|||
TimToady | m: say [max] rand xx 65536 | 06:13 | |
camelia | rakudo-moar cc0c38: OUTPUT«Too many arguments in flattening array. in block <unit> at /tmp/82jmDsKdSj:1» | ||
TimToady | "no arbitrary limits" used to be one of Perl's mantras... | ||
m: say [max] rand xx 65535 | |||
camelia | rakudo-moar cc0c38: OUTPUT«(signal SEGV)» | ||
TimToady | kaboom! | ||
m: say [max] rand xx 32767 | 06:14 | ||
camelia | rakudo-moar cc0c38: OUTPUT«0.99997142410332» | ||
TimToady | m: say [max] rand xx 32768 | ||
camelia | rakudo-moar cc0c38: OUTPUT«0.99996649321421» | ||
TimToady | m: say [max] rand xx 32769 | ||
camelia | rakudo-moar cc0c38: OUTPUT«(signal SEGV)» | ||
06:25
n0tjack joined
06:28
thou joined
06:30
n0tjack left
06:31
domidumont joined
06:33
thou left
06:36
tokuhiro_ joined,
domidumont left
06:37
domidumont joined
06:40
tokuhiro_ left,
rurban joined
06:41
xfix joined,
xfix left,
xfix joined
06:57
n0tjack joined
|
|||
moritz | m: say <a b c>.map({ ($_, $_.uc).Slip }).join('|'); | 06:58 | |
camelia | rakudo-moar cc0c38: OUTPUT«a|A|b|B|c|C» | ||
moritz | m: say <a b c>.map({ $_, $_.uc }).join('|'); | 06:59 | |
camelia | rakudo-moar cc0c38: OUTPUT«a A|b B|c C» | ||
dalek | c: e835af6 | skids++ | lib/Type/Signature.pod: Document **@ slurpies and "is raw", a few GLR tweaks, general cleanups |
07:01 | |
moritz | skids++ | ||
skids: I believe the Parameter docs also need adjustment | 07:02 | ||
07:02
n0tjack left
|
|||
skids | Yes, and also I pointed people towards "sigilless" to understand "is raw" but sigilless is probably not there. | 07:02 | |
But now I must sleep. | 07:03 | ||
moritz | g'night skids | 07:04 | |
dalek | c: 6c65000 | moritz++ | / (2 files): Document Slip |
||
skids | BTW, maybe you have a local tweak/branch but htmlify-glr errors for me on some fancy attempt to use a bound var ($fc) from a when clause. | ||
dalek | c/htmlify-glr: 7cd718e | moritz++ | htmlify.p6: Fix syntax error |
07:06 | |
moritz | skids: ah yes, forgot to push | ||
skids: now it errors out much later | |||
skids | :-) | 07:07 | |
It at least builds what I need to see :-) | |||
good night. | |||
07:08
skids left
|
|||
dalek | kudo/nom: 77cf273 | moritz++ | src/core/Iterator.pm: Fix a comment |
07:08 | |
c/htmlify-glr: 96c51b5 | moritz++ | lib/Type/Parameter.pod: s:ii/parcel/raw/ in Parameter.pod |
07:10 | ||
moritz | ups, that should have gone into master | 07:11 | |
dalek | c: fbead37 | moritz++ | lib/Type/Parameter.pod: s:ii/parcel/raw/ in Parameter.pod |
07:13 | |
moritz | cherry-pick FTW | ||
07:29
n0tjack joined
07:33
domidumont left
07:34
n0tjack left
|
|||
FROGGS_ | . | 07:38 | |
yoleaux | 12 Sep 2015 22:16Z <psch> FROGGS_: 1) assign a <> quoted list of the int literals from 0 to 250 to an array | ||
12 Sep 2015 22:17Z <psch> FROGGS_: 2) assign a <> quoted list of the int literals from 0 to 251 to an array | |||
12 Sep 2015 22:17Z <psch> FROGGS_: 3) assign a <> quoted list of the int literals from 0 to 252 to an array | |||
12 Sep 2015 22:18Z <psch> FROGGS_: just to be clear, that is "<0 1 2 3 ... 248 249 250>" all typed (or generated of course :) ) literally in the program code | |||
07:38
FROGGS_ is now known as FROGGS
|
|||
FROGGS | . | 07:38 | |
yoleaux | 12 Sep 2015 22:16Z <psch> FROGGS: if you're looking for a great WAT try the following three things on jvm: | ||
12 Sep 2015 22:22Z <psch> FROGGS: (the actual three things are .tell | |||
12 Sep 2015 22:22Z <psch> FROGGS: .tell'd to FROGGS_ ) | |||
FROGGS | :D | ||
07:42
darutoko joined
07:44
laouji joined
07:46
rindolf joined
|
|||
[Tux] | Inline::Perl5 still broken | 07:48 | |
FROGGS | uhh | 07:54 | |
ahh, still the IntStr thing | 07:59 | ||
[Tux] | test 50000 39.638 39.556 | 08:00 | |
test-t 50000 39.341 39.259 | |||
ShimmerFairy | FROGGS: you can use qw// (note no :v) if you still want to use a quotewords list :) | ||
08:02
n0tjack joined
|
|||
FROGGS | m: sub foo(IntStr:D $a) { say $a.WHAT }; foo <42> | 08:03 | |
camelia | rakudo-moar 77cf27: OUTPUT«(IntStr)» | ||
FROGGS | m: sub foo(Int(IntStr:D) $a) { say $a.WHAT }; foo <42> | ||
camelia | rakudo-moar 77cf27: OUTPUT«(IntStr)» | ||
FROGGS | m: sub foo(Int(IntStr:D) $a) { say $a:Int.WHAT }; foo <42> | ||
camelia | rakudo-moar 77cf27: OUTPUT«(IntStr)» | ||
FROGGS | m: sub foo(Int(IntStr:D) $a) { say $a.Int.WHAT }; foo <42> | ||
camelia | rakudo-moar 77cf27: OUTPUT«(Int)» | ||
FROGGS | m: sub foo(Int(IntStr):D $a) { say $a.WHAT }; foo <42> | ||
camelia | rakudo-moar 77cf27: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uDagI7FQ_7Missing blockat /tmp/uDagI7FQ_7:1------> 3sub foo(Int(IntStr):D 7⏏5$a) { say $a.WHAT }; foo <42>» | ||
FROGGS | nine: ping | 08:06 | |
nine: can I get a commit bit to I::P5? | 08:07 | ||
[Tux]: I've got a patch | |||
08:07
n0tjack left
|
|||
[Tux] | :) | 08:07 | |
08:08
vendethiel joined
|
|||
FROGGS | nine: I PR'd it so it wont get lost: github.com/niner/Inline-Perl5/pull/44 | 08:09 | |
dalek | line-Perl5: 3d79bbd | FROGGS++ | lib/Inline/Perl5.pm6: handle {Int,Num,Rat}Str in p6_to_p5 |
08:10 | |
line-Perl5: 221f67c | lizmat++ | lib/Inline/Perl5.pm6: Merge pull request #44 from FROGGS/patch-3 handle {Int,Num,Rat}Str in p6_to_p5 |
|||
FROGGS | thanks lizmat :o) | ||
lizmat | FROGGS o/ and you're welcome :-) | ||
FROGGS | [Tux]: can you check if that helps? | ||
[Tux] | was already doing so | 08:11 | |
08:12
Alina-malina left
|
|||
nine | Wow you people are too fast. While I was just fetching some coffee, you already fixed and merged it :) | 08:12 | |
yoleaux | 12 Sep 2015 22:49Z <TimToady> nine: re irclog.perlgeek.de/perl6/2015-09-12#i_11206412 there were more than 200 instances of .list in the pre-cache era that didn't actually need to set up the cache but did so accidentally, so it's a good thing for performance that .list no longer does that | ||
nine | FROGGS: you now have a commit bit | 08:13 | |
lizmat | breakfast& # this is your chance! :-) | ||
FROGGS | nine: thanks you :o) | ||
breakfast & | 08:14 | ||
08:14
telex left
|
|||
[Tux] | All tests successful. | 08:14 | |
Files=25, Tests=344, 93 wallclock secs ( 0.09 usr 0.02 sys + 90.82 cusr 1.63 csys = 92.56 CPU) | |||
Result: PASS | |||
dalek | href="https://perl6.org:">perl6.org: a750b34 | (Ryan Siemens)++ | source/style.css: Fixes layout for #col1 and #col2 (issue #20) |
08:15 | |
href="https://perl6.org:">perl6.org: 7ccbcd2 | niner++ | source/style.css: Merge pull request #21 from Nudies/master Fixes layout for #col1 and #col2 (issue #20) |
|||
08:16
telex joined
08:17
thou joined
08:21
thou left
|
|||
[Tux] | gist.github.com/Tux/44e2e0341a56cdef022d | 08:22 | |
08:23
cognominal joined
|
|||
dalek | c: 0a70add | (Stefan Seifert)++ | lib/Type/Iterator.pod: Fix typo and add clarification for Iterator::push-all |
08:32 | |
08:34
n0tjack joined
08:37
tokuhiro_ joined
08:39
n0tjack left
08:41
tokuhiro_ left
|
|||
nine | .tell TimToady I guess our disagreement comes from me just not seeing the performance penalty. If I don't store a Seq into a variable and .cache (previously .list) it, all that changes is that an additional reference to the new List is stored in the Seq that's gonna be collected anyway in the same GC run as the list. Persisting the Seq however only makes sense if I intend to call .cache on it again later on. | 08:48 | |
yoleaux | nine: I'll pass your message to TimToady. | ||
nine | .tell TimToady But I'll stop arguing now. It may still be a tiny bit faster to avoid storing the reference and I lack experience with the new semantics to back up any claims to lower usability. And it's not that important a topic anyway :) | 08:49 | |
yoleaux | nine: I'll pass your message to TimToady. | ||
dalek | ast: cafd4cd | usev6++ | S06-signature/multi-invocant.t: Mention RT #125486 in existing test |
08:52 | |
08:57
Alina-malina joined
08:58
n0tjack joined
|
|||
dalek | ast/gmr: b5abf2b | (Stefan Seifert)++ | S (3 files): Rename EnumMap to Map |
09:01 | |
ast/gmr: fde5712 | (Stefan Seifert)++ | S (7 files): Merge Enum into Pair This should reduce the confusion around enum, Enum an Enumeration. Pair now implements shallow immutability like List. Pairs themselves are immutable, but containers used as values can be assigned to. |
|||
ast/gmr: bc28422 | (Stefan Seifert)++ | S02-types/pair.t: Changing $pair.value now changes the contained $var Pairs now behave in the same way as Lists. The values are mutable only if they are itemized. If they are, assigning to them assigns to the original variable. |
|||
ast/gmr: e587a70 | (Stefan Seifert)++ | S (4 files): RT #124640 fixed by merging Enum and Pair |
|||
ast/gmr: f58b050 | (Stefan Seifert)++ | S06-advanced/return.t: RT #75118 is fixed now |
|||
nine | Karma pushing by rebase... | 09:02 | |
09:02
n0tjack left
09:06
AlexDaniel joined
09:07
n0tjack joined
09:11
n0tjack left
|
|||
dalek | kudo/gmr: 934c83f | (Stefan Seifert)++ | / (22 files): Rename EnumMap to Map Suggested by jnthn++ |
09:19 | |
09:19
dalek left
09:20
dalek joined,
ChanServ sets mode: +v dalek
|
|||
psch | FROGGS: that .tell'd WAT is actually not the greatest i have seen in the jvm spectests yesterday | 09:21 | |
FROGGS: for some reason, our associative code throws ConcurrentModificationExceptions | |||
*that's* the WATtiest i've seen... | |||
lizmat | nine: the new order of most commits list logic, only takes unique commit ID's into account, so no extra "karma" by rebase :-) | 09:22 | |
nine | :) | ||
lizmat: what do you think about removing PairMap? That's the only missing step from the GMR proposal | 09:23 | ||
lizmat | I only implemented PairMap because it was specced... | ||
I have no specific feelings about it | |||
so, removing PairMap is fine by me, if it is also removed from the spec :-) | 09:24 | ||
09:24
mprelude joined
|
|||
lizmat | (and roast ;-) | 09:24 | |
nine | I actually cannot find any spec tests for PairMap, except WHICH.t | 09:25 | |
lizmat | yeah, I didn't write any because of the iffy future of PairMap :-) | ||
nine | Well, removed code is debugged code ;) | 09:28 | |
09:28
leont joined
|
|||
dalek | ast/gmr: 31f3b82 | (Stefan Seifert)++ | S02-types/WHICH.t: Remove PairMap - it's use case is unclear and it's untested We can revert this if a use case appears. Maybe after 6.0.0. |
09:28 | |
kudo/gmr: 77e52ec | (Stefan Seifert)++ | / (4 files): Remove PairMap - its use case is unclear and it's untested We can revert this if a use case appears. Maybe after 6.0.0. |
09:29 | ||
09:29
espadrine joined
|
|||
nine | PSA: the gmr branch is now complete. I think it's time we discuss the proposed changed. | 09:30 | |
.tell jnthn the gmr branch is now ready for a closer look. | 09:31 | ||
yoleaux | nine: I'll pass your message to jnthn. | ||
nine | .tell TimToady the gmr branch is now ready for a closer look. | ||
yoleaux | nine: I'll pass your message to TimToady. | ||
dalek | Heuristic branch merge: pushed 20 commits to rakudo/cu_load by lizmat | 09:36 | |
09:37
leont left,
shinobi-cl left
09:39
n0tjack joined
09:44
n0tjack left
|
|||
FROGGS | psch: hmmm | 09:56 | |
09:57
domidumont joined
|
|||
psch | i'm about 1/3 through briefly looking closer at every file, just to collect which failures might be related... | 09:58 | |
also nice are the (i think about 6 or so as off yet) "Unhandled exception: category $n" where $n is 4102, 4100 and 4104 | 09:59 | ||
we're throwing those ourselves if we don't have a .msg on an exception... | |||
FROGGS | ohh, that's about next/last/redo with labels | ||
O.o | |||
psch | yeah, fits with the files i've seen it in | ||
also lots of "Expected Positional but got Seq" | |||
FROGGS | I think I changed the payload stuff on moar... but only in a branch IIRC | 10:00 | |
so the binder needs love? | |||
hmmm | |||
psch | well, i'll finish the brief comments for every file and gist that | ||
FROGGS | I just pulled all the things and am going to build perl6-j | ||
psch | maybe an hours or so | ||
FROGGS | psch++ | ||
awesome | 10:01 | ||
psch | S05 stuff has lots of UnwindExceptions o.o | 10:04 | |
10:05
thou joined
|
|||
lizmat | confirm gmr branch has the same spectest issues as nom :-) | 10:05 | |
psch | FROGGS: i think the easiest thing we definitely need are the NYIs in the Binder that got there due to the glr | 10:08 | |
FROGGS: e.g. "is copy on list NYI after glr" and whatever the other was... :) | 10:09 | ||
10:09
FROGGS left,
thou left
10:11
FROGGS joined
|
|||
psch | it's a bit unfortunate that i built r-j before "is parcel" became "is raw" but ran spectest after :/ | 10:11 | |
i have like 6 files already that fail due to that | |||
FROGGS | psch: yeah, that also caused extra work at the spw... | 10:12 | |
10:12
n0tjack joined
|
|||
FROGGS | roast and rakudo changed that quickly that you could reliable test a fix | 10:12 | |
so I decided to change the makefile to not pull roast | 10:13 | ||
masak | good noon, #perl6 | 10:16 | |
yoleaux | 01:08Z <colomon> masak: I’ve got a pull request to get Perl6::Literate passing tests again. | ||
10:17
n0tjack left
|
|||
masak | colomon: thank you. merged. | 10:17 | |
psch | hi masak o/ | ||
FROGGS | psch: btw, the 'array is copy' NYI'd thing also just has a die() on moar | 10:18 | |
psch | m: sub f(@a is copy) { } | 10:19 | |
camelia | ( no output ) | ||
psch | m: sub f(@a is copy) { }; say f([1,2,3]) | ||
camelia | rakudo-moar 77cf27: OUTPUT«Nil» | ||
psch | m: sub f(@a is copy) { @a[1] = 5; @a}; say f([1,2,3]) | ||
camelia | rakudo-moar 77cf27: OUTPUT«[1 5 3]» | ||
10:19
diana_olhovik_ joined
|
|||
FROGGS | psch: I think it is about attribute binding, but I was unable to trigger that code path | 10:20 | |
psch | $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; say f([1,2,3])' | ||
is copy on lists NYI after GLR | |||
FROGGS | hmmm | ||
masak merged the other three PRs on that repo, too | |||
lizmat | FROGGS: we have at least: multi method push(Buf:D: @values is copy) { in core | 10:21 | |
FROGGS | lizmat / psch: but look: github.com/rakudo/rakudo/blob/nom/...P.nqp#L408 | 10:22 | |
lizmat | whoops... so we have at least some breakage in core on both jvm/moar | 10:23 | |
psch | huh | 10:24 | |
but we have working logic for @ is copy somewhere in moar, apparently :P | |||
FROGGS | lizmat: but it does not seem to trigger on moar, which is weird | ||
psch: I fear the entire weirdness we see boils down to missing stuff like this: github.com/rakudo/rakudo/blob/nom/...ps.pm#L105 | |||
psch | $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; my @b = 1,2,3; say f(@b); say @b | ||
m: sub f(@a is copy) { @a[1] = 5; @a }; my @b = 1,2,3; say f(@b); say @b | 10:25 | ||
camelia | rakudo-moar 77cf27: OUTPUT«[1 5 3][1 2 3]» | ||
FROGGS | or at least that the jvm implementation is weird in general and needs these hacks | ||
psch | mhm :/ | ||
10:25
abaugher left
|
|||
psch | i guess ripping out all the #?if jvm and *then* fixing everything is probably more sensible | 10:25 | |
lizmat | psch++ :-) | 10:26 | |
FROGGS | it will at least help us in future | ||
10:26
abaugher joined
|
|||
lizmat | having #?if code in the core, always makes me sad | 10:26 | |
psch | one of my favorite weirds on jvm is returning a sub from a sub | ||
FROGGS | well, it can be sensible | 10:27 | |
psch | it just doesn't work :l | ||
lizmat | psch: you need to containerize it apparently | ||
psch | lizmat: it NPEs | ||
the value to assign isn't there | |||
which is the sub | |||
lizmat | ===SORRY!=== Error while compiling lib/Pod/To/Text.pm | ||
java.lang.StackOverflowError | |||
at lib/Pod/To/Text.pm:14 | |||
this is known, right ? | |||
psch | that should actually be fixed..? :s | 10:28 | |
lizmat | or is this on OSX specific jvm error | ||
psch | oh, right OSX | ||
well, we still have some SOEs even after the "don't check the SC" hack, but maybe OSX does something a tad different somewhere... | |||
lizmat | i'll nuke install and start from scratch, just to be sure | 10:29 | |
psch | anyway, i guess a branch for "no #?if jvm in CORE" should be the next step | ||
well, maybe i'll just try it locally first and see if i can see any silver lining anywhere at all :P | 10:30 | ||
FROGGS: the test report is half finished, if you think it's worth looking from there i can upload | |||
FROGGS | psch: sure | ||
psch | FROGGS: but i think trying to bring jvm towards "what we actually want" is more useful | ||
FROGGS | psch: ===SORRY!=== Error while compiling lib/Pod/To/Text.pm | 10:31 | |
java.lang.StackOverflowError | |||
right now | |||
psch | and "treat it differently" isn't what we want i guess :s | ||
ugh | |||
FROGGS | I dont have the 'flat hhlize' => '|hllize' in there atm though | ||
psch | well, it's only 7 commits to bisect... :) | ||
(i have a hunch that nqp c16481c6eeb2480ebc3dbbc9aeda74a9e72ba00c could be to blame though...) | 10:33 | ||
although it shouldn't be vOv | |||
timotimo | o/ | ||
slurpy giving us the problem of reaching the maximum argument number soon is ... unfortunate | 10:34 | ||
10:34
pmurias joined
|
|||
psch | timotimo: slurpy? | 10:35 | |
timotimo: oh, right qw// calls a sub | 10:36 | ||
FROGGS: gist.github.com/peschwa/eeeca39eef9d66db9e92 | |||
timotimo: i think the codegen is doing bogus there, fwiw | |||
timotimo: as in, it shouldn't generate a method that has that many arguments..? | 10:37 | ||
i haven't looked too closely at it though, in any case... | |||
10:37
AlexDaniel left
10:39
tokuhiro_ joined
|
|||
FROGGS | $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; say f([1,2,3])' | 10:39 | |
[1 5 3] | |||
psch | the ConcurrentModificationException are the scariest ones imo :< | ||
FROGGS | dunno if my implementation is sensible though | ||
psch | eh, make it work, then wait until it bitrots and make it work again | 10:40 | |
... >_> | |||
FROGGS | hmm? | ||
psch | i was trying to be funny :) | 10:41 | |
FROGGS | *g* | ||
"haha" :P | |||
psch | i can have a look though, if you want :P | 10:42 | |
dalek | kudo/nom: 5cc2563 | FROGGS++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: implement @array is copy in binder on jvm |
||
10:43
tokuhiro_ left
|
|||
JimmyZ | ^^ still NYI on moarvm? | 10:44 | |
FROGGS | psch: and it seems the Pod::To::Text SOE boils down to the 'flat hllize' thing, as it is gone now with local modifications | ||
JimmyZ: yes, as we dont trigger it | |||
10:45
cschwenz joined
|
|||
FROGGS | I'm looking at t/spec/S04-statements/last.t now | 10:45 | |
10:45
n0tjack joined,
Ven joined,
TEttinger left
|
|||
dalek | ast: b18e1cf | lizmat++ | S02-types/WHICH.t: Separate out the exceptions So that we don't run into num of slurpy params limit on JVM |
10:45 | |
10:45
dalek left
|
|||
cschwenz | is there a Perl6 equivalent to Time::HiRes? | 10:45 | |
(i need sub-second time info. :-/) | |||
10:45
dalek joined,
ChanServ sets mode: +v dalek
|
|||
jdv79 | m: say now | 10:46 | |
camelia | rakudo-moar 77cf27: OUTPUT«Instant:1442141205.268170» | ||
jdv79 | good enough? | ||
cschwenz | works for me :-) | ||
thanks! | |||
psch | FROGGS: that bug is so weird... and SOE is horrible to debug as well :/ | ||
FROGGS | I hope last LABEL will be less weird | 10:47 | |
cschwenz | m: my $x = now; sleep(0.5); my $y = now; my $z = $y - $x; say $z; | ||
camelia | rakudo-moar 77cf27: OUTPUT«0.5027379» | ||
lizmat | cschwenz: so is that good or bad ? | 10:48 | |
jdv79 | pretty sure it'll only be skewed one way at least;) | ||
cschwenz | it's good enough for me :-) | ||
lizmat | m: my $x = now; sleep .5; say now - $x | 10:49 | |
camelia | rakudo-moar 77cf27: OUTPUT«0.5026144» | ||
psch | m: my $x = now; sleep 1/2; say now - $x | ||
camelia | rakudo-moar 77cf27: OUTPUT«0.5028343» | ||
lizmat | m: my $x = now; sleep .501; say now - $x | ||
camelia | rakudo-moar 77cf27: OUTPUT«0.50341172» | ||
cschwenz | if i'm over by a bit it doesn't matter. under leads to catastrophe. :-P | ||
jdv79 | see Instant, DateTime, and those types on doc.perl6.org for more | ||
10:49
n0tjack left
|
|||
lizmat | under would mean travelling back in time ? | 10:49 | |
cschwenz | thus catastrophe! :-D | 10:50 | |
lizmat | fair enough :-) | ||
psch | hm | 10:53 | |
removing the "#?if jvm" stuff is gonna be lots of fun with quite a few decisions behind it seems | |||
Distro.pm and VM.pm as two interesting first stops :P | |||
10:53
Peter_R left
|
|||
FROGGS | psch: you cannot remvoe all | 10:54 | |
but you can/should remove the hacks | |||
the #?jf jvm in Distro.pm probably need to stay | |||
psch | FROGGS: i'm pretty sure i could make the Distro.pm stuff backend agnostic in rakudo, but i'm not sure it's worth the effort | ||
FROGGS: in any case, i'll look for hacks first :) | 10:55 | ||
FROGGS | psch++ # :o) | ||
10:55
Ven left
|
|||
FROGGS | um... | 10:56 | |
$ perl6-j t/04-nativecall/01-argless.t | |||
1..3 | |||
ok 1 - survived the call | |||
ok 2 - called argless function | |||
ok 3 - called long_and_complicated_name | |||
psch: ^^ | |||
psch: do you get that too??? | |||
FROGGS is rather excited | 10:57 | ||
psch | FROGGS: uh, i'm between builds with a few #?if jvm removals already done... :s | ||
FROGGS | ahh, nvm then | 10:58 | |
10:58
brrt joined
|
|||
FROGGS | I just want to know if my '@array is copy' patch does that, or if it was working before or after my changes right now... | 10:58 | |
I changed the relative new ';;' in signatures to ';' | |||
should be ',' actually | 10:59 | ||
but I can imagine that jvm does not understand ';;' yet | |||
timotimo | psch: wha? | ||
what were you refering to? | |||
psch | timotimo: oh, i was thinking you were talking about jvm hitting max method arguments when assigning >251 literals in <> to an array | 11:00 | |
'cause i think QW has a slurpy :s | 11:01 | ||
11:03
Alina-malina left
|
|||
timotimo | oh | 11:03 | |
i was thinking of the thing timtoady pasted up there | |||
[max] rand() xx 65536 | |||
11:05
brrt left
|
|||
ab5tract | psch: I would imagine that replacing current Distro.pm with a backend-agnostic one would be significantly better than not doing so | 11:06 | |
yoleaux | 1 Aug 2015 00:15Z <psch> ab5tract: i'm unsure what classloading bit you're refering to. classloading happens for interop and "normal" runtime in different ways (BootJavaInterop.java and LibraryLoader.java respectively) | ||
1 Aug 2015 00:16Z <psch> ab5tract: nqp commit d03863352f07a05fa68892997e417b62452cb34e simplifed the former significantly, and i suspect something similar should be possible for LibraryLoader.java too, but i haven't been able to dig in yet | |||
1 Aug 2015 00:17Z <psch> ab5tract: as for non-jdk interop, you usually need to supply :jar<$jarfile> to the use statement | |||
1 Aug 2015 00:20Z <psch> ab5tract: i'm not excluding the possibility that there might be something borked in CLASSPATH handling either, though, but i've been away from that bit quite a while... | |||
11:06
Ven joined
11:07
Alina-malina joined
|
|||
ab5tract | psch: also, thanks for ^^ :) | 11:07 | |
psch | timotimo: oh, yeah that's also somewhat unsettling... | 11:08 | |
ab5tract: yeah, i'd like rakudo to be completely backend agnostic - nqp should deal with all of that | |||
FROGGS | psch: okay, the nativecall tests pass without my ';;' changes in signatures | 11:09 | |
lizmat | ab5tract psch I can only agree :-) | ||
ab5tract | o/ lizmat :) | ||
psch | ab5tract: but there's a more pressing problems, like type confusion or numerous workaround that shouldn't be neccessary (on first glance) | ||
ab5tract | how's patch -p3? | ||
psch | s/s a /s/ | ||
FROGGS | japhb: it seems the jvm backend is healthy enough that I can work on the C++ port | 11:10 | |
11:10
brrt joined,
brrt left
|
|||
lizmat | ab5tract: patch -p3 was only one day, and it was yesterday :-) | 11:10 | |
ab5tract | psch: fair enough! prioiritization is key | ||
lizmat | it was intensive and exhaustive (for me) but great fun! | ||
ab5tract | glad to hear it :) | ||
11:10
qlx4r joined
|
|||
lizmat | ab5tract: trying to answer Perl 6 questions while trying to follow discussions in French | 11:10 | |
psch | FROGGS: do you have any deals left in my why you needed the "my $clone := 1" workaround in Perl6/Actions.nqp? | 11:11 | |
s/my/mind/ | |||
11:11
Ven left
|
|||
psch | (actually, i'm guessing that was you cause it's NativeCall...) | 11:11 | |
psch actually checks git blame | |||
hah, guessed right! | 11:12 | ||
FROGGS | not always do cloning was an optimization on moar, but jvm did not like it | ||
dunno if we still need it | |||
psch: what was the commit? | |||
psch | FROGGS: 393acf095d7a87e6843d8771d23be9634ce3a2ac | 11:13 | |
looks like type confusion underneath as well, from the commit msg | |||
we have a bunch of "not sure what type this is" in Cursor.pm, although that's slightly different symptoms | 11:14 | ||
FROGGS | ahh | ||
11:16
Ven joined
|
|||
qlx4r | hi everybody, I hope I am right here. I am trying to install rakudo star on Linux via rakudobrew, as pointed out on rakudo.org. That all works, but `panda install Task::Star` fails at Digest::MD5. Am I the only one with this problem? pastebin.com/HSDYCig1 | 11:17 | |
FROGGS | qlx4r: I've just fixed Digest::MD5 this morning... | 11:18 | |
11:18
n0tjack joined
|
|||
FROGGS | qlx4r: what rakudo revision do you build? how do you invoked that? | 11:18 | |
qlx4r: or in case the error is some hours old, can you try again? | 11:19 | ||
qlx4r | FROGGS: great. I do the `rakudobrew build moar; rakudobrew build-panda`. I was under the impression it was always pulling the latest repos though. Any idea how the changes trickle downstream exactly? | ||
11:19
Peter_R joined
|
|||
qlx4r | FROGGS: no, I built it this very moment. | 11:19 | |
FROGGS | qlx4r: yes, that builds latest rakudo | ||
qlx4r | FROGGS: any repos I need to pull manually? like rakudobrew itself? | ||
FROGGS | no | 11:20 | |
can you try this please? panda install Digest::MD5 | |||
qlx4r | FROGGS: ok, building again for good measure | ||
FROGGS: will do | |||
11:22
Ven left
11:24
n0tjack left
|
|||
qlx4r | FROGGS: same problem on manual install via `panda install DIGEST::MD5`. Same error as in the pastebin. output of `perl6 --version`: This is perl6 version 2015.07.1-868-g5cc2563 built on MoarVM version 2015.08-15-g4b427ed. | 11:24 | |
FROGGS: Digest::MD5... | |||
FROGGS | CArray representation does not implement elems - that was timotimo :o) | 11:26 | |
hmmmm | 11:27 | ||
11:28
BenGoldberg joined
|
|||
FROGGS | qlx4r: it is weird, the test file passes on its own, but fails via panda | 11:30 | |
I'm back after lunch | |||
timotimo | FROGGS: i implemented .elems, but not nqp::elems | 11:31 | |
11:32
tokuhiro_ joined
|
|||
psch | oh ffs | 11:35 | |
adding two &say calls makes traits.pm compile fine | |||
/o\ | |||
oh nvm | |||
wrong Configure.pl line from the history ._. | 11:36 | ||
11:37
tokuhiro_ left
11:39
baest_ joined
|
|||
nine | Why does ArgFiles.get fail with "End of argfiles reached" while ordinary file handles just return Str when reading past eof? | 11:40 | |
11:41
baest left
|
|||
dalek | Iish: bbaa0fd | moritz++ | t/01-ConnectConfig-PG.t: s/done/done-testing/ |
11:43 | |
11:45
diana_olhovik_ left
11:47
kjs__ joined
11:52
n0tjack joined
|
|||
moritz | nine: sounds like something that wants fixing | 11:52 | |
11:53
pmurias left,
thou joined
|
|||
moritz | am I right in assuming that Rakudo builds on the JVM again? | 11:54 | |
j: say 'version?' | |||
camelia | rakudo-jvm 5cc256: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory» | ||
11:55
camelia left,
camelia joined
|
|||
nine | moritz: I activated camelia jvm build again. Let's just try it out | 11:55 | |
moritz | nine: ok, great | 11:56 | |
somebody please make a rakudo commit :-) | |||
nine | working on it ;) | ||
11:56
mr-foobar left
11:57
ChanServ sets mode: +v camelia,
mr-foobar joined,
n0tjack left,
raiph left
|
|||
nine | I'm factoring out some code into a helper method. This code contains fail calls. What's the most elegant way to rethrow those from the caller? | 11:57 | |
psch | moritz: it used to a few commits ago, but doesn't anymore | ||
11:57
thou left
|
|||
psch | moritz: it fails the same way it did before the temporary fix, which suggests the fix wasn't quite it... | 11:58 | |
moritz | psch: :( | ||
nine: fail() just returns a Failure object; so the caller can also just return that | 11:59 | ||
my \res = self!helper; return res unless defined res; | |||
nine | And Failure objects are not defined which is perfect for my case. I do want to return Failures and undefined values as-is. | ||
FROGGS | qlx4r: it should just work now | 12:03 | |
qlx4r: so do the 'panda install Task::Star' cmd now | |||
12:04
kjs__ left
|
|||
dalek | kudo/nom: 66c0809 | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm: Fix IO::ArgFiles failing instead of returning Str after EOF IO::Handles return an undefined Str when reading after EOF. IO::ArgFiles should probably just do the same instead of failing with "End of argfiles reached". There doesn't seem to be a spectest for the failure anyway. |
12:07 | |
p/js-merge-wip: c22753c | (Pawel Murias)++ | src/core/testing.nqp: Revert "Temporarily workaround a .push bug in the js backend." This reverts commit 485c2803c422c7246c1113689566ca06845aa9b9. |
|||
12:07
pmurias joined
|
|||
qlx4r | FROGGS: much better, Digest::MD5 no problem any more, but now JSON::RPC fails. But thanks already for fixing that so quickly. | 12:08 | |
FROGGS | :o) | ||
12:09
kjs__ joined,
pmurias_ joined
|
|||
FROGGS | JSON::RPC probably needs fixes to work with the recent GLR semantics | 12:09 | |
12:10
kjs__ left
|
|||
qlx4r | FROGGS: the stacktrace seems to point at panda itself, not JSON::RPC. Want a paste? Or anybody else I could notify? | 12:10 | |
FROGGS | qlx4r: perhaps I could guess what's wrong when seeing a paste... | 12:12 | |
qlx4r: opening an issue in the JSON::RPC repo might be the way to go | |||
qlx4r | FROGGS: let me do that then. This the one? I do not understand (yet) how to infer the canonical repo from panda... github.com/bbkr/jsonrpc | 12:14 | |
FROGGS | qlx4r: go to modules.perl6.org and click on the distribution | 12:15 | |
qlx4r | FROGGS: cool | ||
FROGGS | that's how I do it | ||
qlx4r | FROGGS: indeed, it was the one. but thanks for the hint. | ||
FROGGS: sorry to keep bothering you, but... how do I learn my version of panda for the bug report? --version or just 'version' as a param don't work | 12:19 | ||
FROGGS | hmmm... | ||
rakudobrew keeps the repositories somewhere... if you find the panda repository (with a .git directory in it), you can: git describe | 12:20 | ||
or git describe --tags | |||
qlx4r | FROGGS: great, all done, let's see what happens. github.com/bbkr/jsonrpc/issues/15 | 12:23 | |
Thank y'all very much for working so hard on perl6 and being so supportive, I cannot wait to start hacking with perl6. It sure provides great new constructs I cannot wait to use. | 12:24 | ||
12:25
n0tjack joined
|
|||
FROGGS | qlx4r: hmmm, it is hard to tell what's wrong from the output... | 12:25 | |
12:28
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:29
[Sno] left,
n0tjack left
|
|||
moritz | TimToady++ # YAPC::EU keynote; I finally got around to watching it | 12:30 | |
12:33
tokuhiro_ joined
12:38
tokuhiro_ left
|
|||
dalek | kudo/nom: 0e3f2ee | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: Adjust Binder to look for RAW instead of RW. |
12:43 | |
psch | ^ that let's jvm build again | ||
s/\'// # o.o | 12:44 | ||
i'm not sure what the rational was to have "is rw" in those spots before, but the Binder relied on that to decide some semantics... | |||
12:45
diana_olhovik joined
|
|||
psch | (just to be clear, i'm talking about "is rw" to "is raw" in 8837b6fe) | 12:46 | |
moritz | psch: I've noticed before that many places that should be raw/parcel were actually 'rw', so potentially just confusion | 12:47 | |
psch | moritz: i think those are mostly cleared up in 8837b6fe, the jvm Binder just didn't know yet :) | ||
12:50
Psyche^_ joined
12:51
rurban left
|
|||
dalek | c/htmlify-glr: 9da3bba | moritz++ | lib/Perl6/Documentable/Registry.pm: Return empty list instead of Any from $*DR.lookup |
12:53 | |
12:54
Psyche^ left
|
|||
psch | FROGGS: without the $clone workaround i get a total of 25 test failures for t/04-nativecall | 12:57 | |
FROGGS: that's 24 tests in 05-arrays.t and one in rt125408.t | |||
12:58
n0tjack joined
|
|||
psch | FROGGS: ...nvm, the workaround is in, i apparently slightly mishandled git | 12:58 | |
FROGGS | psch: both the 05-arrays.t and rt125408.t are kinda expected | 13:00 | |
rt125408.t also fails for moar, and 05-arrays.t is about a recent change | |||
psch | FROGGS: yeah, i guessed that 05-arrays.t is expected | ||
13:02
n0tjack left
13:03
kjs__ joined
13:06
Ven joined
|
|||
psch | right, this time actually without the workaround... | 13:07 | |
10-cglobals.t and 16-rt125729.t pass :P | |||
13:11
diana_olhovik left,
laouji left
|
|||
cognominal | I was not physically present at Lyon hackathon but my slang to produce AST is slowly getting there. github.com/cognominal/nqp/commit/a...49deb576a0 | 13:11 | |
13:12
Ven left
|
|||
moritz | TimToady: it seems that missing a semicolon gives a "Bogus postfix" error these days; iirc there used to be a better error message | 13:20 | |
13:27
espadrine left
13:30
n0tjack joined
13:33
khw joined
13:35
n0tjack left
13:36
n0tjack joined
13:37
laouji joined
13:41
n0tjack left,
thou joined
13:46
thou left
|
|||
dalek | c/htmlify-glr: fd6abbe | moritz++ | htmlify.p6: A well-placed &flat brings us error-free through htmlify.p6 --sparse=20 |
13:52 | |
13:56
pierrot joined
|
|||
masak | \o/ | 13:56 | |
psch | r: say "hi" | 13:57 | |
camelia | rakudo-{moar,jvm} 0e3f2e: OUTPUT«hi» | ||
psch | huh, that gave ( no output ) for jvm in a /msg camelia o.o | 13:59 | |
13:59
cognominal left
|
|||
dalek | kudo/nom: 2579cad | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm: 3.3x speedup for ArgFiles.lines() |
14:00 | |
nine | Note: this ^^^ breaks t/spec/S32-io/pipe.t because I use IO::Handle::lines now and that seems to return an additional empty line if the file ends in \n. | 14:01 | |
So really the spec test regression is due to the IO::Handle::lines optimization. | 14:02 | ||
14:03
n0tjack joined
|
|||
JimmyZ | ^^ there is 'use nqp', is it needed? | 14:04 | |
ShimmerFairy | no, core doesn't need 'use nqp' | 14:06 | |
14:07
kaare_ left,
n0tjack left,
rurban joined
|
|||
dalek | kudo/nom: 5927b15 | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm: Remove unneeded use nqp; Spotted by JimmyZ++ |
14:08 | |
14:09
kaare_ joined,
FROGGS_ joined
14:10
aborazmeh left
14:11
leont joined
14:13
FROGGS left
|
|||
TimToady | m: sub a (*@a) { @a.join("|").say };a(1,(1,2),((3,4),5)); | 14:14 | |
camelia | rakudo-moar 0e3f2e: OUTPUT«1|1|2|3|4|5» | ||
TimToady | m: sub a (*@a) { @a.join("|").say };a(1,[1,2],[[3,4],5]); | ||
camelia | rakudo-moar 0e3f2e: OUTPUT«1|1|2|3 4|5» | ||
TimToady | here's a bug; slurpy * is supposed to be recursive, which () does but [] doesn't | ||
psch | r: sub a (*@a) { @a.join("|").say };a(1,(1,2),((3,4),5)); | 14:15 | |
camelia | rakudo-{moar,jvm} 0e3f2e: OUTPUT«1|1|2|3|4|5» | ||
psch | r: sub a (*@a) { @a.join("|").say };a(1,[1,2],[[3,4],5]); | ||
camelia | rakudo-{moar,jvm} 0e3f2e: OUTPUT«1|1|2|3 4|5» | ||
araujo looks around | 14:16 | ||
dalek | c: f57268e | TimToady++ | lib/Type/Signature.pod: slurpy * is not one-level, but recursive |
||
pmurias | hoelzro: should I merge the js branch into the js-merge-wip one? | 14:18 | |
JimmyZ | r: sub a(@ais copy) { ... } | 14:19 | |
camelia | rakudo-moar 0e3f2e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileMissing blockat /tmp/tmpfile:1------> 3sub a(@ais 7⏏5copy) { ... }» | ||
( no output ) | |||
JimmyZ | r: sub a(@a is copy) { ... } | 14:20 | |
camelia | ( no output ) | ||
JimmyZ | jvm bug! | ||
r: sub a(@ais copys) { ... } | 14:21 | ||
camelia | rakudo-{moar,jvm} 0e3f2e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileMissing blockat /tmp/tmpfile:1------> 3sub a(@ais 7⏏5copys) { ... }» | ||
14:23
Ven joined
|
|||
timotimo | nine: cool that you ported jnthn's lines work to argfiles! | 14:24 | |
tony-o | sharista still in here? | 14:26 | |
timotimo | i wonder if we should revert that commit in nqp that removes closure taking from clases defined inside subs and mainline ... that's the commit that causes the data race for frames and refcounting to become much more visible | ||
so that people don't keep stumbling over it before jnthn implements "the right" fix in moar | 14:27 | ||
14:27
lichtkind joined
|
|||
pmurias | MAIN works differently in nqp on moarvm and on the jvm? | 14:30 | |
14:33
laouji left
14:34
laouji joined,
diana_olhovik joined
14:35
tokuhiro_ joined
14:36
n0tjack joined
|
|||
FROGGS_ | pmurias: really? | 14:37 | |
psch | main.nqp has #?if jvm | 14:39 | |
something about slurpies iirc | |||
14:39
tokuhiro_ left
|
|||
psch | i hope "sub MAIN" doesn't work differently on the backends :S | 14:39 | |
14:40
n0tjack left
|
|||
ShimmerFairy | timotimo: not sure, I'm guessing it'll be easier to debug the fix if the visible-making change isn't reverted :) | 14:41 | |
14:41
cognominal joined
|
|||
timotimo | disagree | 14:43 | |
jnthn has already figured out what's wrong | |||
until the fix lands, people will randomly encounter errors like "double free" and "corrupted blocklist" | |||
ShimmerFairy | oh, so since the fix is already known, I don't really see a point in reverting (if it was unknown and no clear way to figure out, I'd be more on board with reverting) | 14:44 | |
timotimo | psch, pmurias, yeah, sadly MAIN on the one and on the other pass a slurpy vs a regular list | ||
14:45
tping joined
|
|||
FROGGS_ | psch: !!! | 14:50 | |
I think I fixed something, that should let us get rid of the #?if jvm in the actions | |||
getNativeCallBody did not care about delegate | |||
14:51
Ven left
|
|||
FROGGS_ | psch: that also caused trouble having native methods in C++ structs | 14:51 | |
14:52
kjs__ left
|
|||
psch | FROGGS_: ahh, neat. i had looked at the delegate, but apparently not closely enough... | 14:53 | |
dalek | p: 0c26f68 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java: follow delegates in getNativeCallBody |
15:04 | |
15:08
n0tjack joined
15:13
n0tjack left
|
|||
xinming_ | r: my $l = [1,2,3]; for @$l -> $i { $i.perl.say } | 15:14 | |
camelia | rakudo-{moar,jvm} 5927b1: OUTPUT«123» | ||
15:15
diana_olhovik left
15:18
diana_olhovik_ joined
|
|||
nine | m: sub g(*@v) { say @v.infinite; }; g(|(4..*)); | 15:20 | |
camelia | rakudo-moar 5927b1: OUTPUT«(timeout)» | ||
nine | m: sub g(*@v) { say @v.is-lazy; }; g(|(4..*)); | ||
camelia | rakudo-moar 5927b1: OUTPUT«(timeout)» | 15:21 | |
nine | .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=122948 is fixed as result of the GLR | ||
yoleaux | nine: I'll pass your message to [Coke]. | ||
nine | m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s == @t | 15:22 | |
camelia | rakudo-moar 5927b1: OUTPUT«False» | ||
nine | .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=120861 is fixed as result of the GLR, too. | 15:25 | |
yoleaux | nine: I'll pass your message to [Coke]. | ||
15:28
laouji left,
laouji joined
|
|||
moritz | m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s == @t | 15:29 | |
camelia | rakudo-moar 5927b1: OUTPUT«False» | ||
moritz | m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s.perl; say @t.perl | ||
camelia | rakudo-moar 5927b1: OUTPUT«[0, 1, 0.5][(0, 1, 0.5, 0.4),]» | ||
nine | .tell [Coke] With rt.perl.org/Public/Bug/Display.html?id=111720 I'd argue, that the current behavior is correct due to the one item rule. Array.new(@a) essentially creates a copy of @a. Thus changing @a will not affect the new array. | ||
yoleaux | nine: I'll pass your message to [Coke]. | ||
15:29
thou joined,
skids joined
|
|||
nine | m: my @s=(0,1,0.5,0.4)[^3]; my @t=(|(0,1,0.5,0.4) xx 1)[^3]; say @s == @t | 15:30 | |
camelia | rakudo-moar 5927b1: OUTPUT«True» | ||
moritz | nine, [Coke]: I've rejected 120861 | 15:32 | |
RT | 15:33 | ||
nine | moritz: how does one get privileges for RT? When I'm logged in I cannot even look at those bugs. | ||
moritz | nine: telll [Coke] your RT user ID; I believe he can give you the privs | ||
15:34
thou left
|
|||
moritz | m: my $x; my @a = 1,2; $x = Array.new(@a) => 'x'; @a.pop(); say $x | 15:34 | |
camelia | rakudo-moar 5927b1: OUTPUT«[1 2] => x» | ||
nine | .tell [Coke] I'm registered in RT as [email@hidden.address] When you get tired of modifying tickets for me, just give me privileges :) | ||
yoleaux | nine: I'll pass your message to [Coke]. | ||
moritz | nine: Inline::Python fails tests for me | 15:35 | |
nine | m: my $x; my @a = 1,2; $x = Array.new((@a,)) => "x"; @a.pop(); say $x; | ||
camelia | rakudo-moar 5927b1: OUTPUT«[[1]] => x» | ||
nine | moritz: oh, I think it needs some GLR updates | ||
moritz | m: my $x; my @a = 1,2; $x = Array.new(@a); @a.pop; say $x | 15:36 | |
camelia | rakudo-moar 5927b1: OUTPUT«[1 2]» | ||
moritz | m: my $x; my @a = 1,2; $x = Array.new(@a); $x.pop; say @a | ||
camelia | rakudo-moar 5927b1: OUTPUT«[1 2]» | ||
moritz | is there *any* case left where there's action-at-a-distance? | ||
if not, I'd argue this is correct now | |||
nine: Inline::Python would be nice for building doc.perl6.org with post-glr rakudo :-) | 15:38 | ||
15:39
kjs__ joined
15:40
xfix left,
n0tjack joined
|
|||
dalek | line-Python: 6fc1831 | (Stefan Seifert)++ | t/ (4 files): Adjust tests to post-GLR |
15:42 | |
nine | moritz: done | ||
15:47
n0tjack left
|
|||
dalek | kudo-star-daily: 0a10711 | coke++ | log/ (9 files): today (automated commit) |
15:49 | |
rl6-roast-data: d9635ff | coke++ | / (9 files): today (automated commit) |
15:50 | ||
rl6-roast-data: 0804a8c | coke++ | / (9 files): today (automated commit) |
|||
15:50
Ven joined,
cognominal left
15:52
diana_olhovik_ left
|
|||
nine | .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=124082 seems to have been fixed in the meantime. | 15:54 | |
yoleaux | nine: I'll pass your message to [Coke]. | ||
moritz | thanks nine++ | 15:56 | |
15:57
kjs__ left
|
|||
moritz | .tell [ptc] I've updated the rakudobrew on hack in /home/rakudobrew to a pots-glr rakudo (+modules); please check if the examples.perl6.org rebuild still works | 15:59 | |
yoleaux | moritz: I'll pass your message to [ptc]. | ||
16:00
diana_olhovik_ joined
|
|||
dalek | c: d1363d6 | moritz++ | htmlify.p6: Fix fallout from the single-arg rule |
16:00 | |
c: 6770eb8 | moritz++ | htmlify.p6: Another GLR fix |
|||
c: 7cd718e | moritz++ | htmlify.p6: Fix syntax error |
|||
c: 96c51b5 | moritz++ | lib/Type/Parameter.pod: s:ii/parcel/raw/ in Parameter.pod |
|||
c: b5633b1 | moritz++ | htmlify.p6: Merge branch 'htmlify-glr' |
|||
moritz | fwiw htmlify last took about 21 minutes (pre-glr) on hack | 16:02 | |
16:02
raiph joined
16:03
kjs__ joined
|
|||
moritz | I'm quite interested in seeing the performance post-glr | 16:03 | |
16:05
Ven left
|
|||
moritz | I've profiled htmlify.p6 with --sparse=50; result at hack.p6c.org/~moritz/profile-144216...07429.html | 16:07 | |
(makes your browser use 2G of memory; you have been warned) | 16:08 | ||
16:08
raiph left
|
|||
timotimo | moritz: i'm currently ankle-deep in the qt profiler | 16:08 | |
trying to figure out what makes it give bogus results sometimes. and adding a list of GC runs to it as well | 16:09 | ||
dalek | ast/gmr: ead4486 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t: Tests for RT 123072 - .perl on a List containting a single item |
16:11 | |
16:12
raiph joined
|
|||
dalek | ast: 472a2d4 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t: Tests for RT 123072 - .perl on a List containting a single item |
16:12 | |
kudo/nom: e19c128 | (Stefan Seifert)++ | src/core/List.pm: Fix .perl on a single item List not EVALing back to the List Fixes RT #123072 |
16:13 | ||
nine | .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=123072 is fixed with commit e19c128 | ||
yoleaux | ... | ||
16:13
n0tjack joined
|
|||
nine | Err...yoleaux overloaded? | 16:14 | |
moritz | nine: erm, wrong ticket number? | ||
'[GLR] 'for' loop in sink context isn't invoking block in sink context' | |||
m: class Sinker { method sink() { say "Blub" } }; for ^5 { Sinker.new(); }; 1 | 16:15 | ||
camelia | rakudo-moar 5927b1: OUTPUT«WARNINGS:Useless use of constant integer 1 in sink context (line 1)» | ||
timotimo | moritz: would you like to generate a json version of that, too? you have to set --profile-filename to something ending in .json (and you have to have a very recent nqp, otherwise the file will end up truncated) | ||
so that's what gave us the good performance since the glr ;) | 16:16 | ||
moritz | timotimo: I can do that | ||
nine | Darn...should have been 124342 | ||
moritz | timotimo: the HTML version seems to be pretty useless, since it builds so slowly :( | 16:17 | |
erm, responds | |||
timotimo | yes | ||
that.s what made tadzik build the qt program :) | |||
dalek | ast: ebd3ce2 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t: Fix ticket number for testcase |
||
16:18
n0tjack left
|
|||
nine | .tell [Coke] wrong ticket number. 123072 is still open, 124342 is fixed | 16:18 | |
yoleaux | nine: I'll pass your message to [Coke]. | ||
colomon | Array $last = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[9.0],],],],],],],],],],],],],],],],],],],],],],],],],],],],],] | ||
:) | |||
moritz: I just fixed Math::RungeKutta to work again. However, thinking about it I’m not sure it was the best possible solution. Seems like the code was doing some funky stuff to work around flattening before, and what I did was make it flatten again instead of straightening out the original issue. | 16:23 | ||
16:24
kjs__ left,
qlx4r left
|
|||
cschwenz | colomon: nested 30 levels deep?!? o_0 | 16:25 | |
colomon | cschwenz: that’s what happens when you expect flattening and it’s not there any more. :) | ||
afk # nom-fetching | |||
hoelzro | pmurias: go for it | 16:26 | |
you can merge js-merge-wip into master too | 16:27 | ||
16:27
laouji left
16:28
cognominal joined
16:31
thou joined
|
|||
raiph | .tell skids .oO ( s:g/sigilless variable/raw variable/? ) | 16:33 | |
yoleaux | raiph: I'll pass your message to skids. | ||
16:38
[Sno] joined
16:45
pmurias__ joined
16:46
n0tjack joined
|
|||
pmurias__ | hoelzro: I'll be away from my hacking machine till tomorrow | 16:46 | |
16:47
diana_olhovik_ left
16:48
xinming_ left
16:51
n0tjack left
|
|||
rindolf | hoelzro: hi, sup! Shanah Tovah. | 16:57 | |
17:08
tm joined
17:09
Ven joined
17:10
kjs__ joined
|
|||
timotimo | .tell usev6 thanks again for your tireless bug triage work! | 17:16 | |
yoleaux | timotimo: I'll pass your message to usev6. | ||
17:17
xfix joined
17:19
n0tjack joined
17:23
n0tjack left
17:28
Ven left
17:44
Ven joined
|
|||
moritz | colomon: nonetheless, a pull request (or direct push) is welcome | 17:48 | |
ah, I see you already did that; colomon++ | 17:49 | ||
also colomon++ for Math::Model fixes | |||
timotimo: hack.p6c.org/~moritz/htmlify.json | 17:50 | ||
timotimo | cool, thanks | ||
a .gz would have done wonders on it, i bet | |||
17:51
n0tjack joined
|
|||
timotimo | moritz: it looks like the json file lacks the last bit | 17:53 | |
what's your nqp? | |||
17:55
n0tjack left
|
|||
timotimo | moritz: sorry, i was wrong, the file seems all right | 17:55 | |
it might be hitting the arbitrary file size limit related to ... something | 17:56 | ||
QJson or the binary buffer it uses or something | |||
17:58
Ven left
18:01
Skarsnik joined
18:02
Ven joined
18:05
pmurias__ left
|
|||
bartolin | timotimo: thanks (i'm usev6 on github). btw, i just noted that my first contribution to Perl 6 was about 1 year ago (september 2014). maybe I should blog about that ("one year of bug triage") ... | 18:05 | |
on the other hand, i don't have a blog | |||
timotimo | ah! | ||
18:08
Ven left
18:09
n0tjack joined
18:11
Ven joined
18:13
Sqirrel joined
18:15
n0tjack left,
Ven left
|
|||
dalek | p: 239d6a3 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (14 files): add and hook up CPPStruct repr on jvm |
18:16 | |
moritz | bartolin: if you want to, you can publish a guest post on my blog | ||
colomon | moritz++: yeah, I pushed just for form’s sake and it turned out you’d given me a commit bit sometime in the distant past. :) | ||
18:18
n0tjack joined
|
|||
dalek | kudo/nom: 1776eea | FROGGS++ | / (21 files): re-apply patch to add C++/NativeCall support |
18:19 | |
kudo/nom: 2b05975 | FROGGS++ | t/04-nativecall/1 (2 files): skip test file when we cannot compile C++ |
|||
kudo/nom: 27d2629 | FROGGS++ | t/04-nativecall/ (3 files): try cl, g++ and clang++ to build/test C++ libs |
|||
kudo/nom: 77bbbea | FROGGS++ | lib/NativeCall.pm: automatically guess C++ name mangler |
|||
kudo/nom: d9157c0 | FROGGS++ | tools/build/Makefile-JVM.in: fix thinko in JVM's Makefile |
|||
kudo/nom: c759667 | FROGGS++ | tools/build/NQP_REVISION: get nqp with CPPStruct support on jvm |
|||
kudo/nom: 89dd4d5 | FROGGS++ | lib/NativeCall (2 files): add missing checks for CPPStruct in CArray/HAS |
|||
18:21
kjs__ left,
kjs__ joined
|
|||
bartolin | moritz: thanks for the offer! at the moment i'm a bit short of time. but i'll keep the idea in mind. (if i wait some more, it might be a post for the next P6 advent?!) | 18:22 | |
moritz | bartolin: ok; yes, would work for advent, but would work earlier too :-) | ||
colomon | woah, that’s a mess of C++ nativecall stuff landing in nom! | ||
dalek | c/htmlify-glr: 7a83f6a | moritz++ | t/pod-convenience.t: Fix test; closes #123 |
18:25 | |
c: 42649ba | moritz++ | t/pod-convenience.t: Fix test; closes #123 |
|||
moritz and his wrong branches | |||
18:26
n0tjack left
18:27
n0tjack joined
|
|||
dalek | kudo/nom: aceec21 | FROGGS++ | lib/NativeCall/Compiler/GNU.pm: fix symbol mangling on darwin/clang |
18:29 | |
moritz | huh, doc build failed | 18:30 | |
but, but, but, I tested it before pushing :( | 18:31 | ||
timotimo | damn :( | ||
18:31
n0tjack left
|
|||
dalek | c: 01cb035 | moritz++ | htmlify.p6: A well-placed &flat brings us error-free through htmlify.p6 --sparse=20 |
18:32 | |
moritz | seems I missed this commit somehow | ||
oh, I think I know what happened | 18:33 | ||
I fixed it on one machine, and pushed | |||
and merged the branch on another machine, without pulling first | |||
or after pulling only master | |||
or something | |||
18:33
kjs__ left
|
|||
dalek | ast: d397bca | usev6++ | S06-multi/positional-vs-named.t: Add reference to RT #118467 to existing test |
18:38 | |
18:38
patrickz joined
|
|||
timotimo | huh, dafuq? | 18:40 | |
dalek | kudo/nom: 0cbba1b | FROGGS++ | lib/NativeCall/Types.pm: re-add new/elems/list to CArray They got lost when merging the cpp3 branch. |
||
timotimo | my num ($i, $j); - this is code-gen-ing a call to &infix:<,> | ||
every time it gets encountered | |||
in this random benchmark, the total of those &infix:<,> calls makes up 3.6% exclusive time :| | 18:42 | ||
6.68% inclusive time, so it's actually calling still more unnecessary things | 18:43 | ||
ugh, find-best-dispatchee is also called from that | 18:44 | ||
18:44
telex left
|
|||
dalek | p: 7a04389 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/CArrayInstance.java: implement CArray.elems on jvm |
18:45 | |
18:45
araujo left
|
|||
dalek | kudo/nom: 4472353 | FROGGS++ | tools/build/NQP_REVISION: bump nqp/jvm for CArray.elems |
18:45 | |
18:45
FROGGS_ is now known as FROGGS
|
|||
FROGGS | .tell japhb done | 18:45 | |
yoleaux | FROGGS: I'll pass your message to japhb. | ||
18:46
telex joined
|
|||
FROGGS | timotimo: can't we compile a variable declaration without initializer to something less involved? | 18:47 | |
I mean, that can compile to Nil, no? | |||
timotimo | hopefully yes | 18:49 | |
oh COME ON! | 18:51 | ||
18:51
yqt joined
|
|||
timotimo | turned the data structure from hashes to proper objects | 18:51 | |
now the number 2 spot in the routines list is occupied by find_method | |||
skids | m: my @letters = <a b c d e f>; for @letters[(0,1...*).map({die if ++$ > 30; $_ mod 6})] { $_.say; last if ++$ > 20 }; | 18:52 | |
yoleaux | 16:33Z <raiph> skids: .oO ( s:g/sigilless variable/raw variable/? ) | ||
camelia | rakudo-moar e19c12: OUTPUT«Died in block <unit> at /tmp/2NrsTPlPkS:1» | ||
timotimo | holy wat! | ||
removing the "num" declaration from the attributes makes all find_method calls go away and makes the whole thing a whole bunch faster | |||
>:( | |||
ugexe | did you try yelling at it? | ||
FROGGS | try shaking it | 18:53 | |
timotimo | do we have a problem in our method cache? | ||
FROGGS | not that I am aware of | ||
18:54
n0tjack joined
18:55
lizmat left
|
|||
timotimo | well, it'd only be a performance problem | 18:55 | |
moritz | timotimo: shouldn't it be the other way round? | 18:56 | |
timotimo | hm? | ||
moritz | num attributes being more static, requiring less dynamic lookups? | ||
timotimo | correct | ||
all of the code is going through accessors, though | |||
those are rw accessors for native attributes | 18:57 | ||
so they return attrref objects | |||
but unrelated to this, the methods should be findable without any calls to find_method at all | 18:58 | ||
18:58
n0tjack left
18:59
lizmat joined
|
|||
timotimo | and i really don't know why there's any calls to "find_best_dispatchee" at all in there | 18:59 | |
in any case, let me try to golf this problem real quick | 19:01 | ||
i expect jnthn will be able to point me in the right direction | |||
FROGGS | yeah, jnthn is a quite exceptional pointer | 19:02 | |
19:06
aindilis left
|
|||
rurban | timotimo: is this a regression? | 19:06 | |
19:06
aindilis joined
|
|||
timotimo | no clue | 19:07 | |
i don't have a good golfed script yet | |||
trying to start from 0 didn't trigger it, so i'll have to cut the full script i saw it in into pieces | |||
19:09
ruoso left
19:13
telex left
19:14
telex joined
|
|||
vendethiel | timotimo: I still need to golf down my gtk bug as well. and report it to #moarvm :D | 19:15 | |
timotimo | :( | ||
the error seems to require a -= to be in play | |||
FROGGS | vendethiel: if you get the chance, can you build latest nqp+rakudo and do a make test? | ||
timotimo looks at the generated code | 19:16 | ||
vendethiel | FROGGS: --gen-nqp=master and --gen-moar=master, then? | ||
FROGGS | I've bumped revisions | ||
so just pull and build | |||
timotimo | a-ha! | 19:19 | |
19:20
telex left
|
|||
lizmat | good *, #perl6! | 19:20 | |
timotimo | i think tthe find_method is actually not for the attributes | ||
FROGGS | hi lizmat | ||
timotimo | it may be for sinking instead | ||
lizmat | t/spec/S32-io/pipe.t started failing after the latest pull, is that known ? | ||
19:20
telex joined
|
|||
FROGGS | huh | 19:20 | |
lizmat | not ok 11 - Can talk to subprocess bidirectional | ||
not ok 12 - Can capture stdout and stderr, and chain stdin | |||
not ok 13 - Can capture stdout and stderr, and chain stdin | |||
timotimo | in the -= case we generate a want with a p6sink on the 'v' side; in the = case, we don't | 19:21 | |
bartolin | lizmat: irclog.perlgeek.de/perl6/2015-09-13#i_11210100 | ||
timotimo | potentially because we know how it'll end, or perhaps there's a bug that says we should actually be generating it? | ||
FROGGS | lizmat: is it possible that you've not pulled within the last 24 hours or so? | ||
lizmat | I just pulled and got all of the C++ goodies :-) | ||
FROGGS | ohh | ||
nvm | |||
timotimo | and the problem is potentially made worse by AttrRef not being a full class or something similar? | ||
FROGGS | bartolin++ | ||
timotimo | m: IntAttrRef.new().sink | 19:22 | |
camelia | rakudo-moar aceec2: OUTPUT«(signal SEGV)» | ||
FROGGS | lol | ||
timotimo | m: IntAttrRef.new().^find_method("sink") | ||
camelia | rakudo-moar aceec2: OUTPUT«(signal SEGV)» | ||
timotimo | m: nqp::can(IntAttrRef.new(), "sink") | 19:23 | |
camelia | rakudo-moar aceec2: OUTPUT«(signal SEGV)» | ||
timotimo | well, of course, just creating an attr ref like that | ||
that's problematic | |||
anything wants to decont it, i bet | |||
and if it doesn't have an object and offset set ... null pointer deref! | |||
19:23
blablabla joined
|
|||
timotimo | m: nqp::can(IntAttrRef, "sink") | 19:23 | |
camelia | ( no output ) | ||
timotimo | m: nqp::can(IntAttrRef, "sink").say | ||
camelia | rakudo-moar 447235: OUTPUT«0» | ||
timotimo | hm | ||
19:24
blablabla left
|
|||
timotimo | m: nqp::can(Array, "sink").say | 19:25 | |
camelia | rakudo-moar 447235: OUTPUT«1» | ||
timotimo | it shouldn't emit any "find_method" invocations if it doesn't can, should it? | 19:26 | |
or does can actually call find_method to figure out if the class can the method? | |||
that would explain things, at least | |||
19:26
telex left,
n0tjack joined
19:27
telex joined
|
|||
timotimo | i've got a hunch that i could do something about this in spesh | 19:30 | |
but it'd probably be better to do it earlier? | |||
FROGGS | I dunno | ||
19:31
n0tjack left
|
|||
timotimo | sinking things that can't even sink ... that's a performance problem i've seen pop up multiple times in the past | 19:31 | |
19:32
n0tjack joined,
telex left
|
|||
moritz | but doen't we cache the absence of a method as well? | 19:33 | |
19:33
telex joined
|
|||
timotimo | huh, actually ... it *could* be find_method on STORE instead | 19:33 | |
timotimo puts a print statement somewhere stupid | 19:34 | ||
19:36
DarthGandalf joined
19:37
Sqirrel_ joined,
Sqirrel left
19:38
telex left
19:39
telex joined
|
|||
timotimo | it's all findmeth for 'sink' | 19:40 | |
jnthn | I can haz messages? | 19:43 | |
yoleaux | 12 Sep 2015 19:33Z <moritz> jnthn: I've documented the Iterator/Iterable interface to the best of my knowledge in perl6/doc; feel free to steal anything you like for S07. | ||
12 Sep 2015 23:00Z <TimToady> jnthn: the specced syntax you were looking for is 'when * -> $a, $b, *@c { ... }' but that's not implemented yet | |||
09:31Z <nine> jnthn: the gmr branch is now ready for a closer look. | |||
19:43
n0tjack left
19:44
nudies joined,
Peter_R left
|
|||
jnthn | m: sub foo(*@a) { say @a.perl }; foo([1, [2, 3]]) | 19:44 | |
camelia | rakudo-moar 447235: OUTPUT«[1, [2, 3]]» | ||
jnthn | star: sub foo(*@a) { say @a.perl }; foo([1, [2, 3]]) | ||
camelia | star-m 2015.03: OUTPUT«Array.new([1, [2, 3]])» | ||
timotimo | ohai jnthn :) | ||
jnthn | TimToady: I'd argue that these are correct, since .flat does respect itemization, and an Array itemizes. | ||
19:44
telex left
|
|||
jnthn | TimToady: And * has been defined in terms of .flat | 19:45 | |
TimToady: If we want to define it another way we should find a name for the operation we do want it to do :) | |||
19:45
telex joined
|
|||
jnthn | o/ timotimo | 19:45 | |
timotimo | does giving NativeRefHOW a method find_method that only returns nqp::null() seem like a good idea for making trying to .sink it less expensive? | ||
19:45
telex left
|
|||
lizmat | m: say \42; say 42.Capture # what is the difference ? | 19:46 | |
camelia | rakudo-moar 447235: OUTPUT«Potential difficulties: To refer to a positional match capture, just use $0 (numbering starts at 0). Parenthesize as \(...) if you intended a capture of a single numeric value. at /tmp/g5G7nXiahC:1 ------> 3say \7⏏0542; say 42.…» | ||
jnthn | Uh, why are we trying to find_method on a native ref *at all*? | ||
lizmat | apart from the warning | ||
jnthn | It's a container type | ||
19:46
telex joined
|
|||
jnthn | lizmat: Nothing? :) | 19:46 | |
lizmat: Oh, wait... | |||
lizmat: 42.Capture probably isn't very useful at all | 19:47 | ||
19:47
Peter_R joined
|
|||
jnthn | Since it probably falls back to the object approach to unpack | 19:47 | |
lizmat | yes, it does... | ||
jnthn | But there's no public attributes on an Int | ||
I'm not sure I'd expect unpacking an Int to have a sensible interpretation though :) | |||
moritz | fwiw doc.perl6.org/ is now generated by a post-glr rakudo | 19:48 | |
jnthn | \42 is equivalent to \(42) so it's just a positional arg | ||
lizmat | m: say (42, a=> 666).Capture.perl; say \(42,a=>666).perl | ||
camelia | rakudo-moar 447235: OUTPUT«\(42, :a(666))\(42, :a(666))» | ||
moritz | real13m11.531s | ||
used to be 21min. Wow. | |||
timotimo | jnthn: we're find_method sink on something and it seemed to be related to a native attribute ref | ||
jnthn | I thought it'd be weed or an illegal pet monkey | ||
oops | |||
19:48
juiko joined
|
|||
timotimo | but now i'm finding some doubts | 19:48 | |
jnthn | .oO( Guess the topic of discussion with *that* wrong window! ) |
19:49 | |
lizmat | .oO( IPM :-) |
||
timotimo | for one, i don't find "find_method" in the profile any more ... >_> | ||
19:49
darutoko left
|
|||
jnthn | moritz: Wow, GLR made things faster in a large real-world thing? ;) | 19:49 | |
timotimo | jnthn: oh btw, we're still calling &infix:<,> for a line like "my num ($foo, $bar);" | ||
moritz | jnthn: seems like, yes :-) | 19:50 | |
timotimo | moritz: sweet! | ||
jnthn | timotimo: If we are doing a find_method on the ref itself something's up... | ||
moritz | m: say (21.5 - (13 + 11/60) / 21.5 | ||
camelia | rakudo-moar 447235: OUTPUT«5===SORRY!5=== Error while compiling /tmp/npRBco9Ue2Unable to parse expression in parenthesized expression; couldn't find final ')' at /tmp/npRBco9Ue2:1------> 3say (21.5 - (13 + 11/60) / 21.57⏏5<EOL> expecting any of: st…» | ||
jnthn | timotimo: I wonder if spesh is to blame | ||
moritz | m: say (21.5 - (13 + 11/60)) / 21.5 | ||
camelia | rakudo-moar 447235: OUTPUT«0.386822» | ||
timotimo | jnthn: we are generating a p6sink(...) around the code that our metaop "optimization" makes | ||
jnthn | timotimo: And doesn't recognize it as a container and optimizes out the decont | ||
timotimo | gist.github.com/timo/625d44afb452bf8b8469 - this is what it looks like in --target=optimize | 19:51 | |
jnthn | lizmat: Unless you've any better suggestions of what 42.Capture should do, I'm not especially sure it needs to change. .Capture is really "what should I do in an unpack scenario" | 19:52 | |
timotimo | FWIW, the p6sink is also in the --target=ast | ||
moritz wants a way to declare that a class is a value type, and then teach the optimizer not to think any expressions of that type | |||
19:52
telex left
|
|||
moritz | s/think/sink/ | 19:52 | |
lizmat | jnthn: I'm just surprised there is a difference between 42.Capture and \42 | ||
19:52
telex joined
|
|||
lizmat | they look completely equivalent to me, and are as soon as something non-scalar/pair is involved | 19:53 | |
timotimo | jnthn: what would assign return in that context? | ||
jnthn | lizmat: Oh, I'd expect them to differe | 19:54 | |
*differ | |||
lizmat: \$obj will always be a 1-arg Capture, for $obj.Capture is the interpretation of that object for unpacking | |||
timotimo | jnthn: another possible thing that's broken is that $b.vy = $b.vy - ... generates a p6store, while the -= case generates an assign op | ||
19:54
benji_ joined
|
|||
jnthn | s/for/but/ | 19:54 | |
19:55
benji_ left
|
|||
skids | .oO(if [...] "itemizes" what do we call what $ does in $[...]?) |
19:55 | |
jnthn | skids: [[1,2],[3,4]] is identical to [$[1,2],$[3,4]] | ||
19:55
benzen joined,
cschwenz left
|
|||
benzen | m: for 1 { LAST { say "last"; }; next; } | 19:55 | |
camelia | ( no output ) | ||
lizmat | feels to me $obj.Capture in the unpacking sense, should maybe be called something else | ||
skids | But [[1,2]] is not identical to [$[1,2]]. | ||
benzen | can i know if this ^^^ is a bug? | 19:56 | |
timotimo | that's single-arg-rule, skids, right? | ||
skids | It is, but we need a word for what $ does there other than "itemize" | ||
lizmat | jnthn: anyways, I ran into this yesterday working with BooK on a Perl 6 version of Git::Repository | ||
timotimo | skids: [..] itemizes its contents, $[...] itemizes the container as well | ||
jnthn | skids: Why? | 19:57 | |
skids | Because it's hard to describe t people. | ||
jnthn | skids: Calling the same operation two different things will surely confuse them. | ||
FROGGS | benzen: aye... though I was under the impression that I fixed that just lately :/ | ||
benzen | shouldn't it print "last" even if it skips with next? | ||
jnthn | lizmat: Why? | ||
FROGGS | benzen: yes | 19:58 | |
lizmat | one of the options you can give in Git::Repository, is a list of options to give to git | ||
jnthn | lizmat: I'd hope folks aren't using Capture itself all too often. | ||
benzen | FROGGS: oh, didn't know it was already noticed. | ||
lizmat | something like git => (foo => bar, baz => 42) | ||
19:58
telex left
|
|||
benzen | it's is wuite some time (like 2 weeks) since i first saw it | 19:58 | |
FROGGS | benzen: no, it wasn't noticed, it just happen that it was temporarily not implemented because of a refactor | 19:59 | |
lizmat | jnthn: basically, you specify the parameters to an internal sub | ||
19:59
telex joined
|
|||
FROGGS | benzen: and I fixed that, but obviously not good enough | 19:59 | |
lizmat | jnthn: the idea was to give the named param the following signature: Capture() :$git | ||
moritz | jnthn, lizmat: a big problem (IMHO) is that some docs still say that Capture fill the ecological niche of a reference, so many programmers familiar with references try to use them | 20:00 | |
timotimo | urgh, that's bad | ||
moritz | wheras I'd argue that scalar containers are closers to references | ||
timotimo | aye | ||
lizmat | jnthn: if you pass a List, the coercion to Capture works fine | ||
moritz | and even though one can argue that it's still true, it simply not a helpful comment for the user | 20:01 | |
lizmat | if you pass anything else, like git => (foo => bar) | ||
colomon | where is the grammar construct defined in rakudo? | ||
FROGGS | colomon: src/core/Grammar.pm? | ||
lizmat | jnthn: you get into problems :-( | ||
jnthn | lizmat: So...use the construct that works? :) | ||
colomon | FROGGS: no, that’s just where the methods for it are. | 20:02 | |
FROGGS | colomon: what are you searching for then? | ||
jnthn | lizmat: I don't think we've *ever* made the claim that \(foo) and foo.Capture are the same | ||
colomon | FROGGS: wanted to see what it looked like | ||
FROGGS | colomon: the keyword definition? | ||
colomon | FROGGS: yes | ||
skids | m: sub foo (\a, \b) { join("+",a).say; join("+",b).say }; foo($[1,2],[3,4]) # really not exactly "the same" | ||
camelia | rakudo-moar 447235: OUTPUT«1 23+4» | ||
lizmat | so you *must* specify git => (foo => bar,) | ||
FROGGS | colomon: src/Perl6/Grammar.nqp and Actions.nqp | ||
20:02
cschwenz joined
|
|||
skids | And why I ask is because I' trying to doc that better. | 20:03 | |
lizmat | jnthn: I realize that claim was never made, but at first sight it feels like a TIMTOWTDI | ||
dessert& | |||
20:04
kjs__ joined,
telex left
|
|||
jnthn | skids: [...] is an array composer; it will obey the single argument rule to decide what values are going into the array, then then itemize each of them | 20:04 | |
20:05
telex joined
|
|||
jnthn | skids: The single argument rule is the other thing you're looking for, not two words for itemization. | 20:05 | |
dalek | c: 4ea75ef | paultcochrane++ | type-graph.txt: Add Temporal entry to type-graph |
||
skids | m: sub foo ([\a, \b]) { join("+",a).say; join("+",b).say }; foo([$[1,2],[3,4]]) # now I get what you wer saying | ||
camelia | rakudo-moar 447235: OUTPUT«1 23 4» | ||
colomon | FROGGS: almost nothing there, eh? | ||
FROGGS | colomon: there is also stuff about regex/token/rule etc... they check for their package IIRC | 20:06 | |
colomon: so it is not all in one spot | 20:07 | ||
dalek | kudo-star-daily: 8bf6f09 | coke++ | log/ (10 files): today (automated commit) |
||
[Coke] | jnthn: bummed. 21.02 miles, but surprise, no curry. :| | 20:08 | |
yoleaux | 15:21Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=122948 is fixed as result of the GLR | ||
15:25Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=120861 is fixed as result of the GLR, too. | |||
15:29Z <nine> [Coke]: With rt.perl.org/Public/Bug/Display.html?id=111720 I'd argue, that the current behavior is correct due to the one item rule. Array.new(@a) essentially creates a copy of @a. Thus changing @a will not affect the new array. | |||
15:34Z <nine> [Coke]: I'm registered in RT as [email@hidden.address] When you get tired of modifying tickets for me, just give me privileges :) | |||
15:54Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=124082 seems to have been fixed in the meantime. | |||
16:13Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=123072 is fixed with commit e19c128 | |||
16:18Z <nine> [Coke]: wrong ticket number. 123072 is still open, 124342 is fixed | |||
skids | jnthn: And now I'll try to figure out how to explain that without confusing people like me :-) | 20:09 | |
jnthn | skids: I took a shot at explaing the single arg rule stuff in the updated S07 | ||
moritz | [Coke]: no curry sounds sad :( | ||
jnthn | [Coke]: Oh noes! :( | 20:10 | |
20:10
raiph left
|
|||
jnthn cooked aloo dum this evening | 20:10 | ||
20:10
n0tjack joined
|
|||
[Coke] | nine: i get tired quick in my old age. you're already a bugadmin, for some time. | 20:10 | |
20:10
telex left,
raiph joined
20:11
telex joined
|
|||
jnthn | timotimo: The `my num ($i, $j);` think surely can get code-gen'd better | 20:11 | |
timotimo | does that sound like something that'd go into Actions? or Optimizer? | ||
jnthn | No, I'd just at the point we spit out the Parcel spit out a QAST::Want that produces null in void context :) | 20:12 | |
s/Parcel/List/ :) | |||
gah :) | |||
It'll be in variable_declarator somewhere I think | |||
timotimo | ah | 20:13 | |
that sounds sane | |||
lizmat | m: sub a { dd @_, %_ }; sub b(List() :$git) { a |$git.Capture }; b git => (666); b git => (a => 42); b git => (666, a => 42) # jnthn: a solution for now | ||
camelia | rakudo-moar 447235: OUTPUT«[666]{}[]{:a(42)}[666]{:a(42)}» | ||
20:14
nudies left
20:15
n0tjack left
|
|||
nine | [Coke]: ah, now I get it. When I'm logged in, I cannot use the public interface anymore but can look up by ticket number and close via Reply. | 20:15 | |
[Coke] | smash++ | ||
lizmat | jnthn: should Capture(List()) :$git work as a sig in the future? | 20:16 | |
m: sub a(Capture(List()) :$git) {} | |||
camelia | ( no output ) | ||
lizmat | doesn't generate any error atm | ||
jnthn | lizmat: Uh...I'm not sure what nested coercion types mean :P | ||
lizmat: But if we decide to make them mean anything than probably they'll mean what you want, yes | 20:17 | ||
lizmat | first coerce to List, then to Capture ? | ||
20:17
telex left,
telex joined
|
|||
jnthn | lizmat: Yeah | 20:19 | |
nine | [Coke]: closed those tickets | ||
cschwenz | when doing testing and you have a plan $numtests; , the docs say done-testing isn't needed. is it still a good idea to have done-testing at the end of the test file? | 20:21 | |
20:21
benzen left
|
|||
nine | jnthn: I wrote an iterator for ArgFiles based on your IO::Handle::lines. Gives us a 3.4x speedup but it seems to have uncovered a bug: a newline at the end of a file gives us an empty string in the last iteration. I don't think it did that before. | 20:21 | |
[ptc] | cschwenz: done-testing is only needed if you don't want to specify the number of tests at the beginning (e.g. when the test suite is initially being developed) | 20:22 | |
yoleaux | 9 Sep 2015 14:27Z <itz> [ptc]: 99problems.t is more like 999glr-problems.t :) | ||
15:59Z <moritz> [ptc]: I've updated the rakudobrew on hack in /home/rakudobrew to a pots-glr rakudo (+modules); please check if the examples.perl6.org rebuild still works | |||
jnthn | nine: oh, hmm | ||
Maybe we need to test for undefined as well as eof | |||
[ptc] | moritz: the examples site uses a locally brewed rakudo, so everything should be using the current version atm | 20:23 | |
20:23
telex left
|
|||
jnthn | cschwenz: I tend to do either/or (that is, a plan *or* done-testing) | 20:23 | |
[ptc] | moritz: however, there are probably *lots* of examples which don't work atm :-) | ||
cschwenz | [ptc]: ok, thanks! that's what i thought would be the case, but wanted to see what the perl6 community had to say about it. | ||
20:23
telex joined
|
|||
cschwenz | so, plan 42; XOR done-testing; | 20:24 | |
[ptc] | cschwenz: I'd also like to echo what jnthn said. It's more of an either/or thing | ||
cschwenz: it's the same situation with Test::More in perl5, either one uses done_testing (e.g. if one is in the process of adding lots of tests), or there is a stable number of tests in which case one should use a specific test plan | 20:25 | ||
moritz: thanks for the heads up btw :-) | |||
_itz: thanks for letting me know :-) I'll have a look-see tomorrow (hopefully)( | |||
20:26
xfix left
|
|||
timotimo | bleh | 20:26 | |
20:26
zakharyas joined
|
|||
timotimo | the version of the benchmark that uses native type annotations all over the place does 2x as many garbage collections | 20:26 | |
20:27
domidumont left
|
|||
lizmat | cschwenz: if you have a plan, done-testing (which in itself is a test that all tests are done). is done automatically for you | 20:27 | |
jnthn | timotimo: If you can stick such a think into a gist I'd be interested to look forther | ||
Back to relaxing... I'll be about doing Perl 6 things tomorrow; how much depends how good I am at procrastinating writing slides for my talk on Thursday... :P | |||
& | |||
20:28
tokuhiro_ joined
|
|||
timotimo | :) | 20:29 | |
20:29
telex left,
telex joined,
telex left
20:30
telex joined
|
|||
dalek | Heuristic branch merge: pushed 17 commits to rakudo/cu_load by lizmat | 20:31 | |
20:31
n0tjack joined
|
|||
dalek | kudo/nom: 0d47a43 | FROGGS++ | src/core/Any-iterable-methods.pm: fire LAST phaser also when next-ing every loop |
20:32 | |
cschwenz | github.com/perl6/doc/pull/124 <-- this is why i was asking about plan vs. done-testing | ||
timotimo | jnthn: gist.github.com/timo/b52c874c07d27d631bb3 - there you go | ||
dalek | c: 4e39c1d | (Calvin Schwenzfeier)++ | t/ (2 files): As we have a plan, the deprecated "done;" can be removed. |
||
c: e25e58a | FROGGS++ | t/ (2 files): Merge pull request #124 from cschwenz/master As we have a plan, the deprecated "done;" can be removed. |
|||
20:32
tokuhiro_ left
|
|||
FROGGS | .tell benzen just fixed the LAST issue with github.com/rakudo/rakudo/commit/0d47a436e6 | 20:34 | |
yoleaux | FROGGS: I'll pass your message to benzen. | ||
vendethiel | FROGGS: I can do that recompile now, do you still want that os x output? | ||
20:34
zakharyas left
|
|||
[Coke] | jnthn++ # S07 | 20:35 | |
FROGGS | vendethiel: I only want any output when the tests are failing :o) | ||
20:36
n0tjack left,
telex left,
Ven joined,
telex joined
20:37
kaare_ left,
kaare_ joined
20:38
juiko left
|
|||
Ven | FROGGS: pulled, recompiling thusly | 20:38 | |
FROGGS | Ven++ | ||
timotimo | jnthn: lolwtf, a *big* chunk of time - 12% - was taken by repeatedly turning $*ARGS[0] into a Numeric to compare it to the number of iterations | ||
Ven | *g* | 20:39 | |
FROGGS | 12% | ||
much wow | |||
Ven | .oO( count your enemies, but don't spend your time doing so ) |
||
moritz | timotimo: wtf where you debugging? | ||
erm, profiling | |||
timotimo | jnthn: and with a simple .Int at the right spot, the number of GCs goes down to 340 from 476 | ||
moritz: an nbody benchmark | |||
look at the last gist link i gave to jnthn | |||
i'm in the mood for Igorrr now | 20:40 | ||
20:41
FROGGS left
20:42
kaare_ left,
telex left,
FROGGS joined,
telex joined
|
|||
timotimo | updated with the latest measurements | 20:43 | |
removing the unnecessary re-parsing of the number cut the GC runs in half in the object-based version, too | |||
hum. but was i using the same number of runs? | |||
FROGGS | :S | 20:44 | |
timotimo | yeah, i was | ||
this is ... ridiculous | |||
FROGGS | +1 | ||
timotimo | i can't believe these numbers | ||
ah | 20:47 | ||
i've made the huge mistake of git pull-ing rakudo in between | |||
20:48
telex left
|
|||
timotimo | it's only 110 vs 147 and 340 vs 379 | 20:49 | |
20:49
telex joined
|
|||
[Coke] | nine++ ticket wrangling | 20:50 | |
dalek | kudo/nom: 655a455 | FROGGS++ | src/core/Any-iterable-methods.pm: fire LAST phaser also when next-ing every loop Now properly. The patch before this one only fixed one of three spots. |
20:53 | |
20:54
telex left
20:55
telex joined
|
|||
timotimo | FROGGS: are you interested in finding a good solution for my ($a, $b) generating a call to &infix:<,> that's not needed? you'd be looking into Actions.nqp inside the if $<signature> branch i expect, and Mister J suggested a QAST::Want node that returns nqp::null in the 'v' case - my first attempt to just give it a branch with nqp::null didn't work out, though | 20:55 | |
FROGGS | timotimo: put in a QAST::Op.new(:op<null>) instead | 20:56 | |
timotimo | er, yeah | 20:57 | |
that's what i did | |||
FROGGS | ahh, hmmm | ||
timotimo | ./perl6-m --target=mbc --output=lib/NativeCall.pm.moarvm -Ilib lib/NativeCall.pm | ||
===SORRY!=== | |||
Type check failed in binding $short-id; expected 'Str' but got 'Any' | |||
this is the symptom | |||
possibly not taking care of having a = and a RHS? | |||
FROGGS | you should put the null in there when there is *no* RHS | 20:58 | |
dalek | c: 5fff7bd | skids++ | lib/Language/subscripts.pod: Document post-GLR (pre-multidim) slicing behavior and truncation |
||
c: e086eb5 | skids++ | lib/Type/Signature.pod: Fix example to not confuse the topic at hand with []'s internal itemization |
|||
timotimo | right | ||
FROGGS | timotimo: can you show the diff? | ||
timotimo | hold on, i gotta try to restore it %) | ||
FROGGS | *g* | ||
timotimo | let's see if it still breaks or if that simple adjustment made it work | 21:00 | |
21:00
telex left
21:01
telex joined
|
|||
timotimo | nope, still breaks | 21:02 | |
21:04
n0tjack joined
|
|||
Ven | FROGGS: gist.github.com/vendethiel/3dc31ccee7ba2fd4fbd2 | 21:04 | |
timotimo | FROGGS: gist.github.com/timo/a9570cb6beee419ec2a1 | ||
FROGGS | :D | ||
Ven: damnit.. it still does not seem to run a single test... | 21:05 | ||
Ven: can I get the output of t/04-nativecall/11-cpp.t and t/04-nativecall/13-cpp-mangling.t again? | 21:06 | ||
21:06
telex left
|
|||
Ven | FROGGS: gist.github.com/vendethiel/7415e61ffc4783b2dceb | 21:06 | |
21:07
telex joined
|
|||
moritz | m: say uniname(' ') | 21:07 | |
camelia | rakudo-moar 0d47a4: OUTPUT«OGHAM SPACE MARK» | ||
Ven | .u space jam | ||
yoleaux | No characters found | ||
Ven | :( | ||
timotimo | .u space balls | ||
yoleaux | No characters found | ||
21:08
raiph left
|
|||
FROGGS | Ven: okay, that means I must study more... or get my hands on an osx box | 21:08 | |
Ven | FROGGS: do you need me to run a piece of code? | ||
moritz | m: say so ' ' ~~ /\s/ | ||
camelia | rakudo-moar 0d47a4: OUTPUT«True» | ||
21:09
n0tjack left
|
|||
FROGGS | Ven: no, I'd need to experiment a bit to know what's going on | 21:09 | |
Ven | FROGGS: ok :). well, if you need me to, just ask | ||
but for now, sleep & | |||
lizmat | FROGGS: I can't give you access to an OS X box right now, but will be able to do so when we get home again | 21:10 | |
by Thursday or so | |||
FROGGS | lizmat: that'd be awesome | ||
Ven: gnight and thanks :o) | |||
timotimo: I'll play with your patch in a bit | |||
I currently try to understand why cu_load does not build at all | |||
21:11
Ven left
|
|||
timotimo | cool, FROGGS | 21:12 | |
dalek | kudo/nom: 1bd7278 | lizmat++ | src/core/IO/Path.pm: Fix faulty prototype |
||
21:12
telex left
21:13
telex joined
21:14
laben joined
|
|||
laben | ohai #perl6 | 21:14 | |
FROGGS | hi laben | ||
laben | just a quick heads up before i go to bed, i'm smashed these weeks due to work | 21:15 | |
moritz | Internal error: invalid thread ID 1086710784 in GC work pass | ||
while running htmlify | |||
FROGGS | ewww | ||
laben | for those interested in JSON::RPC, i pushed an easy fix at github.com/bbkr/jsonrpc/pull/16 | ||
21:18
telex left,
abaugher left,
abaugher joined
|
|||
timotimo | laben: don't worry about putting dayjob higher on the priority list; we don't want to get notifications like "laben aborted work: hunting vermin for food" ;) | 21:19 | |
21:19
telex joined,
telex left
|
|||
lizmat | m: sub a { .Int with $^a }; a(Str).perl.say # somehow I expect this to say Str instead of () | 21:19 | |
camelia | rakudo-moar 0d47a4: OUTPUT«()» | ||
21:20
telex joined
|
|||
vendethiel | m: say Str.Int.perl | 21:21 | |
camelia | rakudo-moar 0d47a4: OUTPUT«Invocant requires an instance of type Str, but a type object was passed. Did you forget a .new? in block <unit> at /tmp/yFKn3e0pMl:1» | ||
21:21
kjs__ left
|
|||
laben | timotimo: XD that was good! no, really, $dayjob problem is that my boss(es) asked me to switch to another project which uses Node.js and i had (or still have?) to instruct myself in JS which is not the happies moment of my life | 21:21 | |
timotimo | ah | ||
FROGGS | vendethiel: you are supposed to sleep young man! | 21:22 | |
vendethiel | lizmat: the "with" is not traversed, that's correct, right? I don't think it should return its operand in the other case | ||
timotimo | "hunting vermin for food" is from Dwarf Fortress | ||
vendethiel | FROGGS: but mooom :( | ||
timotimo | at least i think i saw it there | ||
FROGGS | vendethiel: No! | ||
vendethiel mumbles things about life being unfair | |||
timotimo | 40.media.tumblr.com/tumblr_lzsh37T...o2_500.jpg | 21:23 | |
lizmat | vendethiel: I was thinking about this: | ||
vendethiel | timotimo: best excuse not to put on the table. "there are zombies in the house" | ||
lizmat | .lines(:close, |c) with self.open(|c) | ||
if the open fails, I would like to see it returned | |||
vendethiel | lizmat: wouldn't .given be more useful there? | ||
lizmat | .given ??? | 21:24 | |
vendethiel | uhm. I mean given{} :P | ||
well, I guess you could invent a .given... | |||
lizmat | given self.open(|c) { .... and then ? | 21:25 | |
laben | mmh, i'm happy to see the great majority of Star modules work OOTB. are there any last broken ones? | ||
21:26
telex left,
telex joined
|
|||
vendethiel | lizmat: you can "cling onto" the result with it (and just end the block with $_ I guess). But I was actually thinking of some closing mechanism (python-like "with"), so disregard my comment | 21:27 | |
lizmat | I think .method with $a returning the value of $a if not defined, would be a useful idiom | 21:28 | |
vendethiel | lizmat: seems a bit like andthen, in some way, maybe? | 21:29 | |
m: say Str andthen .Int | |||
camelia | rakudo-moar 655a45: OUTPUT«(Str)» | ||
vendethiel | m: say "3" andthen .Int | ||
camelia | rakudo-moar 655a45: OUTPUT«3» | ||
laben | \o/ seems like every Task::Star module is working now post-glr! | 21:30 | |
lizmat | vendethiel++ | 21:31 | |
FROGGS | nice, cu_load builds again | ||
timotimo | good! | ||
21:32
telex left
|
|||
vendethiel goes to sleep for real | 21:32 | ||
FROGGS | well, almost | ||
lizmat | m: sub a { $^a andthen .Int }; a(Str).perl.say; a(42).perl.say # still not quite what I want :-( | ||
camelia | rakudo-moar 655a45: OUTPUT«()42» | ||
laben | FROGGS++ you did it! you merged c++ native call support | ||
21:32
telex joined
|
|||
vendethiel wats | 21:32 | ||
FROGGS | laben: I did :o) | ||
vendethiel | m: sub a { say $^a.perl; $^a }; a(Str).perl.say | 21:33 | |
camelia | rakudo-moar 655a45: OUTPUT«StrStr» | ||
laben | FROGGS: do you have any planned feature for it? | ||
vendethiel | m: sub a { say $^a.perl; $^a andthen 1 }; a(Str).perl.say | ||
camelia | rakudo-moar 655a45: OUTPUT«Str()» | ||
lizmat | bug? | ||
vendethiel | m: sub a { say $^a.perl; say $^a andthen 1 }; a(Str).perl | ||
camelia | rakudo-moar 655a45: OUTPUT«Str(Str)» | ||
FROGGS | laben: you mean if I'm going to use it for something? | ||
laben | i personally would like to know if it is possible to somehow map c++ overloading to perl6 MMD | ||
vendethiel | lizmat: ...looks like a part of it isn't returned? idk | ||
m: sub a { say $^a.perl; return $^a andthen 1 }; a(Str).perl.say | |||
camelia | rakudo-moar 655a45: OUTPUT«StrStr» | ||
vendethiel | lizmat: ^ | ||
seems like a bug | |||
21:34
tokuhiro_ joined
|
|||
lizmat | m: sub a { return $^a andthen .Int }; a(Str).perl.say; a(42).perl.say | 21:34 | |
camelia | rakudo-moar 655a45: OUTPUT«Str42» | ||
lizmat | aha... | ||
bug indeed | |||
FROGGS | laben: ohh, that's not that high on my todo list actually... I'm about binding Box2D, and well see what I need | ||
vendethiel | lizmat++ # golfing | ||
laben | FROGGS: nice work there :) i was asking because it would make using many large-sized c++ libs (like Qt) much easier | 21:35 | |
FROGGS | we'll see what we can do :o) | 21:36 | |
laben | otherwise i fear we need to singlehandedly map every possible call to c-tile funcs | ||
21:36
n0tjack joined
|
|||
laben | s/c-tile/c-style/ | 21:36 | |
timotimo | laben: i suggest using something metadata-driven to bind Qt rather than manually going at it | 21:37 | |
FROGGS | my highest priority is to get the name mangling on osx right, which just seems to be a matter of a underscore | 21:38 | |
21:38
telex left
|
|||
laben | yeah, that's probably a better approach given its size | 21:38 | |
timotimo | i forgot what it's called, but there's something like a DB that you can query via regular C function calls that should give you everything you need to build a binding | ||
21:38
tokuhiro_ left,
telex joined
|
|||
lizmat | commute to room& | 21:40 | |
21:40
lizmat left
|
|||
laben | ooh so much stuff could be done, so little time to do it :/ | 21:41 | |
21:41
n0tjack left
21:44
telex left
|
|||
laben | oh well, time to go to bed for real. have a good time, perl6'ers ! | 21:44 | |
21:44
telex joined,
laben left
|
|||
skids | So, what's still special about prefix:<|> inside function call arguments? (wondering about new S07 line 159) | 21:45 | |
Ulti | twitter.com/rakudoperl <--- looks mega out of date and unused... | ||
21:46
lizmat joined
|
|||
lizmat submitted a bug report about andthen behaviour: #126050 | 21:46 | ||
21:47
cognominal left
|
|||
patrickz | timotimo,laben: wiki.qt.io/PySide_Binding_Generator <- Link to API Extractor (the tool PySide uses for automated Binding generation) | 21:48 | |
masak | patrickz++ | 21:50 | |
21:50
telex left,
telex joined
|
|||
patrickz | gmake crashes here on Windows when building dyncall (during MoarVM compilation). Is that a known problem? | 21:53 | |
FROGGS | patrickz: it does not crash on my box, but there is an open pull request with a fix | ||
21:55
telex left,
n0tjack joined
|
|||
dalek | kudo/cu_load: 0d47a43 | FROGGS++ | src/core/Any-iterable-methods.pm: fire LAST phaser also when next-ing every loop |
21:56 | |
kudo/cu_load: 655a455 | FROGGS++ | src/core/Any-iterable-methods.pm: fire LAST phaser also when next-ing every loop Now properly. The patch before this one only fixed one of three spots. |
|||
kudo/cu_load: 1bd7278 | lizmat++ | src/core/IO/Path.pm: Fix faulty prototype |
|||
kudo/cu_load: 48d00b8 | FROGGS++ | src/core/ (2 files): Merge branch 'nom' of github.com:rakudo/rakudo into cu_load |
|||
kudo/cu_load: c0e290d | FROGGS++ | src/core/CompUnitRepo.pm: unbreak build and fix loading modules |
|||
21:56
telex joined
|
|||
FROGGS | sadly, the jvm does not like cu_load... | 22:01 | |
22:01
n0tjack left
|
|||
lizmat | FROGGS++ | 22:01 | |
lizmat meanwhile gets some sleep& | |||
FROGGS | that's still a showstopper | ||
gnight lizmat | |||
22:01
telex left
22:02
telex joined
|
|||
FROGGS | timotimo: I'm spectesting this now: gist.github.com/FROGGS/d27a6db2039e08364828 | 22:04 | |
timotimo: looks good so far | |||
22:05
necrophcodr joined
|
|||
necrophcodr | after searching a few around duckduckgo and google, only to find no real answers, i have come here. is there any way to easily compile perl6 or nqp to mast, using the moarvm backend with rakudo? | 22:05 | |
FROGGS | necrophcodr: yes | 22:06 | |
necrophcodr | FROGGS: how? | ||
FROGGS | perl6 --target=mbc --output=Foo.pm.moarvm Foo.pm | ||
necrophcodr | ah, the target is mbc | ||
FROGGS | yeah | ||
necrophcodr | i first caught on that it would be "post", then later "mast". neither of which of course worked. thank you so much! | 22:07 | |
FROGGS | you're welcome :o) | ||
22:07
necrophcodr left,
telex left
22:08
telex joined,
patrickz left
22:09
dalek left,
dalek joined,
ChanServ sets mode: +v dalek,
n0tjack joined
22:10
mohij joined
|
|||
FROGGS | .tell timotimo gist.github.com/FROGGS/d27a6db2039e08364828 is spectest clean... so if it improves your profile then please commit it | 22:10 | |
yoleaux | FROGGS: I'll pass your message to timotimo. | ||
FROGGS | gnight #perl6 | ||
timotimo | o/ | 22:11 | |
yoleaux | 22:10Z <FROGGS> timotimo: gist.github.com/FROGGS/d27a6db2039e08364828 is spectest clean... so if it improves your profile then please commit it | ||
22:11
FROGGS left
22:13
mohij left,
telex left
22:14
patrickz joined,
telex joined,
n0tjack left
22:19
telex left
22:20
telex joined,
cognominal joined,
telex left,
TEttinger joined
|
|||
timotimo | oh | 22:22 | |
well, find_method is back | |||
24% of total time spent in find_method | |||
22:22
telex joined
|
|||
timotimo | 2250000 entries in total for 30000 iterations | 22:22 | |
22:23
vendethiel left
22:28
telex left,
telex joined
22:30
nowan_ joined,
pmurias__ joined
22:32
rurban left
22:33
telex left
22:34
notostraca joined,
telex joined,
TEttinger left,
dalek left,
tping left,
khw left,
pmurias_ left,
nowan left,
kurahaupo_ left,
inokenty left,
salv0 left,
[Tux] left
22:36
Peter_R left,
rurban joined
22:38
rurban left
|
|||
timotimo | in the native version of that benchmark the "advance" function - The Big One - doesn't get jitted because param_rp_o isn't implemented in the jit | 22:39 | |
22:39
telex left
22:40
pmurias__ left,
pmurias left,
telex joined
|
|||
timotimo | oh | 22:40 | |
no, it's not The Big One; the loop inside it is. | |||
skids | m: my @a = 1,2,3,4; @a[0,(1,2),3].perl.say; # Hehe, too funny, it looks like I'm the accidental "author" of this feature. | 22:41 | |
camelia | rakudo-moar 1bd727: OUTPUT«(1, (2, 3), 4)» | ||
skids | Question is, do we want to keep it. It does nicely eliminate the inside of [] as a magic flattening area. | ||
22:42
n0tjack joined,
rindolf left
|
|||
ShimmerFairy | skids: I think it has a lot of potential for quite nicely pulling values out into another, non-flat structure. :) | 22:43 | |
timotimo | it's a tiny bit like hyper in that regard, eh? | 22:44 | |
masak | 'night, #perl6 | ||
timotimo | gnite masak! | 22:45 | |
22:45
telex left
22:46
telex joined
22:47
n0tjack left
|
|||
skids | It's kind of scary that the code even worked without the .flat, and not that I'm on top of everything, but didn't seem to be the source of breakage in the ecosystem. | 22:47 | |
skids wonders how it will play with multidim. | 22:48 | ||
timotimo | needs a ; to do anything with multidim, for a start | 22:49 | |
a fly in my bedroom >:( | |||
loud thing | |||
22:51
telex left
|
|||
patrickz | Just put my first hit at bringing Windows support back to rakudobrew here: github.com/patzim/rakudobrew | 22:52 | |
22:52
telex joined
|
|||
timotimo | you typo'd "Windws" in the README :) | 22:52 | |
22:52
kurahaupo_ joined
|
|||
skids | m: my @a = [1,2,3,4; 5,6,7,8]; @a[0,1; 0,(1,2),3].perl.say; # different code path | 22:53 | |
camelia | rakudo-moar 1bd727: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8)» | ||
timotimo | "%~dp0rakudobrew" this looks strange to my non-powershell-understanding eyes | ||
patrickz | If anyone wants to give it a try, please do! I can't fully test myself (build ist currently broken for me on Windows due to some other bug). | 22:54 | |
@timotimo: Typo is fixed. | |||
That strange line actually *is* tested and works. | 22:55 | ||
%~dp0 is the path (without filename) of the current script (%0 + ~dp modifiers) | |||
The / is already appended so it looks rather strange by sitting directly next to the "rakudobrew", but it works. | 22:56 | ||
timotimo | mhm | ||
patrickz | timotimo++ # Very fast feedback | ||
timotimo | i can't feed back on the rest of the repo, because i don't know any perl5 and i don't have windows :| | 22:57 | |
22:57
telex left
22:58
telex joined
|
|||
patrickz | Thanks anyways, less typos nonetheless :-) | 22:58 | |
off to bed& | |||
23:00
patrickz left
|
|||
leont was happier when he forgot about %~dp0 | 23:00 | ||
ugexe | why use a hardcoded `perl` instead of the value of $0? github.com/patzim/rakudobrew/commi...281c7bR518 | 23:01 | |
oh missed him | |||
also $^X, not $0 :x | 23:02 | ||
pink_mist | isn't those perl5 things anyway? | ||
or are they still present in 6? | 23:03 | ||
*aren't | |||
23:03
telex left
|
|||
ugexe | rakudobrew is perl5 | 23:03 | |
23:04
telex joined
|
|||
pink_mist | oh | 23:04 | |
leont | Possibly, it could use pl2bat instead of writing a batch script by hand | 23:08 | |
23:09
yqt left,
telex left
|
|||
ugexe | i keep waiting for someone to do Alien::Rakudo::[Moar|JVM] so i wont end up doing it. install rakudo via cpan | 23:09 | |
23:10
telex joined
|
|||
leont | mst: wrote it at some point, but removed it from CPAN later | 23:10 | |
metacpan.org/release/MSTROUT/Rakud...2012.08002 | 23:11 | ||
Apparently the machinery wasn't as complicated as one may imagine: metacpan.org/source/MSTROUT/Rakudo...akefile.PL | 23:12 | ||
23:15
n0tjack joined,
telex left
23:16
telex joined
|
|||
timotimo | jnthn: from the spesh log of the native variant of that benchmark i can tell we're not inlining many very simple subs like &infix:<+>, &infix:<->, &infix:</> and &infix:<*> | 23:17 | |
ugexe | nice. missing an important (to me anyway) part though... downloading rakudo and friends itself instead of being packaged into the module | ||
timotimo | jnthn: could this be due to something along the way not understanding regref? | 23:18 | |
leont | That should not be that hard | ||
timotimo | jnthn: not even postfix ++ is inlined :( | 23:19 | |
leont | HTTP::Tiny ships with perl5 nowadays (5.14+ I think), and untarring has been supported even longer | ||
23:19
khw joined,
salv0 joined,
inokenty joined,
n0tjack left
|
|||
ugexe | right. i imagine if i did it i'd probably just use Alien because it handles all that. and having it on cpan you might as well not worry too much about staying strictly core | 23:20 | |
23:21
lizmat left,
telex left
23:22
telex joined
|
|||
leont | Sounds reasonable | 23:22 | |
23:22
telex left
|
|||
leont | I haven't really used the Alian::Build infrastructure myself, but it seems to be working for people | 23:22 | |
23:23
Skarsnik left
|
|||
ugexe | im not sure if you can download from github without SSL either | 23:23 | |
re: HTTP::Tiny | 23:24 | ||
23:24
dalek joined,
[Tux] joined,
telex joined,
ChanServ sets mode: +v dalek
23:26
Peter_R joined
|
|||
leont | Hmmm | 23:26 | |
File::Fetch is your friend in that case, I suspect | |||
ugexe | well i mean you likely need a dependency no matter what... Net::SSLeay or whatever | 23:28 | |
timotimo | yeah, you better be verifying the certificate when you're downloading some code | 23:29 | |
23:30
telex left,
telex joined
|
|||
ugexe | just use the ol [+] $source-file.ords checksum | 23:31 | |
and they say crypto is hard | |||
timotimo | urgh | ||
leont | F::F can use wget or curl, though its documentation is silent on its SSL support | 23:32 | |
ugexe | no joke, when we were kids me and tony-o wrote a checksum program that did exactly that haha. there were even a couple of (clearly) fake reviews about it, all good | 23:34 | |
23:35
tokuhiro_ joined
23:36
telex left,
telex joined
23:40
tokuhiro_ left
|
|||
grondilu | totally off topic guys, but the other day I watched the documentary about the new Homo species found in South Africa. It was awesome: video.pbs.org/video/2365559270/ | 23:41 | |
23:41
telex left
23:42
telex joined
23:45
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
zostay | m: $_ = "x"; say "no" if ! /../ | 23:47 | |
camelia | rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/oQhr3XPSuU:1» | ||
23:47
telex left,
cognominal left
|
|||
zostay | what's the equivalent for !/.../ from perl? | 23:47 | |
timotimo | m: $_ = "x"; say "no" unless /../ | ||
camelia | rakudo-moar 1bd727: OUTPUT«no» | ||
timotimo | m: $_ = "x"; say "no" if none(/../) | 23:48 | |
camelia | rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Regex' in block <unit> at /tmp/yWOemtwqne:1» | ||
timotimo | m: $_ = "x"; say "no" if m/../ | ||
camelia | ( no output ) | ||
timotimo | m: $_ = "x"; say "no" if !m/../ | ||
camelia | rakudo-moar 1bd727: OUTPUT«no» | ||
timotimo | m: say !/../ | ||
camelia | rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/PQx8fxZ61R:1» | ||
timotimo | m: $_ = "hi"; say !/../ | ||
camelia | rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/_NSMwySoD9:1» | ||
23:48
telex joined,
n0tjack joined
|
|||
timotimo | a bit curious | 23:48 | |
zostay | that error message seems odd at least | ||
timotimo is past bedtime again | |||
gnite! | |||
zostay | later | ||
japhb | o/ | ||
yoleaux | 18:45Z <FROGGS> japhb: done | ||
japhb | .tell FROGGS \o/ | 23:49 | |
yoleaux | japhb: I'll pass your message to FROGGS. | ||
23:52
dayangkun joined
23:53
telex left,
n0tjack left
23:54
telex joined
23:59
telex left,
laouji joined
|