samcv | ok now cry.nu/coverage/ has resizeable and movable boxes at least | 00:32 | |
well almost | 00:33 | ||
yeah now it works. had to make sure jquery used https due to my very tight security settings for my domain | 00:35 | ||
.tell lizmat can you add my grant to the p6weekly? | 04:56 | ||
yoleaux2 | samcv: I'll pass your message to lizmat. | ||
samcv | ok so i made an overview of moarvm coverage for Roast cry.nu/coverage/roast.html you can see here | 06:01 | |
line by line here cry.nu/coverage/roast/ | 06:09 | ||
lizmat | . | 06:50 | |
yoleaux2 | 04:56Z <samcv> lizmat: can you add my grant to the p6weekly? | ||
lizmat | samcv: link ? | ||
stackoverflow.com/questions/4319942...t-in-shell # comments anyone ? | 06:56 | ||
[Tux] | This is Rakudo version 2017.03-123-gcb27bce74 built on MoarVM version 2017.03-88-g21fc7a22 | 07:18 | |
csv-ip5xs 3.103 | |||
test 12.504 | |||
test-t 4.958 - 5.119 | |||
csv-parser 13.280 | |||
lizmat | samcv: found it and added it | 07:43 | |
samcv | ok thanks :-) | 07:46 | |
Geth | rakudo/nom: 0672082651 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Fix problem introduced by 38b341aec and 928a406a8e - spotted by perlawhirl++ - if the last key checked was wrong, we didn't see it - turned out use of exhaustion of the iterator is not a good way to do it - so revert to returning out of the inner loop |
07:53 | |
lizmat | m: say Mu (elem) set() #hmmmm | 08:17 | |
camelia | Type check failed in binding to parameter '<anon>'; expected Any but got Mu (Mu) in block <unit> at <tmp> line 1 |
||
lizmat | m: dd set(Mu) | 08:19 | |
camelia | set(Mu) | ||
lizmat | m: dd Mu.Set | ||
camelia | No such method 'Set' for invocant of type 'Mu' in block <unit> at <tmp> line 1 |
||
lizmat | hmmm | ||
so, should Mu be allowed as part of a Set / Bag / Mix ? | 08:26 | ||
aka, should we able to coerce Mu to a Set/Bag/Mix ? | |||
m: dd Mix(Mu) # works | 08:27 | ||
camelia | Mix(Mu) | ||
lizmat | m: dd Mu.Mix # doesn't | ||
camelia | No such method 'Mix' for invocant of type 'Mu' in block <unit> at <tmp> line 1 |
||
lizmat | I guess this all boils down: | 08:28 | |
m: dd (1|2|3).Mix # does this create 3 Mixes with 1 value, or 1 Mix with 1 Junction | |||
camelia | any((1=>1).Mix, (2=>1).Mix, (3=>1).Mix) | ||
lizmat | afk for a few hours& | 08:43 | |
|Tux| | Did IO signatures change? | 09:24 | |
Cannot resolve caller AUTOGEN(Text::CSV: IO::Handle, Str, Str, Str); none of these signatures match: | |||
(Text::CSV $: IO:D $io, *%p --> Bool) | |||
(Text::CSV $: IO:D $io, %c, *%_ --> Bool) | |||
(Text::CSV $: IO:D $io, Capture $c, *%_ --> Bool) | |||
(Text::CSV $: IO:D $io, @fld, *%_ --> Bool) | |||
(Text::CSV $: IO:D $io, *@fld, *%_ --> Bool) | |||
in block <unit> at t/20_file.t line 14 | |||
looks like quite a significant change | |||
samcv | what did you try to call on an IO::Handle? | 09:25 | |
i think you can call it on the path but not the handle. as i read | |||
|Tux| | my $fh = open $tf20, :w or die "$tf20: $!"; | ||
ok (!$csv.print ($fh, "abc", "def\007", "ghi"), "print bad character"); | |||
samcv | hmm | 09:26 | |
don't see anything wrong with that code | 09:27 | ||
is $tf20 an IO object? | |||
|Tux| | no, $fh is | 09:28 | |
$tf20 is a file name | |||
samcv | it's faling at the second line? | ||
not the first? | |||
|Tux| | $csv.print ($fh, ...) causes the mismatch | ||
samcv | ah ok | 09:29 | |
|Tux| | the first line is needed for you to see what $fh is | ||
samcv | ah | ||
|Tux| | with this change almost all IO related CSV test fail | ||
samcv | you're trying to print to the filehandle? | ||
|Tux| | yep | 09:30 | |
samcv | that. seems like a wrong way to call it | ||
$fh.print(blah here) | |||
|Tux| | it used to work for many years | ||
samcv | interesting it let you do that before | ||
|Tux| | NAH! | ||
$csv.print ($fh, ...) makes thge CSV object use $fh to print to | |||
printing to CSVB in not the same as plain printing | 09:31 | ||
samcv | but what is the underlying IO thing done inside the csv object? | ||
looking at your code | 09:32 | ||
|Tux| | github.com/Tux/CSV/blob/master/lib...V.pm#L1493 | ||
samcv | i see some changes to IO::Handle here rakudo.org/ | 09:38 | |
so you're giving it an already opened handle. which it then calls print on? | 09:39 | ||
do you need to change it to IO::Handle not IO? | 09:40 | ||
or maybe it shouldn't have broken @Zoffix ? | |||
i remember something bout inherentence changing | |||
i think handles don't inherit from paths anymore or something (i could be totally wrong) | 09:41 | ||
bisectable6, say IO ~~ IO::Handle | |||
bisectable6 | samcv, On both starting points (old=2015.12 new=0672082) the exit code is 0 and the output is identical as well | ||
samcv, Output on both points: Ā«FalseĀ» | |||
samcv | bisectable6, say IO::Handle ~~ IO | 09:42 | |
bisectable6 | samcv, On both starting points (old=2015.12 new=0672082) the exit code is 0 and the output is identical as well | ||
samcv, Output on both points: Ā«FalseĀ» | |||
|Tux| submits change that makes all tests pass again, but I sincerely wonder how much will break in other places | |||
pushed | 09:44 | ||
timotimo | travis-ci.org/timo/json_fast/builds/218282663 - kinda mysterious? perhaps recent changes to rakudo broke it? | 09:51 | |
Zoffix | |Tux|: IO:D is not a thing anymore | 10:02 | |
|Tux| | I saw that, but isn't that going to break a lot of stuff? | 10:03 | |
I already pushed the fix for CSV, but I guess I'm not the only one that used it like that | |||
timotimo | we can find out with ecosystem-all-modules | ||
|Tux| | FWIW, I agree to the change. It makes a lot of sense | ||
jnthn | m: say shell('/usr/bin/false').WHAT | 10:04 | |
camelia | shell is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub shell at src/RESTRICTED.setting line 15 in block <unit> at <tmp> line 1 |
||
jnthn | c: HEAD say shell('/usr/bin/false').WHAT | ||
committable6 | jnthn, Ā¦HEAD(0672082): Ā«shell is disallowed in restricted settingā¤ in sub restricted at src/RESTRICTED.setting line 1ā¤ in sub shell at src/RESTRICTED.setting line 15ā¤ in block <unit> at /tmp/mgK62t6xIg line 1ā¤ Ā«exit code = 1Ā»Ā» | ||
jnthn | arrghhh... | ||
Can we please have a bot that isn't using the restricted setting... | |||
timotimo | no, CSV is the only module which uses IO:D or anything IO:*, except for method calls like .IO:d | 10:05 | |
which ... huh? | |||
m: say "foobar".IO:d | |||
camelia | "foobar".IO | ||
timotimo | that's not right, is it? | ||
like in tony-o/perl6-green bin/green: last if $dir.IO:d; | 10:06 | ||
jnthn | Anyway, the reason that the try doesn't work out is shell returns a Proc | ||
And so the try block returns the Proc | |||
And that is then sunk, producing the exception outside of the try block | 10:07 | ||
Zoffix | |Tux|: dunno if you read the weekly but there are two upgrade notices that went out recently: rakudo.org/2017/04/02/upgrade-infor...rant-work/ and rakudo.org/2017/04/03/part-2-upgrad...rant-work/ | ||
|Tux|: as for break stuff, well, the use of IO:D is broken as is IMO. It accepts IO::Path, IO::Handle, and IO::Socket*; all of which have vastly different interfaces. role IO did not provide any of the methods (other than semi-broken `umask`) | 10:08 | ||
|Tux| | I read them most of the time, but I've been on ski-holiday :) | ||
|Tux| is in catching-up mudus | 10:09 | ||
masak | timotimo: I suspect the .IO method gets a :d named parameter, which it discards | 10:40 | |
Zoffix | [Coke]: FWIW, when commenting on stuff, the page the user sees is kinda borked: i.imgur.com/zjOVhgs.png | ||
masak | m: class C { method IO(:$d) { say $d ?? "yup" !! "naye" } }; C.IO:d | 10:41 | |
camelia | naye | ||
masak | I... guess not. | ||
timotimo | m: class C { method IO(:$d) { say $d ?? "yup" !! "naye" } }; C.IO():d | ||
camelia | yup | ||
masak | right, but it didn't say that... :) | 10:42 | |
so how *is* it parsed and evaluated? | |||
masak wishes he had a source-to-ast converter right now | |||
jnthn | --targert=ast :) | 10:48 | |
Zoffix | --target=optimize # more accurate | 10:50 | |
jnthn | True :) | 10:52 | |
Zoffix | m: class C { method IO(:$d) { say $d ?? "yup" !! "nope" } }; C.IO :d | 10:56 | |
camelia | yup | ||
Geth | rakudo/nom: 5b7ef3e89a | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make (cont)/(elem) 25% to 5x faster for QuantHashes - based on a 10 element Set/Bag - no coercion needed for Bags/Mixes - rewrite with nqp where possible |
11:02 | |
Zoffix | samcv: looks like you're breaking barriers with your grant. Looking at past grants, the only other women who did a grant were Audrey Tang and Tina Connolly, but they have other people listed on the grant as well. Yours is the first solo one! | 11:44 | |
samcv++ Amelia Earhart of Perl hacking :) | |||
dogbert17 | Zoffix: although I'm a bit late ... happy birthday | 11:48 | |
you should treat yourself to some new cool FPS game | 11:49 | ||
moritz | Tina Connolly the author? | 11:50 | |
but yes, samcv++ | |||
Zoffix | dogbert17: thanks. | 12:05 | |
moritz: yeah, the author | |||
moritz | Zoffix: wow, I heard/read some of her fiction, never knew she was involved with perl at some point | 12:06 | |
Zoffix | :) | 12:08 | |
[Coke] | zoffix: I have no idea how to fix that, but will open a ticket. | 12:36 | |
(in review) ermergerd, --targert | 12:38 | ||
ZOMG SO MUCH SPAM | 12:39 | ||
(in mt comment admin) | |||
Zoffix | [Coke]: don't have that page in front of me any more, but by the looks of the breakage, it looks like a forgotten close tag somewhere. | 12:42 | |
[Coke] | ok. I opened a tpf ticket for it so we don't lose it. | 12:43 | |
argh. marking mt comments as spam... doesn't delete them. | 12:44 | ||
perlpilot | samcv++ | 12:45 | |
[Coke] | and now this round of TPF grants have comments. Please poke me if your comment gets stuck in moderation. | 12:56 | |
Zoffix | \o/ | 12:57 | |
Geth | rakudo/nom: 49807eb5dc | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Setty (|) Setty about 25x faster - make infix:<(|)> a multi - add zero and 1 argument handling for infix:<(|)> - add candidate for handling Setty (|) Setty |
13:22 | |
Zoffix | ZOFVM: Files=1231, Tests=133144, 114 wallclock secs (20.93 usr 3.50 sys + 2351.28 cusr 165.12 csys = 2540.83 CPU) | 13:34 | |
Geth | rakudo/nom: 75c3f29100 | (Zoffix Znet)++ | src/core/Failure.pm Awesomify 'unhandled Failure in DESTROY' warning I've seen this warning many times, but it never really clicked why I was seeing it. Awesomify the warning, to suggest how the user can get rid of this warning. Fixes RT#130857: rt.perl.org/Ticket/Display.html?id=130857 |
13:48 | |
Zoffix | Cool. If we add 3 more test files, we'll have 1234 test files in roast :D | 13:57 | |
m: say 234567-133144 | 13:58 | ||
camelia | 101423 | ||
Zoffix | And 1101423 more tests to have 1234567 tests :) | ||
.oO( the real trick is sticking that many tests into just 3 files! ) |
13:59 | ||
m: say 567890-133144 | |||
camelia | 434746 | ||
Zoffix | Though we can add 3 more files with 434746 tests in them that makes the stresstest run 9 seconds longer to make it read "Files=1234, Tests=567890, 123 wallclock secs" | 14:01 | |
dogbert17: the spectre of Zoffix also sent a PR fixing code that was never valid: github.com/supernovus/exemel/pull/43 | 14:10 | ||
huggable: known IO breakage killstreak :is: 3 | 14:12 | ||
huggable | Zoffix, Added known IO breakage killstreak as 3 | ||
Zoffix | huggable: known IO breakage killstreak :is: 3 (doc test suite; Text::CSV; XML.pm6) | 14:13 | |
huggable | Zoffix, Added known IO breakage killstreak as 3 (doc test suite; Text::CSV; XML.pm6) | ||
Zoffix | Wow, US is really going nuts with travel to it: www.wsj.com/articles/trump-adminis...1491303602 | 14:57 | |
On an off chance they catch a terrorist who didn't wipe their phone before comming in? heh | 14:58 | ||
At least that gives me hope YAPC::NA will be moved to Canada :) | |||
moritz | or Mexico :-) | 15:11 | |
Zoffix | Too far and too hot :P | 15:13 | |
[Coke] | Zoffix: getting an IO-related error in make xtest on docs; need to update my rakudo? | 15:21 | |
Zoffix | [Coke]: what's the error? | ||
[Coke] | No such method 'spurt' for invocant of type 'IO::Handle+{File::Temp::File::Temp::AutoUnlink}' in block <unit> at t/pod-htmlify.t line 58 | ||
Zoffix | [Coke]: yeah, need to upgrade. | 15:22 | |
Or change that line from .spurt to .path.spurt | |||
[Coke]: FWIW, I'm not running xtest with my changes ATM to save time, but will run it when I'm done and will fix all the errors, if any. | 15:24 | ||
(when done = Apr. 17th) | 15:25 | ||
[Coke] | ok. | 15:44 | |
AlexDaniel | āCan we please have a bot that isn't using the restricted setting...ā yes, I'm working on itā¦ | 16:13 | |
gonna take a little bit though | 16:14 | ||
likeā¦ weeksā¦ | |||
Zoffix | AlexDaniel++ | 16:15 | |
AlexDaniel | by the way, there's a little feature I implemented yesterdayā¦ not sure if there's a need to announce it though | ||
because I'm not really expecting anybody to use it on purpose, but | 16:16 | ||
say 42 | |||
evalable6 | 42 | ||
AlexDaniel | thing is, I've parsed the whole irc history and came up with some rules on when this is actually some code without m: rather than just somebody starting his message with āsayā | 16:17 | |
Zoffix | say, that's a brilliant idea! | ||
hah, OK :D | |||
AlexDaniel | it matches ā1400 messages out of which 5-10 are not really code, but very code-like | 16:18 | |
Zoffix | :) | ||
AlexDaniel | but that's good enough I guess | ||
Zoffix | say "42" | ||
evalable6 | 42 | ||
Zoffix | put "42" | ||
dd "42" | |||
AlexDaniel | well let's see if somebody ever used put or ddā¦ | ||
masak | say, that's interesting | 16:22 | |
say... can I trick it into running my sentence? :) | |||
AlexDaniel | if you try hard enough, yes | ||
masak | say "heh" | ||
evalable6 | heh | ||
masak | say I try hard enough | ||
AlexDaniel | you can also trick it into not running your code :) | 16:23 | |
masak | ...it seems pretty good at first blush | ||
AlexDaniel | say pi | ||
say Ļ | |||
masak | AlexDaniel: I'm fine with false positives/negatives, as long as neither ends up being annoying/noisy :) | ||
AlexDaniel | the last one I was kinda expecting to workā¦ | ||
masak | AlexDaniel++ | ||
"in 2017, we developed technology to allow us to skip the `m: ` prefix..." :P | |||
AlexDaniel | I wonder if people now will skip it on purposeā¦ | 16:24 | |
masak | "we called it Code Auto-Detectionā¢" | ||
say 1 + 2 + 3 + 4 | |||
evalable6 | 10 | ||
masak | say "that's a distinct possibility | ||
evalable6 | masak, Full output: gist.github.com/cc37bcf657330d8078...3596cfae99 | ||
(exit code 1) 04===SORRY!04=== Error while compiling /tmp/Zb8LtXGIIL Unable ā¦ |
|||
masak | wohoo! | ||
I got something strange out of it :P | 16:25 | ||
AlexDaniel | well, that's clearly some code | ||
that's its normal output :D | |||
masak | yeah, that's a pretty reasonable response | ||
say ... | |||
:) | |||
Zoffix | say ā¦ | ||
AlexDaniel | I know that it may get triggered if you use too many smileys | ||
evalable6 | (exit code 1) Potential difficulties: Apparent sequence operator parsed as stubbed funā¦ |
||
Zoffix, Full output: gist.github.com/bc767e500a39c2fc32...dd4ec4a610 | |||
Zoffix | hah | ||
AlexDaniel | say what? :O :O :O amazing!!!!! :) | 16:26 | |
evalable6 | AlexDaniel, Full output: gist.github.com/9b20ab5c918dc6deb3...699a2381e0 | ||
(exit code 1) 04===SORRY!04=== Error while compiling /tmp/W5BW6j8CYk Unsuppoā¦ |
|||
AlexDaniel | say what? :O :O :O amazing!!!!! | ||
so yeah, smileys suck. | |||
Zoffix: I see only one interesting message there: gist.github.com/Whateverable/d7b5d...3cbdb31332 | 16:28 | ||
Zoffix: dd is more interesting, but not interesting enough: gist.github.com/Whateverable/7962a...fd7de003dd | |||
(by the way, this output is coming out of a new bot) | |||
you give it a perlĀ 6 regex, it gets back to you in a minute with this kind of gist :) | 16:30 | ||
Zoffix | Where is `defined` defined? | 16:31 | |
SourceBaby can't find it neither under &defined nor under &prefix:<defined> | |||
in Mu: github.com/rakudo/rakudo/blob/75c3...Mu.pm#L846 | 16:36 | ||
Stupid robot | |||
s: &defined | |||
SourceBaby | Zoffix, Something's wrong: ā¤ERR: Cannot resolve caller sourcery(Sub+{<anon|63810960>}); none of these signatures match:ā¤ ($thing, Str:D $method, Capture $c)ā¤ ($thing, Str:D $method)ā¤ (&code)ā¤ (&code, Capture $c)ā¤ in block <unit> at -e line 6ā¤ā¤ | ||
Zoffix | m: say &defined ~~ Callable | ||
camelia | False | ||
Zoffix | interesting | ||
Geth | rakudo/nom: 87fe800d1d | TimToady++ | src/Perl6/Grammar.nqp don't die on 'for $x()', only on 'for $x ()' We'll issue the looks-like-P5 error only if it would be two terms in a row anyway, so there should be no false positives. (Yes, P5 allows one to use no space there, but people almost always put the space there regardless, so merely catching most of the errors is plenty good enough for a heuristic.) Fixes #131076 |
16:50 | |
Zoffix | \o/ | 16:53 | |
timotimo | i'm glad for that | 16:54 | |
AlexDaniel | I actually had exactly the same fix in a local branch somewhere | 17:04 | |
but then imagined how people are going to complain that it is valid p5 code even without the space | |||
so never got to finishing itā¦ | |||
Zoffix wouldn't think many would've complained :) | 17:05 | ||
timotimo | helps to be toady | ||
geekosaur did say something about that the first time it came up :p | 17:06 | ||
TimToady | "The programmer did something stupid, and we couldn't catch it, so that somehow becomes our fault, not theirs?" :) | ||
geekosaur | (and I did think about the whitespace issue but I kinda hate significant whitespace in that context as it is) | ||
Zoffix wouldn't shed any tears if all the X::Obsolete warnings would go away | 17:08 | ||
m: say "x" =~ 42 | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at <tmp>:1 ------> 3say "x" =~7ā5 42 |
||
Zoffix | Except maybe that one. | ||
timotimo | it'd be much more useful if it stringified 42 and assigned it to "x" there! | 17:09 | |
Zoffix | :) | 17:10 | |
awww.. you can't have space before a postfix? | 17:12 | ||
My dream lies in shatters | |||
timotimo | only unspace | ||
Zoffix | m: sub postfix:<or-fail> ($v) { 42 }; sub foo {}; dd foo() or-fail | ||
camelia | WARNINGS for <tmp>: Useless use of "-" in expression "-fail" in sink context (line 1) Nil Failed in block <unit> at <tmp> line 1 |
||
Zoffix | m: sub postfix:<ā„or-fail> ($v) { 42 }; sub foo {}; dd foo ā„or-fail | 17:18 | |
camelia | 42 | ||
Zoffix | Ahhh | ||
My dream is back in one piece :D | |||
AlexDaniel: using āØ in my code right now and I'm 100% -1 for it being a Mexican "or". It's just like "v" | 17:24 | ||
if foo āØ-bar {} | 17:27 | ||
Valid code :D | |||
ilmari | huh, no Ā¬ operator? | 17:28 | |
m: say Ā¬ True | |||
camelia | 5===SORRY!5=== Argument to "say" seems to be malformed at <tmp>:1 ------> 3say7ā5 Ā¬ True Bogus postfix at <tmp>:1 ------> 3say 7ā5Ā¬ True expecting any of: infix infix stopper postfix ā¦ |
||
Zoffix | .oO( make a module :P ) |
||
ilmari | m: sub prefix:<Ā¬>($x) { ! $x }; say Ā¬ True | 17:29 | |
camelia | False | ||
[Coke] | m: ?now, do .WHAT | ||
camelia | WARNINGS for <tmp>: Useless use of "?" in expression "?now" in sink context (line 1) |
||
Zoffix | Actually, you probably can't make a module. | 17:30 | |
Same reason you couldn't do the ā¤ as a module | |||
Well, *can* but it'd have to be a slang. | |||
"===SORRY!=== MVMArray: Can't pop from an empty array" | 17:32 | ||
I dream of the day when my programming in Perl 6 won't involve bugs. | |||
Unless I want to, I mean :) | |||
m: sub postfix:<!> is equiv(&infix:<orelse>) { $^v }; 42! | 17:37 | ||
camelia | ===SORRY!=== MVMArray: Can't pop from an empty array |
||
TimToady | m: module NottyNice { sub prefix:<Ā¬>($x) is export { ! $x }; }; import NottyNice; say Ā¬ True | ||
camelia | False | ||
TimToady | should work fine in a module | ||
Zoffix | s: &trait_mod, \(sub {}, :equiv) | 17:38 | |
SourceBaby | Zoffix, Something's wrong: ā¤ERR: ===SORRY!=== Error while compiling -eā¤Undeclared routine:ā¤ trait_mod used at line 6ā¤ā¤ | ||
Zoffix | TimToady: what about short-curcuiting and chaining with and? | ||
Ah, I see conversation got changed to prefix Ā¬ | |||
Never mind :) | |||
s: &trait_mod:<is>, \(sub {}, :equiv) | 17:39 | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/87fe...ts.pm#L107 | ||
Zoffix | m: sub postfix:<!> is prec({:assoc("list")}) { $^v }; 42! | 17:51 | |
camelia | ===SORRY!=== MVMArray: Can't pop from an empty array |
||
Zoffix | seems the error is about making postfix ops list assoc | ||
m: sub infix:<!> is prec({:assoc("list")}) ($, $) { }; 42!42 | 17:52 | ||
camelia | 5===SORRY!5=== Expression needs parens to avoid gobbling block at <tmp>:1 ------> 3sub infix:<!> is prec({:assoc("list")}7ā5) ($, $) { }; 42!42 Missing block (apparently claimed by expression) at <tmp>:1 ------> 3sub infix:<!> is pā¦ |
||
Zoffix | *sigh* | ||
m: sub infix:<!> ($, $) is prec({:assoc("list")}) { }; 42!42 | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Negation metaoperator not followed by valid infix at <tmp>:1 ------> 3$, $) is prec({:assoc("list")}) { }; 42!7ā0542 expecting any of: infix infix stopper |
||
Zoffix | (āÆĀ°ā”Ā°ļ¼āÆļøµ ā»āā» | 17:53 | |
Does it make sense for prefix/postfix ops to be list associative? | 17:59 | ||
No idea where src/vm/moar/HLL/Backend.nqp is | 18:00 | ||
But on line 1099 is pops from an array that ain't got things for infix and postfix ops. | |||
No one's around | 18:02 | ||
Zoffix just files this bug | 18:03 | ||
rt.perl.org/Ticket/Display.html?id=131099 | 18:05 | ||
TimToady | list associativity makes no sense on a unary operator, since there can only be one of it, and associativity is about how two or more operators relate when precedence doesn't decide | 18:11 | |
we can stretch the notion of associativity slightly to say how to parse things like ++$x++, but that's about it | 18:12 | ||
Zoffix | OK cool. | 18:13 | |
I'll take care of that ticket then (gonna throw). Is there a saner way to check if an op is prefix/postfix than checking if .name.starts-with('postfix:') or .name.starts-with('prefix:') ? | 18:16 | ||
TimToady | how 'bout only allowing it on 'infix'? | 18:21 | |
Zoffix | OK | ||
Staring at the test run, wondering why the test I added doesn't show up in the output... | 18:49 | ||
Turns out I made the fix on one box, but added the test on a completely different one! | |||
m: 42.?name.starts-with: 'foo'; # sad kitty is sad | 18:59 | ||
camelia | Invocant requires an instance of type Cool, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1 |
||
Zoffix | would be sweet to make .? shortcurcuit the method chain or something. It's not very useful in its current form | 19:00 | |
m: sub x {}; dd &x.^lookup("name") | 19:02 | ||
camelia | ForeignCode <anon> = ForeignCode.new | ||
Zoffix | Do all Routines have .name? | ||
the method I mean | 19:03 | ||
Oh | |||
m: dd Routine.^lookup('name') | |||
camelia | ForeignCode <anon> = ForeignCode.new | ||
Zoffix | \o/ | ||
moritz | m: say Routine.can('name') | ||
camelia | (<anon>) | ||
moritz too slow | 19:04 | ||
Zoffix | :) | ||
*sigh* what's its problem? Tried like 4 different variations and getting this non-descript error :/ gist.github.com/zoffixznet/27711f3...6ac1565212 | 19:21 | ||
(my diff with the change is at the bottom) | 19:22 | ||
Wonder if some core ops is trying to set a list assoc and my check for whether its an infix op is sucky | 19:26 | ||
samcv | hello perl 6 people | 19:27 | |
Zoffix | \o | 19:28 | |
Hm. Nope. Changed it to `note` instead of `die` and it's still unhappy :/ | 19:29 | ||
lizmat | Zoffix: is this a current issue in HEAD ? | 19:30 | |
Zoffix | lizmat: yeah. Well, there's no issue without my change. | 19:31 | |
well, almost head. There's a 1-line addition in traits.pm I have locally; but it passes the stresstest | 19:32 | ||
lizmat | so what's different from HEAD that it causes you grief ? | 19:34 | |
ah, at the bottom | |||
Zoffix | Yeah | 19:35 | |
Zoffix tries rewriting that in nqp ops | |||
Hm still throws: gist.github.com/zoffixznet/d74b81e...4b136d3c78 | 19:37 | ||
Zoffix tries deleting things to find what breaks | |||
lizmat | Zoffix: it would be quite possible that at that point in the setting, it doesn't know about Str.starts-with | ||
yeah, Str.starts-with doesn't exist until line 12619 in the setting, and the trait lives at line 180 | 19:39 | ||
so, rewriting with nqp ops *should* work | |||
note that that code runs at compile time | 19:40 | ||
so it cannot be late bound | |||
Zoffix | Well, this crashes too, so I'm guessing it's the attempt to look up stuff in the hash? gist.github.com/zoffixznet/c150dfd...24657631a0 | 19:42 | |
It's probably not a Perl 6 hash | 19:44 | ||
This dies too. I give up: gist.github.com/zoffixznet/e652bd5...eb3ef916ac | 19:47 | ||
lizmat | Zoffix: if you do s/note/nqp::say./ ? | 19:49 | |
because I don't think "note" is known at that time either | 19:50 | ||
Zoffix | Gonna try in ~1hr. Gotta relocate | ||
lizmat | ack | 19:51 | |
Geth | rakudo/nom: f9f0883c6c | (Zoffix Znet)++ | src/core/traits.pm Delete .prec<assoc> in is equiv() trait This mirrors what is tighter and is looser do. Though they leave other bits (like `thunky`) as is, so the whole thing is a bit iffy. Fixes RT131099: rt.perl.org/Ticket/Display.html?id=131099 |
19:53 | |
roast: 75f42755ec | (Zoffix Znet)++ | S06-traits/precedence.t Test `is equiv` does not set .prec<assoc> RT#131099: rt.perl.org/Ticket/Display.html?id=131099 |
|||
Zoffix | (that was the previous commit I already had; not the one I was strugglign to compile) | ||
samcv | ok. perl6 wizards. how can i determine which command line argument to the perl6 executable will actually be a file | 19:59 | |
lizmat | Zoffix: if nqp::can($r,'prec') && $r.prec<assoc> && $r.prec<assoc> eq 'list' | ||
samcv | since usually it's the 1st one, but i fthere are options passed to it. then it can be other ones | ||
is is almost always the LAST one? | |||
lizmat | hmmm... not working either :-( | 20:00 | |
samcv | at least as far as it is used in roast? | ||
Zoffix | samcv: wouldn't it be any arg, if you consider args passed to the program too. Sometimes there isn't a file at all, like -e, or when reading the program from stdin | 20:11 | |
timotimo | yo Zoffix, remember when JSON::Fast took a long time and a lot of memory to parse that one json document you had? | 20:12 | |
Zoffix | timotimo, and now it fails tests? :p | ||
timotimo | only when tests are run by zef for some reason | 20:13 | |
Zoffix read #moarvm | |||
Hm. | |||
lizmat | Zoffix: $r.prec('assoc') eq "list" | ||
Zoffix | timotimo, what about zef --/tap-harness test . | 20:15 | |
timotimo | one sec | ||
i'm just recompiling rakudo | |||
Zoffix | lizmat++ thanks | ||
lizmat, I don't get why that's that way tho :s | 20:16 | ||
lizmat | not sure what is causing the run error of the BEGIN block | 20:17 | |
Zoffix | m: dd &[orelse].prec('assoc') | ||
camelia | "list" | ||
Zoffix | m: dd &[orelse].prec | ||
camelia | {:assoc("list"), :prec("c="), :thunky(".b")} | ||
Zoffix | hm. OK | ||
lizmat | but passing it as a parameter, will return '' if it doesn't exist | ||
so you don't need to lookup twice | |||
Zoffix | Cool. That'll do the job. Thanks. | 20:18 | |
lizmat | yw :-) | ||
timotimo | Zoffix: with that flag it passes | 20:21 | |
Zoffix | timotimo: and without it fails? | 20:22 | |
Looks like a job for TAP::Harness Fixer Person! | 20:23 | ||
:) | |||
Hoe can I repro it? | |||
timotimo | gist.github.com/timo/da1ed310c0375...b2ffc89002 | 20:24 | |
should be able to just "zef install JSON::Fast" | |||
ok 12 - JSON string Ā«[\n...[11]Ā» parsed | 20:26 | ||
this is the one that it doesn't find for some reaso | |||
Zoffix looks | 20:38 | ||
everything passes on 2017.03-101-ga5800a1 | 20:39 | ||
m: say $*PERL.compiler.version | |||
camelia | v2017.03.129.gf.9.f.0883 | ||
Zoffix upgrades | |||
timotimo: the failure's in github.com/timo/json_fast repo right now, right? | 20:40 | ||
samcv | Zoffix, well yeah i know about -e. i only really care about ones that are asking for files | 20:41 | |
idk maybe i can do some path detection if something has a './' or a slashes in it | 20:42 | ||
to see if i'm missing any coverage for roast | |||
Zoffix | samcv: perl6 foo.p6 -some -args -to -the script that works, right? | ||
So it can be anywhere | |||
samcv | ok but how to i figure it out from inside the perl6 sh script | 20:43 | |
Zoffix | dunno | ||
samcv | maybe try the 1st one, and if it has `.t` or `.pl` `.p6` or something otherwise try the next one | ||
timotimo | Zoffix: indeed, it's the master branch | 20:44 | |
samcv | or actually better may be, to just see if it starts with a `-` | ||
and if it does go to the next one | |||
and if it's -e just put it into a randomly generated -e profile | |||
so i can make sure to save it all | 20:45 | ||
AlexDaniel | Zoffix: renders very similarly to āvā here as well | ||
Zoffix: Ā¬ ā§ ā» are very distinguishable though | |||
Zoffix | samcv: perl6 -M Test script.p6 works | 20:46 | |
samcv | also i have all theese getout-RANDOM-RANDOM i think the Util.pm creates | ||
Zoffix | AlexDaniel: I'd have a hard time remembering which is which tho :P | ||
samcv | well it says `my $fnbase = 'getout';` so i think that's wheere all those files are coming from | ||
why it gotta be so complicated XD | 20:47 | ||
Zoffix | samcv: yeah, I have them sometimes as well. I think it's `is_run` that creates them. FWIW, I added make-test-file on the weekened that shoves these into $*TMPDIR so perhaps all such uses could be replaced vOv | ||
samcv | so i think those profiles should be added to the roast profiles | ||
even thoug they're not associated with one of the /t/ files | |||
lizmat | decommute from Amsterdam.PM meeting& | ||
samcv | well i'm sure they are somewhere? | ||
AlexDaniel | Zoffix: yeah, wellā¦ maybe this has to be moved to questionable section | 20:48 | |
samcv | but it saves profiles based on the 1st argument to the perl6 script | ||
basically `t/blah/blah.t` will create coverage/t/blah/blah.t.profraw | |||
or whatever directory/file it is | |||
Zoffix | timotimo: `zef test .` passes for me :/ | 20:49 | |
On rakudo's head now | |||
2017.03-129-gf9f0883 | |||
timotimo: do you have TAP::Harness installed by any chance? | 20:50 | ||
samcv | maybe we can somehow find a way to associate those is-run files with certain .t files | ||
Zoffix | timotimo: zef uninstall TAP::Harness | ||
samcv | err getout or something | ||
since they are ran under a certain .t file | |||
Zoffix | samcv: make-test-file does. Includes the test file name and line number in file's name | 20:51 | |
though I guess if is_run were to use them, then those would be wrong :( | |||
samcv | yea | ||
also where is make-test-file | 20:52 | ||
i can't find it by grepping /t/ in rakudo | |||
Zoffix | samcv: t/spec/packages/Test/Util.pm | ||
samcv: zef uninstall TAP::Harness | |||
oops | |||
samcv: github.com/perl6/roast/blob/master...#L237-L265 | |||
samcv | oh ok | ||
Zoffix | timotimo: yeah, with ecosystem's TAP::Harness I get same failures as yours. Get rid of it, so zef uses core one | 20:55 | |
samcv | m: say $*PROGRAM | 20:57 | |
camelia | "<tmp>".IO | ||
samcv | m: say $*PROGRAM-NAME | 20:58 | |
camelia | <tmp> | ||
timotimo | !!!> Found no matching candidates to uninstall | 20:59 | |
Zoffix | dafuq | 21:00 | |
timotimo: well, I can't repro the issue on HEAD zef, HEAD rakudo, and HEAD JSON::Fast | 21:01 | ||
When that module is not installed. | |||
timotimo: here first pass; then I install that module and get failures: gist.github.com/zoffixznet/9c77efe...24f60d2a26 | 21:02 | ||
timotimo | oh | 21:11 | |
i spelled it Tap instead of TAP | |||
soooo | 21:12 | ||
will someone open an issue on the TAP::Harness repo? | |||
anyway, dinner time real soon | |||
Zoffix | hah :D | ||
timotimo: I did open the issue, but one that says something along the lines of "having two tap harnesses sucks" | 21:13 | ||
I kinda mentioned the module was broken to the author, but it was while debating the suckiness of TAP spec in another github repo | 21:14 | ||
And the author was of the opinion that not escaping backslashes is dumb (but we do it now, so his module is broken). | 21:15 | ||
timotimo | oh, huh | 21:16 | |
i didn't know TAP::Harness isn't good | |||
Zoffix | Well, here's that convo: github.com/TestAnything/testanythi...-271145559 | 21:17 | |
IMO it's pretty fucking stupid. All major TAP harnesses and TAP producers escape and handle escapes. Not speccing that feature is ignoring reality. | |||
timotimo | AFK | ||
Zoffix | $work gave me a free cake for bday. Anyone want a piece? | 21:25 | |
samcv | hmm it seems somewhere in roast is passing | ||
Zoffix | 2,300 calories. All for me :/ | ||
samcv | "-e ''" as the 1st command line argument | ||
that's not two seperate command line arguments but only one. idk maybe that's a purposeful test. wish i knew where it came from | 21:26 | ||
argh | |||
also how do you open files with perl 6 that start with a `-` | 21:27 | ||
or is it impossible.... | 21:28 | ||
Zoffix | samcv: S17-procasync/basic.t:110:$pc = Proc::Async.new($*EXECUTABLE, "-e ''"); # It taps a warning, but it is safe to catch. | ||
samcv | kk | ||
Zoffix | there are three more places actually... Run grep -nFR 'e '\'''\''' | 21:29 | |
well, 1 more, since other two use shell | |||
samcv | hmm | ||
k | |||
AlexDaniel | Zoffix: I'd eat it :S | 21:34 | |
Zoffix | /dcc AlexDaniel $rest-of-cake | 21:35 | |
AlexDaniel | thanks! Butā¦ I think I just need a robot that would make it for me | 21:36 | |
samcv | is it okay if i alter this github.com/perl6/roast/blob/master...-rxtrace.t | 21:38 | |
cause it's failing when i use coverage because it takes stderr | |||
Zoffix | samcv: alter how? | 21:46 | |
samcv: it's not part of 6.c-errata; so I think it's fine to change it, as long as it still covers the original bug | 21:48 | ||
samcv | like this gist.github.com/samcv/401e93e49375...b36cbc4593 | ||
yeah it does. and i tested it and made sure it failed and acted identically when it wasn't under profile | 21:49 | ||
like if i change the say "hello" thing to note, it does output stderr and fails with exact same characters as before change. also works under profile as well | |||
Zoffix | samcv: yeah, but maybe add that env var to README so people don't wonder what it's about | 21:50 | |
samcv | which readme | ||
of roast? | |||
hmm or maybe i can be super fancy and strip it out INSIDE the profiling script. | 21:53 | ||
Zoffix | YEAH | ||
I mean yeah | |||
:) | |||
samcv | the call is coming from inside the house | ||
YEAH | 21:54 | ||
timotimo | aynway | 21:55 | |
hooray for JSON::Fast! | |||
samcv | yay is it more fast? | ||
timotimo | well, yeah? | 21:57 | |
remember when i pasted the new time + memory use? | |||
samcv | yep | ||
missed the memory part but looked now. so a little bit of memory and a ton of speed improvement | 21:58 | ||
Zoffix | timotimo++ awesome improvement | 21:59 | |
timotimo | um | ||
no, only 1/10 of the memory | |||
samcv | Zoffix, will it seems to have worked. the uh changing it inside the executable | 22:00 | |
though maybe i can be cool and like. save that error to a log somewhere | |||
Zoffix | I finally managed to compile my list fix. I didn't use .prec('assoc') 'cause that would've made it die AFTER mixing in the role, which I found iffy, but using nqp ops all the way, including nqp::atkey() made it compile finally | 22:01 | |
samcv | so i can actually see it (since prove makes it so i can't see it, though can see it if i execute the scritp normally) | ||
Zoffix | bah t/spec/S06-traits/precedence.rakudo.moar .......................... Dubious, test returned 1 (wstat 256, 0x100) | ||
screw you, computer! | |||
oh, it's the test I added today. | 22:03 | ||
what am I doing with my life... | 22:11 | ||
New compilation errors. Yeye | 22:27 | ||
This is stupid. | |||
Zoffix stashes the diff for another day | |||
Time for.... | 22:28 | ||
IO NINJAING \o\ -o )o) o- | |||
AlexDaniel | \o/ | 22:29 | |
timotimo | yeah! | 22:31 | |
samcv | ok i installed llvm 5.0 maybe profiling will have magical cool othings in it? I can hope. we will see | 22:52 | |
wow there's so many extra columns to the report overview | 22:53 | ||
timotimo | whoa | 22:56 | |
samcv | oh my dear lord | ||
samcv brain asplodes | |||
wooo and you can link lines in html by line number | 22:59 | ||
too cool | |||
uploading now | |||
as well as a "jump to first uncovered line" link at the very top of each file :O | 23:00 | ||
amazing cry.nu/coverage/cov-index.html | |||
timotimo | that's cool! | 23:02 | |
samcv | amazingly cool | ||
and css style we could change if we want | |||
i can do `llvm-cov show help` and get like some list, which most of them i don't care about | 23:10 | ||
then there's like --help-list-hidden which shows some crazy number of things | 23:11 | ||
most of them idk why i would ever need to do | |||
133 options | |||
timotimo | wow | 23:12 | |
samcv | see timotimo gist.github.com/samcv/99a8edb933e3...eb3400236d | 23:13 | |
timotimo | yeah no | ||
Zoffix | damn, now spurt is doing my head in. | ||
timotimo | those are for *everything* | ||
samcv | pretty much | ||
Zoffix | And it's quite ironic that a day after I removed the desk-flip emoji from my keyboard hot key, I want to use it. | 23:14 | |
m: spurt "foo", "meoweeeee".encode; spurt "foo", "bar"; slurp("foo").say | |||
camelia | spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub spurt at src/RESTRICTED.setting line 17 in block <unit> at <tmp> line 1 |
||
Zoffix | I'm getting "baroweeeee" as output :/ | 23:15 | |
samcv | also timotimo there's -help-hidden and -help-list-hidden | ||
timotimo | oh, spurt doesn't truncate, eh? | ||
Zoffix | .... because I'm dumb | ||
Zoffix spots the bug | 23:16 | ||
timotimo | we probably want it to, though | ||
samcv | oh i see. --help-hidden shows them grouped in subtype | ||
Zoffix | it does. It's the New and Improvedā¢ version :) | ||
samcv | timotimo, i hope they have spectesting for all of their 1000 options :) | ||
timotimo | they must have dominion over about a gajillion different machines | ||
samcv | they are confusing | 23:17 | |
i'm sure there's no person on earth who knows whet EVERY one of those options does | 23:19 | ||
they seem super specialized | |||
ugexe | any other perl6 devs going to the perl toolchain summit (nine, lizmat)? | 23:22 | |
Zoffix is afraid of traveling to other countries, so no | 23:23 | ||
ugexe: are you gonna be there? | |||
ugexe | yeah | ||
Zoffix | ugexe: Would be nice to figure out a security policy: what are the procedures when we discover a security issue. | 23:24 | |
I think lizmat is gonna be there too | |||
tool chain summit | |||
lizmat just got back from Amsterdam | |||
but yes, Toolchain summit, yes, going to be there | |||
Zoffix | <Zoffix> Would be nice to figure out a security policy: what are the procedures when we discover a security issue. | 23:25 | |
lizmat | we can learn from p5p in that respect :-) | 23:26 | |
samcv | oh timotimo and it's nice. the coverage report doesn't list my full hd directory either on the new reports | 23:27 | |
woo. this is great. | |||
timotimo | \o/ | ||
samcv | still need to learn how to combine libmoar.so and moar reports.... | ||
ugh | |||
Zoffix | m: dd utf8.new(73,32,226,153,165,32,80,101,114,108,32,54) eqv Buf[uint8].new(73,32,226,153,165,32,80,101,114,108,32,54) | 23:28 | |
camelia | Bool::False | ||
Zoffix | m: dd utf8.new eqv Buf[uint8].new | ||
camelia | Bool::False | ||
Zoffix | Is it supposed to be this way? | ||
m: with "/tmp/bar42".IO { dd "foo".encode; .spurt: "foo".encode; dd .slurp("foo", :bin) } | 23:30 | ||
camelia | utf8.new(102,111,111) Too many positionals passed; expected 1 argument but got 2 in block <unit> at <tmp> line 1 |
||
Zoffix | huh | ||
timotimo | Zoffix: yeah, utf8 is different from Buf, it's more like Blob | ||
Zoffix | timotimo: Buf is Blob trho | 23:31 | |
m: with "/tmp/bar42".IO { dd "foo".encode; .spurt: "foo".encode; dd .slurp(:bin) } | |||
camelia | utf8.new(102,111,111) Buf[uint8].new(102,111,111) |
||
timotimo | yeah, so why would they be eqv anyway? | ||
what's more important, though, is that the utf8 type claims the contents are valid utf8 | |||
Zoffix | m: utf8.new(102,111,111)[1] = 42 | 23:32 | |
camelia | Cannot modify an immutable Int in block <unit> at <tmp> line 1 |
||
Zoffix | OK, I think I get it. Thanks | ||
timotimo | yeah, buf is read-write, utf8 is read-only | ||
lizmat is tired and goes to bed | 23:35 | ||
timotimo | gnite lizmat! | 23:36 | |
Zoffix | night |