samcv | [18:59:48] <samcv> why didn't we bump the subversion for nqp and moarvm again... cause 2017.04.3 requires a newer version of moarvm and nqp, and moarvm and nqp only have tags up to 2017.04.3 | 02:01 | |
i'm trying to get gentoo's version bumped and trying to see what happened Zoffix so 2017.04.2 and .1 didn't need any changes to nqp and moarvm? | |||
and then we didn't bump the moarvm and nqp version when 2017.04.3 was released? | 02:02 | ||
lizmat | Files=1192, Tests=58579, 210 wallclock secs (12.67 usr 4.60 sys + 1243.96 cusr 115.61 csys = 1376.84 CPU) | 05:57 | |
lizmat waves from the PTS in Lyon | 07:28 | ||
brrt waves from AMS | 07:30 | ||
lizmat | so I want to add the information contained in nqp/gen/moar/stage1/nqp-config.nqp as part of the perl6 -V output | 08:26 | |
something like: | |||
nqp::version=2017.04-96-g9763728 | 08:27 | ||
so I wonder if I need to require that file, and then run hll_config(my %h) | 08:29 | ||
samcv | lizmat, are you against us making tags for nqp and moarvm that match with 2017.04.3 ? | 08:46 | |
since the newest tag is not new enough for 2017.04.3 | 08:47 | ||
which was not the case for 2017.04.2 which didn't need any change to moar | |||
lizmat | I have nothing against that, but then I'm really the worst person to ask | 08:53 | |
you probably want to check with moritz [Coke] timotimo | |||
ok: different approach | 08:54 | ||
I would like to have "perl6 -V" call something from the setting | |||
my 'nqp' fu is not strong enough | 08:55 | ||
I know I need to do something in nqp/src/HLL/Compiler.nqp | |||
inside "verbose_config" | |||
but I seem to be missing some crucial parts of information there | |||
samcv | trying to add more info there? | 08:57 | |
or have it cause side effects | |||
lizmat | more info: basically nqp / kernel / distro info | 08:59 | |
probably also the $*REPO chain | |||
for CPAN-testers | 09:00 | ||
so we can get all of the applicable information of a Perl 6 module test report to the author of the module in case of faiulure | |||
*failure :-) | 09:01 | ||
samcv | :) | 09:02 | |
all the info I said i wanted ALL the info | |||
jnthn | lizmat: I think there's an nqp::backendconfig op or so that this info can be pulled out of | ||
samcv | i think i've called that before | ||
but that just dumps them right | |||
jnthn | oh | ||
And | |||
nqp --show-config | |||
perl6 --show-config | |||
:) | |||
samcv | she wanted to add info though? | ||
jnthn | Dumps all of them | ||
samcv | or she wanted to *get* that info | 09:03 | |
jnthn | samcv: The op gives back a hash | ||
samcv | that is shown with perl6 -V from inside perl 6 | ||
yeah i know i've used it :) | |||
jnthn | So you can do what you like with it | ||
samcv | sorry i think i was thinking the opposite thing. she wanted to add information that you would see additional info with perl6 -V | ||
jnthn re-reads it all :) | 09:04 | ||
hah, right | |||
m: use nqp; say nqp::hllize(nqp::getcomp('nqp').config) | 09:07 | ||
camelia | Cannot call method 'config' on a null object in block <unit> at <tmp> line 1 |
||
jnthn | m: use NQP; use nqp; say nqp::hllize(nqp::getcomp('nqp').config) | ||
camelia | ===SORRY!=== Could not find NQP at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit::Reposit… |
||
jnthn | m: use NQP:from<nqp>; use nqp; say nqp::hllize(nqp::getcomp('nqp').config) | ||
camelia | ===SORRY!=== Could not find NQP at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit::Reposit… |
||
jnthn | Hmm | ||
m: use nqp; EVAL '1', :lang<nqp>; say nqp::hllize(nqp::getcomp('nqp').config) | 09:08 | ||
camelia | No compiler available for language 'nqp' in block <unit> at <tmp> line 1 |
||
jnthn | m: use nqp; EVAL '1', :lang<NQP>; say nqp::hllize(nqp::getcomp('nqp').config) | 09:09 | |
camelia | No compiler available for language 'NQP' in block <unit> at <tmp> line 1 |
||
jnthn | huh, I thought we wired that up, maybe not | ||
Anyway, if the NQP::Compiler object can somehow be loaded then it's available through .config on that, it seems | |||
nine | [Tux]: any new timings? :) | 09:16 | |
lizmat | jnthn: well we would also like to add $*KERNEL and $*DISTRO info | 09:18 | |
or are you saying that's all in there also ? | 09:19 | ||
if so, why are we using `uname` in various parts of Kernel.pm | |||
jnthn | It calls uname? Hm :) | 09:20 | |
heh | |||
Well, calling that from in Perl6::Compiler should be relatively easy | |||
There's a .eval method available on that object | |||
So can just self.eval('$*KERNEL') or similar | 09:21 | ||
(Sorry, bit tied up to look up exact naming) | |||
lizmat | ok, gotcha | ||
so that would load the setting ? | |||
jnthn | Yeah | 09:22 | |
It happens right at the start of stage parse | |||
lizmat | m: class A { has Int $.a is default(42) }; dd A.new.a # expected to see 42 there, not Int, so feels like "is default" on attrs isn't implemented? | 09:35 | |
camelia | Int | ||
lizmat | m: my Int $a is default(42); say $a | 09:36 | |
camelia | 42 | ||
lizmat | m: class A { has Int $.a is default(42) }; use nqp; dd nqp::getattr(A.CREATE,A,q/$!a/).VAR.default # oddly enough, it appears to be set | 09:45 | |
camelia | 42 | ||
lizmat | class A { has Int $!a is default(42); method a() is raw { $!a } }; dd A.CREATE.a # but this doesn't :-( | 09:46 | |
m: class A { has Int $!a is default(42); method a() is raw { $!a } }; dd A.CREATE.a # but this doesn't :-( | 10:00 | ||
camelia | Int $!a = Int | ||
lizmat | RT #131290 # for those interested | 10:06 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131290 | ||
Zoffix | samcv: right, .1 and .2 didn't need bumps, .3 mistakenly forgot the bumps | ||
samcv | ok. i can tag moarvm and nqp. should i do 2017.04.3 ? that should be easiest for people to follow right | 10:07 | |
Zoffix | samcv: there's no point. It'd require a .4 release of Rakudo and we're not making one | 10:08 | |
samcv | would it? | ||
can't we just tag the repos? | |||
you can tag previous commits | |||
Zoffix | samcv: what would be the point of those tags? | ||
samcv | those are tags that are the release designated by 2017.04.3 | 10:09 | |
Zoffix | samcv: nope | ||
samcv | the tags of where moarvm and nqp are as required by 2017.04.3 that is | 10:10 | |
it's weird that nqp and moarvm have no tags new enough for 2017.04.3 | |||
it's a distinct release marker | 10:11 | ||
Zoffix | samcv: 2017.04.3 doesn't refer to 2017.04.3 tags; which is why you'd need yet another point release to fix it | ||
Zoffix thought the .04 release fiasco business was behind us | |||
samcv | we have 2017.04.3 tag in rakudo yes? | ||
Zoffix | Yes | ||
samcv | but there are no nqp or moarvm tags new enough to meet the requirements | ||
Zoffix | What requirement? | 10:12 | |
samcv | that 2017.04.3 requires | ||
Zoffix | It doesn't require 2017.04.3 | ||
samcv | you can tag any commit you want does't have to be the current commit. tags are seperate from the commits themselves | ||
Zoffix | Looks at build/tools/NQP_VERSIOn | ||
samcv | i know it doesn't | ||
that what we should tag nqp as 2017.04.3 because the newest tag for nqp is not new enough to satisfy rakudo's nqp dependency | 10:13 | ||
Zoffix | Or we could wait 1 week and forget about it and not mess with .04 release 4 weeks after it happened | 10:14 | |
because you'd be taging a non-release with a release tag | 10:15 | ||
samcv | hm | ||
i suppose so. maybe can add some comment in the release info for 2017.04.3 and mention the tags needed for nqp and moarvm | 10:16 | ||
that would be ok with me. then we have it at least documented on the announcement page that it requires those tags. | 10:17 | ||
Zoffix, does that sound alright with you? i can add the tags to github.com/rakudo/rakudo/blob/nom/...17.04.3.md and leave it at that? | 10:18 | ||
Zoffix | Go for it | ||
samcv | ok cool | ||
works for me, sorry for being a pain :| | |||
Geth | rakudo/nom: 0f400eb429 | (Samantha McVey)++ | docs/announce/2017.04.3.md Update 2017.04.3 announce to mention NQP and MoarVM tags Mention there was no newer NQP or MoarVM releases and list the required git tags for them respectively. |
10:33 | |
Zoffix | Cool PTS pictures: www.instagram.com/p/BT_QJGDDQSQ/?t...hainsummit | 10:37 | |
Is that Olaf standing there? I think he's the only Perler I met in person | |||
tadzik | tadzik.net/pub/core.25388 core dump from a moarvm segfault, if anyone's interested in looking into it. Seems like a GC bug | 11:15 | |
timotimo | tadzik: it's kind of useless without debug symbols? | 11:34 | |
tadzik | ah shite | 11:35 | |
where did I go wrong? I ran it with perl6-gdb-m, do I need to build it differenty to have them? | |||
timotimo | i have no idea how to work with core dumps effectively | 11:38 | |
you can just ship libmoar.so over i expect | |||
tadzik: will you give me the libmoar.so you used? :) | 11:55 | ||
tadzik | yep, yep, coming up :) | ||
timotimo | will you also give the p6 code you ran? | 11:58 | |
or "what were you doing" or something | |||
i don't want to waste too much effort on a known problem ;) | |||
tadzik | it was forestfire.pl :) | 11:59 | |
I tried to generate a profile data like yours | |||
timotimo | aha, did you forget to remove the SIGNAL tap? | ||
tadzik | hmm, can't say that I forget if I didn't know I have to :P | 12:00 | |
and yeah, with it removed it works | |||
timotimo | comment out the line starting with SIGNAL and that has "tap" in it | ||
yeah, known bug: profiler explodes when you have multithreading active | |||
tadzik | I see | 12:03 | |
timotimo | i mean ... instead of waiting longer to get tuits to fix that, we could output a warning where it would try to collect the data "threads were active. program is likely to crash, or profile is likely to be garbage" | 12:07 | |
nine | lizmat: CompUnit::RepositoryRegistry.use-repository(CompUnit::Repository::Filesystem.new(:prefix('.')) | 12:24 | |
Geth | nqp: 736835d80a | (Elizabeth Mattijsen)++ | src/HLL/Compiler.nqp Allow for extra config info to be shown from HLL This uses the approach of a dynamic variable that, when called, will nqp::say whatever it thinks it needs to say as extra config information. I tried just calling a subroutine: that also works, but spoils the global namespace even further: a dynamic variable only needs registration in a ... (6 more lines) |
12:46 | |
nqp: 4ac87728b0 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION Bump Moar to get nqp::rand_I fixes |
|||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...4-g6d5ea04 | |||
Zoffix | nine: where did you dig up this module? github.com/zoffixznet/perl6-Ecosys...t/issues/1 | 12:59 | |
nine: ah, it's still in META.list | 13:01 | ||
Removed. | |||
I was gonna do something with it, but now I forget what... | |||
nine | Zoffix: ok :) | 13:02 | |
Zoffix | buggable: eco | 13:04 | |
buggable | Zoffix, Out of 831 Ecosystem dists, 67 have warnings, 13 have errors, and 648 have no tags in META file. See modules.perl6.org/update.log for details | ||
Zoffix | I'm guessing the 13 errors is the META.info -> META6.json swapped by tadzik recently and the auto-META-renamer hasn't renamed them yet | ||
nine | Zoffix: soooo...regarding perl6-Ecosystem-Test, is it actually valid to have a module without source information in the ecosystem? What would the purpose be? | ||
Zoffix | nine: no idea. Judging by the name of the module, I'd figure I was gonna test what breaks when a module is missing source information | 13:06 | |
nine | Well, now you've found something ;) | 13:07 | |
Zoffix | And since it's been in it long enough for me to forget about it and nothing broke, I guess stuff doesn't care about missing source information | ||
nine: I see it's even indexed by module.perl6.org and points to the right repo: modules.perl6.org/dist/Ecosystem::Test | |||
Geth | rakudo/nom: 67ab60dcb8 | (Elizabeth Mattijsen)++ | src/core/Process.pm Add support for $*SAY-ADDITIONAL-CONFIG-INFO This is called whenever we do "perl6 -V". Implemented as a dynamic variable so that it remains invisible in the global namespace. |
||
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....8-g4ac8772 c240195ddc | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION |
|||
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....8-g4ac8772 95c5e1ffa8 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp So make sure we use atpos_s on $named_names |
|||
Zoffix | And maybe the test was "Does our tooling even use the source information or can it figure out the source automagically?" | 13:08 | |
from the meta file URL | |||
$ zef install Ecosystem::Test | 13:09 | ||
===> Searching for: Ecosystem::Test | |||
No such method 'IO' for invocant of type 'Any' | |||
in code at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/4B1D5A60B59D9541E13F76E0E2A2D550E0144053 (Zef::Client) line 184 | |||
At least something breaks :P | |||
nine | My meta2rpm script also broke | 13:20 | |
Zoffix | heh | 13:21 | |
[TuxCM] | This is Rakudo version 2017.04.3-227-g95c5e1ffa built on MoarVM version 2017.04-64-g6d5ea042 | 13:46 | |
csv-ip5xs 2.450 | |||
test 12.525 | |||
test-t 4.227 - 4.341 | |||
csv-parser 13.008 | |||
nine, there you go. Sorry for the delay | 13:47 | ||
nine | m: say 4.227/2.450 | 13:50 | |
camelia | 1.725306 | ||
nine | woohoo :) | ||
Zoffix | buggable: speed 5 | 13:55 | |
buggable | Zoffix, █▁▁▁▁ data for 2017-05-12–2017-05-12; range: 4.220s–6.181s; 42% faster | ||
Zoffix | lol | ||
If only :P | |||
buggable: speed 6 | |||
buggable | Zoffix, ▂↑▁▁▁▃ data for 2017-05-11–2017-05-12; range: 4.220s–6.181s; 2% slower | ||
Zoffix | buggable: speed 20 | ||
buggable | Zoffix, ▂▄▃▃▃▃▃▂▁▂▂▁▂▁▂↑▁▁▁▃ data for 2017-05-04–2017-05-12; range: 4.220s–6.181s; 2% slower | ||
Zoffix | That percentage calculator should probably be made smarter :) | 13:57 | |
Geth | rakudo/nom: e2082a6987 | (Elizabeth Mattijsen)++ | src/core/VM.pm Remove unneeded and obsolete 'precomp-dir' |
14:19 | |
rakudo/nom: 94c4e7bf98 | (Elizabeth Mattijsen)++ | src/core/Process.pm Add $*DISTRO information to perl6 -V output |
|||
Zoffix just experienced an inadequate performance issue in production code :( | 14:29 | ||
m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' [ Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec] '-' \d**2 '-' \d**4 / { } }; say now - INIT now | 14:30 | ||
camelia | 0.20802497 | ||
Zoffix | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | ||
camelia | 3.1291016 | ||
Zoffix | Though in actual script the second one was taking so long I just rewrote it in the terms of the first version :) | ||
m: my @a = <Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec>; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | 14:31 | ||
camelia | 3.2125608 | ||
Zoffix | I think there's even a ticket for this one. | ||
jnthn | I think it's one of those cases where the mutability of @a makes it a tad tricky to optimize well | 14:32 | |
Zoffix | Yeah | ||
jnthn | We may need some rules around that to allow less duplicate work | ||
Zoffix | There's a related ticket: rt.perl.org/Ticket/Display.html?id...et-history | 14:33 | |
jnthn | For that case I think you get a significant speedup by typing the variable | ||
m: my $a = 'foo'; for ('a' x 100 | 14:34 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in parenthesized expression; couldn't find final ')' at <tmp>:1 ------> 3my $a = 'foo'; for ('a' x 1007⏏5<EOL> expecting any of: statement end … |
||
jnthn | m: my $a = 'foo'; for ('a' x 100 ~ "foo") xx 1000 { /$a/ }; say now - INIT now | ||
camelia | 0.0032907 | ||
jnthn | m: my $a = 'foo'; for ('a' x 100 ~ "foo") xx 10000 { /$a/ }; say now - INIT now | 14:35 | |
camelia | 0.0240111 | ||
jnthn | m: my Str $a = 'foo'; for ('a' x 100 ~ "foo") xx 10000 { /$a/ }; say now - INIT now | ||
camelia | 0.0238258 | ||
jnthn | Hmm, I'm sure there was something like that | ||
Zoffix | Wouldn't it still be mutable? Like it could change on every iteration | 14:36 | |
jnthn | Yeah, but it could call !LITERAL instead of !INTERPOLATE and avoid a check each time | ||
timotimo | why do we get so bad performance in that regex even though it starts with a literal? | 14:41 | |
hm, perhaps it'd be better to use ||@a there? | 14:43 | ||
Geth | rakudo/nom: 53df2aa8da | (Elizabeth Mattijsen)++ | src/core/CompUnit/RepositoryRegistry.pm Remove unused variable and its initialization |
||
timotimo | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' ||@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | 14:47 | |
camelia | 19.2803383 | ||
timotimo | not better, eh? | ||
m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | |||
camelia | 2.9414239 | ||
timotimo | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | ||
camelia | (timeout) | 14:48 | |
Zoffix | :o | ||
timotimo | huh what the ... | ||
i thought @a is equivalent to either of those | |||
Zoffix | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 { whe /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unexpected block in infix position (missing statement control word before the expression?) at <tmp>:1 ------> 3 { whe /'-- ' |@a '-' \d**2 '-' \d**4 /7⏏5 { } }; say now - INIT now expectin… |
||
Zoffix | It's equivalent to the |@a | ||
Zoffix thought | |||
m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 718 { when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | |||
timotimo | that's also what i thought | ||
Zoffix | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7 { when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | 14:49 | |
camelia | (timeout) | ||
0.31506473 | |||
Zoffix | wow | ||
m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 { when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | |||
camelia | 4.269762 | ||
Zoffix | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 { when /'-- ' ||@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | ||
camelia | 0.3336069 | ||
Zoffix | m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 { when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now | ||
camelia | 0.0607072 | ||
Zoffix | m: say 4.269762/0.0607072 | ||
camelia | 70.3337001 | ||
Zoffix | apparently-equivalent but 70x slower | ||
timotimo | well well, we still have a lot of opportunities to improve these things | 14:50 | |
Zoffix files this one to keep a record | |||
timotimo | also, we could totally have a special case for Range objects in the regex engine | ||
but that doesn't help your case at all | 14:51 | ||
Zoffix | There isn't a range there tho. | ||
timotimo | because you wanted an array of words | ||
@a = 1..12 | |||
if you used $a instead, that'd be a different story | |||
and the @$a in the regex? | |||
Zoffix | filed as rt.perl.org/Ticket/Display.html?id=131297 | 14:53 | |
timotimo | Zoffix: if you know you're looking for single words from an array, you could \w+ and check the values in a <?{ ... }>, wouldn't that perform better? | 15:01 | |
tadzik | Zoffix: seems like I got it to work: imgur.com/a/LAaIG though it should probably not be so user-exposed | ||
Zoffix | timotimo: I just replaced it with literals and was done with it. It's a one-off script to update filenames | 15:02 | |
timotimo | have a little "developer mode" button at the bottom like the docs have | ||
ah, i didn't realize | |||
tadzik | maybe something like modules.perl6.org/problems-for/tadzik, which would just show me what I can fix in my stuf | ||
Zoffix | I just mentioned it 'cause it was proper production use of Perl 6 and I hit something that was LTA :) | 15:03 | |
timotimo | that's fair | ||
Zoffix | tadzik: that looks awesome :) | ||
tadzik | :3 | 15:05 | |
Zoffix | .tell curt_ Our modules.perl6.org currently rejects logotypes that aren't 32x32px. Sent you a PR to fix yours: github.com/CurtTilmes/perl6-eredis/pull/1 | 15:15 | |
yoleaux | Zoffix: I'll pass your message to curt_. | ||
Zoffix | nine: if you're short on topics to talk about at PTS... we support these "logotypes" on modules.perl6.org but AFAIK they're entirely unspecced. | 15:16 | |
tadzik | Zoffix: we could use Imager to resize them on the spot, would that be desirable>? | ||
or Imagemagick or whatever else | 15:17 | ||
Zoffix | tadzik: feels like the wrong approach. We'd just be masking the problem instead of fixing it, especially since the filename has "32x32" in it. In the 800+ dists, this is only the second time a non-standard sized logotype appeared | 15:21 | |
tadzik | ah, indeed. So it declares 32x32, but isn't, that's a Problem | 15:22 | |
something to put on the Problems list :P | |||
lizmat | so what's so special about val() that we don't have a proto sub val() in the setting, and we *do* have multi sub val()'s ? | 16:17 | |
Zoffix | s: &val | 16:22 | |
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/53df...hs.pm#L119 | ||
Zoffix shrugs | |||
That would normally lead to a proto | |||
Zoffix stabs in the dark and guesses the proto for it is made somewhere in the grammar because it uses val() to do things, doesn't it? | 16:24 | ||
lizmat | could be | 16:26 | |
Zoffix | I think it using &val here... github.com/rakudo/rakudo/blob/nom/....nqp#L9433 | 16:28 | |
lizmat | yeah, but where does the proto live? | 16:29 | |
ah well, taking a different approach | |||
dogbert17 | Zoffix or lizmat: are you around? | 17:07 | |
Zoffix | dogbert17: sup? | ||
dogbert17 | does gist.github.com/dogbert17/29095e64...c5aa9de53a look ok'ish? | ||
tested in S32-container/buf.t | 17:08 | ||
Zoffix | dogbert17: looks good to me. That goes into doc/Type/Blob.pod6, right? | 17:10 | |
dogbert17 | yup :) | ||
lizmat | dogbert17: | ||
if you call it on a Buf, you get a Buf returned | 17:11 | ||
m: say Buf.new([1, 2, 3]).reverse | |||
camelia | Buf:0x<03 02 01> | ||
lizmat | m: say Blob.new([1, 2, 3]).reverse | ||
camelia | Blob:0x<03 02 01> | ||
lizmat | not sure if that pod covers Buf as well | ||
dogbert17 | there's a separate pod for that | 17:12 | |
But I guess that I could put a 'copy' there as well | |||
Zoffix would just replace one of those Blob examples with a Buf | 17:13 | ||
('cause Buf does Blob) | |||
dogbert17 | that can be arranged | ||
Geth | rakudo/nom: b6496eda71 | (Elizabeth Mattijsen)++ | src/core/Process.pm Also add $*KERNEL info to perl6 -V output At least for now |
17:24 | |
Zoffix | m: sub prefix:<∑> ($x, $y, $z?) is looser(&infix:<,>) { dd [ $x, $y, $z ] }; say ∑ 1, 2; | 17:26 | |
camelia | Too few positionals passed; expected 2 or 3 arguments but got 1 in sub prefix:<∑> at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: sub prefix:<∑> (*@ ($x, $y, $z?) ) is looser(&infix:<,>) { dd [ $x, $y, $z ] }; say ∑ 1, 2; | ||
camelia | [1, 2, Any] Nil |
||
Zoffix | kinda weird it don't work for non-slurpies | ||
jnthn | A prefix only ever gets passed one argument | 17:27 | |
Postfixes too | |||
Zoffix | Ah | 17:28 | |
jnthn | So far as the parser's concenred, a prefix operates on a single thing | ||
They're parsed different to function calls and listops | |||
Geth | rakudo/nom: 0c46aff2bd | (Elizabeth Mattijsen)++ | 2 files Add support for $*KERNEL.archname To be used by CPAN-testers |
17:32 | |
lizmat | dinner& | ||
dogbert17 | m: say callframe(12) | 17:47 | |
camelia | ctxcaller needs an MVMContext in block <unit> at <tmp> line 1 |
||
dogbert17 | there seems to be something wrong with the second (~10 lines long) CallFrame example on docs.perl6.org/type/CallFrame | 17:56 | |
it never enters the block after 'when CallFrame {', can anyone see why? | |||
Zoffix | m: callframe(1).^name.say | 17:58 | |
camelia | CallFrame | ||
Zoffix | Ah doh | ||
dogbert17: because when smartmatches against $_ not the $name the given block assigns the value to | |||
s/$name/$frame/; | 17:59 | ||
dogbert17 | ah | ||
should I change to: | 18:00 | ||
given callframe($level) { | |||
my $frame = $_; | |||
perlpilot | or just .... when $frame ~~ CallFrame { ... } | 18:08 | |
or eliminate the $frame variable entirely | |||
dogbert17 | perlpilot: thx, if I run a corrected example it prints out '(IterateOneWithoutPhasers)'. Is that the expected result? | 18:10 | |
Zoffix | Yeah, it's one of the things handling the for loop | ||
dogbert17 | cool | ||
Zoffix | ZOFVM: Files=1229, Tests=135469, 109 wallclock secs (21.05 usr 2.87 sys + 2240.30 cusr 136.14 csys = 2400.36 CPU) | 18:11 | |
Geth | rakudo/nom: 1c4d845196 | (Zoffix Znet)++ | lib/Test.pm6 Fix is-deeply for Junction args Currently passing a Junction as one of the args threads `proclaim` call, causing several lines of duplicate-ish test output to be generated. Fix by boolifying result first. |
18:13 | |
roast: 4682d963f9 | (Zoffix Znet)++ | S24-testing/9-is_deeply.t Test `is-deeply` gives sane results for Junctions Rakudo fix: github.com/rakudo/rakudo/commit/1c4d845196 |
18:14 | ||
Zoffix | .oO( a better fix is probably boolify the arg inside proclaim.... but I already turned off my VM... ) |
18:16 | |
m: use Test; like "foo", any /bar/, /foo/ | 18:18 | ||
camelia | not ok 1 - text matches '/bar/' # Failed test 'text matches '/bar/'' # at SETTING::src/core/Junction.pm line 249 # expected: '/bar/' # got: 'foo' ok 2 - text matches '/foo/' |
||
Zoffix | k | ||
oh, like itself gets threaded | 18:26 | ||
Geth | rakudo/nom: 651f4b06ad | (Zoffix Znet)++ | lib/Test.pm6 Revert "Fix is-deeply for Junction args" This reverts commit 1c4d845196b28b2e427e9df4799f092366e4a5f7. - Going to generalize the fix |
18:30 | |
rakudo/nom: dc5eece9ad | (Zoffix Znet)++ | lib/Test.pm6 Make `proclaim` Junction-safe Take junctions as args and boolify them so that test routines that can work with Junctions don't need to remember to boolify their results before passing it to `proclaim`, to avoid duplicated output. |
|||
rakudo/js: 4051b6f8d2 | pmurias++ | gen/js/.gitignore [js] Add a .gitignore for gen/js |
18:32 | ||
rakudo/js: d7fb541e77 | pmurias++ | package.json [js] Add a package.json so that stuff can be installed into node_modules |
|||
timotimo | Zoffix: do you have an opinion on whether isa-ok should disarm Failure objects? especially when it's called like "isa-ok $the-failure, Failure" | 20:12 | |
Zoffix | timotimo: that'll make toast fail | 20:15 | |
timotimo: irclog.perlgeek.de/perl6-dev/2017-...i_14364400 | 20:16 | ||
I mean roast fail | |||
I'm actually making a new Test module ATM.... It ain't got an isa-ok at all. `is` smartmatches and so subsunes that use case. And it'll defuse failures too | 20:20 | ||
subsumes | |||
and like and isnt and unlike and does-ok and many cmp-ok usecases | |||
m: use Test; like 'foo', none /bar/ | 20:27 | ||
camelia | not ok 1 - text matches '/bar/' # Failed test 'text matches '/bar/'' # at SETTING::src/core/Junction.pm line 249 # expected: '/bar/' # got: 'foo' |
||
Zoffix | Yeah, in my module you use none Junctions to specify unlike/isnt | 20:28 | |
timotimo | ah, ok | 20:29 | |
i somehow missed when you first told me that | |||
thanks | |||
Zoffix | Sauce for my module github.com/zoffixznet/perl6-Testo it's next on my todo list after IO grant and release | 20:31 | |
samcv | have we ever done google summer of code? | 20:55 | |
tadzik | only with Parrot I think | ||
so, long ago :) | |||
samcv | we sshould do it again. google basically pays people to intern right? | ||
tadzik | my laptop sticker says 2014, and I think that was the last one | 20:56 | |
yep | |||
perlpilot | tadzik: that sounds about right. I think we did GSoc from 2009ish to 2014 and then TPF was rejected one year and then I lost track | 21:20 | |
samcv: we should participate in that other thing with high school students too, if we can. | 21:22 | ||
tadzik | Google Code-In | 21:24 | |
Geth | rakudo/nom: ba0581d75b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Partial fix for RT #131300 Prevents (elem) and (cont) (and their Unicode counterparts) from infinilooping. |
22:19 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131300 | ||
lizmat | m: dd Bag.Set # tssskkk | 22:25 | |
camelia | Cannot look up attributes in a Bag type object in block <unit> at <tmp> line 1 |
||
timotimo | ttjjss? :) | 22:28 | |
lizmat | I will look at the other problem cases tomorrow, after some sleep | 22:31 | |
good night, #perl6-dev! | |||
tadzik | timotimo: wha :) | 22:35 | |
jnthn | 'night, lizmat++ | 22:36 | |
Zoffix | .tell lizmat FWIW the ba0581d75b fix now gives False for cases that are, say `Int ∋ Int`; Perhaps Set:U.Set should return set(Set) as it does for other type objects? | 22:56 | |
yoleaux | Zoffix: I'll pass your message to lizmat. |