Zoffix ZOFVM: Files=1231, Tests=133169, 114 wallclock secs (20.77 usr 3.10 sys + 2386.94 cusr 134.63 csys = 2545.44 CPU) 00:19
m: dd IO.HOW.^name 00:22
camelia "Perl6::Metamodel::ParametricRoleGroupHOW"
Zoffix Where is that coming from? :/
m: dd Proc.HOW.^name
camelia "Perl6::Metamodel::ClassHOW"
Zoffix m: dd IO::Socket.HOW.^name
camelia "Perl6::Metamodel::ClassHOW"
Zoffix oh wtf 00:23
m: class Foo does IO {}
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in any package_declarator:sym<class> at /home/camelia/rakudo-m-inst-2/share/nqp/lib/Perl6/Grammar.m…
Zoffix cpan@perlbuild2~/CPANPRC/rakudo (nom)$ ls src/core/IO.pm
src/core/IO.pm
Did I dream of removing it? :S 00:24
Oh, I guess the deletion of the file never got commited: github.com/rakudo/rakudo/commit/87...9f40d6af78 00:25
Then I still don't get how IO.HOW.^name gives me a value
But I got to that point with another question: if role IO is removed, wouldn't the IO() coercer blow up?
m: -> abs() $ {}(42) 00:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'abs' in parameter declaration.
at <tmp>:1
------> 3-> abs7⏏5() $ {}(42)
Zoffix m: class abs::meows {}; -> abs() $ {}(42)
camelia ( no output )
Zoffix m: class abs::meows {}; -> abs() $x { dd $x }(42)
camelia Int $x = 42
Zoffix Well, that's... Fine I guess :P
m: class abs::meows {}; -> abs() $x { dd $x }(42); dd abs.HOW.^name
camelia Int $x = 42
"Perl6::Metamodel::PackageHOW"
Zoffix So how come dd IO.HOW.^name is not a Perl6::Metamodel::PackageHOW? Did I forget to nix it somewhere? 00:27
Geth roast: b929db4af9 | (Zoffix Znet)++ | S32-io/spurt.t
Remove trailing whitespace
00:34
rakudo/nom: 099512b20c | (Zoffix Znet)++ | 3 files
[io grant] Clean up and improve all spurt routines

  - Don't throw, fail
  - Don't pass all the extra args to IO::Handle.open in IO::Path.spurt
  - Don't slip high-level args to .open, but use lower-level forms for some
   sort of gravity boost, since .open doesn't need to figure out the mode.
  - In &spurt, take any object that can .IO, not just Cool
00:35
roast: 79ff022881 | (Zoffix Znet)++ | S32-io/spurt.t
[io grant] Expand &spurt and IO::Path.spurt tests

