Zoffix Opened a ticket for someone smarter to figure it out: rt.perl.org/Ticket/Display.html?id=129334 00:01
dalek ast: 2403b99 | (Zoffix Znet)++ | S32-exceptions/misc.t:
Remove trailing whitespace
00:09
ast: 29bb932 | (Zoffix Znet)++ | S32-exceptions/misc.t:
[coverage] Cover Backtrace.flat
ast: 692343c | (Zoffix Znet)++ | S32-exceptions/misc.t:
[coverage] Backtrace.[concise|summary]
01:41
Zoffix *sigh* Yahoo got hacked. 02:00
The services I (apparently) use or used get hacked so often I get sick of receiving breach notifications.... Adobe, Ubuntu forums, Warframe, LinkedIn, now Yahoo 02:01
travis-ci Rakudo build failed. Elizabeth Mattijsen 'We can also use Enums for native array shapes 03:49
travis-ci.org/rakudo/rakudo/builds/162032098 github.com/rakudo/rakudo/compare/e...3cedb679f0
buggable [travis build above] ☠ Did not recognize some failures. Check results manually
MasterDuke t/04-nativecall/13-union.t 03:54
[Tux] This is Rakudo version 2016.09-30-g553cedb built on MoarVM version 2016.09 06:16
csv-ip5xs 9.185
test 15.983
test-t 6.927
csv-parser 17.540
dalek p: ac1bf38 | (Pawel Murias)++ | t/nqp/095-cclass.t:
Avoid harcoding tedious to manualy calculate data in the cclass tests.

This prepares for it's expansion.
07:58
arnsholt m: use nqp; grammar Opp { method EXPR() { my $here = self.'!cursor_start_cur'(); my int $pos = nqp::getattr_i($here, Cursor, '$!from'); } }; Opp.parse("5", :rule<EXPR>) 08:48
camelia rakudo-moar 553ced: OUTPUT«P6opaque: no such attribute '$!from' in type Cursor when trying to get a value␤ in method EXPR at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
arnsholt Should that work, or am I barking up the wrong tree?
pmurias arnsholt: $!from is defined in NQPCursorRole 08:50
arnsholt Think I tried that too
pmurias m: use nqp; grammar Opp { method EXPR() { my $here = self.'!cursor_start_cur'(); my int $pos = nqp::getattr_i($here, NQPCursorRole, '$!from'); } }; Opp.parse("5", :rule<EXPR>) 08:51
camelia rakudo-moar 553ced: OUTPUT«P6opaque: no such attribute '$!from' in type NQPCursorRole when trying to get a value␤ in method EXPR at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
arnsholt m: use nqp; grammar Opp { method EXPR() { my $here = self.'!cursor_start_cur'(); my int $pos = nqp::getattr_i($here, NQPCursorRole, '$!from'); say $pos } }; Opp.parse("5", :rule<EXPR>)
camelia rakudo-moar 553ced: OUTPUT«P6opaque: no such attribute '$!from' in type NQPCursorRole when trying to get a value␤ in method EXPR at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
arnsholt But that's a role, so doesn't that mean the attribute should be looked up from the class it's mixed into, anyways?
The NQP code looks it up via NQPCursor, which is the class the role is mixed into 08:52
gfldex nine: did you came up with a proper solution for your sql-quote problem? It will fail on anything that is interpolated but not a Str. (also I added ENTER/LEAVE to make sure unwrap is actually called) 08:53
pmurias m: use nqp; grammar Opp { method EXPR() { my $here = self.'!cursor_start_cur'(); my int $pos = nqp::getattr_i($here, Cursor, '$!from'); } }; Opp.parse("5", :rule<EXPR>) 08:54
camelia rakudo-moar 553ced: OUTPUT«P6opaque: no such attribute '$!from' in type Cursor when trying to get a value␤ in method EXPR at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
pmurias m: use nqp; grammar Opp { method EXPR() { my $here = self.'!cursor_start_cur'(); my int $pos = nqp::getattr_i(nqp::decont($here), Cursor, '$!from'); } }; Opp.parse("5", :rule<EXPR>) 08:55
camelia rakudo-moar 553ced: OUTPUT«Method 'MATCH' not found for invocant of class 'Int'␤ in block <unit> at <tmp> line 1␤␤»
pmurias arnsholt: ^^ nqp::decont makes it "work" 08:56
arnsholt Oooooh, of course
The value passed to the op wasn't a cursor at all, it was a Scalar
pmurias++ # Thanks! 08:57
There we go! 09:14
arnsholt is on track for having an advent calendar post this year =)
dalek kudo/nom: 2679230 | MasterDuke17++ | src/Perl6/Grammar.nqp:
Error if No/Nl chars are used in colon pairs/radix

