Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by AlexDaniel on 12 June 2018.
00:43 fake_space_whale joined 01:39 j3nnn1 left 02:00 timotimo left 02:07 timotimo joined 02:14 fake_space_whale left 02:54 benjikun joined
MasterDuke .tell pmurias my first attempt at implementing while ( gist.github.com/MasterDuke17/573d9...9ec64769a1 ) dies with `java.lang.VerifyError: Bad type on operand stack. 'java/lang/String' (current frame, stack[0]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'`. now to go see if i can find how ruby does it 03:28
yoleaux MasterDuke: I'll pass your message to pmurias.
04:28 skids left
AlexDaniel so I'm looking through the remaining module failures and I stumbled upon this 05:51
so Native::Packing was failing on HEAD and the author did this tweak to fix it: 05:52
github.com/p6-pdf/Native-Packing-p...32ce387794
why?
“Cannot call method 'sink' on a null object” I mean that's not good 05:54
alright, bisecting… 05:59
06:00 MasterDuke left
AlexDaniel c: 6d271667c9^,6d271667c9 gist.github.com/AlexDaniel/429d377...9a7e5cb801 06:03
committable6 AlexDaniel, Using file “basic.p6” as a main file, other files are placed in “sandbox/”
AlexDaniel, gist.github.com/7323bce1f8b6c0c876...b56c30a81a
AlexDaniel (2018-07-09) github.com/rakudo/rakudo/commit/6d...ccfbd7d7e9
Geth 6.d-prep: 76b448d105 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md
TODO: Rename `RAKUDO_EXCEPTIONS_HANDLER` to `PERL6_EXCEPTIONS_HANDLER`
06:23
06:25 robertle joined
Geth roast: 8379dd2c73 | (Zoffix Znet)++ | S06-signature/types.t
[v6.d REVIEW] Loosen up param concreteness error tests

Just test what the ticket is about rather than speccing all those various attributes and their values.
Orig: github.com/perl6/roast/commit/c0feebdbb
06:33
roast: 0d1ead70ed | (Zoffix Znet)++ | S04-declarations/multiple.t
Remove trailing whitespace
06:34
roast: 4be1438f24 | (Zoffix Znet)++ | S04-declarations/multiple.t
[v6.d REVIEW] loosen exact error message content test

Orig: github.com/perl6/roast/commit/44779aca0
06:35
roast: d1ca998777 | (Zoffix Znet)++ | S04-declarations/multiple.t
[v6.d REVIEW] simplify test matcher

Orig: github.com/perl6/roast/commit/3c94da414
06:36
rakudo: db5cc06335 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] move error content test from spec

Orig: github.com/perl6/roast/commit/3fc7019d3
06:39
roast: 76610d4535 | (Zoffix Znet)++ | S04-statements/while.t
[v6.d REVIEW] move error content test from spec

Moved to: github.com/rakudo/rakudo/commit/db5cc06335 Orig: github.com/perl6/roast/commit/3fc7019d3
06:40
06:55 committable6 left, bisectable6 left, committable6 joined, ChanServ sets mode: +v committable6 06:56 bisectable6 joined, evalable6 joined, ChanServ sets mode: +v evalable6
AlexDaniel alright, only 2 modules left in R#2047 07:11
synopsebot R#2047 [open]: github.com/rakudo/rakudo/issues/2047 [⚠ blocker ⚠] [WIP] Rescalar merge & other toaster-related stuff
07:13 lizmat joined 07:19 lizmat left 07:23 lizmat joined 07:28 ufobat_ joined 07:35 lizmat left 07:47 pmurias joined 07:58 lizmat joined
Geth nqp/truffle: 0d726f8b05 | (Paweł Murias)++ | 2 files
[truffle] Get loop implementation by MasterDuke++ to run the first loop in