Indirectly tests IO::Handle.spurt as well.
Zoffix I see a problem with the "coercers must check return type" ticket. 00:39
m: -> IO() $x { dd $x.^name }("foo")
camelia "IO::Path"
Zoffix ^ that would have to be written as IO::Path()... but
m: -> IO::Path() $x { dd $x.^name }("foo")
camelia No such method 'IO::Path' for invocant of type 'Str'
in block <unit> at <tmp> line 1
Zoffix m: -> IO::Path() $x { dd $x.^name }("foo" but role { method IO::Path { self.IO } ) 00:40
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3 but role { method IO::Path { self.IO } 7⏏5)
expecting any of:
postfix
statement end
statement modifier
statement m…
Zoffix m: -> IO::Path() $x { dd $x.^name }("foo" but role { method IO::Path { self.IO } })
camelia "IO::Path"
Zoffix So... role IO goes back in.... to be done on just IO::Path. That will rectify that issue and I think it's the only instance when we do this sort of thing. 00:43
Zoffix will sleep on it 00:44
samcv roast mvm coverage now updated, and now linked from main coverage page 00:50
cry.nu/coverage/roast/ much better looking
Zoffix neat 01:02
Alright. I think I've done enough damage for the day. 01:03
Zoffix goes to bed
\o
samcv hehe 01:04
AlexDaniel mch: print "" for (^10).grep: /^ <?{ say $++ }>/; 01:27
committable6 AlexDaniel, ¦2015.12: «0␤1␤2␤3␤4␤5␤6␤7␤8␤9» ¦HEAD(099512b): «0␤0␤0␤0␤0␤0␤0␤0␤0␤0»
AlexDaniel any thoughts on this?
bisect: print "" for (^10).grep: /^ <?{ say $++ }>/;
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=099512b) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/a2c4f700522c54bd35...f51bf0e608
AlexDaniel, (2016-10-19) github.com/rakudo/rakudo/commit/7a...12c68ddb6d
AlexDaniel RT #131102 01:46
rt.perl.org/Ticket/Display.html?id=131102
Zoffix AlexDaniel: what does quotable do? 03:04
oh there's help 03:05
quotable6: / {use MONKEY; exit}/
quotable6 Zoffix, Found nothing!
Zoffix quotable6: /sucks/ 03:06
quotable6 Zoffix, gist.github.com/c9f05d5ac6431ed5b5...0a7e628f68 03:07
Zoffix AlexDaniel: is it able to include links to where the stuff was said? It'd be way more useful to know the context. 03:08
quotable6: /Perl \s+ 6 .* sucks/ 03:09
quotable6 Zoffix, gist.github.com/625cf57758d962cbc4...358d5ce010 03:10
Zoffix [Coke]: it's mildly annoying can't really see number of comments on middle proposal. Can't know if new ones were added without clicking on it: i.imgur.com/JmItdPh.png
AlexDaniel: also: output it in markdown: can include links to logs + long lines will auto-wrap 03:12
Zoffix laughs at "Teratogen: Perl 6 was released years ago, it's actually a pretty good language now. The library situation sucks, but you can help fix that!" 03:13
"rindolf: agreed -- where Perl in general sucks at marketing, Perl 6 double-sucks at marketing."
Can we stop fucking saying that we suck at marketing? 03:14
We don't.
And even if we did, making it a cliche isn't helping by far. 03:15
I wanna add Failure.fail that UNmarks the Failure as handled and then behaves same as fail() 03:17
There isn't really a nice way to propagate a failure up the foodchain without marking it as handled 03:18
m: sub foo { fail "meows" }; sub bar { foo() orelse .&fail }; dd bar
camelia Failure.new(exception => X::AdHoc.new(payload => "meows"), backtrace => Backtrace.new)
AlexDaniel Zoffix: yes-yes, all that is of course possible. But thing is, I didn't even commit it yet :)
Zoffix: still it's a useful tool already
Zoffix And it'd basically look like that ^, but unmark the failure already
s/already//;
And without the ampersand on .fail 03:19
AlexDaniel I've used it to come up with rules for “say” thingy
Zoffix quotable6: /:i Zoffix .* broke .* it/ 03:21
AlexDaniel Zoffix: also, it's not really a replacement for google search site:irclog.perlgeek.de 03:22
quotable6 Zoffix, gist.github.com/874b5c39aa91cd8e99...7224597029
AlexDaniel unless you are ready to wait for more than one minute :)
Zoffix Google ain't got a regex
Cool. No one complained that I broke something 03:23
Guess I got two weeks to turn the tide :}
NeuralAnomaly: status
NeuralAnomaly Zoffix, [✘] Next release will be in 1 week and 3 days. Since last release, there are 15 new still-open tickets (4 unreviewed and 0 blockers) and 133 unreviewed commits. See perl6.fail/release/stats for details
AlexDaniel yea but… there are 5 million messages there, and it is able to match them sequentially against a regex in 1 minute. Pretty cool, but I wonder if that will go as far as you're expecting it to :) 03:24
and yea, my conclusion is that rakudo is fast enough :P
Zoffix heh
AlexDaniel anyway, sleep & 03:27
Zoffix quotable6: /:i broke .* it/ 03:31
quotable6 Zoffix, gist.github.com/12d0c7b35d6eeab4bf...a28e62de27 03:32
samcv new bot?
Zoffix yeah 03:38
Geth rakudo/fail-failure: b71044857e | (Zoffix Znet)++ | src/core/Failure.pm
Implement Failure.fail

