Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-08

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

All times shown according to UTC.

Time Nick Message
00:08 MasterDuke https://github.com/rakudo/rakudo/pull/814, if anybody has an hour or so for the in-depth analysis required to validate this PR i promise it will be a thrilling ride
00:14 Zoffix m: say min +'a'
00:14 camelia rakudo-moar 29a110: OUTPUT«Inf␤»
00:14 Zoffix m: say minmax +'a'
00:14 camelia rakudo-moar 29a110: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any  at gen/moar/m-Metamodel.nqp line 3055␤  in block <unit> at <tmp…»
00:14 Zoffix hm
00:15 * Zoffix will fix
00:18 Zoffix m: say List.^can('min')[0].package
00:18 camelia rakudo-moar 29a110: OUTPUT«(Any)␤»
00:18 Zoffix I don't see it defined in Any.pm tho?
00:19 Zoffix Hm, Any-iterable-methods  OK
00:21 Zoffix m: sub foo { fail }; foo // say 'meow'
00:21 camelia rakudo-moar 29a110: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Null regex not allowed␤at <tmp>:1␤------> sub foo { fail }; foo //⏏ say 'meow'␤»
01:01 Zoffix PR fixing the min/max stuff: https://github.com/rakudo/rakudo/pull/815
01:06 sortiz Zoffix++ # Failure propagation
01:06 Zoffix It's a shitty solution, now that I think of it.
01:07 Zoffix Well, not consistent, rather.
01:07 Zoffix zoffix@VirtualBox:~/CPANPRC/rakudo$ ./perl6-m -e 'my $x = min +"a"; say 42'
01:07 Zoffix 42
01:07 Zoffix zoffix@VirtualBox:~/CPANPRC/rakudo$ ./perl6-m -e 'my $x = min +"a", +"a"; say 42'
01:07 Zoffix Cannot convert string to number: base-10 number must begin with valid digits or '
01:09 Zoffix m: say min +'a', +'a'
01:09 camelia rakudo-moar 29a110: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
01:09 Zoffix m: say min +'a'
01:09 camelia rakudo-moar 29a110: OUTPUT«Inf␤»
01:09 Zoffix So, the PR is a mild improvement over the current situation :)
01:11 MasterDuke Zoffix += .5?
01:11 sortiz :)
01:13 sortiz Well, Failure handling is tricky.
01:13 MasterDuke i started thinking "what's half of '++', but more interesting than '+'?" and nearly said Zoffix-- (a '-' being half of a '+''), but thought that could be mis-interpreted
01:42 sortiz Zoffix, thinking about it, in those cases if a Failure is detected is better to throw it, imo
01:46 AlexDaniel joined #perl6-dev
01:46 geekosaur ⁺⁺ :p
01:46 sortiz i.e, nqp::istype($min, Failure) ?? $min.throw !! $min // Inf
01:59 Zoffix sortiz, updated, thanks, but I see it spilling guts in the throw message "in any  at gen/moar/m-Metamodel.nqp line 3055": https://gist.github.com/zoffixznet/cb2ec41662e469b8c12d97f3552e20ec
01:59 Zoffix The second one is the current rakudo message, for reference
02:04 sortiz Zoffix, btw, I think that the test for Failure can be moved to !first-concrete, and may be better handled there.
02:14 Zoffix sortiz, yeah, makes more sense to put it there. Any way to make the thrown exception look the same as for the case with more than one arg?
02:15 sortiz Zoffix, I'm looking into...
02:25 Zoffix Actually, not sure how to do it in !first-concrete... self.throw if nqp::istype(self, Failure); doesn't work
02:27 sortiz You don't need to test in self, test in $value.
02:28 sortiz self is the Iterable.
02:44 sortiz Zoffix, something like https://gist.github.com/salortiz/56ed771aa6d40d993ee3b65baadeef92
02:45 Zoffix sortiz, yeah, that's my current version I'm spectesting.
02:45 Zoffix It still got gen/moar/m-Metamodel.nqp in the error message, but at least it's consistent now between 1- and many- arg versions :)
02:46 sortiz ¯\_(ツ)_/¯ , as Zoffix says
02:47 Zoffix :) I got a key bound to type that :)
02:47 sortiz Yep, I suppose that
02:47 sortiz :)
02:49 skids joined #perl6-dev
02:56 sortiz Zoffix, seems that  nqp::istype($value, Failure) ?? $value.exception.throw !! $value  avoids the Metamodel issue.
03:03 * sortiz likes Pair programming
03:09 Zoffix \o/
03:09 Zoffix sortiz++ great!
03:12 Zoffix spectested and PR updated.
03:12 * Zoffix goes to bed o
03:12 sortiz Zoffix++
03:13 sortiz \o
04:05 dalek roast: 683aeea | (Zoffix Znet)++ | S03-operators/minmax.t:
04:05 dalek roast: min/max with Failures throw
04:05 dalek roast:
04:05 dalek roast: RT#125334
04:05 dalek roast: RT#128573 (currently fudged;
04:05 dalek roast: awaiting merge of https://github.com/rakudo/rakudo/pull/815)
04:05 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125334
04:05 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128573
04:05 dalek roast: review: https://github.com/perl6/roast/commit/683aeeaba8
06:41 RabidGravy joined #perl6-dev
07:41 bartolin joined #perl6-dev
07:47 nine MasterDuke: I kinda hate that we slow down every use of .chop for a completely unrealistic edge case :/
07:48 sno joined #perl6-dev
07:49 psch what's the completely unrealistic edge case? $chars <= 0?
07:49 nine $chars being 9999999999999999999999999999
07:50 psch oh, right, because substr takes an int
07:51 psch well, nqp::substr
07:52 nine I wonder why we have a coercer in the signature there. We usually don't?
07:53 nine Because I really think it should just take an int
07:53 psch m: say "foo".chop("1")
07:53 camelia rakudo-moar 29a110: OUTPUT«fo␤»
07:53 nine The string's length cannot exceed int characters anyway
07:53 psch yeah, the coercer is a bit weird
08:00 nine The commit doesn't really explain it either https://github.com/rakudo/rakudo/commit/0c0eb135
08:02 psch yeah, the coercer still comes out of nowhere
08:02 psch the message seems to talk about the parameter being propagated to the sub form and Cool candidate, if anything
08:26 psch grr
08:26 psch https://gist.github.com/peschwa/f0b3c39e9c63112fda51e60e237a9b2d
08:26 psch what a supremely useless backtrace :|
08:34 nine We apparently even have a spec test for the coercion, but again the commit message does not tell why :/
08:39 psch hrm, i suppose i could try to reach for lexical_handler_not_found_error in invokeDirect where we normally throw the UnwindException
08:39 psch but i'm pretty sure it's not only things that want to throw X::ControlFlow::Return that could reach there
08:47 nine psch: at least your useless backtrace tought me about "catch uncought" :)
08:49 psch yeah, it's pretty neat
08:49 psch doesn't always seem to work though
08:49 psch as in, i remember that RTE still always get caught
08:49 psch but i might be mistaken, 'cause UnwindException extends ControlException extends RuntimeException
08:49 psch so, yeah, it's probably generally useful :P
09:03 dalek rakudo/nom: 94b52c1 | (Daniel Green)++ | src/core/Str.pm:
09:03 dalek rakudo/nom: Fix RT #125814
09:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94b52c16a7
09:03 dalek rakudo/nom: 98d472c | lizmat++ | src/core/Str.pm:
09:03 dalek rakudo/nom: Merge pull request #814 from MasterDuke17/RT125814
09:03 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125814
09:03 dalek rakudo/nom:
09:03 dalek rakudo/nom: Fix RT #125814
09:03 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125814
09:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98d472ca28
09:03 dalek roast: a222a04 | (Daniel Green)++ | S32-str/chop.t:
09:03 dalek roast: Tests for RT #125814
09:03 dalek roast: review: https://github.com/perl6/roast/commit/a222a0411a
09:03 dalek roast: d9c3d2c | lizmat++ | S32-str/chop.t:
09:03 dalek roast: Merge pull request #133 from MasterDuke17/RT125814
09:03 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125814
09:03 dalek roast:
09:03 dalek roast: Tests for RT #125814
09:03 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125814
09:03 dalek roast: review: https://github.com/perl6/roast/commit/d9c3d2c5cf
09:05 lizmat nine psch re chop coercing to Int()
09:06 lizmat I thought it would be wise to the behaviour be consistent with this:
09:06 lizmat m: my @a =  ^10; say @a["4"]
09:06 camelia rakudo-moar 29a110: OUTPUT«4␤»
09:06 nine lizmat: that looks kinda surprising, too :)
09:07 nine I thought we don't coerce in general?
09:08 lizmat not sure how general that is  :-)
09:15 psch i'm mostly wondering why it has to be a coercer instead of Cool and just use it Int-y
09:16 psch so, yeah, it's probably fine
09:17 nine Even with Cool, we'd have to support Int. But I wonder if a multi could safe performance in the common case here?
09:21 psch uhh, what.  i got a ThreadContext without a curFrame..?
09:49 psch well, i guess i have an idea why that is
09:49 psch 'cause it happens in invokeDirect
09:49 psch which means we are between frames, i think..?
10:12 cognominal joined #perl6-dev
10:28 psch hrm, this is somewhat terrible
10:28 psch because we don't really have way to figure out if we've missed all possible handlers
10:29 psch (still talking about the 'sub f { ^3 .map({ return }) }; f' thing jnthn mentioned yesterday)
10:29 dalek rakudo/nom: 5b0a9e4 | lizmat++ | src/core/Rakudo/Internals.pm:
10:29 dalek rakudo/nom: Make sure we know about the new leap-second
10:29 dalek rakudo/nom:
10:29 dalek rakudo/nom: https://datacenter.iers.org/web/guest/eop/-/somos/5Rgv/latest/16
10:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5b0a9e4caa
10:30 psch the weird bit is that it apparently doesn't go through handlerDynamic either
10:30 psch 'cause i already tried that and it didn't change anything
10:32 psch and i don't think we can reliably install a handler during code gen either
10:40 jnthn psch: All MoarVM does there is check that the frame that it got is also in the caller chain relative to tc->cur_frame
10:41 jnthn psch: Though it has some short-cuts to avoid the scan
10:41 jnthn (In some cases)
10:41 jnthn (The common ones... :))
10:41 jnthn But a scan along the dynamic chain should be correct
10:42 jnthn https://github.com/MoarVM/MoarVM/blob/master/src/core/exceptions.c#L154
10:42 jnthn Just realized that we have an even simpler way to figure it out so never need to scan :)
10:44 psch jnthn: so that's handlerDynamic and handlerLexical rolled in one?
10:48 Zoffix m: my $a = +'a'; say 42
10:48 camelia rakudo-moar 98d472: OUTPUT«42␤»
10:48 Zoffix m: my $a = +'a';  my $y = $a cmp 42; say 42
10:48 camelia rakudo-moar 98d472: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
10:49 Zoffix So my very first version of #815 should've been the more correct one? min/max with single arg that is Failure should return it instead of throwing? RE: https://github.com/rakudo/rakudo/pull/815#issuecomment-231308852
10:49 Zoffix s/should've/were/;
10:53 jnthn psch: Yeah, the way it's factored in Moar we switch move `mode`
10:53 jnthn *switch over
10:53 dalek rakudo/nom: ea8c42a | lizmat++ | src/core/Array.pm:
10:53 dalek rakudo/nom: Make Array.unshift|prepend a few % faster
10:53 dalek rakudo/nom:
10:53 dalek rakudo/nom: - lose the ensure-allocated
10:53 dalek rakudo/nom: - also make sure it can handle "bare" Array objects without $!reified
10:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ea8c42a487
11:09 lizmat Zoffix: yeah, that feels righter
11:15 gfldex m: enum Foo { 'Bar' => 1}; say 'Bar';
11:15 camelia rakudo-moar ea8c42: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared name:␤    Foo used at line 1␤Undeclared routine:␤    enum used at line 1␤␤»
11:15 gfldex m: enum Foo ( 'Bar' => 1 ); say 'Bar';
11:15 camelia rakudo-moar ea8c42: OUTPUT«Bar␤»
11:16 gfldex m: enum Foo ( 'Bar' => 1 ); say "{'Bar'}";
11:16 camelia rakudo-moar ea8c42: OUTPUT«Bar␤»
11:23 tbrowder mornin' #perl6-dev
11:24 [Tux] This is Rakudo version 2016.06-169-gea8c42a built on MoarVM version 2016.06-9-g8fc21d5
11:24 [Tux] test            15.808
11:24 [Tux] test-t           9.202
11:24 [Tux] csv-parser      16.541
11:26 tbrowder ref table pod: I'm trying to incrementally add some severe changes as gradually as I can to eliminate problems, so I've added my proposed DebugPod.nqp as a single PR.  The current spec table test has been run against it successfully.  Please consider PR https://github.com/rakudo/rakudo/pull/816
11:39 dalek rakudo/nom: c98a6e6 | (Tom Browder)++ | src/Perl6/DebugPod.nqp:
11:39 dalek rakudo/nom: add new file with pod debugging subroutines
11:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c98a6e69c9
11:39 dalek rakudo/nom: 1fb74d5 | (Tom Browder)++ | tools/build/Makefile- (2 files):
11:39 dalek rakudo/nom: mod build tools to compile the new debugging file
11:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1fb74d54de
11:39 dalek rakudo/nom: 30cb7d3 | lizmat++ | / (3 files):
11:39 dalek rakudo/nom: Merge pull request #816 from tbrowder/add-pod-debug-file
11:39 dalek rakudo/nom:
11:39 dalek rakudo/nom: Add pod debug file
11:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/30cb7d3a43
11:47 lizmat tbrowder++
12:10 dalek rakudo/nom: 94a31c6 | lizmat++ | src/core/List.pm:
12:10 dalek rakudo/nom: Make List.EXISTS-POS about 2.5x as fast
12:10 dalek rakudo/nom:
12:10 dalek rakudo/nom: - no longer allocates unless necessary
12:10 dalek rakudo/nom: - first checks validity of index before doing anything else
12:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94a31c6fa8
12:20 lizmat afk&
12:25 BrokenRobot Oh neat. Google Compute Engine has an API to start/stop instances: https://cloud.google.com/compute/docs/reference/latest/instances/start Should be fairly easy to cook up a script fire up an instance and copy local work to it for fast spectesting
12:25 BrokenRobot Sounds like a good project for my weekend :)
12:28 BrokenRobot roast fails now with: https://github.com/perl6/roast/commit/d9c3d2c5cf20917c77d666e490441352318b1ccd
12:29 psch humm, my current approach complains about modifying the grammar, which i really don't do /o\
12:29 psch soo it's probably wrong :S
12:29 BrokenRobot And I second nine's sentiments about this. If you're attempting to .chomp an exabyte of data you already have a bug
12:30 BrokenRobot s/this/slowdown for unrelistic edge case/;
12:32 * psch wonders how long Str we can have
12:32 psch probably depends on how we get them, too
12:32 psch m: my $x = [~] ("a" x 1073741824) xx 2**16 # works, 2**32 doesn't
12:32 camelia rakudo-moar 94a31c: ( no output )
12:32 psch so somewhere in between for that method vOv
12:32 psch m: my $x = [~] ("a" x 1073741824) xx 2**16; say $x.chars
12:32 camelia rakudo-moar 94a31c: OUTPUT«0␤»
12:32 psch aha
12:33 psch m: my $x = [~] (("a" x 1073741824) xx 2**16); say $x.chars
12:33 camelia rakudo-moar 94a31c: OUTPUT«0␤»
12:33 psch m: my $x = [~] (("a" x 1073741824)); say $x.chars
12:33 camelia rakudo-moar 94a31c: OUTPUT«1073741824␤»
12:33 psch m: my $x = [~] (("a" x 1073741824) xx 4); say $x.chars
12:33 camelia rakudo-moar 94a31c: OUTPUT«0␤»
12:33 psch m: say (("a" x 1073741824) xx 4).map: *.chars
12:33 camelia rakudo-moar 94a31c: OUTPUT«(1073741824 1073741824 1073741824 1073741824)␤»
12:34 psch m: say (("a" x 1073741824) ~ ("a" x 1073741824)).chars
12:34 camelia rakudo-moar 94a31c: OUTPUT«2147483648␤»
12:35 BrokenRobot k, I updated the PR to return a Failure on single-arg: https://github.com/rakudo/rakudo/pull/815#issuecomment-231347953
12:37 pmurias joined #perl6-dev
12:37 BrokenRobot m: say 2**16
12:37 camelia rakudo-moar 94a31c: OUTPUT«65536␤»
12:38 BrokenRobot What's the magicalness of 1073741824?
12:38 psch m: say "a" xx 2**64
12:38 camelia rakudo-moar 94a31c: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤  in block <unit> at <tmp> line 1␤␤»
12:38 psch m: say "a" x 2**64
12:38 camelia rakudo-moar 94a31c: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤  in block <unit> at <tmp> line 1␤␤»
12:38 psch m: say "a" x 2**63
12:38 camelia rakudo-moar 94a31c: OUTPUT«repeat count (-9223372036854775808) cannot be negative␤  in block <unit> at <tmp> line 1␤␤»
12:38 psch m: say "a" x 2**32
12:38 camelia rakudo-moar 94a31c: OUTPUT«repeat count > 1073741824 arbitrarily unsupported...␤  in block <unit> at <tmp> line 1␤␤»
12:38 psch there
12:38 BrokenRobot Ah
12:38 psch also, interesting escalation of broken tbh
12:38 gfldex m: printf("%x", 1073741824);
12:38 camelia rakudo-moar 94a31c: OUTPUT«40000000»
12:39 BrokenRobot m: say 1073741824 * 2**16
12:39 camelia rakudo-moar 94a31c: OUTPUT«70368744177664␤»
12:39 psch from "we don't do that", to overflow, to "this is too much" :S
12:39 gfldex m: printf("%x", 1073741824); say 4 * 0x10000000
12:39 camelia rakudo-moar 94a31c: OUTPUT«400000001073741824␤»
12:40 gfldex m: printf("%x\n", 1073741824); say 4 * 0x10000000
12:40 camelia rakudo-moar 94a31c: OUTPUT«40000000␤1073741824␤»
12:40 BrokenRobot m: 9999999999999999999/70368744177664
12:40 camelia rakudo-moar 94a31c: OUTPUT«WARNINGS for <tmp>:␤Useless use of "/" in expression "9999999999999999999/70368744177664" in sink context (line 1)␤»
12:40 BrokenRobot m: say 9999999999999999999/70368744177664
12:40 camelia rakudo-moar 94a31c: OUTPUT«142108.547152020037160␤»
12:52 dalek nqp/optimize-with-hoopl: 6ffee97 | (Pawel Murias)++ | src/vm/js/ (4 files):
12:52 dalek nqp/optimize-with-hoopl: [js] -Ofun actually optimizes nqp::say(nqp::add_i(100, 11)) into nqp::say(111).
12:52 dalek nqp/optimize-with-hoopl: review: https://github.com/perl6/nqp/commit/6ffee97d53
13:08 BrokenRobot :/ well, that's new   t/spec/S17-procasync/no-runaway-file-limit.t hanged
13:09 BrokenRobot hung
13:11 dalek roast: 3e099c1 | (Zoffix Znet)++ | S03-operators/minmax.t:
13:11 dalek roast: Fix incorrect fudge
13:11 dalek roast: review: https://github.com/perl6/roast/commit/3e099c140a
13:17 psch so, the UnwindException leaks when we invoke a CR that doesn't have a handler but invokes throwcatdyn_c
13:17 psch and we can blanket catch those in invokeDirect, because invokeDirect might *want* to leak the because the handler is outside
13:17 dalek roast: 1956de4 | (Zoffix Znet)++ | S32-str/chop.t:
13:17 dalek roast: Add more tests for .chop with large values
13:17 dalek roast:
13:17 dalek roast: RT#125814
13:17 dalek roast: review: https://github.com/perl6/roast/commit/1956de4f04
13:17 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125814
13:17 psch but that doesn't seem to run through handlerDynamic, but instead just up the JavaClass method invokation chain
13:19 psch or, well, it at least doesn't seem to go through handlerDynamic is there isn't a handler
13:19 psch ...actually i can only confidently say that the CX for the return in the map example doesn't go through handlerDynamic
13:20 psch nor does it go through handlerLexical, 'cause then it would already be fixed :|
13:24 skids joined #perl6-dev
13:28 AlexDaniel joined #perl6-dev
13:57 tbrowder ref table pod handling: next set of changes, builds okay, table tests pass okay, please see PR https://github.com/rakudo/rakudo/pull/817
14:01 dalek roast: dbb6a58 | (Zoffix Znet)++ | S19-command-line/repl.t:
14:01 dalek roast: Pressing CTRL+D in REPL produces correct output on exit
14:01 dalek roast:
14:01 dalek roast: RT#70297
14:01 dalek roast: review: https://github.com/perl6/roast/commit/dbb6a58a34
14:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=70297
14:14 dalek nqp: a9380c3 | (Pawel Murias)++ | t/nqp/067-container.t:
14:14 dalek nqp: Test that the container is passed as an invocant to a method.
14:14 dalek nqp: review: https://github.com/perl6/nqp/commit/a9380c3547
14:39 psch grr
14:39 psch third time today i get a digit-off-by-one error when trying to check for the category of the UnwindException >_>
14:39 psch i had 66536 once and 65535 twice now
14:40 psch i mean, i just mistyped so it's kinda ok, except 13 minutes compile cycle :|
14:47 psch that's probably an argument for constants on the jvm level :P
14:47 psch well, using them, as we actually already have them
14:53 dalek nqp: d90ea08 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
14:53 dalek nqp: Minor clean-up and perf improvement.
14:53 dalek nqp:
14:53 dalek nqp: We can just keep one int int CallSite around instead of allocating a new one
14:53 dalek nqp: every time we want to call into lexicalHandlerNotFoundError.
14:53 dalek nqp: review: https://github.com/perl6/nqp/commit/d90ea08043
14:55 dalek roast: d9781be | (Zoffix Znet)++ | S19-command-line/repl.t:
14:55 dalek roast: Exceptions from lazy-evaluated things do not crash REPL
14:55 dalek roast:
14:55 dalek roast: RT#128470
14:55 dalek roast: review: https://github.com/perl6/roast/commit/d9781be0bd
14:55 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128470
15:04 b2gills An improvement for method chop could be 「my int $len = nqp::chars($str); if $chopping > $len { ... } else { ... }」 That way the only case where you have to deal with a large Int you don't actually use it ( because str is limited to less than that anyway )
15:18 BrokenRobot Is debugging unspace problems hard? Thinking of taking a crack at https://rt.perl.org/Ticket/Display.html?id=128462
15:19 timotimo could be as easy as putting an <.allow_unsp> (or whatever it's called) in the right place
15:20 BrokenRobot sweet, I'll try (/me sees such place)
15:26 gfldex timotimo: you where real good at updating Pod::To::HTML on docs.perl6.org. Could you do it again please?
15:27 timotimo done
15:28 gfldex thanks
15:29 BrokenRobot Nope, that was not the right place. The try-and-see programming approach doesn't really work with rakudo due to the build times involved :)
15:31 BrokenRobot And searching online for "What are some things to do while waiting for your code to compile?" really gives terrible results.
15:32 BrokenRobot Most common answer: "make your compiling faster" ~_~
15:37 BrokenRobot "Look for more add-ons to add to Chrome, Firefox, your mobile phone, your tablet, or whatever."  really?
15:41 gfldex "make your compiling faster" could send lizmat into an infinite loop
15:43 timotimo liz mostly works on the core setting, which doesn't factor into the speed of the compiler, only its run time
15:43 timotimo (because that's the input data)
15:45 stmuk_ joined #perl6-dev
16:35 sortiz joined #perl6-dev
16:37 psch BrokenRobot: don't forget about --target=parse
16:37 timotimo ah, right, when you change the parser you don't actually have to build the whole core setting
16:37 psch BrokenRobot: and, honestly, the remaining unspace problems might not really be that easy - i think i caught the easy ones already in my early contributions
16:38 BrokenRobot Well, I got this: https://gist.github.com/zoffixznet/6a1a698a42bfb56db8d04565f52fc540
16:38 BrokenRobot I tried sticking <.unsp> at various places in <identifier> and <longname> but the only change I produced is it was complaining about no such sub "term\"
16:39 psch hrm
16:39 psch yeah, that one does look somewhat hard from here
16:39 psch i mean, i never looked at the low-prec methodop
16:39 psch so idk what TimToady++ did there to make that work :)
16:39 BrokenRobot k, I'll leave it. Plenty of other fruits
16:42 psch #78188 looks closeable with tests, if that's to your liking
16:42 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=78188
16:42 psch m: say &[Xxx]
16:42 camelia rakudo-moar 94a31c: OUTPUT«-> + is raw { #`(Block|58035688) ... }␤»
16:42 psch m: say &infix:<Xxx>
16:42 camelia rakudo-moar 94a31c: OUTPUT«-> + is raw { #`(Block|66025872) ... }␤»
16:42 psch m: say &infix:<Xxx>(<a b>, (2,3))
16:42 camelia rakudo-moar 94a31c: OUTPUT«((a a) (a a a) (b b) (b b b))␤»
16:48 psch BrokenRobot: what kind of bugs are you looking for?  LTA errors, grammar..?
16:51 psch #123903 looks pretty fun, fwiw
16:51 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=123903
16:53 BrokenRobot Well, I just spotted that unspace one and it looked easy at the first look, so I tried it.
16:54 BrokenRobot But it was suggested there was work to be done on the profiler output, so I think I'll hack on that on the weekend.
16:54 sortiz \o #perl6-dev
16:54 BrokenRobot \o
16:54 psch o/
16:55 timotimo if it complains about term\, you'll have to make sure the thing that matches term mustn't try to nom a bare \
16:57 BrokenRobot Well, this is the only thing I changed, so I'm not even sure how I'd go about noming bare anythings :) https://gist.github.com/zoffixznet/7ec794b88f1e6a438bf4c0fa2bdf77fc
16:57 psch well, that means an unspace can belong to an identifier
16:57 psch which is why it complains about "term\"
17:00 timotimo right
17:00 timotimo that's problematic
17:01 BrokenRobot sub term:<term\\> { say 42 }; term\
17:01 BrokenRobot m: sub term:<term\\> { say 42 }; term\
17:01 camelia rakudo-moar 94a31c: OUTPUT«42␤»
17:02 psch m: sub term:<term\\> { say 42 }; term   \
17:02 camelia rakudo-moar 94a31c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤You can't backslash that␤at <tmp>:1␤------> sub term:<term\\> { say 42 }; term   \⏏<EOL>␤    expecting any of:␤        argument list␤        term␤»
17:02 psch m: sub term:<term\\> { say 42 }; term   \ .Str
17:02 camelia rakudo-moar 94a31c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    term used at line 1␤␤»
17:02 psch those two probably parse with your local change
17:02 psch but, well, it's not an unspace in the CORE sense anymore, but a really weird variable name :P
17:02 psch or term, rather
17:03 psch ...or i'm misremembering unspace
17:05 BrokenRobot 7 [Coke] RT: 1338; CONC: 7; GLR: 6; JVM: 69; LHF: 1; LTA: 74; NYI: 28; OSX: 6; PERF: 16; POD: 3; PRECOMP: 4; RFC: 22; SEGV: 22; STAR: 1; TESTNEEDED: 12; TODO: 8; UNI: 5; UNTAGGED: 675; WEIRD: 3
17:05 BrokenRobot [Coke]: what's "RT" in that list? The total number of tickets?
17:05 BrokenRobot 'cause on the site it says "Found 1,364 tickets" seems off.
17:06 hankache joined #perl6-dev
17:12 BrokenRobot probabilistically, there's a whole ton of "testsneeded" tickets that aren't tagged
17:40 [Coke] BrokenRobot: skipping Stalled tickets
17:41 [Coke] which right now is primarily macro-related stuff.
17:41 [Coke] BrokenRobot: sure, I can only report on what's tagged.
17:41 [Coke] my hope with this occasional ping is for devs to go "oh, maybe I'll go fix some segfaults today". :|
17:41 [Coke] (or whatever.)
17:42 BrokenRobot I was just curious why there was a difference.
17:45 [Coke] which reminds me:
17:45 [Coke] RT: 1335; CONC: 7; GLR: 6; JVM: 69; LHF: 1; LTA: 75; NYI: 28; OSX: 6; PERF: 16; POD: 3; PRECOMP: 4; RFC: 22; SEGV: 22; STAR: 1; TESTNEEDED: 15; TODO: 8; UNI: 5; UNTAGGED: 674; WEIRD: 3
17:46 [Coke] PRECOMP: 5 - one was mistagged
18:03 BrokenRobot Do we have a protocol for when 6.c roast has faulty tests?
18:04 BrokenRobot Is that was 6.c-errata for?
18:04 BrokenRobot s/was/what./;
18:05 BrokenRobot Specifically this: https://rt.perl.org/Ticket/Display.html?id=128203 the failures were due to a faulty test. If we can amend the 6.c testsuite, we can revert hoelzro++'s temporary workaround in Test::subtest
18:16 [Coke] where should a doc for "how to deal with tickets for Rakudo Perl 6" go ?
18:17 [Coke] Given that we need a doc that covers things for 'how to report a bug' to 'how to deal with tickets' and "you know, there are really like 8 different bug queues'
18:17 * [Coke] guesses https://github.com/rakudo/rakudo/wiki is a fine place to start.
18:25 [Coke] some of these wiki pages are (old) and written in .textile. is there a compelling reason to not switch them to .md as I touch things?
18:25 [Coke] ah, no, since github is dropping textile support.
18:36 sno joined #perl6-dev
18:49 gfldex m: my class C:ver<1.2.3>:auth<me> {}; say [ C.^ver(), C.^auth ];
18:49 camelia rakudo-moar 94a31c: OUTPUT«[v1.2.3 me]␤»
18:50 gfldex m: my package P:ver<1.2.3>:auth<me> {}; say [ C.^ver(), C.^auth ];
18:50 camelia rakudo-moar 94a31c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared name:␤    C used at line 1␤␤»
18:50 gfldex m: my package P:ver<1.2.3>:auth<me> {}; say [ P.^ver(), P.^auth ];
18:50 camelia rakudo-moar 94a31c: OUTPUT«Method 'ver' not found for invocant of class 'Perl6::Metamodel::PackageHOW'␤  in block <unit> at <tmp> line 1␤␤»
18:54 FROGGS joined #perl6-dev
19:19 dalek roast: feb3c86 | (Zoffix Znet)++ | S12-introspection/meta-class.t:
19:19 dalek roast: Test basic metamethods on a module
19:19 dalek roast: review: https://github.com/perl6/roast/commit/feb3c865d8
19:20 dalek roast: c22897b | (Zoffix Znet)++ | S12-introspection/meta-class.t:
19:20 dalek roast: Add missing plan to subtest
19:20 dalek roast: review: https://github.com/perl6/roast/commit/c22897b3e7
19:24 [Coke] anyone mind if I kill this page? https://github.com/rakudo/rakudo/wiki/NG-issues
19:24 [Coke] also, might be nice if we got updates here if someone updated rakudo.wiki
19:26 dalek roast/RT128579: 95088d8 | (Zoffix Znet)++ | S12-introspection/meta-class.t:
19:26 dalek roast/RT128579: Test basic metamethods for a Package
19:26 dalek roast/RT128579:
19:26 dalek roast/RT128579: RT#128579
19:26 dalek roast/RT128579: review: https://github.com/perl6/roast/commit/95088d805b
19:26 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128579
19:30 dalek roast: a83ede0 | usev6++ | S32-exceptions/misc.t:
19:30 dalek roast: Fudge test for JVM (UnwindException)
19:30 dalek roast: review: https://github.com/perl6/roast/commit/a83ede0463
19:33 dalek rakudo/nom: 26817b3 | (Zoffix Znet)++ | src/Perl6/Metamodel/PackageHOW.nqp:
19:33 dalek rakudo/nom: Make .ver and .auth MetaModel methods available on Packages
19:33 dalek rakudo/nom:
19:33 dalek rakudo/nom: Fixes RT#128579
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26817b3e35
19:33 dalek rakudo/nom: ae36a14 | moritz++ | src/Perl6/Metamodel/PackageHOW.nqp:
19:33 dalek rakudo/nom: Merge pull request #818 from zoffixznet/fix-RT128579-package-verf
19:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128579
19:33 dalek rakudo/nom:
19:33 dalek rakudo/nom: Make .ver and .auth MetaModel methods available on Packages
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae36a14eca
19:33 [Coke] .seen skids
19:33 yoleaux2 I saw skids 7 Jul 2016 16:03Z in #perl6-dev: <skids> m: sub a (int() $f) { }; a(9) # maybe if that was brought up to speed it would help with chr
19:33 skids o/
19:33 dalek roast: fe1d544 | (Zoffix Znet)++ | S12-introspection/meta-class.t:
19:33 dalek roast: Test basic metamethods for a Package (#134)
19:33 dalek roast:
19:33 dalek roast: RT#128579
19:33 dalek roast: review: https://github.com/perl6/roast/commit/fe1d5446da
19:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128579
19:33 [Coke] skids: removing https://github.com/rakudo/rakudo/wiki/tasks, ok?
19:34 [Coke] most of it is parrot related, the rest is probably outdated/already in RT.
19:34 skids Yeah, way old, go for it.
19:44 gfldex m: enum P:ver<4.2.3>:auth<me@here.local>;
19:44 camelia rakudo-moar 94a31c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared name:␤    P:ver<4.2.3>:auth<me@here.local> used at line 1␤Undeclared routine:␤    enum used at line 1␤␤»
19:55 gfldex m: my $capture = (2, 3, apples => 2).capture; say $capture.Str;
19:55 camelia rakudo-moar ae36a1: OUTPUT«Method 'capture' not found for invocant of class 'List'␤  in block <unit> at <tmp> line 1␤␤»
19:55 gfldex m: my $capture = (2, 3, apples => 2).Capture; say $capture.Str;
19:55 camelia rakudo-moar ae36a1: OUTPUT«This representation (VMIter) cannot unbox to a native string (for type BOOTIter)␤  in block <unit> at <tmp> line 1␤␤»
19:55 gfldex m: my $capture = (2, 3, apples => 2).Capture; say $capture.perl;
19:55 camelia rakudo-moar ae36a1: OUTPUT«\(2, 3, :apples(2))␤»
19:56 [Coke] we have 44 unresolved pull requests on rakudo.
19:57 [Coke] (going back to 2015)
20:03 dalek roast: 5a156d9 | usev6++ | S32-str/comb.t:
20:03 dalek roast: Unfudge some tests for JVM
20:03 dalek roast: review: https://github.com/perl6/roast/commit/5a156d98af
20:06 gfldex m: my $l = (1,2, :2c);
20:06 camelia rakudo-moar ae36a1: ( no output )
20:07 gfldex m: my $l = (1,2, :2c); $l.Str.put;
20:07 camelia rakudo-moar ae36a1: OUTPUT«1 2 c        2␤»
20:10 dalek roast: f09ad45 | usev6++ | S32-str/comb.t:
20:10 dalek roast: Fudge (skip) some tests for JVM
20:10 dalek roast: review: https://github.com/perl6/roast/commit/f09ad45762
20:12 bartolin psch++ # we're back to a manageable number of spectest failures on r-j
20:12 psch \o/
20:12 psch still, many things just hidden and not really fixed :|
20:16 dalek rakudo/nom: 5745195 | peschwa++ | src/core/Capture.pm:
20:16 dalek rakudo/nom: Unbreak Capture.Str. VMIter needs the nqp ops to work.
20:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5745195d03
20:45 [Coke] https://rt.perl.org/Ticket/Display.html?id=127050 - this appears to be a DIHWIDT - the role is applied to the literal 1, making a new object; when you ++ you're getting a new instance, a (fresh) 2. No?
20:49 jnthn [Coke]: It's correct behavior. The ticket is confused.
20:49 jnthn (So yes, you're correct. :))
20:50 [Coke] jnthn: ok, I'll reject.
20:50 jnthn Just to add a little, $i++ is taking the Scalar container $i and changing the value it references.
20:51 jnthn And the role was, like you said, on the value 1, and now it contains the value 2.
20:52 * jnthn didn't manage to look into the latest MMD ticket today, as hoped. :(
20:52 jnthn Will see if I find a moment at the weekend.
20:53 jnthn Prolly gone for the evening :)
20:53 [Coke] reminder, https://rt.perl.org/Ticket/Display.html?id=128423 - https://rakudo.org/ is broken.
20:57 perlpilot [Coke]: might mention that to pmichaud on #perl6 since he isn't here
20:57 dalek rakudo/nom: a44cdd4 | (Tom Browder)++ | src/Perl6/Pod.nqp:
20:57 dalek rakudo/nom: preparing for upcoming changes:
20:57 dalek rakudo/nom:
20:57 dalek rakudo/nom: + add vars for future use
20:57 dalek rakudo/nom:     for pattern matching
20:57 dalek rakudo/nom:     for adding exception handling info
20:57 dalek rakudo/nom:
20:57 dalek rakudo/nom: + rename 'sub formatted_text' to 'normalize_text'
20:57 dalek rakudo/nom:     suggested better name
20:57 dalek rakudo/nom:
20:57 dalek rakudo/nom: + denote two code sections that may be refactored
20:57 dalek rakudo/nom:     mental prep for more changes
20:57 dalek rakudo/nom:
20:57 dalek rakudo/nom: + add comments
21:00 pmichaud joined #perl6-dev
21:01 dalek roast: 407e8c1 | usev6++ | S32-str/comb.t:
21:01 dalek roast: Mention ticket RT #128580 for skipped tests
21:01 dalek roast: review: https://github.com/perl6/roast/commit/407e8c1397
21:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128580
21:16 dalek roast: 37f9e40 | usev6++ | S32-exceptions/misc.t:
21:16 dalek roast: Fudge tests with NPE for rakudo-j
21:16 dalek roast: review: https://github.com/perl6/roast/commit/37f9e40a01
21:19 psch all those CX handling bugs :(
21:20 psch it's literally dozends
21:25 bartolin psch: :-/ but on a related note: didn't you intend to change the travis configuration once jvm builds are green again? would now be a good moment to do that?
21:25 psch bartolin: yeah, i suppose we can
21:26 psch bartolin: i mean, install-core-dist.pl runs through completion, so yeah
21:26 dalek rakudo/nom: 58c2628 | lizmat++ | src/core/List.pm:
21:26 dalek rakudo/nom: Make List.elems about 4.5x faster
21:26 dalek rakudo/nom:
21:26 dalek rakudo/nom: - don't allocate when we don't need to
21:26 dalek rakudo/nom: - rewrite logic in nqp, and be smarter about it
21:26 dalek rakudo/nom: - now also capable of handling bare Lists without $!reified
21:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58c2628e1d
21:27 pmichaud joined #perl6-dev
21:29 RabidGravy joined #perl6-dev
21:29 timotimo wow, damn
21:31 psch i think the osx jvm builds still have some other problem..?
21:31 psch i have no idea how i'd check, fwiw
21:32 psch well, except via travis :P
21:33 dalek rakudo/nom: 5a83924 | peschwa++ | .travis.yml:
21:33 dalek rakudo/nom: Unallow failures for linux/jvm.
21:33 dalek rakudo/nom:
21:33 dalek rakudo/nom: I think we have some other problem on OSX, but I can't test that.
21:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a83924f4f
21:33 bartolin this was a recent commit (looks good to me): https://travis-ci.org/rakudo/rakudo/builds/142733653
21:33 psch ah, alright
21:33 psch gonna unallow those too then
21:34 dalek rakudo/nom: 897c22c | peschwa++ | .travis.yml:
21:34 dalek rakudo/nom: bartolin++ for checking that jvm on OSX works too.
21:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/897c22c346
21:35 bartolin \o/  (but for the records: I'm unable to test on OS X myself)
21:38 * psch trusts in travis
21:51 dalek rakudo/nom: 110704d | lizmat++ | src/Perl6/Pod.nqp:
21:51 dalek rakudo/nom: Revert "preparing for upcoming changes:"
21:51 dalek rakudo/nom:
21:51 dalek rakudo/nom: This reverts commit a44cdd48428a8e44e1d7550bea99305efa7e22d1.
21:51 dalek rakudo/nom:
21:51 dalek rakudo/nom: This broke the following spectest files:
21:51 dalek rakudo/nom:
21:51 dalek rakudo/nom: t/spec/S26-documentation/block-leading.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/module-comment.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/block-trailing.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/multiline-leading.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/multiline-trailing.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/wacky.t
21:51 dalek rakudo/nom: t/spec/S26-documentation/why-both.t
22:04 lizmat looks like t/spec/S19-command-line/repl.t needs a fix after recent REPL text changes
22:07 dalek rakudo/nom: f583f22 | lizmat++ | src/core/List.pm:
22:07 dalek rakudo/nom: Make List.Bool about 4x faster
22:07 dalek rakudo/nom:
22:07 dalek rakudo/nom: - don't allocate when we don't need to
22:07 dalek rakudo/nom: - rewrite logic in nqp, and be smarter about it
22:07 dalek rakudo/nom: - now also capable of handling bare Lists without $!reified
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f583f22e3a
22:07 lizmat and this concludes my hacking for today
22:07 lizmat so good night, #perl6-dev!
22:09 dalek roast: 06b24bb | (Zoffix Znet)++ | S12-introspection/meta-class.t:
22:09 dalek roast: ID metamethods on a package are absent by design
22:09 dalek roast:
22:09 dalek roast: Per discussion on:
22:09 dalek roast: https://github.com/rakudo/rakudo/pull/818#issuecomment-231468771
22:09 dalek roast: review: https://github.com/perl6/roast/commit/06b24bb45b
22:09 Zoffix PR to revert :ver and :auth on packages: https://github.com/rakudo/rakudo/pull/819
23:21 sortiz Zoffix, sorry to be PR#815's killjoy :(
23:37 Zoffix joined #perl6-dev

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