Zoffix I may have mentioned yesterday that I was gonna try to fix the new traits tickets ( RT#132711 / RT#132713 / R#131099 ), but all roads lead to EXPR parser and it's too hard for me right now, so I'm gonna give up on these. And RT#132710 looks fairly easy. Gonna fix that one (make it warn if it sees duplicated trait used) 00:16
synopsebot RT#132711 [open]: rt.perl.org/Ticket/Display.html?id=132711 [LTA] Stupidly using `is assoc` with unary prefix operator has an error message from the deep
RT#132713 [open]: rt.perl.org/Ticket/Display.html?id=132713 Order of `is assoc` and precedence traits matter, but should it?
RT#132710 [new]: rt.perl.org/Ticket/Display.html?id=132710 [LTA] Warning message for duplicated tighter trait
Zoffix (and EXPR parser probably shouldn't be messed with before release) 00:17
Geth rakudo: ad60b947e4 | (Zoffix Znet)++ | src/Perl6/World.nqp
Warn on duplicate trait application

Partially fixes RT#132710:
  rt.perl.org/Ticket/Display.html?id=132710
01:29
synopsebot RT#132710 [new]: rt.perl.org/Ticket/Display.html?id=132710 [LTA] Warning message for duplicated tighter trait
Geth rakudo: 732a25c312 | (Zoffix Znet)++ | src/Perl6/World.nqp
Improve location for dupe trait warning

Original pointed to end of routine (or end of file?). Fix to point at the start of dupe trait definition.
01:39
roast: 2dca47b3a1 | (Zoffix Znet)++ | S06-traits/misc.t
Test dupe trait application warns

RT#132710: rt.perl.org/Ticket/Display.html?id=132710 Rakudo fix: github.com/rakudo/rakudo/commit/ad60b947e4
   github.com/rakudo/rakudo/commit/732a25c312
01:40
synopsebot RT#132710 [new]: rt.perl.org/Ticket/Display.html?id=132710 [LTA] Warning message for duplicated tighter trait
Geth rakudo: ade7c4660f | (Aleks-Daniel Jakimenko-Aleksejev)++ | 3 files
.pl → .p6 extension for Perl 6 scripts

This one was supposed to be executed manually, so hopefully no automation is depending on this.
02:34
rakudo: 029226fe99 | (Zoffix Znet)++ | src/core/traits.pm
Don't assume <prec> key got stuff in it

Under some conditions it appears to not have anything, though it's possible the existence of those conditions is a bug in itself.
Also swap to the much faster (Str, Str) subst candidate.
Fixes crash seen in RT#132710:
  rt.perl.org/Ticket/Display.html?id=132710
03:05
synopsebot RT#132710 [new]: rt.perl.org/Ticket/Display.html?id=132710 [LTA] Warning message for duplicated tighter trait
travis-ci Rakudo build passed. Zoffix Znet 'Simplify core op lookup' 03:07
travis-ci.org/rakudo/rakudo/builds/328360149 github.com/rakudo/rakudo/compare/c...3d88717dfe
Geth roast: 27f9e2eef6 | (Zoffix Znet)++ | S06-traits/misc.t
Cover crash in traits

RT#132710: rt.perl.org/Ticket/Display.html?id=132710 Rakudo fix: github.com/rakudo/rakudo/commit/029226fe99
It's possible this test will need to be modified after 2018.01 release, when another fix for traits (to warn on mixing them in from wrong routine) goes in.
rakudo: jstuder-gh++ created pull request #1400:
Issue 1397: Reifiy pending elements in Seq prior to rotor call
03:47
rakudo: 4a82b4b6f0 | (Jeremy Studer)++ | src/core/Rakudo/Iterator.pm
Fix R::I::Rotor calling .pull-one one too many times

Rakudo::Iterator::Rotor was calling .pull-one too many times causing error. This type of error has been encountered before, on another code-path involving Rakudo::Iterator::Batch. zoffix++ for pointing this out.
Addresses [Issue 1397](github.com/rakudo/rakudo/issues/1397)
  See commit for more details:
   bcd902a43ee74a1ad0aab3715273037a6e4efa70
05:56
rakudo: 1ed8f5de56 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Rakudo/Iterator.pm
Merge pull request #1400 from jstuder-gh/issue_1397_ords_rotor

Issue 1397: Reifiy pending elements in Seq prior to rotor call
Zoffix What takes care of setting .line/.file on Routines? I'm trying to make a PDG warning from inside a trait, but if I set .line/.file from the Routine received as an arg in the trait, it always points to github.com/rakudo/rakudo/blob/mast....nqp#L2263 instead of the final location. 05:59
Trying to figure out how to get that final location...
K, screw it. Gonna leave it APDG 07:03
"Almost Pretty Damn Good" :) 07:04
AlexDaniel releasable6: next
releasable6 AlexDaniel, Next release in 6 days and ≈11 hours. No blockers. Unknown changelog format
Geth roast: 48a7028bbb | usev6++ | 2 files
[jvm] Add ticket number to fudge message
07:54
roast: 799efffbb0 | usev6++ | S32-list/toggle.t
[jvm] Skip newly added tests for '.toggle'
08:31
rakudo: f8953ee853 | (Zoffix Znet)++ | src/Perl6/World.nqp
Improve trait-triggered warning reporting

Report position of the start of the trait, rather than the end of the routine it's being applied to.
08:33
[Tux] Rakudo version 2017.12-213-g1ed8f5de5 - MoarVM version 2017.12.1-32-g56c03d99c
csv-ip5xs1.135 - 1.214
csv-ip5xs-2013.869 - 14.025
csv-parser12.558 - 13.043
csv-test-xs-200.441 - 0.457
test11.337 - 11.972
test-t2.935 - 2.963
test-t --race1.161 - 1.199
test-t-2051.718 - 52.400
test-t-20 --race17.756 - 18.315
08:42
Geth rakudo/trait-use-warnings: 61ba4345f3 | (Zoffix Znet)++ | src/core/traits.pm
Warn on use of traits on other than on proto for multies

Stash a draft idea.
08:59
rakudo/RT132710-traits-from-all-multies: 6b17ab1d86 | (Zoffix Znet)++ | src/core/traits.pm
Draft for traits application on multies

Part of work on RT#132710:
  rt.perl.org/Ticket/Display.html?id=132710
Makes precedence-affecting traits work on any multi they're applied to, but it breaks lexicality of subs. Since configuration gets written to the dispatcher, a lexically defined multi will globally affect precedence.
09:13
synopsebot RT#132710 [new]: rt.perl.org/Ticket/Display.html?id=132710 [LTA] Warning message for duplicated tighter trait
rakudo/RT132710-traits-warn-on-non-proto: 29a6182698 | (Zoffix Znet)++ | src/core/traits.pm
Warn if prec/assoc traits are on multies other…

other than proto or first multi if using implicit proto (fails compilation due to `for` on `.^attributes` loop). Unsure whether we should warn, die, or Just Work.
Part of work on RT#132710:
  rt.perl.org/Ticket/Display.html?id=132710
09:16
rakudo/fix-equiv: 6f5b27ce63 | (Zoffix Znet)++ | src/core/traits.pm
Revert "Delete .prec<assoc> in is equiv() trait"

This reverts commit f9f0883c6cef3695c5150d336f5e6552e1be4a4c.
Per S06 speculations, `is equiv` is supposed to copy assoc.
  [1] design.perl6.org/S06.html
09:19
roast: c7615b3537 | (Zoffix Znet)++ (committed using GitHub Web editor) | S06-traits/misc.t
Mark recently-added iffy test with ticket number
09:55
lizmat Files=1232, Tests=76017, 330 wallclock secs (14.97 usr 5.37 sys + 2276.88 cusr 233.14 csys = 2530.36 CPU) 10:19
Geth rakudo: ddbf07e8c8 | (Elizabeth Mattijsen)++ | src/core/operators.pm
Make infix:<does> and X::Does::TypeObject also take nameds

This makes the error more useful: before it could die because nameds were not accepted by infix:<does>, which sent me on a goose chase for an hour. With the nameds shown, it became very clear what my problem was.
10:29
rakudo: 577808ecbd | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
Don't need to initialized native ints to 0
rakudo/post-release: f5b4d89fbb | (Zoffix Znet)++ | src/Perl6/Grammar.nqp
Fix `no worries` pragma

Looks like it never worked, despite the machinery being there, as it expected a "no-worries" pragma to be set to a true value.
11:09
roast/post-release: 5c91d6803b | (Zoffix Znet)++ | S32-exceptions/misc.t
Add rudimentary tests of `no worries` pragma

Rakudo impl: github.com/rakudo/rakudo/commit/f5b4d89fbb
11:10
tbrowder .tell AlexDaniel DrForr yesterday mentioned he was surprised :caption resulted in both a %config entry and a table caption attribute value. I don’t see that S26 is too specific on that point but I think, given Damian’s preciseness of language, it should exist only as an attribute just like the “predefined” values such as nested. 11:32
yoleaux tbrowder: I'll pass your message to AlexDaniel.
AlexDaniel .
yoleaux 11:32Z <tbrowder> AlexDaniel: DrForr yesterday mentioned he was surprised :caption resulted in both a %config entry and a table caption attribute value. I don’t see that S26 is too specific on that point but I think, given Damian’s preciseness of language, it should exist only as an attribute just like the “predefined” values such as nested.
AlexDaniel tbrowder: that makes sense, it is surprising indeed 11:33
tbrowder: but what was the behavior before you started your changes?
iirc no caption attribute was generated, but I could be wrong
tbrowder that’s correct, no caption attribute existed prior to 11 dec 2017. 11:35
AlexDaniel ah, and I also remember that some people were depending on caption %config entry?
greppable6: caption
greppable6 AlexDaniel, gist.github.com/7782543feb1583f87c...a4269690c0 11:36
tbrowder er, true...
hankache Hello #perl6
AlexDaniel greppable6: \<caption 11:37
greppable6 AlexDaniel, gist.github.com/129d587c66ecf3d5d2...5a016dc66f
tbrowder your memory is MUCH better than mine.
hankache Notepad++ on Windows and Geany on Linux are two widely used lightweight editors that use Scintilla for syntax highlighting.
AlexDaniel here is an example: github.com/perl6/Pod-To-HTML/blob/...ML.pm#L392
hankache It would be great if someone with the required knowledge from the community can help build one for Perl 6.
sourceforge.net/p/scintilla/featur...ests/1207/ 11:38
AlexDaniel tbrowder: so it feels like we should keep it in v6.c, or at least be more prepared to perform the change 11:39
I do understand that the thing was probably underspec-ed, but that doesn't really justify breaking a bunch of code out there
You see, we can go through the ecosystem and change stuff to .caption… but that means it will stop working with older rakudos 11:40
life is hard
tbrowder ok, you’re correct—cooler heads rule the day! 11:42
AlexDaniel tbrowder: maybe you can submit a rakudo ticket with a summary of the situation? 11:46
just something we can use later when coming back to the topic
releasable6: next 11:47
releasable6 AlexDaniel, Next release in 6 days and ≈7 hours. No blockers. Unknown changelog format
tbrowder wilco
Geth rakudo: titsuki++ created pull request #1402:
Fix RT#132214
12:02
synopsebot RT#132214 [new]: rt.perl.org/Ticket/Display.html?id=132214 [LHF] `need` with version silently fails
Geth rakudo/master: 5 commits pushed by (Itsuki Toyota)++, (Elizabeth Mattijsen)++ 12:15
tbrowder is there any preference for new rakudo bug tickets in GH or RT? GH is certainly easier for the user IMHO. 12:32
Geth nqp: 31dcf0d967 | pmurias++ | src/vm/js/nqp-runtime/package.json
[js] Bump dep to a fixed version unicode-collation-algorithm
12:39
lizmat tbrowder: GH has preference nowadays for maintainers 12:46
and possibly for users :-)
tbrowder thnx!
lizmat s/maintainers/many current maintainers/
dogbert17 ZOFFLOP: t/spec/S10-packages/basic.t (test #48) 12:50
Geth roast: jstuder-gh++ created pull request #377:
Rakudo Issue 1397: Test Rotor iter stops pulling after IterationEnd
14:08
roast: d6dcfbff8b | (Jeremy Studer)++ | S32-list/rotor.t
Test Rotor iter stops pulling after IterationEnd

Test courtesy of zoffix.
Addresses
  [Rakudo Issue 1397](github.com/rakudo/rakudo/issues/1397)
14:20
roast: 411b2bf645 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S32-list/rotor.t
Merge pull request #377 from jstuder-gh/issue_1397_ords_rotor

Rakudo Issue 1397: Test Rotor iter stops pulling after IterationEnd
travis-ci Rakudo build passed. Zoffix Znet 'Add a debug point in visit_children' 15:25
travis-ci.org/rakudo/rakudo/builds/328385065 github.com/rakudo/rakudo/compare/d...2dc3f04fa8
pmurias jnthn: how can the semantics of declaration_static/immediate_static be described? 17:00
jnthn: I think some of my problems in getting roles to work on rakudo.js are caused by me having a flawed model of how they are supposed to work (plus it would be great to have them documented in QAST docs) 17:05
timotimo hm, do roles and qast actually interact that much? 17:06
pmurias timotimo: roles contain method that are 17:29
built as qast, and they end up with wrong scopes in rakudo.js (so &say doesn't work properly) 17:30
timotimo ah, ok 17:34
jnthn pmurias: Effecitvely, they just tell the code-gen to not emit any takeclosure ops, because that will be handled manually (in the Rakudo case by Block.clone and p6capturelex) 17:55
[Tux] First run on openSUSE 42.3: 18:45
Rakudo version 2017.12-221-gfd44f7024 - MoarVM version 2017.12.1-32-g56c03d99c
csv-ip5xs1.131 - 1.197
csv-ip5xs-2013.404 - 13.459
csv-parser12.588 - 13.316
csv-test-xs-200.449 - 0.451
test11.236 - 11.311
test-t2.758 - 2.816
test-t --race1.147 - 1.150
test-t-2049.195 - 51.853
test-t-20 --race17.563 - 18.960
travis-ci Rakudo build passed. Zoffix Znet 'Label test with ticket number for it' 19:27
travis-ci.org/rakudo/rakudo/builds/328396554 github.com/rakudo/rakudo/compare/0...566cfc4ad4
Geth rakudo/post-release: 7c45151426 | (Zoffix Znet)++ | src/core/IO/Socket/Async.pm
Don't lose scheduler when we pass the args
20:44
dogbert17 .seen zofbot 21:09
yoleaux I saw ZofBot 9 Jan 2018 17:07Z in #perl6-dev: <ZofBot> Zoffix, Will remind you on 2018-04-09T12:07:38.028904-05:00 about see why harness smartification makes Travis cry: github.com/rakudo/rakudo/commit/18e3468901 causes wait 9 failures: travis-ci.org/rakudo/rakudo/builds/323686909
dogbert17 m: my @a = 1,2,3; my @b = 4,5,6; say [min] @a, @b # is this correct? 21:27
camelia [1 2 3]
dogbert17 it seems to have behaved differently at one point
lizmat dogbert17: probably before the GLR
m: my @a = 1,2,3; my @b = 4,5,6; say @a cmp @b
camelia Less
dogbert17 was looking at an Advent article from 2009 :) 21:28
lizmat m: my @a = 1,2,3; my @b = 4,5,6; say [min] |@a, |@b # perhaps this is what you want
camelia 1
lizmat dogbert17: yeah, that's pre GLR
dogbert17 that definitely does the trick, lizmat++
Geth nqp: d20574ddd3 | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/ops.markdown
Document if/unless return condition when no else
21:54
Zoffix What does nqp::hllize do? 22:06
timotimo an HLL is, among other things, a set of role (in the general meaning) -> type mappings 22:10
hllize is used everywhere one language may call stuff in another language, commonly NQP <-> Perl6 22:11
Zoffix Thanks.
timotimo m: say nqp::list_s.^name
camelia 5===SORRY!5=== Error while compiling <tmp>
Could not find nqp::list_s, did you forget 'use nqp;' ?
at <tmp>:1
------> 3say nqp::list_s7⏏5.^name
expecting any of:
argument list
timotimo m: use nqp; say nqp::list_s.^name
camelia BOOTStrArray
travis-ci NQP build failed. Zoffix Znet 'Document if/unless return condition when no else' 22:12
travis-ci.org/perl6/nqp/builds/328840437 github.com/perl6/nqp/compare/31dcf...0574ddd3c9
timotimo nqp: say(nqp::list_s).^name
camelia Confused at line 2, near "say(nqp::l"
at gen/moar/stage2/NQPHLL.nqp:707 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)
from gen/moar/stage2/NQP.nqp:919 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)
from gen/mo…
Zoffix m: use nqp; say nqp::hllize(nqp::list_s).^name
camelia BOOTStrArray
timotimo nqp: say(nqp::list_s).HOW.name(nqp::list_s)
camelia cannot stringify this
at gen/moar/stage2/NQPCORE.setting:950 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPCORE.setting.moarvm:join)
from gen/moar/stage2/NQPCORE.setting:939 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPCORE.setting.moarvm:say)
timotimo hrmpf
wrong parens
nqp: say(nqp::list_s.HOW.name(nqp::list_s))
camelia BOOTStrArray
timotimo okay, this is a bad example looks like
Zoffix nqp travis: 1 job == t/concurrency/01-thread.t .............. Failed 1/24 subtests 22:13
timotimo m: use nqp; nqp::hllizefor(1, "nqp").^name
camelia ( no output )
timotimo m: use nqp; nqp::hllizefor(1, "nqp").^name.say
camelia Int
timotimo hmpf.
m: use nqp; nqp::hllizefor(Mu, "nqp").^name.say 22:14
camelia Mu
timotimo m: use nqp; nqp::hllizefor(nqp::null, "nqp").^name.say
camelia (signal SEGV)
timotimo ...
Zoffix :) 22:15
nqp: say(nqp::hllize(nqp::null).HOW.name: nqp::hllize(nqp::null)) 22:16
camelia (signal SEGV)
timotimo it's hard to study the effects of hllization in perl6 code because hllize is sprinkled pretty much everywhere
moar's dynamic optimizer can eliminate 99% of these hllize ops, though 22:17
Geth rakudo: d0be53a1ec | (Zoffix Znet)++ | src/core/Any.pm
Rework &dd low-level object fixups

The original[^1] fix up is too broad a brush as with lazy objects we can crash when calling their .perl (e.g. `dd gather die`), which causes misinterpreteting them as low-level stuff.
Fix by using nqp::can to check methods we wanna call exist instead of `try`
  [1] github.com/rakudo/rakudo/commit/99...0bac971d63
22:20
lizmat Zoffix++ 22:29
travis-ci Rakudo build passed. Zoffix Znet 'Fix spurious warnings in try thunks inside blocks 22:51
travis-ci.org/rakudo/rakudo/builds/328397563 github.com/rakudo/rakudo/compare/7...2dc1b8ba7d