A way to propagate the failure further up the callstack, without marking it as handled.
03:39
rakudo: zoffixznet++ created pull request #1055:
Implement Failure.fail
03:44
samcv m: Failure.fail
camelia Invocant requires an instance of type Failure, but a type object was passed. Did you forget a .new?
in block <unit> at <tmp> line 1
samcv m: Failure.new.fail 03:45
camelia Failed

Actually thrown at:
in block <unit> at <tmp> line 1
samcv m: Failure.new.fail.fail.fail
camelia Failed

Actually thrown at:
in block <unit> at <tmp> line 1
samcv m: ("Failure.new" ~ '.fail' x 10000).EVAL
camelia MoarVM panic: Memory allocation failed; could not allocate 210800640 bytes 03:46
samcv heh
m: ("Failure.new" ~ '.fail' x 100).EVAL
camelia Failed
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at EVAL_0 line 1
in block <unit> at <tmp> line 1
Zoffix m: Failure.new.meow.meow.meow 03:48
camelia Failed

Actually thrown at:
in block <unit> at <tmp> line 1
Zoffix goes to try sleeping again 03:49
samcv hmm this io op has 0 coverage nqp::fileno_fh 06:17
and doesn't appear to be used anywhere
in nqp or in rakudo, though it is availible as an op
cry.nu/coverage/libmoar/coverage/h...c.html#L50
er it's actually nqp::filenofh # not sure if this is a useful thing on not @Zoffix takes the same argument nqp::seekfh does i think 06:23
Zoffix, this may be more useful cry.nu/coverage/roast/libmoar/cove...c.html#L31 looks like we don't check modified time of files (grepped roast as well, it's not there) so that me be nice 06:33
err i guess there's filetime function below it where it may be triggered. oh well. yeah we do test it a few times 06:34
also i was under the impression that `slurp` would slurp the whole file and `slurp-rest` could slurp from that point onward in case you seeked or had read somewhere. you said you were changing slurp-rest to slurp 06:37
JVM, JS and Moar all have nqp::filenofh fyi 06:49
m: use nqp; say "IN ", nqp::filenofh(nqp::getstdin); say "OUT ", nqp::filenofh(nqp::getstdout); 06:53
camelia IN 0
OUT 1
samcv cool
i get 9 for stdin and 10 for stdout (using perl6 -e and also REPL) 06:55
Geth nqp: 9b2745046f | (Samantha McVey)++ | docs/ops.markdown
Add doc for filenofh to ops.markdown

JVM, JS and MoarVM all have this opcode.
06:58
Zoffix samcv: that's how all IO routines work 10:01
So naming just 1 of them "-rest" and breaking convention makes no sense.
Also, you can't seek a pipe, so it makes even less sense there. 10:02
github.com/rakudo/rakudo/blob/nom/...discussion
lizmat Zoffix: as the inventor of slurp-rest, I agree that we can put it to rest :-) 10:05
Zoffix I meant that's how all *IO::Handle* routine works 10:06
\o/
lizmat: AlexDaniel was wondering about the reason why it had '-rest' at the end tho
lizmat well, since it doesn't close the handle, if another process is writing to the file
you could potentially call it multiple times 10:07
whereas with IO::Path.slurp you couldn't
think tail -f
Zoffix Ah 10:09
Geth rakudo/nom: 4facf105c9 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Baggy (|) Baggy at least 40x faster

  - based on 2 exclusive Bags/Mixes of 10 elements each
  - avoids potentially expensive .WHICH recalculations
  - added specific Baggy/Baggy and Mixy/Mixy (|) candidates
  - rewritten using nqp::ops