t/nqp/014-while.t
08:00
pmurias .tell MasterDuke I'm away on a camp till Sunday
yoleaux 03:28Z <MasterDuke> pmurias: my first attempt at implementing while ( gist.github.com/MasterDuke17/573d9...9ec64769a1 ) dies with `java.lang.VerifyError: Bad type on operand stack. 'java/lang/String' (current frame, stack[0]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'`. now to go see if i can find how ruby does it
pmurias: I'll pass your message to MasterDuke.
pmurias .tell MasterDuke I hooked you loop in 08:01
yoleaux pmurias: I'll pass your message to MasterDuke.
lizmat Files=1242, Tests=76342, 326 wallclock secs (15.71 usr 5.69 sys + 2271.66 cusr 230.98 csys = 2524.04 CPU) 08:14
yoleaux 13 Jul 2018 22:24Z <jnthn> lizmat: It's a conextualizer, so so long as it returns something Hashish it's all good.
13 Jul 2018 22:24Z <jnthn> lizmat: Uh...Hash-ish :P
[Tux] Rakudo version 2018.06-176-gdb5cc0633 - MoarVM version 2018.06-218-g00d5a0611
csv-ip5xs1.127 - 1.259
csv-ip5xs-208.773 - 8.916
csv-parser25.062 - 25.087
csv-test-xs-200.432 - 0.451
test9.488 - 9.635
test-t2.308 - 2.319
test-t --race1.010 - 1.037
test-t-2039.886 - 40.982
test-t-20 --race14.982 - 16.471
08:24
AlexDaniel releasable6: status 08:34
releasable6 AlexDaniel, Next release in ≈7 days and ≈10 hours. 9 blockers. 0 out of 176 commits logged
AlexDaniel, Details: gist.github.com/05f3191d79c62b74a8...803b7691aa
AlexDaniel releasable6: status 08:37
releasable6 AlexDaniel, Next release in ≈7 days and ≈10 hours. 8 blockers. 0 out of 176 commits logged
AlexDaniel, Details: gist.github.com/0f5a23aa30c6bb44ba...a89cb8f429
AlexDaniel I haven't thought about it enough, but as I see it, having rescalar stuff in the release is not an option this month. For example, a lot of modules depend on XML module and the PR for it is not even merged yet. Even if it gets merged soon, we need to give some time for users to update it. Moreover there are many low bus factor blockers with no guaranteed ETA. I think the best solution is to cut this release from a commit older than 08:45
rescalar branch merge.
lizmat I say we give jnthn a few more days: if necessary, I would suggest postponing the release by a week or so 08:46
AlexDaniel another option is to do some reverts but that's just painful and not worth it IMO. I think it's much easier to start a release branch and cherry-pick anything new that we absolutely want in this release
lizmat we want this Rakudo Star to be good *and* fast :-)
AlexDaniel we can surely talk about it a few days later, no problem with that. But broken modules will remain an issue 08:47
lizmat agree that broken modules should be fixed before release 08:48
AlexDaniel and then? An alert saying that users should run `zef upgrade`? 08:49
it's still marked BETA, but I'm not sure what kind of issues this implies 08:50
lizmat: just to make sure we understand each other, the problem is following: say someone was using 2018.06 and everything was working fine, they install 2018.07 (without upgrading modules) and stuff stops working 08:53
lizmat isn't that what we have P6alerts for?
stmuk if you branched a release branch you could always delete it if master is ready ... seems a sensible option to me 08:54
just leaves more options open
lizmat true, if the release manager wants to go the extra mile wrt that, ++ to the release manager
AlexDaniel the solution is `zef install XML` or `zef upgrade`, but don't we want to let people naturally upgrade their stuff? A little bit of time can do.
lizmat AlexDaniel: if we don't have the rescalar branch in 2018.07, wouldn't the same problem exist with 2018.08 wrt breaking of modules ? 08:56
because we fixed a number of bugs, and modules where depending on the buggy behaviour ?
Geth rakudo: c567af7364 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6
Simplify Hash.Map coercion

