| Geth | ast: 685da70fb9 | (Elizabeth Mattijsen)++ | S32-exceptions/misc.t Unfudge now passing test |
00:02 | |
| lizmat | good night, #perl6-dev! | 00:03 | |
| notviki | night | 00:24 | |
| japhb | If I've got an array of generic objects, and I want to remove a *particular object* from it, which I provide, how do I do that idiomatically? I thought `@array .= grep(* !=:= $o);` would work, but because =:= doesn't decont, this fails. So now I'm doing `use nqp; @array .= grep: { nqp::decont($_) !=:= nqp::decont($o) };` but ... eww. | 01:32 | |
| And I don't know if this is a bug in =:= or if the lack of decont is intentional; | |||
| and if the latter, what it is *supposed* to be. | |||
| Er, I mean, what the "object identity ignoring container" op is *supposed* to be. | 01:33 | ||
| timotimo | if you have already the right object, you could compare the .WHERE maybe? | ||
| what does === do? | |||
| m: say 1 === 1 | 01:34 | ||
| camelia | rakudo-moar fbbe44: OUTPUT«True» | ||
| timotimo | m: my $a = Any.new; my $b = Any.new; my $c = $a; say $a === $b; say $a === $b | ||
| camelia | rakudo-moar fbbe44: OUTPUT«FalseFalse» | ||
| timotimo | hm, no. | ||
| japhb | Didn't you mean '$c' at the end there? | 01:35 | |
| m: my $a = Any.new; my $b = Any.new; my $c = $a; say $a === $b; say $a === $c | 01:37 | ||
| camelia | rakudo-moar fbbe44: OUTPUT«FalseTrue» | ||
| timotimo | oh | ||
| yes, i did | |||
| japhb | Problem is, === does a lot more. If you grep for infix:<===> there's a fair number of matches. | 01:38 | |
| timotimo | i tried to search for it on github, but it found all infix ops instead | ||
| you can definitely decont manually with postfix:≪<>≫ | |||
| japhb | timotimo: Wait, what? I'm not aware of this one | 01:39 | |
| timotimo | that'd probably make =:= work? | 01:40 | |
| but yeah, that works | |||
| japhb | I can't find that op. Where is it? | 01:41 | |
| timotimo | dunno | ||
| could be in the grammar itself | |||
| apparently it actually calls postcircumfix:<{ }> | 01:42 | ||
| like, without an argument | 01:43 | ||
| japhb | m: my $a = Any.new; dd $a; dd $a<>; | ||
| camelia | rakudo-moar fbbe44: OUTPUT«Any $a = Any.newAny.new» | ||
| japhb | Woah. | ||
| m: my $a = 1e0; dd $a; dd $a<>; | 01:44 | ||
| camelia | rakudo-moar fbbe44: OUTPUT«Num $a = 1e01e0» | ||
| japhb | I'll be darned. | ||
| timotimo | :) | 02:20 | |
| japhb | .ask nine Which phasers are expected to happen *during* precompilation, which ones are expected to happen at need time, and which ones during import time? | 04:11 | |
| yoleaux2 | japhb: I'll pass your message to nine. | ||
| notviki | fwiw, nine is off until 15th | 04:30 | |
| MasterDukeLaptop | i'm trying to note() $name here: github.com/perl6/nqp/blob/master/s...W.nqp#L641 | 04:58 | |
| but no matter what kind of !isnull, definite, etc i put, the NQP compile always dies with "Cannot invoke this object (REPR: Null; VMNull)" | 04:59 | ||
| even if i put it after the "if nqp::existskey(%meths, $name) {" | |||
| timotimo | you're using the sub note? can you try nqp::sayfh(nqp::getstderr(), ...) instead to make sure it's not running into trouble from that? | 05:00 | |
| i expect you'd get the same error message if you "noot($name)" instead of "note($name)" | |||
| MasterDukeLaptop | timotimo++ | 05:02 | |
| timotimo | it's doing the "undefined names give you NQPMu" thing again, i expect ;( | ||
| MasterDukeLaptop | that works. i thought note did just that though? | ||
| or are you saying note() isn't available there/then? | 05:04 | ||
| timotimo | yeah, i expect that's the case | 05:05 | |
| MasterDukeLaptop | good to know | 05:06 | |
| i was looking at a profile of notviki's code that just defines some custom operators | 05:30 | ||
| and a significant part of the time is spend in find_method | |||
| so i wanted to see what $obj/$name combos were being searched for | 05:31 | ||
| turns out, that if all you do is define 10 new custom operators, fine_method is called 162k times | 05:32 | ||
| *find_method | |||
| with these $obj types and $name's the most frequent by far: 15980 BOOTStr: kok 17426 BOOTStr: end_keyword | 05:34 | ||
| timotimo would like to see a few more results from that list | 05:35 | ||
| MasterDukeLaptop | i'll gist it | ||
| gist.github.com/MasterDuke17/50bf3...ff0095391e | 05:37 | ||
| timotimo | it might be interesting to also output the type of self | 05:38 | |
| MasterDukeLaptop | added, rebuilding rakudo now | 05:40 | |
| every single one was NQPClassHOW | 05:46 | ||
| timotimo | oh, of course | ||
| MasterDukeLaptop | for "self.HOW.name(self)" | ||
| timotimo | i meant to say self.name($obj) | 05:47 | |
| MasterDukeLaptop | ah, very different results (for the NQP build so far) | 05:48 | |
| timotimo | the self is the HOW of course. that's not interesting in this case | 05:49 | |
| we want the actual object the method is looked for upon | |||
| MasterDukeLaptop | gist updated | 05:52 | |
| timotimo | that's really amusing to look at | 05:53 | |
| MasterDukeLaptop | it's looks kind of like a fractal | 05:54 | |
| samcv | morning/night #perl6-dev | 07:06 | |
| .tell yoleaux2 good morning/night | 07:07 | ||
| yoleaux2 | samcv: Thanks for the message. | ||
| [Tux] | This is Rakudo version 2016.12-253-gfbbe446c6 built on MoarVM version 2016.12-71-g331a6b43 | 07:54 | |
| csv-ip5xs 3.056 | |||
| test 13.544 | |||
| test-t 5.401 | |||
| csv-parser 13.819 | |||
| lizmat | Files=1164, Tests=56522, 196 wallclock secs (11.19 usr 4.68 sys + 1165.78 cusr 132.63 csys = 1314.28 CPU) | 09:30 | |
| m: dd &infix:<+>.prec # so where does this method .prec live ? | 10:40 | ||
| camelia | rakudo-moar fbbe44: OUTPUT«{:assoc("left"), :prec("t=")}» | ||
| lizmat | ah, found it :-) | 10:41 | |
| Geth | kudo/nom: caba0d346a | (Elizabeth Mattijsen)++ | 2 files Streamline .prec on operators a bit - make sure that all Routines have a .prec so we don't need to check if they can .prec - add fast direct lookup interface: say &infix:<+>.prec("assoc") # left |
11:48 | |
| lizmat | jnthn: question: all of the METAOP_REDUCE_xxx subs take a \triangle parameter, but none of them seem to use it ? | 12:48 | |
| Geth | kudo/nom: 870b11b759 | (Elizabeth Mattijsen)++ | 3 files Introducing Rakudo::Metaops - separate class for providing callables for meta operators - intended to replace all METAxxx subs from metaops.pm in the long run - initially only provides for optimised &[+] and &[~] - initially only supports left assoc generic ops |
12:57 | |
| lizmat | please run config.pl after pulling this commit | ||
| Geth | kudo/nom: 62f7027cbd | (Elizabeth Mattijsen)++ | src/core/List.pm Make zip(:with) use R:I.ZipIterablesMapIterator - makes zip(@a,@b,:with(&[+|~]) about 12x faster - makes zip(@a,@b,:with(&op)) about 7x faster Sadly, this does not affect Zop yet, as that codegens directly to a METAOP_ZIP call currently. |
13:01 | |
| notviki | s: &infix:<+>, 'prec', \() | 13:07 | |
| SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/caba...ts.pm#L150 | ||
| jnthn | m: say [\+] 1..10 | 13:10 | |
| camelia | rakudo-moar caba0d: OUTPUT«(1 3 6 10 15 21 28 36 45 55)» | ||
| jnthn | lizmat: Triangle meta-ops are this case, fwiw | ||
| lizmat | jnthn: yeah, I get that, it's just that I don't see the triangle parameter being used in those subs? | 13:14 | |
| I see the string "triangle" only in the signatures, not in the code ? | 13:15 | ||
| jnthn | oh | 13:18 | |
| they're multis | |||
| And we distinguish by receiving the extra arg | 13:19 | ||
| lizmat | aaaaahhhhh | ||
| jnthn | So the name is purely documentation for what the paramter is for | ||
| lizmat | duh | ||
| jnthn | :) | ||
| Yes, took me a moment to spot it too | |||
| notviki | m: say 381248380984 | 13:28 | |
| m: say 381248-380984 | |||
| camelia | rakudo-moar 62f702: OUTPUT«381248380984» | ||
| rakudo-moar 62f702: OUTPUT«264» | |||
| notviki | seems like Geth is leaking on each commit announcement. Though it's weird. It grows, then stays stable for a few announcements, then grows again :/ | 13:32 | |
| lizmat | how much does it grow then ? | ||
| notviki | on one growage it grew by 264KB | 13:33 | |
| buggable: speed | |||
| buggable | notviki, ██▇▇▇█▄▆▅▃▄▄▂▃▃▄▂▁▁▂▃▂▂▅▂▂▄▂▃▂▂▁▆▄▂▂▃▂▂▂▃▃▃▃▃▃▄▂▃▅ data for 2016-12-19–2017-01-09; range: 5.137s–6.242s | ||
| notviki | m: say 563728-563556 | 13:34 | |
| camelia | rakudo-moar 62f702: OUTPUT«172» | ||
| notviki | All bots are leaking I think ^ making bugggable print that message grew it by 172KB | ||
| And I just restarted it: uses now 264628KB, but before restart was at 564728KB | 13:37 | ||
| jnthn | notviki: The various MoarVM PRs I filed on Friday may help matters | 13:39 | |
| notviki | \o/ | ||
| Geth | kudo/nom: d7d76b7dcf | (Elizabeth Mattijsen)++ | 2 files Make Routine.prec(key) return '' rather than Nil on fail Makes it easier to handle in comparisons and such. |
13:43 | |
| kudo/nom: a7ccfc6f80 | (Elizabeth Mattijsen)++ | 2 files Move .prec from Routine to Code Turns out Blocks and WhateverCode also need to have a .prec to allow for easy checking of precedence of operators in metaops. |
|||
| kudo/nom: 3fb04c34e5 | (Elizabeth Mattijsen)++ | src/core/List.pm Simplify/speedup find-reducer-for-op 5c685f2fa7 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Metaops.pm Add support for generic listinfix ops - e.g. makes zip(@a,@a,:with(&[minmax]) about 2x as fast |
|||
| notviki | :o | ||
| lizmat | - uses the new .prec(key) interface | ||
| - should be better optimizable because compile-time values | |||
| review: github.com/rakudo/rakudo/commit/3fb04c34e5 | |||
| notviki | Oh, I guess *now* I get why dalek was cutoff :P | 13:44 | |
| jnthn | I see Geth is a very direct dalek replacement ;) | ||
| notviki | I need to manually throttle it | ||
| lol | |||
| lizmat | notviki: perhaps add a little pause between commits ? | ||
| lizmat admits pushing 3 commits at the same time on purpose | |||
| notviki | Yeah, should be easy to fix thanks to filters in IRC::Client | 13:45 | |
| kudo/nom: 731d587495 | (Elizabeth Mattijsen)++ | src/core/precedence.pm Remove unused/unreference precedence group |
14:33 | ||
| lizmat | afk until laters& | ||
| notviki | k | 14:41 | |
| lizmat: Geth is now ready to take commits of any size and number :) Commit away! | |||
| arnsholt | notviki: Rate-limiting on commit-level or line-level? | 14:45 | |
| notviki | .tell lizmat some Perl6Weekly material: AlexDaniel reviewed in-channel camelia evals over the past year (thousands of them) and found lots of bugs. Also Rust devs seem to be impressed with our bisectable bot: internals.rust-lang.org/t/rust-ci-...ges/4489/9 | ||
| yoleaux2 | notviki: I'll pass your message to lizmat. | ||
| notviki | arnsholt: line | ||
| arnsholt | Spiffy! | ||
| Cause I'm pretty sure I've seen dalek sunk because of really long single commit messages | 14:46 | ||
| (Some of them may even have been my fault =D) | |||
| [Coke] | what's the preferred windows toolchain for rakudo? MSVC still? | 16:40 | |
| timotimo | strawberry perl also works, doesn't it? | 16:42 | |
| [Coke] | hm, thought we used to have a file that described windows builds in rakudo | 16:50 | |
| Geth | kudo/nom: af4bb645f4 | (Will Coleda)++ | INSTALL.txt Sadly, this hasn't been updated in a while. |
16:54 | |
| pyrimidine | I'm seeing an error with dynamic loading of modules (e.g. plugins) that appears related to lexical scoping changes: travis-ci.org/cjfields/bioperl6#L2199 | 17:44 | |
| I'll see if I can golf that down to something smaller | 17:45 | ||
| reason I think it's related to lexical scoping: if I explicitly add the 'use Bio::SeqIO::fasta' (the plugin) with the tests they pass | 17:46 | ||
| This probably affects Pluggable (github.com/tony-o/perl6-pluggable) too, though there is one other outstanding bug with that module which hasn't been addressed (use of @*INC) | 17:48 | ||
| [Coke] | maybe commits to 6.c-errata should include a link to perl6-dev discussion. | 17:55 | |
| jnthn: anyone review your PRs? I read through them, but am pretty sure I wouldn't be able to tell you what you did wrong, if anything. :) | 18:12 | ||
| jnthn | [Coke]: Well, timotimo++ left a comment, that I'll address... Otherwise, no :) | 18:14 | |
| But I do wonder how many people are reading them but saying nothing :) | |||
| [Coke] | I mean, I feel like they're over my paygrade. :) | ||
| I'll go over them again, maybe I'll learn something, anyway. | 18:15 | ||
| timotimo | we could run coverity over the code pre- and post-merge :) | 18:16 | |
| jnthn | Learning is one of my aims in this experiment. | ||
| JimmyZ | I took a look , didn't find anything not good | 18:23 | |
| arnsholt | jnthn: I used to try to have a look at interesting-sounding commits and branches you did back when I was a more regular contributor | 18:24 | |
| JimmyZ | well, I take looks at any commits to moarvm | ||
| arnsholt | Not so much to find mistakes as to try to glean some additional internals knowledge, mind | 18:25 | |
| TimToady tends to prioritize staying on top of things culturally over technically... | 18:27 | ||
| TimToady therefore tends to prioritize backlogging over code review... | 18:37 | ||
| jnthn | :) | ||
| I'll likely merge them tomorrow (today my time was nommed on $other-project) | 18:39 | ||
| [Coke] | jnthn: I'll test out my weird doc issue again post-merge. | 18:59 | |
| jnthn++ | |||
| Geth | kudo/nom: 46cdf16f12 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Metaops.pm Make zip(@a,@a,:with(&[=>])) about 5x faster By special casing the &[=>] op. Sadly, this doesn't translate to similar efficiency improvements for Z=> just yet, as that still codegens to the old METAOP_ZIP code. |
19:15 | |
| timotimo | hum, first line not bold? review link not bold? is my terminal b0rked here? | 19:25 | |
| no, it was fine in the other channel | |||
| weird. | |||
| geekosaur | no bolding in here for some reason | 19:31 | |
| or in #moarvm | 19:32 | ||
| maybe the channel mode? | |||
| right, this channel is +c and strips them | |||
| timotimo | oh, +c | 19:49 | |
| i didn't notice | |||
| Geth | kudo/nom: 6703b4c550 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Metaops.pm Add support for generic right associative zip ops Makes them at least 2x faster, but just for zip(@a,@a,:with(...)) for now |
19:59 | |
| diakopter | at this rate, the whole standard library will be in nqp:: ops this year... :D (not that I'm complaining) | 20:01 | |
| lizmat | diakopter: I'll be gladly rewriting them to real Perl 6 code again when that makes them faster yet again :-) | 20:06 | |
| yoleaux2 | 14:45Z <notviki> lizmat: some Perl6Weekly material: AlexDaniel reviewed in-channel camelia evals over the past year (thousands of them) and found lots of bugs. Also Rust devs seem to be impressed with our bisectable bot: internals.rust-lang.org/t/rust-ci-...ges/4489/9 | ||
| TimToady | diakopter: all you have to do is write an optimizer that is better than lizmat :) | 20:07 | |
| lizmat | notviki: do we have a URL with an overview of bots on the #perl6 channels ? | ||
| diakopter | TimToady: or you could design a language in which someone could write such an optimizer XD | 20:08 | |
| TimToady | sure, but then who'd use it? | ||
| lizmat | I might :-) | 20:09 | |
| notviki | lizmat: the only one I know of is: github.com/perl6/doc/issues/711#is...-235414744 | 20:10 | |
| AlexDaniel | lizmat: github.com/perl6/doc/issues/711#is...-235414744 is what we have | ||
| notviki | jinks you owe me a coke | ||
| AlexDaniel | notviki: ಠ_ಠ | ||
| lizmat | I guess that will do for now :-) | 20:12 | |
| AlexDaniel | though the comment that was left in the rust thread is not by a rust developer | 20:13 | |
| lizmat | AlexDaniel: but by a Perl 6 developer ?? | 20:18 | |
| AlexDaniel | oh, indeed! | 20:19 | |
| :D | |||
| lizmat | ah, hmmm... :-) | 20:20 | |
| AlexDaniel | camelia was used about 31669 times during the last year | 20:22 | |
| which averages to about 86 times per day | |||
| and that's only “m:” messages on #perl6 | |||
| notviki | Awwww... And here I thought Rust devs paid attention to us :( | 20:25 | |
| AlexDaniel | at least we have bisectable and they don't :P | 20:28 | |
| Geth | ast: 90c58ff0eb | usev6++ | S32-list/grep.t Add test for RT #130529 |
20:30 | |
| lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/01/09/...erbotting/ | 22:06 | |
| jnthn | \o/ | ||
| Wow, so much news! | 22:10 | ||
| lizmat++ | |||
| 'night, #perl6-dev | 22:27 | ||
| [Coke] | (owe me a coke) hey now | 22:28 | |
| lizmat | gnight jnthn | 22:30 | |
| cognominal | lizmat++ |