Geth rakudo: vrurg++ created pull request #3689:
Fix main-version.nqp dependencies
00:42 lucasb left
Geth rakudo: b71cb3ae7c | (Vadim Belman)++ | 2 files
Fix main-version.nqp dependencies

Make it depend on the list of files used to build SHA digest.
rakudo: b5f23aa0d0 | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files
Merge pull request #3689 from vrurg/fix-main-version-deps

Fix main-version.nqp dependencies
01:21 pamplemousse left
Geth rakudo: c988f83291 | (Tom Browder)++ | 2 files
Improve error message for too many directives in routine `sprintf`

Fix GH issue #3682
The problem is the erroneous use of a '$' symbol in the sprintf format statement does not give a hint of that possibility in the original exception code. That, coupled with incomplete sprintf documentation, ... (8 more lines)
linkable6 RAKUDO#3682 [open]: LTA error msg with improper use of '$' in format string
rakudo: c75d25c570 | (Tom Browder)++ (committed using GitHub Web editor) | 2 files
Merge pull request #3688 from tbrowder/sprintf-err

Improve error message for too many directives in routine `sprintf`
04:32 sena_kun joined 04:37 sena_kun left 04:38 sena_kun joined 06:04 Altai-man_ joined 06:06 sena_kun left 07:18 jjmerelo joined 07:49 MasterDuke left 08:04 MasterDuke joined 08:05 sena_kun joined 08:07 Altai-man_ left
sena_kun 08:24
08:43 jjmerelo left
[Tux] Rakudo version 2020.05.1-80-gc75d25c57 - MoarVM version 2020.05-10-g5fe4a8114
csv-ip5xs0.822 - 0.837
csv-ip5xs-208.212 - 8.510
csv-parser24.399 - 26.301
csv-test-xs-200.385 - 0.386
test7.267 - 7.422
test-t1.874 - 1.874
test-t --race0.809 - 0.828
test-t-2030.518 - 32.805
test-t-20 --race8.640 - 9.470
lizmat Files=1306, Tests=111281, 213 wallclock secs (28.57 usr 8.28 sys + 2994.20 cusr 271.76 csys = 3302.81 CPU) 09:34
09:45 squashable6 left, squashable6 joined 10:04 Altai-man_ joined 10:07 sena_kun left, MasterDuke left 10:14 patrickb joined 10:18 lichtkind joined
nine MasterDuke: I got a change log entry "When we're (int|num)ifying a list or hash..." in NQP. That's rather unhelpful. The commit subject should describe in very few words the user visible change (Fix blah, Speed up bleh, Add support for whatever...) 10:53
tellable6 nine, I'll pass your message to MasterDuke
Geth rakudo: 3ee1777a6b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make "42".Int about 4.3x faster

  - by the magic of removing code
  - other types of values remain as fast / slow as they were
lizmat grrr... the same change that yesterday made Inine::Perl5 fail because of version mismatch with Actions.nqp 11:06
now works like a charm, probabiy because there have been other changes
so it's starting to feel to me some kind of boundary problem that isn't being tickled anymore
nine lizmat: vrurg fixed the build system, so changes in Actions.nqp no longer break installed modules 11:09
lizmat aaah,, b71cb3ae7c79ea5e95fa
linkable6 (2020-05-12) Fix main-version.nqp dependencies
lizmat ok.... vrurg++ 11:10
Geth rakudo: 37533ee66e | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Use the more idiomatic FLATTENABLE_LIST

Because that's what it is for: to de-HLLize a HLL Array in NQP.
rakudo: cfc3e57f62 | (Donald Hunter)++ | src/core.c/Rakudo/Internals.pm6
Truncate .gist output for multidim arrays
rakudo: 4bfe5bd5b7 | (Donald Hunter)++ | src/core.c/Rakudo/Internals.pm6
Clean up whitespace
rakudo: 1464310b1d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Rakudo/Internals.pm6
Merge pull request #3685 from donaldh/multidim-gist

Truncate .gist output for multidim arrays
roast: f607f389ea | (Donald Hunter)++ | S09-multidim/methods.t
Update .gist tests for multidim arrays

This updates tests to match
roast: 708faddae3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S09-multidim/methods.t
Merge pull request #643 from donaldh/multidim-gist

Update .gist tests for multidim arrays
rakudo: 8d5a0f7026 | (Tim Smith)++ | 2 files
Fix .comb(Str) to ensure non-overlapping results

It is expected that .comb() returns non-overlapping results, and
  .comb('aa') should yield the same results as .comb(/aa/).
rakudo: a4ea2c78b4 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Merge pull request #3668 from softmoth/comb-str

Fix .comb(Str) to ensure non-overlapping results
roast: c9425490dd | (Tim Smith)++ | 3 files
Test "aaaa".comb("aa") gives non-overlapping results
roast: 1ca0b17c4f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files
Merge pull request #639 from softmoth/comb-str

