[00:23] bah, the case with IO::Handle.lines wound up being slower instead [01:19] *** Altai-man_ joined [01:21] *** sena_kun left [02:36] Time for an nqp bump to pick up today's many changes? [03:00] *** tinmarino left [03:20] *** sena_kun joined [03:21] *** Altai-man_ left [04:51] ¦ rakudo: tinmarino++ created pull request #3558: Better error message when calling a star proto without declared multi [04:51] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/3558 [05:19] *** Altai-man_ joined [05:22] *** sena_kun left [06:05] ¦ nqp: 831266288f | (Christian Bartolomäus)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java [06:05] ¦ nqp: [JVM] Always provide file and line in backtrace [06:05] ¦ nqp: [06:05] ¦ nqp: This helps with a couple of spectests that die in core.c/Backtrace.pm6, in [06:05] ¦ nqp: https://github.com/rakudo/rakudo/blob/9429728cbd/src/core.c/Backtrace.pm6#L107 [06:05] ¦ nqp: [06:05] ¦ nqp: The code tries to mimic the behaviour of MoarVM, esp. [06:05] ¦ nqp: https://github.com/MoarVM/MoarVM/blob/3c3ad0678a/src/core/exceptions.c#L555-L572 [06:05] ¦ nqp: review: https://github.com/Raku/nqp/commit/831266288f [06:05] ¦ nqp: d86a2e7cda | (Christian Bartolomäus)++ (committed using GitHub Web editor) | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java [06:05] ¦ nqp: Merge pull request #606 from usev6/jvm_backtrace [06:05] ¦ nqp: [06:05] ¦ nqp: [JVM] Always provide file and line in backtrace [06:05] ¦ nqp: review: https://github.com/Raku/nqp/commit/d86a2e7cda [06:27] *** hungrydonkey joined [07:20] *** sena_kun joined [07:21] *** Altai-man_ left [07:30] *** AlexDaniel` joined [08:01] *** sena_kun1 joined [08:01] *** sena_kun left [08:08] *** sena_kun1 left [08:34] ¦ rakudo: 82b3249839 | (Daniel Green)++ | tools/templates/NQP_REVISION [08:34] ¦ rakudo: NQP bump to pick up optimizer and JVM improvements [08:34] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/82b3249839 [09:30] jnthn: should i change all cases of $ actually being an @ in NQP? or just the cases where +$ is being used to mean nqp::elems? [09:39] *** sena_kun joined [09:39] *** sena_kun left [09:39] Probably just those where there's some benefit [09:40] heh, that's what i was hoping, there are a lot of places to change otherwise [09:44] i added a call to MVM_dump_backtrace in MVM_coerce_smrt_intify at the array case and then redirected all the output to a file and searched for all the 'at ' lines, so i could count the unique locations [09:45] however, a bunch of them pointed to places that weren't actually a `+$`. is there a better way to do that? [09:47] jnthn: oh, btw, did you see that question i asked timotimo in #raku last night? i was seeming some odd behavior with rbt's patch to String::CRC32 [09:51] Files=1305, Tests=111216, 206 wallclock secs (28.64 usr 8.31 sys + 2897.45 cusr 267.17 csys = 3201.57 CPU) [09:53] *** travis-ci joined [09:53] Rakudo build errored. Daniel Green 'NQP bump to pick up optimizer and JVM improvements' [09:53] https://travis-ci.org/rakudo/rakudo/builds/664752860 https://github.com/rakudo/rakudo/compare/9429728cbd89...82b324983982 [09:53] *** travis-ci left [09:53] ¦ rakudo: 38a0eb8291 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Internals/JSON.pm6 [09:53] ¦ rakudo: Make the internal JSONifier unpretty by default [09:53] ¦ rakudo: [09:53] ¦ rakudo: There's no reason to create pretty JSON, it's for internal use only. [09:53] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/38a0eb8291 [10:57] ¦ rakudo: 35a827af36 | (Elizabeth Mattijsen)++ | src/core.c/Pair.pm6 [10:57] ¦ rakudo: Remove unnecessary parens in Pair.raku [10:57] ¦ rakudo: [10:57] ¦ rakudo: Fixes R#3555. The parens are needed only if the key is a Pair also. [10:57] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/35a827af36 [10:57] R#3555 [open]: https://github.com/rakudo/rakudo/issues/3555 [LTA][regression] Pair.raku adds unnecessary parens [11:03] *** Ven`` joined [11:06] ¦ roast: 94a78e6bab | (Elizabeth Mattijsen)++ | S02-types/pair.t [11:06] ¦ roast: Add tests for R#3555 [11:06] ¦ roast: review: https://github.com/Raku/roast/commit/94a78e6bab [11:06] R#3555 [open]: https://github.com/rakudo/rakudo/issues/3555 [LTA][regression] Pair.raku adds unnecessary parens [11:09] jnthn can you take a look at https://github.com/rakudo/rakudo/pull/3491 and https://github.com/rakudo/rakudo/pull/3451 ? [11:09] the one you commented on is one i plan on revising at some point later on [11:16] *** travis-ci joined [11:16] Rakudo build errored. Elizabeth Mattijsen 'Make the internal JSONifier unpretty by default [11:16] https://travis-ci.org/rakudo/rakudo/builds/664775267 https://github.com/rakudo/rakudo/compare/82b324983982...38a0eb829106 [11:16] *** travis-ci left [11:17] restarted one failing job [11:42] *** travis-ci joined [11:42] Rakudo build passed. Elizabeth Mattijsen 'Make the internal JSONifier unpretty by default [11:42] https://travis-ci.org/rakudo/rakudo/builds/664775267 https://github.com/rakudo/rakudo/compare/82b324983982...38a0eb829106 [11:42] *** travis-ci left [11:52] *** hungryd87 joined [11:54] *** hungrydonkey left [12:07] ¦ rakudo: 291aa580ac | (Elizabeth Mattijsen)++ | src/core.c/Buf.pm6 [12:07] ¦ rakudo: Give Buf.list the same treatment as Blob.list [12:07] ¦ rakudo: [12:07] ¦ rakudo: As there is little point in being lazy when you're returning a cache. [12:07] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/291aa580ac [12:38] *** hungrydonkey joined [12:40] *** hungryd87 left [13:14] ¦ rakudo: 80f2aebff4 | (Elizabeth Mattijsen)++ | src/core.c/native_array.pm6 [13:14] ¦ rakudo: Fix performance issue on native shaped arrays [13:14] ¦ rakudo: [13:14] ¦ rakudo: It appeared that the created type wasn't actually composed yet, so [13:14] ¦ rakudo: it would keep looking up and typechecking stuff, which caused the [13:14] ¦ rakudo: big slowdown (by a factor of 15x or so). [13:14] ¦ rakudo: [13:14] ¦ rakudo: Not 100% this is the best solution, but it fixes the performance issue [13:14] ¦ rakudo: and is spectest clean. Fixes R#3532 [13:14] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/80f2aebff4 [13:14] R#3532 [open]: https://github.com/rakudo/rakudo/issues/3532 [native types][performance][shaped] Looping sized native typed array is slow [13:17] <[Coke]> lizmat++ [13:29] *** sena_kun joined [13:29] *** sena_kun left [13:41] *** sena_kun joined [14:04] lizmat++ # nice fixes [14:04] yeah, you gotta do something.. :-) [14:05] might as well be something useful :-) [14:20] lizmat++ [14:22] ¦ rakudo/master: 5 commits pushed by (Elizabeth Mattijsen)++ [14:22] ¦ rakudo/master: fc8c8281c3 | Split history src/core.c/operators.pm6 to src/core.c/Rakudo/SEQUENCE.pm6 [14:22] ¦ rakudo/master: 935ee309c5 | Split history src/core.c/operators.pm6 to src/core.c/Rakudo/SEQUENCE.pm6 [14:22] ¦ rakudo/master: 08545a33d6 | Split history src/core.c/operators.pm6 to src/core.c/Rakudo/SEQUENCE.pm6 [14:22] ¦ rakudo/master: d2ed7faa19 | Split history src/core.c/operators.pm6 to src/core.c/Rakudo/SEQUENCE.pm6 [14:22] ¦ rakudo/master: fbf54e1767 | Move the SEQUENCE logic into a separate file [14:22] ¦ rakudo/master: review: https://github.com/rakudo/rakudo/compare/80f2aebff482...fbf54e176725 [15:18] *** tinmarino joined [15:19] *** Altai-man_ joined [15:21] *** pmurias joined [15:22] *** sena_kun left [15:23] Hi all, [15:24] ¦ rakudo: 509a7f6eca | (Elizabeth Mattijsen)++ | 10 files [15:24] ¦ rakudo: Remove unnecessary implementation detail [15:24] ¦ rakudo: [15:24] ¦ rakudo: &SEQUENCE somehow lived in the CORE:: but didn't need to. Move [15:24] ¦ rakudo: it into Rakudo::SEQUENCE and rename the sub to "iterator", as [15:24] ¦ rakudo: that is the most logical thing to be returned from a SEQUENCE [15:24] ¦ rakudo: generator. Adapt the code and the keys tests accordingly. [15:24] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/509a7f6eca [15:24] afk& [15:25] (no newline ...) I'd like to work on Rakudo these days. Spotting easy issues led me to Error messages. What do you think of this one (dynamic type check Vs static) https://github.com/rakudo/rakudo/issues/3364 [15:28] Also not sure how to fix this one https://github.com/rakudo/rakudo/issues/1746 (Error missing declared signature if `where` clause is used in proto) [15:45] Also: a novice question: can you trace nqp call stack in Rakudo interpreter to prevent recompiling to indentify the source of the bug ? Some flag ? [15:48] Maybe the --ll-exception option to Rakudo, which leaves a lot more detail in? [15:57] ¦ nqp: 75735628a1 | (Daniel Green)++ | 15 files [15:57] ¦ nqp: Get rid of a lot of `nqp::intify` calls [15:57] ¦ nqp: [15:57] ¦ nqp: When it's known to be called on a list (e.g., `+@foo`) it's usually [15:57] ¦ nqp: optimized into `nqp::elems`, but not always. I'm not sure why, maybe [15:57] ¦ nqp: it's too early in the build process for the NQP optimizer to kick in, so [15:57] ¦ nqp: manually optimize the most frequent cases. [15:57] <[Coke]> to prevent recompilation, 'no precompilation;' works in rakudo source. [15:57] ¦ nqp: review: https://github.com/Raku/nqp/commit/75735628a1 [15:57] @jnthn that's exactely what I was looking for. Thanks [16:07] *** Ven`` left [16:50] *** travis-ci joined [16:50] Rakudo build errored. Elizabeth Mattijsen 'Remove unnecessary implementation detail [16:50] https://travis-ci.org/rakudo/rakudo/builds/664892761 https://github.com/rakudo/rakudo/compare/fbf54e176725...509a7f6ecab1 [16:50] *** travis-ci left [16:54] <[Coke]> nqp: say(1) [16:54] nqp-moarvm: OUTPUT: «1␤» [16:54] <[Coke]> nqp: writeint [16:54] nqp-moarvm: ( no output ) [16:55] <[Coke]> nqp: writeintasdfasdf [16:55] nqp-moarvm: ( no output ) [16:56] <[Coke]> lizmat: when you added the docs for writeint, you have the entry as "nqp::writeint" instead of "writeint" - is it required on use, do you recall or was that just stylistic? [16:56] <[Coke]> (nqp) [16:58] ah, good point... [16:58] all those ops need the nqp:: prefix to be used... [16:59] but none are shown there, so yes, it's inconsistent [16:59] <[Coke]> ok. the check for docs doesn't know how to deal with a prefix'd nqp:: there, so we get more fails. I'll update the test to not ignore that. [16:59] <[Coke]> lizmat: it's shown for writeint. [16:59] <[Coke]> missing on others? [16:59] yeah, fixing it now :-) [17:00] When invoking them directly, you'll need to prefix them with nqp::, e.g. [17:00] nqp::mul_i(6,9); [17:00] is what it says in the docs [17:01] <[Coke]> +1 [17:03] ¦ nqp: a4658a5496 | (Elizabeth Mattijsen)++ | docs/ops.markdown [17:03] ¦ nqp: Remove nqp:: prefix for consistency [17:03] ¦ nqp: [17:03] ¦ nqp: It's not used anywhere else in that context. Coke++ for spotting [17:03] ¦ nqp: review: https://github.com/Raku/nqp/commit/a4658a5496 [17:04] restarted the failing Travis job [17:09] *** TreyHarris joined [17:13] <[Coke]> lizmat: heh. I had a commit going the other way, assuming it'd get added in. :) [17:14] <[Coke]> (to update the doc test). [17:14] ok, fine by me as well... maybe we should document it that if you're writing QAST, you can drop the nqp:: [17:14] as that nowadays is the less frequent use, I'd say [17:14] <[Coke]> nono, this is fine [17:15] <[Coke]> I'm just trying to reduce the error count in t/docs/opcode.t [17:20] *** sena_kun joined [17:22] *** Altai-man_ left [17:23] ¦ nqp: 70905445ba | Coke++ | docs/ops.markdown [17:23] ¦ nqp: Document tclc opcode [17:23] ¦ nqp: review: https://github.com/Raku/nqp/commit/70905445ba [17:31] <[Coke]> https://github.com/Raku/nqp/blob/master/docs/ops.markdown#pushcompsc - where is this opcode defined? [17:31] <[Coke]> (or declared?) [17:34] <[Coke]> looks like it was added by cognomial [17:34] <[Coke]> (in the docs) [17:37] [Coke]: src/vm/moar/QAST/QASTOperationsMAST.nqp:2584: [17:38] ¦ nqp: ec31f5d0fd | Coke++ | docs/ops.markdown [17:38] ¦ nqp: mark some ops as backend specific [17:38] ¦ nqp: review: https://github.com/Raku/nqp/commit/ec31f5d0fd [17:43] ¦ nqp: c454df1e8f | Coke++ | docs/ops.markdown [17:43] ¦ nqp: fix typo [17:43] ¦ nqp: review: https://github.com/Raku/nqp/commit/c454df1e8f [17:50] <[Coke]> under 400 failures, whee. [18:03] *** hungrydonkey left [18:30] ¦ nqp: 26182419e5 | (Daniel Green)++ | 2 files [18:30] ¦ nqp: Convert more `nqp::intify` into `nqp::elems` [18:30] ¦ nqp: [18:30] ¦ nqp: Most of these were found when doing a Rakudo build. [18:30] ¦ nqp: review: https://github.com/Raku/nqp/commit/26182419e5 [18:33] ¦ roast: b0eda67335 | (Christian Bartolomäus)++ | S02-names/is_default.t [18:33] ¦ roast: [JVM] Unfudge passing test [18:33] ¦ roast: review: https://github.com/Raku/roast/commit/b0eda67335 [18:43] ¦ rakudo: 776ef80028 | (Daniel Green)++ | 5 files [18:43] ¦ rakudo: Convert `nqp::intify` calls into `nqp::elems` [18:43] ¦ rakudo: [18:43] ¦ rakudo: See https://github.com/Raku/nqp/commit/75735628a16ba1c2243696623d679ff99c86e8bd [18:43] ¦ rakudo: for context. [18:43] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/776ef80028 [18:44] with the previous nqp commits and ^^^, the number of MVM_coerce_smrt_intify calls when building rakudo is reduced by a little over 1 million [18:53] <[Coke]> wow [19:01] *** patrickb joined [19:19] *** Altai-man_ joined [19:21] *** sena_kun left [19:24] *** maggotbrain joined [21:20] *** sena_kun joined [21:22] *** Altai-man_ left [21:41] *** tinmarino left [22:07] *** hungrydonkey joined [22:37] m: say sub foo is nodal { } ~~ Callable [22:37] rakudo-moar 776ef8002: OUTPUT: «False␤» [22:37] m: say Metamodel::Primitives.is_type: sub foo is nodal { }, Callable [22:37] rakudo-moar 776ef8002: OUTPUT: «False␤» [22:38] bisectable6, say sub foo is nodal { } ~~ Callable [22:38] Kaiepi, Bisecting by output (old=2015.12 new=776ef80) because on both starting points the exit code is 0 [22:38] Kaiepi, bisect log: https://gist.github.com/80f873894f1c8691b871f59f2d8f8c86 [22:38] Kaiepi, (2020-03-10) https://github.com/rakudo/rakudo/commit/771b95438e4059e50fd1153e4e611e9f000c0569 [22:39] hm [22:40] not the first time we see this commit :) [22:46] Kaiepi: feel free to re-revert that, but could you add a spectest? [22:48] m: BEGIN Sub.^setup_mixin_cache; say sub foo is nodal { } ~~ Callable [22:48] rakudo-moar 776ef8002: OUTPUT: «True␤» [22:48] sure [22:50] ¦ rakudo: a381202881 | (Ben Davies)++ | src/Perl6/Metamodel/Mixins.nqp [22:50] ¦ rakudo: Revert "Revert "Work around existing bug exposed by mixin caching."" [22:50] ¦ rakudo: [22:50] ¦ rakudo: This breaks typechecking for some types of mixins, such as `sub () is [22:50] ¦ rakudo: nodal { }`. [22:50] ¦ rakudo: [22:50] ¦ rakudo: This reverts commit 771b95438e4059e50fd1153e4e611e9f000c0569. [22:50] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/a381202881 [23:00] m: say sub { } does role { } ~~ Callable [23:00] rakudo-moar 776ef8002: OUTPUT: «True␤» [23:06] ERROR: Permission to Raku/roast.git denied to Kaiepi. [23:07] AlexDaniel`? [23:10] *** tinmarino joined [23:16] Do you know how I can call some object parent routine on itself ? [23:17] class Parent { method frob { say "the parent class frobs" } }class Child is Parent { method frob { say "the child's somewhat more fancy frob is called" } }my $c = Child.new; [23:18] I would like to call Parent.frob on $c [23:19] *** Altai-man_ joined [23:19] m: class Parent { method frob { say $?CLASS.^name; } }; class Child is Parent {}; my $c = Child.new; $c.frob; Parent.new.frob; [23:19] rakudo-moar a38120288: OUTPUT: «Parent␤Parent␤» [23:19] hmmm [23:20] oh, even easier [23:20] you can $c.Parent::frob [23:20] m: 'class Parent { method frob { say self.^name; } }; class Child is Parent {}; my $c = Child.new; $c.frob; Parent.new.frob; [23:20] rakudo-moar a38120288: OUTPUT: «5===SORRY!5=== Error while compiling ␤Unable to parse expression in single quotes; couldn't find final "'" (corresponding starter was at line 1)␤at :1␤------> 3c = Child.new; $c.frob; Parent.new.frob;7⏏5␤ expecting …» [23:20] tinmarino, ^ [23:20] m: class Parent { method frob { say self.^name; } }; class Child is Parent {}; my $c = Child.new; $c.frob; Parent.new.frob; [23:20] rakudo-moar a38120288: OUTPUT: «Child␤Parent␤» [23:20] *** Altai-man_ left [23:20] *** Altai-man_ joined [23:21] *** sena_kun left [23:22] OUch that was fast. Thanks guys !!! $c.Parent::frob is the solution I was looking for. [23:23] *** [Coke]_ joined [23:24] Humm I understand that "Parent::frob" is the indivisible name of the routine. Glad to hav easked (tk @timotimo) [23:24] :) [23:24] this also works with roles i believe [23:25] *** [Coke] left [23:26] A (self proclamed) good newbie, I'll make a PR on the doc lol