Since we have optimized my %m is Map = %h, this is now trivial to do
AlexDaniel lizmat: correct, it's not perfect, but giving it at least a month can make a big difference I believe 08:57
Also, these blockers are just the things that I managed to dig up from toaster, it's possible that there are more issues
I mean issues that we don't see yet… so rushing rescalar merge into this release means that the Star release may end up being fast but buggy :)
lizmat yeah, we don't want that, I agree :-) 08:58
stmuk AlexDaniel++
AlexDaniel I'm still open for other solutions, and we'll see where more clearly a few days later I guess 08:59
lizmat yeah, I think so
AlexDaniel s/where//
lizmat another datapoint on the "MoarVM oops: Spesh: failed: 09:02
my %h; %h<a> = 768 for ^328 # does this
my %h; %h<a> = 768 for ^327 # is ok with --profile
and again, Bool and find_method the top 2 09:03
09:04 llfourn left
lizmat correction: no, that was an old profile :-) 09:04
the profile appears correct for 327
stmuk I wonder if it builds on windows .. the appveyor says no
lizmat but *all* of the blocks are red
so nothing got speshed or jitted yet
jnthn: ^^ 09:05
09:07 llfourn joined
AlexDaniel stmuk: that's a very good point :) 09:10
09:12 pmurias left
stmuk I'll try it later 09:16
AlexDaniel stmuk: R#2070 09:20
synopsebot R#2070 [open]: github.com/rakudo/rakudo/issues/2070 [regression][⚠ blocker ⚠] AppVeyor status and building on Windows
Geth rakudo: 7848cdb484 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6
Copy Hash.STORE logic to Object Hash for now

While work is being done on the normal Hash.STORE
09:50
09:50 ufobat_ left
dogbert11 ZOFFLOP: t/spec/S15-nfg/concat-stable.t - MoarVM Panic 10:32
AlexDaniel dogbert11: ticket it 10:50
dogbert11: try running it in a loop maybe to reproduce? 10:51
10:57 mst left, mst joined
dogbert11 AlexDaniel: I'll wait a bit before reporting, there might be a problem in the GC error detection logic, see #moarvm 11:15
11:53 MasterDuke joined 12:10 ufobat_ joined 12:52 pmurias joined
MasterDuke pmurias: cool. looks like i was kind of close for the NQPWhileNode.java implementation. what i added in Truffle.nqp was a bit different though, that's probably where my main problem was 12:58
yoleaux 08:00Z <pmurias> MasterDuke: I'm away on a camp till Sunday
08:01Z <pmurias> MasterDuke: I hooked you loop in
Geth rakudo: 9dce633188 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] Move error text test from roast

Orig: github.com/perl6/roast/commit/35fac4d1b
13:09
13:10 Zoffix joined
Zoffix AlexDaniel: +1 on using a release branch without the recent rescallar/spesh plugin stuff. For wanting this Rakudo Star to be good and fast, I'm reminded of rakudo.party/post/The-Failure-Poin...#thefuture with "We rushed some work, due to lengthy Rakudo Star release cycles" listed as #1 13:14
Also, my build on Windows just failed, but the errors suggest jnthn++'s fix fixes them 13:15
Zoffix does the bumps
Geth roast: 9a981d0b26 | (Zoffix Znet)++ | integration/error-reporting.t
[v6.d REVIEW] Move error text test out of roast