Test "aaaa".comb("aa") gives non-overlapping results
11:25 MasterDuke joined 11:28 jjmerelo joined
Geth rakudo: 3b4794f4ae | (Ben Davies)++ | src/core.c/Mu.pm6
Allow typechecking of any instance against Mu

Smartmatching of against Mu itself would throw before. This fixes that, but causes problems with smartmatching with junctions.
rakudo: 840d3e8101 | (Ben Davies)++ | 3 files
Improve smartmatching with junctions

The last commit breaks smartmatching for junctions. While the compiler could handle their threading when smartmatching, this would break any existing code that has ACCEPTS candidates for junctions. Giving it a default ACCEPTS candidate allows existing code to work again.
While not strictly necessary for this to work, this also moves handling of junction smartmatching from Any to Mu. This allows `any(Mu, Any) ~~ Mu` to return `True` instead of `False`.
rakudo: f0594084e8 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files
Merge pull request #3614 from Kaiepi/mu-any-junction-smartmatching

Improve smartmatching against Mu/Any/Junction
11:49 patrickb left 11:54 patrickb joined 12:00 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Make "42".Int about 4.3x faster 12:00
12:00 travis-ci left
lizmat ^^ some transient connectivity failure, can't restart the job though :-( 12:02
12:05 sena_kun joined 12:07 Altai-man_ left
patrickb .tell rba Prebuilt releases of rakudo for 2020.05.1 are available for download from (as always). Can you upload to Thank you! 12:08
tellable6 patrickb, I'll pass your message to rba
12:09 jjmerelo left
patrickb sena_kun: Sorry for messing up the release. And thank you for pulling 2020.05.1 off. I hope we'll manage to prevent such fallouts in the future. 12:10
tellable6 2020-05-09T18:23:17Z #raku-dev <El_Che> patrickb thanks for the heads-up. Weirdly enough my relocatable tar.gz for linux does not seem to be broken.
2020-05-09T18:23:46Z #raku-dev <El_Che> patrickb: ~/Downloads/rakudo-2020.05/bin$ ./raku -v\nThis is Rakudo version 2020.05 built on MoarVM version 2020.05\nimplementing Raku 6.d.
2020-05-09T18:27:09Z #raku-dev <El_Che> patrickb Oh, I found the github issue for the Windows problem. You're right, NativeCall seems broken on Linux too
2020-05-10T15:00:52Z #raku-dev <El_Che> patrickb: The problem is fixed for relocatable linux as well. patrickb++
12:10 patrickb left
sena_kun patrickb++ # no problem as long as we can have more tests. :) 12:11
12:25 travis-ci joined
travis-ci Rakudo build errored. Sylvain Colinet 'Make the 'is' routine in Test not throwing an error on failure when the type can't be stringified, falling back on .raku instead. 12:25
12:25 travis-ci left
nine Why would BEGIN time EVAL stuff cause us to throw serialization errors due to missing static frames for totally random seeming frames like { $obj.HOW.compose($obj, :$compiler_services) }? 12:28
12:31 samcv left, samcv joined 12:44 [TuxCM] left 12:53 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Use the more idiomatic FLATTENABLE_LIST 12:53
12:53 travis-ci left 13:00 travis-ci joined
travis-ci Rakudo build errored. Sylvain Colinet 'Make the 'is' routine in Test not throwing an error on failure when the type can't be stringified, falling back on .raku instead. 13:00
13:00 travis-ci left
lizmat tyil: I think the module bot is awol again 13:08
or maybe I'm too fast :-)
[Coke] I saw an update for your module on #raku 13:12
lizmat argh, looking in the wrong places again :-( 13:22
tyil: sorry for the noise 13:23
tyil np 13:29
13:42 pamplemousse joined 13:44 MasterDuke left 13:52 MasterDuke joined 14:04 Altai-man_ joined 14:07 sena_kun left
Geth nqp/new-disp: 031d8f9ff7 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Basic compilation of new dispatch operation
nqp/new-disp: 582cf22c86 | (Jonathan Worthington)++ | t/moar/53-dispatch.t
An initial test for the new dispatchers

Failing at time of commit.
nqp/new-disp: 69f9a65419 | (Jonathan Worthington)++ | 2 files
Mark literal call arguments in callsites
15:06 lichtkind left
gfldex Is there a reason why IO::Path can tell me that a file is not 0 size but can't give me the actual size? 15:47
sorry my bad 15:48
it's just hard to ctrl-f
[Coke] how to force a rebuild of --moar when building rakudo? (trying to use --moar-option and it's not even bothering because Moar is new enough) 15:59
MasterDuke rm -rf nqp/MoarVM ? 16:00
[Coke] ah, --force-rebuild. :) 16:01
nine cd nqp/MoarVM ; make clean ; make install
[Coke] nine++
16:05 sena_kun joined 16:07 Altai-man_ left 16:22 camelCaser left, ccamel joined 16:25 jjmerelo joined 16:58 guifa2_ joined 17:01 guifa2 left
Geth rakudo/master: 4 commits pushed by (Ben Davies)++, (Elizabeth Mattijsen)++ 17:21
18:04 Altai-man_ joined 18:06 sena_kun left
Geth rakudo: c3b1290668 | (Elizabeth Mattijsen)++ | 25 files
Remove return constraint from .WHICH methods

These methods are basically very simplistic, so it's clear that what is being expected, will actually be returned. Since for some applications this is hot code, this makes sense. For instance, this makes Str.WHICH about 2x as fast.
lizmat :q 18:22
jnthn Yes, but the point of return constraints is also introspection... 18:25
Each one you remove is also removing information seen by IDE users. 18:26
Plus making the effects of my new-disp work look like less, 'cus it'd probably speed up these cases anyway :P 18:27
18:28 pamplemousse left 18:30 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Merge pull request #3585 from Kaiepi/capture 18:30
18:30 travis-ci left
Geth rakudo: be36ec3822 | (Elizabeth Mattijsen)++ | 25 files
Revert "Remove return constraint from .WHICH methods"

Make sure IDE users have the return constraint introspection. It also looks like the GDO will ameliorate.
lizmat jnthn ^^ 18:37
MasterDuke i didn't realize return constraints were still so expensive. i remember that being the case a while ago, but for some reason thought that wasn't true anymore 18:38
jnthn I didn't think it was either, fwiw...spesh often rips them out. I do wonder if it somehow isn't in this case. 18:41
lizmat well, for very small methods it becomes visible, such as Str.WHICH
which gets pretty hot for something like $str.comb.Bag 18:42
jnthn In new-disp, though, there will not be any invocation of bytecode at all for the return type check in the case it's identity.
At the moment the spesh plugin invokes an identity function and then relies on it getting inlined to achieve better peak performance.
lizmat yeah, but this would not be identity 18:43
jnthn ?
Does it have to be decont'd?
lizmat Str.WHICH returns a ValueObjAt, not a Str
jnthn Ah, I should explain better
The return type check spesh plugin isn't just checking, it's also decont'ing or recont'ing 18:44
Or in the case we have here, just saying "ok, the value as it is will be fine"
*that* is the identity bit
lizmat ok, indeed, no decont needed 18:45
nine I.e. if it doesn't have to decont or recont and the return value has a known type that's matching, it won't bother to check?
jnthn nine: Today the spesh plugin sees it's not a container, and that the type matches. It makes a guard entry that is effectively: if it's ValueObjAt, then run -> \x { x } on the return value - e.g. identity 18:47
Spesh can then inline this, and it inlines to nothing. However, *until* inlining happens, we have to actually pay for an invoke of the identity function there.
nine Ah, ok, that makes perfect sense now
jnthn new-disp, however, is capable of more outcomes than "invoke bytecode", including "produce this value out of the set of input arguments" 18:48
Or at least, will be soon :)
Thus the identity case doesn't need to run any bytecode at all.
nine Btw. music recommendation for deep and hard coding sessions (3:46 hours): 18:49
jnthn It'll just say "ah, grab the first arg to the dispatch and set it as the result of the dispatch and we're done"
nine (was engaged in all my successes in the past two months)
jnthn Spesh itself will have an easier time of this too; it won't need to take the whole inlining path, it can instead just say "well, I'll turn the dispatch instruction into a set" 18:50
18:50 vrurg joined
nine When looking at the extops I've wondered whether new-disp may give a way to implement FIRST efficiently without the extop (by dispatching to a version running the FIRST code on the first run and a NULL code on subsequent ones) 18:51
MasterDuke i don't really listen to music much nowadays, but i used to listen to the descent (don't remember if it was 1 or 2) soundtrack back when game cds would also work as music cds
Geth rakudo: dwarring++ created pull request #3690:
expose IO::Handle.forget-about-closing($fd) method
19:15 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Remove return constraint from .WHICH methods 19:15
19:15 travis-ci left 19:25 jjmerelo left 19:30 lichtkind joined
Geth rakudo/master: 4 commits pushed by (Elizabeth Mattijsen)++ 19:50
20:05 sena_kun joined 20:06 Altai-man_ left
nine is a good example for why I'm sometimes reluctant to review a PR. Probably took me longer than the author needed for the PR to look at it, dig into the topic, find out why I don't like the solution and write up my reasoning all just to end up saying "no" to a contributor, which is never a good feeling. 20:27
lizmat nine++ 20:29
nine On the other hand it's vital that we do anyway. Because the only alternatives are getting a screwed up mishmash of an API (and having to break stuff when we want to fix it) or never gaining contributors.
20:38 Altai-man_ joined 20:40 sena_kun left 20:41 MasterDuke left 21:52 ufobat__ joined 21:56 ufobat_ left 22:08 MasterDuke joined 22:11 Altai-man_ left 23:07 lichtkind left
Geth rakudo: d9defb6c08 | (Tom Browder)++ (committed using GitHub Web editor) | src/core.c/Exception.pm6
Tweak error message
23:32 gfldex joined