Colon pairs and radix bases can be made with Nd characters, but not No or Nl characters.
Fixes RT #129319
09:16
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129319
kudo/nom: 3609ffe | lizmat++ | src/Perl6/Grammar.nqp:
Merge pull request #883 from MasterDuke17/RT129319

Error if No/Nl chars are used in colon pairs/radix
lizmat Files=1138, Tests=53029, 226 wallclock secs (12.70 usr 3.64 sys + 1375.62 cusr 130.53 csys = 1522.49 CPU) 09:25
gfldex m: gist.github.com/766fbf722565b0d541...5e245aa31f 09:29
camelia rakudo-moar 553ced: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> https:⏏//gist.github.com/766fbf722565b0d5418ace␤ expecting any of:␤ colon pair␤»
gfldex m: gist.github.com/766fbf722565b0d5418ace5e245aa31f
camelia rakudo-moar 553ced: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> http:⏏//gist.github.com/766fbf722565b0d5418ace␤ expecting any of:␤ colon pair␤»
gfldex is camelia broken or am I doing it wrong? 09:30
also wrapping Mu::Stringy got very odd results (that i wanted to show in that gist) 09:32
dalek kudo/nom: e12ebb9 | lizmat++ | src/core/Backtrace.pm:
Fix for #129334, as suggested by Zoffix++
09:35
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129334
gfldex .tell nine better-ish version of your sql interpolation guard gist.github.com/6be94a8e6f86c16ea5...6b1b4e6ba3 09:41
yoleaux2 gfldex: I'll pass your message to nine.
lizmat gfldex: is there any reason your blog posts don't show on www.reddit.com/r/perl6 ? 09:44
such as gfldex.wordpress.com/2016/09/21/ar...your-keys/ 09:45
and gfldex.wordpress.com/2016/09/22/ke...-optional/ ?
gfldex they don't show because nobody posts them :)
lizmat ah, well maybe someone will now :-)
fwiw, I don't have a reddit account (nor plan to get one) 09:46
gfldex i have no resentments towards reddit tho
i will do the clicking then
also ENODOC(WrapHandle) 09:47
nine gfldex: ah, yes. A known issue. Didn't have the time to think about how to handle non-Str values as I had the idea for the lighning talk at lunch and was on stage 3 hours later :) 09:56
yoleaux2 09:41Z <gfldex> nine: better-ish version of your sql interpolation guard gist.github.com/6be94a8e6f86c16ea5...6b1b4e6ba3
gfldex nine: i shall think about your problems faster next time :-> 09:59
nine gfldex: I know of the talk generating a longing for Perl 6 in at least one member of the audience, so I'd say it accomplished its mission :)
gfldex: but the whole thing went so well, that I'm actually tempted to pursue it further and see how well it would actually work for more complicated situations 10:00
With operators a my @results = select * from $resultset where "foo=$foo and bar=$bar or baz = 1"; is actually in reach 10:01
Oh, it's this of course: my @results = select * from $resultset where {"foo=$foo and bar=$bar or baz = 1"};
gfldex nine: prease provide links to the fruits of your type-safety efforts. I need that stuff too. 10:02
nine You mean future efforts? 10:03
gfldex yes 10:04
travis-ci Rakudo build passed. lizmat 'Merge pull request #883 from MasterDuke17/RT129319 10:15
travis-ci.org/rakudo/rakudo/builds/162140277 github.com/rakudo/rakudo/compare/5...09ffe29126
Zoffix wonders if regular .map work just fine on Backtrace 10:36
and .first. I'm reading the code and I think the junction-for-matcher bug is in there too
m: ^10 .map(*+1, :label('what'), item('is-this')).say 10:38
camelia rakudo-moar e12ebb: OUTPUT«Cannot resolve caller map(Range: WhateverCode, Str, Str); none of these signatures match:␤ ($: Hash \h, *%_)␤ (\SELF: &block;; :$label, :$item, *%_)␤ (HyperIterable:D $: &block;; :$label, *%_)␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: ^10 .map({$_+1}, :label('what'), :item('is-this')).say
camelia rakudo-moar e12ebb: OUTPUT«(1..^11)␤»
Zoffix The docs don't say what :label/:item are on regular map, but now Backtrace is a special-case exception and doesn't have them, I think.
m: {{sub foo { die }(); CATCH { default { say .backtrace.first: any *.is-setting, *.is-hidden } }}} 10:40
camelia rakudo-moar e12ebb: OUTPUT«Backtrace::Frame.new(file => "gen/moar/m-CORE.setting", line => 24315, code => method throw (Exception:D $: $bt?, *%_) { #`(Method|61097920) ... }, subname => "throw")␤»
Zoffix ah, nevermind, it works fine.
s: [], 'map', \({;}, :label) 10:41
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/e12e...ods.pm#L19
Zoffix m: ^3 .map: :label('MEOW'), { for ^3 { .say; next MEOW if *%%2; }; } 10:45
camelia rakudo-moar e12ebb: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared name:␤ MEOW used at line 1␤␤»
lizmat Zoffix: the .first and .map in Backtrace are performance tweaks 10:47
Zoffix Ah 10:48
lizmat look at what Backtrace.list does
Zoffix lizmat, you're the expert... what are :label and :item on .map? Are those useful just internally, since the for loops get converted to maps?
lizmat without the specific .map and .first, it would do Backtrace.list.map
psch m: constant A = Label.new(:name<A>, :1line, :prematch<foo>, :postmatch<bar>); (^5).map({ (^5).map({ .say; last A }).sink }, :label(A)).sink
camelia rakudo-moar e12ebb: OUTPUT«0␤»
psch :label is for labels, creation has to be a bit more involved is all 10:49
lizmat Zoffix: yes, :label and :item are for use of map in for
psch i think :item is single-arg rule related?
Zoffix thanks
lizmat psch: I think so too, not sure
basically, if set, it will do $list -> ($list,)
afk& 10:55
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fix for #129334, as suggested by Zoffix++' 10:57
travis-ci.org/rakudo/rakudo/builds/162144408 github.com/rakudo/rakudo/compare/3...2ebb928647
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129334
MasterDuke what does 'dba' mean in the grammar, actions, etc? 11:42
psch "doing business as" 11:43
MasterDuke huh, would not have guessed that 11:44
arnsholt It's what shows up when you get a parse error
DrForr And in case it doesn't make it here, opensource.com/life/16/9/perl-6-features 11:58
MasterDuke how do/can i define a token inside another token? e.g., something like: token outer { token inner { <[ a 1]> }; <inner>+ } 12:19
arnsholt Not sure you can do that 12:21
More importantly, why?
MasterDuke because the inner token is repeated several times
arnsholt And normal quantification doesn't work? 12:22
MasterDuke not in the '+' sense, but the code is copied
arnsholt Feels like a very weirdly factored grammar
timotimo you can define a "my token foobar" inside the grammar 12:23
arnsholt Right, if you just want to prevent inheritance, that'll work 12:24
MasterDuke this is in src/Perl6/Grammar.npq, so i didn't want to just create a new token at the top level, 12:25
but one of the existing tokens has an enumerated character class repeated several times 12:26
and i wanted to see if it was possible to pull that out into a token/variable/something scoped just to the higher level token 12:27
arnsholt What exactly are you truying trying to parse?
MasterDuke it's the rad_number token 12:28
and this <[ a..z A..Z a..z A..Z ]> is repeated several times
hmm, the unicode didn't copy/paste properly
arnsholt Ah, right 12:29
Looks fine on my end =)
Anyways, should be fine to extract \d | <[ ... ]> as a separate subrule 12:30
rad_digit perhaps?
timotimo that's rad
arnsholt Totally! =D 12:31
MasterDuke what's the syntax for that? 12:32
arnsholt Just "token rad_digit { \d | <[ ... ]> }" in the grammar 12:33
No need to worry about polluting the namespace, IMO
MasterDuke ahh, you mean not making it lexical to the rad_number token? 12:34
arnsholt Yeah
[Coke] nine: yes, it was very reproducible. 12:39
nine [Coke]: even with this commit? github.com/rakudo/rakudo/commit/4b...20c0ae4f79 12:48
[Coke]: got any details for me?
[Coke] 17 hours ago... one sec. 12:53
didn't have that one. rebuilding... 12:54
nine The commit at least fixed an issue exposed by alternating between make spectest (which runs with -Ilib) and prove (without -Ilib) 12:55
[Coke] the test failed for me both ways, btw. 12:56
... although I can't guarantee whatever prove line I used didn't -Ilib under the covers)
nine it was also reproducible with just prove by running prove and then prove -Ilib 12:57
arnsholt nqp: grammar G { token TOP { {make "foo"} } }; say(G.parse("").made) 13:36
camelia nqp-moarvm: OUTPUT«␤»
arnsholt m: grammar G { token TOP { {make "foo"} } }; say(G.parse("").made) # But this
camelia rakudo-moar e12ebb: OUTPUT«foo␤»
arnsholt Is than an NQP-bug?
nqp: grammar G { token TOP { {} {make "foo"} } }; say(G.parse("").made)
camelia nqp-moarvm: OUTPUT«␤»
arnsholt Aww, that trick didn't work 13:37
[Coke] nine: work happened, actually running the stresstest now 13:43
new failure: t/spec/S17-promise/start.t 13:47
which only fails under load, works fine on its own. nine++
jnthn's grant extension accepted. yay! 14:45
awwaiid yay! 15:16
timotimo fantastic! 15:27
pmurias are the children of QAST::Var with a 'param' decl used for anything or just ignored? 17:06
dalek ast: e5bd8d8 | (Zoffix Znet)++ | S32-exceptions/misc.t:
Backtrace.map operates correctly