Moved to: github.com/rakudo/rakudo/commit/9dce633188 Orig: github.com/perl6/roast/commit/35fac4d1b
13:18
jnthn fwiw, I've not been rushing with rescalar stuff at all. I merged it when it passed stresstest and after successfully trying it with a few modules. 13:21
yoleaux 08:17Z <lizmat> jnthn: does something Hash-ish need to mutable or not
jnthn .tell lizmat No
yoleaux jnthn: I'll pass your message to lizmat.
Geth 6.d-prep: 5dea16f88c | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Roast TODO: Add Missing `plan`s in substests
13:23
jnthn More generally: that this is a Rakudo Star release is not much of a consideration for much of what I'm doing. I've got a window of time where I can work with very few other distractions on a bunch of difficult problems that I've put off working on for quite a while.
I'm doing the things that need doing when I have the chance to do them. That this happens to be around the time of the Star release is mostly an unhelpful coincidence, from my perspective. :) 13:24
Zoffix Just got 3 stresstest failures, one of which is a SEGV after the bumps 13:28
Zoffix restresstests
(failed files: gist.github.com/zoffixznet/ab47d85...4fdec9f2f2 )
*from first run 13:29
13:33 benjikun2 joined
Zoffix No SEGV this time, but the other two failures remain: gist.github.com/zoffixznet/a1c2d6e...2c23861cbd 13:33
pmurias MasterDuke: I just changed how the condition was checked, the hooking into Truffle.nqp was causing problems
Zoffix reverts the bumps to see if those existed before the bumps
pmurias MasterDuke: you can always use --target=tast to see, the stuff the will be turned into truffle nodes 13:34
13:35 benjikun left
Zoffix they are 13:43
Zoffix bumps
13:46 skids joined
Zoffix Filed failures on R#2071 13:47
synopsebot R#2071 [open]: github.com/rakudo/rakudo/issues/2071 [⚠ blocker ⚠] Stresstest failures on v2018.06.179.g.9.dce.63318
Zoffix The t/spec/S17-promise/lock-async-stress2.t segfaulted twice. Once with bumps in and once on current rakudo HEAD without any bumps
(well, it said "Non-zero exit status: 11", but I believe that means it segfaulted) 13:48
*wait status 13:49
jnthn Yeah, sounds like. Will look at the ticket, once I've got through some of the others. :-)
Geth nqp/truffle: 16281107c7 | (Paweł Murias)++ | src/vm/jvm/Truffle.nqp
[truffle] For now compile nqp::callstatic as nqp::call
13:50
jnthn Be back eveningish :)
Zoffix m: dd <abc xyz>.classify( *.contains: any 'a'..'f' ) 13:55
camelia (my Any %{Any} = Bool::False => $["abc", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz"], Bool::True => $["abc"])
Zoffix Should that actually duplicate all the things like that?
proptested in github.com/perl6/roast/commit/15eced771 13:56
m: dd <bcdef xyz>.classify( *.contains: any 'a'..'f' )
camelia (my Any %{Any} = Bool::False => $["bcdef", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz"], Bool::True => $["bcdef"])
Zoffix and bcdef is in both truthy and falsy branches :S 13:57
m: dd <bcdef xyz>.classify({.contains: any 'a'..'f' })
camelia (my Any %{Any} = Bool::False => $["bcdef", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz"], Bool::True => $["bcdef"])
timotimo it'd be surprising if it'd "so" it for you, because your results can very well be something non-booly 13:58
i'd say tell people to explicitly "so" it if they don't want the same semantics as assignment would have
Zoffix ah it returns a category to shove the stuff into. OK
timotimo that's right
warrants a mention in the docs, perhaps an entry in the traps document but i'm not so convinced of that 13:59
Zoffix How come there are only 2 "bcdef" but a whole bunch of "xyz"s?
m: dd <bcdef xyz>.classify({.contains: any 'a'..'o' }) 14:00
camelia (my Any %{Any} = Bool::False => $["bcdef", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz"], Bool::True => $["bcdef"])
timotimo any short-circuits, right? but only when you so it?
Zoffix Ah. OK
timotimo needs to be keyed as Mu
do we have a :into named arg or do we Hash:U.classify for that? 14:01
m: (my %foo{Mu}).classify(<bcdef xyz>, {.contains: any 'a'..'o'}).perl.say
camelia Cannot resolve caller classify(Hash[Any,Mu]: List, Block); none of these signatures match:
($: *%_)
($: Whatever, *%_)
($: $test, :$into!, :&as, *%_)
($: $test, :&as, *%_)
in block <unit> at <tmp> line 1
timotimo not like that, no
it has "into"
m: dd <bcdef xyz>.classify({.contains: any 'a'..'o' }, into => my %foo{Mu})
camelia Hash[Any,Mu] %foo = (my Any %{Mu} = Bool::False => $["bcdef", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz", "xyz"], Bool::True => $["bcdef"])
timotimo hm, no
Zoffix does it though? It's not documented
timotimo the "into" arg? 14:02
Zoffix Yes
Oh ok, it's documented, but not listed in the shown signatures
timotimo every day a little improvement to the docs ...
Zoffix D#2175 14:04
synopsebot D#2175 [open]: github.com/perl6/doc/issues/2175 [docs][good first issue] .classify docs lack `:as` and `:into` args in shown signatures
Geth nqp: 6c3c3c31d7 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 17 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...0-gd4d8ff4 d4d8ff4 Mark functions used in Perl 6 extops MVM_PUBLIC 3e91dc6 Fix MVM_GC_DEBUG worklist check for NULL STable 00d5a06 Merge branch 'new-deopt-point-algo' 8821a35 Move speshresolve handling into optimize phase ... (13 more lines)
14:05
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...0-gd4d8ff4
rakudo: 5cf0afce02 | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] 6c3c3c3 [MoarVM Bump] Brings 17 commits

NQP bump brought: github.com/perl6/nqp/compare/2018....1-g6c3c3c3
MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...0-gd4d8ff4 d4d8ff4 Mark functions used in Perl 6 extops MVM_PUBLIC 3e91dc6 Fix MVM_GC_DEBUG worklist check for NULL STable ... (15 more lines)
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....1-g6c3c3c3
MasterDuke pmurias: i just realized typed variable declarations aren't supported yet (e.g., `my int $a`). heh, that explains many of the `Confused at ...` errors i've been getting 14:06
14:13 MasterDuke left
dogbert11 Zoffix: do you still have access to a 32 bit machine? 14:16
14:16 MasterDuke joined
Zoffix dogbert11: kinda... it'd require two remote desktop sessions and one ssh to get to. Why? 14:25
dogbert11 Zoffix: because I think the build is busted on 32 bit (it is on my machine). Just wanted to ask you if you can build your latest bump there. 14:29
Zoffix dogbert11: yup: "Cannot invoke this object (REPR: P6opaque; QAST::Block)" 14:45
R#2072 14:48
synopsebot R#2072 [open]: github.com/rakudo/rakudo/issues/2072 Can't build on 32-bit Debian
pmurias MasterDuke: we need to compile with a full setting to get 'my int $a' to parse 14:55
dogbert11 Zoffix: many thanks 14:56
AlexDaniel thanks to you both :) 14:58
I could have noticed that with canary also, but that typically happens much closer to the release 14:59
Geth nqp/truffle: a0454b35c9 | (Paweł Murias)++ | 7 files
[truffle] Implement 'local' scoped variables
15:00
nqp/truffle: 58d2d82400 | (Paweł Murias)++ | nqp-truffle.nqp
[truffle] Enable the optimizer
nqp/truffle: a167db98ae | (Paweł Murias)++ | 2 files
[truffle] Compile with the JVM setting

We need to swith to using a one dual compiled that we can load at some point Before we can deserialize we use a placeholder for QAST::WVal.
pmurias MasterDuke: ^^ that should get 'my int $a' to parse
MasterDuke: but we still need to cross-compile our own setting and implement native vars
at some point
dogbert11 AlexDaniel: added info wrt to the offending commit 15:01
MasterDuke pmurias++ 15:02
15:24 benjikun joined 15:25 benjikun2 left 15:39 fake_space_whale joined
AlexDaniel zostay: hello? :) 15:42
15:46 Zoffix left
Geth roast: 7dc829e0fb | (Zoffix Znet)++ | S32-list/classify.t
[v6.d REVIEW] Fix classify Junction matcher tests

Current tests assume implementation-specific Junction shortcircuiting behaviour.
Orig: github.com/perl6/roast/commit/15eced771
16:15
lizmat m: my Int %h; %h.BIND-KEY(%h,a,my Str $ = "foo") # DIHWIDT or worth an issue ? 16:17
yoleaux 13:21Z <jnthn> lizmat: No
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
a used at line 1
lizmat m: my Int %h; %h.BIND-KEY(%h,a,my Str $ = "foo") 16:18
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
a used at line 1
lizmat hmmm... I get a different error...
timotimo lizmat: what's a supposed to be? 16:19
lizmat well, you're trying to bind a Str container into an Int hash 16:20
m: my Int %h; %h.BIND-KEY(%h,"a",my Str $ = "foo")
camelia Cannot resolve caller BIND-KEY(Hash[Int]: Hash[Int], Str, Str); none of these signatures match:
(Hash:D: \key, Mu \bindval, *%_)
(Hash:D: Str:D \key, Mu \bindval, *%_)
in block <unit> at <tmp> line 1
timotimo aha
lizmat ok, I actually still get a different error, let me get the bumped version 16:21
timotimo so you think it should give an error related to the type for the hash not fitting?
lizmat well, that's the question, should it ?
16:22 ExtraCrispy left
lizmat m: my Int %h; %h.BIND-KEY("a",my Str $ = "foo") # this should be the actual code 16:25
camelia ( no output )
lizmat m: my Int %h; %h.BIND-KEY("a",my Str $ = "foo"); dd %h 16:26
camelia Hash[Int] %h = (my Int % = :a("foo"))
Geth roast: 2f4912528d | (Zoffix Znet)++ | S32-list/roll.t
[v6.d REVIEW] On failure, dump actual numbers in Range.rand test

Orig: github.com/perl6/roast/commit/6cf152219
roast: e922542b21 | (Zoffix Znet)++ | S26-documentation/09-configuration.t
[v6.d REVIEW] Use appropriater test subs for pod config test

Orig: github.com/perl6/roast/commit/6f059e853
16:32
16:37 Zoffix joined
Zoffix I'm having trouble finding any explicit tests in roast that spec slipping of args into calls 16:38
There's a couple in S02-types/flattening.t but that seems to be it :S 16:39
Geth roast: 15a73c7f18 | (Zoffix Znet)++ | 2 files
[v6.d REVIEW] Fix bad "dir | say" test

The test specs behaviour that IMo should not be specced at all and that is that `say` without parens throws a P5ism error.
However, reading the OP on the ticket this test is meant to cover, we can clearly see the original crash was due to slipping of a Bool into argument lists and nothing to do with neither `say` nor `dir`.
Orig: github.com/perl6/roast/commit/1c1d01eaf
16:42
Zoffix Man, 2016-Zoffix was a real n00b to have written that test :)
zostay No I haven't looked at it yet. I'm going on a date now. See you later. 16:45
Zoffix ZofBot: are people with dates even allowed to be in this channel? 16:48
Filed S#451
synopsebot S#451 [open]: github.com/perl6/roast/issues/451 [underspecced] Slipping into argument lists appears to be underspecced
MasterDuke what do you have against Mediterranean fruit? 16:50
Zoffix :)
17:07 Ven`` joined 17:15 AlexDani` joined 17:19 Ven`` left 17:20 AlexDaniel left 17:32 skids left
TimToady that depends on whether you've used MONKEY... 18:10
(and, of course, whether there are nazis wandering around in your movie) 18:11
MasterDuke last crusade is a great movie 18:22
18:47 pmurias left 19:05 Zoffix left 19:33 Zoffix joined
Zoffix The way RT#129160 was fixed is questionable IMO 19:33
synopsebot RT#129160 [resolved]: rt.perl.org/Ticket/Display.html?id=129160 [RFC] enum key for optional positional does not work
Zoffix m: enum A <b c d>; sub (b) {}(A)
camelia ( no output )
Zoffix if you specify a particular value of an enum, it now accepts a type object of the enum 19:34
m: enum A <b c d>; for b, A { say $_ ~~ Mu:D; say $_ ~~ Mu:U } 19:35
camelia True
False
False
True
Zoffix the name of the enum is a typeobject and its value is an instance.
so OP behaviour in the ticket makes sense. It might be an LTA error, but other than that it looks fine to me 19:36
m: enum A ('a', b => 2, c => 2); sub (c \v) { say v eqv c }(A) 19:37
camelia False
Zoffix .ask TimToady RT#129160 quotes you as "please rakudobug that". Did you mean to rakudobug for better error or do we really want to accept a typeobject of the enum when a specific value was specified as a type constraint, which doesn't even `eqv` to each other: rt.perl.org/Ticket/Display.html?id=129160 19:39
yoleaux Zoffix: I'll pass your message to TimToady.
synopsebot RT#129160 [resolved]: rt.perl.org/Ticket/Display.html?id=129160 [RFC] enum key for optional positional does not work
Zoffix .tell TimToady I filed that as R#2073 github.com/rakudo/rakudo/issues/2073 19:46
yoleaux Zoffix: I'll pass your message to TimToady.
synopsebot R#2073 [open]: github.com/rakudo/rakudo/issues/2073 [6.d review][@LARRY] Bad propspec: Enum's :D accepts Enum's :U
Zoffix
.oO(forbid enum's :Ds to be used as type constrants using the same syntax as regular types entirely)
19:49
There's almost no point in them being used that way. Other than to spec a variable to one type and then you'd be able to change its value in only one place, without changing the name of the variable 19:50
TimToady I was referring to the fact that calling the function with no argument whatsover should treat the argument as optional, and shouldn't be even getting to any sort of type check, let alone an error message 19:58
yoleaux 19:39Z <Zoffix> TimToady: RT#129160 quotes you as "please rakudobug that". Did you mean to rakudobug for better error or do we really want to accept a typeobject of the enum when a specific value was specified as a type constraint, which doesn't even `eqv` to each other: rt.perl.org/Ticket/Display.html?id=129160
19:46Z <Zoffix> TimToady: I filed that as R#2073 github.com/rakudo/rakudo/issues/2073
synopsebot RT#129160 [resolved]: rt.perl.org/Ticket/Display.html?id=129160 [RFC] enum key for optional positional does not work
R#2073 [open]: github.com/rakudo/rakudo/issues/2073 [6.d review][@LARRY] Bad propspec: Enum's :D accepts Enum's :U
TimToady otoh, setting the parameter to the Foo type object is approproiate for an optional parameter 20:00
Zoffix TimToady: but it's not a type object. It's basically an alias for a value 20:02
m: use nqp; dd nqp::isconcrete(Broken)
camelia 1
Zoffix And you can't have an optional :D variable with other types either 20:03
m: sub (Int:D $x?) {}
camelia WARNINGS for <tmp>:
Useless use of anonymous sub, did you forget to provide a name? (line 1)
Zoffix m: sub (Int:D $x?) {}()
camelia Parameter '$x' of routine '<anon>' must be an object instance of type 'Int', not a type object of type 'Int'. Did you forget a '.new'?
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix same sort of error
nqp::isconcrete tests if it's a typeobject or an instance (1 => instance). 20:04
m: say Broken ~~ Mu:D
camelia True
TimToady well, :D is obviously not possible to enforce on an optional parameter
Zoffix m: say Broken ~~ Mu:U
camelia False
TimToady so at least the error message is wrongish
Zoffix But -> Broken $x? {}() should just stick Broken into $x?
m: enum A <b c>; -> b $x? {}() 20:05
camelia ( no output )
Zoffix m: enum A <b c>; -> b $x? {dd $x}()
camelia A
Zoffix m: enum A <b c>; -> b $x = b {dd $x}()
camelia A::b
Zoffix so the second to last case above is to change to the last case and get an A::b in it instead of A and ACCEPTS would be tossed 20:06
(ACCEPTS of enum's :D accepting its :U I mean, which is what makes it work right now)
cause many values fit Int:D and we can't pick one, but only Broken would fit into `Broken` type constraint, so we can stick it there 20:07
TimToady I suspect any :D or constraint that implies :D should disallow ? and make people pick a default that works within the type invariant 20:08
Zoffix OK
TimToady maybe just the current-ish message with a (can you really use ? there) or some such 20:09
otoh if we can detect the problem at compile time, we should probably carp sooner
or maybe we can have a more general error of the Can-you-really-undefine-this? sort 20:11
TimToady a bit distracted at the moment, so ignore any non-sensical thing's he sez
Zoffix :)
TimToady *things
20:11 MasterDuke_ joined
TimToady (or types) :) 20:12
20:12 MasterDuke left
MasterDuke_ is t/spec/S04-phasers/in-loop.t failing for anyone else? 20:12
`not ok 14 - POST should not see outer $_`
20:13 MasterDuke_ is now known as MasterDuke
Zoffix MasterDuke: yes, R#2071 20:14
synopsebot R#2071 [open]: github.com/rakudo/rakudo/issues/2071 [⚠ blocker ⚠] Stresstest failures on v2018.06.179.g.9.dce.63318
MasterDuke ah, ok, thanks 20:15
20:23 Zoffix left
dogbert11 m: use Test; my @a = []; for ^10 { POST @a.push($_); 42 }; is @a, [42, 42, 42, 42, 42, 42, 42, 42, 42, 42], "POST should not see outer $_" # MasterDuke 20:26
camelia WARNINGS for <tmp>:
Useless use of constant integer 42 in sink context (line 1)
Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <un…
dogbert11 the failing test
bisect: my @a = []; for ^10 { POST @a.push($_); 42 }; say @a 20:31
bisectable6 dogbert11, Bisecting by output (old=2015.12 new=5cf0afc) because on both starting points the exit code is 0
dogbert11, bisect log: gist.github.com/1aa7752cf805e25aca...7de84a4f27
dogbert11, (2017-09-04) github.com/rakudo/rakudo/commit/4b...77b74cd59d
dogbert11 nah 20:32
bisect HEAD, 2018.06: my @a = []; for ^10 { POST @a.push($_); 42 }; say @a
sigh, I always seem to forget the syntax 20:33
bisect: 2018.06,HEAD my @a = []; for ^10 { POST @a.push($_); 42 }; say @a 20:34
bisectable6 dogbert11, Using old=2018.06 new=HEAD in an attempt to DWIM
dogbert11, Bisecting by output (old=2018.06 new=5cf0afc) because on both starting points the exit code is 0
dogbert11, bisect log: gist.github.com/ab73647663c2c0726d...44c4f230ea
dogbert11, (2018-07-13) github.com/rakudo/rakudo/commit/35...7acd4f3de3
AlexDani` c: 359ac12d9^,359ac12d9 my @a = []; for ^10 { POST @a.push($_); 42 }; say @a 20:36
committable6 AlexDani`, gist.github.com/fcbcb27be381cbff23...a598790149
20:36 AlexDani` is now known as AlexDaniel
AlexDaniel MuMuMuMuMuMuMu 20:36
dogbert11: I guess it's time to plug some actual AI into it :) 20:38
dogbert11 a neural network :) 20:39
AlexDaniel dogbert11: what is that issue btw?
Geth: ver github.com/rakudo/rakudo/commit/35...7acd4f3de3
Geth AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2018....0-gb1e80f0
AlexDaniel Geth: ver github.com/perl6/nqp/commit/b1e80f...3e6803fee0
Geth AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...3-g1b1edfe
dogbert11 AlexDaniel: "is t/spec/S04-phasers/in-loop.t failing for anyone else? " 20:40
AlexDaniel dogbert11: left a comment for you: github.com/rakudo/rakudo/issues/20...-405048694 20:43
although it's not that helpful I guess
dogbert11 thx, I suspect that most/all of the other errors, when running a stresstest, is due to a different problem 20:44
20:50 MasterDuke left 20:52 MasterDuke joined
MasterDuke .ask pmurias *@ doesn't seem to work in signatures with Truffle. e.g. `'sub foo(*@f) { say(nqp::elems(@f)) }; foo(1, 2, 3)'` dies with `java.lang.RuntimeException: Can only call elems on arrays or hashes` (with a yet-to-be-pushed commit to make elems support NQPList). where would i look to fix that? 20:53
yoleaux MasterDuke: I'll pass your message to pmurias.
20:54 benjikun2 joined 20:58 benjikun left, AlexDaniel left, AlexDaniel joined
AlexDaniel whew, well 21:11
I'm done with R#2047
synopsebot R#2047 [closed]: github.com/rakudo/rakudo/issues/2047 [⚠ blocker ⚠] Rescalar merge & other toaster-related stuff
Geth nqp/truffle: 9f21e57ee2 | (Daniel Green)++ | 2 files
[truffle] Correct the class these extend
21:22
nqp/truffle: 8914496e91 | (Daniel Green)++ | 2 files
[truffle] Implement elems + other ops for NQPList
nqp/truffle: c0b74e7f5a | (Daniel Green)++ | 2 files
[truffle] Implement nqp::join
21:27 benjikun2 left 21:29 lizmat left 21:32 lizmat joined 22:01 robertle left 22:26 stmuk_ joined 22:27 fake_space_whale left 22:28 stmuk left 22:53 ufobat_ left