Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
03:03 evalable6 left 03:05 evalable6 joined, p6bannerbot sets mode: +v evalable6 05:25 MasterDuke left 07:08 dct joined, p6bannerbot sets mode: +v dct 07:15 dct left 07:26 dct joined, p6bannerbot sets mode: +v dct 07:32 dct left 07:53 dct joined, p6bannerbot sets mode: +v dct 08:25 pmurias joined, p6bannerbot sets mode: +v pmurias 08:30 lizmat left 09:03 |Tux| left 09:04 |Tux| joined, p6bannerbot sets mode: +v |Tux| 09:17 robertle_ joined 09:18 p6bannerbot sets mode: +v robertle_ 09:20 [TuxCM] joined, p6bannerbot sets mode: +v [TuxCM]
gfldex the new wordpress editor is actually quite nice for dealing with code 09:56
timotimo oh, that's a relief to hear 10:06
10:17 [TuxCM] left 10:30 llfourn left 10:33 patrickb joined 10:34 p6bannerbot sets mode: +v patrickb 10:36 llfourn joined, p6bannerbot sets mode: +v llfourn
|Tux| Rakudo version 2018.12-190-g3d3578b60 - MoarVM version 2018.12-27-g9ce36b6a2
csv-ip5xs0.916 - 0.921
csv-ip5xs-206.777 - 6.978
csv-parser22.684 - 22.713
csv-test-xs-200.436 - 0.439
test6.961 - 7.491
test-t1.788 - 1.841
test-t --race0.845 - 0.853
test-t-2030.294 - 31.344
test-t-20 --race10.062 - 10.248
10:44
11:12 lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat Files=1264, Tests=88013, 374 wallclock secs (19.98 usr 5.90 sys + 2666.50 cusr 223.69 csys = 2916.07 CPU) 11:20
11:29 lucasb joined, p6bannerbot sets mode: +v lucasb
Geth rakudo: c4723cbafa | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
Tweaks on Parameter.new

  - added "exclude" parameter
   If set to a True value, then the parameter will be excluded from dispatch
   (aka, it will introduce a ";;" in the Signature of which the Parameter is
   to be a part)
... (5 more lines)
11:45
lucasb lizmat: Don't you think kebab-case looks better for those named parameters? :) $is-copy, :$is-rw, :$is-raw 11:57
11:57 pmurias left
lizmat yeah, was thinking about that.. 11:57
timotimo why not "offbYoNecAmelcAse"? 11:58
jnthn I think exclude isn't really clear what it's excluding it from. I'd probably just have a :multi-invocant that defaults to true and if you want to make it off you'd :!multi-invocant, which reads rather more nicely 11:59
lizmat tImotImo: not sure what you mean :-) 12:02
timotimo to make it more natural to people coming from other programming languages, maybe we can find out what "double semicolon" means in hebrew
lucasb haha, the PHP meme
lizmat meanwhile it seems I borked some nativecall tests :-(
lucasb ah, right, Paamayim Nekudotayim :) 12:04
timotimo well, that's double colon
lucasb I really thought this was the name of a person :)
timotimo class X::Steve is Exception { method message { "what kind of rapping name is steve" } }
Geth rakudo: e116f3adf7 | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
More Parameter.new tweaks

  - kebab-case: is_copy -> is-copy, is_raw -> is-raw, is_rw -> is-rw
  - rename: exclude to multi-invocant and reverse the default
   use :!multi-invocant to *not* have the multi-invocant flag set
12:06
12:19 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Tweaks on Parameter.new 12:19
travis-ci.org/rakudo/rakudo/builds/478299585 github.com/rakudo/rakudo/compare/3...723cbafa91
12:20 travis-ci left
lizmat yeah, working on that 12:20
12:24 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo, ZzZombo left 12:26 pmurias joined, p6bannerbot sets mode: +v pmurias
Geth rakudo: 3b9fd81d16 | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
Only set name if there is a name