11:40
lizmat still wonders how to create a signature that would match on object hashes only 11:49
timotimo non-object-hashes have a coercive key type, no? 11:54
lizmat yeah, so "where .keyof =:= Str(Any)" yuck 11:55
timotimo it doesn't have to be =:= 11:56
lizmat the object hash role is private to the Hash class, so I don't think it can smartmatch on that
timotimo you can inspect its type for "is it coercive?"
lizmat timotimo: eh, how? and in a signature without "where" :-)
timotimo m: my $objh := :{1 => 99}; say $objh.keyof.^archetypes.coercive 11:58
camelia Too many positionals passed; expected 1 argument but got 2
in block <unit> at <tmp> line 1
timotimo m: my $objh := :{1 => 99};␤ say $objh.keyof.^archetypes.coercive
camelia Too many positionals passed; expected 1 argument but got 2
in block <unit> at <tmp> line 2
timotimo i did what wrong now?
ah 11:59
m: my $objh := :{1 => 99};␤ say $objh.keyof.HOW.archetypes.coercive
camelia 0
timotimo m: my $objh := {1 => 99};␤ say $objh.keyof.HOW.archetypes.coercive
camelia 1
timotimo you think that's good? 12:00
lizmat that would still imply "where .keyof.HOW.archetypes.coercive" in a signature
and that would be expensive 12:01
timotimo mhh
lizmat m: my %h{Str(Cool)} = a => 42' # we actually don't appear to support coercive typed object hashes 12:02
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my %h{Str(Cool)} = a => 427⏏5' # we actually don't appear to suppor
expecting any of:
infix
infix stopper
postfix
lizmat m: my %h{Str(Cool)} = a => 42 # we actually don't appear to support coercive typed object hashes
camelia Type check failed in binding to parameter 'key'; expected Str(Cool) but got Str ("a")
in block <unit> at <tmp> line 1
timotimo oh, just a parse problem?
oh, huh
lizmat first one was copypasto
timotimo that is certainly strange
lizmat I'll rakudobug it so it won't fall through the cracks 12:14
timotimo aye 12:15
lizmat RT #131103 12:28
hmmm... looks liek we lost synopsebot
timotimo just saw it
i restarted the bot 12:29
Zoffix AlexDaniel: I found the answer for slurp-rest's name: irclog.perlgeek.de/perl6-dev/2017-...i_14378461 12:57
AlexDaniel Zoffix: hm, okay 12:59
lizmat thought that was common knowledge :-(
Zoffix :)
AlexDaniel Zoffix: but then, doesn't it mean that it is good to have different names? 13:00
or am I missing something?
Geth rakudo/nom: 9470d1c4e1 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Map (|) Map 15x to 20x faster

  - separate candidate for Map/Map
  - rewrite in nqp ops
  - handle object hashes by (fast) coercion to Set (15x faster)
  - handle ordinary hashes by dual iteration (20x faster)
  - based on 26-element hash (|) with itself
