01:47 Kaiepi left 02:30 pamplemousse left
japhb lizmat++ # Good idea 02:31
04:24 pamplemousse joined 04:31 pamplemousse left 05:24 tobs left 05:28 tobs joined 06:36 MasterDuke left 06:57 Xliff left 08:25 sena_kun joined 08:49 domidumont joined 09:00 domidumont left 09:43 leont joined
lizmat Files=1336, Tests=113586, 225 wallclock secs (29.15 usr 8.18 sys + 3119.60 cusr 287.68 csys = 3444.61 CPU) 10:05
10:37 Kaiepi joined
nine So I've just reviewed a PR about a change to how POD sticks to roles, two areas that I don't know all that much about. I've found that not only was it rather easy to understand the suggested change but also to form a strong opinion on what should be done. 10:40
Geth rakudo: b2d625b957 | nine++ | src/core.c/Exception.pm6
Give a hint about missing provides in a META6.json when module isn't found in CURFS

Fixes #3787
10:41
rakudo: 85847d2f1e | niner++ (committed using GitHub Web editor) | src/core.c/Exception.pm6
Merge pull request #3792 from niner/master

Give a hint about missing provides in a META6.json when module isn't …
linkable6 RAKUDO#3787 [closed]: github.com/rakudo/rakudo/issues/3787 [docs] Cannot load modules from a directory which contains a META6.json without a provides key indicating the location of files.
rakudo: 4a34b26679 | L'Alabameñu++ (committed using GitHub Web editor) | src/core.c/Order.pm6
Add cmp candidates for Code

Fixes #3885 wherein gisting Hashes with non-Str keys could produce warnings.
The root of the problem is that `cmp` resorted to stringification, which generates warnings with `Code` objects (the only non-`Nil` types to do so). Now `Code` objects will stringify using their `name`, which matches previous behavior but without the warnings. Warnings elsewhere —where they are more useful— are thus preserved.
11:07
rakudo: ff32461b19 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Order.pm6
Merge pull request #3902 from alabamenhu/patch-1

Add cmp candidates for Code
linkable6 RAKUDO#3885 [closed]: github.com/rakudo/rakudo/issues/3885 Warning on Hash[non-str, non-str].new( ... more than one pair ...)
11:15 jmerelo joined
lizmat m: my $a = 0; if $a { } else -> $x { dd $x } # TIL else -> $foo is a thing 11:25
camelia 0
dogbert17 am I the only one seeing a test failure in t/spec/integration/weird-errors.t 11:38
11:45 Altai-man joined 11:48 sena_kun left
lizmat sees segfaults 11:50
Segmentation fault: 11
not ok 15 - sorting method list does not segfault 11:51
yup, it's my latest merge :-( 11:54
Geth rakudo/rakuast: 135b9e74f3 | (Elizabeth Mattijsen)++ | 5 files
Batch #2 of test annotations with associated Raku code

This is mind-numbing but very informative work.
12:00
lizmat looks like the segfault happens in the is_run handling, not in the code itself 12:14
12:46 jmerelo left
timotimo are we still wondering about the "will not overwrite just-created thingie thingie with thingie"? 12:48
i believe it comes from having different files with the same name in the cp commandline 12:49
i.e. it'll copy blib/Perl6/Grammar.moarvm into the perl6/lib/Perl6 folder, then it'll try to copy blib/Raku/Grammar.moarvm into the same folder and notice it conflicts 12:50
i think the problem lies with M_RAKUDO_PRECOMPS having both RAKUDO_G_R_MOAR and RAKUDO_G_MOAR 12:58
nine lizmat: does it really segfault? 13:00
lizmat: for me the test file continues and just that one test fails. But the test is just broken: for no good reason it expects those warnings that are no longer there 13:01
I suggest: - '0.^methods(:all).sort',
+ '0.^methods(:all).sort.note',
13:02 domidumont joined
timotimo urgh, i can't find M_RAKUDO_PRECOMPS anywhere except Makefile, how do i track down where it comes from? 13:08
but i do have an idea how this must be solved 13:09
okay i do not know how our build system macros work 13:20
is there like a readme or something ...
aha! 13:21
nine is there? 13:27
timotimo github.com/Raku/nqp-configure/blob.../Macros.md
i'm not quite sure how much of this is custom-made for nqp and rakudo
lizmat nine: shouldn't we just test for an empty STDERR ? 13:29
timotimo i'm just about to have rakuast build and install properly again
lizmat timotimo++
timotimo happy to provide this service in this particular instance 13:30
nine lizmat: would be ok, too, I guess. Though without any output, how do we know that we actually processed any methods at all?
timotimo but otherwise, oh boy, build system is some scary stuff
+++ Rakudo installed succesfully! 13:31
Geth roast: 1859e71937 | (Elizabeth Mattijsen)++ | integration/weird-errors.t
Check for proper non-segfault output

