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>Confusedat <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>Confusedat <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: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$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. |