02:58 pamplemousse left 03:13 pamplemousse joined 03:17 pamplemousse left 06:21 [TuxCM] joined 06:23 [Tux] left 06:32 [Tux] joined 08:05 MasterDuke joined 08:06 Altai-man_ joined
Geth rakudo: Altai-man assigned to lizmat Issue Date(now) no longer works github.com/rakudo/rakudo/issues/3683
9dcbc5ff76 | (Elizabeth Mattijsen)++ | src/core.c/Dateish.pm6

Fixes R#3683
08:17
08:17 sena_kun joined 08:19 Altai-man_ left
MasterDuke github.com/marketplace/actions/con...-benchmark looks interesting 08:28
08:50 jjmerelo joined 09:12 jjmerelo left
lizmat Files=1306, Tests=111255, 213 wallclock secs (28.95 usr 8.37 sys + 3010.37 cusr 274.11 csys = 3321.80 CPU) 09:22
linkable6 R#3683 [open]: github.com/rakudo/rakudo/issues/3683 Date(now) no longer works
lizmat so I see several people here with connection issues, is this a known freenode issue ? 09:39
09:45 jjmerelo joined
lizmat fg 09:48
Geth roast: 6a90004e15 | (Elizabeth Mattijsen)++ | 2 files
Add tests for R#3683
09:49
linkable6 R#3683 [open]: github.com/rakudo/rakudo/issues/3683 [tests needed] Date(now) no longer works
lizmat jjmerelo o/ 09:50
MasterDuke yeah, took me a while to get in this morning also 10:03
lizmat weird, either my client auto-reconnects invisibly, or it's some kind of localized issue 10:08
lizmat is connected to cherryh.freenode.net 10:09
10:16 Altai-man_ joined
Geth rakudo/master: 4 commits pushed by (Daniel Green)++, (Elizabeth Mattijsen)++ 10:17
MasterDuke stross.freenode.net, but using the webclient 10:18
lizmat stross? for sure? :-)
10:19 sena_kun left
MasterDuke yeah, they're all scifi author names 10:19
gfldex R#2779 can be closed. 10:21
linkable6 R#2779 [open]: github.com/rakudo/rakudo/issues/2779 [ecosystem modules] Regression in WWW
lizmat :-) you know Charlie Stross used to be a Perl programmer and once gave a keynote at a YAPC::NA, right ?
gfldex Also in the last year the benchmark that triggeres this bug got twice as fast.
lizmat closed the issue 10:22
MasterDuke lizmat: yeah, though i've never seen that talk 10:23
lizmat I remember it as being a nice talk 10:25
10:49 ufobat joined
jjmerelo I tried to get him as keynote for YAPC in Granada... No luck. He's booked up, and also somewhat frail in health, so he does not take many... 10:51
tellable6 2020-05-12T09:22:14Z #raku <lizmat> jjmerelo: no, I didn't
Geth rakudo: de43f193af | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Make "my $a is Type[Foo,Bar] work for all types

Finally grokked how type traits are handled. Should allow the Rake module to work with:
   my @a is Rake[Int,Str] = 42,"foo";
