wander | afternoon #perl6-dev | 04:45 | |||||||||||||||||||||||||||||||||||||
could anyone explain this line at NQP/Grammar.nqp for me? | |||||||||||||||||||||||||||||||||||||||
token infix:sym<||> { <sym> <O(|%tight_or, :op<unless>)> } | 04:46 | ||||||||||||||||||||||||||||||||||||||
I cannot find its action, and think maybe something done by syntax <O(..)>, which I don't know what it means | |||||||||||||||||||||||||||||||||||||||
it coverts a || b into | 04:47 | ||||||||||||||||||||||||||||||||||||||
- QAST::Op(unless &infix:<||>) || | |||||||||||||||||||||||||||||||||||||||
- QAST::Var(lexical $bar) | |||||||||||||||||||||||||||||||||||||||
- QAST::IVal(200) | |||||||||||||||||||||||||||||||||||||||
oh, $bar || 200 | |||||||||||||||||||||||||||||||||||||||
but - QAST::Var(lexical $bar) is a condition, if we write down $foo = $bar || 200, some coercion needed might not be done | 04:49 | ||||||||||||||||||||||||||||||||||||||
nqp: my $foo := 42; my int $bar := $foo || 200; say($bar) | 04:51 | ||||||||||||||||||||||||||||||||||||||
camelia | 0 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 11d90cac59 | (Tom Browder)++ (committed by Samantha McVey) | 3 files Allow escaping POD column sep. Fixes rakudo/rakudo#1282 Add code to fix rakudo issue #1282; allows escaping column separators to use as cell data; Tests to be added with github.com/perl6/roast/pull/361 |
||||||||||||||||||||||||||||||||||||||
synopsebot | RAKUDO#1282 [closed]: github.com/rakudo/rakudo/issues/1282 [POD] need to handle table cells with char column separators as data | ||||||||||||||||||||||||||||||||||||||
wander | here, since the result_kind is native int, $foo should be coerced, but because it's condition, no coercion happens | ||||||||||||||||||||||||||||||||||||||
that's why I think $bar || 200 should be | 04:52 | ||||||||||||||||||||||||||||||||||||||
- QAST::Op(unless &infix:<||>) || | |||||||||||||||||||||||||||||||||||||||
- QAST::Var(lexical $bar) | 04:53 | ||||||||||||||||||||||||||||||||||||||
- QAST::IVal(200) | |||||||||||||||||||||||||||||||||||||||
but it might lose efficient, any advise? | |||||||||||||||||||||||||||||||||||||||
wait | 04:56 | ||||||||||||||||||||||||||||||||||||||
we *do* coercion, but it's not right. | 04:58 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp/patch-1: 335ac1cf0b | (Alex Chen)++ | 2 files Fix op_unless coercion Sample code: ``` my $foo := 42; my int $bar := $foo || 200; say($bar); ... (14 more lines) |
06:10 | |||||||||||||||||||||||||||||||||||||
nqp: W4anD0eR96++ created pull request #383: Fix op_unless coercion |
06:12 | ||||||||||||||||||||||||||||||||||||||
synopsebot | NQP#383 [open]: github.com/perl6/nqp/pull/383 Fix op_unless coercion | ||||||||||||||||||||||||||||||||||||||
wander | Last time I make a new nqp but run `nqp` instead of `./nqp`, thus I lost in "wtf" :\ | 06:15 | |||||||||||||||||||||||||||||||||||||
Does rakudo use the same LTM strategy as NQP? I means, do we implement it in NQP and them implement it again in rakudo? | 06:36 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp/patch-1: 59be3324d4 | (Alex Chen)++ | 2 files Resolve all 2-arg conditions |
08:25 | |||||||||||||||||||||||||||||||||||||
nqp/patch-1: b4fdfa7333 | (Alex Chen)++ | main.nqp Remove debug file |
08:41 | ||||||||||||||||||||||||||||||||||||||
lizmat | Files=1229, Tests=75890, 317 wallclock secs (14.77 usr 5.35 sys + 2187.72 cusr 217.00 csys = 2424.84 CPU) | 09:07 | |||||||||||||||||||||||||||||||||||||
wander: sorry, can't answer that question | 09:08 | ||||||||||||||||||||||||||||||||||||||
pmurias | wander: the QAST is correct, it's the moarvm generating code that is wrong | 09:16 | |||||||||||||||||||||||||||||||||||||
wander: I have reviewed your PR, if something is unclear I can clarify | 09:49 | ||||||||||||||||||||||||||||||||||||||
wander: thank you for finding the cause of the bug btw | |||||||||||||||||||||||||||||||||||||||
tbrowder | .tell samcv Thank you Sam I am! | 10:07 | |||||||||||||||||||||||||||||||||||||
yoleaux | tbrowder: I'll pass your message to samcv. | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: eed733e277 | (Martin Barth)++ | src/core/IO/Path.pm Fixed resolve of IO::Path for Windows Pathes with Windows volumes do no longer start with a seperator character. IO::Path.resolve: Added $volume to CWD |
11:57 | |||||||||||||||||||||||||||||||||||||
rakudo: f70e20bdf5 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Path.pm Merge pull request #1249 from ufobat/path_3rd RFC && 3rd attempt: Fixed resolve of IO::Path for Windows |
|||||||||||||||||||||||||||||||||||||||
synopsebot | RAKUDO#1249 [closed]: github.com/rakudo/rakudo/pull/1249 RFC && 3rd attempt: Fixed resolve of IO::Path for Windows | ||||||||||||||||||||||||||||||||||||||
nqp/patch-1: 05eb3097a5 | (Alex Chen)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp Improve impl, pmurias++ |
12:40 | ||||||||||||||||||||||||||||||||||||||
wander | pmurias: yes, I don't know our QAST can handle that then. | 12:41 | |||||||||||||||||||||||||||||||||||||
Thanks for your review, maybe my last commit do what you means :) | |||||||||||||||||||||||||||||||||||||||
I'm not quite sure how our registers alloc, too. Try to work it out | 12:42 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 68439403ec | pmurias++ | src/vm/js/Utils.nqp [js] Remove extra whitespace |
13:38 | |||||||||||||||||||||||||||||||||||||
nqp: 8a06289378 | pmurias++ | src/vm/moar/QAST/QASTOperationsMAST.nqp Fix wrong coercion in if on moar my int $bar := $foo || 200; should now work correctly |
|||||||||||||||||||||||||||||||||||||||
nqp: 0a5e03a21e | pmurias++ | t/nqp/012-logical.t Add test for fixed bug |
|||||||||||||||||||||||||||||||||||||||
pmurias | wander: the bug was in a different place, I fixed that | ||||||||||||||||||||||||||||||||||||||
wander | oh. thank you | 13:39 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
14:12 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: 00660af056 | (Alex Chen)++ | t/nqp/012-logical.t Add test of logical ops This is one bad case of an incorrect fixing of `||` logic. It says 0, which should be 200. Add this test to prevent regressions from happening. |
17:45 | |||||||||||||||||||||||||||||||||||||
travis-ci | NQP build passed. Alex Chen 'Add test of logical ops | 18:05 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/perl6/nqp/builds/313080859 github.com/perl6/nqp/compare/0a5e0...660af056f0 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | releasable6: next | 22:09 | |||||||||||||||||||||||||||||||||||||
releasable6 | AlexDaniel, Next release in 8 days and ≈20 hours. No blockers. 0 out of 76 commits logged | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, Details: gist.github.com/b10bb6a66d4948ff03...31d82a9d4a |