Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-06-07

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

All times shown according to UTC.

Time Nick Message
00:00 lizmat joined #perl6-dev
00:03 MasterDuke joined #perl6-dev
00:41 lizmat joined #perl6-dev
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 | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
05:01 astj joined #perl6-dev
05:26 astj joined #perl6-dev
06:28 [Tux] This is Rakudo version 2017.05-363-gf974dcc63 built on MoarVM version 2017.05-59-gf17adad2
06:28 [Tux] csv-ip5xs        2.952
06:28 [Tux] test            12.954
06:28 [Tux] test-t           4.437 - 4.470
06:28 [Tux] csv-parser      13.458
06:55 awwaiid joined #perl6-dev
07:12 lizmat joined #perl6-dev
08:29 robertle joined #perl6-dev
08:44 [TuxCM] joined #perl6-dev
08:48 pmurias joined #perl6-dev
08:49 pmurias is my sub foo {...}; my sub bar {...}; &foo := &bar; planned to be allowed? we have it in a test file we don't run
08:51 masak pmurias: is the test file really really old?
08:52 masak pmurias: these days we statically reject calls to subs that "will never work" based on mismatched args/params, for example. seems like that'd be risky or hard in the face of rebinding.
08:56 pmurias I don't know how to get the git history from before a file rename
08:56 pmurias * know
08:56 pmurias masak: we could disable that if there is a rebinding
08:57 masak we could.
09:01 pmurias I'm not championing to have this super useful feature added, I just don't like old failing stuff in the test suite ;)
09:02 jnthn No, I don't think it's allowed.
09:04 masak I would be perfectly fine with saying it's not allowed
09:05 masak the static checking feels far more useful than the rebinding
09:05 jnthn Indeed
09:05 jnthn It'd also totally bust up inlining
09:06 jnthn Or at the very least force us to make the bind do a deopt
09:06 jnthn Which would end up making all binds more costly
09:06 jnthn And they ain't meant to be
09:06 jnthn So, outlawed for sure
09:09 pmurias jnthn: we could detect it at compile time if we are worried about the runtime penalty, but the feature itself doesn't seem very useful
09:09 pmurias mostly just confusing the code reader
09:10 jnthn If there's tests for it, feel free to toss them out :)
09:11 jnthn Given they'd be skip'd anyway
09:13 pmurias The test file also has foo() := 123
09:14 jnthn That's bonkers
09:14 pmurias with my sub foo is raw {my $var; $var}
09:14 jnthn hahaha
09:14 jnthn No.
09:14 jnthn Just no.
09:14 jnthn Is there anything actually valid in the test file? ;)
09:15 Geth ¦ roast: 06fb8a569f | pmurias++ | S03-binding/subs.t
09:15 Geth ¦ roast: Delete a test file that tests for stuff we don't plan on implementing, that's not run anyway
09:15 Geth ¦ roast: review: https://github.com/perl6/roast/commit/06fb8a569f
09:16 jnthn Guess that's my answer :)
09:16 jnthn pmurias++ # cleaning up
09:16 nine A use case that comes to mind would be mocking in tests. But we have much better tools for that than ye olde Perl 5 trick of replacing subs in packages...
09:39 AlexDaniel joined #perl6-dev
09:41 sivoais joined #perl6-dev
09:49 dogbert17 seems as if there's a new version of libuv out, https://github.com/libuv/libuv/blob/v1.x/ChangeLog
10:06 jnthn A notable change in there being "implement support for cygwin"
10:07 jnthn Which was the main blocker for getting MoarVM usable on cygwin also
10:08 jnthn So if there's anyone intersted in working on that, they should have a much easier time now.
10:28 cognominal joined #perl6-dev
10:41 astj joined #perl6-dev
11:24 Geth ¦ rakudo/nom: b838c7305e | (Elizabeth Mattijsen)++ | 4 files
11:24 Geth ¦ rakudo/nom: Rename R:Q.ADD-ITERATOR-TO-SET to ADD-PAIRS-TO-SET
11:24 Geth ¦ rakudo/nom:
11:24 Geth ¦ rakudo/nom: To keep naming consistency
11:24 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b838c7305e
11:41 lizmat sometimes I wish we could rename 'is-lazy' to 'is-open-ended'
11:42 lizmat because lazy evaluation doesn't have anything to do with a Seq being open-ended or not
11:43 lizmat s/Seq/Iterator/
11:47 nine There's now a devel:languages:perl6 Open Build Service project with updated rakudo packages and I'm one of the maintainers :) https://build.opensuse.org/project/show/devel:languages:perl6
11:47 nine This project is the upstream for rakudo packages in the openSUSE Tumbleweed distro
11:58 lizmat nine++
12:06 lizmat m: sub a(+@a) { say @a.iterator.is-lazy }; a(^Inf)   # seem to lose an is-lazy here somewhere
12:06 camelia rakudo-moar b838c7: OUTPUT: «False␤»
12:06 lizmat m: Set.new(^Inf)   # causes this to infiniloop
12:07 camelia rakudo-moar b838c7: OUTPUT: «(timeout)»
12:19 lizmat jnthn timotimo moritz ^^^  do you agree that is a bug ?
12:20 jnthn Well, Set.new(^Inf) is probably a case of "you got what you deserved" :P
12:20 jnthn But the .is-lazy getting list is odd
12:20 lizmat well, I want it to fail like:
12:20 lizmat m: ^Inf .elems
12:20 camelia rakudo-moar b838c7: ( no output )
12:20 lizmat m: say ^Inf .elems
12:20 camelia rakudo-moar b838c7: OUTPUT: «Inf␤»
12:20 lizmat hmmm
12:20 jnthn wat
12:21 lizmat yeah  :-)
12:21 jnthn *sigh*
12:21 jnthn No, elems should not return Inf :/
12:21 lizmat ok, will take care of that
12:21 jnthn Hopefully it's not roasted
12:21 eveo OOC why not?
12:21 jnthn But yeah, I think the .is-lazy should probably not be list on that case
12:22 jnthn eveo: Because the expectation of .elems is you're getting an Int back
12:22 eveo OK
12:22 jnthn And also
12:22 jnthn m: (1, 1 ... *).elems
12:22 camelia rakudo-moar b838c7: OUTPUT: «Cannot .elems a lazy list␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
12:22 jnthn We are doing this fairly consistently elsewhere
12:30 lizmat jnthn: OTOH, this sorta is the same discussion:
12:30 lizmat m: dd Int.Range.max
12:30 camelia rakudo-moar b838c7: OUTPUT: «Inf␤»
12:33 jnthn I don't mind that
12:33 jnthn And no, I don't consider it the same :)
12:34 jnthn I expect .elems to give back something I can use with * - 1 for example
12:34 jnthn In @foo[*-1]
12:35 lizmat ok, fair enough :-)
12:35 lizmat running spectest now on failing ^Inf .elems
12:36 lizmat yup, 3 fails  :-(
12:38 lizmat jnthn: all specifically testing for ^Inf .elems being Inf
12:38 jnthn grmbl
12:38 lizmat should I fix the tests and also in v6.c-errata ?
12:39 jnthn My feeling is yes...also are the tests all identical? :)
12:39 lizmat pretty much all like:
12:39 lizmat not ok 7 - -Inf..^Inf.elems is Inf
12:39 lizmat # Failed test '-Inf..^Inf.elems is Inf'
12:39 lizmat # at t/spec/S03-operators/range-basic.t line 17
12:39 lizmat # expected: 'Inf'
12:39 lizmat #      got: (Failure)
12:40 [Coke] +1 to fixing them.
12:40 jnthn Maybe covering different start points
12:41 lizmat yeah, also with starting point like -Inf
12:42 dogbert17 commit: 2015.06 sub d(::T Numeric $x, T $y)
12:42 committable6 dogbert17, ¦2015.06: «===SORRY!=== Error while compiling /tmp/IESJG2vocE␤Missing block␤at /tmp/IESJG2vocE:1␤------> sub d(::T Numeric $x, T $y)⏏<EOL>␤    expecting any of:␤        new name to be defined «exit code = 1»»
12:42 dogbert17 commit: 2015.11 sub d(::T Numeric $x, T $y)
12:42 committable6 dogbert17, ¦2015.11: «===SORRY!=== Error while compiling /tmp/6_4dWPRKnS␤Missing block␤at /tmp/6_4dWPRKnS:1␤------> sub d(::T Numeric $x, T $y)⏏<EOL>␤    expecting any of:␤        new name to be defined «exit code = 1»»
12:43 lizmat hmmm... why don't we have a 'fails-like'   ?
12:44 eveo We have in Test::Util
12:44 lizmat hmmm
12:45 eveo same usage as throws-like
12:45 eveo https://github.com/perl6/roast/blob/master/packages/Test/Util.pm#L536-L544
12:49 Geth ¦ roast: c168311e66 | (Elizabeth Mattijsen)++ | 2 files
12:49 Geth ¦ roast: Fix tests of ^Inf .elems returning Inf
12:49 Geth ¦ roast:
12:49 Geth ¦ roast: As discussed at https://irclog.perlgeek.de/perl6-dev/2017-06-07#i_14697876
12:49 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c168311e66
12:50 Geth ¦ rakudo/nom: 20310d7dcd | (Elizabeth Mattijsen)++ | src/core/Range.pm
12:50 Geth ¦ rakudo/nom: ^Inf .elems now fails instead of returning Inf
12:50 Geth ¦ rakudo/nom:
12:50 Geth ¦ rakudo/nom: See https://irclog.perlgeek.de/perl6-dev/2017-06-07#i_14697876
12:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/20310d7dcd
12:53 Geth ¦ roast/6.c-errata: 0bbe288ed5 | (Elizabeth Mattijsen)++ | 2 files
12:53 Geth ¦ roast/6.c-errata: Fix tests of ^Inf .elems returning Inf
12:53 Geth ¦ roast/6.c-errata:
12:53 Geth ¦ roast/6.c-errata: As discussed at https://irclog.perlgeek.de/perl6-dev/2017-06-07#i_14697876
12:53 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/0bbe288ed5
12:55 geekosaur joined #perl6-dev
13:10 lizmat m: say ^Inf .elems
13:10 camelia rakudo-moar b838c7: OUTPUT: «Inf␤»
13:10 lizmat hmmm
13:10 lizmat m:  (1, 1 ... *).elems
13:10 camelia rakudo-moar b838c7: OUTPUT: «Cannot .elems a lazy list␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:11 lizmat I'm about the remove the "Actually thrown" bit from this message *IF* it is the same as the original location
13:11 lizmat jnthn: anything against that ?  ^^^
13:17 eveo hm, http://modules.perl6.org/ lists 833 modules, but zef --list gives 901
13:17 eveo Wonder if it's CPAN modules that aren't available on m.p.o
13:19 jnthn lizmat: Hm, on the other hand it provides the valuable information that it was a lazily thrown failure, which we'd lose
13:19 eveo ah, just multiple versions
13:19 jnthn language lesson; bbl
13:24 Geth ¦ rakudo/nom: e538cbc546 | (Elizabeth Mattijsen)++ | src/core/Exception.pm
13:24 Geth ¦ rakudo/nom: Don't show "Actually thrown at:" info if duplicate
13:24 Geth ¦ rakudo/nom:
13:24 Geth ¦ rakudo/nom: This was bugging me for a while.  We'd lose the fact that it was a
13:24 Geth ¦ rakudo/nom: Failure that was thrown lazily, but *only* if it was thrown at the
13:24 Geth ¦ rakudo/nom: same location it was received.  And with this fix, testing one-liners
13:24 Geth ¦ rakudo/nom: gets a lot shorter if a Failure was involved.
13:24 Geth ¦ rakudo/nom:
13:24 Geth ¦ rakudo/nom: Breaks one spectest that can be fixed easily.  Please revert if
13:24 Geth ¦ rakudo/nom: considered too magical or for any other reason :-)
13:24 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e538cbc546
13:48 Geth ¦ rakudo/nom: dbd0f87a05 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
13:48 Geth ¦ rakudo/nom: Make sure failure shows the correct type
13:48 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dbd0f87a05
14:06 eveo m: say $*PERL.compiler.version.Str.subst: :2nd, :3rd, /'.'/, '-'
14:06 camelia rakudo-moar e538cb: OUTPUT: «2017.05.366-ge.538.cbc.54␤»
14:06 eveo If you don't know how this implemented, it kinda isn't wrong to expect that to be the same as :th(2, 3)
14:19 [Coke] m: say $*PERL.compiler.version.Str.subst: :2nd, :3nd, /'.'/, '-' # curious.
14:19 camelia rakudo-moar dbd0f8: OUTPUT: «2017.05.367-gdbd.0.f.87.a.0␤»
14:23 eveo ? it's the same innit?
14:29 * eveo is running the first full ecosystem toasting
14:30 eveo And I hope my toaster has a bug 'cause that's waaay too many failures for a 833-module ecosystem. Like 20% if I had to estimate based on amount of redness scrolling past
14:30 * lizmat wonders if we know eveo under a different zname
14:30 nine eveo: 20 % sounds about right when I recall my last emmentaler run
14:30 eveo ouch
14:31 eveo And occasionally I get this in output. Wonder what it's trying to do: "The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?"
14:32 [Coke] eveo: sorry, meant that *I* was curious, not that I knew the output and it was.
14:33 [Coke] was wondering if something cared about nd and rd being different keys.
14:35 Geth ¦ roast: 79b62cfce0 | (Elizabeth Mattijsen)++ | integration/error-reporting.t
14:35 Geth ¦ roast: Make thrown test a bit less picky
14:35 Geth ¦ roast: review: https://github.com/perl6/roast/commit/79b62cfce0
14:36 Geth ¦ roast/6.c-errata: a3e1ab4f78 | (Elizabeth Mattijsen)++ | integration/error-reporting.t
14:36 Geth ¦ roast/6.c-errata: Make thrown test a bit less picky
14:36 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/a3e1ab4f78
15:11 ggoebel joined #perl6-dev
15:30 eveo sqlite> select count(*) from toast where status = 'Succ';
15:30 eveo 701
15:30 eveo sqlite> select count(*) from toast where status = 'Fail' OR status = 'Kill';
15:30 eveo 128
15:30 eveo m: say 701+128;
15:30 camelia rakudo-moar dbd0f8: OUTPUT: «829␤»
15:30 eveo So 4 last modules didn't live long enough. Something hung and was asking me for my GH password
15:30 eveo m: say 128/701;
15:30 camelia rakudo-moar dbd0f8: OUTPUT: «0.182596␤»
15:30 eveo m: say 128/829;
15:30 camelia rakudo-moar dbd0f8: OUTPUT: «0.154403␤»
15:30 eveo 15% fails
15:31 * eveo toasts on 2017.05 release
15:37 eveo Ohhh... oops
15:37 timotimo 100% fails
15:38 eveo I guess we won't start properly toasting releases until AFTER this release :) My toaster depends on a very recent version of rakudo, 'cause it needs the Proc::Async.kill fix
15:38 eveo And I think one or two others.
15:38 eveo Well, I can take the 15% failures and manually check if they still fail on 2017.05
15:39 eveo Actually, no. I can teach it to build its own perl6 and use that for toasting, while itself running on newer rakudo
15:42 timotimo would it be enough to supply something different for $*EXECUTABLE and have two installed at the same time?
15:42 timotimo as in, you wouldn't have to teach toaster how to build a rakudo
15:44 eveo Yeah, I think temp %*ENV; %*ENV<PATH> = join ':', '/where/custom/perl6-is-at/', |$*SPEC.path; should do the trick
15:44 eveo before starting the proc that runs zef
15:49 eveo temp %*ENV; %*ENV<PATH> = "/where/custom/perl6-is-at/:$*ENV<PATH>"; # even
15:49 eveo Here's the sqlite3 db for the current HEAD toast results: https://temp.perl6.party/toast/toast-2017-06-07.sqlite.db
15:50 eveo gonna cook up a viewer eventually
15:50 * eveo &
15:55 cognominal if we have a slang FOO, is it possible to write <$~FOO.method-nm(...)> instead of <method-nm=.LANG('FOO', 'method-nm', ...)>
15:55 cognominal if not, why not ?
16:08 lizmat cognominal: no idea :-(
16:22 [TuxCM] joined #perl6-dev
16:34 AlexDaniel m: say byte.Range
16:34 camelia rakudo-moar dbd0f8: OUTPUT: «-Inf^..^Inf␤»
16:37 AlexDaniel isn't it kinda weird?
16:37 AlexDaniel this commit changed it: https://github.com/rakudo/rakudo/commit/b69aa55c5ca36d1df2f5c837df86a9daa50164dc
16:38 eveo It's just hitting the default: https://github.com/rakudo/rakudo/blob/nom/src/core/Int.pm#L191
16:38 AlexDaniel c: b69aa55c^,b69aa55c say byte.Range
16:38 committable6 AlexDaniel, ¦b69aa55c^: «-Inf..Inf» ¦b69aa55: «-Inf^..^Inf»
16:38 AlexDaniel ah, I see the “else” now
16:38 AlexDaniel ( !! :) )
16:39 AlexDaniel but doesn't it mean that “fail "Unknown integer type: {self.^name}";” is practically dead code?
16:39 eveo Yeah, was about to say
16:39 eveo The invocant has Int:U, so it'll always be at least Int
16:41 Geth ¦ rakudo/nom: 86c3d7aa1f | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
16:41 Geth ¦ rakudo/nom: Introducing R:Q.ADD-PAIRS-TO-BAG
16:41 Geth ¦ rakudo/nom:
16:41 Geth ¦ rakudo/nom: - abstract the logic of Baggy.new-from-pairs
16:41 Geth ¦ rakudo/nom: - throws immediately for illegal values
16:41 Geth ¦ rakudo/nom: - after attempting to coerce them to Int
16:41 Geth ¦ rakudo/nom: - awesomified some LTA erroring
16:41 Geth ¦ rakudo/nom: - no need for SANITY method anymore, or keeping whether we saw a Pair
16:41 Geth ¦ rakudo/nom: - alas, 7% slower than before :-(
16:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/86c3d7aa1f
16:41 Geth ¦ rakudo/nom: c9dfa840ee | (Elizabeth Mattijsen)++ | 2 files
16:41 Geth ¦ rakudo/nom: Use new R:Q.ADD-PAIRS-TO-BAG in Baggy.new-from-pairs
16:41 Geth ¦ rakudo/nom:
16:41 Geth ¦ rakudo/nom: - now dies if given a lazy list, rather than infinilooping
16:41 Geth ¦ rakudo/nom: - copy Baggy.new-from-pairs to Mixy to keep Mixy operational for now
16:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9dfa840ee
16:42 lizmat m: say int8.Range
16:42 camelia rakudo-moar dbd0f8: OUTPUT: «-128..127␤»
16:43 lizmat AlexDaniel: perhaps we need to add "byte" there ?
16:43 AlexDaniel lizmat: yes, here's a ticket RT #131529
16:43 eveo is it supposed to be 64 bits tho?
16:43 eveo m: my byte $x = 2**64-1
16:43 camelia rakudo-moar dbd0f8: ( no output )
16:43 eveo m: my byte $x = 2**64
16:43 camelia rakudo-moar dbd0f8: OUTPUT: «Cannot unbox 65 bit wide bigint into native integer␤  in block <unit> at <tmp> line 1␤␤»
16:43 AlexDaniel m, what?
16:43 evalable6 AlexDaniel, Full output: https://gist.github.com/58d7ac3a5f62179ae7e2662dc0bc17e5
16:43 evalable6 AlexDaniel, rakudo-moar dbd0f87a0: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/EDqwtG4BNE␤Bogus p…»
16:43 AlexDaniel no it's 8 bits
16:44 eveo 2**64 is 8 bits?
16:44 lizmat m: say uint8.Range
16:44 camelia rakudo-moar dbd0f8: OUTPUT: «0..255␤»
16:44 * AlexDaniel slaps evalable6
16:44 lizmat that's what byte should be, no ?
16:44 eveo I would've thought
16:44 AlexDaniel ( https://github.com/perl6/whateverable/issues/147 )
16:45 AlexDaniel lizmat: it is exactly that
16:46 robertle joined #perl6-dev
16:46 lizmat ok, fixing
17:00 eveo ZOFVM: Files=1254, Tests=138717, 125 wallclock secs (24.19 usr  3.33 sys + 2604.11 cusr 146.01 csys = 2777.64 CPU)
17:07 Geth ¦ rakudo/nom: af85d5380b | (Elizabeth Mattijsen)++ | src/core/Int.pm
17:07 Geth ¦ rakudo/nom: Fix for RT #131529
17:07 Geth ¦ rakudo/nom:
17:07 Geth ¦ rakudo/nom: - add byte case (it was omitted for some reason)
17:07 Geth ¦ rakudo/nom: - get rid of unreachable default
17:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af85d5380b
17:07 cognominal thx lizmat
17:09 Geth ¦ rakudo/nom: f28762816c | (Elizabeth Mattijsen)++ | src/core/Iterable.pm
17:09 Geth ¦ rakudo/nom: Make Iterable.Bag about 60% faster
17:09 Geth ¦ rakudo/nom:
17:09 Geth ¦ rakudo/nom: - use new R:Q.ADD-PAIRS-TO-BAG
17:09 Geth ¦ rakudo/nom: - use sub instead of private method, we don't need attributes
17:09 Geth ¦ rakudo/nom: - based on a 26-element array with Pairs
17:09 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f28762816c
17:14 dogbert17 commit: 2015.11 if 0 { say "no" } else{ say "yes" }
17:14 committable6 dogbert17, ¦2015.11: «yes»
17:14 dogbert17 commit: 2015.06 if 0 { say "no" } else{ say "yes" }
17:15 committable6 dogbert17, ¦2015.06: «yes»
17:15 dogbert17 hmm, did this ever generate a syntax error?
17:15 eveo c: all if 0 { say "no" } else{ say "yes" }
17:15 committable6 eveo, https://gist.github.com/cab7b85be4d27fbc8c4933bc76fd91df
17:17 dogbert17 thx, so it failed a long time ago, time to fix some docs then
17:17 Geth ¦ rakudo/nom: a243063c92 | (Zoffix Znet)++ | src/core/Complex.pm
17:17 Geth ¦ rakudo/nom: Implement Complex.cis
17:17 Geth ¦ rakudo/nom:
17:17 Geth ¦ rakudo/nom: Fixes hang[^1] with i.cis, but I see more candidates in Real that
17:17 Geth ¦ rakudo/nom: go through Cool that hang (e.g. unpolar). Need to figure out which
17:17 Geth ¦ rakudo/nom: can be handled by Complex and implement those, and those that don't
17:17 Geth ¦ rakudo/nom: need to coerce to .Real, not .Numeric, in Cool candidates.
17:17 Geth ¦ rakudo/nom:
17:17 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6/2017-06-07#i_14699844
17:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a243063c92
17:17 Geth ¦ roast: 71ab9b3bac | (Zoffix Znet)++ | S32-num/cool-num.t
17:17 Geth ¦ roast: Test Complex.cis
17:17 Geth ¦ roast: review: https://github.com/perl6/roast/commit/71ab9b3bac
17:25 Geth ¦ rakudo/nom: 8791b44740 | (Elizabeth Mattijsen)++ | 4 files
17:25 Geth ¦ rakudo/nom: Make .Set coercers a few percent faster
17:25 Geth ¦ rakudo/nom:
17:25 Geth ¦ rakudo/nom: By not using a private method, but a sub.  Private methods in roles
17:25 Geth ¦ rakudo/nom: are still run-time dispatch :-(
17:25 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8791b44740
17:41 lizmat joined #perl6-dev
17:41 eveo m: for ^3 -> $n { my $last = False; LAST { $last = True }; for "a".."c" -> $l { say "{"LAST" if $last}: $n:$l" }}
17:41 camelia rakudo-moar 8791b4: OUTPUT: «: 0:a␤: 0:b␤: 0:c␤: 1:a␤: 1:b␤: 1:c␤: 2:a␤: 2:b␤: 2:c␤»
17:42 eveo kinda expected it to print "LAST" at the end
17:42 eveo I guess it runs at the very end or something
17:42 eveo m: for ^3 -> $n { my $last = False; LAST { say "Setting"; $last = True }; for "a".."c" -> $l { say "{"LAST" if $last}: $n:$l" }}
17:42 camelia rakudo-moar 8791b4: OUTPUT: «: 0:a␤: 0:b␤: 0:c␤: 1:a␤: 1:b␤: 1:c␤: 2:a␤: 2:b␤: 2:c␤Setting␤»
17:43 eveo yeah. makes sense, since it'd need to future travel
17:44 perlpilot LAST phasers run after LEAVE phasers which run at the block exit.
17:44 perlpilot The docs for LAST could make the timing a little more clear without having to hunt down LEAVE
17:46 Geth ¦ rakudo/nom: 4139b96e9b | (Elizabeth Mattijsen)++ | 3 files
17:46 Geth ¦ rakudo/nom: Make .Bag coercers a few percent faster
17:46 Geth ¦ rakudo/nom:
17:46 Geth ¦ rakudo/nom: By not using a private method, but a sub.  Private methods in roles
17:46 Geth ¦ rakudo/nom: are still run-time dispatch :-(
17:46 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4139b96e9b
17:57 Geth ¦ rakudo/nom: 8c7e4e5174 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
17:57 Geth ¦ rakudo/nom: Make .Mix coercers a few percent faster
17:57 Geth ¦ rakudo/nom:
17:57 Geth ¦ rakudo/nom: By not using a private method, but a sub.  Private methods in roles
17:57 Geth ¦ rakudo/nom: are still run-time dispatch :-(
17:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c7e4e5174
17:57 lizmat dinner&
19:49 patrickz joined #perl6-dev
19:51 Geth ¦ rakudo/nom: fb9e1a87fe | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
19:51 Geth ¦ rakudo/nom: Introducing R:Q.ADD-PAIRS-TO-MIX
19:51 Geth ¦ rakudo/nom:
19:51 Geth ¦ rakudo/nom: - abstracted logic of Mixy.new-from-pairs
19:51 Geth ¦ rakudo/nom: - no longer allows NaN, Inf or -Inf as values (which would break Mixy.roll)
19:51 Geth ¦ rakudo/nom: - no longer needs a SANITY method
19:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb9e1a87fe
19:51 Geth ¦ rakudo/nom: e5719d6a92 | (Elizabeth Mattijsen)++ | src/core/Mixy.pm
19:51 Geth ¦ rakudo/nom: Use R:Q.ADD-PAIRS-TO-MIX in Mixy.new-from-pairs
19:51 Geth ¦ rakudo/nom:
19:51 Geth ¦ rakudo/nom: - also no longer hang on lazy lists, but throw
19:51 Geth ¦ rakudo/nom: - a few percent faster than before
19:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5719d6a92
19:59 samcv i think i might take a look at RT 28875 today
19:59 samcv the ignoremark+ignorecase bug https://rt.perl.org/Public/Bug/Display.html?id=128875
20:17 Geth ¦ rakudo/nom: bba6de5f40 | (Elizabeth Mattijsen)++ | src/core/Iterable.pm
20:17 Geth ¦ rakudo/nom: Make Iterable.Mix(|Hash) about 40% faster
20:17 Geth ¦ rakudo/nom:
20:17 Geth ¦ rakudo/nom: - by using the new R:Q.ADD-PAIRS-TO-MIX directly without needing to
20:17 Geth ¦ rakudo/nom:   pass through Mixy.new-from-pairs with its slurpy sig
20:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bba6de5f40
20:30 brrt joined #perl6-dev
20:54 Geth ¦ roast: 59736cecfe | (Elizabeth Mattijsen)++ | 6 files
20:54 Geth ¦ roast: Add .QuantHash/QuentHash.new-from-pairs lazy tests
20:54 Geth ¦ roast: review: https://github.com/perl6/roast/commit/59736cecfe
21:24 tbrowder_ joined #perl6-dev
21:33 [Tux] joined #perl6-dev
21:39 ggoebel joined #perl6-dev
21:44 Geth ¦ roast: 7a88a38e2b | (Elizabeth Mattijsen)++ | 2 files
21:44 Geth ¦ roast: Add .Bag(|Hash) tests for illegal values
21:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/7a88a38e2b
21:45 pmurias joined #perl6-dev
21:46 pmurias m: my sub bar() {};my multi foo(int $foo) {bar(); 456;}; say foo(123)
21:46 camelia rakudo-moar bba6de: OUTPUT: «Cannot resolve caller foo(Int); none of these signatures match:␤    (int $foo)␤  in block <unit> at <tmp> line 1␤␤»
21:46 pmurias m: my sub bar() {};my multi foo(int $foo) {456;}; say foo(123)
21:46 camelia rakudo-moar bba6de: OUTPUT: «456␤»
21:46 eveo Feels like Failure.self should explode it. What's a way to pass through a value and explode it if it's a failure?
21:46 pmurias the optimizer thinks that a multi foo(int $foo) {} takes an Int
21:47 eveo pmurias: that's the ticket I mentioned earlier in #perl6 today: https://rt.perl.org/Ticket/Display.html?id=128655#ticket-history
21:48 lizmat m: dd NaN ~~ Real   # this feels, eh wrong
21:48 camelia rakudo-moar bba6de: OUTPUT: «Bool::True␤»
21:48 eveo Why? NaN is Num and Num is Real
21:48 lizmat NotaNumber is a Number ?
21:49 eveo It has to be some type
21:49 eveo What would it be? Mu?
21:51 lizmat from a linguistic point of view, having NotANumber being a Number is weird
21:51 lizmat I guess mathematically it makes sense
21:51 pmurias eveo: so I should fix that?
21:51 eveo pmurias: if you can, that would be great. There's a bunch of native candidates that are commented out in Rakudo due to this bug.
21:52 eveo (grepping for the ticket number should find them)
21:52 eveo From a mathematical sense it don't make sense for 0/0 to be a usable value, but from IEEE sense it's a perfectly good-looking NaN
21:52 eveo m: say Num(0/0)
21:52 camelia rakudo-moar bba6de: OUTPUT: «NaN␤»
22:00 eveo ZOFFLOP: t/spec/S11-modules/import-multi.t
22:01 eveo ZofBot: google killed my VM while I was in the middle of typing the commit!! Kill all humans
22:01 ZofBot eveo, exists (DEPRECATED) The "exists" method is considered to be a deprecated internal method: the normal way to test for existence is to apply the ":exists" adverb to a subscripting operation
22:14 Geth ¦ roast: f83f077571 | (Elizabeth Mattijsen)++ | 2 files
22:14 Geth ¦ roast: Add .Mix(|Hash) tests for illegal values
22:14 Geth ¦ roast: review: https://github.com/perl6/roast/commit/f83f077571
22:18 Geth ¦ rakudo/nom: 7fa8568254 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
22:18 Geth ¦ rakudo/nom: Make sure that Mixy's only take Real values
22:18 Geth ¦ rakudo/nom:
22:18 Geth ¦ rakudo/nom: Or anything that can be coerced to a Real value.  i is not one of them.
22:18 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7fa8568254
22:18 lizmat and that conclude my hacking for today
22:18 lizmat good night, #perl6-dev!
22:18 jnthn 'night lizmat++
22:21 eveo night
22:22 samcv yay that ignorecase+ignoremark bug is *almost* done being fixed :-)
22:22 eveo sweet
22:22 Geth ¦ rakudo/nom: 0a100825dd | (Zoffix Znet)++ | src/core/Failure.pm
22:22 Geth ¦ rakudo/nom: Implement Failure.self
22:22 Geth ¦ rakudo/nom:
22:22 Geth ¦ rakudo/nom: - Explodes Failure if it's unhandled
22:22 Geth ¦ rakudo/nom: - Returns self if it is
22:22 Geth ¦ rakudo/nom: - Provides a concise mechanism to explosively filter out unhandled
22:22 Geth ¦ rakudo/nom:     Failures while letting all other values through, thanks to Mu.self
22:22 Geth ¦ rakudo/nom:
22:22 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6/2017-06-07#i_14701715
22:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a100825dd
22:23 Geth ¦ roast: 5bdb393ea9 | (Zoffix Znet)++ | S04-exceptions/fail.t
22:23 Geth ¦ roast: Test Failure.self
22:23 Geth ¦ roast:
22:23 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/0a100825dd
22:23 Geth ¦ roast: IRC convo: https://irclog.perlgeek.de/perl6/2017-06-07#i_14701715
22:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5bdb393ea9
22:24 samcv NeuralAnomaly, status
22:24 NeuralAnomaly samcv, [✘] Next release will be in 1 week and 2 days. Since last release, there are 64 new still-open tickets (61 unreviewed and 0 blockers) and 377 unreviewed commits. See http://perl6.fail/release/stats for details
22:25 eveo greppable6: storage_test333
22:25 greppable6 eveo, https://gist.github.com/eac0b1f3637b6a1ecce40295b21944b6
22:25 eveo Some module created that in my ~/ :S how rude
22:25 eveo Pretty cool that it's so easy to find out who :P
22:33 timotimo damn, that really is pretty neat
22:41 geekosaur joined #perl6-dev
22:55 TimToady joined #perl6-dev
23:13 AlexDaniel timotimo: what is?
23:15 AlexDaniel I wish I had time today to do the 2 line change to implement the freaking error message for RT #126732, just so that people shut up and not spam everyone with these stupid emails…
23:15 AlexDaniel but no, maybe tomorrow
23:15 AlexDaniel until then we can probably expect 3 to 5 more emails…
23:16 eveo AlexDaniel: if you can't stand the heat don't get in the water ;)
23:16 AlexDaniel timotimo: ah, that it is so easy to find. Well, it's just one git grep away, not a big trouble
23:16 AlexDaniel eveo: well, techincally, I created the water for this one…
23:17 eveo :)
23:21 chansen_ joined #perl6-dev
23:30 BenGoldberg joined #perl6-dev

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