Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-09-27

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 Geth ¦ nqp: 1f0a598e37 | (Samantha McVey)++ | tools/build/MOAR_REVISION
00:11 Geth ¦ nqp: Bump MoarVM to get uniname fixes
00:11 Geth ¦ nqp:
00:11 Geth ¦ nqp: Adds hex digits to end of non-unique Unicode names, and returns
00:11 Geth ¦ nqp: noncharacter property for noncharacters as well as not returning
00:11 Geth ¦ nqp: <illegal> except for codepoints that are less than 0.
00:11 Geth ¦ nqp:
00:11 Geth ¦ nqp: Changes: 2017.09.1-32-g9749b0f..2017.09.1-46-g27d3d01e
00:11 Geth ¦ nqp: <…commit message has 6 more lines…>
00:11 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/1f0a598e37
00:11 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.09.1-32-g9749b0f...2017.09.1-46-g27d3d01e
00:13 Geth ¦ rakudo/nom: 9dba498f7f | (Samantha McVey)++ | tools/build/NQP_REVISION
00:13 Geth ¦ rakudo/nom: Bump NQP/Moar for uniname fixes
00:13 Geth ¦ rakudo/nom:
00:13 Geth ¦ rakudo/nom: Adds hex digits to end of non-unique Unicode names, and returns
00:13 Geth ¦ rakudo/nom: noncharacter property for noncharacters as well as not returning
00:13 Geth ¦ rakudo/nom: <illegal> except for codepoints that are less than 0.
00:13 Geth ¦ rakudo/nom:
00:13 Geth ¦ rakudo/nom: NQP changes: 2017.09-18-g59612c4..2017.09-36-g1f0a598e3
00:13 Geth ¦ rakudo/nom: <…commit message has 26 more lines…>
00:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9dba498f7f
00:13 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.09-18-g59612c4...2017.09-36-g1f0a598e3
00:21 Geth ¦ roast: 8e4e510408 | (Samantha McVey)++ | S15-unicode-information/uniname.t
00:21 Geth ¦ roast: Update uniname tests to test hex after non-unique's
00:21 Geth ¦ roast:
00:21 Geth ¦ roast: Instead of just testing <Control-0000> we also test for CJK
00:21 Geth ¦ roast: Ideographs like <CJK Ideograph-XXXX>. All names starting with a
00:21 Geth ¦ roast: '<' and ending with '>' are inherently nonunique names, so we
00:21 Geth ¦ roast: give them names similar to how they are refered to within the
00:21 Geth ¦ roast: Unicode dataset.
00:21 Geth ¦ roast:
00:21 Geth ¦ roast: Also test that noncharacters return <noncharacter-XXXX> rather than
00:21 Geth ¦ roast: illegal or reserved. Check that we get reserved instead of illegal
00:21 Geth ¦ roast: back for characters that are non-illegal but under 0x10FFFF
00:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8e4e510408
00:21 Geth ¦ roast: 0b471ac100 | (Samantha McVey)++ | S32-str/utf8-c8.t
00:21 Geth ¦ roast: Add UTF8-C8 tests for values > 0x10FFFF as well as Surrogates
00:21 Geth ¦ roast:
00:21 Geth ¦ roast: These tests also now pass due to recent fixes in MoarVM's UTF8-C8
00:21 Geth ¦ roast: generating code.
00:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0b471ac100
00:26 travis-ci joined #perl6-dev
00:26 travis-ci NQP build failed. Samantha McVey 'Bump MoarVM to get uniname fixes
00:26 travis-ci https://travis-ci.org/perl6/nqp/builds/280210547 https://github.com/perl6/nqp/compare/8e780a82c040...1f0a598e37af
00:26 travis-ci left #perl6-dev
00:44 BenGoldberg m: (-42).uniname
00:44 camelia rakudo-moar 9dba49: ( no output )
00:44 BenGoldberg m: (-42).uniname.say
00:44 camelia rakudo-moar 9dba49: OUTPUT: «<illegal>␤»
00:50 Zoffix grrr fudger doesn't fudge subtests right >_<
00:52 skids timotimo: oh yay I was wrong, :sym stuff works fine.
00:53 astj joined #perl6-dev
00:53 Geth ¦ roast: 44937e865e | (Zoffix Znet)++ | S05-metasyntax/regex.t
00:53 Geth ¦ roast: Add fudged tests for Range quantifiers in regexes
00:53 Geth ¦ roast: review: https://github.com/perl6/roast/commit/44937e865e
01:20 astj joined #perl6-dev
01:35 travis-ci joined #perl6-dev
01:35 travis-ci Rakudo build passed. Zoffix Znet 'Fix infinilop in .^roles of class that does Rational
01:35 travis-ci https://travis-ci.org/rakudo/rakudo/builds/280107431 https://github.com/rakudo/rakudo/compare/6ec21cb47394...0961abe8fff0
01:35 travis-ci left #perl6-dev
01:55 ilbot3 joined #perl6-dev
01:55 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:19 cuonglm joined #perl6-dev
02:30 llfourn joined #perl6-dev
04:21 astj_ joined #perl6-dev
04:23 nine_ joined #perl6-dev
04:24 jdv79_ joined #perl6-dev
04:25 teatime_ joined #perl6-dev
04:30 AlexDaniel joined #perl6-dev
04:32 BooK joined #perl6-dev
05:24 AlexDaniel joined #perl6-dev
05:48 AlexDaniel joined #perl6-dev
06:26 eater joined #perl6-dev
07:16 cschwenz joined #perl6-dev
07:23 AlexDaniel joined #perl6-dev
07:37 AlexDani` joined #perl6-dev
07:39 pmurias joined #perl6-dev
07:40 patrickz joined #perl6-dev
07:51 AlexDaniel joined #perl6-dev
07:51 AlexDaniel .tell skids “Any obvious repo in which to plop this?” – maybe https://github.com/rakudo/rakudo/wiki
07:51 yoleaux AlexDaniel: I'll pass your message to skids.
07:52 committable6 joined #perl6-dev
07:52 quotable6 joined #perl6-dev
07:52 evalable6 joined #perl6-dev
07:52 bloatable6 joined #perl6-dev
07:52 unicodable6 joined #perl6-dev
07:52 releasable6 joined #perl6-dev
07:52 coverable6 joined #perl6-dev
07:52 nativecallable6 joined #perl6-dev
07:52 greppable6 joined #perl6-dev
07:52 benchable6 joined #perl6-dev
07:52 bisectable6 joined #perl6-dev
07:52 squashable6 joined #perl6-dev
07:52 statisfiable6 joined #perl6-dev
07:55 AlexDaniel squashable6: status
07:55 squashable6 AlexDaniel, Next SQUASHathon in 9 days and ≈2 hours (2017-10-07 UTC-12⌁UTC+14)
07:55 AlexDaniel :O
08:03 DrForr On a split network, noone can hear you /say.
08:13 nine_ :)
08:28 robertle joined #perl6-dev
08:29 AlexDaniel .oO( split network? )
08:30 AlexDaniel .oO( did somebody just think that whateverables rejoining is a network split? Or did I miss the actual split? )
08:32 [TuxCM] joined #perl6-dev
08:32 nine_ AlexDaniel: you missed the split
08:32 AlexDaniel ah ok
08:34 teatime Netsplit *.net <-> *.split quits: astj, nine, BooK, teatime, jdv79
08:34 teatime granted I don't know much about irc, but hth can I see myself split
08:35 teatime am I like Thomas Riker now, and there's another me, out there, somewhere...
08:42 gfldex joined #perl6-dev
08:53 AlexDaniel joined #perl6-dev
09:24 lizmat in QAST, I want to flatten an  nqp::hash into a call, basically the |%attrinit
09:24 lizmat is the only way really to call FLATTENABLE_HASH on the HLL version of it?
09:24 lizmat feels very wasteful to me
09:25 lizmat jnthn timotimo moritz ^^^
09:26 lizmat feels I should only need to add a :flat in there somehow
09:26 lizmat and possibly a :named
09:33 moritz you can iterate over the hash and add :named arg for each element
09:36 lizmat ok, I see that
09:38 lizmat but I probably don't want to encode that in QAST for each BUILDALL, right ?
09:44 pmurias jnthn: what does fles mean? attributes get that
09:45 jnthn If it's an NQP hash you just put :flat(1), :named(1)
09:45 moritz ah, nice
09:46 jnthn That's actually what | compiles into also
09:46 jnthn It just first calls .FLATTENABLE_HASH to extract the nqp hash inside of it
09:46 moritz pmurias: it's "self" reversed
09:46 jnthn m: "fles".flip.say :)
09:46 camelia rakudo-moar 9dba49: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unexpected closing bracket␤at <tmp>:1␤------> 3"fles".flip.say :7⏏5)␤»
09:46 jnthn m: "fles".flip.say # :)
09:46 camelia rakudo-moar 9dba49: OUTPUT: «self␤»
09:47 moritz pmurias: and seems to be used in locations where 'self' can't be used, because it's reserved, or bootstrapping doesn't like it
09:47 jnthn Yeah, it's that, I think 'cus the other self was needed in that context too or some such :-)
09:47 moritz might be clearer to call it SELF
09:56 jnthn bah, the reason my patch last night didn't work is 'cus I inverted the very conditions I meant to add
09:56 lizmat hehe
09:56 lizmat If in QAST I want to return from a sub, do I just call 'return' ?   or is there a better way ?
09:58 jnthn Are you in the outermost scope of it?
09:58 lizmat no
09:59 lizmat this is basically for the case that BUILD or TWEAK return a Failure
09:59 lizmat we want that returned immediately
10:01 jnthn I mean, you're in the QAST::Op you want to return from?
10:02 lizmat this is what I need to rewrite in QAST: https://github.com/rakudo/rakudo/blob/nom/src/core/Mu.pm#L159
10:03 jnthn gah, I meant QAST::Block that you want to return from
10:03 lizmat yeah, that I am  :-)
10:03 jnthn Ok, I think then just QAST::Op.new( :op('return'), ...lookup the thing to return here... )
10:04 jnthn Will be the best way
10:04 AlexDaniel joined #perl6-dev
10:04 lizmat ok, that's what I did
10:04 Zoffix No [Tux] timings yet? I had a dream my optimizer fix made things .3s slower :D
10:04 jnthn If you want to call the Perl 6 return sub you'd need to set up a return handler also
10:05 jnthn lizmat: Does it work, or not? :)
10:05 lizmat well, building takes about 1.5 minutes each time  :-)
10:05 jnthn ah :)
10:06 lizmat and now I'm looking at some wrongly positioned parens or something
10:06 jnthn Hm, what a bizzare failure mode I now get...
10:07 AlexDaniel joined #perl6-dev
10:08 [TuxCM] $work interfered and I forgot. running now
10:11 Zoffix \o/
10:16 [TuxCM] This is Rakudo version 2017.09-100-g9dba498f7 built on MoarVM version 2017.09.1-46-g27d3d01e
10:16 [TuxCM] csv-ip5xs        1.299 -  1.320
10:16 [TuxCM] test             9.353 -  9.637
10:16 [TuxCM] test-t           3.314 -  3.429
10:16 [TuxCM] csv-parser      12.023 - 12.046
10:18 Zoffix buggable: speed 6 :4
10:18 buggable Zoffix,        dates: 2017-09-25–2017-09-27
10:18 buggable Zoffix, ▃▇ ▇   range: 3.314s–3.556s
10:18 buggable Zoffix, ██▄█▄  speed: 6% faster
10:18 buggable Zoffix, █████▁
10:19 Zoffix buggable: speed 100 :4
10:19 buggable Zoffix,  ▇▆▅↑↑↑▇▇▆▇▇↑↑↑█↑                                                   ▃                                dates: 2017-08-08–2017-09-27
10:19 buggable Zoffix,  ████████████████ ▄                                  ▇              █                                range: 3.314s–4.925s
10:19 buggable Zoffix,  ████████████████▄█▆▆▂█  ▂   ▂    ▇▃          ▇    ▇▃█▁    ▂     ▃  ██                               speed: 8% faster
10:19 buggable Zoffix, ███████████████████████▅▆█▆▆██▆▅▄▃██▄▅▄▆▅▄▅▃▄▄█▇▅▅▇████▅▆▆▅█▅▆▃▃▇██▇██▆▇▅▆▄▃▄▅▄▅▃▃▅▄▃▇▄▄▃▃▃▄▄▄▆▇▄▇▄▁
10:19 Zoffix Progress
10:21 jnthn yay :)
10:22 jnthn Wondered how async changes had managed to make a Rat test hang :P
10:22 jnthn Turns out I just needed to pull latest changes :)
10:30 lizmat jnthn: No registered operation handler for 'return'   :(
10:30 lizmat grrr
10:30 lizmat I need to call 'return', right
10:32 jnthn Hmmmm
10:32 jnthn Yeah but that needs to wrap a return exception handler too
10:32 jnthn But it's the most expedient way for now
10:33 Geth ¦ rakudo/nom: bd530108c4 | (Jonathan Worthington)++ | src/core/CurrentThreadScheduler.pm
10:33 Geth ¦ rakudo/nom: Fix CurrentThreadScheduler error handling
10:33 Geth ¦ rakudo/nom:
10:33 Geth ¦ rakudo/nom: It is used as a type object rather than an instance in quite some
10:33 Geth ¦ rakudo/nom: tests, and so very possibly in the wild too. So make sure that it
10:33 Geth ¦ rakudo/nom: doesn't explode due to trying to look up an error handler from a
10:33 Geth ¦ rakudo/nom: type object.
10:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd530108c4
10:33 lizmat jnthn: any prior art that could enlighten me re wrapping an exception handler ?
10:34 lizmat now I get: Attempt to return outside of any Routine  :)
10:35 jnthn yeah, that's 'cus you're missing the handler
10:35 lizmat also: could that be set up conditionally upon receiving of a failure ?  or does it need to be set always?
10:35 jnthn in Actions.pm there's a wrap_return_handler
10:35 jnthn Setting it us is free anyway
10:35 * lizmat looks
10:36 jnthn It just makes a compile-time entry into a table of handlers
10:36 jnthn You only pay for throwing the return control exception
10:38 jnthn oh also
10:38 jnthn you need something simpler than wrap_return_handler
10:38 lizmat well, perhaps, I'm not seeing it yet  :-)
10:38 jnthn You don't need wrap_return_type_check nor the decontrv thing
10:39 jnthn sub wrap_return_handler($past) {
10:39 jnthn Is where I'm looking
10:39 jnthn The important bits you need are
10:39 jnthn QAST::Op.new(
10:39 jnthn :op<handlepayload>,
10:40 jnthn After that you put a QAST::Stmts holding your generated stuff
10:40 jnthn Then after it
10:40 jnthn 'RETURN',
10:40 jnthn QAST::Op.new( :op<lastexpayload> )
10:40 jnthn )
10:40 jnthn And you're done
10:40 jnthn Then calling return will work :)
10:40 lizmat ok, lemme see if I can get that together  :-)
10:46 jnthn tests++ # keeping me from regressing error reporting on await
10:54 Zoffix ZOFVM: Files=1280, Tests=152198, 151 wallclock secs (21.91 usr  3.46 sys + 3149.98 cusr 269.45 csys = 3444.80 CPU)
10:54 Zoffix And strangeley the failing sock test file passed :|
10:55 Zoffix The one about IPv6
10:56 lizmat jnthn: shouldn't it be the QAST::Block that I should wrap ?
10:56 jnthn No
10:56 jnthn Second QAST::Stmts that you put into the QAST::Block
10:56 lizmat $stmts := QAST::Op.new( :op<handlepayload>,
10:56 lizmat $stmts,
10:56 lizmat 'RETURN',
10:56 lizmat QAST::Op.new( :op<lastexpayload> )
10:56 lizmat );
10:57 lizmat yeah, that's what I did, no?
10:57 jnthn That looks ok
10:57 jnthn Seems so, if that's what $stmts is :)
10:57 jnthn You push $stmts into the QAST::Block after this, I presume?
10:57 lizmat yes, that's what $stmts is
10:57 lizmat aaaaahhhh    :-)   spot on
11:01 lizmat whee!   BUILD and TWEAK support now in
11:02 jnthn \o/
11:02 jnthn lizmat++
11:02 lizmat now those pesky other cases  :-)
11:03 jnthn Hurrah, it looks like I've managed to unregress all that I broke in my supply internals refactor
11:03 lizmat jnthn++
11:10 Geth ¦ rakudo/nom: 9af5607d52 | (Jonathan Worthington)++ | 2 files
11:10 Geth ¦ rakudo/nom: Start using $*AWAITER in `await` in 6.c
11:10 Geth ¦ rakudo/nom:
11:10 Geth ¦ rakudo/nom: But set an additional flag indicating that we should really block, so
11:10 Geth ¦ rakudo/nom: we still get the 6.c semantics, just in terms of the new factoring.
11:10 Geth ¦ rakudo/nom: This means that the parts of the new supply concurrency model that
11:10 Geth ¦ rakudo/nom: depend on the use of $*AWAITER will now work out with 6.c code that
11:10 Geth ¦ rakudo/nom: does an `await` in the mainline of a `supply` block. It also means
11:10 Geth ¦ rakudo/nom: that we'll from today be exercising much of the code that makes up
11:10 Geth ¦ rakudo/nom: 6.d non-blocking await, except the bit in ThreadPoolScheduler that
11:10 Geth ¦ rakudo/nom: actually does the non-blocking part of the job.
11:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9af5607d52
11:12 jnthn Phew. :)
11:13 lizmat jnthn++   # wow
11:15 jnthn With all these changes, using await inside of a supply/react block will now be able to do the continuation thing also, plus supplies now have a better back-pressure model
11:16 jnthn So I should be able to, in the coming weeks, put in some stuff so that if we are, say, processing lines from a Proc::Async too slowly to keep up with the rate of output, then we can stop the libuv reader for a bit, which will in turn push back on the outputing process.
11:16 jnthn Rather than them piling up in memory, as they have to date
11:16 jnthn Ditto for async sockets
11:20 jnthn Also, this now works:
11:20 jnthn my $s = supply { until my $end { emit 42 }; CLOSE { $end = True } }; react { whenever $s { .say; done if $++ == 5 } }
11:20 jnthn m: my $s = supply { until my $end { emit 42 }; CLOSE { $end = True } }; react { whenever $s { .say; done if $++ == 5 } }
11:20 camelia rakudo-moar bd5301: OUTPUT: «42␤42␤42␤42␤42␤42␤»
11:20 jnthn c: 2017.09 my $s = supply { until my $end { emit 42 }; CLOSE { $end = True } }; react { whenever $s { .say; done if $++ == 5 } }
11:20 committable6 jnthn, ¦2017.09: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
11:21 jnthn Which is kinda nice in that it's now possible to write supply sources in a nicer way in various case
11:21 jnthn *cases
11:22 jnthn For example: my $poll-api = supply { until my $end { emit await download-latest-stuff-from-api(); await Promise.in(10); }; CLOSE { $end = True } }
11:23 jnthn Will, in 6.d, work out without blocking a real thread anywhere, and let you write a supply source that polls an API every 10 seconds.
11:23 jnthn I'm considering whether an `emit` in an already closed block should just tear down the block also
11:24 jnthn So then folks who didn't think to write the CLOSE block won't end up in bother
11:24 jnthn Probably should do that :)
11:24 jnthn So it DWTM :)
11:25 jnthn tl;dr supply syntax is nicer for writing sources now, and back-pressues in a better way
11:28 jnthn Also I might find something to do that melts my brain slightly less after this :-)
11:28 jnthn Though I'm quite keen to get hyper/race in shape for 6.d
11:29 jnthn So will probably look at that in the not too distant future
11:29 jnthn hyper whenever and race whenever also, mebbe
11:29 jnthn We'll see :)
11:40 timotimo i haven't heard of those yet :)
11:44 * lizmat suffers from melting brain as well
11:44 lizmat but is moving forward nonetheless...  mostly SMOP now
12:13 Geth ¦ roast: 292e1d9f7e | (Zoffix Znet)++ | VERSION
12:13 Geth ¦ roast: Add version file
12:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/292e1d9f7e
12:14 Geth ¦ roast/6.c-errata: 80a7391486 | (Zoffix Znet)++ | VERSION
12:14 Geth ¦ roast/6.c-errata: Add version file
12:14 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/80a7391486
12:26 nine_ jnthn: do you think I can merge jit_nativecall this week? I'll be on vacation on the first 2 weeks of October
12:34 jnthn nine_: Yes; I will try and look it over today, now that I'm finally done with the supply things and seem to me largely without headache too
12:34 nine_ \o/
12:36 jnthn git push
12:36 jnthn gah!
12:36 Geth ¦ roast: ed27a2620e | (Jonathan Worthington)++ | S17-supply/syntax.t
12:36 Geth ¦ roast: Test covering first part of RT #130716 solution
12:36 Geth ¦ roast: review: https://github.com/perl6/roast/commit/ed27a2620e
12:44 jnthn nine_: I'm happy with it, and approved it. I trust the Travis failures are 'cus we need to merge the NQP commits also?
12:48 nine_ jnthn: yes, we do
12:48 nine_ jnthn: thanks for looking :)
12:51 jnthn I noticed one thing from brrt about adding a comment, but one added earlier on looked related, so not sure if that's still to do or not
12:52 lizmat hmmm... how do I pass an SVal as a named parameter ?
12:53 lizmat just set :name<foo>, :named(1) ?
12:53 jnthn QAST::SVal.new( :value('omg an awesome apricot'), :named('exclamation') )
12:53 nine_ jnthn: I added the describing comments to the header files while brrt's questions were added to the code where those constants were used
12:53 lizmat oki
12:53 jnthn nine_: Alrighty :)
12:53 jnthn Then I think we can merge it :) Shall i? :)
12:56 lizmat jnthn: is there an QAST::OVal for opaque values?  Or should I just use WVal for that ?
12:57 timotimo just WVal
12:57 nine_ jnthn: have to go to a meeting now. I'd be happy to let you do it :)
12:57 lizmat timotimo: thanks
13:02 Geth ¦ rakudo/multi-roast: 7d830d5c18 | (Zoffix Znet)++ | t/spectest.data.6.c
13:02 Geth ¦ rakudo/multi-roast: Add 6.c test file list
13:02 Geth ¦ rakudo/multi-roast: review: https://github.com/rakudo/rakudo/commit/7d830d5c18
13:08 lizmat only one more buildplan action to go!
13:09 jnthn nine_: It's merged; NQP/Rakudo ones and bumps I'll let you or somebody else do, as got language class now :)
13:11 * Zoffix pokes Geth
13:11 Zoffix This thing's ded :o
13:11 travis-ci joined #perl6-dev
13:11 travis-ci Rakudo build failed. Jonathan Worthington 'Start using $*AWAITER in `await` in 6.c
13:11 travis-ci https://travis-ci.org/rakudo/rakudo/builds/280379881 https://github.com/rakudo/rakudo/compare/bd530108c47d...9af5607d523e
13:11 travis-ci left #perl6-dev
13:11 jnthn Zoffix: It was a MoarVM merge I was mentioning and it was reported fwiw
13:11 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
13:11 DrForr *whirr* *click*buzz* it's dead, Ji.
13:11 DrForr *Jim
13:12 Zoffix jnthn: I pushed https://github.com/rakudo/rakudo/commit/6cb810d23e6eda21f7eca55fd549a2b627d9091d and it didn't report it
13:12 jnthn Zoffix: ah, ok
13:12 timotimo Stage parse      : MoarVM panic: Internal error: invalid thread ID 14683768 in GC work pass
13:12 timotimo ouch?!
13:13 jnthn Oops
13:13 jnthn Wonder if that's the thing nwc10 spotted a while back, but I never managed to reproduce yet...
13:13 timotimo (that's travis up there)
13:13 jnthn Really time to go; bbiab
13:23 Geth ¦ rakudo/multi-roast: 31cbdada73 | (Zoffix Znet)++ | t/harness5
13:23 Geth ¦ rakudo/multi-roast: Teach Harness5 to handle different roast versions
13:23 Geth ¦ rakudo/multi-roast: review: https://github.com/rakudo/rakudo/commit/31cbdada73
13:40 skids joined #perl6-dev
13:47 Geth ¦ rakudo/multi-roast: 16f64182f0 | (Zoffix Znet)++ | t/harness6
13:47 Geth ¦ rakudo/multi-roast: Teach Harness6 to handle different roast versions
13:47 Geth ¦ rakudo/multi-roast: review: https://github.com/rakudo/rakudo/commit/16f64182f0
13:50 Zoffix huh
13:50 Zoffix m: "blazrg".IO.open andthen 42.say orelse dd $_
13:50 camelia rakudo-moar 9af560: OUTPUT: «Empty␤»
13:50 Zoffix not this again -_-
13:51 Zoffix Ah, ok, it's per-spec. nevermind. I thought oreelse would have the Failure there
13:54 Geth ¦ nqp: 71fc322e56 | (Stefan Seifert)++ | 13 files
13:54 Geth ¦ nqp: Map the new nativeinvoke OP
13:54 Geth ¦ nqp:
13:54 Geth ¦ nqp: nativecallbuild now has a return value indicating whether we were able
13:54 Geth ¦ nqp: to JIT compile code for the call site
13:54 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/71fc322e56
13:58 Zoffix m: +"x" orelse note "{.exception.message.uc}"
13:58 camelia rakudo-moar 9af560: OUTPUT: «CANNOT CONVERT STRING TO NUMBER: BASE-10 NUMBER MUST BEGIN WITH VALID DIGITS OR '.' IN '⏏X' (INDICATED BY ⏏)␤»
13:58 Zoffix huh weird. On my terminal, everything before "X" is invisible
13:58 Zoffix or blank rather
13:59 Zoffix m: sub x { my $ver = .lines.uc with "blazr".IO.open orelse note "meow {.exception.message}" and return 42; "meow$ver" }; dd x
13:59 camelia rakudo-moar 9af560: OUTPUT: «No such method 'exception' for invocant of type 'Any'␤  in sub x at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
14:00 Zoffix m: sub x { my $ver = .lines.uc with "blazr".IO.open orelse note "meow " ~ .exception.message and return 42; "meow$ver" }; dd x
14:00 camelia rakudo-moar 9af560: OUTPUT: «meow Failed to open file /home/camelia/blazr: No such file or directory␤42␤»
14:00 ugexe on a linux terminal im only getting a ), on osx i get the X
14:01 Geth ¦ rakudo/nom: 6 commits pushed by (Stefan Seifert)++
14:01 Geth ¦ rakudo/nom: 1623f6fe2f | Test more integerial return types in NC
14:01 Geth ¦ rakudo/nom: 7efef1194c | Test Pointer return values in argless function
14:01 Geth ¦ rakudo/nom: 1cb266b8da | Test argless native functions returning strings
14:01 Geth ¦ rakudo/nom: a06ebaf215 | Use the new nativeinvoke for calling JITed NC code directly
14:01 Geth ¦ rakudo/nom: d00b5e3aa9 | Give generated native call function bodies a name
14:01 Geth ¦ rakudo/nom: 269fe7dbbd | Remove unnecessary creation of an extra serialization context
14:01 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/9af5607d52...269fe7dbbd
14:03 nine lizmat: for the weekly, JIT compilation of native calls gives ~ 2.5x speedup in micro benchmarks and ~ 7 % speedup for csv-ip5xs (which shows there's still a lot of overhead in Inline::Perl5's Perl 6 code).
14:03 yoleaux 24 Sep 2017 20:38Z <lizmat> nine: wrt to calling BUILDALL with positionals: could we create another name for that, like BUILDALL_WITH_POSITIONALS() ?
14:03 yoleaux 24 Sep 2017 20:39Z <lizmat> nine: BUILDALL could then be an only method, instead of a multi
14:04 nine lizmat: but that would break installed Inline::Perl5 versions?
14:05 Zoffix \o/
14:07 Geth ¦ rakudo/multi-roast: 50d2013de5 | (Zoffix Znet)++ | t/harness6
14:07 Geth ¦ rakudo/multi-roast: Report reason for failure when can't read roast version
14:07 Geth ¦ rakudo/multi-roast: review: https://github.com/rakudo/rakudo/commit/50d2013de5
14:11 Zoffix Reported above andthen bug as https://rt.perl.org/Ticket/Display.html?id=132172
14:14 Zoffix .seen the-eater
14:14 yoleaux I haven't seen the-eater around.
14:14 Zoffix .seen theeater
14:14 yoleaux I haven't seen theeater around.
14:14 Zoffix .seen eater
14:14 yoleaux I saw eater 25 Sep 2017 11:05Z in #perl6-dev: <eater> Zoffix: poke me if you need help resolving it :)
14:15 Zoffix .tell eater the IPv6 sock roast failure magically disappeared :/ Perhaps it was just something with my VM
14:15 yoleaux Zoffix: I'll pass your message to eater.
14:16 Zoffix ZOFVM: Files=1280, Tests=152201, 147 wallclock secs (22.42 usr  3.36 sys + 3085.28 cusr 239.28 csys = 3350.34 CPU)
14:18 Geth ¦ rakudo: zoffixznet++ created pull request #1173: Multi roast
14:18 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1173
14:18 Geth ¦ rakudo/nom: 6 commits pushed by (Zoffix Znet)++
14:19 Geth ¦ rakudo/nom: 7d830d5c18 | Add 6.c test file list
14:19 Geth ¦ rakudo/nom: 6cb810d23e | Prune 6.d.proposals test files from 6.c test file list
14:19 Geth ¦ rakudo/nom: 31cbdada73 | Teach Harness5 to handle different roast versions
14:19 Geth ¦ rakudo/nom: 16f64182f0 | Teach Harness6 to handle different roast versions
14:19 Geth ¦ rakudo/nom: 50d2013de5 | Report reason for failure when can't read roast version
14:19 Geth ¦ rakudo/nom: ef050fe9b0 | Merge pull request #1173 from rakudo/multi-roast
14:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/269fe7dbbd...ef050fe9b0
14:20 Zoffix .tell stmuk as promised, just pushed a fix so `make spectest` on 6.c-errata no longer has spurious warnings about missing files. Any warnings that appear should be assumed to be geniune.
14:20 yoleaux Zoffix: I'll pass your message to stmuk.
14:20 Zoffix Thank you, robot.
14:25 AelxDnaiel Zoffix++
14:27 Geth ¦ roast: aa29b31f90 | (Zoffix Znet)++ | 5 files
14:27 Geth ¦ roast: Remove empty dummy files
14:27 Geth ¦ roast: review: https://github.com/perl6/roast/commit/aa29b31f90
14:27 Geth ¦ rakudo/nom: f62950dcc8 | (Zoffix Znet)++ | t/spectest.data
14:27 Geth ¦ rakudo/nom: Remove dead test files from 6.d.proposals test file list
14:27 Geth ¦ rakudo/nom:
14:27 Geth ¦ rakudo/nom: All of these files are just empty dummies[^1] that existed only to
14:27 Geth ¦ rakudo/nom: ensure their 6.c-errata counterparts run. Now, they live in their
14:27 Geth ¦ rakudo/nom: separate t/spectest.data.6.c list
14:27 Geth ¦ rakudo/nom:
14:28 Geth ¦ rakudo/nom: [1] https://github.com/perl6/roast/commit/aa29b31f90
14:28 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f62950dcc8
14:34 Geth ¦ rakudo/nom: 85ae1c92a7 | (Zoffix Znet)++ | 2 files
14:34 Geth ¦ rakudo/nom: Check for proposal roast versions case insensitively
14:34 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/85ae1c92a7
14:39 Geth ¦ rakudo/nom: dd8a610214 | (Zoffix Znet)++ | docs/roast-spectest.data-versioning.md
14:39 Geth ¦ rakudo/nom: Document how spectest.data file versioning works
14:39 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd8a610214
14:41 Geth ¦ roast: 12e6a25d81 | (Zoffix Znet)++ | VERSION
14:41 Geth ¦ roast: Point to docs of rakudo's use of file
14:41 Geth ¦ roast: review: https://github.com/perl6/roast/commit/12e6a25d81
14:41 Geth ¦ roast/6.c-errata: 37a4a2e5df | (Zoffix Znet)++ | VERSION
14:41 Geth ¦ roast/6.c-errata: Point to docs of rakudo's use of file
14:41 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/37a4a2e5df
14:47 Geth ¦ rakudo/nom: 36122f158f | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/roast-spectest.data-versioning.md
14:47 Geth ¦ rakudo/nom: Document spectest.data is also used when…
14:47 Geth ¦ rakudo/nom:
14:47 Geth ¦ rakudo/nom: …file for specific version file isn't readable
14:47 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36122f158f
14:50 Geth ¦ rakudo/nom: 2a512f0c23 | (Zoffix Znet)++ | 2 files
14:50 Geth ¦ rakudo/nom: Skip empty lines when reading roast VERSION file
14:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a512f0c23
15:06 eater Zoffix: :D
15:06 yoleaux 14:15Z <Zoffix> eater: the IPv6 sock roast failure magically disappeared :/ Perhaps it was just something with my VM
15:08 committable6 joined #perl6-dev
15:09 committable6 joined #perl6-dev
15:09 unicodable6 joined #perl6-dev
15:09 bloatable6 joined #perl6-dev
15:09 quotable6 joined #perl6-dev
15:09 benchable6 joined #perl6-dev
15:09 coverable6 joined #perl6-dev
15:09 bisectable6 joined #perl6-dev
15:09 nativecallable6 joined #perl6-dev
15:09 releasable6 joined #perl6-dev
15:09 evalable6 joined #perl6-dev
15:09 greppable6 joined #perl6-dev
15:09 squashable6 joined #perl6-dev
15:09 statisfiable6 joined #perl6-dev
15:27 stmuk .
15:27 yoleaux 14:20Z <Zoffix> stmuk: as promised, just pushed a fix so `make spectest` on 6.c-errata no longer has spurious warnings about missing files. Any warnings that appear should be assumed to be geniune.
15:28 stmuk Zoffix++
15:28 Geth ¦ rakudo/nom: f133451248 | (Zoffix Znet)++ | t/harness6
15:28 Geth ¦ rakudo/nom: Remove Perlism
15:28 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f133451248
15:31 Zoffix stmuk: so what does this commit fix exactly? https://github.com/rakudo/rakudo/commit/06fe4c4d2910e8beb4edf30cc5e0cec2673c7165#diff-695dca1c46beef199cd74eab89f13797
15:31 Zoffix I see no ticket nor any explanation of the problem and the harness works fine for me
15:31 Zoffix with TEST_JOBS=30
15:32 mst joined #perl6-dev
15:40 Zoffix .ask stmuk why is t/harness6 blocked from using more than 1 test job? It works fine for me. What exactly is wrong with it?
15:40 yoleaux Zoffix: I'll pass your message to stmuk.
15:40 Zoffix c'mon people; explain why your code does things; it's programming 101
15:40 Zoffix </annoyed>
15:41 Zoffix :)
15:41 Zoffix ZOF6VM: Files=1225, Tests=75218,  182 wallclock secs
15:41 Zoffix m: say 182/142
15:41 camelia rakudo-moar 2a512f: OUTPUT: «1.281690␤»
15:42 dogbert17 Zoffix: it was broken until leont pushed a lot of fixes the other day
15:42 Zoffix w00t it got a lot faster. Used to be 2x slower
15:42 Zoffix dogbert17: so it's fixed now?
15:42 dogbert17 yes
15:43 Geth ¦ rakudo/nom: 56193b5916 | (Zoffix Znet)++ | t/harness6
15:43 Geth ¦ rakudo/nom: Remove jobs blocker
15:43 Geth ¦ rakudo/nom:
15:43 Geth ¦ rakudo/nom: 'cause it fixed now:
15:43 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6-dev/2017-09-27#i_15224958
15:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/56193b5916
15:44 Zoffix .tell stmuk never mind. Apparently the orignal problem was fixed already. I removed the plug that made harness die on JOBS>1
15:44 yoleaux Zoffix: I'll pass your message to stmuk.
15:45 dogbert17 Zoffix: how much slower is harness6 compared to harness5 now?
15:46 Zoffix See above. 28%
15:46 dogbert17 not too shabby :)
15:47 Zoffix Yeah
15:49 jnthn New scheduler FTW, perhaps :)
15:49 jnthn and/or maybe other supply optimizations
15:49 jnthn I don't think I yet optimized receiving stdout/stderr from an async process
15:49 jnthn As I did with sockets
15:49 jnthn So there may be some further percents in that. Hard to guess how much
15:50 ilmari only one way to find out ;)
16:11 Zoffix Gonna mod &DEPRECATED with `:lang-vers` bool attr, when specified will treat given versions as language versions
16:13 Geth ¦ roast: 5fbc8ba3fd | (Jonathan Worthington)++ | S17-supply/syntax.t
16:13 Geth ¦ roast: Tests to cover RT #130716
16:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5fbc8ba3fd
16:17 Zoffix .
16:17 yoleaux 16:12Z <Xliff> Zoffix: So in this situation, should I not RT the infiniloop? Maybe add a caveat to the docs?
16:23 timotimo Zoffix: what's coverable's health these days?
16:23 timotimo i mean the page you have that collects core setting coverage
16:24 Zoffix I see the domain's dead for it :)
16:25 Zoffix And it hasn't been updated since IO Grant
16:25 Zoffix coverable6: help
16:25 coverable6 Zoffix, Like this: coverable6: f583f22 grep=SETTING:: say ‘hello’; say ‘world’ # See wiki for more examples: https://github.com/perl6/whateverable/wiki/Coverable
16:25 Zoffix I guess the bot gives different data
16:25 timotimo it does
16:25 Zoffix .in 5h schedule perl6.wtf update and fix the domain
16:25 yoleaux Zoffix: I'll remind you at 21:25Z
16:28 timotimo i don't have a specific idea in mind
16:29 timotimo but i stumbled onto the moarvm c code coverage again
16:33 Zoffix timotimo: k, domain's back up, but the data is likely from April or something. samcv++ had more coverage somehwere
16:33 Zoffix (my site used to have a link, but the page got overwritten with whatever the coverage reporter makes)
16:34 samcv https://moarvm.github.io/coverage/
16:34 timotimo that's a different kind of coverage :)
16:34 samcv coverage report for the nqp tests
16:34 samcv oh
16:34 samcv also good morning
16:34 timotimo the rakudo travis runs already take ages, wouldn't want to add a C-coverage taking extra to it
16:35 timotimo just to get extra coverage from spec tests
16:35 Zoffix huggable: moar coverage :is: https://moarvm.github.io/coverage/
16:35 huggable Zoffix, Added moar coverage as https://moarvm.github.io/coverage/
16:38 Zoffix m: use v6.d.PREVIEW; say $*PERL.version before v6.d
16:38 camelia rakudo-moar 56193b: OUTPUT: «False␤»
16:38 Zoffix m: use v6.d.PREVIEW; say $*PERL.version cmp v6.d
16:38 camelia rakudo-moar 56193b: OUTPUT: «Same␤»
16:39 * Zoffix tries to figure out DEPREFCATED thing
16:39 Zoffix That sub could really use good docs. I struggle with it every time I reach for it
16:41 Zoffix m: %*ENV<RAKUDO_NO_DEPRECATIONS> = 0; DEPRECATED "x", v2017.09
16:41 camelia rakudo-moar 56193b: OUTPUT: «Saw 1 occurrence of deprecated code.␤================================================================================␤Block <unit> (from unknown) seen at:␤  <tmp>, line 1␤Deprecated since v2017.09, will be removed sometime in the future␤Please …»
16:41 Zoffix m: %*ENV<RAKUDO_NO_DEPRECATIONS> = 0; DEPRECATED "x", $*PERL.compiler.version
16:41 camelia rakudo-moar 56193b: ( no output )
16:41 Zoffix if it's "since", then the version itself should be deemed as being it
16:41 * Zoffix tries changing that
16:49 robertle joined #perl6-dev
16:50 Zoffix hm, roast hanged on t/spec/S17-supply/syntax.t   It happened yesterday with some file too, but I thought it might've been my VM
16:51 Zoffix or maybe I don't got a rakudo commit for that last commit that went to roast
16:51 Zoffix hm, no, I'm on rakudohead
16:52 timotimo hm, supply/syntax.t ought to be fixed
16:52 Zoffix jnthn: you around? t/spec/S17-supply/syntax.t now hangs for me. Does it need bleed moar or something?
16:52 Zoffix Hangs after this test "ok 78 - supply block loop did not run ahead of consumer"
16:53 Zoffix yeah, so it's the newly added test
16:54 Zoffix $ cat nqp/tools/build/MOAR_REVISION
16:54 Zoffix 2017.09.1-49-gb3dd812aa
16:54 Zoffix seems latest moarvm is in use
16:54 jnthn Zoffix: needs Rakudo HEAD
16:54 timotimo hm, i don't think there were actually moar or nqp changes
16:54 timotimo i mean, related to this
16:54 jnthn oh, oops, I've one more local change too
16:55 Geth ¦ rakudo/nom: 80f883bc7b | (Jonathan Worthington)++ | src/core/Supply.pm
16:55 Geth ¦ rakudo/nom: Do not resume after emit by closed `supply` block
16:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80f883bc7b
16:55 jnthn Sorry 'bout that :)
16:55 Zoffix :)
16:56 Zoffix I'
16:56 timotimo well, that looks important :)
16:56 jnthn dinner &
16:56 Zoffix I'm happy. I get to find out how to use the "stash" thing git has
16:56 Zoffix seems simple enough
16:57 Zoffix git stash; git pull --rebase; git stash apply;  \o/
16:58 lizmat git stash pop even  :-)
16:58 Zoffix Ah. Thanks.
17:02 dogbert2 Zoffix: is this new? 'Testing Roast version 6.d-proposals using test file list from t/spectest.data'
17:02 Zoffix dogbert2: yes
17:03 dogbert2 cool
17:03 Zoffix dogbert2: we have one t/spectest.data per language version now: https://github.com/rakudo/rakudo/blob/nom/docs/roast-spectest.data-versioning.md
17:04 Zoffix with `master` being the proposed version of what 6.d language will be, once released
17:04 Zoffix (I know we have 6.d.PREVIEW, but I wanted the roast version to have more of a "this isn't final yet" feel to the name)
17:05 Zoffix ZOFVM: Files=1275, Tests=152199, 154 wallclock secs (23.88 usr  3.63 sys + 3296.78 cusr 225.92 csys = 3550.21 CPU)
17:06 patrickz joined #perl6-dev
17:08 Zoffix .ask nine you package some stuff so maybe you know: I want to add a helper test module to Rakudo's test suite. I heard that `make test` must not create any new test files or something, so I'm wondering, would that module need `no precompilation` so that it doesn't create any precompilation files when `make test` is run?
17:08 yoleaux Zoffix: I'll pass your message to nine.
17:08 AlexDaniel joined #perl6-dev
17:09 AlexDaniel squashable6: status
17:09 squashable6 AlexDaniel, Next SQUASHathon in 8 days and ≈16 hours (2017-10-07 UTC-12⌁UTC+14)
17:09 Zoffix buggable: LHF
17:09 Zoffix buggable: tag LHF
17:09 buggable Zoffix, There is 1 ticket tagged with LHF; See http://fail.rakudo.party/t/LHF for details
17:10 Zoffix m: Bool.enums.^name.say;
17:10 camelia rakudo-moar 56193b: OUTPUT: «Map␤»
17:10 Zoffix That's already fixed
17:10 AlexDaniel … now I just have to figure out what to do with squashable and RT
17:11 AlexDaniel there are no webhooks for RT, at least none that I know of
17:11 AlexDaniel so, uh… Hm…
17:14 AlexDaniel I guess it's easier to just wait for the email notification to come and work with that
17:14 AlexDaniel if somebody knows any better please tell me
17:15 [TuxCM] joined #perl6-dev
17:17 * lizmat confirms S17-supply/syntax.t hangs on test 79 when run by itself, dies when run as part of spectest  jnthn
17:17 Zoffix All the fixes would need one of core devs to merge, so I'm guessing the bot can be told to mark which which PRs got merged during squashathon and then a human can go through them and close all the RTs
17:17 Zoffix I doubt there'll be a billion of them
17:21 Zoffix lizmat: it got fixed for me with the last commit 80f883bc7b
17:21 lizmat ah, missed that  :p-)
17:22 AlexDaniel Zoffix: well, I can just hang the bot on rakudo/rakudo repo similarly to what was happening the last time
17:22 AlexDaniel maybe with less noise for some irrelevant events, but still
17:22 AlexDaniel and roast too, so that we get stuff for TESTNEEDED tickets
17:24 Geth ¦ roast: b819af6fab | (Zoffix Znet)++ | S12-enums/basic.t
17:24 Geth ¦ roast: Test Bool.enums value type
17:24 Geth ¦ roast:
17:24 Geth ¦ roast: RT#132039: https://rt.perl.org/Ticket/Display.html?id=132039
17:24 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/e7a588060907e93
17:24 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b819af6fab
17:24 AlexDaniel but how many tickets were closed? And how many were opened? The bot wouldn't know
17:24 Zoffix You could take a snapshot of RT and then measure it later. There are no events, but there is an API
17:25 AlexDaniel hm. That's a good idea actually
17:25 Zoffix I don't know if this ever/still works: https://github.com/zoffixznet/perl6-RT-REST-Client
17:26 Geth ¦ rakudo/nom: 9837687d93 | (Elizabeth Mattijsen)++ | 5 files
17:26 Geth ¦ rakudo/nom: Stage 1 of auto-generated BUILDALL methods
17:26 Geth ¦ rakudo/nom:
17:26 Geth ¦ rakudo/nom: - generates all necessary methods, but with _UNDER_CONSTRUCTION postfix
17:26 Geth ¦ rakudo/nom: - this allows care-free building of the setting
17:26 Geth ¦ rakudo/nom: - added a Mu.new_UNDER_CONSTRUCTION, which calls autogenerated BUILDALL
17:26 Geth ¦ rakudo/nom: - this also allows for easy benchmarking of old/new object build methodology
17:26 Geth ¦ rakudo/nom: - preliminary benchmarks indicate 1.5x faster object creation
17:26 Geth ¦ rakudo/nom: <…commit message has 7 more lines…>
17:26 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9837687d93
17:26 Zoffix But ther's a Perl version here: https://github.com/zoffixznet/r6/blob/master/lib/R6/RT/Client/REST/Lazy.pm and this script will generate an SQLite database of open tickets (so you could generate before/after dbs): https://github.com/zoffixznet/r6/blob/master/bin/db-builder.pl
17:28 AlexDaniel how often does it let you do that?
17:28 Zoffix Don't think there's any hard limit, but that API is frail AF
17:29 Zoffix really slow and sometimes doesn't work
17:29 AlexDaniel okay
17:30 AlexDaniel .oO( again, why are we using RT? I know, I know, it's hard to move on… but still?? )
17:30 Zoffix I got used to it.
17:30 lizmat I didn't
17:31 Zoffix :D
17:32 * AlexDaniel clicks on the S button
17:36 AlexDaniel well, in a way I did too. So I've spent a bunch of time on figuring out how to make the homepage show what I need (which does not need configuration anywhere else), and then I use hidden mobile version to submit bug reports (because we never got the fucking button back). So yeah, it kinda works.
17:39 Geth ¦ rakudo/nom: bb0ebabc39 | (Elizabeth Mattijsen)++ | src/core/Proc/Async.pm
17:39 Geth ¦ rakudo/nom: Minimally invasive streamline Proc::Async.new
17:39 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb0ebabc39
17:39 AlexDaniel but I die a little bit on the inside when I see somebody asking how to submit a bug report and we tell them to send an email… Being able to send a bug report by email probably does more harm than good (sure, it's a wonderful idea that you don't have to create an account, but pretty much everyone has a github account nowadays… especially given that we require it anyway if you want to contribute to any other part of perl 6)
17:40 AlexDaniel I know, AlexDaniel is ranting again, but for how long are we planning to use this crap? :S
17:40 lizmat AlexDaniel: FWIW, I agree
17:40 lizmat and I wonder who, apart from masak and now Zoffix, is a. able to really work with RT, and b. wants to do that
17:41 patrickz_ joined #perl6-dev
17:43 Zoffix More precisely, I got used to RT + fail.rakudo.party + hidden mobile form for filing tickets :D
17:46 AlexDaniel during the last squashathon I've been splitting some tickets and creating fresh tickets from old tickets that accumulated some mold. IMO this made a lot of stuff easier to approach
17:47 AlexDaniel but I'm thinking that, even if don't do any migration or whatever, and just start using another tracker, tickets will eventually move
17:47 AlexDaniel or maybe not, maybe I'm wrong
17:47 lizmat which tracker were you thinking about
17:50 AlexDaniel lizmat: I think there's a good candidate: https://github.com/rakudo/rakudo/issues . I agree that it's not perfect, but it's *way* better than what we have now. And given that we use github for everything else, it just makes it easier for everyone
17:51 AlexDaniel we can of course start bikeshedding it between gitlab, bitbucket, self-hosted gitlab, notabug, and so on and so forth…
17:52 Zoffix I use gitlab at $work and I kinda hate it
17:52 Zoffix and gitlab.com is slow as hell
17:53 AlexDaniel but as a user I expect to see a useful bug tracker on github, even if it's not the main one
17:53 Zoffix Come to think of it, my self-hosted gitlab is slow as hell too
17:53 patrickz joined #perl6-dev
17:55 Geth ¦ rakudo/nom: a225e040f1 | (Zoffix Znet)++ | src/core/Deprecations.pm
17:55 Geth ¦ rakudo/nom: Make &DEPRECATED treat $vfrom inclusively
17:55 Geth ¦ rakudo/nom:
17:55 Geth ¦ rakudo/nom: The error message says "since blah blah", so it implies the
17:55 Geth ¦ rakudo/nom: specified version is included. Also, making the version included
17:55 Geth ¦ rakudo/nom: in the commit message makes it easier to specify restrictions,
17:55 Geth ¦ rakudo/nom: especially when testing against the language version.
17:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a225e040f1
17:55 Geth ¦ rakudo/nom: 36bc8e2d95 | (Zoffix Znet)++ | 2 files
17:55 Geth ¦ rakudo/nom: Implement language version testing in &DEPRECATED
17:55 Geth ¦ rakudo/nom:
17:55 Geth ¦ rakudo/nom: If :lang-vers Bool param is given, assume the given $vfrom/$vto
17:55 Geth ¦ rakudo/nom: versions are language versions as opposed to compiler versions.
17:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36bc8e2d95
17:56 Zoffix s/error message/deprecation message/;
17:57 lizmat hmmm... apparently "foo = bar" is *not* the same as "nqp::assign(foo,bar)"
17:58 lizmat m: my $a; use nqp; nqp::assign($a,42); dd $a
17:58 camelia rakudo-moar bb0eba: OUTPUT: «Int $a = 42␤»
17:58 lizmat m: my @a; use nqp; nqp::assign(@a,42); dd @a
17:58 camelia rakudo-moar bb0eba: OUTPUT: «Cannot assign to an immutable value␤  in block <unit> at <tmp> line 1␤␤»
17:58 AlexDaniel anyway, I'm going to take a nap now. I really recommend everyone to think about this issue by setting a goal to make things better, instead of the “it works for me let's not change anything” thing we had last time. Things are not OK.
17:59 lizmat jnthn timotimo ^^^ this is blocking generated BUILDALL atm
17:59 * Zoffix takes "I don't care stance" on it
17:59 lizmat suggestions?
17:59 timotimo for @a you have to call .STORE i believe
18:00 AlexDaniel buggable: tag RT
18:00 buggable AlexDaniel, There are 2 tickets tagged with RT; See http://fail.rakudo.party/t/RT for details
18:00 lizmat hmmm...  the BUILDPLAN doesn't know if the attribute is a $ or a @ or a % or a&
18:01 Zoffix Yeah, younger-Zoffix wrote something there, but I no longer care about that :)
18:01 Zoffix (on the RT stuff)
18:02 Zoffix greppable6: \.child
18:02 greppable6 Zoffix, https://gist.github.com/3a9e07312dd0a37b5b5a6aae556d0c76
18:04 Zoffix Damn, that's a ton of use. I think the whole swapping .child to being a "secure" impl isn't feasible for 6.d.
18:04 timotimo lizmat: which buildplan opcode is this for?
18:04 Zoffix I'm gonna just deprecate it in 6.d for swapping in 6.e
18:04 lizmat initialize opaque from init hash *and* I guess setting the default
18:04 AlexDaniel Zoffix++ # all v6.d progress
18:04 Zoffix Or maybe it's fine. Since feature-wise it's not that much different, just a lot slower
18:05 Zoffix I'm getting a ton of roast failures
18:05 lizmat timotimo: think I found a way
18:05 timotimo is this code number 4?
18:05 lizmat 0 and 4
18:05 Zoffix https://gist.github.com/zoffixznet/e6a4209f3bfcd191736b61ff11d296ff
18:06 lizmat timotimo: I just realized I *do* have the full attribute name
18:06 Zoffix ZOFFLOP: t/spec/S26-documentation/wacky.t
18:06 * Zoffix re-runs
18:06 lizmat so if the first char is '@' or '%', then call .STORE
18:06 timotimo how exactly do we compile = when we don't know the lhs?
18:07 timotimo nqp::p6store?
18:08 lizmat doesn't look like it
18:08 timotimo i compiled 5 = 42 and it used that
18:09 Zoffix I'm gonna move .child -> .child (secure) swap to 6.e. Too much current use + IO::Path.add is too new for module authors to be able to safely switch to it
18:09 * lizmat tries
18:11 lizmat timotimo++  # that seems to be the trick
18:11 patrickz_ joined #perl6-dev
18:11 timotimo nice!
18:13 Geth ¦ 6.d-prep: 183cfcab4c | (Zoffix Znet)++ | 2 files
18:13 Geth ¦ 6.d-prep: Postpone .child -> .child (secure) swap to 6.e
18:13 Geth ¦ 6.d-prep:
18:13 Geth ¦ 6.d-prep: Postponed until 6.e because there's a huge amount of ecosystem usage
18:13 Geth ¦ 6.d-prep: and the IO::Path.add that is the alternative is too new for module
18:13 Geth ¦ 6.d-prep: authors to reliably switch to using it.
18:13 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/183cfcab4c
18:14 Zoffix still a bunch of failures after re-stresstest: https://gist.github.com/zoffixznet/8feb84db7b93e0b8a2b44fcf2ccc2358
18:18 Geth ¦ 6.d-prep: b57b372425 | (Zoffix Znet)++ | 2 files
18:18 Geth ¦ 6.d-prep: Keep already-implemented features in a separate file
18:18 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/b57b372425
18:20 lizmat Zoffix: if they are S10-packages/precompilation.t / S12-introspection/methods.t integration/advent2009-day11.t
18:20 lizmat Zoffix: then they are my fault
18:21 Zoffix heh, okthen :)
18:22 lizmat well, you could consider the tests faulty, as they don't take a generated BUILDALL into account
18:22 Zoffix So is_approx from Test.pm6 is on the chopping block, but how do we go about it.
18:22 timotimo oh, wait, the generated buildplan got merged?
18:22 timotimo oh, no, that's just the signature, right?
18:23 Zoffix Like, 6.c-errata uses it
18:23 lizmat timotimo: it got merged, but it is still called BUILDALL_UNDER_CONSTRUCTION
18:23 timotimo even the procasync one?
18:23 Zoffix Its deprecation period is already expired.
18:23 lizmat the p6store trick made everything work
18:23 lizmat now running a spectest with the generated BUILDALL
18:24 Ven`` joined #perl6-dev
18:26 timotimo hm, it wants Proc::Async.new() to throw X::Multi::NoMatch, but the new method has been turned into an only perhaps?
18:26 lizmat ah, that
18:27 lizmat hmmm..  yes, it is an only now
18:27 lizmat perhaps that one should be reverted
18:27 lizmat although from a performance point of view, we shouldn't
18:27 timotimo then the test is too specific
18:28 ugexe m: class Foo { method new (*@ [$path, *@args]) { say $path.perl; say @args.perl; say %_.perl } }; Foo.new(<a b c>, :cwd<abc>)
18:28 camelia rakudo-moar 36bc8e: OUTPUT: «"a"␤["b", "c"]␤{:cwd("abc")}␤»
18:28 ugexe m: class Foo { method new ($path, *@args) { say $path.perl; say @args.perl; say %_.perl } }; Foo.new(<a b c>, :cwd<abc>)
18:28 camelia rakudo-moar 36bc8e: OUTPUT: «$("a", "b", "c")␤[]␤{:cwd("abc")}␤»
18:29 ugexe re: https://github.com/rakudo/rakudo/commit/bb0ebabc39ec0ffe8db04d6ef1b1dbff115ac1fe
18:29 timotimo oh whoops
18:32 Geth ¦ rakudo/nom: 167f0f83c9 | (Elizabeth Mattijsen)++ | src/core/Proc/Async.pm
18:32 Geth ¦ rakudo/nom: Revert "Minimally invasive streamline Proc::Async.new"
18:32 Geth ¦ rakudo/nom:
18:32 Geth ¦ rakudo/nom: This reverts commit bb0ebabc39ec0ffe8db04d6ef1b1dbff115ac1fe.
18:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/167f0f83c9
18:32 lizmat sorry for the noise
18:33 Zoffix It actually used to be that in the past, but was changed in https://github.com/rakudo/rakudo/commit/92c187d2dc395f7ec31ada38ee0724a9dba6f13e
18:36 japhb joined #perl6-dev
18:41 ugexe i hope method call speed is never the bottle neck of spawning processes, but in 10 years i might have to eat those words
18:43 lizmat ugexe: fwiw, the Rakudo overhead of walking a directory and inspecting file attributes, is like 90% if I recall correctly
18:47 jnthn lizmat: See the infix:<=> impl in CORE.setting for what we compile it as
18:47 jnthn but iirc it's something like nqp::iscont(x) ?? nqp::assign(x, y) !! x.STORE(y)
18:48 jnthn In the compiler we case-anlayze the sigil
18:48 jnthn *analyze
18:48 lizmat yeah, that's the approach I took now as well
18:48 jnthn Don't you have the attribute name to hand though?
18:48 jnthn When compiling the build plan?
18:48 lizmat yes, the name
18:48 lizmat I was thinking about the Attribute object
18:48 jnthn So nqp::substr($name, 0, 1) is the sigil :)
18:49 lizmat that's *not* in the plan
18:49 lizmat yup
18:49 lizmat done that
18:49 jnthn iirc that's all that we do in the compiler :)
18:50 jnthn yup: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L6926
18:50 jnthn ohh
18:50 jnthn There's a p6store op that
18:51 jnthn does the runtime check
18:51 jnthn That's what we use if we're lacking a sigil
18:51 jnthn But an attribute will always have one; there's no sigilless attrs :)
18:51 jnthn https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L6959 fwiw
18:51 lizmat so you're saying I should call .STORE directly, rather than calling nqp::p6store
18:51 lizmat ?
18:53 Ven`` joined #perl6-dev
18:55 jnthn I'd do the sigil analysis
18:55 jnthn And call .STORE for @ an %, use assign for $ and &, and then if you for robustness (people constructing objects my hand? other weird) have p6store fallback
18:55 jnthn p6store is the worst case for runtime
18:55 jnthn spesh can usually rip out the branch
18:56 jnthn But it's still nice to not have to :)
19:01 lizmat ok, gotcha
19:07 lizmat argh, due to the BUILDALL(@positional...) business, I need to make the generated BUILDALL's multis
19:07 lizmat jnthn timotimo: is there something more I should do than just .add_multi_method ?
19:09 jnthn Ummm...outside of the setting no, inside of it you'd need to install a proto method
19:09 jnthn Do you really need to make them multis? :)
19:09 jnthn Or better: why do you need to?
19:09 jnthn Ah, time for walk here before shop closes :)
19:09 jnthn bbi20-30
19:10 lizmat https://github.com/rakudo/rakudo/blob/nom/src/core/Mu.pm#L152  # the reason jnthn
19:18 Geth ¦ rakudo/nom: 4c337e8ef9 | (Zoffix Znet)++ | 3 files
19:18 Geth ¦ rakudo/nom: Deprecate dummy arg on .Rat/.FatRat…
19:18 Geth ¦ rakudo/nom:
19:18 Geth ¦ rakudo/nom: For Rat, FatRat, and Int types
19:18 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4c337e8ef9
19:21 Geth ¦ 6.d-prep: bb6eb35c64 | (Zoffix Znet)++ | 2 files
19:21 Geth ¦ 6.d-prep: Mark dummy .Rat/.FatRat params as completed
19:21 Geth ¦ 6.d-prep:
19:21 Geth ¦ 6.d-prep: Done in https://github.com/rakudo/rakudo/commit/4c337e8ef9
19:21 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/bb6eb35c64
19:29 Zoffix AlexDaniel, I'm assuming all interested parties by now seen all the changes that are listed in perl6/6.d-prep repo. There's a huge amount of bikeshedding about .flatmap on the doc issue #1428. A lot of it seems to be about performance gained by saving one method call, which I don't find relevant, so I quite honestly didn't bother reading all of it. I'm marking .flatmap as deprecated in 6.d for removal in
19:29 Zoffix 6.e and will close RT#130520. If I missed some pertinent detail, feel free to revert and re-open
19:30 Zoffix .tell AlexDaniel https://irclog.perlgeek.de/perl6-dev/2017-09-27#i_15226307
19:30 yoleaux Zoffix: I'll pass your message to AlexDaniel.
19:31 jnthn lizmat: oh, in that case the add_multi_method should suffice, in that the proto comes from Mu and will be cloned from it :)
19:31 jnthn lizmat: So ignore my comment about the setting
19:32 lizmat I also needed to move self.incorporate_multi_candidates($obj);
19:32 lizmat but it looks like I need to do that twice atm
19:32 jnthn Oh?
19:32 jnthn We really should only do it once
19:32 lizmat just moving it after the BUILDALL generation makes the build fail
19:33 jnthn Maybe it's BUILDALL generation that's gotta move...
19:33 lizmat could be  :-)
19:33 jnthn But yeah, the order in there needs a good bit of care :)
19:34 lizmat looking at https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Metamodel/ClassHOW.nqp , do you think it could move to before self.incorporate_multi_candidates($obj); ?
19:35 jnthn Hmmm
19:35 jnthn It probably has to be after compose_attributes
19:36 lizmat ok
19:36 jnthn How did the build fail?
19:38 lizmat Cannot have a multi candidate for 'WHICH' when an only method is also in the package 'CompUnit::Repository::FileSystem'
19:39 Zoffix m: «"foo  "bar"»   # more on the missing quotes topic
19:39 camelia rakudo-moar 4c337e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"'␤at <tmp>:1␤------> 3r"»   # more on the missing quotes topic7⏏5<EOL>␤    expecting any of:␤        double quotes␤      …»
19:39 Zoffix oh
19:39 jnthn Oh...I wonder if that's 'cus attribute composition might generate a multi
19:39 Zoffix m: «"$*EXECUTABLE -e "print 'test passed'"»
19:39 camelia rakudo-moar 4c337e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"'␤at <tmp>:1␤------> 3«"$*EXECUTABLE -e "print 'test passed'"»7⏏5<EOL>␤    expecting any of:␤        double quotes␤     …»
19:40 Zoffix Weird, locally I get "Unable to parse expression in shell-quote words; couldn't find final '»'"
19:46 Zoffix .tell AlexDaniel commitable isn't getting new versions anymore. Last commit from 5 hours ago.... Now that I think of it, I killed some moar process when I was debugging ded bots and it might've been whatever the updater is...
19:46 yoleaux Zoffix: I'll pass your message to AlexDaniel.
19:46 lizmat hmmm... somehow the signature doesn't make it to the method  :-(
19:48 Geth ¦ roast: 59b4c8556b | (Zoffix Znet)++ | S17-procasync/basic.t
19:48 Geth ¦ roast: Test Proc::Async.new can take cmd+args via single Iterable
19:48 Geth ¦ roast: review: https://github.com/perl6/roast/commit/59b4c8556b
19:50 lizmat actually, the whole signature appears to be awol
19:50 lizmat grrr
19:52 patrickz joined #perl6-dev
19:56 lizmat jnthn timotimo: could it be I need to handle the signature differently with multi methods?
19:56 jnthn How are you attaching the signature at the moment?
19:56 lizmat if I make the generated BUILDALL method an only method, the signature arrives fine
19:56 lizmat $!w.create_code_object($block, 'Method', $sig);
19:57 lizmat actually: $!w.create_code_object($block, 'Submethod', $sig)
19:57 jnthn Oh
19:57 jnthn And how are you introspecting the signature?
19:58 jnthn If you install it as a multi then .^lookup of .^find_method will give back a proto
19:58 jnthn And you'd need to .candiates[0]
19:58 lizmat class A { has $.a }; dd A.can("BUILDALL_UNDER_CONSTRUCTION")[0].signature'
19:58 lizmat invocant_type = A:D
19:58 lizmat :(A:D $: ;; %init, *%_)
19:58 lizmat "invocant_type = A:D" was debugging info
19:58 jnthn That looks right?
19:59 jnthn Oh, or you mean the ;; is there
19:59 lizmat indeed, but this is the method case
19:59 lizmat if I make it a multi, I get
19:59 jnthn Ah, right
19:59 lizmat method BUILDALL_UNDER_CONSTRUCTION (Mu $: | is raw) { #`(Method|140291808297056) ... })
20:00 jnthn That looks like the proto
20:00 lizmat the whole list:
20:00 lizmat (method BUILDALL_UNDER_CONSTRUCTION (A:D $: ;; %init, *%_) { #`(Method|140291827101656) ... }, method BUILDALL_UNDER_CONSTRUCTION (Mu $: | is raw) { #`(Method|140291808297056) ... })
20:01 lizmat oops, no
20:01 lizmat hhmmm
20:01 jnthn Did you call .candidates like i noted?
20:02 lizmat do you need that for .can ?
20:02 lizmat on what should I call .candidates ?
20:03 lizmat No such method 'candidates' for invocant of type 'List'
20:03 jnthn Yes
20:03 jnthn .can('...')[0].candidates[0].signature
20:03 lizmat ack
20:04 lizmat $ 6 'class A { has $.a }; dd A.can("BUILDALL_UNDER_CONSTRUCTION")[0].candidates[0].signature'
20:04 lizmat :(A:D $: ;; %init, *%_)
20:04 lizmat ok, *phew*
20:04 jnthn :)
20:11 lizmat ok, gotten a bit further
20:11 lizmat the Mu.BUILDALL masks the class's BUILDALL
20:12 lizmat so it's still getting called
20:12 lizmat however, if I remove it, the compiling the setting dies with: Cannot call BUILDALL; no signatures match
20:23 lizmat jnthn: I think this is the problem: (A:D $: ;; %init, *%_) versus (Mu:D $: %attrinit, *%_)
20:23 jnthn Yes
20:23 lizmat aka, the %init in the generated BUILDALL is after the ;;
20:24 jnthn Where are you building the sig?
20:24 jnthn uh, what's the code like?
20:24 jnthn I bet it's a missing :multi_invocant(1) or something
20:24 lizmat ah, lemme see
20:25 jnthn Seems you're already setting :invocant(1) or so on the first parameter
20:25 jnthn So that'd need to go on all of 'em
20:25 lizmat all of them ?
20:26 lizmat jnthn: like this?  nqp::hash('variable_name','%init','multi_invocant',1)
20:27 jnthn yes :)
20:27 jnthn I think that's what it's called
20:28 jnthn nope
20:28 jnthn is_multi_invocant
20:28 lizmat justi multi I think ?
20:28 jnthn git grep <3
20:28 jnthn afk for a bit
20:30 jdv79_ my conc heavy app still stalls out and eats cpu
20:31 travis-ci joined #perl6-dev
20:31 travis-ci Rakudo build failed. Zoffix Znet 'Remove dead test files from 6.d.proposals test file list
20:31 travis-ci https://travis-ci.org/rakudo/rakudo/builds/280457303 https://github.com/rakudo/rakudo/compare/ef050fe9b061...f62950dcc87d
20:31 travis-ci left #perl6-dev
20:31 buggable [travis build above] ✓ All failures are due to: GitHub connectivity (1 failure).
20:31 jdv79_ i was hoping the new supply work would fix that
20:36 dogbert2 # expected: 'bark|name'
20:36 dogbert2 #      got: 'BUILDALL_UNDER_CONSTRUCTION|bark|name'
20:37 dogbert2 lizmat:
20:37 lizmat yeah
20:37 lizmat that test is faulty
20:37 dogbert2 ok
20:37 lizmat it doesn't expect a auto-generated BUILDALL to appear in the class
20:38 lizmat (which is for now called BUILDALL_UNDER_CONSTRUCTION)
20:39 [Coke] is it 'prove6' or 'p6prove' ?
20:40 timotimo jdv79_: aye, it should figure out that it might need more threads and add more, but it's not doing that in your case?
20:42 travis-ci joined #perl6-dev
20:42 travis-ci Rakudo build errored. Stefan Seifert 'Remove unnecessary creation of an extra serialization context
20:42 travis-ci https://travis-ci.org/rakudo/rakudo/builds/280445160 https://github.com/rakudo/rakudo/compare/9af5607d523e...269fe7dbbd7b
20:42 buggable [travis build above] ✓ All failures are due to: missing build log (1 failure).
20:42 travis-ci left #perl6-dev
20:44 lizmat jnthn: current state
20:44 lizmat class A { has $.a }; say $_.perl for A.can("BUILDALL")[0].candidates
20:44 lizmat method BUILDALL (Mu:D $: @positional, %attrinit, *%_) { #`(Method|140428415732240) ... }
20:44 lizmat method BUILDALL (Mu:D $: %attrinit, *%_) { #`(Method|140428415732392) ... }
20:44 lizmat submethod BUILDALL (A:D $: %init, *%_) { #`(Submethod|140428461458232) ... }
20:45 [Coke] .seen tadzik
20:45 yoleaux I saw tadzik 19 Sep 2017 13:58Z in #perl6: <tadzik> oh, 18 is some black magic then
20:45 lizmat If I change the submethod to a method, then building core.d hangs
20:45 [Coke] .ask tadzik if p6prove is busted with "replace this Array is copy logic"
20:45 yoleaux [Coke]: I'll pass your message to tadzik.
20:46 lizmat jnthn: probably because an error occurs in the dispatch, and it all goes into lala land
20:46 lizmat with these candidates, it calls the Mu.BUILDALL candidate
20:47 [Coke] (RT) I am ok with a switch to github issues, but I would recommend doing it lazily: new stuff goes there. Link to old tickets as duplications happen or we need history.
20:48 [Coke] (RT) maybe find out if we can leave the queue but prevent new issues from being opened and leave it there for historic RT# lookups. (If not, then given the large # of refs in roast, maybe we can't be lazy and have to actively convert tickets over)
20:57 lizmat joined #perl6-dev
20:57 Zoffix Was gonna ask, perhaps the new buildall stuff should be moved to a branch until the tests are fixed? It's hard to tell whether the breakage is due to the changes I'm introducing or not
21:01 lizmat well, lemme put it this way: the tests are a bit bogus to begin with, as they assume nothing will ever get auto-generated into a class
21:01 lizmat so I guess I will fix the tests
21:02 Zoffix Sure, but if I make a change and see 12 failures, I've no idea if my change is crap or not
21:02 Zoffix m: sub foo {}; unit class Foo;
21:02 camelia rakudo-moar 4c337e: ( no output )
21:03 lizmat fixing tests now
21:03 Zoffix I recall talk that `use v6.d.PREVIEW` needs to be the same as `unit` thing and die if it's too late. Should it be even sooner though? Since above the sub would be parsed using 6.c lang for example
21:04 Zoffix m: say $*PERL.version; use v6.d.PREVIEW;
21:04 camelia rakudo-moar 4c337e: OUTPUT: «v6.d␤»
21:04 Zoffix m: BEGIN say $*PERL.version; use v6.d.PREVIEW;
21:04 camelia rakudo-moar 4c337e: OUTPUT: «v6.c␤»
21:05 Zoffix ...wonder how much code has `use v6;` not as a first line :/
21:05 Zoffix greppable6: use\ v6
21:05 greppable6 Zoffix, https://gist.github.com/54116362ad46da23eadeca6172b43517
21:06 Zoffix .oO( would be cool to get that output in JSON instead... )
21:08 Zoffix $ perl6 -e '"result.md".IO.lines.grep(/":*" <-[123]> "*:"/).elems.say'
21:08 Zoffix 108
21:08 Zoffix 108 matches for when `use` line is not on 1st, 2nd, 3rd lines (though still might be as the first line of code)
21:23 Zoffix Hm, I'm actually not totally following how the setting switch happens. From what I can see P6::World.loading_and_symbol_setup loads the setting at the start of P6::Grammar parsing, but then a `use v6.d.PREVIEW` parse does World.load_setting. So what exactly is the point when it's too late to load a new setting?
21:23 Zoffix And can you load more and more, like: parse some stuff with 6.c, load 6.d, parse more stuff, load 6.e. And can you downgrade after doing that?
21:24 Zoffix This is about this BTW: https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md#use-v6dpreview-in-wrong-place-needs-to-throw
21:24 * Zoffix dinners &
21:25 yoleaux Zoffix: schedule perl6.wtf update and fix the domain
21:26 Zoffix Thanks.
21:35 jnthn lizmat: --ll-exception maybe?
21:35 jnthn Though probably you tried that
21:36 lizmat --ll-exception during the setting build ?
21:36 jnthn Yeah but maybe we've got that on already
21:37 jnthn Was just thinking of avoiding the exception loop
21:37 jnthn But then realized that maybe the loop is in building the exception objects :P
21:37 lizmat yeah, got that already
21:37 lizmat yeah, probably  :-)
21:37 lizmat thoughts about the candidates ?
21:37 jnthn The candidates look sensible
21:37 lizmat do they look good to you
21:37 lizmat ok
21:38 lizmat now, I wonder if I could eject the Mu.BUILDALL from the list is one is generated
21:38 jnthn As in, I'd expect the generated one to be typically picked
21:38 lizmat or: take its place ?
21:39 jnthn (unless there was an @foo arg too)
21:39 jnthn No, that's not needed
21:39 jnthn All multi-dispatch lists look like this
21:39 jnthn That is, contain the parents shadowed by the children too
21:39 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi method a(A:D:) { "A" } }; A.a
21:39 camelia rakudo-moar 4c337e: OUTPUT: «Cannot resolve caller a(A: ); none of these signatures match:␤    (Mu:D $: *%_)␤    (A:D $: *%_)␤  in block <unit> at <tmp> line 1␤␤»
21:39 jnthn So that's totally normal
21:40 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi method a(A:D:) { "A" } }; A.new.a
21:40 camelia rakudo-moar 4c337e: ( no output )
21:40 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi method a(A:D:) { "A" } }; dd A.new.a
21:40 camelia rakudo-moar 4c337e: OUTPUT: «"A"␤»
21:40 lizmat hmmm
21:40 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi submethod a(A:D:) { "A" } }; dd A.new.a
21:40 camelia rakudo-moar 4c337e: OUTPUT: «"A"␤»
21:40 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi submethod a(A:D:) { "A" } }; dd A.can("a").candidates[0]
21:40 camelia rakudo-moar 4c337e: OUTPUT: «No such method 'candidates' for invocant of type 'List'␤  in block <unit> at <tmp> line 1␤␤»
21:41 lizmat m: class A { multi method a(Mu:D:) { "Mu" }; multi submethod a(A:D:) { "A" } }; dd A.can("a")[0].candidates
21:41 camelia rakudo-moar 4c337e: OUTPUT: «(method a (Mu:D $: *%_) { #`(Method|79805352) ... }, submethod a (A:D $: *%_) { #`(Submethod|79805504) ... })␤»
22:02 Geth ¦ rakudo/nom: 63cf246fd4 | (Elizabeth Mattijsen)++ | 3 files
22:02 Geth ¦ rakudo/nom: Stage 2 of auto-generated BUILDALL methods
22:02 Geth ¦ rakudo/nom:
22:02 Geth ¦ rakudo/nom: - the _UNDER_CONSTRUCTION postfix is removed
22:02 Geth ¦ rakudo/nom: - they've become multi's
22:02 Geth ¦ rakudo/nom: - it *should* be possible to remove the Mu.BUILDALL candidate
22:02 Geth ¦ rakudo/nom:   but it breaks the core setting build
22:02 Geth ¦ rakudo/nom: - and somehow the Mu.BUILDALL shadows all auto-generated BUILDALLs
22:02 Geth ¦ rakudo/nom: - so no speed improvement yet :-(
22:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/63cf246fd4
22:02 lizmat to bad we can't make BUILDALL an only  :-(
22:02 jnthn Why can't we?
22:03 jnthn I thought it used to be
22:03 jnthn And taking a throwaway arg should be pretty cheap
22:04 AlexDaniel joined #perl6-dev
22:04 lizmat so you're saying we should take a slurpy list ?
22:05 jnthn I thought it was a single positional?
22:05 jnthn Oh....
22:05 jnthn The callers are inconsistent :S
22:05 lizmat https://github.com/rakudo/rakudo/blob/nom/src/core/Mu.pm#L141
22:06 lizmat it's needed for Inline::Perl5 somehow  :-(
22:06 jnthn I was sure that once we had it as an only method that always took two args?
22:06 lizmat well, that was long ago...  apparently ?
22:06 lizmat I only know of the multi BUILDALL
22:07 Geth ¦ roast: 031b9cecdd | (Elizabeth Mattijsen)++ | S10-packages/precompilation.t
22:07 Geth ¦ roast: Make sure we ignore BUILDALL
22:07 Geth ¦ roast: review: https://github.com/perl6/roast/commit/031b9cecdd
22:08 jnthn https://github.com/rakudo/rakudo/commit/4179bdc7dcdd2e6cb8fca5b21197e6babceaca55 :P
22:08 jnthn Year and a bit ago
22:08 jnthn It used to be only
22:09 lizmat ok, I guess I did that
22:09 lizmat 1.8x faster  :-)
22:09 jnthn Could undo it ;)
22:09 jnthn Surely mostly from the .bless change though
22:09 jnthn Could just pass Empty or some other constant empty list to BUILDALL
22:10 jnthn Rather than slurping
22:10 jnthn I bet the cost was over 90% for the slurply in bless, not for the extra arg to BUILDALL
22:11 lizmat still, it feels like a waste
22:11 lizmat :-(
22:11 lizmat will look at that tomorrow
22:11 jnthn Are you grabbing it into a local?
22:11 jnthn If so, spesh will toss out the parameter receiving code anyway
22:11 lizmat what?  the hash >
22:11 lizmat ?
22:11 jnthn Yeah
22:11 jnthn Oh, that was confused
22:12 Geth ¦ roast/6.c-errata: 35b4b43b22 | (Elizabeth Mattijsen)++ | S10-packages/precompilation.t
22:12 Geth ¦ roast/6.c-errata: Make sure we ignore BUILDALL
22:12 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/35b4b43b22
22:12 jnthn Better put: if you grab it into a local, not a lexical, then don't use it, then spesh will toss out the parameter receiving code anyway :)
22:12 lizmat QAST::Var.new(:decl<param>, :scope<local>, :name('%init'))
22:12 lizmat so already a local
22:13 lizmat ok, will do this tomorrow
22:14 lizmat getting some sleep first  :-)
22:14 lizmat good night, #perl6-dev!
22:14 jnthn 'night, lizmat++
22:19 Zoffix timotimo: trying running coverage report but all tests bail out. Tried a few tests on their own and they work. I suspect cover script is broken. Won't try to fix it right now, unless someone really needs an updated coverage report than on what's cover.rakudo.party
22:19 timotimo oof
22:19 timotimo OK, thanks, i'll look at what's wrong locally
22:20 Zoffix I mean my coverage-generating script
22:20 Zoffix Which is this: https://gist.github.com/zoffixznet/eff5c8f024685c7b3857e0ab8a94d7e2
22:20 jnthn sleep time o/
22:21 Zoffix \o
22:23 committable6 joined #perl6-dev
22:24 AlexDaniel did committable just segfault? :-/
22:24 yoleaux 19:30Z <Zoffix> AlexDaniel: https://irclog.perlgeek.de/perl6-dev/2017-09-27#i_15226307
22:24 yoleaux 19:46Z <Zoffix> AlexDaniel: commitable isn't getting new versions anymore. Last commit from 5 hours ago.... Now that I think of it, I killed some moar process when I was debugging ded bots and it might've been whatever the updater is...
22:24 timotimo i'll go to sleep soon enough, too
22:24 AlexDaniel Zoffix: ah ok, thanks
22:25 AlexDaniel c: HEAD say 42
22:25 committable6 AlexDaniel, ¦HEAD(36122f1): «42»
22:29 AlexDaniel Zoffix: it was a build lock left behind. It may have been a build process that you killed, I've seen that happen before. But I'm always wondering why this does not fire in these cases: https://github.com/perl6/whateverable/blob/d5fc45d3578c2b64ed829df6d4dd4e89c7a7088d/bin/build.p6#L61
22:30 AlexDaniel greppable6: flatmap
22:30 greppable6 AlexDaniel, https://gist.github.com/0b6a13973d31ee817cf950994a4a4765
22:32 skids joined #perl6-dev
22:34 AlexDaniel Zoffix: so the libssl issue was exactly this: https://github.com/perl6/6.d-prep/blob/master/for-review/NativeCall.md#library-version-and-finding-of-said-library ?
22:35 AlexDaniel the version was precompiled and then I updated the library?
22:35 AlexDaniel am I reading it right?
22:36 Zoffix no idea. jnthn++ told me he fixed something in SSL sock and I updated the module and it worked
22:36 AlexDaniel ah, okay
22:37 Zoffix a ton of those flatmap usages look to be just people flattening everything several times for no reason just because they don't know what flattens and when
22:38 timotimo ctrl-f "timo", phew.
22:38 AlexDaniel timotimo: haha
22:40 AlexDaniel Zoffix: when I realized that flatmap used to do something different in pre-glr I lost any motivation to justify its usage in existing modules
22:41 AlexDaniel c: pre-glr say ((1, 2), <a b>).map(&uc).join('|');
22:41 committable6 AlexDaniel, ¦pre-glr: «1 2|A B»
22:41 AlexDaniel c: pre-glr say ((1, 2), <a b>).flatmap(&uc).join('|');
22:41 committable6 AlexDaniel, ¦pre-glr: «1|2|A|B»
22:41 AlexDaniel c: HEAD say ((1, 2), <a b>).map(&uc).join('|');
22:41 committable6 AlexDaniel, ¦HEAD(36122f1): «1 2|A B»
22:41 AlexDaniel c: HEAD say ((1, 2), <a b>).flatmap(&uc).join('|');
22:41 committable6 AlexDaniel, ¦HEAD(36122f1): «1 2|A B»
22:42 timotimo c: HEAD say ((1, 2), <a b>).flatmap({ $_, $_ }).join("|")
22:42 committable6 timotimo, ¦HEAD(36122f1): «1|2|1|2|a|b|a|b»
22:42 timotimo c: HEAD say ((1, 2), <a b>).map({ $_, $_ }).join("|")
22:42 committable6 timotimo, ¦HEAD(36122f1): «1 2 1 2|a b a b»
22:42 timotimo c: HEAD say ((1, 2), <a b>).map({ $_, $_ }).flat.join("|")
22:42 committable6 timotimo, ¦HEAD(36122f1): «1|2|1|2|a|b|a|b»
22:43 * timotimo not sure what he wanted to do there
22:43 AlexDaniel c: pre-glr say ((1, 2), <foo bar>).flatmap(&tc).join('|');
22:43 committable6 AlexDaniel, ¦pre-glr: «1|2|Foo|Bar»
22:43 AlexDaniel c: HEAD say ((1, 2), <foo bar>).flatmap(&tc).join('|');
22:43 committable6 AlexDaniel, ¦HEAD(36122f1): «1 2|Foo bar»
22:43 AlexDaniel hmmm how do I get this behavior on HEAD…
22:44 AlexDaniel c: HEAD say ((1, 2), <foo bar>).deepmap(&tc).join('|');
22:44 committable6 AlexDaniel, ¦HEAD(36122f1): «1 2|Foo Bar»
22:44 Zoffix .flat.map
22:44 AlexDaniel or that, yeah
22:47 * AlexDaniel is reading 6.d-prep docs
22:48 AlexDaniel Zoffix: fwiw, have you seen TimToady's answer for the naming question on one of the recent conferences? It was like “things can have multiple names at the same time and it's ok”
22:48 AlexDaniel Zoffix: maybe that can be used as an answer to this part: “Executive decision on whether the name extension can be officially made”
22:48 timotimo but aliasing prevents a lot of optimizations!
22:49 Zoffix AlexDaniel: no, didn't see any answers.
22:51 AlexDaniel fwiw, looking at Go/golang I find “6lang” as a very achievable alternative branding. And if we feel extra fancy, we can pronounce it as “slang”
22:52 AlexDaniel but I didn't really think this through, so feel free to call this idea moronic
22:53 Zoffix I like 6lang
22:54 Zoffix And even those that don't know an alternate name for "Perl 6" can fill in the dots and figure out what it is
22:54 AlexDaniel Zoffix++ for making me recognize the need for alternative name. For a long time I was against
22:58 AlexDaniel and honestly, I can start using something like 6lang right away. “Rakudo Perl 6” is infringing on language/compiler distinction so I'm feeling reluctant
23:01 Zoffix OK, I'll too start using 6lang
23:03 * Zoffix is now a proud owner of 6lang.party :D
23:04 timotimo wow
23:04 AlexDaniel that was quick
23:10 AlexDaniel this was the actual answer: https://youtu.be/E5t8qaAGw9w?t=4886
23:13 Zoffix hehe :) Nice
23:13 AlexDaniel c: HEAD say 42
23:13 committable6 AlexDaniel, ¦HEAD(63cf246): «42»
23:14 AlexDaniel m: say 42
23:14 camelia rakudo-moar 63cf24: OUTPUT: «42␤»
23:14 Zoffix TIL Perl is in oxford dict: https://en.oxforddictionaries.com/definition/perl
23:19 AlexDaniel uhh
23:19 AlexDaniel u: U+FD3E
23:19 unicodable6 AlexDaniel, U+FD3E ORNATE LEFT PARENTHESIS [Pe] (﴾)
23:19 AlexDaniel greppable: ﴾
23:19 greppable6 AlexDaniel, Found nothing!
23:21 AlexDaniel quotable6: ﴾
23:21 quotable6 AlexDaniel, https://gist.github.com/92cb23faf4207e312aa403b10fa614fe
23:21 AlexDaniel quotable6: ‘﴾’
23:22 quotable6 AlexDaniel, https://gist.github.com/b2949b262f5278820d3868c437e94b00
23:26 AlexDaniel .tell samcv IMO the issue with ornate parens is clearly a mistake that arguably could've been fixed within v6.c, so I think you should feel free to go ahead and drop them in v6.d.
23:26 yoleaux AlexDaniel: I'll pass your message to samcv.
23:26 [Tux] joined #perl6-dev
23:26 [TuxCM] joined #perl6-dev
23:27 samcv yes i plan to drop in 6.d. the problem is there were roast tests for it
23:27 yoleaux 23:26Z <AlexDaniel> samcv: IMO the issue with ornate parens is clearly a mistake that arguably could've been fixed within v6.c, so I think you should feel free to go ahead and drop them in v6.d.
23:27 BenGoldberg joined #perl6-dev
23:27 samcv i fixed a few parens being the wrong order, so it wanted the end paren at the start and the start at the end. but the ornate need to be removed
23:28 AlexDaniel right, so we still have to treat them the old way within “use v6.c”… :S
23:28 samcv well if people think i should just remove them I will
23:28 samcv as long as other devs are okay with it
23:30 AlexDaniel I'm OK with it. If there's one person who was using these parens in real code I can send them an apology letter :)
23:30 Zoffix :D
23:30 samcv greppable6, ﴾
23:30 greppable6 samcv, Found nothing!
23:30 samcv greppable6, «
23:30 samcv greppable works for random symbols yes or no?
23:30 greppable6 joined #perl6-dev
23:30 AlexDaniel greppable6, «
23:31 greppable6 AlexDaniel, https://gist.github.com/eb41060509502bf3b5345fe6c8a0d61c
23:31 AlexDaniel that was a SEGV too, I think
23:31 AlexDaniel I'll try to reproduce it here
23:32 samcv greppable6, ﴾
23:32 greppable6 samcv, Found nothing!
23:33 AlexDaniel gcan't reprduce
23:34 AlexDaniel samcv: yes, unless it blows up due to random segfault or whatever
23:34 samcv ok. so Zoffix is ok with me changing 6.c-errata then?
23:34 samcv also 6lang i kind of like as a name. the only question becomes how branding would go
23:35 Geth ¦ rakudo/nom: 6d2adb20f2 | (Zoffix Znet)++ | 3 files
23:35 Geth ¦ rakudo/nom: [6.d] Deprecate IO::Path.chdir
23:35 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d2adb20f2
23:35 samcv a brand doesn't work if it has no recognition
23:36 Zoffix We build it
23:36 * AlexDaniel adds “6lang” tag to whateverable repo
23:37 Zoffix samcv: I wasn't following… if the test is wrong or tests incorrectly implemented behaviour, then sure, we can change 6.c-errata
23:37 samcv well it'd be removing ornate parenthesis. i mean it really depends how you define it. but it is wrong. and nobody is using it which i think i guess is a big thing
23:37 samcv it's only real thing for keeping it, is that it's in 6.c-errata
23:38 timotimo the perl6 peeps must be crazy thinking they can build reputation for a whole new name out of thin air :)
23:38 samcv but unicode properties do not consider them a bracket
23:38 Geth ¦ 6.d-prep: 71d057c49c | (Zoffix Znet)++ | 2 files
23:38 Geth ¦ 6.d-prep: Mark IO::Path.chdir deprecation as completed
23:38 Geth ¦ 6.d-prep:
23:38 Geth ¦ 6.d-prep: Done in https://github.com/rakudo/rakudo/commit/6d2adb20f2
23:38 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/71d057c49c
23:41 AlexDaniel timotimo: you mean 6lang peeps?
23:41 timotimo :)
23:41 Zoffix \o/
23:42 MasterDuke timotimo: btw, figure out that MVM_string_equal (or was it something to do with ?CLASS) business?
23:42 MasterDuke samcv: could you look at jnthn
23:42 MasterDuke 's last comment on https://github.com/MoarVM/MoarVM/pull/705 ?
23:43 samcv about nfg stable?
23:43 MasterDuke that's why i was asking about combiners, but everything i tried seemed to work
23:43 MasterDuke yeah
23:43 timotimo haven't figured it out
23:43 AlexDaniel greppable6: slurp-rest
23:43 greppable6 AlexDaniel, https://gist.github.com/c72b21a180067cff6954bf7d3a54b46e
23:44 AlexDaniel Zoffix: is correct that I can just s/slurp-rest/slurp/ in all of my code?
23:44 timotimo m: say $*IN.slurp
23:44 camelia rakudo-moar 63cf24: OUTPUT: «»Wann treffen wir drei wieder zusamm?«␤   »Um die siebente Stund‘, am Brückendamm.«␤     »Am Mittelpfeiler.«␤         »Ich lösche die Flamm.«␤ »Ich mit«␤␤         »Ich komme vom Norden her.«␤        »Und ich vom Süden.«…»
23:44 timotimo m: say $*IN.slurp-rest
23:44 camelia rakudo-moar 63cf24: OUTPUT: «»Wann treffen wir drei wieder zusamm?«␤   »Um die siebente Stund‘, am Brückendamm.«␤     »Am Mittelpfeiler.«␤         »Ich lösche die Flamm.«␤ »Ich mit«␤␤         »Ich komme vom Norden her.«␤        »Und ich vom Süden.«…»
23:45 Zoffix AlexDaniel: yes
23:46 AlexDaniel greppable6: lines.*count
23:46 greppable6 AlexDaniel, https://gist.github.com/212c6c503e09866c518438ac64eb1d93
23:47 AlexDaniel m: say lines(:1count); say lines(:1count)
23:47 camelia rakudo-moar 63cf24: OUTPUT: «(»Wann treffen wir drei wieder zusamm?«    »Um die siebente Stund‘, am Brückendamm.«      »Am Mittelpfeiler.«          »Ich lösche die Flamm.«  »Ich mit«           »Ich komme vom Norden her.«         »Und ich vom Süden.«          »Und…»
23:47 AlexDaniel m: say lines(:1count);
23:47 camelia rakudo-moar 63cf24: OUTPUT: «(»Wann treffen wir drei wieder zusamm?«    »Um die siebente Stund‘, am Brückendamm.«      »Am Mittelpfeiler.«          »Ich lösche die Flamm.«  »Ich mit«           »Ich komme vom Norden her.«         »Und ich vom Süden.«          »Und…»
23:48 samcv MasterDuke, i don't get what you're doing here
23:49 samcv the all_strands_of_same_type variable only seems to hold whether the separator is a strand
23:49 samcv is it just named badly?
23:49 AlexDaniel $count ?? self.lines.elems !! self.lines;
23:49 AlexDaniel wtf :D
23:49 MasterDuke it also checks the pieces later in the code
23:50 samcv ok well what cases are being optimized here
23:50 samcv compared to the other cases
23:50 samcv where you're joining strands instead of flat strings?
23:50 MasterDuke just the case of all the strings (separator + list of other strings) are strands
23:51 samcv so you only are copying strands or something?
23:51 MasterDuke in that case, yeah
23:52 AlexDaniel “De-magicalize '-' in IO::Handle.open” yes, yes
23:52 samcv also
23:52 samcv 16        <= total_graphs / total_strands
23:53 MasterDuke yeah?
23:54 samcv yeah so what are you controlling for here. that's total_strands of all pieces combined?
23:54 samcv and total_graphs of all pieces?
23:54 MasterDuke yep
23:55 MasterDuke a heuristic to avoid the overhead of messing around with strands instead of a flat string unless it would be helpful
23:56 AlexDaniel Zoffix: my opinion may not matter much, but I've read through v6.d-prep docs and everything makes a lot of sense
23:56 samcv so yeah you need to control for combininers
23:56 samcv just because you haven't triggered it. i guarentee you it's there ;)
23:56 samcv though if you want to trigger it easier you can turn on NFG_CHECK i think it's called
23:57 MasterDuke how do i trigger it?
23:57 samcv i *think* i have one of those at the end of join. though you should check
23:57 samcv well i'd look at things which change under normalization. and also add a fprintf t o make sure you know if it's actually triggering this section of the code
23:57 MasterDuke the `STRAND_CHECK(tc, result);`?
23:57 samcv nope
23:57 AlexDaniel greppable6: write-internal
23:57 greppable6 AlexDaniel, Found nothing!
23:57 AlexDaniel greppable6: read-internal
23:57 greppable6 AlexDaniel, Found nothing!
23:58 MasterDuke samcv: so there aren't any tests in roast for that condition?
23:58 samcv in that case you should add NFG_CHECK(tc, result, "MVM_string_join")
23:58 samcv for join? probably not
23:58 samcv there are for concat
23:58 samcv i would try altering those to also do it for join
23:58 samcv give me a sec i'll find where they're generated
23:59 MasterDuke thanks
23:59 samcv also go to src/strings/ops.h
23:59 samcv and define MVM_DEBUG_NFG and MVM_DEBUG_NFG_STRICT

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary