Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-09-02

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

All times shown according to UTC.

Time Nick Message
01:14 awwaiid joined #perl6-dev
04:28 ShimmerFairy Here's a neat trick I discovered: when writing a grammar C<rule> (or other sigspace'd regex), use :!s:s to turn off sigspace until the next construct that usually generates sigspace :)
04:28 ShimmerFairy (useful if you need/want to make whitespace insignificant after particular constructs)
05:49 Woodi joined #perl6-dev
05:50 brrt joined #perl6-dev
06:45 lizmat joined #perl6-dev
07:49 * DrForr curls into a ball at the mention of whitespace in grammars.
07:54 llfourn joined #perl6-dev
07:59 DrForr (having spent 2 weeks on-and-off trying to figure out a consistent strategy and giving up.
08:07 * nine is sad to hear that
08:09 DrForr Well, I can handle it in my own stuff, but I'm referring to the inconsistencies in the official P6 grammar, and it's made worse because it's not actually at the Perl 6 level.
08:14 ShimmerFairy DrForr: are you talking about 'rule' stuff, or regex formatting?
08:15 DrForr NQP, so I'm actually going the lower-level NQPMatch object, not any Perl 6 objects.
08:42 bobv joined #perl6-dev
08:44 arnsholt What kind of inconsistencies?
08:44 pmurias joined #perl6-dev
08:47 DrForr Sigh. package_declarator has whitespace between deflongname and package_def, routine_declarator has the whitespace at the beginning of routine_def, method_declarator has whitespace at the end of the term.
08:47 Zoffix joined #perl6-dev
08:47 DrForr I understand enough of the engine to know why that is, but it's still annoying.
08:47 Zoffix Hm. Getting "MoarVM op 'decoderconfigure' is unknown as a core or extension op" when trying to build nqp
08:50 Zoffix Oh wait... it's a fallout from my messing up the MoarVM tag in my build. Nevermind :}
08:50 jnthn heh :)
08:50 jnthn Was gonna say, need moar updates :)
09:37 RabidGravy joined #perl6-dev
09:44 masak there's a fallout from the messing up of the tag? interesting... :/
09:45 Zoffix Yes! YES! It's aaaaliiiiivveee... My robot just successfully made an NQP release (in a fork) entirely on its own.
09:45 Zoffix Which means all the hurdles in making it release rakudo got resolved as well :D
09:46 Zoffix masak, I had my robot change the MoarVM tag to simulate the release, but it was using 2016.08, which didn't have the latest goods.
09:48 jnthn Zoffix++
09:50 nine Zoffix: epic victory :)
10:12 TheLemonMan joined #perl6-dev
10:31 lizmat joined #perl6-dev
11:09 nine joined #perl6-dev
11:09 Ulti joined #perl6-dev
11:09 jdv79 joined #perl6-dev
11:22 lizmat joined #perl6-dev
11:55 * stmuk hacks up some curli code which will make nine's eyes bleed :>
11:56 MasterDuke joined #perl6-dev
12:01 lizmat joined #perl6-dev
12:08 MasterDuke i've been looking at RT #118223
12:08 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=118223
12:08 MasterDuke m: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; say %l >>+<< %r
12:08 camelia rakudo-moar d2b115: OUTPUT«Use of uninitialized value of type Any in numeric context␤  in block <unit> at <tmp> line 1␤Use of uninitialized value of type Any in numeric context␤  in block <unit> at <tmp> line 1␤{bar => 5, baz => 4, foo => 1}␤»
12:08 MasterDuke m: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; quietly say %l >>+<< %r
12:08 camelia rakudo-moar d2b115: OUTPUT«{bar => 5, baz => 4, foo => 1}␤»
12:09 MasterDuke so there is a built in way to surpress those warnings
12:10 MasterDuke is this a bug?
12:11 jnthn m: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; say %l <<+>> %r
12:11 camelia rakudo-moar d2b115: OUTPUT«{bar => 5}␤»
12:11 MasterDuke it looks like quietly was implemented two years after the RT
12:11 jnthn ah :)
12:26 * lizmat waves from the APW looking at 5 people trying to make a Perl 6 module  :-)
12:28 jnthn The same one, or different ones? :D
12:28 * masak .oO( you can't step into the same module twice )
12:30 DrForr But what if you cross the bitstreams?
12:30 MasterDuke masak: ^^^ from 20 min ago and i just commented on your RT #118223
12:30 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=118223
12:32 masak MasterDuke: yes, still a bug.
12:32 masak MasterDuke: "you can turn off the warnings" is at most a fine workaround.
12:32 masak but the spec is clear that there shouldn't be any warnings in the first place.
12:34 masak quoting myself from that ticket: ">>+<< takes the union of the keys; <<+>> takes the intersection. I *know* some keys/values are missing. that's why I did >>+<<" (union)
12:34 masak warnings should give new information, not bug me about things I knew when I wrote the code.
12:34 * masak adds this to the ticket
12:35 MasterDuke cool, i'll keep playing around with it
12:36 masak this is the "DANGER DANGER WILL ROBINSON" of warnings ;)
12:38 lizmat joined #perl6-dev
12:52 TheLemonMan ehh, I'm trying to printf-debug some code in Actions.nqp and am greeted with 'Cannot find method 'Str' on object of type Mu' ... but Mu does have a Str method!
12:56 masak probably a foreign object of some sort
12:59 jnthn Are you greeted with it when compiling CORE.setting? :)
13:04 [Coke] .messages
13:04 yoleaux2 1 Sep 2016 22:18Z <Zoffix> [Coke]: would it be possible to give TheLemonMan RT access so they could modify status of tickets they reviewed?
13:05 [Coke] yup, still waiting on an account/email
13:12 RabidGravy joined #perl6-dev
13:25 skids joined #perl6-dev
13:56 TheLemonMan jnthn, yep, am I missing something ? :D
13:57 TheLemonMan [Coke], do you just need my mail ?
13:58 jnthn TheLemonMan: Well, it could be that you try it before Mu.Str has been defined
13:58 jnthn (It's defined inside of CORE.setting)
13:59 [Coke] or your RT id.
14:00 [Coke] (at the top, where it says, "Logged in as <...>")
14:01 TheLemonMan jnthn, ahh, so it's a chicken and egg problem, I hope there's something at the nqp level I can do to print out those objects
14:02 TheLemonMan [Coke], don't have a RT account yet (is that the same as a Bitcard one ?)
14:07 [Coke] No, they're not the same, but you can use one to login to the other
14:24 dalek rakudo/nom: 5bef4e4 | LemonBoy++ | src/core/Block.pm:
14:24 dalek rakudo/nom: Minor changes to 'assuming'.
14:24 dalek rakudo/nom:
14:24 dalek rakudo/nom: * Include the definedness checks.
14:24 dalek rakudo/nom: * Include the return type.
14:24 dalek rakudo/nom: * Don't emit anonymous raw parameters as '\'.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5bef4e4829
14:24 dalek rakudo/nom: 6dab6b8 | lizmat++ | src/core/Block.pm:
14:24 dalek rakudo/nom: Merge pull request #857 from LemonBoy/workzeug
14:24 dalek rakudo/nom:
14:24 dalek rakudo/nom: Minor changes to 'assuming'.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6dab6b88d9
14:26 TheLemonMan skids, mind giving ^ a look ? :)
14:26 skids in a bit.  busy.
14:26 TheLemonMan yeah, take your time
14:40 MetaZoffix joined #perl6-dev
14:40 MetaZoffix Great error I got: "===SORRY!=== Must specify a Promise or Channel to await on (got a Promise)" :)
14:41 MetaZoffix Not only that, but there's no file or line number, so I don't even know what that's about
14:41 TheLemonMan compile time error, --ll-exception should guide you to the source
14:42 jnthn Well, if you've got an over-shared variable, then it could not contain a Promise, then have one assigned to it before the error can be displayed :)
14:42 MetaZoffix Nope, nothing extra with --ll-exception
14:42 timotimo will the CTW point out oversharing in general? like this case?
14:43 MetaZoffix Ah, ok, figured it out
14:43 MetaZoffix m: my Promise $foo; await $foo
14:43 camelia rakudo-moar 6dab6b: OUTPUT«Must specify a Promise or Channel to await on (got a Promise)␤  in block <unit> at <tmp> line 1␤␤»
14:43 timotimo oooooh
14:43 timotimo that can do it
14:44 MetaZoffix m: my Promise $foo; END { await $foo }
14:44 camelia rakudo-moar 6dab6b: OUTPUT«===SORRY!===␤Must specify a Promise or Channel to await on (got a Promise)␤»
14:44 MetaZoffix and that's how the line number dissapears
14:45 timotimo i can fix the first issue
14:46 MetaZoffix OK :) Then I won't bother.
14:46 MetaZoffix timotimo++
14:46 timotimo the second one ... not so sure
14:47 skids .oO(empty Promises)
14:47 timotimo oh, segfault
14:47 timotimo lovely
14:47 MetaZoffix skids++
14:48 nine Do we have a high resolution rakudo logo somewhere? Or at least a higher resolution than on rakudo.org?
14:49 timotimo (segfault was likely due to a not-fixed compiled moar)
14:49 timotimo ~/p/rakudo ❯❯❯ perl6 -e 'my Promise $foo; await $foo'
14:49 timotimo Must specify a defined Promise or Channel to await on (got an undefined Promise)
14:50 timotimo ~/p/rakudo ❯❯❯ perl6 -e 'my IntStr $foo = <1342>; await $foo'
14:50 timotimo Must specify a Promise or Channel to await on (got a IntStr)
14:50 MetaZoffix m: my Channel $foo; await $foo
14:50 camelia rakudo-moar 6dab6b: OUTPUT«Must specify a Promise or Channel to await on (got a Channel)␤  in block <unit> at <tmp> line 1␤␤»
14:51 dalek rakudo/nom: b48c62f | timotimo++ | src/core/asyncops.pm:
14:51 dalek rakudo/nom: prevent misleading "must specify Promise, got Promise"
14:51 dalek rakudo/nom:
14:51 dalek rakudo/nom: by adding defined/undefined when the thing passed is a type object.
14:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b48c62f3e0
14:51 timotimo this actually wants to become a typed exception, too
14:51 timotimo but getting the wording better is already a good step
14:51 * timotimo AFK
14:53 MetaZoffix m: my Channel $foo; my Promise $bar; await $foo, $bar
14:53 camelia rakudo-moar 6dab6b: OUTPUT«Must specify a Promise or Channel to await on (got a Channel)␤  in block <unit> at <tmp> line 1␤␤»
14:54 MetaZoffix Seems Supply can also be awaited on
14:54 timotimo i think supply gets .Promise'd when await is called on it?
14:54 MetaZoffix m: sayt await(supply { emit 1; emit 2; sleep 2; emit 3; done }); say now - INIT now;
14:54 camelia rakudo-moar 6dab6b: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    sayt used at line 1. Did you mean 'say'?␤␤»
14:55 MetaZoffix m: say await(supply { emit 1; emit 2; sleep 2; emit 3; done }); say now - INIT now;
14:55 camelia rakudo-moar 6dab6b: OUTPUT«3␤2.0097457␤»
14:55 timotimo ah, it actually has a case for that
14:55 MetaZoffix multi sub await(Supply:D $s) { $s.wait }
14:55 timotimo i'll put it into the message as well
14:55 MetaZoffix Yeah
14:55 MetaZoffix timotimo++
14:55 dalek rakudo/nom: e8d0d04 | timotimo++ | src/core/asyncops.pm:
14:55 dalek rakudo/nom: Zoffix++ for spotting Supply wants in on the message, too.
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8d0d0462a
14:58 lizmat joined #perl6-dev
15:00 TimToady is there a magical incantation to get a backtrace on a signal?  using signal() processes the signal on the wrong thread, from a backtrace point of view...
15:00 jnthn What would the right thread be?
15:01 TimToady the currently infilooping one...
15:01 jnthn hehe :P
15:01 jnthn I guess what we'd really like is a way to dump the backtrace of all running threads
15:01 jnthn You can in a pinch do it by attaching gdb to the process
15:02 jnthn And running MVM_dump_backtrace(tc);
15:02 TimToady so...obvious... :)
15:02 lizmat -    die "Must specify a Promise or Channel to await on (got a $x.^name())";
15:02 lizmat +    die "Must specify a Promise or Channel to await on (got a $x.^name(){' type-object' unless $x.defined})";
15:03 lizmat timotimo: ^^ proposed change to await(Any)
15:03 jnthn It took me rather long to realize that :P
15:04 TimToady maybe we should dedicate one of the common signals like SIGABRT to doing that automagically
15:04 * TheLemonMan is still stuck trying to print out those damn objects
15:04 TheLemonMan there's SIGUSR{1,2} you could abuse for that
15:05 TimToady would rather leave those, for, er, users
15:05 MetaZoffix lizmat: +1 It would maintain consistency with our other messages that call them type objects instead of undefined
15:05 MetaZoffix m: sub (Int:D $x) {}(Int)
15:05 camelia rakudo-moar 6dab6b: OUTPUT«Parameter '$x' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in sub  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
15:06 jnthn TheLemonMan: Do you actually need to dump them out while compiing CORE.setting?
15:06 jnthn Or just in some simpler test program?
15:06 TheLemonMan jnthn, the latter
15:06 jnthn TheLemonMan: Then there's a dynvar that tells you if you're in the core setting, so don't dump then :)
15:07 jnthn unless $*COMPILING_CORE_SETTING { ...dump... }
15:07 jnthn Shoulda thought to mention that earlier, but a mix of tired and distracted with $otherjob :)
15:08 TheLemonMan jnthn++ that's a lifesaver!
15:17 skids TheLemonMan: my only concerns would be 1) I'm a bit fuzzy on why I felt it was important to do so much wrangling around the \ pseudo-sigil and 2) any strange "Any/Mu" etc. issues that might be lurking around to crop up when --> is added where it wasn't before.
15:18 TimToady but the gdb approach doesn't work unless I recompile with debugging, grr
15:18 skids TheLemonMan: tests for 2) would probably be sufficient precautions.  I assume for 1) we have a better idea that an anon "is raw" and "$ is raw" are equivalent these days?
15:18 * TimToady contemplates shaving a sigabrt yak
15:19 TheLemonMan skids, a bare \ is interpreted as an unescape sequence, PR#798 shows this behaviour
15:20 skids Right, I understand that's a problem.
15:20 TheLemonMan skids, I followed as closely as possible what's done by the Parameter's gist method
15:20 [Coke] http://rakudo.org/downloads/star/ has an archive directory. should we do the same for nqp/rakudo ?
15:20 TheLemonMan so that an anonymous capture is transformed as '$ is raw' to make the parser happy
15:21 skids OK, maybe I was keying off old behavior.
15:21 TheLemonMan we still don't do a 1:1 transcription of the slurpy behaviour though :\
15:22 timotimo lizmat: that's a good change, too
15:22 timotimo damn it! i was just thinking (in the shower) about giving moar a "diagnosis" function that you can call from code or by sending a specific unix signal
15:23 timotimo and you were also discussing it on channel at the same time >:(
15:23 timotimo so much for my revolutionary idea
15:23 tailgate How does one uninstall panda modules? I don't see a verb in the manual
15:24 timotimo that's right. panda doesn't have an uninstall functionality
15:24 timotimo zef does, as far as i remember
15:25 tailgate hmm. Is there a way then to tell what file use is looking up when I "use lib::foo;"?
15:26 timotimo there's RAKUDO_MODULE_DEBUG, an env var you can set
15:26 tailgate oh, oops, this is the dev channel. Thanks
15:27 TimToady jnthn: is there any convenient way of finding the currently executing tc from within signal_cb?
15:28 timotimo are you sure you can get at that at all?
15:28 timotimo we don't have any globals whatsoever
15:28 jnthn TimToady: Signals are alwasy received/processed on the event loop thread
15:28 jnthn TimToady: So the tc on that thread would be that of the event loop thread rather than any of the "normal" threads
15:29 timotimo oh, signal_cb isn't the low-level thing that immediately fires when the signal arrives
15:29 jnthn TimToady: If you're in gdb, though, you can "thread 1" or so
15:29 jnthn To jump to the thread of interest
15:29 jnthn Then where
15:29 * TimToady wants a way to trigger a backtrace without gdb...
15:29 jnthn Oh...
15:30 TimToady more specifically, without having to recompile the whole thing with debugging
15:30 jnthn Thing is, in general there can be many executing threads
15:30 jnthn You can get hold of the tcs of all running threads
15:31 lizmat isn't this related to being able to cause an Exception in a thread from another thread ?
15:31 timotimo i think this is going to need a way to cause all threads to wait, but not necessarily do a full GC run
15:31 jnthn If it's the main thread that's available off tc->instance->main_thred
15:31 jnthn *thread
15:32 skids TheLemonMan: Yeah I don't know how far meta-building of signatures is over the horizon, so I'm not sure how deep in the weeds to get with that current code.
15:32 jnthn So you could in theory MVM_dump_backtrace(tc) *that*, with the icky caveat that the thread is running and its callstack therefore potentially changing underneath your dumping.
15:32 TimToady that might be better than a kick in the head, till we can backtrace all threds
15:33 jnthn lizmat: Yes, though "throw an exception" is even worse than "get a backtrace" :)
15:33 jnthn But yeah, what timotimo said is also true, you'd need to cause a safe point
15:33 jnthn To do this sfely
15:33 jnthn *safely
15:34 TheLemonMan skids, hmm, signature meta-building ?
15:35 timotimo a bug randomly came back to my head where we were running around in a loop allocating things (frames?) in the FSA and that code never reached a safe point
15:36 timotimo so we ended up eating infinitely much memory without doing much
15:36 timotimo did we ever figure that out?
15:36 timotimo i don't remember where it was. moarvm issue tracker? RT?
15:37 TimToady jnthn: I'm aborting the program, who cares about "safely"?
15:40 skids TheLemonMan: signatures are some dark VM-tied magic so dynamically constructing them rather than using EVAL is ...well last time I looked pretty intractable.
15:41 skids ...because you have to establish call sites and such.
15:41 lizmat afk&
15:42 timotimo TimToady: would prefer a feature that doesn't rely on the user's intentions to kill the program with a fire
15:42 timotimo except maybe if we put in a full exit directly after outputting what the state was
15:43 TheLemonMan skids, oh, I see... I wonder if we could at least reduce the code-duplication by re-using the Parameter perl method
15:50 [Coke] jnthn: any major async/conc. stuff since 2016.08.1 ?
15:51 timotimo was the recent stability improvements already in 08.1?
15:56 bisectable6 joined #perl6-dev
16:00 TheLemonMan RT#114672 can be closed as [TESTNEEDED] since timotimo++ already commited a fix to moarvm
16:00 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=114672
16:06 [Coke] TheLemonMan: don't close testneeded tests - they stay open until the test is there.
16:06 [Coke] it's already marked testneeded.
16:07 TheLemonMan duh, I missed that
16:36 [Coke] so if I create a supply with a 5 second interal, put a react/whenever on it, I can see it going off every X seconds. However, if I try to use this with Bailador, it then never goes into the baile() loop.
16:38 [Coke] ah. I can start {} the react. whee.
16:51 timotimo of course
16:58 TimToady okay, this is bizarre: if I make 'unit' reuse its UNIT lexical scope, .precompile loops when trying to read lines back from the subprocess, on the line: my @result = $proc.out.lines.unique;
17:01 timotimo so the subprocess spits infinitely much data out?
17:06 TimToady doesn't seem to grow the memory enough for that
17:06 timotimo can you attach strace to it and see what comes out?
17:09 TimToady trying individual .get calls first
17:09 timotimo right
17:12 stmuk nine: is $curli.uninstall($dist) intended to delete precomp files as well or is that a further clean up step?
17:16 TimToady huh, first .get never returns, brk keeps getting bumped up till (I presume) GC is invoked, at which point there's a bunch of interrogations of /proc/self/stat, then it just brks some more
17:16 TimToady but no I/O
17:18 timotimo so it's just a really, really, really, really long line?
17:18 timotimo isn't it supposed to be binary that it returns anyway? the precomp, i mean?
17:18 TimToady actually, looks like the /proc/self/stat is from libuv
17:19 TimToady but surely it wouldn't buffer that large of a buffer that it couldn't chew through in a few seconds
17:21 TimToady but the only system calls are brk and whatever libuv is doing with /proc/sys/stat (just open, read, close every time)
17:23 TimToady I wonder if something's screwed up in the decoder for stdout, but why would an outer 'unit' trigger than (or my fix to it)?
17:26 timotimo perhaps there's a loop in the datastructure that we're trying to serialize?
17:30 TimToady waitasec, looks like maybe there's a an extra  (NativeCall::Compiler::MSVC) tacked onto source name, or maybe path
17:31 TimToady yeah, something tells me --source-name should not be: perl#sources/2ACCA56EF5582D3ED623105F00BD76D7449263F7 (NativeCall::Compiler::MSVC)
17:32 TimToady or does --source-name strip that?
17:33 TimToady checking without my unit patch to see if that changes it
17:35 TimToady no, that form is perfectly normal
17:35 TimToady so back to maybe a decoder issue
17:37 jnthn [Coke]: Sorry, was away...no, since then I've mostly worked on string decoding fixes towards async sockets, but that work's still in a branch.
18:13 TestNinja joined #perl6-dev
18:16 TestNinja buggable: tags testneeded
18:16 buggable TestNinja, There are 40 tickets tagged with TESTNEEDED; See http://perl6.fail/t/TESTNEEDED for details
18:21 TimToady timotimo: another data point, if I use .out.read(1), it never returns the 1st byte
18:30 dalek roast: 3fc7019 | (Zoffix Znet)++ | S04-statements/while.t:
18:30 dalek roast: while (0){} error message is useful
18:30 dalek roast:
18:30 dalek roast: RT#128830
18:30 dalek roast: review: https://github.com/perl6/roast/commit/3fc7019d30
18:30 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128830
18:43 TimToady in fact, it never successfully launches the child beyond S state with 0 runtime
18:45 dalek roast: 35fac4d | (Zoffix Znet)++ | integration/error-reporting.t:
18:45 dalek roast: runtime time errors do not contain ==SORRY==
18:45 dalek roast:
18:45 dalek roast: RT #128803
18:45 dalek roast: review: https://github.com/perl6/roast/commit/35fac4d1b9
18:45 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128803
18:51 [Coke] note; the spec should probably not care so much about if an error is compile time or not.
18:52 [Coke] rakudo has ratcheted the bar pretty high on "compile time if possible", but I think it's still "if possible"
18:55 dalek roast: 991398b | (Zoffix Znet)++ | S32-array/splice.t:
18:55 dalek roast: splice can extend an array
18:55 dalek roast:
18:55 dalek roast: RT#128736
18:55 dalek roast: review: https://github.com/perl6/roast/commit/991398bb7f
18:55 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128736
18:56 TestNinja [Coke]: where should such tests go?
18:57 [Coke] TestNinja: don't have a good answer for you
18:57 [Coke] just keep doing what you're doing for now.
18:57 [Coke] it'll be more of a concern when we have something that isn't rakudo using roast again.
18:57 * TestNinja nods
18:57 committable6 joined #perl6-dev
19:13 dalek roast: 15eced7 | (Zoffix Znet)++ | S32-list/classify.t:
19:13 dalek roast: classify works with Junctions
19:13 dalek roast:
19:13 dalek roast: RT #127803
19:13 dalek roast: review: https://github.com/perl6/roast/commit/15eced771c
19:13 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127803
19:19 dalek rakudo/nom: 685cc5a | (Zoffix Znet)++ | Configure.pl:
19:19 dalek rakudo/nom: Explicitly exclude 5.10.0 from build deps
19:19 dalek rakudo/nom:
19:19 dalek rakudo/nom: 5.10.0 doesn't work anyway [^1] and seems to be a broken release [^2]
19:19 dalek rakudo/nom:
19:19 dalek rakudo/nom: [1] http://irclog.perlgeek.de/perl6/2016-07-27#i_12919796
19:19 dalek rakudo/nom: [2] http://irclog.perlgeek.de/perl6/2015-08-31#i_11148914
19:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/685cc5a981
19:27 dalek roast: 1fbede8 | (Zoffix Znet)++ | S09-multidim/decl.t:
19:27 dalek roast: shaped array declaration without numbers does not infini-loop
19:27 dalek roast:
19:27 dalek roast: RT#126979
19:27 dalek roast: review: https://github.com/perl6/roast/commit/1fbede86d8
19:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126979
19:27 TestNinja swish... swash... ninja-ed!
19:27 TheLemonMan Zoffix++ is roasting like a pro
19:49 dalek roast: 26def41 | (Zoffix Znet)++ | S32-list/roll.t:
19:49 dalek roast: roll on Range uses .succ
19:49 dalek roast:
19:49 dalek roast: Part of RT#126664
19:49 dalek roast: review: https://github.com/perl6/roast/commit/26def41e43
19:49 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126664
19:52 [Coke] aso, I am finding async + bailador very confusing. bailador post handler with a start block in it. looks like the start block will occasionally just hang until the next http request comes in (at which point I get a bunch of debug output from the last one). Can't get a backtrace of a broken promise (just the exception message).
19:52 [Coke] s/aso,//
19:52 dalek roast: 6cf1522 | (Zoffix Znet)++ | S32-list/roll.t:
19:52 dalek roast: .rand on Ranges is implemented
19:52 dalek roast:
19:52 dalek roast: Part of RT#126664
19:52 dalek roast: review: https://github.com/perl6/roast/commit/6cf1522191
19:52 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126664
19:53 TestNinja Boom. Ninjaed
19:53 * TestNinja & beer
19:53 [Coke] additionally, I have a 5 second supply that I'm using to peek in on the status of all the promises I've generated; it also just hangs until the next http request comes in.
19:56 TheLemonMan hmm, why are the compile-time exceptions trace-less ?
19:58 TheLemonMan s/compile-time/==SORRY==/
20:00 geekosaur what would they trace?
20:00 geekosaur --ll-exception might get you something, but it'll all be compiler internals
20:01 TheLemonMan sometimes the trace goes down to the user input (this is related to RT#128461)
20:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128461
20:04 geekosaur oh, not backtrace, line number reporting
20:05 geekosaur different things (and different code paths involved)
20:14 timotimo TheLemonMan: i think that happens when we don't pass a $/ or CURSOR when we throw an exception? :\
20:16 [Coke] (backtrace of broken promise)... because .Str and .gist are different. oi.
20:35 AlexDani` joined #perl6-dev
20:43 bisectable6 joined #perl6-dev
21:17 Zoffix m: my @res = rand x 10; say @res.Set.elems
21:17 camelia rakudo-moar 685cc5: OUTPUT«1␤»
21:17 Zoffix m: my @res = rand x 10; say @res.Set.keys.elems
21:17 camelia rakudo-moar 685cc5: OUTPUT«1␤»
21:18 Zoffix :/
21:18 jnthn Did you mean xx
21:18 Zoffix Oh
21:18 Zoffix m: my @res = rand xx 10; say @res.Set.keys.elems
21:18 camelia rakudo-moar 685cc5: OUTPUT«10␤»
21:18 jnthn Yes, you di. :)
21:18 Zoffix m: my @res = rand xx 10; say @res.Set.elems
21:18 camelia rakudo-moar 685cc5: OUTPUT«10␤»
21:18 jnthn *did
21:18 Zoffix jnthn++ thanks
21:23 dalek roast: d15c274 | (Zoffix Znet)++ | S32-list/roll.t:
21:23 dalek roast: Remove trailing whitespace
21:23 dalek roast: review: https://github.com/perl6/roast/commit/d15c274727
21:24 dalek roast: b4d502a | (Zoffix Znet)++ | S32-list/roll.t:
21:24 dalek roast: Improve rand on Ranges test
21:24 dalek roast:
21:24 dalek roast: * Generate more elements
21:24 dalek roast: * Test the elements vary
21:24 dalek roast: review: https://github.com/perl6/roast/commit/b4d502a55f
21:24 Zoffix buggable, tag testneeded
21:24 buggable Zoffix, There are 34 tickets tagged with TESTNEEDED; See http://perl6.fail/t/TESTNEEDED for details
21:30 dalek roast: 3104462 | (Zoffix Znet)++ | S09-typed-arrays/arrays.t:
21:30 dalek roast: Remove trailing whitespace
21:30 dalek roast: review: https://github.com/perl6/roast/commit/31044621f1
21:31 dalek roast: 87895fa | (Zoffix Znet)++ | S09-typed-arrays/arrays.t:
21:31 dalek roast: @a of Foo accepted by sub (Foo @a)
21:31 dalek roast:
21:31 dalek roast: RT#126134
21:31 dalek roast: review: https://github.com/perl6/roast/commit/87895fa4a9
21:31 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126134
21:42 lizmat joined #perl6-dev
21:47 dalek roast: 9fd0733 | (Zoffix Znet)++ | S04-exception-handlers/catch.t:
21:47 dalek roast: Remove trailing whitespace
21:47 dalek roast: review: https://github.com/perl6/roast/commit/9fd07331ef
21:48 dalek roast: d5eda0d | (Zoffix Znet)++ | S04-statements/when.t:
21:48 dalek roast: `when` in a loop lives
21:48 dalek roast:
21:48 dalek roast: Part of RT#120498
21:48 dalek roast: review: https://github.com/perl6/roast/commit/d5eda0dae8
21:48 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=120498
21:48 dalek roast: 4ad2072 | (Zoffix Znet)++ | S04-exception-handlers/catch.t:
21:48 dalek roast: CATCH in a loop lives
21:48 dalek roast:
21:48 dalek roast: Part of RT#120498
21:48 dalek roast: review: https://github.com/perl6/roast/commit/4ad2072a27
21:48 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=120498
21:49 dalek roast: efacaa5 | (Zoffix Znet)++ | S04-statements/when.t:
21:49 dalek roast: Add `# vim: ft=perl6` line like in other files
21:49 dalek roast: review: https://github.com/perl6/roast/commit/efacaa5671
21:51 dalek rakudo/nom: 417d97d | LemonBoy++ | src/Perl6/Pod.nqp:
21:51 dalek rakudo/nom: Don't coerce all the values to Str in Pod::Config.
21:51 dalek rakudo/nom:
21:51 dalek rakudo/nom: Fixes RT#127085.
21:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/417d97ddcf
21:51 dalek rakudo/nom: fbeadbf | jnthn++ | src/Perl6/Pod.nqp:
21:51 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127085
21:51 dalek rakudo/nom: Merge pull request #858 from LemonBoy/pod-coercion
21:51 dalek rakudo/nom:
21:51 dalek rakudo/nom: Don't coerce all the values to Str in Pod::Config.
21:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbeadbfa24
21:51 dalek roast: 6f059e8 | LemonBoy++ | S26-documentation/09-configuration.t:
21:51 dalek roast: Tests for RT#127085. (#150)
21:51 dalek roast:
21:51 dalek roast: `the pod parser returns "0" on negated config options`
21:51 dalek roast: review: https://github.com/perl6/roast/commit/6f059e853c
21:51 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127085
22:12 Zoffix S16-filehandles/dir.t (not currently used) seems to think Perl 6 would have had had a use FindBin
22:13 dalek roast: 1c1d01e | (Zoffix Znet)++ | S32-io/dir.t:
22:13 dalek roast: `dir | say` has useful error message
22:13 dalek roast:
22:13 dalek roast: RT#112662
22:13 dalek roast: review: https://github.com/perl6/roast/commit/1c1d01eafa
22:13 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=112662
22:14 jnthn Zoffix: Yeah, occasionally I run into such bitrotten tests too :)
22:14 jnthn Updated one a month or two back that had some interesting ideas :)
22:26 Zoffix buggable, tags testneeded
22:26 buggable Zoffix, There are 30 tickets tagged with TESTNEEDED; See http://perl6.fail/t/TESTNEEDED for details
22:26 Zoffix 10 tickets closed. Good nuf
22:26 Zoffix \o
22:26 Zoffix left #perl6-dev
22:27 jnthn Zoffix++ \o/
22:29 TimToady I actually got a probabalistic failure on bag.t, test 117
22:30 TimToady the one that reads: ok @a.grep(* eq 'a') + 2 < @a.grep(* eq 'b'), '.roll(100) (2)';
22:30 jnthn What's the chance of that... :)
22:31 TimToady not sure, but the +2 helps
22:32 TimToady but I think you only have to flip about 15 of them to b that you'd think should be a
22:32 TimToady m: say .33 ** 15
22:32 camelia rakudo-moar fbeadb: OUTPUT«5.99389454988654e-08␤»
22:33 jnthn Go buy a lottery ticket? :)
22:33 TimToady was in europe at the time :(
22:33 jnthn I suspect we have them too
22:33 TimToady except I probably used up all my luck on that
22:33 jnthn Though I take zero interest in 'em, so I've no clue really :)
22:34 TimToady it's possible there's some other systematic failure in there that reduces the odds
22:34 jnthn Guess we could do a bunch of runs to see how often it fails
22:34 TimToady we should really do these things multiple times and see if they're converging
22:35 * jnthn has spent a bunch of his Perl 6 time in the last weeks on things that fail 1 time in many...
22:35 TimToady and if so, whether they're converging on the right value
22:35 jnthn (Though mine are due to occasional races, not probabalistic tests. :))
22:35 TimToady well, we know those are supposed to converge on 0 :P
22:36 jnthn If only knowing what to fix were so easy :P
22:36 jnthn Trouble is that the more I fix, the harder it is to reproduce the next thing to fix...
22:37 TimToady well, that's a good sort of problem, I suppose...
22:37 jnthn Sort of.
22:37 TimToady did you see my wacko bughunting earlier?
22:38 TimToady if I make 'unit' reuse its current lexpad, run() goes bonkers and doesn't successfully start the subprocess completely
22:38 jnthn Sort of...was having one of my exhausted moments back then so kinda glazed over...
22:38 jnthn o.O
22:38 jnthn Did you push the commit somewhere?
22:38 TimToady not yet
22:38 TimToady I could put it into a branch
22:38 jnthn run in general, or when doing precomp?
22:39 TimToady inside precomp
22:39 TimToady doesn't seem to matter whether the thing being run is a 'unit' or not, just the outer unit containing a 'use'
22:39 TimToady the subproc gets to S state and 0 runtime
22:40 TimToady so .out never has anything to return, and hangs
22:40 jnthn o.O
22:40 TimToady if I comment out :err, nothing prints from the subproc either
22:40 TimToady it's krazy
22:41 jnthn Really...
22:41 jnthn If you don't figure it, push it to a branch and poke me about it until I investigate. )
22:41 jnthn I can't think of anything obvious it could be.
22:43 dalek rakudo/unifyunit: 076702c | TimToady++ | src/Perl6/Grammar.nqp:
22:43 dalek rakudo/unifyunit: make 'unit' reuse same UNIT lexpad
22:43 dalek rakudo/unifyunit: review: https://github.com/rakudo/rakudo/commit/076702c5d0
22:44 dalek rakudo/unifyunit: 5bef4e4 | LemonBoy++ | src/core/Block.pm:
22:44 dalek rakudo/unifyunit: Minor changes to 'assuming'.
22:44 dalek rakudo/unifyunit:
22:44 dalek rakudo/unifyunit: * Include the definedness checks.
22:44 dalek rakudo/unifyunit: * Include the return type.
22:45 dalek joined #perl6-dev
22:45 TimToady there's the branch
22:46 jnthn Doubt it'll be the problem, but that <.finishpad> probably wants to be conditional too
22:46 TimToady could be
22:47 jnthn Also, occurs to me now that roles might be problematic doing this
22:47 jnthn Since they need to take parameters
22:48 jnthn (Even non-parametric roles take $?CLASS as a parameter)
22:48 * TimToady hesitates to suggest that we look ahead at the start for a 'unit' declaration...
22:48 TimToady since that would be a very big violation of one-pass
22:48 jnthn yeah, that feels very ugly
22:49 TimToady another idea, fake up current lexpad as a fake SETTING, then make the inside UNIT somehow
22:49 jnthn Hmm
22:50 TimToady that feels a lot cleaner, somehow
22:55 jnthn Yeah
22:55 jnthn A unit role is a very odd thing in a sense
22:55 jnthn Because unit is the mainline but a role's body is deferred evaluation due to its genericity
23:13 skids joined #perl6-dev
23:33 MasterDuke jnthn: any thoughts on https://github.com/rakudo/rakudo/pull/859 ? it seems almost too easy...
23:34 jnthn MasterDuke: That was pretty much my thoughts, but I wanted to think more about it ;)
23:34 jnthn MasterDuke: /win 16
23:34 jnthn oops
23:34 jnthn Anyway, my worry is that it may suppress too many warnings
23:35 jnthn But I'm not convinced it does
23:35 jnthn But I'm too tired right now to think up a counter-example :)
23:35 MasterDuke ha, sure
23:35 MasterDuke just wanted to make sure it got an eye or two on it
23:38 jnthn Yeah, I did look at it earlier and thought I wanted to think about it a tad more :)
23:39 MasterDuke thinking about thinking is a good first step :)
23:40 jnthn My gut tells me there's an example that breaks it, but I can't put my finger on exactly how :)
23:41 MasterDuke yeah, i wasn't sure spectest would pass (not that it's perfect, but ...)
23:47 jnthn sleep time; 'night

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