Now that this is without any warnings.
13:33
lizmat that should make spectest clean again
Geth rakudo/rakuast: 08bbd46257 | (Timo Paulssen)++ | tools/templates/Makefile-backend-common.in
build: split precomps into _P and _R to go into Perl6/ or Raku/

the RakuAST grammar and actions go in this separate folder during installation, so there has to be a separate cp for them, but we still want to precomp all of them. Thus, the old RAKUDO_PRECOMPS is the concatenation of all the files.
lizmat timotimo: in rakuast I get: 13:46
Stage start : 0.000
Cannot find method 'add_comp_line_directive' on object of type NQPMu
at gen/moar/stage2/NQPHLL.nqp:1744 (/Users/liz/Github/rakuast/install/share/nqp/lib/NQPHLL.moarvm:comment:sym<line_directive>)
aaaha... apparently, having export RAKUDO_RAKUAST=1 is a bad idea when compiling 13:47
the setting
timotimo ha! :D 13:53
yeah, that will not get you far
of course it's going to work near the end of rakuast's journey
lizmat yeah... understand now :-)
14:20 MasterDuke joined
Geth roast: fdcc5a283c | (Elizabeth Mattijsen)++ | integration/weird-errors.t
Oops, remove debug leftover, spotted by nine++
14:33
15:46 sena_kun joined
MasterDuke timotimo: whatever slice kind of has to go by AT-POS since it reifies 15:47
15:48 Altai-man left
timotimo and zen slice only returns self? 15:49
MasterDuke yep
timotimo hmmm. 15:53
should still be possible to do it more efficiently 15:56
MasterDuke yes, definitely
hm. but a profile of `my @a = (^2_000).pick(*); my @b; @b = @a[*] for ^1_000; say @b[0];` looks quite a bit different from `my @a = ("a" .. "za")[]; say @a[(^@a).pick];` 16:00
i.e., it doesn't have that reify-at-least cycle 16:01
timotimo possibly because finding the value of the element is easier for numbers vs letters
if it had and/or used the skip function from iterators (not hallucinating that, am i?) perhaps it'd be much better 16:02
MasterDuke but what could it skip? 16:03
timotimo like, from "aa" to "ba" or something?
MasterDuke not sure what you mean? 16:05
oh, whoops, i copied the version without the whatever for the char range example
huh. a profile of the shuffled int array version shows push in Array and IterationBuffer are both not jitted, but spesh log doesn't show any 'bailed completely' 16:09
timotimo i wonder if it deopted inside a frame that had the other one inlined 16:20
then it'd have to do a regular non-speshed entry
MasterDuke maybe? there are 999 deopts in Any-iterable-methods's push-all 16:27
timotimo is that a frame that had the not-jitted ones inlined into it? 16:37
hm, but then a regular call to that ought to be an entry which should give it a chance to be spesh-invoked and jit-invoked
MasterDuke it has some stuff inlined, but it doesn't appear that those push's are 16:40
timotimo so my idea was quite possibly wrong 16:41
MasterDuke assuming i read the spesh log correctly 16:43
timotimo paste.centos.org/view/0cbd38e9 - added just a few "extra dumps" to some rakuast nodes, makes the tree at least a little cross-referencable to the source without like counting or something 18:34
18:58 sena_kun left 19:16 domidumont left
Geth rakudo/rakuast: 498fa12a1c | (Elizabeth Mattijsen)++ | 3 files
Last batch of test annotations with associated Raku code
19:16
19:43 Xliff joined
Xliff \o 19:46
Geth rakudo/rakuast_dump_extras: 7fd4f82857 | (Timo Paulssen)++ | 5 files
speculate a (crappy) way for rakuast nodes to custom output

implemented for a few literals, some operators, some variable lookups, and such.
20:00
timotimo what we actually want is probably more like iterating over a class' roles and calling a method on all of them in turn and just put the result in the output 20:01
but if you're --target=ast at the moment, it's better than nothing 20:02
Geth rakudo: e59262f65f | (Elizabeth Mattijsen)++ | t/01-sanity/20-defined.t
Remove use of deprecated undefine()
20:35
Xliff timotimo: What would that be used for? 20:38
Debugging?
Geth rakudo/rakuast: 8cdf88e37d | (Elizabeth Mattijsen)++ | src/Raku/ast/README.md
Mark adding new core defines as done for now
21:05
lizmat and with that, yours truly had enough hacking for today
timotimo Xliff: the rakuast_dump_extras branch? 21:11