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 |