13:02
lizmat hopes this performance enhancements will proliferate the use of set operations in the Perl 6 world
*help in proliferation 13:03
Zoffix AlexDaniel: not in my opinion. The features aren't entirely different and I'd imagine for vast majority of uses are identical to their Str and IO::Path counterparts. And there is a conflict: &slurp operates on both IO::Path and IO::ArgFiles (which is IO::Handle). IO::Path provides .slurp, but IO::Handle provides .slurp-rest. Same applies to lines, words, split and comb. If this name distinction were to be 13:04
followed, IO::Handle would be providing .lines-rest, .words-rest, .split-rest, and .comb-rest
AlexDaniel Zoffix: it is hard to argue with IO ninjas ;) 13:05
Zoffix lizmat++ I hope so too!
I reached for skip-all 2 days ago actually, when writing github.com/perl6/roast/commit/430a...976d3b25c9 14:36
|Tux| This is Rakudo version 2017.03-132-g9470d1c4e built on MoarVM version 2017.03-88-g21fc7a22 14:39
csv-ip5xs 3.076
test 12.367
test-t 4.829 - 4.903
csv-parser 12.990
Zoffix buggable: speed 3 14:40
buggable Zoffix, ▃▂▁ data for 2017-04-04–2017-04-05; range: 4.829s–4.979s; 3% faster
Zoffix sweet
m: multi plan(Pair (:$key where 'skip-all', :value($reason))) { }; plan skip-all => "Just 'cause"; 14:46
camelia Cannot resolve caller plan(:skip-all("Just 'cause")); none of these signatures match:
(Pair $ (Any :$key where { ... }, Any :value($reason)))
in block <unit> at <tmp> line 1
Zoffix m: multi plan(Pair (:key<skip-all>, :value($reason))) { }; plan skip-all => "Just 'cause";
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3multi plan(Pair (:7⏏5key<skip-all>, :value($reason))) { }; p
Zoffix was hoping that'd Just Work™ 14:47
jnthn that'll be passed as a named arg anyway?
Zoffix Though why use `plan` for that
Ohhh right
m: multi sub plan(Pair (:$key where 'skip-all', :value($reason))) { dd [ $reason ]; }; plan "skip-all" => "Just 'cause"; 14:48
camelia ["Just 'cause"]
Zoffix it does just work \o/
Geth nqp/master: 5 commits pushed by (Pawel Murias)++ 15:08
Zoffix ZOFVM: Files=1231, Tests=133169, 112 wallclock secs (21.15 usr 3.28 sys + 2337.16 cusr 148.25 csys = 2509.84 CPU) 15:31
ugh... massive lag between me and my VM :S 15:56
Feels like communicating with the Moon 15:57
Geth rakudo/nom: 463898aa38 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Normalize (|) on arg cases resulting in .Set
15:59
rakudo/nom: 3f365081a2 | (Elizabeth Mattijsen)++ | 2 files
Fix/Optimize .Set(Hash) coercers

  - on object hashes we *should* check for truthiness of value
  - fix thinko: SetHashes don't need containers
   on SetHashes, you cannot change a value, only add/remove
lizmat Zoffix: that would solve the heat problem if the data center is always in the shade 16:00
Geth rakudo/nom: 14b6d5f360 | (Zoffix Znet)++ | 2 files
Implement `skip-all` option for Test::plan()

  - plan skip-all => "some reason for skippage";
  - exits the test file if used outside a subtest
  - returns from the subtest if used in a subtest
  - powered by Unicorns
roast: 680970a2e5 | (Zoffix Znet)++ | 2 files
Test `skip-all` option in Test::plan()