Internals test for isnull_s.
12:27
lizmat fixes one part of the nativecall fail issue
jnthn m: my %h; %h<a>[0] = $(1,); my %h2 = %h.deepmap({ $_ }); %h2<a>[0] = $(2,) 12:32
camelia Cannot assign to a readonly variable or a value
in block <unit> at <tmp> line 1
jnthn Bug?
lizmat possibly, deepmap semantics are unclear to me 12:47
12:52 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build failed. Elizabeth Mattijsen 'More Parameter.new tweaks 12:52
travis-ci.org/rakudo/rakudo/builds/478307092 github.com/rakudo/rakudo/compare/c...16f3adf7c6
12:52 travis-ci left
lizmat yeah yeah :-) 12:52
lizmat is afraid she needs some more experienced NativeCall eyes on this 12:54
hmmm... looks like mixing in the "cpp-const" method into the Parameter nukes the $!nomimal_type and changes the $!flags 13:15
13:16 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Only set name if there is a name 13:16
travis-ci.org/rakudo/rakudo/builds/478315639 github.com/rakudo/rakudo/compare/e...9fd81d1675
13:16 travis-ci left
timotimo anything to do with bootstrap issues perhaps? 13:16
lizmat where is "does" for instances handled anyway ? 13:18
doesn't look to be in src/core/traits
timotimo operators.pm? 13:19
pm6*
lizmat perhaps in the Bootstrap 13:20
timotimo operators.pm6 has an infix:does on Mu:D
lizmat check :-) was looking for trait_mod 13:21
timotimo ah
lizmat ah, I probably need to create a BUILD_LEAST_DERIVED as well for Parameter\ 13:22
timotimo it doesn't get one from Mu?
lizmat it probably does, but it's not doing the right thing, I think
it probably runs BUILD again 13:25
yup, providing an empty BUILD_LEAST_DERIVED fixes the problem 13:26
timotimo but what does it do wrong? %) 13:27
lizmat it runs BUILD again without any parameters, losing the type info
Geth rakudo: e463518924 | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
Bypass standard build process for Parameter.new

  - by having its own .new, no longer need to worry about BUILDPLAN issues
  - now allows for mixing in roles into existing Parameter objects
  - fixes NativeCall breakage
