Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-02-03

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

All times shown according to UTC.

Time Nick Message
00:17 Geth ¦ rakudo/nom: 8990529295 | (Zoffix Znet)++ | src/core/Str.pm
00:17 Geth ¦ rakudo/nom: Remove trailing whitespace
00:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8990529295
00:18 Geth ¦ rakudo/nom: 6e9d08c8ba | (Zoffix Znet)++ | src/core/Str.pm
00:18 Geth ¦ rakudo/nom: move Str.subst proto to be next to its methods
00:18 Geth ¦ rakudo/nom:
00:18 Geth ¦ rakudo/nom: No functional changes. The proto for Str.subst seems to be hundreds
00:18 Geth ¦ rakudo/nom: of lines away from Str.subst methods, tucked next to Str.substr-*
00:18 Geth ¦ rakudo/nom:
00:18 Geth ¦ rakudo/nom: Fix by moving the proto in the source code.
00:18 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e9d08c8ba
00:21 Geth ¦ rakudo: wchristian++ created pull request #1011: RFC: increase readability of REPL.pm by reducing verbosity
00:21 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1011
00:28 pyrimidine joined #perl6-dev
01:10 Geth ¦ rakudo/nom: 354ad9ab1c | (Christian Walde)++ | src/core/REPL.pm
01:10 Geth ¦ rakudo/nom: increase readability of REPL.pm by reducing verbosity
01:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/354ad9ab1c
01:10 Geth ¦ rakudo/nom: f249689979 | (Zoffix Znet)++ | src/core/REPL.pm
01:10 Geth ¦ rakudo/nom: Merge pull request #1011 from wchristian/readability
01:10 Geth ¦ rakudo/nom:
01:10 Geth ¦ rakudo/nom: RFC: increase readability of REPL.pm by reducing verbosity
01:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f249689979
01:42 TimToady heh, I'm told that six or eight generations back, my last name used to be spelled "Walde"
01:45 MasterDuke TimToady: in a quick attempt to get rid of @*comp_line_directives, i tried turning it into an attribute (with an accessor method) in src/HLL/World.nqp and then calling $*W.comp_line_directives() in src/HLL/Compiler.nqp
01:45 MasterDuke but it compains, `Cannot find method 'comp_line_directives' on object of type NQPMu`
01:46 MasterDuke *complains
01:53 TimToady it might be set up before there even is a World
01:54 TimToady I wouldn't sweat it too much; it might end up riding around in the new braid object anyway
01:58 MasterDuke k, i'll leave it for now at least
02:10 pyrimidine joined #perl6-dev
02:29 pyrimidine joined #perl6-dev
02:34 pyrimidine joined #perl6-dev
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:35 pyrimidine joined #perl6-dev
04:48 pyrimidine_ joined #perl6-dev
04:49 pyrimidine_ Anyone present who knows much about dynamic module loading?  I've run into a bug: RT#130709
04:49 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130709
04:49 pyrimidine_ it seems to be related to some of the lexical module fixes in August
05:35 pyrimidi_ joined #perl6-dev
06:48 RabidGravy joined #perl6-dev
07:14 travis-ci joined #perl6-dev
07:14 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Streamline Any::IterateTwoWithoutPhasers.push-all
07:14 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197467470 https://github.com/rakudo/rakudo/compare/bc53f6770f58...9f15a4d649ec
07:14 travis-ci left #perl6-dev
07:35 pyrimidine joined #perl6-dev
07:45 Geth ¦ nqp/braids: e40c5baa97 | TimToady++ | 2 files
07:45 Geth ¦ nqp/braids: Add Braid type, move actions to braid object
07:45 Geth ¦ nqp/braids:
07:45 Geth ¦ nqp/braids: Cursors now maintain a braid delegate to hold aspects of the current language
07:45 Geth ¦ nqp/braids: braid that are outside the scope of the current set of cursor methods, but
07:45 Geth ¦ nqp/braids: nonetheless contribute to the notion of "current language" in the current
07:45 Geth ¦ nqp/braids: lexical scope.  We will be migrating various dynamic variables into the
07:45 Geth ¦ nqp/braids: braid over time, such as %*LANG, %*PRAGMAS, and $*PACKAGE.
07:45 Geth ¦ nqp/braids: review: https://github.com/perl6/nqp/commit/e40c5baa97
07:45 Geth ¦ rakudo/braids: f526c7d72d | TimToady++ | 2 files
07:45 Geth ¦ rakudo/braids: Start using new braid abstractions from nqp
07:45 Geth ¦ rakudo/braids:
07:45 Geth ¦ rakudo/braids: We will gradually be weaning rakudo off of direct manipulation of
07:45 Geth ¦ rakudo/braids: cursors and dynvars so that we can abstract the various "current language"
07:45 Geth ¦ rakudo/braids: concepts into the Braid object that hangs off the current cursor.
07:45 Geth ¦ rakudo/braids: review: https://github.com/rakudo/rakudo/commit/f526c7d72d
09:34 [Tux] This is Rakudo version 2017.01-148-gf24968997 built on MoarVM version 2017.01-25-g70d4bd53
09:34 [Tux] csv-ip5xs        2.755
09:34 [Tux] test            13.105
09:34 [Tux] test-t           4.808 - 2nd run 4.935
09:34 [Tux] csv-parser      13.014
09:45 brrt joined #perl6-dev
09:46 brrt pmurias: NQP commit 5490db6fe491f30edf9de1e553782655acc3b6d3 changes a test in t/qast/01-qast.t that breaks on MoarVM
09:46 brrt i don't know what you intended to hapepn, and if MoarVM behaviour is really wrong, so I'm not sure what to do next
11:04 Geth ¦ geth: 40e5ce18e6 | (Zoffix Znet)++ | lib/Geth/Plugin/GitHub.pm6
11:04 Geth ¦ geth: Remove confusing … from 3-10 commit reports
11:04 Geth ¦ geth: review: https://github.com/perl6/geth/commit/40e5ce18e6
11:04 Geth joined #perl6-dev
11:11 pyrimidine joined #perl6-dev
11:12 brokenchicken it fails in not ok 26 - Exception in is_qast: equal requires a concrete string, but got null, test: str local has a zero default
11:12 brokenchicken m: local str $x; dd $x
11:12 camelia rakudo-moar f24968: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3local str7⏏5 $x; dd $x␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier…»
11:12 brokenchicken m: my str $x; dd $x
11:12 camelia rakudo-moar f24968: OUTPUT«""␤»
11:17 brokenchicken nqp: QAST::Block.new(  QAST::Var.new( :name('not_set'), :scope('local'), :decl('var'), :returns(str) ), QAST::Op.new(:op<say>, QAST::Var.new(:name('not_set'), :scope('local'))) )
11:17 camelia nqp-moarvm: ( no output )
11:17 brokenchicken :(
11:31 travis-ci joined #perl6-dev
11:31 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Streamline Any::IterateTwoWithoutPhasers.sink-all
11:31 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197473094 https://github.com/rakudo/rakudo/compare/9f15a4d649ec...7384939eb147
11:31 travis-ci left #perl6-dev
11:44 brrt brokenchicken, yeah, so why does it
11:50 Geth ¦ nqp: 3fbb5545ad | (Pawel Murias)++ | t/qast/01-qast.t
11:50 Geth ¦ nqp: Fix test.
11:50 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/3fbb5545ad
11:50 Geth ¦ nqp: 5b811222ca | (Pawel Murias)++ | src/vm/js/Compiler.nqp
11:50 Geth ¦ nqp: [js] Initialize str variables with null_s instead of ''.
11:50 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/5b811222ca
11:50 brokenchicken \o/
11:53 travis-ci joined #perl6-dev
11:53 travis-ci NQP build passed. Pawel Murias '[js] Initialize str variables with null_s instead of ''.'
11:53 travis-ci https://travis-ci.org/perl6/nqp/builds/197975244 https://github.com/perl6/nqp/compare/f21c8f1668f8...5b811222cab0
11:53 travis-ci left #perl6-dev
12:53 pyrimidine joined #perl6-dev
12:55 pyrimidi_ joined #perl6-dev
12:59 lizmat commute to Brussels&
13:07 stmuk joined #perl6-dev
13:07 pyrimidine joined #perl6-dev
13:09 pyrimidine joined #perl6-dev
13:12 * nine is sitting at Vienna airport and very much looking forward to seeing Liz&Wendy&friends :)
13:13 tadzik I'm leaving soon too :)
13:14 nine yeah :)
13:15 nine Looks like my talk's gonna take about 30 minutes which is probably ok for a 40 minute slot with no breaks between talks.
13:42 masak joined #perl6-dev
13:54 samcv how do i compile perl 6 for js?
13:55 samcv err nqp. it compiles right?
13:59 [Coke] ISTR pmurias had some special instructions still.
13:59 * [Coke] sees brokenchicken and is reminded to do something!
14:00 brokenchicken ? dop what?
14:00 brokenchicken ? do what?
14:06 perlpilot .oO( fix the chicken? )
14:07 geekosaur (do the funky chicken?)
14:07 [Coke] brokenchicken: check your email?
14:08 brokenchicken "Inbox (2487 new)"
14:09 [Coke] I'm your grant manager!
14:09 brokenchicken Aha :)
14:09 brokenchicken Sure. Sounds good. I'll post reports on blogs.perl.org, since I see pmurias doing it that way. Right?
14:11 perlpilot doh!  And I just realized that I forgot to add my voice to the chorus in support of that grant.
14:12 [Coke] brokenchicken: yes, that's fine.
14:13 * [Coke] ¿accidentally? volunteers for something.
14:22 Tux__ joined #perl6-dev
14:25 Tux__ joined #perl6-dev
14:57 gfldex joined #perl6-dev
15:00 pyrimidine joined #perl6-dev
15:03 AlexDaniel joined #perl6-dev
15:05 Geth ¦ nqp: afab417317 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
15:05 Geth ¦ nqp: (moar bump) Fix nqp::div_i / optimize nqp::radix_I
15:05 Geth ¦ nqp:
15:05 Geth ¦ nqp: https://github.com/MoarVM/MoarVM/compare/2017.01-25-g70d4bd5...2017.01-30-g9258aca
15:05 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/afab417317
15:05 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.01-25-g70d4bd5...2017.01-30-g9258aca
15:05 Geth ¦ rakudo/nom: c98b3a581f | (Zoffix Znet)++ | tools/build/NQP_REVISION
15:05 Geth ¦ rakudo/nom: (nqp bump) Fix premature overflow in nqp::div_i()
15:05 Geth ¦ rakudo/nom:
15:05 Geth ¦ rakudo/nom: On MoarVM, the op uses int which overflows on large numbers, making the op
15:05 Geth ¦ rakudo/nom: produce wrong results. Fix by using MVMint64 instead.
15:05 Geth ¦ rakudo/nom:
15:05 Geth ¦ rakudo/nom: Fixes RT#130686: https://rt.perl.org/Ticket/Display.html?id=130686
15:05 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130686
15:05 Geth ¦ rakudo/nom:
15:05 Geth ¦ rakudo/nom: Bump brought commits:
15:05 Geth ¦ rakudo/nom: https://github.com/perl6/nqp/compare/2017.01-64-gf21c8f1...2017.01-67-gafab417
15:06 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c98b3a581f
15:06 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.01-64-gf21c8f1...2017.01-67-gafab417
15:07 Geth ¦ roast: 13535c7fb5 | (Zoffix Znet)++ | S03-operators/div.t
15:07 Geth ¦ roast: Test `div` does not prematurely overflow on large `int`s
15:07 Geth ¦ roast:
15:07 Geth ¦ roast: RT#130686: https://rt.perl.org/Ticket/Display.html?id=130686
15:07 Geth ¦ roast:
15:07 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130686
15:07 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/c98b3a581f
15:07 Geth ¦ roast: NQP fix:    https://github.com/perl6/nqp/commit/afab417317
15:07 Geth ¦ roast: MoarVM fix: https://github.com/MoarVM/MoarVM/commit/9258acaffd
15:07 Geth ¦ roast: review: https://github.com/perl6/roast/commit/13535c7fb5
15:14 pmurias joined #perl6-dev
15:14 pmurias brrt: sorry, the test was wrong
15:25 brrt which test what
15:25 brrt oh, np
15:25 pmurias brrt: the qast test I broke
15:25 brrt :-)
15:25 brrt i figured
15:25 brrt it happens
15:25 pmurias it should be fixed now
15:27 travis-ci joined #perl6-dev
15:27 travis-ci Rakudo build passed. Zoffix Znet 'Fix infix:<before>/infix:<after> for Complex
15:27 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197514867 https://github.com/rakudo/rakudo/compare/7384939eb147...ab3162c1275f
15:27 travis-ci left #perl6-dev
15:44 KDr2 joined #perl6-dev
15:45 pyrimidi_ joined #perl6-dev
15:52 gfldex joined #perl6-dev
15:56 geekosaur joined #perl6-dev
16:02 SourceBaby joined #perl6-dev
16:03 Undercover joined #perl6-dev
16:05 brokenchicken FWIW, I've not restarted SourceBaby/Undercover for a couple of months (I think?) and they were in just 600-700MB of used RAM. Whatever's leaking in buggable has gotta be applying a regex to a huge chunk of text (entire Travis build log).
16:06 brokenchicken Don't think I'll have the time to golf it any time soon, but yey for other bots seemingly not leaking :)
16:07 jnthn brokenchicken: What Rakudo version?
16:07 jnthn A MoarVM commit almost right after the January release fixed a major release
16:08 brokenchicken SourceBaby/Undercover were running on some 2016.10-* commit. The box with buggable has 2017.01-144-gf2894d3 installed, but I'm pretty sure the last time I saw it leak it was a slightly earlier commit
16:08 brokenchicken like maybe a week earlier
16:08 jnthn OK
16:08 brrt joined #perl6-dev
16:08 jnthn Anything using Proc::Async will have got a good bit less leaky
16:09 brokenchicken I think it's something with regexes...
16:10 brokenchicken And well, should be easy enough to find out what it is. I just need to find time to do it.
16:13 gfldex joined #perl6-dev
16:27 |Tux| joined #perl6-dev
16:28 Tux__ joined #perl6-dev
16:59 brrt joined #perl6-dev
17:21 brokenchicken wooo found a fix for 130688
17:22 brokenchicken And seems $caller_dollar_slash / $SET_DOLLAR_SLASH in Str!APPLY-MATCHES are useless
17:22 * brokenchicken always gets suspicious when finding "useless" chunks of code
17:24 brokenchicken The method's called only from .subst/.subst-mutate (and Actions for s/// / S///) but in all those cases dollar slash is already set by Str.match call, so there's no point in asking APPLY-MATCHES to set anything. In fact, it's what causing the 130688 bug
17:49 brokenchicken And I don't get why does s/// S/// call .match / !APPLY-MATCHES instead of just calling .subst/.subst-mutate :\
17:56 DrForr joined #perl6-dev
17:56 Ulti joined #perl6-dev
17:56 [Coke] joined #perl6-dev
17:56 tailgate joined #perl6-dev
17:59 Ven joined #perl6-dev
18:01 arnsholt joined #perl6-dev
18:14 brokenchicken :S and apparently s/// | S/// code creates $global_result just to re-bind $result to it, just before sticking it into $/ :/
18:18 brokenchicken Though I broke something by removing this stuff, so I guess I'm wrong :}
18:21 [Coke] how can I tell what multi is going to get called?
18:23 pyrimidine joined #perl6-dev
18:23 brokenchicken .cando
18:23 brokenchicken m: &comb.cando( \("meow", 2) )[0].signature.say
18:23 camelia rakudo-moar c98b3a: OUTPUT«(Str $matcher, Cool $input, $limit = *)␤»
18:24 brokenchicken m: &comb.cando( \("meow", /^/) )[0].signature.say
18:24 camelia rakudo-moar c98b3a: OUTPUT«Nil␤»
18:24 brokenchicken orly
18:24 brokenchicken m: say comb "meow", /^/
18:24 camelia rakudo-moar c98b3a: OUTPUT«Cannot resolve caller comb(Str, Regex); none of these signatures match:␤    (Regex $matcher, Cool $input, $limit = *)␤    (Str $matcher, Cool $input, $limit = *)␤    (Int:D $matcher, Cool $input, $limit = *)␤  in block <unit> at <tmp> line 1␤␤»
18:24 brokenchicken Ah, matcher goes firsr
18:24 brokenchicken m: &comb.cando( \(42, "meow") )[0].signature.say
18:24 camelia rakudo-moar c98b3a: OUTPUT«(Int:D $matcher, Cool $input, $limit = *)␤»
18:25 brokenchicken m: &comb.cando( \("x", "meow") )[0].signature.say
18:25 camelia rakudo-moar c98b3a: OUTPUT«(Str $matcher, Cool $input, $limit = *)␤»
18:25 brokenchicken It gives you all the matching candidates in narrowest -> widest order
18:25 brokenchicken And IIRC for methods you need to include the invocant in the capture you give it
18:28 brokenchicken Hm. Weird. I stuck this debug statement into actions quote:sym<s>: QAST::Op.new(:op<say>, QAST::Op.new( :op<callmethod>, :name<gist>, QAST::Var.new( :name('$/'), :scope('lexical') ) ))
18:28 [Coke] weird. it's finding hte method I thought it was, but then my { die "AAA" } in that sub is never invoked.
18:28 brokenchicken And it prints TWICE for each of invocation of s/// :S
18:28 [Coke] DOH. installed vs. local.
18:29 [Coke] yay, my patch worked.
18:30 |Tux| joined #perl6-dev
18:30 Tux__ joined #perl6-dev
18:37 brokenchicken hm, but sticking QAST::Op.new(:op<say>, QAST::SVal.new(:value<meows>)), right before that debug statement prints 'meows' just once :S
18:37 * brokenchicken doesn't get this...
18:38 brokenchicken m: "x" ~~ s/.//; $/.gist
18:38 camelia rakudo-moar c98b3a: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at <tmp> line 1␤␤»
18:38 brokenchicken m: ($ ="x") ~~ s/.//; $/.gist
18:38 camelia rakudo-moar c98b3a: ( no output )
18:38 brokenchicken vov
18:39 brokenchicken And I changed it to QAST::Op.new( :op<callmethod>, :name<gist>, QAST::Var.new( :name('$/'), :scope('lexical') ) ), and now it prints it just once... waaaaaaat
18:40 brokenchicken oh, I had code as `say s///` oops :P
19:42 perlpilot joined #perl6-dev
19:45 brokenchicken -_- don't get it. With my patch $_ = "a b c"; .subst-mutate: :g, / (\w) /, -> $/ { "$0$0" }; replaces with "aa bb cc" but s:g/ (\w) / $0$0/; replaces with "aa aa aa"; my debug print of APPLY-MATCHES shows both versions give the same args and $/ ends up being the same :|
19:57 timotimo maybe the s:g/ / / form tries to go with the lexical $/ outside of the s/// call?
19:59 brokenchicken APPLY-MATCHES doesn't do anything with it and takes matches via an arg; I dumped it from inside APPLY-MATCHES and it's the same for both versions
20:00 * brokenchicken goes to compare ASTs
20:04 timotimo unfortunately i don't know how that part of rakudo plays
20:19 FROGGS joined #perl6-dev
20:29 brokenchicken I saw the light.
20:29 brokenchicken And I was right... three hours ago... "* │ brokenchicken always gets suspicious when finding "useless" chunks of code"
20:30 brokenchicken The s/// S/// forms give matches lazily and rely on $/ being swapped for each substitution, while .subst-mutate expects args to the codeblock
20:31 brokenchicken At least now I have a much better knowledge of thist stuff :)
20:34 |Tux| joined #perl6-dev
20:35 Tux__ joined #perl6-dev
20:38 agentzh joined #perl6-dev
20:41 brokenchicken Well, if the stresstest ends up clean I will have fixed 130688 and may even have time to commit it before I have to relocate :)
20:41 Ven joined #perl6-dev
20:43 travis-ci joined #perl6-dev
20:43 travis-ci Rakudo build passed. Zoffix Znet 'Revert "Fix infix:<before>/infix:<after> for Complex"
20:43 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197517075 https://github.com/rakudo/rakudo/compare/ab3162c1275f...6c92994729f7
20:43 travis-ci left #perl6-dev
20:46 brokenchicken Hm, and it's not
20:46 brokenchicken m: $_ = "(foo,bar,(baz))"; $_.=subst( /<-[(),]>+/, { "|$/|" }, :g ); say $_
20:46 camelia rakudo-moar c98b3a: OUTPUT«(|foo|,|bar|,(|baz|))␤»
20:46 brokenchicken That now gives: (|foo bar baz|,|foo bar baz|,(|foo bar baz|))
20:47 brokenchicken But I'd argue the new version is correct. The block doesn't receive it's own $/; if you want to use $/ inside, block needs to be -> $/ { }
20:47 brokenchicken Well, s/new version/; The only reason it ends up as anything is matches are done before replacements.
20:48 brokenchicken Hm. Need to think about this.
20:48 brokenchicken m: say 'fog'.subst: :g, /(.)/, { $0.uc }
20:48 camelia rakudo-moar c98b3a: OUTPUT«FOG␤»
20:49 brokenchicken And in my version that ends up as FFF
20:49 brokenchicken k, need a differnt fix :)
20:50 brokenchicken s/But I'd argue//; # not having to stick -> $/ on it every time is very useful
20:50 brokenchicken Gonna fix later tonight
20:50 * brokenchicken relocates
21:08 pyrimidine joined #perl6-dev
21:11 lizmat joined #perl6-dev
22:25 geekosaur joined #perl6-dev
22:35 gfldex m: use variables :D; sub f(Str $s){ say $s }; f Str;
22:35 camelia rakudo-moar c98b3a: OUTPUT«(Str)␤»
22:35 gfldex this feels wrong
22:38 pyrimidine joined #perl6-dev
22:50 brokenchicken Yeah, SmokeMachine pointed that out earlier today. Unsure if they created a ticket for it yet.
22:50 brokenchicken Oh wait
22:50 brokenchicken Now I remember
22:51 brokenchicken It's supposed to be affected by `use params` not variables, but it's not yet implemented
22:51 brokenchicken m: use param :D
22:51 camelia rakudo-moar c98b3a: OUTPUT«===SORRY!===␤Could not find param at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Reposit…»
22:51 brokenchicken m: use params :D
22:51 camelia rakudo-moar c98b3a: OUTPUT«===SORRY!===␤Could not find params at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Reposi…»
22:51 * brokenchicken looks at backlog
22:51 brokenchicken m: use parameters :D
22:51 camelia rakudo-moar c98b3a: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤use parameters not yet implemented. Sorry. ␤at <tmp>:1␤------> 3use parameters :D7⏏5<EOL>␤»
22:51 brokenchicken gfldex: ^
22:52 brokenchicken m: use attributes :D
22:52 camelia rakudo-moar c98b3a: ( no output )
22:52 brokenchicken And I guess that one is for class/role attrs
22:57 Geth ¦ rakudo/nom: 98f9d8a7d6 | (Elizabeth Mattijsen)++ | src/core/Iterator.pm
22:57 Geth ¦ rakudo/nom: Remove unnecessary not_i from Iterator.push-exactly
22:57 Geth ¦ rakudo/nom:
22:57 Geth ¦ rakudo/nom: By using an until instead of a while.  It's the microest of micro-opts
22:57 Geth ¦ rakudo/nom: but in a method that is used by a lot of array / list accesses.
22:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98f9d8a7d6
22:59 pyrimidine joined #perl6-dev
23:36 lizmat .tell jnthn there's a bunch of methods in core (e.g. .eager) that have a proto with (|), but never take any arguments.  Making the proto have () appears to make it 4% faster.  Do you see any downsides to this?
23:36 yoleaux2 lizmat: I'll pass your message to jnthn.
23:37 SmokeMachine I didn't open any ticket... :(
23:38 brokenchicken SmokeMachine: nah, no need. I misremembered what happened.
23:41 SmokeMachine variables, parameters and attributes...
23:43 jnthn lizmat: Well, it'd only mean that nobody could add a multi that did have args in a subclass
23:43 yoleaux2 23:36Z <lizmat> jnthn: there's a bunch of methods in core (e.g. .eager) that have a proto with (|), but never take any arguments.  Making the proto have () appears to make it 4% faster.  Do you see any downsides to this?
23:43 jnthn lizmat: But, for eager at least, that seems overwhelmingly unlikely :)
23:43 lizmat but wouldn't somebody just need to add their own proto if they wanted an eager with params ?
23:44 jnthn They can, but of course they'd also need to handle the zero-arg case
23:44 jnthn But it's such a hypothetical thing to want to do anyway, for eager... :)
23:44 jnthn So, for that case I think no problem to change it
23:44 lizmat well, there's a bunch of them
23:45 jnthn OK, probably worth considering each of them :)
23:45 lizmat pairup minpairs maxpairs Array List flat
23:45 jnthn Array and List are coercers
23:45 lizmat hash Hash Map
23:45 jnthn flat is like eager
23:45 jnthn Those are all coercers
23:46 jnthn So only pairup minpairs maxpairs warrant any particular thought
23:46 jnthn And...I can't think of a reason why they can't have () either :)
23:46 samcv 4% faster is good :)
23:46 lizmat yeah, seems like an easy win  :-)
23:46 jnthn So, no objects from me on any of those getting ()
23:46 jnthn *objections
23:47 jnthn Hope all's well in Brussels? :)
23:47 * jnthn drank a Kwak in support of the Perl 6 folk in Brussels :)
23:47 lizmat all's well in Brussels so far
23:48 lizmat the booth has been set up already, so that's a lot less work tomorrow morning  :-)
23:48 jnthn Cool :)
23:48 lizmat the reason I asked about (|) is that I realized I had (probably inadvertently) done this with .Bool
23:49 lizmat last March
23:49 lizmat going to use that as an example in my talk  :-)
23:49 jnthn :)
23:49 * jnthn wonders why it's more expensive...
23:49 jnthn Given that after the first hit, we should be hitting the multi cache.
23:51 samcv m: say so '_' ~~ /<alpha>/
23:51 camelia rakudo-moar 98f9d8: OUTPUT«True␤»
23:51 samcv seems i found a bug in <alpha>. <:alpha> doesn't have this issue
23:52 jnthn That's by design, I believe.
23:52 samcv really?
23:52 jnthn https://design.perl6.org/S05.html#Predefined_Subrules
23:52 jnthn Yup
23:53 jnthn Been that way for years
23:53 samcv https://gist.github.com/Whateverable/0a0c73d8e2bd3967b6ad4de560ca639a this is the full list of differences
23:54 samcv m: say '🅐' ~~ /<alpha>/
23:54 camelia rakudo-moar 98f9d8: OUTPUT«Nil␤»
23:54 samcv m: say '🅐' ~~ /<:alpha>/
23:54 camelia rakudo-moar 98f9d8: OUTPUT«「🅐」␤»
23:54 samcv it doesn't seem to be as simple as, <:alpha> plus underscores
23:54 lizmat jnthn: re Seq.iterator, should we worry about races there if two threads try to do a .iterator on the same Seq ?
23:55 jnthn No
23:55 jnthn Iterators aren't thread-safe
23:55 lizmat oki
23:55 jnthn There's a module Concurrent::Iterator though :)
23:57 Geth ¦ rakudo/nom: f799a03fcc | (Elizabeth Mattijsen)++ | src/core/Seq.pm
23:57 Geth ¦ rakudo/nom: Streamline Seq.sink
23:57 Geth ¦ rakudo/nom:
23:57 Geth ¦ rakudo/nom: No need to call .iterator when we already have it in $!iter.
23:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f799a03fcc
23:58 samcv ok <alpha> is not like <:alpha> it means character class alphabetic
23:58 samcv which are different things
23:59 samcv it doesn't include Nl's or marks

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