Rakudo impl: github.com/rakudo/rakudo/commit/14b6d5f360
Zoffix Hehe, indeed it would :)
uuuuhhh... make t/spec/some-file.t fails if all tests are skipped with skip-all :/ 16:24
Also: with $*TMPDIR, if env TMPDIR is set, we try and see if it's usable, but with $*HOME, we don't; if env HOME is set we just assume it's good and use it 16:26
wonder if that should be the same
Zoffix would go with use env TMPDIR if set; what if I want my script to create one? Or test it for cases where $*TMPDIR ain't good, as I'm trying to do right now 16:27
[Coke] if $*TMPDIR ain't good... is that Perl 6's problem? who is setting a bad tmpdir? 16:31
Zoffix [Coke]: it tries several locations to find one that's there. 16:32
among them, the value of $*ENV<TMPDIR> and I want it to just-use-it if that env var is set, and do the "try to find something usable" only if it isn't set
for $*HOME: no checks: github.com/rakudo/rakudo/blob/nom/...pm#L61-L71 16:34
for $*TMPDIR: checks: github.com/rakudo/rakudo/blob/nom/...pm#L38-L56 16:35
Though now I see I guess I can override $*SPEC and get my wish. Easy peasy
Alright. Looks like my skip-all addition exposed another bug in TAP::Harness (or t/harness6) and a bug in our t/harness5 16:37
(see? It's all about framing: "exposed a bug" instead of "broke it")
Oh wait, not t/harness5 but make maker for `make t/spec/some-file` 16:39
Oh wait, no, t/harness5 isn't passing my env to the test for some reason /o\ 16:40
:S 16:41
And `make t/foo.t` works now. wtf
[Coke] Zoffix: makes sense. if set, use it. 16:42
if not, best guess.
Geth nqp: b10d177d40 | (Pawel Murias)++ | t/moar/02-qast-references.t
Test using nqp::assign on lexicalrefs
[Coke] pmurias: how goes? 16:44
Zoffix Ah, I was using wrong file. So it's: `prove` is good with `skip-all`, t/harness5 isn't; t/harness6 is all good with it now, despite failing earlier (I restarted the shell now and now it works fine :S) 16:46
And t/harness5 isn't only when running a single file, not when make spectest or stuff 16:47
Ahh, I see. Some guy named Zoffix used a not-quite-right method in t/harness5 to indicate failurage with exit code. 16:55
What a noob! 16:56
Zoffix misses having a Markov bot to talk to...
ZOFVM: Files=1233, Tests=133173, 114 wallclock secs (20.88 usr 3.04 sys + 2333.52 cusr 152.91 csys = 2510.35 CPU) 16:57
pmurias I'm fixing bugs I encouter trying to get rakudo.js to pass roast tests (it passes like 20 of the first ones in spectest.data order plus some of the ones that do simple things like just doing bitshifts) 16:59
[Coke]: I have to leave now, but I'll write a blog post with the update on the current state tommorow 17:00
Zoffix ZOF6VM: Files=1233, Tests=133173, 232 wallclock secs 17:02
Geth rakudo/nom: f28c515700 | (Zoffix Znet)++ | t/harness5
Fix t/harness5 incorrectly failing NOTESTS runs

When whole-file skippage is done, no tests are run and TAP::Parser::Aggregator->all_passed actually returns false and the t/harness5 considers the run a failed one.
Fix by using ->no_errors method instead.
17:05
roast: b7a19b50fd | (Zoffix Znet)++ | S32-io/chdir-process.t
Use new `skip-all` feature to skill all tests
17:12
Zoffix s/skill/skip/;
[Coke] pmurias++ 17:16
.ask pmurias back when we were getting pugs and niecza up to date with roast, we had a bunch of scripts to help onboard more test files either via fudging or identifying files that were close (so we could easily get some wins). let me know if you want me to take a whack at anything. 17:18
yoleaux2 [Coke]: I'll pass your message to pmurias.
Zoffix grumbles about `skip-rest` not calling `exit` :/ 17:25
Geth rakudo/nom: b62d1a768a | (Zoffix Znet)++ | src/core/Process.pm
[io grant] Give $*TMPDIR a container

So it would be possible to `temp` it.
Whether temping and already temped temp dir in $*TMPDIR would make the Universe implode is unknown.
17:34
roast: 1d4e8819d0 | (Zoffix Znet)++ | S16-io/tmpdir.t
[io grant] Test $*TMPDIR can be `temp`ed

Rakudo fix: github.com/rakudo/rakudo/commit/b62d1a768a
17:35
travis-ci Rakudo build passed. Zoffix Znet 'Fix t/harness5 incorrectly failing NOTESTS runs 19:04
travis-ci.org/rakudo/rakudo/builds/218964259 github.com/rakudo/rakudo/compare/1...8c515700b8
Zoffix To keep everyone in the loop, the ecosystem TAP::Harness ( github.com/perl6/tap-harness6 ) got fixed up and updated. It was also moved to perl6 org. For next release, I'll throw out rakudo/lib/TAP.pm and will fix up the makefile to auto-clone the ecosystem version, just like we auto-clone roast, so it could be used for HARNESS_TYPE6 tests. Lastly, I'll create an issue (or add, if it's easy) for 19:28
Rakudo Star to include the ecosystem version, since `zef` can use it and not require the presence of `prove` for testing.
.tell ugexe FYI: irclog.perlgeek.de/perl6-dev/2017-...i_14380970
yoleaux2 Zoffix: I'll pass your message to ugexe.
Zoffix NeuralAnomaly: status 19:32
NeuralAnomaly Zoffix, [✘] Next release will be in 1 week and 2 days. Since last release, there are 16 new still-open tickets (5 unreviewed and 0 blockers) and 140 unreviewed commits. See perl6.fail/release/stats for details
samcv good * 19:36
***************************************
Zoffix \o 19:43
moritz \o 19:44
samcv moritz, i might work on the unicode chapter a bit today 19:46
seems like a good day to do it
so it's being published under which distributor? instead of the other one 19:47
moritz samcv: the details aren't ironed out yet, which is why I'm hesitant to share it publicly 19:48
samcv okay. no problem
travis-ci Rakudo build failed. Zoffix Znet '[io grant] Give $*TMPDIR a container 19:57
travis-ci.org/rakudo/rakudo/builds/218975066 github.com/rakudo/rakudo/compare/f...2d1a768a0b
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
Zoffix hm, weird failure. Didn't get perlbrew 20:01
Zoffix assumes a fluke 20:02
MasterDuke Zoffix: i backlogged a little and your birthday was 4/3? 20:06
Zoffix Yes 20:07
MasterDuke happy birthday. turns out my daughter celebrated her zeroeth birthday then also 20:08
samcv looks like a cloning problem "fatal: The remote end hung up unexpectedly" 20:09
Zoffix Hah. Cool. You're the second person I know who has a daughter with birthday same day as me 20:10
MasterDuke: so... I guess you'll be away from Perl 6 work for the next... 17-20 years? :p
MasterDuke might get a week or two of higher than average involvement while i'm off work and she's just eating and sleeping, but yeah, probably not going to have quite the same amount of time 20:14
Zoffix Well, enjoy! :) 20:16
MasterDuke she hasn't expressed a language preference yet, but i'll be sure to start her with Perl 6
thanks
Zoffix Sweet! Glad to have a new user :)
timotimo MasterDuke: congratulations on how u formed babby! 20:39
MasterDuke thanks, so far she's formed pretty well 20:41
timotimo :) 20:47
AlexDaniel MasterDuke: amazing news! Congratulations \o/ 21:02
lizmat hmmm.. is Geth dead ?
Geth rakudo/nom: 65037c3e95 | (Elizabeth Mattijsen)++ | src/core/core_prologue.pm
Introducing IterationSet

