Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-04-05

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

All times shown according to UTC.

Time Nick Message
00:19 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:22 Zoffix m: dd IO.HOW.^name
00:22 camelia rakudo-moar f9f088: OUTPUT: «"Perl6::Metamodel::ParametricRoleGroupHOW"␤»
00:22 Zoffix Where is that coming from? :/
00:22 Zoffix m: dd Proc.HOW.^name
00:22 camelia rakudo-moar f9f088: OUTPUT: «"Perl6::Metamodel::ClassHOW"␤»
00:22 Zoffix m: dd IO::Socket.HOW.^name
00:22 camelia rakudo-moar f9f088: OUTPUT: «"Perl6::Metamodel::ClassHOW"␤»
00:23 Zoffix oh wtf
00:23 Zoffix m: class Foo does IO {}
00:23 camelia rakudo-moar f9f088: OUTPUT: «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…»
00:23 Zoffix cpan@perlbuild2~/CPANPRC/rakudo (nom)$ ls src/core/IO.pm
00:23 Zoffix src/core/IO.pm
00:24 Zoffix Did I dream of removing it? :S
00:25 Zoffix Oh, I guess the deletion of the file never got commited: https://github.com/rakudo/rakudo/commit/87987c2dcbe6ca607ef623c4eb4b1a9f40d6af78
00:25 Zoffix Then I still don't get how IO.HOW.^name gives me a value
00:25 Zoffix But I got to that point with another question: if role IO is removed, wouldn't the IO() coercer blow up?
00:26 Zoffix m: -> abs() $ {}(42)
00:26 camelia rakudo-moar f9f088: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'abs' in parameter declaration.␤at <tmp>:1␤------> 3-> abs7⏏5() $ {}(42)␤»
00:26 Zoffix m: class abs::meows {}; -> abs() $ {}(42)
00:26 camelia rakudo-moar f9f088: ( no output )
00:26 Zoffix m: class abs::meows {}; -> abs() $x { dd $x }(42)
00:26 camelia rakudo-moar f9f088: OUTPUT: «Int $x = 42␤»
00:26 Zoffix Well, that's... Fine I guess :P
00:26 Zoffix m: class abs::meows {}; -> abs() $x { dd $x }(42); dd abs.HOW.^name
00:26 camelia rakudo-moar f9f088: OUTPUT: «Int $x = 42␤"Perl6::Metamodel::PackageHOW"␤»
00:27 Zoffix So how come dd IO.HOW.^name is not a Perl6::Metamodel::PackageHOW? Did I forget to nix it somewhere?
00:34 Geth ¦ roast: b929db4af9 | (Zoffix Znet)++ | S32-io/spurt.t
00:34 Geth ¦ roast: Remove trailing whitespace
00:34 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b929db4af9
00:35 Geth ¦ rakudo/nom: 099512b20c | (Zoffix Znet)++ | 3 files
00:35 Geth ¦ rakudo/nom: [io grant] Clean up and improve all spurt routines
00:35 Geth ¦ rakudo/nom:
00:35 Geth ¦ rakudo/nom: - Don't throw, fail
00:35 Geth ¦ rakudo/nom: - Don't pass all the extra args to IO::Handle.open in IO::Path.spurt
00:35 Geth ¦ rakudo/nom: - Don't slip high-level args to .open, but use lower-level forms for some
00:35 Geth ¦ rakudo/nom:     sort of gravity boost, since .open doesn't need to figure out the mode.
00:35 Geth ¦ rakudo/nom: - In &spurt, take any object that can .IO, not just Cool
00:35 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/099512b20c
00:35 Geth ¦ roast: 79ff022881 | (Zoffix Znet)++ | S32-io/spurt.t
00:35 Geth ¦ roast: [io grant] Expand &spurt and IO::Path.spurt tests
00:35 Geth ¦ roast:
00:35 Geth ¦ roast: Indirectly tests IO::Handle.spurt as well.
00:35 Geth ¦ roast: review: https://github.com/perl6/roast/commit/79ff022881
00:39 Zoffix I see a problem with the "coercers must check return type" ticket.
00:39 Zoffix m: -> IO() $x { dd $x.^name }("foo")
00:39 camelia rakudo-moar f9f088: OUTPUT: «"IO::Path"␤»
00:39 Zoffix ^ that would have to be written as IO::Path()... but
00:39 Zoffix m: -> IO::Path() $x { dd $x.^name }("foo")
00:39 camelia rakudo-moar f9f088: OUTPUT: «No such method 'IO::Path' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
00:40 Zoffix m: -> IO::Path() $x { dd $x.^name }("foo" but role { method IO::Path { self.IO } )
00:40 camelia rakudo-moar f9f088: OUTPUT: «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…»
00:40 Zoffix m: -> IO::Path() $x { dd $x.^name }("foo" but role { method IO::Path { self.IO } })
00:40 camelia rakudo-moar f9f088: OUTPUT: «"IO::Path"␤»
00:43 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:44 * Zoffix will sleep on it
00:50 samcv roast mvm coverage now updated, and now linked from main coverage page
00:50 samcv https://cry.nu/coverage/roast/ much better looking
01:02 Zoffix neat
01:03 Zoffix Alright. I think I've done enough damage for the day.
01:03 * Zoffix goes to bed
01:03 Zoffix \o
01:04 samcv hehe
01:21 sasheto joined #perl6-dev
01:27 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»
01:27 AlexDaniel any thoughts on this?
01:27 AlexDaniel bisect: print "" for (^10).grep: /^ <?{ say $++ }>/;
01:27 bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=099512b) because on both starting points the exit code is 0
01:27 bisectable6 AlexDaniel, bisect log: https://gist.github.com/a2c4f700522c54bd359101f51bf0e608
01:27 bisectable6 AlexDaniel, (2016-10-19) https://github.com/rakudo/rakudo/commit/7a456ff80183a6e26dc91d811d992112c68ddb6d
01:28 MasterDuke joined #perl6-dev
01:46 AlexDaniel RT #131102
01:46 AlexDaniel https://rt.perl.org/Ticket/Display.html?id=131102
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:00 astj joined #perl6-dev
02:07 astj joined #perl6-dev
02:11 astj joined #perl6-dev
02:13 astj joined #perl6-dev
02:15 quotable6 joined #perl6-dev
02:31 astj joined #perl6-dev
02:34 astj joined #perl6-dev
02:40 astj joined #perl6-dev
02:43 astj joined #perl6-dev
02:50 astj joined #perl6-dev
02:50 agentzh joined #perl6-dev
03:04 Zoffix AlexDaniel: what does quotable do?
03:05 Zoffix oh there's help
03:05 Zoffix quotable6: / {use MONKEY; exit}/
03:05 quotable6 Zoffix, Found nothing!
03:06 Zoffix quotable6: /sucks/
03:07 quotable6 Zoffix, https://gist.github.com/c9f05d5ac6431ed5b558930a7e628f68
03:08 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 astj joined #perl6-dev
03:09 Zoffix quotable6: /Perl \s+ 6 .* sucks/
03:10 quotable6 Zoffix, https://gist.github.com/625cf57758d962cbc42812358d5ce010
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: http://i.imgur.com/JmItdPh.png
03:12 Zoffix AlexDaniel: also: output it in markdown: can include links to logs + long lines will auto-wrap
03:13 * 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 Zoffix "rindolf: agreed -- where Perl in general sucks at marketing, Perl 6 double-sucks at marketing."
03:14 Zoffix Can we stop fucking saying that we suck at marketing?
03:14 Zoffix We don't.
03:15 Zoffix And even if we did, making it a cliche isn't helping by far.
03:17 Zoffix I wanna add Failure.fail that UNmarks the Failure as handled and then behaves same as fail()
03:18 Zoffix There isn't really a nice way to propagate a failure up the foodchain without marking it as handled
03:18 Zoffix m: sub foo { fail "meows" }; sub bar { foo() orelse .&fail }; dd bar
03:18 camelia rakudo-moar 099512: OUTPUT: «Failure.new(exception => X::AdHoc.new(payload => "meows"), backtrace => Backtrace.new)␤»
03:18 AlexDaniel Zoffix: yes-yes, all that is of course possible. But thing is, I didn't even commit it yet :)
03:18 AlexDaniel Zoffix: still it's a useful tool already
03:18 Zoffix And it'd basically look like that ^, but unmark the failure already
03:18 Zoffix s/already//;
03:19 Zoffix And without the ampersand on .fail
03:19 AlexDaniel I've used it to come up with rules for “say” thingy
03:21 Zoffix quotable6: /:i Zoffix .* broke .* it/
03:22 AlexDaniel Zoffix: also, it's not really a replacement for google search site:irclog.perlgeek.de
03:22 quotable6 Zoffix, https://gist.github.com/874b5c39aa91cd8e99a3177224597029
03:22 AlexDaniel unless you are ready to wait for more than one minute :)
03:22 Zoffix Google ain't got a regex
03:23 Zoffix Cool. No one complained that I broke something
03:23 Zoffix Guess I got two weeks to turn the tide :}
03:23 Zoffix NeuralAnomaly: status
03:23 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 http://perl6.fail/release/stats for details
03:24 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 AlexDaniel and yea, my conclusion is that rakudo is fast enough :P
03:24 Zoffix heh
03:27 AlexDaniel anyway, sleep &
03:31 Zoffix quotable6: /:i broke .* it/
03:32 quotable6 Zoffix, https://gist.github.com/12d0c7b35d6eeab4bf84f4a28e62de27
03:32 samcv new bot?
03:37 astj joined #perl6-dev
03:38 Zoffix yeah
03:39 Geth ¦ rakudo/fail-failure: b71044857e | (Zoffix Znet)++ | src/core/Failure.pm
03:39 Geth ¦ rakudo/fail-failure: Implement Failure.fail
03:39 Geth ¦ rakudo/fail-failure:
03:39 Geth ¦ rakudo/fail-failure: A way to propagate the failure further up the callstack, without
03:39 Geth ¦ rakudo/fail-failure: marking it as handled.
03:39 Geth ¦ rakudo/fail-failure: review: https://github.com/rakudo/rakudo/commit/b71044857e
03:44 Geth ¦ rakudo: zoffixznet++ created pull request #1055: Implement Failure.fail
03:44 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1055
03:44 samcv m: Failure.fail
03:44 camelia rakudo-moar 099512: OUTPUT: «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␤␤»
03:45 samcv m: Failure.new.fail
03:45 camelia rakudo-moar 099512: OUTPUT: «Failed␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:45 samcv m: Failure.new.fail.fail.fail
03:45 camelia rakudo-moar 099512: OUTPUT: «Failed␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:45 samcv m: ("Failure.new" ~ '.fail' x 10000).EVAL
03:46 camelia rakudo-moar 099512: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 210800640 bytes␤»
03:46 samcv heh
03:46 samcv m: ("Failure.new" ~ '.fail' x 100).EVAL
03:46 camelia rakudo-moar 099512: OUTPUT: «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␤␤»
03:47 agentzh joined #perl6-dev
03:48 Zoffix m: Failure.new.meow.meow.meow
03:48 camelia rakudo-moar 099512: OUTPUT: «Failed␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:49 * Zoffix goes to try sleeping again
05:06 astj_ joined #perl6-dev
05:22 agentzh_ joined #perl6-dev
05:39 geekosaur joined #perl6-dev
05:46 RabidGravy joined #perl6-dev
06:17 samcv hmm this io op has 0 coverage nqp::fileno_fh
06:17 samcv and doesn't appear to be used anywhere
06:17 samcv in nqp or in rakudo, though it is availible as an op
06:17 samcv https://cry.nu/coverage/libmoar/coverage/home/samantha/git/MoarVM/src/io/io.c.html#L50
06:23 samcv 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:33 samcv Zoffix, this may be more useful https://cry.nu/coverage/roast/libmoar/coverage/home/samantha/git/MoarVM/src/io/fileops.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:34 samcv 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:37 samcv 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:49 samcv JVM, JS and Moar all have nqp::filenofh fyi
06:53 samcv m: use nqp; say "IN ", nqp::filenofh(nqp::getstdin); say "OUT ", nqp::filenofh(nqp::getstdout);
06:53 camelia rakudo-moar 099512: OUTPUT: «IN 0␤OUT 1␤»
06:53 samcv cool
06:55 samcv i get 9 for stdin and 10 for stdout (using perl6 -e and also REPL)
06:56 agentzh joined #perl6-dev
06:58 Geth ¦ nqp: 9b2745046f | (Samantha McVey)++ | docs/ops.markdown
06:58 Geth ¦ nqp: Add doc for filenofh to ops.markdown
06:58 Geth ¦ nqp:
06:58 Geth ¦ nqp: JVM, JS and MoarVM all have this opcode.
06:58 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/9b2745046f
08:38 Tux__ joined #perl6-dev
09:27 |Tux| joined #perl6-dev
09:38 astj joined #perl6-dev
10:01 Zoffix samcv: that's how all IO routines work
10:01 Zoffix So naming just 1 of them "-rest" and breaking convention makes no sense.
10:02 Zoffix Also, you can't seek a pipe, so it makes even less sense there.
10:02 Zoffix https://github.com/rakudo/rakudo/blob/nom/docs/2017-IO-Grant--Action-Plan.md#rename-iohandleslurp-rest-to-just-slurp-issue-for-discussion
10:05 lizmat Zoffix: as the inventor of slurp-rest, I agree that we can put it to rest  :-)
10:06 Zoffix I meant that's how all *IO::Handle* routine works
10:06 Zoffix \o/
10:06 Zoffix lizmat: AlexDaniel was wondering about the reason why it had '-rest' at the end tho
10:06 lizmat well, since it doesn't close the handle, if another process is writing to the file
10:07 lizmat you could potentially call it multiple times
10:07 lizmat whereas with IO::Path.slurp you couldn't
10:07 lizmat think tail -f
10:09 Zoffix Ah
10:19 astj_ joined #perl6-dev
11:40 Geth ¦ rakudo/nom: 4facf105c9 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
11:40 Geth ¦ rakudo/nom: Make Baggy (|) Baggy at least 40x faster
11:40 Geth ¦ rakudo/nom:
11:40 Geth ¦ rakudo/nom: - based on 2 exclusive Bags/Mixes of 10 elements each
11:40 Geth ¦ rakudo/nom: - avoids potentially expensive .WHICH recalculations
11:40 Geth ¦ rakudo/nom: - added specific Baggy/Baggy and Mixy/Mixy (|) candidates
11:40 Geth ¦ rakudo/nom: - rewritten using nqp::ops
11:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4facf105c9
11:49 * lizmat still wonders how to create a signature that would match on object hashes only
11:53 robertle joined #perl6-dev
11:53 AlexDaniel joined #perl6-dev
11:54 timotimo non-object-hashes have a coercive key type, no?
11:55 lizmat yeah, so "where .keyof =:= Str(Any)"   yuck
11:56 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
11:56 timotimo you can inspect its type for "is it coercive?"
11:56 lizmat timotimo: eh, how?  and in a signature without "where"  :-)
11:58 timotimo m: my $objh := :{1 => 99}; say $objh.keyof.^archetypes.coercive
11:58 camelia rakudo-moar 4facf1: OUTPUT: «Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at <tmp> line 1␤␤»
11:58 timotimo m: my $objh := :{1 => 99};␤ say $objh.keyof.^archetypes.coercive
11:58 camelia rakudo-moar 4facf1: OUTPUT: «Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at <tmp> line 2␤␤»
11:58 timotimo i did what wrong now?
11:59 timotimo ah
11:59 timotimo m: my $objh := :{1 => 99};␤ say $objh.keyof.HOW.archetypes.coercive
11:59 camelia rakudo-moar 4facf1: OUTPUT: «0␤»
11:59 timotimo m: my $objh := {1 => 99};␤ say $objh.keyof.HOW.archetypes.coercive
11:59 camelia rakudo-moar 4facf1: OUTPUT: «1␤»
12:00 timotimo you think that's good?
12:00 lizmat that would still imply "where .keyof.HOW.archetypes.coercive" in a signature
12:01 lizmat and that would be expensive
12:01 timotimo mhh
12:02 lizmat m: my %h{Str(Cool)} = a => 42'   # we actually don't appear to support coercive typed object hashes
12:02 camelia rakudo-moar 4facf1: OUTPUT: «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␤  …»
12:02 lizmat m: my %h{Str(Cool)} = a => 42   # we actually don't appear to support coercive typed object hashes
12:02 camelia rakudo-moar 4facf1: OUTPUT: «Type check failed in binding to parameter 'key'; expected Str(Cool) but got Str ("a")␤  in block <unit> at <tmp> line 1␤␤»
12:02 timotimo oh, just a parse problem?
12:02 timotimo oh, huh
12:02 lizmat first one was copypasto
12:02 timotimo that is certainly strange
12:10 astj joined #perl6-dev
12:14 lizmat I'll rakudobug it so it won't fall through the cracks
12:15 timotimo aye
12:28 lizmat RT #131103
12:28 lizmat hmmm... looks liek we lost synopsebot
12:28 timotimo just saw it
12:29 timotimo i restarted the bot
12:30 synopsebot6 joined #perl6-dev
12:57 AlexDaniel joined #perl6-dev
12:57 Zoffix AlexDaniel: I found the answer for slurp-rest's name: https://irclog.perlgeek.de/perl6-dev/2017-04-05#i_14378461
12:59 AlexDaniel Zoffix: hm, okay
12:59 * lizmat thought that was common knowledge  :-(
12:59 Zoffix :)
13:00 AlexDaniel Zoffix: but then, doesn't it mean that it is good to have different names?
13:00 AlexDaniel or am I missing something?
13:02 Geth ¦ rakudo/nom: 9470d1c4e1 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
13:02 Geth ¦ rakudo/nom: Make Map (|) Map 15x to 20x faster
13:02 Geth ¦ rakudo/nom:
13:02 Geth ¦ rakudo/nom: - separate candidate for Map/Map
13:02 Geth ¦ rakudo/nom: - rewrite in nqp ops
13:02 Geth ¦ rakudo/nom: - handle object hashes by (fast) coercion to Set (15x faster)
13:02 Geth ¦ rakudo/nom: - handle ordinary hashes by dual iteration (20x faster)
13:02 Geth ¦ rakudo/nom: - based on 26-element hash (|) with itself
13:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9470d1c4e1
13:02 * lizmat hopes this performance enhancements will proliferate the use of set operations in the Perl 6 world
13:03 lizmat *help in proliferation
13:04 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 Zoffix followed, IO::Handle would be providing .lines-rest, .words-rest, .split-rest, and .comb-rest
13:05 AlexDaniel Zoffix: it is hard to argue with IO ninjas ;)
13:05 Zoffix lizmat++ I hope so too!
13:24 astj joined #perl6-dev
13:52 astj joined #perl6-dev
14:18 pmurias joined #perl6-dev
14:36 Zoffix I reached for skip-all 2 days ago actually, when writing https://github.com/perl6/roast/commit/430ab897a82ad383aef4fefae6bf0b976d3b25c9
14:39 |Tux| This is Rakudo version 2017.03-132-g9470d1c4e built on MoarVM version 2017.03-88-g21fc7a22
14:39 |Tux| csv-ip5xs        3.076
14:39 |Tux| test            12.367
14:39 |Tux| test-t           4.829 - 4.903
14:39 |Tux| csv-parser      12.990
14:40 Zoffix buggable: speed 3
14:40 buggable Zoffix, ▃▂▁ data for 2017-04-04–2017-04-05; range: 4.829s–4.979s; 3% faster
14:40 Zoffix sweet
14:46 Zoffix m: multi plan(Pair (:$key where 'skip-all', :value($reason))) { };  plan skip-all => "Just 'cause";
14:46 camelia rakudo-moar 9470d1: OUTPUT: «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␤␤»
14:46 Zoffix m: multi plan(Pair (:key<skip-all>, :value($reason))) { };  plan skip-all => "Just 'cause";
14:46 camelia rakudo-moar 9470d1: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> 3multi plan(Pair (:7⏏5key<skip-all>, :value($reason))) { };  p␤»
14:47 * Zoffix was hoping that'd Just Work™
14:47 jnthn that'll be passed as a named arg anyway?
14:47 Zoffix Though why use `plan` for that
14:47 Zoffix Ohhh right
14:48 Zoffix m: multi sub plan(Pair (:$key where 'skip-all', :value($reason))) { dd [ $reason ]; };  plan "skip-all" => "Just 'cause";
14:48 camelia rakudo-moar 9470d1: OUTPUT: «["Just 'cause"]␤»
14:48 Zoffix it does just work \o/
15:08 Geth ¦ nqp/master: 5 commits pushed by (Pawel Murias)++
15:08 Geth ¦ nqp/master: 0fd6d1a17d | [js] Make multicaches cache type object separately
15:08 Geth ¦ nqp/master: 7abb070b40 | Test caching of type objects
15:08 Geth ¦ nqp/master: fd76c7ec4a | [js] Store the exception message in $$message
15:08 Geth ¦ nqp/master: f54829b40f | [js] Fix nqp::resume
15:08 Geth ¦ nqp/master: 6e31733624 | Test nqp::resume some more
15:08 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/9b2745046f...6e31733624
15:31 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:56 Zoffix ugh... massive lag between me and my VM :S
15:57 Zoffix Feels like communicating with the Moon
15:59 Geth ¦ rakudo/nom: 463898aa38 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
15:59 Geth ¦ rakudo/nom: Normalize (|) on arg cases resulting in .Set
15:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/463898aa38
15:59 Geth ¦ rakudo/nom: 3f365081a2 | (Elizabeth Mattijsen)++ | 2 files
15:59 Geth ¦ rakudo/nom: Fix/Optimize .Set(Hash) coercers
15:59 Geth ¦ rakudo/nom:
15:59 Geth ¦ rakudo/nom: - on object hashes we *should* check for truthiness of value
15:59 Geth ¦ rakudo/nom: - fix thinko: SetHashes don't need containers
15:59 Geth ¦ rakudo/nom:   on SetHashes, you cannot change a value, only add/remove
15:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f365081a2
16:00 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
16:00 Geth ¦ rakudo/nom: Implement `skip-all` option for Test::plan()
16:00 Geth ¦ rakudo/nom:
16:00 Geth ¦ rakudo/nom: - plan skip-all => "some reason for skippage";
16:00 Geth ¦ rakudo/nom: - exits the test file if used outside a subtest
16:00 Geth ¦ rakudo/nom: - returns from the subtest if used in a subtest
16:00 Geth ¦ rakudo/nom: - powered by Unicorns
16:00 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14b6d5f360
16:00 Geth ¦ roast: 680970a2e5 | (Zoffix Znet)++ | 2 files
16:00 Geth ¦ roast: Test `skip-all` option in Test::plan()
16:00 Geth ¦ roast:
16:00 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/14b6d5f360
16:00 Geth ¦ roast: review: https://github.com/perl6/roast/commit/680970a2e5
16:00 Zoffix Hehe, indeed it would :)
16:24 Zoffix uuuuhhh... make t/spec/some-file.t fails if all tests are skipped with skip-all :/
16:26 Zoffix 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 Zoffix wonder if that should be the same
16:27 * 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:31 [Coke] if $*TMPDIR ain't good... is that Perl 6's problem? who is setting a bad tmpdir?
16:32 Zoffix [Coke]: it tries several locations to find one that's there.
16:32 Zoffix 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
16:33 agentzh joined #perl6-dev
16:34 Zoffix for $*HOME: no checks: https://github.com/rakudo/rakudo/blob/nom/src/core/Process.pm#L61-L71
16:35 Zoffix for $*TMPDIR: checks: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Spec/Win32.pm#L38-L56
16:35 Zoffix Though now I see I guess I can override $*SPEC and get my wish. Easy peasy
16:37 Zoffix 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 Zoffix (see? It's all about framing: "exposed a bug" instead of "broke it")
16:39 Zoffix Oh wait, not t/harness5 but make maker for `make t/spec/some-file`
16:40 Zoffix Oh wait, no, t/harness5 isn't passing my env to the test for some reason /o\
16:41 Zoffix :S
16:41 Zoffix And `make t/foo.t` works now. wtf
16:42 [Coke] Zoffix: makes sense. if set, use it.
16:42 [Coke] if not, best guess.
16:42 Geth ¦ nqp: b10d177d40 | (Pawel Murias)++ | t/moar/02-qast-references.t
16:42 Geth ¦ nqp: Test using nqp::assign on lexicalrefs
16:42 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/b10d177d40
16:44 [Coke] pmurias: how goes?
16:46 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:47 Zoffix And t/harness5 isn't only when running a single file, not when make spectest or stuff
16:49 agentzh joined #perl6-dev
16:55 Zoffix Ahh, I see. Some guy named Zoffix used a not-quite-right method in t/harness5 to indicate failurage with exit code.
16:56 Zoffix What a noob!
16:56 * Zoffix misses having a Markov bot to talk to...
16:57 Zoffix ZOFVM: Files=1233, Tests=133173, 114 wallclock secs (20.88 usr  3.04 sys + 2333.52 cusr 152.91 csys = 2510.35 CPU)
16:59 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)
17:00 pmurias [Coke]: I have to leave now, but I'll write a blog post with the update on the current state tommorow
17:00 agentzh joined #perl6-dev
17:02 Zoffix ZOF6VM: Files=1233, Tests=133173,  232 wallclock secs
17:05 Geth ¦ rakudo/nom: f28c515700 | (Zoffix Znet)++ | t/harness5
17:05 Geth ¦ rakudo/nom: Fix t/harness5 incorrectly failing NOTESTS runs
17:05 Geth ¦ rakudo/nom:
17:05 Geth ¦ rakudo/nom: When whole-file skippage is done, no tests are run and
17:05 Geth ¦ rakudo/nom: TAP::Parser::Aggregator->all_passed actually returns false
17:05 Geth ¦ rakudo/nom: and the t/harness5 considers the run a failed one.
17:05 Geth ¦ rakudo/nom:
17:05 Geth ¦ rakudo/nom: Fix by using ->no_errors method instead.
17:05 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f28c515700
17:12 Geth ¦ roast: b7a19b50fd | (Zoffix Znet)++ | S32-io/chdir-process.t
17:12 Geth ¦ roast: Use new `skip-all` feature to skill all tests
17:12 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b7a19b50fd
17:12 agentzh joined #perl6-dev
17:12 Zoffix s/skill/skip/;
17:16 [Coke] pmurias++
17:18 [Coke] .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.
17:25 * Zoffix grumbles about `skip-rest` not calling `exit` :/
17:34 Geth ¦ rakudo/nom: b62d1a768a | (Zoffix Znet)++ | src/core/Process.pm
17:34 Geth ¦ rakudo/nom: [io grant] Give $*TMPDIR a container
17:34 Geth ¦ rakudo/nom:
17:34 Geth ¦ rakudo/nom: So it would be possible to `temp` it.
17:34 Geth ¦ rakudo/nom:
17:34 Geth ¦ rakudo/nom: Whether temping and already temped temp dir in $*TMPDIR would make
17:34 Geth ¦ rakudo/nom: the Universe implode is unknown.
17:34 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b62d1a768a
17:35 Geth ¦ roast: 1d4e8819d0 | (Zoffix Znet)++ | S16-io/tmpdir.t
17:35 Geth ¦ roast: [io grant] Test $*TMPDIR can be `temp`ed
17:35 Geth ¦ roast:
17:35 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/b62d1a768a
17:35 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1d4e8819d0
18:17 astj joined #perl6-dev
18:31 AlexDaniel joined #perl6-dev
19:03 cog_ joined #perl6-dev
19:04 travis-ci joined #perl6-dev
19:04 travis-ci Rakudo build passed. Zoffix Znet 'Fix t/harness5 incorrectly failing NOTESTS runs
19:04 travis-ci https://travis-ci.org/rakudo/rakudo/builds/218964259 https://github.com/rakudo/rakudo/compare/14b6d5f36074...f28c515700b8
19:04 travis-ci left #perl6-dev
19:28 Zoffix To keep everyone in the loop, the ecosystem TAP::Harness ( https://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 Zoffix Rakudo Star to include the ecosystem version, since `zef` can use it and not require the presence of `prove` for testing.
19:28 Zoffix .tell ugexe FYI: https://irclog.perlgeek.de/perl6-dev/2017-04-05#i_14380970
19:28 yoleaux2 Zoffix: I'll pass your message to ugexe.
19:32 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 http://perl6.fail/release/stats for details
19:36 samcv good *
19:36 samcv ***************************************
19:43 Zoffix \o
19:44 moritz \o
19:46 samcv moritz, i might work on the unicode chapter a bit today
19:46 samcv seems like a good day to do it
19:47 samcv so it's being published under which distributor? instead of the other one
19:48 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
19:57 travis-ci joined #perl6-dev
19:57 travis-ci Rakudo build failed. Zoffix Znet '[io grant] Give $*TMPDIR a container
19:57 travis-ci https://travis-ci.org/rakudo/rakudo/builds/218975066 https://github.com/rakudo/rakudo/compare/f28c515700b8...b62d1a768a0b
19:57 travis-ci left #perl6-dev
19:57 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
20:01 Zoffix hm, weird failure. Didn't get perlbrew
20:02 * Zoffix assumes a fluke
20:06 MasterDuke Zoffix: i backlogged a little and your birthday was 4/3?
20:07 Zoffix Yes
20:08 MasterDuke happy birthday. turns out my daughter celebrated her zeroeth birthday then also
20:09 samcv looks like a cloning problem "fatal: The remote end hung up unexpectedly"
20:10 Zoffix Hah. Cool. You're the second person I know who has a daughter with birthday same day as me
20:10 Zoffix MasterDuke: so... I guess you'll be away from Perl 6 work for the next... 17-20 years? :p
20:14 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:16 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
20:16 MasterDuke thanks
20:16 Zoffix Sweet! Glad to have a new user :)
20:39 timotimo MasterDuke: congratulations on how u formed babby!
20:41 MasterDuke thanks, so far she's formed pretty well
20:47 timotimo :)
21:02 AlexDaniel MasterDuke: amazing news! Congratulations \o/
21:02 lizmat hmmm.. is Geth dead ?
21:02 Geth ¦ rakudo/nom: 65037c3e95 | (Elizabeth Mattijsen)++ | src/core/core_prologue.pm
21:02 Geth ¦ rakudo/nom: Introducing IterationSet
21:02 Geth ¦ rakudo/nom:
21:02 Geth ¦ rakudo/nom: This commit introduces the Hash equivalent of IterationBuffer: IterationSet.
21:02 Geth ¦ rakudo/nom: It has the same low level REPR as nqp::hash, but it will not be automatically
21:02 Geth ¦ rakudo/nom: HLLized to a Hash when used as a parameter.  This allows usage of
21:02 Geth ¦ rakudo/nom: nqp::hashes in common subroutines without needing to HLLize and de-HLLize
21:02 Geth ¦ rakudo/nom: all the time.
21:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65037c3e95
21:02 Geth ¦ rakudo/nom: fb60621af7 | (Elizabeth Mattijsen)++ | 4 files
21:03 Geth ¦ rakudo/nom: Using IterationSet for QuantHashes
21:03 Geth ¦ rakudo/nom:
21:03 Geth ¦ rakudo/nom: This commit uses the new IterationSet for QuantHash creation.
21:03 Geth ¦ rakudo/nom: This makes Set.new(42) about 5% faster, saves 1 frame and one object
21:03 Geth ¦ rakudo/nom: creation for each new QuantHash, thereby reducing memory pressure.
21:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb60621af7
21:03 AlexDaniel coincidence? I don't think so
21:04 MasterDuke AlexDaniel: thanks
21:06 AlexDaniel (just in case… my last message was about Geth :) )
21:08 quotable6 joined #perl6-dev
21:08 unicodable6 joined #perl6-dev
21:08 evalable6 joined #perl6-dev
21:08 bisectable6 joined #perl6-dev
21:08 bloatable6 joined #perl6-dev
21:08 committable6 joined #perl6-dev
21:08 benchable6 joined #perl6-dev
21:08 statisfiable6 joined #perl6-dev
21:08 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 Zoffix 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
21:09 camelia rakudo-moar b62d1a: OUTPUT: «1.9992113␤»
21:09 camelia rakudo-moar b62d1a: OUTPUT: «0.1470724␤»
21:09 Zoffix m: say 1.999/0.147
21:09 camelia rakudo-moar b62d1a: OUTPUT: «13.598639␤»
21:09 Zoffix yikes
21:10 lizmat yeah, samewith is not cheap  :-(
21:22 * Zoffix constantly mis-types PERL6_TEST_DIE_ON_FAIL as PERL^_TEST_DIE_ON_FAIL
21:22 Zoffix With it wasn't named that way...
21:22 Zoffix *wish
21:38 Geth ¦ rakudo/nom: e408e474d3 | (Elizabeth Mattijsen)++ | 4 files
21:38 Geth ¦ rakudo/nom: IterationSet should be internal, at least for now
21:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e408e474d3
22:00 Geth ¦ rakudo/nom: ad01ed7675 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
22:00 Geth ¦ rakudo/nom: Abstract Set.new-from-pairs logic
22:00 Geth ¦ rakudo/nom:
22:00 Geth ¦ rakudo/nom: So we can use it elsewhere
22:00 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad01ed7675
22:32 lizmat good night, #perl6-dev!
22:36 Zoffix night
23:31 agentzh joined #perl6-dev

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