Previously it only allowed QuantHashes to be parameterized like that.
10:56
jnthn Hm, and how did it allow QuantHashes to do that? 10:57
oh wow, that was special-case-y :)
gfldex R#2538 can be closed. 11:00
linkable6 R#2538 [open]: github.com/rakudo/rakudo/issues/2538 [regression] .resume on control exceptions does not work all the time
lizmat yeah... with a lot of comment that no-one picked up on :-) 11:01
m: my %a is Set is Bag = 1,2,3; dd %a # we probably shouldn't be allowing this, right jnthn ? 11:02
camelia (2=>1,3=>1,1=>1).Bag
jnthn No, that's probably a thinko that we should catch 11:05
nine Funny how the day after I started working on BEGIN time EVAL, issue #2779 pops up again 11:24
(which is about a BEGIN time EVAL problem)
lizmat somehow borked Inline::Perl5 testing in make spectest 11:31
at least for me personally 11:32
moritz I *personally believe* that your spectest is borked :D 11:33
lizmat nukes the install directory 11:51
MasterDuke i find it tricky because i have a "system" raku and a locally installed raku. zef by default uses my system raku, but spectest uses my locally installed one 11:56
so i was just trying a couple different things and yeah, spectest thinks I::P5 isn't installed, but zef does (and force installing doesn't help) 11:58
nine MasterDuke: run it like this: nine@sphinx:~/rakudo/t/spec (master *=)> perl fudgeandrun $(sed 's/#.*//' spectest.data | grep '\.t')
This is using the system raku
As to Inline::Perl5 not being found, the spectest should actually tell you what you have to do to get that working
MasterDuke but i don't want to use the system raku, i want to use the local one, because that's what'll have any changes i've made to moarvm/nqp/rakudo 11:59
nine: yeah, i've copied and ran it, and tried to modify it to use my local raku, no success 12:00
i kind of like having the system one as a clean basis of comparison. but maybe it makes more sense just to remove it and have a separate locally built clean one 12:03
Geth rakudo: 5561669b3f | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Streamline variable "is" / "of" handling

  - use nqp::null as a semaphore instead of an additional int
  - add "check_type" sub to see if a type was specified before
  - check for multiple "is" traits on a variable and sorry about that
12:09
lizmat nine: if you apply what the spectest says, it comes back with "already installed"
12:09 [Tux] left
lizmat but that doesn't fix that issue 12:09
nuking install from scratch did 12:10
*and installing
12:17 sena_kun joined 12:19 Altai-man_ left
Geth roast: bc69ad8bf4 | (Elizabeth Mattijsen)++ | S02-types/is-type.t
Add tests for "is Foo[...]" and "is Foo is Bar"
12:20
12:23 [Tux] joined 12:36 pamplemousse joined 12:57 jjmerelo left
lizmat ok, the plot thickens: I made a change in src/Perl6/Actions.nqp and now: 13:18
a. it can't find Inline::Perl5 anymore in make spectest
b. make test in the Inline::Perl5 repo fails with: Missing or wrong version of dependency 'gen/moar/Actions.nqp'
so I guess somehow b. is making a. happen 13:19
nine Ah, that makes sense. The spectest checks for Inline::Perl5 by basically running raku -e 'use Inline::Perl5'. It doesn't differentiate between a not found and a failure to load 13:20
lizmat but how does b. happen? 13:21
am I supposed to reconfig when I make a change to src/Perl6/Actions.nqp ??
didn't use to 13:22
also: S06-operator-overloading/imported-subs.t fails with the same error
the "use Exportops" seems to be the trigger 13:23
which does nothing special afaics 13:24
apart from exporting operators
nine no idea 13:25
vrurg lizmat: It could be a build problem. About once in a month I get into it but can't manage to catch the cause. But full rebuild helps. 13:34
Unless it is really something different in your case. 13:35
lizmat will try to make a reproducible case 13:57
vrurg it'd be great if you succeed. Thanks! 14:03
14:11 pamplemousse left 14:12 pamplemousse joined 14:16 Altai-man_ joined 14:17 pamplemousse left
Geth rakudo: a90749774b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Be consistent in use of self in Str.Numeric