This commit introduces the Hash equivalent of IterationBuffer: IterationSet. It has the same low level REPR as nqp::hash, but it will not be automatically HLLized to a Hash when used as a parameter. This allows usage of nqp::hashes in common subroutines without needing to HLLize and de-HLLize all the time.
rakudo/nom: fb60621af7 | (Elizabeth Mattijsen)++ | 4 files
Using IterationSet for QuantHashes

This commit uses the new IterationSet for QuantHash creation. This makes Set.new(42) about 5% faster, saves 1 frame and one object creation for each new QuantHash, thereby reducing memory pressure.
AlexDaniel coincidence? I don't think so
MasterDuke AlexDaniel: thanks 21:04
AlexDaniel (just in case… my last message was about Geth :) ) 21:06
Zoffix m: class Foo { multi method x(Int) { samewith '42' }; multi method x($) {} }; my $o = Foo.new; for ^100_000 { $ = $o.x: 42 }; say now - INIT now 21:08
m: class Foo { multi method x(Int) { self.x: '42' }; multi method x($) {} }; my $o = Foo.new; for ^100_000 { $ = $o.x: 42 }; say now - INIT now
camelia 1.9992113 21:09
0.1470724
Zoffix m: say 1.999/0.147
camelia 13.598639
Zoffix yikes
lizmat yeah, samewith is not cheap :-( 21:10
Zoffix constantly mis-types PERL6_TEST_DIE_ON_FAIL as PERL^_TEST_DIE_ON_FAIL 21:22
With it wasn't named that way...
*wish
Geth rakudo/nom: e408e474d3 | (Elizabeth Mattijsen)++ | 4 files
IterationSet should be internal, at least for now
21:38
rakudo/nom: ad01ed7675 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
Abstract Set.new-from-pairs logic

So we can use it elsewhere
22:00
lizmat good night, #perl6-dev! 22:32
Zoffix night 22:36