13:47
lizmat lucasb: ^^
Geth rakudo: 50e1ec33b4 | (Elizabeth Mattijsen)++ | lib/NativeCall.pm6
Make some NativeCall data structures compile time
13:58
rakudo: 3eeb72762c | (Elizabeth Mattijsen)++ | lib/NativeCall.pm6
Move some constant return values to signature
14:04
14:21 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Bypass standard build process for Parameter.new 14:21
travis-ci.org/rakudo/rakudo/builds/478346976 github.com/rakudo/rakudo/compare/3...63518924cd
14:21 travis-ci left 14:38 AlexDani` joined
Geth rakudo: 9cd42b1f91 | (Elizabeth Mattijsen)++ | src/core/Signature.pm6
Concrete Signature objects can also have roles mixed in

Bypass normal object build logic, just as with Parameter
14:38
rakudo: 86557cfd2a | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
Properly check for Parameter.default type of value

The $SIG_ELEM_DEFAULT_IS_LITERAL bit indicates whether a default value is a direct value, rather than a piece of code that needs to be executed.
14:39 p6bannerbot sets mode: +v AlexDani` 14:42 AlexDaniel left 14:44 AlexDani` is now known as AlexDaniel 15:23 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Move some constant return values to signature' 15:23
travis-ci.org/rakudo/rakudo/builds/478355133 github.com/rakudo/rakudo/compare/5...eb72762c67
15:23 travis-ci left 15:33 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Properly check for Parameter.default type of value 15:33
travis-ci.org/rakudo/rakudo/builds/478370360 github.com/rakudo/rakudo/compare/3...557cfd2a6c
15:33 travis-ci left 15:38 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke
patrickb o/ 16:10
yoleaux 10 Jan 2019 21:48Z <timotimo> patrickb: that sounds great already! \o/
10 Jan 2019 22:39Z <jnthn> patrickb: No objections; I'd prefer that than to have things make an assumption that MoarVM is using libuv (there's no plans for it not to any time soon, but better to keep it as an impl detail)
16:12 pmurias left
patrickb I have PERL6_HOEME and NQP_HOME env vars working. :-) 16:12
PERL6LIB and -I do the same, right? 16:22
Now on to some testing. 16:26
lizmat .tell AlexDaniel added my changes to the ChangeLog Draft 16:43
yoleaux lizmat: I'll pass your message to AlexDaniel.
AlexDaniel . 16:44
yoleaux 16:43Z <lizmat> AlexDaniel: added my changes to the ChangeLog Draft
AlexDaniel releasable6: status
releasable6 AlexDaniel, Next release in ≈8 days and ≈2 hours. 4 blockers. 98 out of 198 commits logged (⚠ 1 warnings)
AlexDaniel, Details: gist.github.com/745267d0d17cd0062d...765a0e8eef
AlexDaniel lizmat: Thank you!
Geth nqp/master: 8 commits pushed by (Paweł Murias)++
lizmat AlexDaniel: fixed the warning
Geth rakudo: ab8052dde0 | (Elizabeth Mattijsen)++ | 7 files
Make sure .^compose deconts before composing

Fixes R#2602
17:07
synopsebot R#2602 [open]: github.com/rakudo/rakudo/issues/2602 Smartmatch doesn't produce correct result on a run-time created class stored in a Scalar container
Geth rakudo: d6b1bd2ae4 | (Elizabeth Mattijsen)++ | src/core/Signature.pm6
Make Signature.new(arity => ) default to number of parameters

Seems to be more sensible than 0
17:35
17:40 cfa joined, p6bannerbot sets mode: +v cfa
cfa 👋🏽 17:40
it looks like URI::Encode tests are failing with rakudo HEAD 17:41
AlexDaniel ./bin/blin.p6 --old=2018.10 URI::Encode 17:42
cfa pastebin.com/czyDN9ts for the test log
(also, please let me know whether i should use #perl6 instead---i don't typically chat here) 17:43
17:43 reportable6 left
lizmat cfa: here is fine :-) 17:43
17:43 shareable6 left, squashable6 left, committable6 left 17:44 releasable6 left, bisectable6 left, squashable6 joined 17:45 reportable6 joined, p6bannerbot sets mode: +v squashable6
AlexDaniel cfa: anywhere is fine, another good place is github.com/rakudo/rakudo/issues 17:45
lizmat AlexDaniel: should blin report soon ?
AlexDaniel yes 17:46
17:46 p6bannerbot sets mode: +v reportable6
cfa sure, can report there too if necessary 17:46
17:46 shareable6 joined, ChanServ sets mode: +v shareable6
cfa encountered on both linux and macos fwiw 17:46
17:47 p6bannerbot sets mode: +v shareable6, releasable6 joined, ChanServ sets mode: +v releasable6
patrickb I need to push two strings (PERL6_HOME and NQP_HOME) into perl6 land from C. Any pointers on how to do something like this? 17:47
lizmat looking at the test output, it looks like it is encoding alpha chars as wel
17:47 bisectable6 joined, ufobat joined
lizmat patrickb: you mean, you want them to wind up in %*ENV ? 17:48
17:48 p6bannerbot sets mode: +v releasable6, p6bannerbot sets mode: +v bisectable6, p6bannerbot sets mode: +v ufobat 17:49 committable6 joined, p6bannerbot sets mode: +v committable6
cfa lizmat: yeah 17:50
everything seems to be escaped/encoded
patrickb No. I'm currently working on the C based runner to replace our current bash/bat based runners. I want it to be relocatable. I do have valid paths on the C side before even having stated up the VM. But I have no idea how to make them available from within the VM (perl6 land that is).
cfa lizmat: oh, and i should mention that the same test suit passes with 2018.12
lizmat cfa: noted
AlexDaniel cfa: that's fine, blin is already bisecting :)
lizmat patrickb: feels more like a question on the #moarvm channel
patrickb true... 17:51
will go there
Thanks anyways!
AlexDaniel it is github.com/rakudo/rakudo/commit/54...6f7b736104 17:53
lizmat, cfa: ↑
possibly a dup of R#2601 ?
synopsebot R#2601 [open]: github.com/rakudo/rakudo/issues/2601 [regression][⚠ blocker ⚠] Scope flattening causes inner scope to lose value of topic variable
lizmat that would be: more like jnthn ^^^ :-) 17:54
yeah, probably
AlexDaniel cfa: leave a comment there, maybe? :)
cfa on the commit itself?
AlexDaniel no, on github.com/rakudo/rakudo/issues/2601
cfa oh, derp 17:55
missed your second link
AlexDaniel hmm, I wonder what is causing it 17:56
cfa: a golf of the issue can help, I think 17:57
lizmat I think it decided too quickly it can merge blocks, and therefore lose significantly different $_'s
cfa AlexDaniel: yeah, i'll take a look inside at the tests 17:58
AlexDaniel yes, but where exactly? The ticket is about `{ } for …` but no such construct in the source of the module
cfa okay, here's what's happening in the encoding module: 18:06
my $rx = rx/<[a..z]>/; 'abc'.comb.map({ if $rx { 'yes' } else { 'no' } });
that's (no no no) in HEAD, (yes yes yes) in 2018.12
m: my $rx = rx/<[a..z]>/; 'abc'.comb.map({ if $rx { 'yes' } else { 'no' } }); 18:07
camelia ( no output )
cfa m: my $rx = rx/<[a..z]>/; 'abc'.comb.map({ if $rx { 'yes' } else { 'no' } }).say;
camelia (no no no)
AlexDaniel c: 2018.12,HEAD my $rr = rx/<[bc]>/; say "abcd".comb.map({ so $rr }) 18:09
committable6 AlexDaniel, ¦2018.12: «(False True True False)␤» ¦HEAD(d6b1bd2): «(False False False False)␤»
AlexDaniel c: 2018.12,541a4f1628e^,541a4f1628e,HEAD my $rr = rx/<[bc]>/; say "abcd".comb.map({ so $rr })
committable6 AlexDaniel, ¦2018.12: «(False True True False)␤» ¦541a4f1628e^,541a4f1,HEAD(d6b1bd2): «(False False False False)␤»
AlexDaniel huh? why is it saying that on 541a4f1628e^ it's already bad 18:10
bisect: old=2018.12 my $rr = rx/<[bc]>/; say "abcd".comb.map({ so $rr })
bisectable6 AlexDaniel, Bisecting by output (old=2018.12 new=d6b1bd2) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/f49870d5058850c11b...61957a6766 18:11
AlexDaniel, (2019-01-03) github.com/rakudo/rakudo/commit/eb...2c4dbcd9b2
AlexDaniel c: 2018.12,eb3917c260bc^,eb3917c260bc,HEAD my $rr = rx/<[bc]>/; say "abcd".comb.map({ so $rr })
committable6 AlexDaniel, ¦2018.12,eb3917c260bc^: «(False True True False)␤» ¦eb3917c,HEAD(d6b1bd2): «(False False False False)␤»
patrickb I think I need to do some path handling in NQP (dirname, add, ...). Is there any documentation on what is available in NQP? 18:13
AlexDaniel patrickb: have you seen github.com/perl6/nqp/blob/master/d...ut-opcodes ? 18:14
that's not exactly what you're asking though :)
patrickb But might be a start. Thanks!
AlexDaniel cfa: so it's jnthn's work for sure, but I'm a bit surprised that the whole module bisected to 541a4f1628e but that snippet bisected to an earlier commit eb3917c260b 18:17
18:17 robertle_ left
cfa AlexDaniel: interesting 18:22
hopefully that snippet is small enough; i left the conditional in there since there was talk of scoping issues with 4_ 18:23
er, $_
but it seems so exhibits the same error
18:27 remi_ness joined
AlexDaniel c: 541a4f1628e^,541a4f1628e gist.github.com/AlexDaniel/158721b...273fca02ae 18:28
committable6 AlexDaniel, gist.github.com/e35557825aabeffd19...b18c5a28e5
18:28 p6bannerbot sets mode: +v remi_ness
AlexDaniel c: eb3917c260b^,eb3917c260b gist.github.com/AlexDaniel/158721b...273fca02ae 18:28
committable6 AlexDaniel, gist.github.com/98ce16752c6ffe021a...1cb7670fda
AlexDaniel isn't it fun?
cfa :)
back in a bit, meetings
AlexDaniel it seems like the golf is affected by eb3917c260b, but the same commit doesn't break the module itself 18:29
I'll leave a comment on that ticket 18:30
cfa tx
AlexDaniel c: 2018.12,eb3917c260bc^,eb3917c260bc,541a4f1628^,541a4f1628,HEAD my $rx = rx/<[a..z]>/; 'abc'.comb.map({ if $rx { 'yes' } else { 'no' } }).say; 18:35
committable6 AlexDaniel, ¦2018.12,eb3917c260bc^,eb3917c,541a4f1628^: «(yes yes yes)␤» ¦541a4f1,HEAD(d6b1bd2): «(no no no)␤»
AlexDaniel cfa: ah, your golf is a bit better 18:36
cfa AlexDaniel: interesting; thanks for updating that issue 19:01
19:18 dct left 19:19 dct joined, p6bannerbot sets mode: +v dct
patrickb .ping nine 20:01
yoleaux There is no ping command; nor can this be construed as a response.
patrickb ping nine
20:05 lizmat left
patrickb I now have implemented some logic to determine the paths to /share/perl6/ and /share/nqp/ at runtime. They are required in the ModuleLoader (to determine the search paths, I think this happens very early on) and in RepositoryRegistry (setting the repository locations). Now I don't want to copy that logic. Where would be a good place/time to do them? Where would I stash the results? 20:09
20:18 lizmat joined, p6bannerbot sets mode: +v lizmat 20:24 dct left 20:25 ufobat left, ufobat joined 20:26 p6bannerbot sets mode: +v ufobat 20:38 lucasb left 20:43 remi_ness left
patrickb I somehow got it to work by putting the code at the top in main.nqp (that's about as early as possible :-P) and using bindhllsym. 20:54
japhb patrickb: Does it slow down startup measurably? We'd like to avoid significant extra startup work where we can. That said, maybe take a look at rakudo/src/core/VM.pm6 ? 21:24
patrickb I haven't measured yet. But I guess it's a price we have to pay. 21:25
21:28 robertle left
japhb patrickb: I meant calculating it twice, as opposed to calculating once in the VM and lifting the result up the stack as VM.pm6 does. 21:29
22:40 patrickb left
Geth rakudo: d8b7fabe11 | (Elizabeth Mattijsen)++ | src/core/Parameter.pm6
Fix Parameter.perl for slurpy parameters
23:47
23:53 ufobat left