Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-10-30

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

All times shown according to UTC.

Time Nick Message
00:02 lizmat jnthn: the problem is that $lhs_ast is not a QAST::Var in the case of "my $foo is Bar"
00:03 lizmat I guess we need to probe deeper into $lhs_ast to find the var and *then* get the sigil
00:05 jnthn Ah, hmm
00:05 jnthn Interesting
00:05 jnthn Sleep time for me, alas
00:05 jnthn But it should be possible to get it to work. Actually, if we do, we might generate better code for a bunch of cases
00:05 lizmat good night!
00:06 jnthn In that if it doesn't know the sigil it generates more general code
00:06 jnthn 'night
00:20 * lizmat also calls it a night
01:40 Zoffix First victim of .subst $/ fix: HTTP::Parser dies with "[4] Cannot assign to a readonly variable ($/)"
01:40 Zoffix Nobody upgrade geth :P
01:41 Zoffix ohhh. and it's actually using $/ in substr, so its code was busted in the past
01:43 Zoffix ohhh. and it's actually using $/ in substr, so its code was busted in the past
01:43 Zoffix oops
01:44 Zoffix Ah nah, not busted 'cause they used -> $/ as param
01:46 Zoffix Fix: https://github.com/tokuhirom/p6-HTTP-Parser/pull/7/files
02:16 wander joined #perl6-dev
02:30 Zoffix Feeling early signs of a burn out, so I'm gonna try to disappear for a week and chill
02:30 * Zoffix &
02:56 ilbot3 joined #perl6-dev
02:56 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
04:25 evalable6 joined #perl6-dev
06:56 lniccqxtuk joined #perl6-dev
07:16 evalable6 joined #perl6-dev
07:44 [Tux] Rakudo version 2017.10-4-g4fca94743 - MoarVM version 2017.10-1-g213fc774
07:44 [Tux] csv-test-xs-20      0.433 -  0.480
07:44 [Tux] csv-ip5xs           1.189 -  1.223
07:44 [Tux] test-t              3.154 -  3.329
07:44 [Tux] test               11.733 - 11.752
07:44 [Tux] csv-parser         11.968 - 12.479
07:44 [Tux] csv-ip5xs-20       14.069 - 14.223
07:44 [Tux] test-t-20 --race   19.943 - 21.598
07:44 [Tux] test-t-20          58.327 - 59.796
08:11 Geth ¦ nqp: 626ea02068 | (Stefan Seifert)++ | tools/build/MOAR_REVISION
08:11 Geth ¦ nqp: Bump MoarVM for NativeCall fix
08:11 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/626ea02068
08:11 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.10-26-gad2d6fb...2017.10-29-g116c7a133
08:14 Geth ¦ rakudo: 948af00b59 | (Stefan Seifert)++ | 2 files
08:14 Geth ¦ rakudo: Pass type objects to the VM for arguments of native functions
08:14 Geth ¦ rakudo:
08:14 Geth ¦ rakudo: The VM may need this information for making decisions about how to build a
08:14 Geth ¦ rakudo: native call site, e.g. if it's possible to create JIT compiled code or
08:14 Geth ¦ rakudo: whether it needs to refresh a CArray's elements after a call.
08:14 Geth ¦ rakudo: Fixes GH #1220
08:14 synopsebot RAKUDO#1220 [open]: https://github.com/rakudo/rakudo/issues/1220 [regression] Regression since 2017.10 breaks IO::Socket::Async::SSL tests
08:14 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/948af00b59
08:18 nine [Tux]: that rakudo version is quite a bit behind. We're now at 2017.10-40-g948af00b5
08:19 * [Tux] <headdesk />'s (forgot to move from nom to master
08:36 Ven joined #perl6-dev
08:40 [Tux] module FAIL: Data::Dump:ver<0.0.5>
08:45 nine -win 16
08:53 [Tux] Rakudo version 2017.10-40-g948af00b5 - MoarVM version 2017.10-29-g116c7a13
08:53 [Tux] csv-test-xs-20      0.436 -  0.443
08:53 [Tux] csv-ip5xs           1.116 -  1.119
08:53 [Tux] test-t              3.230 -  3.243
08:53 [Tux] test               12.031 - 12.163
08:53 [Tux] csv-parser         12.219 - 12.333
08:53 [Tux] csv-ip5xs-20       12.749 - 13.069
08:53 [Tux] test-t-20 --race   20.508 - 20.530
08:53 [Tux] test-t-20          58.999 - 59.149
09:13 lizmat Files=1229, Tests=75779, 318 wallclock secs (14.68 usr  5.33 sys + 2181.52 cusr 215.15 csys = 2416.68 CPU)
09:23 lizmat joined #perl6-dev
09:25 lizmat good *, #perl6-dev!
09:26 lizmat .tell jnthn re .STORE, rather than sending a named :initialize to .STORE, why not invoke it with a type object on initialization, and bind the result to the var?
09:26 yoleaux lizmat: I'll pass your message to jnthn.
09:26 lizmat .tell jnthn that way, we could use MMD to handle the different cases
09:26 yoleaux lizmat: I'll pass your message to jnthn.
09:33 jnthn m: class C { multi method m() { say "later" }; multi method m(:$initial!) { say "first" } }; given C.new { .m(:initial); .m }
09:33 camelia rakudo-moar 948af00b5: OUTPUT: «first␤later␤»
09:33 yoleaux 09:26Z <lizmat> jnthn: re .STORE, rather than sending a named :initialize to .STORE, why not invoke it with a type object on initialization, and bind the result to the var?
09:33 yoleaux 09:26Z <lizmat> jnthn: that way, we could use MMD to handle the different cases
09:34 jnthn Already *can* use MMD to do that :)
09:34 lizmat true
09:34 jnthn The multi cache has been able to handle things with named args for a while now
09:35 lizmat sorry, not awake enough yet  :-)
09:36 lizmat the problem is really that .STORE is being called from the result of Type.new
09:36 lizmat in the case of Set, that would be Set.new
09:36 lizmat but that is the empty Set, that is immutable
09:37 lizmat so by the time Set.STORE is called, it is handed an object it's not allowed to change
09:37 lizmat now, you could argue that Set.new could create a new instantiated Set object all of the time
09:37 lizmat but that felt wasteful to me  :-)
09:38 jnthn It's not an optimization if it makes things wrong.
09:38 lizmat so I was thinking, why not combine the useful with the efficient thing to do
09:38 jnthn 'cus STORE magically making an instance too sounds like awful design
09:40 lizmat well, then maybe we should call the method CREATE-AND-STORE when we call it for initialization
09:40 lizmat with a Mu.CREATE-AND-STORE() { nqp::create(self).STORE } for compatibility
09:41 jnthn And all this just to make Set.new return (perhaps surprisingly) a singleton, when we already have an empty set term that does precisely that?
09:41 lizmat Set.new returns the empty set term
09:41 lizmat that's the point
09:43 jnthn Yes, I'm saying why do that when we already have a term for the interned thing
09:44 evalable6 joined #perl6-dev
09:44 lizmat the codegen of "my %h is Set" does a Set.new underneath, to call .STORE on
09:44 lizmat and Set.new returns the empty set()
09:45 jnthn Yes, and I'm saying it should not!
09:46 lizmat I'm not convinced it should not  :-)
09:46 lizmat not just to make my %h is Set work
09:46 lizmat is there a deeper reason for you to have Set.new not return the set() singleton ?
09:48 jnthn It's a bit surprising for .new to not make something new.
09:48 lizmat well, if the new is just like the old, why have a new ?
09:49 lizmat I mean, it makes checking for the empty set so much faster (nqp::eqaddr)
09:49 jnthn OK, then let's make this simpler: no STORE in Set. Only SetHash.
09:49 jnthn Done.
09:49 jnthn Time for $other-job.
09:52 Geth ¦ rakudo: 6ac2b15cfa | (Elizabeth Mattijsen)++ | 2 files
09:52 Geth ¦ rakudo: Revert "Make 'my %h is Set(|Hash) = ...;' DWIM"
09:52 Geth ¦ rakudo:
09:52 Geth ¦ rakudo: This reverts commit 1949a2bc13085f05c21f4a6b627d2f435f76182a.
09:52 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/6ac2b15cfa
10:01 robertle joined #perl6-dev
10:20 lizmat jnthn: re Set.new() returning a new empty Set rather than set(), we have a spectest since May 2017 testing for it returning set(): I assume you also want that changed then
10:29 jnthn lizmat: Yes, that's certainly since 6.c, so easy to loosen up
10:32 lizmat m: dd Mix.new =:= mix(); dd Bag.new =:= bag()   # rince and repeat for Mix and Bag I assume ?
10:32 camelia rakudo-moar 6ac2b15cf: OUTPUT: «Bool::True␤Bool::True␤»
10:32 lizmat m: use nqp; my $a = 42; my $b = 42; dd nqp::eqaddr(nqp::decont($a),nqp::decont($b))   # but this is not unexpected
10:32 camelia rakudo-moar 6ac2b15cf: OUTPUT: «1␤»
10:33 lizmat anyways, /me revs up the chainsaw
10:33 AlexDaniel squashable6: next
10:33 squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 3 days and ≈23 hours (2017-11-04 UTC-12⌁UTC+14). See https://github.com/rakudo/rakudo/wiki/Monthly-Bug-Squash-Day
10:38 jnthn m: use nqp; say nqp::eqaddr(Int.new(5), Int.new(5)) # :)
10:38 camelia rakudo-moar 6ac2b15cf: OUTPUT: «0␤»
10:38 jnthn lizmat: ^^ is the equivalent thing though, and we get it right there
10:47 evalable6 joined #perl6-dev
10:49 lizmat m: dd bag().Set =:= set()    # jnthn, is that ok, or should that also be a Set.new ?
10:49 camelia rakudo-moar 6ac2b15cf: OUTPUT: «Bool::True␤»
10:56 jnthn lizmat: That's probably OK
10:57 lizmat so you're only concerned by Set.new(), Bag.new() and Mix.new() ?
10:58 jnthn Yes; note that those are also precisely the ones that we'd need to fix for the my %h is Set = ...; to work, which - despite my grumpiness - I'd kinda like to, in that it makes working with immutable Sets a bit nicer.
10:59 lizmat ok
10:59 * lizmat revs down the chainsaw a bit
11:47 Geth ¦ rakudo: aab2b98305 | (Elizabeth Mattijsen)++ | 8 files
11:47 Geth ¦ rakudo: Set|Bag|Mix.new() no longer return set()|bag()|mix()
11:47 Geth ¦ rakudo:
11:47 Geth ¦ rakudo: - to pave the way for making "my %h is Set|Bag|Mix" work
11:47 Geth ¦ rakudo: - Set|Bag|Mix.new() returning sentinels not considered worthwhile having
11:47 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/aab2b98305
11:48 Geth ¦ roast: cbfc93971f | (Elizabeth Mattijsen)++ | 3 files
11:48 Geth ¦ roast: Adapt tests to new Set|Bag|Mix.new() behaviour
11:48 Geth ¦ roast:
11:48 Geth ¦ roast: As implemented in aab2b98305f04ec7
11:48 Geth ¦ roast: review: https://github.com/perl6/roast/commit/cbfc93971f
11:59 tbrowder lizmat: any pointers to debugging nqp other than jnthn’s course?
12:00 lizmat MIUAYGA ?
12:00 lizmat Make It Up As You Go Along :-)
12:00 tbrowder and zoffix’s blog...
12:03 tbrowder funny! but seriously, other than the zoffix info, is there an “easy” way to find the source of a “===SORRY!===“?
12:04 tbrowder i’m getting close with print statements but...
12:04 lizmat --ll-exception
12:04 lizmat ?
12:05 tbrowder ok, i haven’t tried that in awhile and forget about it, thnx
12:42 scovit joined #perl6-dev
12:52 perlpilot joined #perl6-dev
12:55 MasterDuke joined #perl6-dev
12:57 dogbert2 Zoffix: RaR suggestion for you, https://www.youtube.com/watch?v=iDT7Jbg_4zU
12:58 MasterDuke re my question from yesterday about changing proto bodies from `{*}` to `{ * }`, here's a diff of what i've done https://gist.github.com/MasterDuke17/1412aae89483c0456d7127df9ca7e428
12:59 MasterDuke hopefully a fresh pair of eyes can spot a trivial error
12:59 perlpilot MasterDuke: why are proto bodies changing to "{ * }" ?
13:00 MasterDuke just to normalize with how most of them a written. there are about 630 written as `{ * }` now, i just thought it might be nice to have them all consistent
13:01 perlpilot I thought that {*} was a token unto itself?
13:02 MasterDuke yeah, `proto token foo {*}` is different, changing them does something different
13:03 dogbert2 lizmat: does 1202 still SEGV for you?
13:04 lizmat not segv, but MoarVM panic: Heap corruption detected: pointer 0x11225cea0 to past fromspace
13:06 dogbert2 have you tried running it in gdb with a breakpoint. I can't get it to SEGV or panic, it only hangs form me
13:07 * lizmat haz no gdb on MacOS  :-(
13:09 jnthn Ain't it lldb or something there?
13:09 lizmat jnthn++
13:10 jnthn Don't ask me how to use it though ;)
13:10 jnthn Though I think in the next month or so I'll see if I've budget to get my office a biscuit tin
13:10 jnthn Uh, mac mini :)
13:11 * dogbert2 wonders what can cause the code to hang after writing 'Created initial affinity worker thread'
13:16 * dogbert2 tries asan again
13:20 AlexDaniel this looks about right? https://gist.github.com/AlexDaniel/5c4030253c6b90cf4b1ce2ddd6860323
13:22 AlexDaniel .tell lizmat https://gist.github.com/AlexDaniel/5c4030253c6b90cf4b1ce2ddd6860323
13:22 yoleaux AlexDaniel: I'll pass your message to lizmat.
13:23 Geth ¦ rakudo: b6a4d5b555 | (Elizabeth Mattijsen)++ | 7 files
13:23 Geth ¦ rakudo: Make 'my %h is Set = ...' DWIM
13:23 Geth ¦ rakudo:
13:23 Geth ¦ rakudo: - also for SetHash, Bag, BagHash, Mix, MixHash
13:23 Geth ¦ rakudo: - by implementing .STORE for all QuantHash types
13:23 Geth ¦ rakudo: - .STORE is now also sent a :$initialize flag which is True for initialization
13:23 Geth ¦ rakudo:   - True for: my %h is Set = ...;
13:23 Geth ¦ rakudo:   - not set for: %h = ...;
13:23 Geth ¦ rakudo: - throws X::Assignment::RO when trying to change Set|Bag|Mix
13:23 Geth ¦ rakudo:   - as in: %h = ...;
13:23 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/b6a4d5b555
13:23 lizmat .
13:23 yoleaux 13:22Z <AlexDaniel> lizmat: https://gist.github.com/AlexDaniel/5c4030253c6b90cf4b1ce2ddd6860323
13:25 lizmat AlexDaniel++
13:25 AlexDaniel eventually I'll put it into a bot so that you can generate it any time you want
13:25 lizmat AlexDaniel++  (again!)
13:27 lizmat m: say 42
13:27 camelia rakudo-moar aab2b9830: OUTPUT: «42␤»
13:34 lizmat m: say 42
13:34 camelia rakudo-moar b6a4d5b55: OUTPUT: «42␤»
13:35 lizmat m: my %d is SetHash = Date.today .. Date.new("2017-11-30"); %d .= grep: *.key.day-of-week > 5; dd %d   # this now works :-)
13:35 camelia rakudo-moar b6a4d5b55: OUTPUT: «SetHash.new(Date.new(2017,11,5),Date.new(2017,11,12),Date.new(2017,11,26),Date.new(2017,11,4),Date.new(2017,11,19),Date.new(2017,11,11),Date.new(2017,11,18),Date.new(2017,11,25))␤»
13:52 cognominal joined #perl6-dev
13:56 Geth ¦ rakudo: 497e0582e6 | (Elizabeth Mattijsen)++ | src/core/Exception.pm
13:56 Geth ¦ rakudo: Make X::Immutable::RO not show all of its gist
13:56 Geth ¦ rakudo:
13:56 Geth ¦ rakudo: If it gets too long.  It's just there for you to get a hint :-).
13:56 Geth ¦ rakudo: This fixes RT #132353
13:56 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/497e0582e6
13:56 synopsebot RT#132353 [new]: https://rt.perl.org/Ticket/Display.html?id=132353 [LTA] error with using meta assign ops with bound SetHash
14:02 lizmat jnthn: before I take on auto-generating BUILD_LEAST_DERIVED, do you have any idea whether we should include autogenerated methods in .^methods or not:
14:02 lizmat m: class A { has $.a = 42 }; dd A.^methods.map: *.name
14:02 camelia rakudo-moar b6a4d5b55: OUTPUT: «("a", "BUILDALL").Seq␤»
14:02 lizmat options I see:
14:03 lizmat - a and BUILDALL should *not* be returned, unless a ":autogenerated" is given as a parameter
14:03 lizmat - only a should be returned, as people expect that to happen, being autogenerated or not
14:04 lizmat - BUILDALL / BUILD_LEAST_DERIVED should never be returned if they are autogenerated
14:09 jnthn I think the "a" has to appear
14:09 jnthn It's too surprising for it not to
14:09 lizmat ok
14:09 jnthn I guess one could argue that the user *did* declare the method
14:09 lizmat ok
14:10 jnthn If we take `has $.a` as being both an attribute and a method declaration
14:10 lizmat yeah, sure
14:10 lizmat so, should I just check the name, or should I tack something onto the Method object: hidden-from-methods ?
14:11 lizmat if the latter, how do I do that in QAST  :-)
14:11 jnthn Maybe methods can get a .generated or .synthetic property
14:11 jnthn And we filter on that
14:11 lizmat just add an attribute to the Method object ?
14:11 jnthn Well maybe, though we might find there's a flags bitfield we can re-use
14:11 jnthn To keep the size down
14:12 jnthn The usual way to then write these things up is to write a trait_mod candidate for is generated or so
14:12 jnthn That tweaks the flag
14:12 jnthn And then just find/invoke it
14:13 jnthn iirc, there's code in routine_def's action method doing exactly that for some other property related to wrapping
14:17 travis-ci joined #perl6-dev
14:17 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make 'my %h is Set = ...' DWIM
14:17 travis-ci https://travis-ci.org/rakudo/rakudo/builds/294853229 https://github.com/rakudo/rakudo/compare/aab2b98305f0...b6a4d5b55552
14:17 buggable [travis build above] ✓ All failures are due to: GitHub connectivity (1 failure).
14:17 travis-ci left #perl6-dev
14:33 bartolin joined #perl6-dev
14:56 MasterDuke i really don't understand why this is happening: https://github.com/rakudo/rakudo/blob/master/src/core/Version.pm#L42: `my str $s = nqp::atpos($strings,$i);`
14:56 MasterDuke after my patch nqp::atpos($strings,$i) is a Whatever
14:59 lizmat that feels...  weird ?
15:00 MasterDuke `elsif $s.comb(/:r '*' || \d+ || <.alpha>+/).eager -> @s { my $strings  := nqp::getattr(@s,List,'$!reified'); <...>; my str $s = nqp::atpos($strings,$i);` # how is this at all affected!?!?
15:19 Ven joined #perl6-dev
15:30 Geth ¦ roast: bd6c8f5df4 | (Elizabeth Mattijsen)++ | 3 files
15:30 Geth ¦ roast: Add some tests for 'my %h is Set|Bag|Mix = ...;'
15:30 Geth ¦ roast: review: https://github.com/perl6/roast/commit/bd6c8f5df4
15:37 MasterDuke narrowed it down to one of the changes in Str.pm...
15:43 Geth ¦ roast: d615e019d3 | (Elizabeth Mattijsen)++ | 3 files
15:43 Geth ¦ roast: Add some tests for 'my %h is SetHash|BagHash|MixHash = ...;'
15:43 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d615e019d3
15:49 MasterDuke it's this line https://github.com/rakudo/rakudo/blob/master/src/core/Str.pm#L950: `proto method match(|) { $/ := nqp::getlexcaller('$/'); {*} }` # changing that to `{ * }` breaks things
15:49 MasterDuke which seems wrong...
15:51 jnthn {*} is a special form
15:51 jnthn https://github.com/rakudo/rakudo/blob/master/src/Perl6/Grammar.nqp#L3518
15:51 jnthn Parsed as a single token
15:52 jnthn A { * } is just a normal bare block that evaluates to a Whatever
15:52 MasterDuke i've tried to trigger than .panic, but haven't been able to
15:52 jnthn m: sub foo { {*} }
15:52 camelia rakudo-moar 497e0582e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤{*} may only appear in proto␤at <tmp>:1␤------> 3sub foo { {*}7⏏5 }␤    expecting any of:␤        horizontal whitespace␤        term␤»
15:52 evalable6 joined #perl6-dev
15:52 jnthn m: proto sub foo { {*} }
15:52 camelia rakudo-moar 497e0582e: ( no output )
15:52 MasterDuke doh
15:53 MasterDuke i wasn't putting the other set of braces, no wonder i didn't get it
15:54 MasterDuke so `proto sub foo {*}` is the same as `proto sub foo { * }`, but `proto sub foo { {*} }` is *not* the same as `proto sub foo { { * } }`
15:54 ugexe m: proto sub foo(|) { { * } }; multi sub foo { }; say foo(1); # kinda odd
15:54 camelia rakudo-moar 497e0582e: OUTPUT: «*␤»
15:55 jnthn Yeah. If you're standardizing on anything, probably better to go without the whitespace
15:55 ugexe but i guess the {*} redispatches, which is why i dont get the error message I thought
15:55 MasterDuke well, there are about ~150 `{*}` now and ~630 `{ * }`
15:55 jnthn {*} is a "magic" token that means "do the next bit of the multi-dispatch here"
15:56 ugexe m: proto sub foo(|) { {*} }; multi sub foo { }; say foo(1); # was confused initially that this errored but the other did not
15:56 camelia rakudo-moar 497e0582e: OUTPUT: «Cannot resolve caller foo(Int); none of these signatures match:␤    ()␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
15:57 MasterDuke should i go the other way, turn the `{ * }`s into `{*}`s?
15:58 lizmat m: use Telemetry; snap for ^5; snap; .say for periods
15:58 camelia rakudo-moar 497e0582e: OUTPUT: «177 / 175␤16 / 14␤12 / 12␤11 / 10␤10 / 11␤»
15:58 lizmat documentation: https://gist.github.com/lizmat/9dfe921efe7762c55fba534dfdbcd68c
15:58 jnthn MasterDuke: I dunno. I'm the wrong person to ask. Such tiny discrepancies don't bother me in the slightest. :P
15:58 lizmat and https://gist.github.com/lizmat/e601e91c90e93858a8a1836b965ec770  </plug>
15:59 * lizmat hopes for feedback from jnthn masak timotimo moritz Zoffix AlexDaniel`
16:01 ugexe if you name it something.pod I think it'll show up as rendered
16:02 lizmat it didn't render well  :-(
16:02 ugexe yeah i notice pod always seems to render bigger than I want when github renders it (so I always write readmes in .md now)
16:03 lizmat well, I want to add this to the doc repo
16:03 MasterDuke anyone else care about `{*}` vs `{ * }`? should i bother?
16:03 lizmat but I guess that would only be appropriate if it can actually live in lib
16:04 lizmat MasterDuke: consistency is nice...  :-)
16:05 MasterDuke lizmat: care which direction to make the change? i.e., add spaces where possible, or remove all them?
16:06 lizmat well, as jnthn made clear, you can't remove the spaces always
16:06 lizmat so I would go for removing spaces, making the {*} more visible
16:06 lizmat you can't *add* spaces always  :-)
16:07 MasterDuke heh, was just going to ask which you meant...
16:07 MasterDuke ok, i'll give that a try
16:09 lizmat so how old was the "nom" branch anyway?
16:14 timotimo oh, how does the "cpus" value work
16:14 lizmat cpu / wallclock
16:15 timotimo isn't that the usage percentage?
16:15 lizmat if cpu is twice as large as wallclock, how many CPU's were in use on average in that period ?
16:16 [Coke] lizmat: http://rakudo.org/2011/09/09/nom-branch-default/
16:16 timotimo the docs don't say "on average" :)
16:16 jnthn 6 years of damn muscle memory
16:16 lizmat timotimo: noted
16:16 timotimo so i thought there's some magic trick that tells us how many different CPUs got threads from our program scheduled on it or something
16:16 [Coke] (that's not quite the right answer, since that's just when it was default)
16:17 lizmat April 2011 according to http://rakudo.org/2011/09/09/nom-branch-default/
16:17 [Coke] lizmat: ... I apparently didn't read the whole thing. :)
16:17 [Coke] seems older.
16:18 lizmat a lot of things have happened in the past 6.5 years  :-)
16:19 timotimo lizmat: i'm still confused, what's the difference between cpus and utilization?
16:19 lizmat cpus gives a factor
16:19 timotimo ah
16:19 timotimo so no need to * 100 to get percentage
16:19 lizmat utilization gives a percentage
16:20 lizmat up to 100% if all cpus were used in full for the given period
16:20 timotimo OK
16:29 Geth ¦ rakudo: ae1f0fdafc | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
16:29 Geth ¦ rakudo: Reset default @snaps as soon as we start periods
16:29 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/ae1f0fdafc
16:31 lizmat m: 42
16:31 camelia rakudo-moar 497e0582e: OUTPUT: «WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤»
16:37 cognominal joined #perl6-dev
16:42 Geth ¦ rakudo: MasterDuke17++ created pull request #1221: Normalize proto bodies
16:42 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1221
16:42 synopsebot RAKUDO#1221 [open]: https://github.com/rakudo/rakudo/pull/1221 Normalize proto bodies
16:54 Ven joined #perl6-dev
17:07 lizmat m: 42
17:07 camelia rakudo-moar ae1f0fdaf: OUTPUT: «WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤»
17:08 lizmat m: snap; Nil for ^10000000; snap; say periods[0].cpus
17:08 camelia rakudo-moar ae1f0fdaf: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤    periods used at line 1␤    snap used at line 1␤␤»
17:08 lizmat m: use Telemetry; snap; Nil for ^10000000; snap; say periods[0].cpus
17:08 camelia rakudo-moar ae1f0fdaf: OUTPUT: «1.0050972␤»
17:09 lizmat m: use Telemetry; snap; await start { Nil for ^10000000 } xx 4; snap; say periods[0].cpus
17:09 camelia rakudo-moar ae1f0fdaf: OUTPUT: «2.67922708␤»
17:09 lizmat interesting
17:09 lizmat dinner&
17:18 pmurias joined #perl6-dev
18:59 lizmat Zoffix: iBooks on my MBP doesn't seem to like https://temp.perl6.party/pub/2017/PSix-Docs-Oct-30-2017.epub : "This book is corrupt"
19:00 lizmat just an FYI
19:00 Zoffix vOv
19:00 Zoffix m: await ^60 .map: { start sleep ⅓ }
19:00 camelia rakudo-moar ae1f0fdaf: OUTPUT: «MoarVM panic: Could not spawn thread: errorcode -11␤»
19:12 stmuk lizmat: I've some "blurb" about R* which could go in to the weekly if you want
19:12 yoleaux 28 Oct 2017 07:32Z <piojo_> stmuk: When I was talking about archlinux support for rakudo star, I was really talking about DESTDIR support. That's all that's needed for us to be able to make packages, both third party and official.
19:12 lizmat stmuk: yes please!
19:12 stmuk OK I can gist it in a few mins
19:12 lizmat cool, thanks1
19:13 lizmat !
19:17 MasterDuke joined #perl6-dev
19:18 MasterDuke anybody have any thoughts/comments/etc about https://github.com/MoarVM/MoarVM/pull/737 and https://github.com/rakudo/rakudo/pull/1217?
19:20 lizmat it has conflicts ?
19:22 MasterDuke not according to github?
19:22 MasterDuke the rakudo PR requires the moarvm and nqp PRs though
19:22 [Coke] "this branch has conflicts" (737)
19:23 MasterDuke oops, hadn't reloaded the moarvm PR tab
19:24 MasterDuke that'll be because nine++ added some new ops, i'll resolve that
19:28 MasterDuke updated
19:28 stmuk lizmat: https://gist.github.com/stmuk/65d15b8b487723ff1e53b8c42a1a0472
19:29 lizmat stmuk++
19:30 stmuk the TLDR is "no panda anymore" and experimental linux AppImage
19:37 lizmat stmuk: you're sure you want your email address in there?
19:37 stmuk err maybe not I did wonder
19:37 lizmat :-)
19:37 stmuk maybe "feedback on IRC" better
19:37 lizmat will do that
19:38 stmuk lizmat++
19:39 stmuk or https://github.com/rakudo/star/issues
20:22 Ven joined #perl6-dev
20:37 jnareb joined #perl6-dev
20:38 jnareb Hello. I have just read http://rakudo.org/2017/10/27/main-development-branch-renamed-from-nom-to-master/ (which unfortunately is on a 'blog' with no user comments)
20:39 jnareb So I thought to post comment(s) here
20:39 jnareb Is there a reason why 'nom' branch cannot be a symref to 'master'?
20:47 AlexDaniel joined #perl6-dev
20:51 timotimo oh, does github allow for that?
20:51 AlexDaniel it's not github, it's git that has to allow that
20:51 AlexDaniel and I don't think it does
20:52 AlexDaniel maybe something has changed over the years
20:53 AlexDaniel jnareb: you sure it is possible?
20:54 AlexDaniel and if yes, how?
21:00 Zoffix Looks like `git symbolic-ref refs/heads/nom refs/heads/master` per https://stackoverflow.com/questions/549920/is-it-possible-to-alias-a-branch-in-git/549949#549949
21:02 jnareb `git symbolic-ref -m "create symbolic ref to 'master'" refs/heads/nom refs/heads/master`
21:02 jnareb it's low-level command, so there are no user-friendly shortcuts
21:02 jnareb `git branch` would show it as "nom -> master"
21:03 jnareb the "-m <reason for reflog>" is optional
21:04 jnareb though the problem is/might be that it doesn't survive fetching (yet)
21:05 jnareb I think that refs/remotes/origin/HEAD is a special case, created on client side
21:05 jnareb so it would be a command to use by the person cloning the repository, after cloning it
21:07 AlexDaniel that sounds more painful than continuing to use “nom” :)
21:08 AlexDaniel currently the only “issue” is that people who were using nom will have whatever there is in nom currently, which is 2017.10 release (almost)
21:09 lizmat feels a bit like mustard after a meal to me
21:10 lizmat as in: we've bitten the bullet of the change already, why make it more complicated now?
21:10 * [Coke] googles that phrase.
21:10 [Coke] huh. lizmat++
21:11 AlexDaniel lizmat: well the question still remains: was there any better way to do it?
21:11 jnthn AlexDaniel: Leave it alone?
21:11 jnthn But nooo, nobody here can leave names of things alone :P :P
21:11 timotimo heh heh
21:11 timotimo hey jnthn how are you? :)
21:11 AlexDaniel leave what alone? It's already “master”
21:12 jnthn timotimo: Seems I'm slowly getting rid of my obligatory autumn cold...
21:12 lizmat and it's already part of the title of this P6W :-)
21:12 timotimo my roommate just got hers and it's really bad in her case :(
21:12 timotimo she got it the day i left to visit my parents
21:12 jnthn AlexDaniel: My point was we didn't have to do this at all :)
21:13 Zoffix dogbert2: thanks, but that Wolfenstein release looks to have terrible reviews on Steam. Also, I didn't quite enjoy the mood of The New Order; I like games where you take a nice breather from battles (e.g. Far Cry 3/4)
21:13 jnthn AlexDaniel: But now we have...so.
21:13 * AlexDaniel facepalms
21:14 jnthn timotimo: Mine has been thankfully mild...so far.
21:14 timotimo glad to hear it
21:14 timotimo i might have been able to sidestep it :)
21:14 jnareb actually it is not fetched as a symref, but it doesn't matter, because when fetching client would advance both 'master' and 'nom', and they would point to the same commit
21:14 jnareb which I have just checked
21:14 AlexDaniel six years of pain and one hour to fix it. Goddamit why do we have to go through this naysaying every time.
21:14 jnareb just I am not sure if you can actually create symbolic ref on GitHub...
21:16 jnareb well, the true source needs to have symref, that is the repository from which is pushed to GitHub
21:16 timotimo haha, "true source"? :)
21:16 Zoffix AlexDaniel: change is scary and people don't like things that are different. Mr. Plinket gets it right
21:16 jnareb everyone else would magically get 'nom' and 'master' pointing to the same commit
21:16 timotimo so everybody who pushes to github regularly has to set it up locally and that'll cause nom and master to get the same commits pushed at the same time whenever you push to either of them?
21:16 Zoffix AlexDaniel: https://www.youtube.com/watch?v=FxKtZmQgxrI&amp;list=PL5919C8DE6F720A2D
21:17 jnareb well, 'refs/remotes/origin/master' and 'refs/remotes/origin/nom'
21:17 AlexDaniel Zoffix: and also “it works for me, I don't care about anybody else”, no video though :)
21:17 jnareb timotimo: Yup!
21:17 jnareb well, if you do 'push all'
21:18 Zoffix I rather we go through the grace period and then pop that blocking message back in on nom rather than aliasing nom and master and having things that shouldn't work work forever.
21:18 jnareb if you push only single branch, it wouldn't
21:18 timotimo that's not terribly much win all in all
21:18 jnareb but when you push 'nom', it would be the same as 'master'
21:18 timotimo that's useful if you accidentally push to nom
21:19 AlexDaniel we already have pushes to nom blocked
21:19 AlexDaniel a little bit
21:20 jnareb Well, either 'push all', or have configured `push.default` to `matching` (`git config push.default matching`)
21:21 AlexDaniel jnareb: that's very interesting, thanks :)
21:21 jnareb Which is configuration that maintainer (the person pushing to GitHub repo) should use anyway, in my opinion
21:22 [Coke] I am happy with pushes to nom blocked and no magic.
21:22 jnthn If our goal is to ween people off using nom, then it's probably best to leave it frozen.
21:22 jnareb AlexDaniel: blocking pushes to 'nom' is also a good solution
21:22 jnthn And eventually eliminate it
21:23 jnareb though 'nom' as symref could be a good interim solution, until everyone updates their clients / scripts / buildenv / behavior / ...
21:23 jnareb well, could have been
21:24 [Coke] has anyone else come and complained?
21:25 Zoffix Did anyone complain at all? :)
21:25 AlexDaniel Well, maybe a little bit. Tux was benching nom for some time before finally realizing :)
21:25 Zoffix Pushes to nom are currently blocked already. Need to have a PR that another reviewer approves first or something.
21:25 AlexDaniel there are things like that, but nobody really complained
21:26 Zoffix Tux would realize instantly if the blocking message was in place :P
21:26 AlexDaniel :)
21:26 jnareb just my €0.03
21:26 jnareb bye
21:26 Zoffix jnareb: thanks.
21:27 * Zoffix looks up the sub-currency of euro
21:27 Zoffix oh, they're called cents too
21:28 AlexDaniel that's about 0.00001 BTC :)
21:28 Zoffix :)
21:36 AlexDaniel jnareb had a good point that there was a *different* (not necessarily better) way to do it. That's great and I loved that piece of information. Why did we have to make them feel unwelcome is beyond me.
21:37 AlexDaniel maybe I misunderstood something
21:47 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/10/30/2017-44-nom-mastered/
21:51 jnthn lizmat++
21:52 Zoffix AlexDaniel: which part made them feel unwelcome?
21:56 AlexDaniel lizmat: on code-golf.io you can't see the solutions and that seems to be an intended part of the game :)
21:56 AlexDaniel Zoffix: not sure
21:57 Zoffix lizmat++ good weekly
21:57 AlexDaniel lizmat++ yeah!
21:58 Zoffix AlexDaniel: to my eye, looked like that just used the web irc interface to deliver the 2 cents and then just went on their merry ways. No unwelcomness occured.
21:58 * Zoffix &
21:58 AlexDaniel okay then
22:00 AlexDaniel AH!
22:01 AlexDaniel hm no… nvm
22:01 * AlexDaniel will never understand how to print Pascal's triangle in 26 chars
22:24 Ven joined #perl6-dev
22:30 Geth ¦ rakudo: 0949217961 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm
22:30 Geth ¦ rakudo: Give threads a name
22:30 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/0949217961
22:34 ggoebel joined #perl6-dev
22:35 jnthn "Racey". "Blocky". "Dave".
22:39 timotimo "blinky", "inky", "pinky", "clyde"?
22:45 lizmat Huey, Dewey, Louie
22:46 lizmat http://www.jeffbots.com/silentrunning.html   # not the Disney ones  :-)
22:56 dogbert17 lizmat: for New Oject Model
22:57 lizmat dogbert17++  # fixed, good catch!
23:03 dogbert17 lizmat++ weekly. "which is what most git tools take as the default default" more nagging /o\
23:03 lizmat that was intentional
23:04 lizmat "master" is the default default branch
23:04 dogbert17 oh, I'm getting tired it seems :)
23:10 dogbert17 Files=1216, Tests=75199, 6251 wallclock secs (158.14 usr 14.48 sys + 20551.14 cusr 729.97 csys = 21453.73 CPU)   # guess what kind of computer
23:11 lizmat RPi ?
23:12 dogbert17 correct. RPi 2
23:12 lizmat cool
23:12 lizmat that's actually not too bad, I would think
23:12 dogbert17 it did rather well, only two tests crashed (BUS ERROR)
23:13 lizmat and that's actually with TEST_JOBS=4 ?
23:13 dogbert17 yep
23:14 dogbert17 eh no, I set it to 3 for some reason
23:14 dogbert17 both crashes were here:
23:14 dogbert17 Program received signal SIGBUS, Bus error.
23:14 dogbert17 get_num (tc=0x22610, st=0x50d18, root=0x7648a6d5, data=0x7648a6ed) at src/6model/reprs/P6num.c:62
23:14 Geth ¦ rakudo: bdc73563f4 | (Elizabeth Mattijsen)++ | src/core/List.pm
23:14 Geth ¦ rakudo: Fix for RT #131846
23:14 Geth ¦ rakudo:
23:14 Geth ¦ rakudo: Thanks perlawhirl++ for nudging
23:14 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/bdc73563f4
23:14 synopsebot RT#131846 [open]: https://rt.perl.org/Ticket/Display.html?id=131846 [BUG] [REGRESSION] not accepting Inf/Whatever as upper bound
23:15 dogbert17 in t/spec/S02-types/native.rakudo.moar and t/spec/S12-attributes/native.rakudo.moar
23:19 Geth ¦ roast: f66d8b05b4 | (Elizabeth Mattijsen)++ | S02-types/whatever.t
23:19 Geth ¦ roast: Unfudge now passing test
23:19 Geth ¦ roast: review: https://github.com/perl6/roast/commit/f66d8b05b4

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