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