Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-06-03

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

All times shown according to UTC.

Time Nick Message
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:12 Zoffix joined #perl6-dev
06:53 [Tux] This is Rakudo version 2016.05-41-g6bb23a5 built on MoarVM version 2016.05-18-g1339332
06:53 [Tux] test            19.701
06:53 [Tux] test-t          12.581
06:53 [Tux] csv-parser      34.852
06:54 [Tux] consistently under 13 for the past three days
07:06 [TuxCM] joined #perl6-dev
07:29 brrt joined #perl6-dev
07:35 [Tux] joined #perl6-dev
07:37 [Tux] joined #perl6-dev
08:11 RabidGravy joined #perl6-dev
08:37 nine_ joined #perl6-dev
08:38 psch_ joined #perl6-dev
08:38 eviltwin_b joined #perl6-dev
08:51 b2gills joined #perl6-dev
08:56 AlexDaniel joined #perl6-dev
09:13 brrt joined #perl6-dev
09:54 dalek rakudo/nom: 4e66e0a | (Daniel Green)++ | src/core/List.pm:
09:54 dalek rakudo/nom: Speed up List.pm's infix:<,> ~40% by using a STATEMENT_LIST to convert to a ternary and postfix while
09:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e66e0a72a
09:54 dalek rakudo/nom: ba6a288 | lizmat++ | src/core/List.pm:
09:54 dalek rakudo/nom: Merge pull request #779 from MasterDuke17/List.pm_optimizations
09:54 dalek rakudo/nom:
09:54 dalek rakudo/nom: Speed up List.pm's infix:<,> ~40% by using a STATEMENT_LIST to conver…
09:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ba6a288aed
09:55 dalek rakudo/nom: 85cdb9e | ugexe++ | src/core/CompUnit/Repository/FileSystem.pm:
09:55 dalek rakudo/nom: Access packages in the $base
09:55 dalek rakudo/nom:
09:55 dalek rakudo/nom: Makes `META6.json` and `META.info` follow the same behavior in regards to access modules in a package $base
09:55 dalek rakudo/nom: See: http://irclog.perlgeek.de/perl6-toolchain/2016-06-02#i_12593703
09:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/85cdb9ea2a
09:55 dalek rakudo/nom: affe025 | lizmat++ | src/core/CompUnit/Repository/FileSystem.pm:
09:55 dalek rakudo/nom: Merge pull request #778 from ugexe/patch-6
09:55 dalek rakudo/nom:
09:55 dalek rakudo/nom: Access packages in their CUR::FS $base
09:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/affe025dd6
10:03 nine joined #perl6-dev
10:04 camelia joined #perl6-dev
10:57 dalek rakudo/nom: de5db8c | lizmat++ | src/core/List.pm:
10:57 dalek rakudo/nom: An empty infix:<,> only needs a List object itself
10:57 dalek rakudo/nom:
10:57 dalek rakudo/nom: Won't even allocate a $!reified now when iterating, as it will fall
10:57 dalek rakudo/nom: back to the EmptyIterator now
10:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de5db8cfe6
10:57 dalek rakudo/nom: 03a403a | lizmat++ | src/core/List.pm:
10:58 dalek rakudo/nom: Streamline List.Capture
10:58 dalek rakudo/nom:
10:58 dalek rakudo/nom: Also, fixes problem introduced recently.  Basically, only create
10:58 dalek rakudo/nom: a full-fledged Capture if there is any data to put in the Capture.
10:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/03a403a51e
10:58 ilmari joined #perl6-dev
11:42 dalek rakudo/nom: 3bd9fd6 | lizmat++ | src/core/Rakudo/Internals.pm:
11:42 dalek rakudo/nom: Give the EmptyIterator a sink-all just in case
11:42 dalek rakudo/nom:
11:42 dalek rakudo/nom: Haven't been able to make it run yet, but it seems correct to have
11:42 dalek rakudo/nom: it anyway.
11:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3bd9fd68fd
11:42 dalek rakudo/nom: e403c1b | lizmat++ | src/core/List.pm:
11:42 dalek rakudo/nom: Make List.FLATTENABLE_LIST a bit cheaper
11:42 dalek rakudo/nom:
11:42 dalek rakudo/nom: If there's a $!todo, there will be a $!reified created anyway, so
11:42 dalek rakudo/nom: no need to check for $!reified.DEFINITE then.  Also part of the effort
11:42 dalek rakudo/nom: to get rid of !ensure-allocated.
11:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e403c1be61
12:01 dalek rakudo/nom: dfbf1ec | (Daniel Green)++ | src/core/List.pm:
12:01 dalek rakudo/nom: Somw whitespace/legibility changes
12:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dfbf1ec19c
12:26 |Tux| lizmat++
12:26 |Tux| This is Rakudo version 2016.05-49-ge403c1b built on MoarVM version 2016.05-18-g1339332
12:26 |Tux| test            19.013
12:26 |Tux| test-t          11.979
12:26 |Tux| csv-parser      34.152
12:30 dalek rakudo/nom: b2f8ba9 | lizmat++ | src/core/List.pm:
12:30 dalek rakudo/nom: Make List.join on empty lists 2x as fast
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: And half the number of allocations.  Basically doesn't initialize
12:30 dalek rakudo/nom: $!reified if it is not needed.
12:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2f8ba9084
12:31 lizmat afk for a few hours &
13:15 patrickz joined #perl6-dev
13:22 skids joined #perl6-dev
14:01 ugexe so what exactly is the difference between `sub foo() { 1; }` and `sub foo() { $ = 1; }`?
14:03 ugexe months ago i would have to use the later on windows if they were called from a lazy loop, otherwise it would just instantly iterate the entire list without making the appropriate calls
14:05 geekosaur the former can be optimized away since it's a compile time constant? (I don't know if that happens) the latter has a pointless assignment but that could well defeat optimization
14:05 jnthn If those cause some different behavior then it's likely an optimizer bug or something, yes
14:08 ugexe and now they manage to cause that 'Cannot assign to immutable' under certain circumstances. is that probably a bug as well? since i cant golf it down im assuming its some edge case bug
14:09 geekosaur the other possibility is that one or both gets JITted wrong, but tracking that would be "fun"
16:18 [Coke] we should start a "what needs to happen to bump the spec version" document with practical considerations on jnthn++'s earlier post-christmas suggestions.
16:19 [Coke] like "what should roast's 6.d-errata branch look like, in comparison to 6.c-errata (which was a rushed snapshot) and how do we get there?"
16:25 jnthn ugexe: You can try MVM_SPESH_DISABLE=1 in the environment to rule out that sort of optimization bug, fwiw
16:26 jnthn [Coke]: I'm guessing a 6.c.1 is on the cards sooner than a 6.d, but yes :)
16:33 [Coke] jnthn: right, same discussion. ... except we can probably cut a few corners on a 6.c.1 in terms of roast.
16:33 [Coke] but I'd really like to hash out what roast should really look like sooner than later, so maybe we do make that a precondition of cutting a new spec, even a .1
16:34 jnthn Well, I suspect we'll converge on doing it in a way we're happy with over a few releases, but yes, no reason not to start off in that direction in .1 :)
16:38 jnthn Also to figure out soon is adding a CORE.d.setting or so; I think nine++ may have had a branch somewhere doing that
16:41 [Coke] jnthn: we'll also need a 6.c.1 setting, neh?
16:42 jnthn [Coke]: Only if we have anything new
16:42 [Coke] (but we could totally add an experimental 6.d first)
16:42 jnthn I don't know we added any new subs?
16:42 jnthn Or new types?
16:42 [Coke] jnthn: if we don't have anything new, we don't need a .1, neh?
16:42 jnthn We have a lot of fixes, which have test coverage
16:43 jnthn And so are things you can rely on in 6.c.1
16:43 jnthn (But not in a plain 6.c)
16:43 jnthn The doc I wrote up back in Jan (or was it Feb...) noted that only certain kinds of change triggered the need for a new setting.
16:44 nine jnthn: yes there's a branch for language versioning
16:47 jnthn We'll want a 6.d.a at some point sorta-soonish when I change the behavior of await :)
17:03 sortiz joined #perl6-dev
17:09 jdv79 wasn't await changed not that long ago already?
17:15 timotimo hm, how so?
17:25 jdv79 as part of the async cleanup pre-xmas i think
17:25 timotimo ah. well, whatever is pre-christmas doesn't impact the roast letter uppage :)
17:26 timotimo jnthn: is it silly to assume people would want to use await inside callbacks that have passed through C? should we have automatic detection for "are we in a sub-runloop" and not try to do continuation magic with await in that case?
17:34 sexy-coder-girl joined #perl6-dev
18:02 sexy-coder-girl joined #perl6-dev
18:11 sexy-coder-girl quit
18:13 sexy-coder-girl joined #perl6-dev
18:13 dalek joined #perl6-dev
18:14 timotimo sexy-coder-girl: yo zoffix, you know there's a newer weechat version than that? :)
18:14 sexy-coder-girl timotimo: that's what I got in the Debian repo
18:30 jnthn jdv79: No, await stayed about the same I think. It was supplies that got a big design cleanup.
18:30 jnthn timotimo: I suspect we can do something smart scheduler wise about native callbacks
18:31 timotimo yeah, i thought the vm could just set a dynamic variable, but we could also have an op for "are we in a sub-runloop"
20:02 jdv79 ok
20:03 jnthn I suspect I'll get to the await stuff during the summer... Seems I'm doing a stint of "omg, where do all the CPU cycles go to" at the moment :)
20:05 jdv79 nice.  sounds tedious but fun when wins are gotten.
20:07 jnthn Well, getting the raw data isn't especially tedious thanks to the nice tools in the valgrind suite.
20:08 jnthn Some of the debugging when improvements have unexpected consequences can be :)
20:09 jnthn Though it's a lot less tedious than last month's focus on GC/concurrency torture testing.
20:09 jnthn And fixing things that shook out.
20:10 jnthn I suspect the await stuff won't be too bad, though I'm ready for something I hadn't thought of to smack me in the face when I start taking continuations on one thread and then invoking them on another... :)
20:27 raydiak joined #perl6-dev
20:33 mst callbacks that have passed through C are always interesting
21:36 patrickz joined #perl6-dev
22:02 dalek rakudo/nom: 0cc70dc | lizmat++ | src/core/List.pm:
22:02 dalek rakudo/nom: A literal '' is better
22:02 dalek rakudo/nom:
22:02 dalek rakudo/nom: Not sure what I was thinking when I introduced the native str.  This
22:02 dalek rakudo/nom: removes one allocation per call to .join.
22:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0cc70dcd34
22:06 dalek rakudo/nom: 56cc3ae | lizmat++ | src/core/List.pm:
22:06 dalek rakudo/nom: Streamline List.is-lazy, about 30% faster
22:06 dalek rakudo/nom:
22:06 dalek rakudo/nom: Step one of more streamlining with regards to reify-until-lazy /
22:06 dalek rakudo/nom: fully-refied.
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/56cc3ae1c3
22:18 dalek rakudo/nom: 48fe6ae | lizmat++ | src/core/Array.pm:
22:18 dalek rakudo/nom: Streamline Array.is-lazy in the same manner
22:18 dalek rakudo/nom:
22:18 dalek rakudo/nom: We should probably not have a separate Array.is-lazy.  But that's
22:18 dalek rakudo/nom: for another day.
22:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48fe6ae887
22:18 lizmat good night, #perl6-dev
22:19 Zoffix night
22:28 skids joined #perl6-dev
23:15 Zoffix joined #perl6-dev

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