RT#129334: rt.perl.org/Ticket/Display.html?id=129334
17:07
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129334
timotimo pmurias: aren't they type checks? or value initialization? 17:18
pmurias they are bind ops 17:22
timotimo: paste.debian.net/836599/ 17:24
timotimo: look at the declaration of __lowered_param__2
dalek ast: d8d8e7f | (Zoffix Znet)++ | S02-types/baghash.t:
[coverage] cover all methods in BagHash.pm
17:27
pmurias timotimo: a test case seem to imply they can 17:29
timotimo pmurias: sorry, can't look right now 17:33
pmurias timotimo: np 17:35
timotimo: wrote a test case to answer by question, now I have to figure out why it works that way 17:36
and the beat rakudo with a stick for depending on static variables being bindable :(
dalek ast: d765c83 | (Zoffix Znet)++ | S02-types/baggy.t:
[coverage] Cover Baggy methods not covered by other tests

Does not include classify-list and categorize-list as those are entirely untested and need more thorough treatment elsewhere
17:50
kudo/nom: 76d5854 | (Zoffix Znet)++ | t/spectest.data:
Add S02-types/baggy.t test file

Tests for Baggy role methods that aren't covered by things that `does` it
17:51
hackedNODE
.oO( do Baggy.[classify-list|categorize-list] behave same as Hash.[classify-list|categorize-list] and can be the same code, without repetition )
18:11
right now baggy versions are buggy
And the answer is: nope :) 18:13
m: dd BagHash.new.classify-list({.comb}, 9..9, 9); dd Hash.new.classify-list({.comb}, flat 9..9, 9, 9);
camelia rakudo-moar 76d585: OUTPUT«("9"=>2).BagHash␤{"9" => $[9, 9, 9]}␤»
hackedNODE m: % .classify-list: {$_}, 1, 2, 3 18:33
camelia rakudo-moar 76d585: OUTPUT«Cannot resolve caller classify-list(Hash: Block, Int, Int, Int); none of these signatures match:␤ (Hash $: &test, \list, :&as, *%_)␤ (Hash $: %test, $list, |c is raw)␤ (Hash $: @test, $list, |c is raw)␤ in block <unit> at <tmp> line 1␤␤»
hackedNODE m: BagHash.new.classify-list: {$_}, 1, 2, 3 18:34
camelia ( no output )
hackedNODE m: my %h = :42a; % .classify-list: %h, 'a' 18:36
camelia ( no output )
hackedNODE m: my %h = :42a; % .classify-list: %h, 'a', 'a'
camelia rakudo-moar 76d585: OUTPUT«Cannot resolve caller classify-list(Hash: Block, Str, Str); none of these signatures match:␤ (Hash $: &test, \list, :&as, *%_)␤ (Hash $: %test, $list, |c is raw)␤ (Hash $: @test, $list, |c is raw)␤ in block <unit> at <tmp> line 1␤␤»
hackedNODE
.oO( Block, Str, Str ??? )
Where'd it get the Block from 18:37
m: % .classify-list: @, 'a', 'a'
camelia rakudo-moar 76d585: OUTPUT«Cannot resolve caller classify-list(Hash: Block, Str, Str); none of these signatures match:␤ (Hash $: &test, \list, :&as, *%_)␤ (Hash $: %test, $list, |c is raw)␤ (Hash $: @test, $list, |c is raw)␤ in block <unit> at <tmp> line 1␤␤»
hackedNODE Ah. I get it now. The candidate I try matches, but it fails when forwarding the args 18:39
Found another bug 18:56
s/another//;
m: dd % .categorize-list: {42}, ("a", "a"), :as{.uc}
camelia rakudo-moar 76d585: OUTPUT«Hash % = {"42" => $["A", "A"]}␤»
hackedNODE m: dd % .categorize-list: %(:42a), ("a", "a"), :as{.uc}
camelia rakudo-moar 76d585: OUTPUT«Hash % = {"42" => $["a", "a"]}␤»
hackedNODE is spectesting
t/spec/S17-procasync/stress.t seems to consistently die with free(): invalid pointer: gist.github.com/zoffixznet/099679a...2fc716b30f 19:07
That's with TEST_JOBS=30 on 24-core box 19:08
dalek kudo/nom: b3c92ba | (Zoffix Znet)++ | src/core/Hash.pm:
Improve Hash.classify-list/Hash.categorize-list multi candidates

  - Add slurpy candidates to allow for listy args that don't fit
   exiting candidates
  - The above also fixes LTA error messages for % and @ tests with
   previously unacceptable lists
  - Correctly propagate the previously-omitted :&as parameter
   for .categorize-list with % and @ tests
