| 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 | |
| (useful if you need/want to make whitespace insignificant after particular constructs) | |||
| DrForr curls into a ball at the mention of whitespace in grammars. | 07:49 | ||
| (having spent 2 weeks on-and-off trying to figure out a consistent strategy and giving up. | 07:59 | ||
| nine is sad to hear that | 08:07 | ||
| 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:09 | |
| ShimmerFairy | DrForr: are you talking about 'rule' stuff, or regex formatting? | 08:14 | |
| DrForr | NQP, so I'm actually going the lower-level NQPMatch object, not any Perl 6 objects. | 08:15 | |
| arnsholt | What kind of inconsistencies? | 08:44 | |
| 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 | |
| I understand enough of the engine to know why that is, but it's still annoying. | |||
| Zoffix | Hm. Getting "MoarVM op 'decoderconfigure' is unknown as a core or extension op" when trying to build nqp | ||
| Oh wait... it's a fallout from my messing up the MoarVM tag in my build. Nevermind :} | 08:50 | ||
| jnthn | heh :) | ||
| Was gonna say, need moar updates :) | |||
| masak | there's a fallout from the messing up of the tag? interesting... :/ | 09:44 | |
| Zoffix | Yes! YES! It's aaaaliiiiivveee... My robot just successfully made an NQP release (in a fork) entirely on its own. | 09:45 | |
| Which means all the hurdles in making it release rakudo got resolved as well :D | |||
| 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:46 | ||
| jnthn | Zoffix++ | 09:48 | |
| nine | Zoffix: epic victory :) | 09:50 | |
| stmuk hacks up some curli code which will make nine's eyes bleed :> | 11:55 | ||
| MasterDuke | i've been looking at RT #118223 | 12:08 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118223 | ||
| MasterDuke | m: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; say %l >>+<< %r | ||
| 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}ā¤Ā» | ||
| MasterDuke | m: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; quietly say %l >>+<< %r | ||
| camelia | rakudo-moar d2b115: OUTPUTĀ«{bar => 5, baz => 4, foo => 1}ā¤Ā» | ||
| MasterDuke | so there is a built in way to surpress those warnings | 12:09 | |
| is this a bug? | 12:10 | ||
| 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}ā¤Ā» | ||
| MasterDuke | it looks like quietly was implemented two years after the RT | ||
| jnthn | ah :) | ||
| lizmat waves from the APW looking at 5 people trying to make a Perl 6 module :-) | 12:26 | ||
| jnthn | The same one, or different ones? :D | 12:28 | |
| masak .oO( you can't step into the same module twice ) | |||
| DrForr | But what if you cross the bitstreams? | 12:30 | |
| MasterDuke | masak: ^^^ from 20 min ago and i just commented on your RT #118223 | ||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118223 | ||
| masak | MasterDuke: yes, still a bug. | 12:32 | |
| MasterDuke: "you can turn off the warnings" is at most a fine workaround. | |||
| but the spec is clear that there shouldn't be any warnings in the first place. | |||
| 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 | ||
| warnings should give new information, not bug me about things I knew when I wrote the code. | |||
| masak adds this to the ticket | |||
| MasterDuke | cool, i'll keep playing around with it | 12:35 | |
| masak | this is the "DANGER DANGER WILL ROBINSON" of warnings ;) | 12:36 | |
| 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:52 | |
| masak | probably a foreign object of some sort | 12:56 | |
| jnthn | Are you greeted with it when compiling CORE.setting? :) | 12:59 | |
| [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? | ||
| [Coke] | yup, still waiting on an account/email | 13:05 | |
| TheLemonMan | jnthn, yep, am I missing something ? :D | 13:56 | |
| [Coke], do you just need my mail ? | 13:57 | ||
| jnthn | TheLemonMan: Well, it could be that you try it before Mu.Str has been defined | 13:58 | |
| (It's defined inside of CORE.setting) | |||
| [Coke] | or your RT id. | 13:59 | |
| (at the top, where it says, "Logged in as <...>") | 14:00 | ||
| 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:01 | |
| [Coke], don't have a RT account yet (is that the same as a Bitcard one ?) | 14:02 | ||
| [Coke] | No, they're not the same, but you can use one to login to the other | 14:07 | |
| dalek | kudo/nom: 5bef4e4 | LemonBoy++ | src/core/Block.pm: Minor changes to 'assuming'. * Include the definedness checks. * Include the return type. * Don't emit anonymous raw parameters as '\'. |
14:24 | |
| kudo/nom: 6dab6b8 | lizmat++ | src/core/Block.pm: Merge pull request #857 from LemonBoy/workzeug Minor changes to 'assuming'. |
|||
| TheLemonMan | skids, mind giving ^ a look ? :) | 14:26 | |
| skids | in a bit. busy. | ||
| TheLemonMan | yeah, take your time | ||
| MetaZoffix | Great error I got: "===SORRY!=== Must specify a Promise or Channel to await on (got a Promise)" :) | 14:40 | |
| 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 | ||
| 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 | ||
| timotimo | will the CTW point out oversharing in general? like this case? | ||
| MetaZoffix | Ah, ok, figured it out | 14:43 | |
| m: my Promise $foo; await $foo | |||
| camelia | rakudo-moar 6dab6b: OUTPUTĀ«Must specify a Promise or Channel to await on (got a Promise)⤠in block <unit> at <tmp> line 1ā¤ā¤Ā» | ||
| timotimo | oooooh | ||
| that can do it | |||
| 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)ā¤Ā» | ||
| MetaZoffix | and that's how the line number dissapears | ||
| timotimo | i can fix the first issue | 14:45 | |
| MetaZoffix | OK :) Then I won't bother. | 14:46 | |
| timotimo++ | |||
| timotimo | the second one ... not so sure | ||
| skids | .oO(empty Promises) |
14:47 | |
| timotimo | oh, segfault | ||
| lovely | |||
| MetaZoffix | skids++ | ||
| nine | Do we have a high resolution rakudo logo somewhere? Or at least a higher resolution than on rakudo.org? | 14:48 | |
| timotimo | (segfault was likely due to a not-fixed compiled moar) | 14:49 | |
| ~/p/rakudo āÆāÆāÆ perl6 -e 'my Promise $foo; await $foo' | |||
| Must specify a defined Promise or Channel to await on (got an undefined Promise) | |||
| ~/p/rakudo āÆāÆāÆ perl6 -e 'my IntStr $foo = <1342>; await $foo' | 14:50 | ||
| Must specify a Promise or Channel to await on (got a IntStr) | |||
| MetaZoffix | m: my Channel $foo; await $foo | ||
| camelia | rakudo-moar 6dab6b: OUTPUTĀ«Must specify a Promise or Channel to await on (got a Channel)⤠in block <unit> at <tmp> line 1ā¤ā¤Ā» | ||
| dalek | kudo/nom: b48c62f | timotimo++ | src/core/asyncops.pm: prevent misleading "must specify Promise, got Promise" by adding defined/undefined when the thing passed is a type object. |
14:51 | |
| timotimo | this actually wants to become a typed exception, too | ||
| but getting the wording better is already a good step | |||
| timotimo AFK | |||
| 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ā¤ā¤Ā» | ||
| MetaZoffix | Seems Supply can also be awaited on | 14:54 | |
| timotimo | i think supply gets .Promise'd when await is called on it? | ||
| MetaZoffix | m: sayt await(supply { emit 1; emit 2; sleep 2; emit 3; done }); say now - INIT now; | ||
| camelia | rakudo-moar 6dab6b: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Undeclared routine:⤠sayt used at line 1. Did you mean 'say'?ā¤ā¤Ā» | ||
| 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ā¤Ā» | ||
| timotimo | ah, it actually has a case for that | ||
| MetaZoffix | multi sub await(Supply:D $s) { $s.wait } | ||
| timotimo | i'll put it into the message as well | ||
| MetaZoffix | Yeah | ||
| timotimo++ | |||
| dalek | kudo/nom: e8d0d04 | timotimo++ | src/core/asyncops.pm: Zoffix++ for spotting Supply wants in on the message, too. |
||
| 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? | ||
| TimToady | the currently infilooping one... | 15:01 | |
| jnthn | hehe :P | ||
| I guess what we'd really like is a way to dump the backtrace of all running threads | |||
| You can in a pinch do it by attaching gdb to the process | |||
| And running MVM_dump_backtrace(tc); | 15:02 | ||
| TimToady | so...obvious... :) | ||
| lizmat | - die "Must specify a Promise or Channel to await on (got a $x.^name())"; | ||
| + die "Must specify a Promise or Channel to await on (got a $x.^name(){' type-object' unless $x.defined})"; | |||
| timotimo: ^^ proposed change to await(Any) | 15:03 | ||
| jnthn | It took me rather long to realize that :P | ||
| 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 | |||
| there's SIGUSR{1,2} you could abuse for that | |||
| 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 | ||
| m: sub (Int:D $x) {}(Int) | |||
| 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ā¤ā¤Ā» | ||
| jnthn | TheLemonMan: Do you actually need to dump them out while compiing CORE.setting? | 15:06 | |
| Or just in some simpler test program? | |||
| TheLemonMan | jnthn, the latter | ||
| jnthn | TheLemonMan: Then there's a dynvar that tells you if you're in the core setting, so don't dump then :) | ||
| unless $*COMPILING_CORE_SETTING { ...dump... } | 15:07 | ||
| Shoulda thought to mention that earlier, but a mix of tired and distracted with $otherjob :) | |||
| TheLemonMan | jnthn++ that's a lifesaver! | 15:08 | |
| 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:17 | |
| 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? | ||
| TimToady contemplates shaving a sigabrt yak | |||
| TheLemonMan | skids, a bare \ is interpreted as an unescape sequence, PR#798 shows this behaviour | 15:19 | |
| 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 | ||
| [Coke] | rakudo.org/downloads/star/ has an archive directory. should we do the same for nqp/rakudo ? | ||
| TheLemonMan | so that an anonymous capture is transformed as '$ is raw' to make the parser happy | ||
| 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 :\ | ||
| timotimo | lizmat: that's a good change, too | 15:22 | |
| 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 | |||
| and you were also discussing it on channel at the same time >:( | 15:23 | ||
| so much for my revolutionary idea | |||
| tailgate | How does one uninstall panda modules? I don't see a verb in the manual | ||
| timotimo | that's right. panda doesn't have an uninstall functionality | 15:24 | |
| zef does, as far as i remember | |||
| tailgate | hmm. Is there a way then to tell what file use is looking up when I "use lib::foo;"? | 15:25 | |
| timotimo | there's RAKUDO_MODULE_DEBUG, an env var you can set | 15:26 | |
| tailgate | oh, oops, this is the dev channel. Thanks | ||
| TimToady | jnthn: is there any convenient way of finding the currently executing tc from within signal_cb? | 15:27 | |
| timotimo | are you sure you can get at that at all? | 15:28 | |
| we don't have any globals whatsoever | |||
| jnthn | TimToady: Signals are alwasy received/processed on the event loop thread | ||
| TimToady: So the tc on that thread would be that of the event loop thread rather than any of the "normal" threads | |||
| 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 | ||
| To jump to the thread of interest | |||
| Then where | |||
| TimToady wants a way to trigger a backtrace without gdb... | |||
| jnthn | Oh... | ||
| 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 | ||
| You can get hold of the tcs of all running threads | |||
| 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 | ||
| jnthn | If it's the main thread that's available off tc->instance->main_thred | ||
| *thread | |||
| 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. | ||
| TimToady | that might be better than a kick in the head, till we can backtrace all threds | ||
| jnthn | lizmat: Yes, though "throw an exception" is even worse than "get a backtrace" :) | 15:33 | |
| But yeah, what timotimo said is also true, you'd need to cause a safe point | |||
| To do this sfely | |||
| *safely | |||
| TheLemonMan | skids, hmm, signature meta-building ? | 15:34 | |
| 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:35 | |
| so we ended up eating infinitely much memory without doing much | 15:36 | ||
| did we ever figure that out? | |||
| i don't remember where it was. moarvm issue tracker? RT? | |||
| TimToady | jnthn: I'm aborting the program, who cares about "safely"? | 15:37 | |
| 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:40 | |
| ...because you have to establish call sites and such. | 15:41 | ||
| lizmat | afk& | ||
| timotimo | TimToady: would prefer a feature that doesn't rely on the user's intentions to kill the program with a fire | 15:42 | |
| except maybe if we put in a full exit directly after outputting what the state was | |||
| TheLemonMan | skids, oh, I see... I wonder if we could at least reduce the code-duplication by re-using the Parameter perl method | 15:43 | |
| [Coke] | jnthn: any major async/conc. stuff since 2016.08.1 ? | 15:50 | |
| timotimo | was the recent stability improvements already in 08.1? | 15:51 | |
| TheLemonMan | RT#114672 can be closed as [TESTNEEDED] since timotimo++ already commited a fix to moarvm | 16:00 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114672 | ||
| [Coke] | TheLemonMan: don't close testneeded tests - they stay open until the test is there. | 16:06 | |
| it's already marked testneeded. | |||
| TheLemonMan | duh, I missed that | 16:07 | |
| [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:36 | |
| ah. I can start {} the react. whee. | 16:38 | ||
| timotimo | of course | 16:51 | |
| 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; | 16:58 | |
| timotimo | so the subprocess spits infinitely much data out? | 17:01 | |
| 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? | ||
| TimToady | trying individual .get calls first | 17:09 | |
| timotimo | right | ||
| stmuk | nine: is $curli.uninstall($dist) intended to delete precomp files as well or is that a further clean up step? | 17:12 | |
| 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 | |
| but no I/O | |||
| timotimo | so it's just a really, really, really, really long line? | 17:18 | |
| isn't it supposed to be binary that it returns anyway? the precomp, i mean? | |||
| TimToady | actually, looks like the /proc/self/stat is from libuv | ||
| but surely it wouldn't buffer that large of a buffer that it couldn't chew through in a few seconds | 17:19 | ||
| but the only system calls are brk and whatever libuv is doing with /proc/sys/stat (just open, read, close every time) | 17:21 | ||
| 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:23 | ||
| timotimo | perhaps there's a loop in the datastructure that we're trying to serialize? | 17:26 | |
| TimToady | waitasec, looks like maybe there's a an extra (NativeCall::Compiler::MSVC) tacked onto source name, or maybe path | 17:30 | |
| yeah, something tells me --source-name should not be: perl#sources/2ACCA56EF5582D3ED623105F00BD76D7449263F7 (NativeCall::Compiler::MSVC) | 17:31 | ||
| or does --source-name strip that? | 17:32 | ||
| checking without my unit patch to see if that changes it | 17:33 | ||
| no, that form is perfectly normal | 17:35 | ||
| so back to maybe a decoder issue | |||
| 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. | 17:37 | |
| TestNinja | buggable: tags testneeded | 18:16 | |
| buggable | TestNinja, There are 40 tickets tagged with TESTNEEDED; See perl6.fail/t/TESTNEEDED for details | ||
| TimToady | timotimo: another data point, if I use .out.read(1), it never returns the 1st byte | 18:21 | |
| dalek | ast: 3fc7019 | (Zoffix Znet)++ | S04-statements/while.t: while (0){} error message is useful RT#128830 |
18:30 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128830 | ||
| TimToady | in fact, it never successfully launches the child beyond S state with 0 runtime | 18:43 | |
| dalek | ast: 35fac4d | (Zoffix Znet)++ | integration/error-reporting.t: runtime time errors do not contain ==SORRY== RT #128803 |
18:45 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128803 | ||
| [Coke] | note; the spec should probably not care so much about if an error is compile time or not. | 18:51 | |
| rakudo has ratcheted the bar pretty high on "compile time if possible", but I think it's still "if possible" | 18:52 | ||
| dalek | ast: 991398b | (Zoffix Znet)++ | S32-array/splice.t: splice can extend an array RT#128736 |
18:55 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128736 | ||
| TestNinja | [Coke]: where should such tests go? | 18:56 | |
| [Coke] | TestNinja: don't have a good answer for you | 18:57 | |
| just keep doing what you're doing for now. | |||
| it'll be more of a concern when we have something that isn't rakudo using roast again. | |||
| TestNinja nods | |||
| dalek | ast: 15eced7 | (Zoffix Znet)++ | S32-list/classify.t: classify works with Junctions RT #127803 |
19:13 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127803 | ||
| dalek | kudo/nom: 685cc5a | (Zoffix Znet)++ | Configure.pl: Explicitly exclude 5.10.0 from build deps 5.10.0 doesn't work anyway [^1] and seems to be a broken release [^2] [1] irclog.perlgeek.de/perl6/2016-07-27#i_12919796 [2] irclog.perlgeek.de/perl6/2015-08-31#i_11148914 |
19:19 | |
| ast: 1fbede8 | (Zoffix Znet)++ | S09-multidim/decl.t: shaped array declaration without numbers does not infini-loop RT#126979 |
19:27 | ||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126979 | ||
| TestNinja | swish... swash... ninja-ed! | ||
| TheLemonMan | Zoffix++ is roasting like a pro | ||
| dalek | ast: 26def41 | (Zoffix Znet)++ | S32-list/roll.t: roll on Range uses .succ Part of RT#126664 |
19:49 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126664 | ||
| [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 | |
| s/aso,// | |||
| dalek | ast: 6cf1522 | (Zoffix Znet)++ | S32-list/roll.t: .rand on Ranges is implemented Part of RT#126664 |
||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126664 | ||
| TestNinja | Boom. Ninjaed | 19:53 | |
| TestNinja & beer | |||
| [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. | ||
| TheLemonMan | hmm, why are the compile-time exceptions trace-less ? | 19:56 | |
| s/compile-time/==SORRY==/ | 19:58 | ||
| geekosaur | what would they trace? | 20:00 | |
| --ll-exception might get you something, but it'll all be compiler internals | |||
| TheLemonMan | sometimes the trace goes down to the user input (this is related to RT#128461) | 20:01 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128461 | ||
| geekosaur | oh, not backtrace, line number reporting | 20:04 | |
| different things (and different code paths involved) | 20:05 | ||
| timotimo | TheLemonMan: i think that happens when we don't pass a $/ or CURSOR when we throw an exception? :\ | 20:14 | |
| [Coke] | (backtrace of broken promise)... because .Str and .gist are different. oi. | 20:16 | |
| Zoffix | m: my @res = rand x 10; say @res.Set.elems | 21:17 | |
| camelia | rakudo-moar 685cc5: OUTPUTĀ«1ā¤Ā» | ||
| Zoffix | m: my @res = rand x 10; say @res.Set.keys.elems | ||
| camelia | rakudo-moar 685cc5: OUTPUTĀ«1ā¤Ā» | ||
| Zoffix | :/ | 21:18 | |
| jnthn | Did you mean xx | ||
| Zoffix | Oh | ||
| m: my @res = rand xx 10; say @res.Set.keys.elems | |||
| camelia | rakudo-moar 685cc5: OUTPUTĀ«10ā¤Ā» | ||
| jnthn | Yes, you di. :) | ||
| Zoffix | m: my @res = rand xx 10; say @res.Set.elems | ||
| camelia | rakudo-moar 685cc5: OUTPUTĀ«10ā¤Ā» | ||
| jnthn | *did | ||
| Zoffix | jnthn++ thanks | ||
| dalek | ast: d15c274 | (Zoffix Znet)++ | S32-list/roll.t: Remove trailing whitespace |
21:23 | |
| ast: b4d502a | (Zoffix Znet)++ | S32-list/roll.t: Improve rand on Ranges test * Generate more elements * Test the elements vary |
21:24 | ||
| Zoffix | buggable, tag testneeded | ||
| buggable | Zoffix, There are 34 tickets tagged with TESTNEEDED; See perl6.fail/t/TESTNEEDED for details | ||
| dalek | ast: 3104462 | (Zoffix Znet)++ | S09-typed-arrays/arrays.t: Remove trailing whitespace |
21:30 | |
| ast: 87895fa | (Zoffix Znet)++ | S09-typed-arrays/arrays.t: @a of Foo accepted by sub (Foo @a) RT#126134 |
21:31 | ||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126134 | ||
| dalek | ast: 9fd0733 | (Zoffix Znet)++ | S04-exception-handlers/catch.t: Remove trailing whitespace |
21:47 | |
| ast: d5eda0d | (Zoffix Znet)++ | S04-statements/when.t: `when` in a loop lives Part of RT#120498 |
21:48 | ||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120498 | ||
| dalek | ast: 4ad2072 | (Zoffix Znet)++ | S04-exception-handlers/catch.t: CATCH in a loop lives Part of RT#120498 |
||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120498 | ||
| dalek | ast: efacaa5 | (Zoffix Znet)++ | S04-statements/when.t: Add `# vim: ft=perl6` line like in other files |
21:49 | |
| kudo/nom: 417d97d | LemonBoy++ | src/Perl6/Pod.nqp: Don't coerce all the values to Str in Pod::Config. Fixes RT#127085. |
21:51 | ||
| kudo/nom: fbeadbf | jnthn++ | src/Perl6/Pod.nqp: Merge pull request #858 from LemonBoy/pod-coercion Don't coerce all the values to Str in Pod::Config. |
|||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127085 | ||
| ast: 6f059e8 | LemonBoy++ | S26-documentation/09-configuration.t: Tests for RT#127085. (#150) `the pod parser returns "0" on negated config options` |
|||
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127085 | ||
| Zoffix | S16-filehandles/dir.t (not currently used) seems to think Perl 6 would have had had a use FindBin | 22:12 | |
| dalek | ast: 1c1d01e | (Zoffix Znet)++ | S32-io/dir.t: `dir | say` has useful error message RT#112662 |
22:13 | |
| synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=112662 | ||
| jnthn | Zoffix: Yeah, occasionally I run into such bitrotten tests too :) | 22:14 | |
| Updated one a month or two back that had some interesting ideas :) | |||
| Zoffix | buggable, tags testneeded | 22:26 | |
| buggable | Zoffix, There are 30 tickets tagged with TESTNEEDED; See perl6.fail/t/TESTNEEDED for details | ||
| Zoffix | 10 tickets closed. Good nuf | ||
| \o | |||
| jnthn | Zoffix++ \o/ | 22:27 | |
| TimToady | I actually got a probabalistic failure on bag.t, test 117 | 22:29 | |
| 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... :) | ||
| TimToady | not sure, but the +2 helps | 22:31 | |
| but I think you only have to flip about 15 of them to b that you'd think should be a | 22:32 | ||
| m: say .33 ** 15 | |||
| camelia | rakudo-moar fbeadb: OUTPUTĀ«5.99389454988654e-08ā¤Ā» | ||
| jnthn | Go buy a lottery ticket? :) | 22:33 | |
| TimToady | was in europe at the time :( | ||
| jnthn | I suspect we have them too | ||
| TimToady | except I probably used up all my luck on that | ||
| jnthn | Though I take zero interest in 'em, so I've no clue really :) | ||
| 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 | ||
| TimToady | we should really do these things multiple times and see if they're converging | ||
| 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 | ||
| jnthn | (Though mine are due to occasional races, not probabalistic tests. :)) | ||
| TimToady | well, we know those are supposed to converge on 0 :P | ||
| jnthn | If only knowing what to fix were so easy :P | 22:36 | |
| Trouble is that the more I fix, the harder it is to reproduce the next thing to fix... | |||
| TimToady | well, that's a good sort of problem, I suppose... | 22:37 | |
| jnthn | Sort of. | ||
| TimToady | did you see my wacko bughunting earlier? | ||
| 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... | ||
| o.O | |||
| Did you push the commit somewhere? | |||
| TimToady | not yet | ||
| I could put it into a branch | |||
| jnthn | run in general, or when doing precomp? | ||
| TimToady | inside precomp | 22:39 | |
| doesn't seem to matter whether the thing being run is a 'unit' or not, just the outer unit containing a 'use' | |||
| the subproc gets to S state and 0 runtime | |||
| so .out never has anything to return, and hangs | 22:40 | ||
| jnthn | o.O | ||
| TimToady | if I comment out :err, nothing prints from the subproc either | ||
| it's krazy | |||
| jnthn | Really... | 22:41 | |
| If you don't figure it, push it to a branch and poke me about it until I investigate. ) | |||
| I can't think of anything obvious it could be. | |||
| dalek | kudo/unifyunit: 076702c | TimToady++ | src/Perl6/Grammar.nqp: make 'unit' reuse same UNIT lexpad |
22:43 | |
| rakudo/unifyunit: 5bef4e4 | LemonBoy++ | src/core/Block.pm: | 22:44 | ||
| rakudo/unifyunit: Minor changes to 'assuming'. | |||
| rakudo/unifyunit: | |||
| rakudo/unifyunit: * Include the definedness checks. | |||
| rakudo/unifyunit: * Include the return type. | |||
| TimToady | there's the branch | 22:45 | |
| jnthn | Doubt it'll be the problem, but that <.finishpad> probably wants to be conditional too | 22:46 | |
| TimToady | could be | ||
| jnthn | Also, occurs to me now that roles might be problematic doing this | 22:47 | |
| Since they need to take parameters | |||
| (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... | |||
| since that would be a very big violation of one-pass | |||
| jnthn | yeah, that feels very ugly | ||
| TimToady | another idea, fake up current lexpad as a fake SETTING, then make the inside UNIT somehow | 22:49 | |
| jnthn | Hmm | ||
| TimToady | that feels a lot cleaner, somehow | 22:50 | |
| jnthn | Yeah | 22:55 | |
| A unit role is a very odd thing in a sense | |||
| Because unit is the mainline but a role's body is deferred evaluation due to its genericity | |||
| MasterDuke | jnthn: any thoughts on github.com/rakudo/rakudo/pull/859 ? it seems almost too easy... | 23:33 | |
| jnthn | MasterDuke: That was pretty much my thoughts, but I wanted to think more about it ;) | 23:34 | |
| MasterDuke: /win 16 | |||
| oops | |||
| Anyway, my worry is that it may suppress too many warnings | |||
| But I'm not convinced it does | 23:35 | ||
| But I'm too tired right now to think up a counter-example :) | |||
| MasterDuke | ha, sure | ||
| just wanted to make sure it got an eye or two on it | |||
| jnthn | Yeah, I did look at it earlier and thought I wanted to think about it a tad more :) | 23:38 | |
| MasterDuke | thinking about thinking is a good first step :) | 23:39 | |
| jnthn | My gut tells me there's an example that breaks it, but I can't put my finger on exactly how :) | 23:40 | |
| MasterDuke | yeah, i wasn't sure spectest would pass (not that it's perfect, but ...) | 23:41 | |
| jnthn | sleep time; 'night | 23:47 |