This appears to have the tiniest bit of improved performance.
14:18
14:19 sena_kun left
timotimo sweet 14:22
lizmat ++@evenodd[.Int % 2] for $line.words.skip(2).head(5); # also seems to improve things 14:29
14:43 pamplemousse joined
timotimo .Int is faster than implicit .Numeric 14:45
?
lizmat yeah 14:48
jnthn I think .Int has a fast-path for the most common case
I vaguely remember putting that in at some point
lizmat actually, I think I can apply the same fast path for .Numeric
looking good so far, making "42".Numeric about 4x as fast
jnthn Does it make things worse for non-integers? 14:52
afk a bit 14:54
15:02 pamplemousse left 15:03 pamplemousse joined 15:07 pamplemousse left 15:10 donaldh joined 15:12 travis-ci joined
travis-ci Rakudo build failed. Sylvain Colinet 'Test, refactor a if try block into a try or block' 15:12
travis-ci.com/Skarsnik/rakudo/builds/165475697 github.com/Skarsnik/rakudo/compare...efe9120d20
15:12 travis-ci left 15:26 jjmerelo joined
nine Somehow my $compiler = nqp::clone(nqp::getcomp('Raku')); my $g = $compiler.parsegrammar but role :: { ... }; $compiler.parsegrammar($g); $compiler.compile(...) leads to a "Serialization Error: missing static code ref for closure '<unit-outer>' (-e:1)" if done during BEGIN them when precompiling. 15:29
But only if that role actually contains methods/tokens.
use Perl6::Grammar:from<NQP>;
grammar LenientRaku is Perl6::Grammar { ... } ... does not, but needs a couple of fixes to rakudo to actually work 15:30
donaldh I'm modifying .gist for multidim arrays to truncate output, like this: gist.github.com/donaldh/b947e78324...da9ddd86a3 15:34
But there's some minimal spectest fallout because the .gist output is checked. 15:35
15:35 pamplemousse joined
donaldh Are spectests like .gist checks allowed to be changed? 15:35
lizmat donaldh: I would be ok with that :-) 15:36
ok, I have a patch for making Str.Numeric about 4x as fast for simple integers 15:37
donaldh lizmat: what's the right sequence for doing that? Is it spectest PR first then raku PR ? 15:38
lizmat spectest clean... will do timings for several possible values
donaldh: rakudo PR / roast PR
but first some cycling& 15:39
Geth rakudo: donaldh++ created pull request #3685:
Truncate .gist output for multidim arrays
15:44
16:03 sena_kun joined 16:05 Altai-man_ left
nine vrurg: just got a Missing or wrong version of dependency 'gen/moar/Grammar.nqp' (from '/home/nine/Inline-Perl5/lib/Inline/Perl5.pm6 (Inline::Perl5)') 16:16
vrurg: that could happen if the source-digest doesn't get updated in main-version.nqp 16:21
Geth roast: donaldh++ created pull request #643:
Update .gist tests for multidim arrays
16:26
nine Unfortunately I really don't understand this build system anymore. Can't even find the code that should update this
timotimo nine: do you --no-silent-build religiously like i do? 16:31
nine no 16:33
But I now added it to my config.status
16:36 lichtkind joined
nine There's no "+++ Expanding gen/moar/main-version.nqp" in the build that caused the failure 16:36
17:45 squashable6 left, squashable6 joined
vrurg nine: thank you! That's a good catch. 18:03
18:04 Altai-man_ joined
vrurg nine: was it Grammar.nqp you changed prior to the build? 18:06
18:07 sena_kun left
[Tux] Rakudo version 2020.05.1-75-ga90749774 - MoarVM version 2020.05-10-g5fe4a8114
csv-ip5xs1.085 - 1.096
csv-ip5xs-208.331 - 9.214
csv-parser25.068 - 25.359
csv-test-xs-200.384 - 0.386
test7.333 - 7.494
test-t1.789 - 1.816
test-t --race0.904 - 0.954
test-t-2030.635 - 31.048
test-t-20 --race8.614 - 8.773
18:09
MasterDuke oh hey, back down below 1.8
nine vrurg: yes 18:17
vrurg Then I hope its not a gmake bug because Grammar.nqp is in the dependencies of main-version.nqp 18:19
nine My golden rule of debugging: the bug is always in your own code :) 18:20
vrurg And...!!! The rule is in fact golden because it is not in the list. 18:21
[Coke] vrurg: where are those deps listed? 18:22
vrurg As well as Actions.nqp... Heh :(
[Coke] (just in the makefile?)
nine vrurg: RAKUDO_G_SRC_MOAR missing
ah you got it already
vrurg [Coke]: yes, they're. But I think instead of adding all these 'list of sources' kind of variables, I better get the list which is used to generate sha and use it as main-version deps. 18:23
nine: thanks a lot! 18:25
18:28 jjmerelo left
nine Ah build systems....never fun :D 18:49
vrurg nine: don't remind me about this! I've almost convinced myself otherwise... :) 18:57
BTW, do we have any paper on coding standards? Style, primarily. I demand 4 space indentation from a contributor, but can't find any standard on this. 18:58
nine I don't think so 18:59
The usual "stick to what's used in the file you're working on" applies
vrurg Ok, one more TODO for myself 19:00
19:35 camelCaser left, camelCaser joined 19:40 MasterDuke left 19:42 lucasb joined
tbrowder there is currently one test in rakudo/t for just one type of error when there are three types of errors that can be handled by the same exception. should the other two types be put into roast or added to rakudo/t? 19:54
[Coke] in general, I'd keep like with like. 19:55
but in specific, maybe they should all be moved. 19:56
tbrowder vrurg: there are standards in rakudo CONTRIBUTING.md
vrurg tbrowder: thanks! I should've grepped the whole directory, not just docs/ :) 19:58
tbrowder [Coke] i can move if that's ok. i think the current code was wrong for the other types of errors, but one thing at a time: move the existing sprintf test into roast? there other sprintf tests there. 20:02
vrurg: you're welcome--i just wish we could get rid of cuddled elses!
[Coke] tbrowder: which test? 20:05
20:05 sena_kun joined
[Coke] It may just be "we need to verify that sprintf isn't entirely broken" in rakudo/t - if sprintf already has tests in roast, that's probably fine. 20:05
20:07 Altai-man_ left
tbrowder ok, but let me see the tests in roast first and i'll see if the other two types are handled. 20:07
nine Oh, four space indentation, uncuddled elses -> I'm happy. Now I would prefer spaces after commas, but I'd much rather keep lizmat++ happy than start that discussion :) 20:16
lizmat my rule is that for nqp:: ops, no spaces, for HLL calls, space after comma (generally) :-) 20:18
tbrowder the existing sprintf test i'm working on is repeated in roast, so one of them should go imho 20:20
jnthn lizmat: 'cus if the nqp::ops already make my eyes bleed, well, we may as well make the most of it? :D 20:26
I'd rather make the reasons we write so much stuff with nqp::ops go away rather than complain about their spacing rules though. :) 20:28
tbrowder so far the similar tests in roast i see aren't complete tests, i.e., they test for the throw but do NOT check the message. i think maybe because the original throw message for the other cases wasn't working. 20:29
lizmat well, nowadays, when things can be expressed as ternaries, I do that
but I'm not proactively changing that 20:30
tbrowder i stand corrected, the tests do work for the throw but the message is okay. my mod to the Exception will just improve the message for too few args for the number of directives 20:36
If it were up to me I would keep the existing test in t and improve the roast tests to check for the correct messages. But I would eliminate the redundant test with a note to that effect. 20:39
21:50 sena_kun left 21:52 ufobat_ joined
timotimo nine: how are half-cuddled elses? 21:55
21:55 ufobat left 21:59 Kaiepi left
Geth rakudo: a0e58412a0 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make "42".Numeric about 4.3x as fast

  - no change for "+42"
  - "42.35" about 10% slower
The speed increase is caused by (ab)using the implicit conversion when assigning a native string to a native int if the string consists of only numeric characters and have 18 or fewer characters.
22:02
22:11 MasterDuke joined
Geth rakudo: tbrowder++ created pull request #3688:
Improve error message for too many directives in routine `sprintf`
22:45
23:13 donaldh left 23:17 lichtkind left 23:30 donaldh joined