19:13
hackedNODE m: dd % .classify-list: { (<a b>, <b c d>, <a>).pick }, ^3 19:41
camelia rakudo-moar b3c92b: OUTPUT«Cannot call 'push' on an immutable 'List'␤ in block <unit> at <tmp> line 1␤␤»
travis-ci Rakudo build passed. Zoffix Znet 'Improve Hash.classify-list/Hash.categorize-list multi candidates 20:09
travis-ci.org/rakudo/rakudo/builds/162287804 github.com/rakudo/rakudo/compare/7...c92baad264
lizmat Zoffix++ 20:11
dalek ast: 528d162 | (Cuong Manh Le)++ | S16-io/eof.t:
Picking first file from /proc/1 for eof testing

RT #128831
20:31
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128831
dalek ast: e669130 | lizmat++ | S16-io/eof.t:
Merge pull request #159 from Gnouc/master

Picking first file from /proc/1 for eof testing
[Coke] lizmat: wasn't the point of the test that particular file? 20:36
lizmat [Coke]: I have no idea, can't test as I don't have linux, but it looked legit to me
[Coke] fair enough. the commit that added the file just says /proc. 20:37
lizmat good night, #perl6-dev! 21:26
timotimo gnite lizmat!
MasterDuke .tell Zoffix i just realized why t/spec/S17-procasync/stress.t is failing for you (and lizmat i believe), nqp and rakudo haven't had their MOAR_REVISION and NQP_REVISION bumped to pick up jnthn's fix 23:08
yoleaux2 MasterDuke: I'll pass your message to Zoffix.