AlexDaniel | skids: hey. Do you have clean 「make spectest」 over there? :) | 01:15 | |
beacuse t/spec/S02-literals/pairs.t is failing here | |||
skids | Hrm... I ran it straight from roast. I'll try a 'make spectest' | 01:16 | |
Oh it can't find the extra test lib... | 01:19 | ||
AlexDaniel | “beacuse” heh | ||
Geth | roast: skids++ created pull request #312: add missing 'use lib' from last commit |
01:22 | |
roast: 82600ac7ca | skids++ | S02-literals/pairs.t add missing 'use lib' from last commit |
|||
roast: 5e23ada6bc | skids++ (committed using GitHub Web editor) | S02-literals/pairs.t Merge pull request #312 from skids/rt129008 add missing 'use lib' from last commit |
|||
skids | Yeah that file is just issing a 'use lib'. That should do it. | ||
AlexDaniel | ah-ha, okay | ||
skids: thanks | 01:26 | ||
skids | np thanks for letting me know. | ||
AlexDaniel | well, it was preventing the dry run of the release process here :) | 01:33 | |
m: my $x = set “abc”, “xyz”; say $x.WHICH | 02:26 | ||
camelia | Set|A3ACBF2BA1F70F182B28FC68DCDF8C2FC3E48E33 | ||
AlexDaniel | m: my $x = set “abc\0Str|xyz”; say $x.WHICH | ||
camelia | Set|A3ACBF2BA1F70F182B28FC68DCDF8C2FC3E48E33 | ||
AlexDaniel | is it supposed to be this way? | ||
skids | Value type literals are still a bit of a mess. At least someone was unhappy enough with that to file an RT. | 02:28 | |
AlexDaniel | which ticket is that? | 02:29 | |
skids | RT#132033 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132033 | ||
skids | Other ticket along that vein: 129019 | ||
AlexDaniel | ah-ha. OK, it's already known then | 02:31 | |
was t/spec/S11-modules/require.t always a flapper or is it a recent thing? | 03:12 | ||
MasterDuke | at least a long time, if not always | 03:55 | |
masak | jnthn: re "already in RT" -- good. | 05:19 | |
and it's no big blocker either, now that I know the cause. I can work around it quite easily. | |||
lizmat | timotimo: good catch, fixed | 07:30 | |
Files=1223, Tests=67641, 291 wallclock secs (11.04 usr 4.65 sys + 1974.04 cusr 208.56 csys = 2198.29 CPU) | |||
samcv | i'm going to be adding ignoremark tests, that test Prepend+Extend degenerates i.e. not base character | 08:14 | |
what i've decided is that if there's no base character, we treat the first codepoint as the base character. so if it's 10 Prepend's in a row. the 1st one is the base (since no normal cp's follow) | 08:15 | ||
and if it's Prepend+Extend degenerate by itself, then the first codepoint is the base as well | |||
nine | Ok, here's a solution for the NativeCall "sub foo() is native(Str) returns(Int)" issue: NativeCall can export an INIT phaser and we can compile the subroutine bodies there. | 08:16 | |
samcv | AlexDaniel, guessing you see nothing wrong with this approach but let me know your thoughts on this | 08:18 | |
lizmat | nine: too bad we can't export a COMPOSE phaser, right ? | 08:19 | |
nine | lizmat: well technically we can't really export INIT phasers either ;) But with $*W available, we do have a lot of rope for hanging: github.com/niner/Inline-Perl5/blob...5.pm6#L814 | 08:23 | |
lizmat | nine: but if we had a COMPOSE phaser, to be run at compile time, all of this could be done at compile time instead of runtime, right ? | 08:24 | |
nine | INIT is still compile time either? | 08:26 | |
lizmat | no, INIT is runtime afaik | 08:27 | |
nine | Oh...I actually meant CHECK | 08:28 | |
lizmat | m: CHECK say "CHECK"; ENTER say "ENTER"; INIT say "INIT"; BEGIN say "BEGIN" | 08:29 | |
camelia | BEGIN CHECK INIT ENTER |
||
nine | Otherwise this wouldn't buy use anything :) | ||
lizmat | ok, so it should the the CHECK phaser you're "exporting", right ? | ||
nine | Yes, tested it here: gist.github.com/niner/66a72dbe737d...a782ce706f | 08:31 | |
At some point having an EXPORTPHASERS would be lovely | 08:34 | ||
lizmat | afk for a few hours& | 08:55 | |
Skarsnik | Hello | 11:26 | |
AlexDaniel | samcv: so we are talking about this handful of characters? gist.github.com/Whateverable/e1e64...0fb14713b3 | 11:42 | |
samcv | yep | 11:43 | |
AlexDaniel | samcv: the problem with asking me questions like this is that I know so much less than you about the topic :) | ||
samcv | well it was more informing you :) | ||
AlexDaniel | samcv: so prepend characters are like reverse combiners? | ||
samcv | yes exactly like reverse combiners | ||
so it messed up casechanges and ignoremark since we always assumed the 1st codepoint was the base | 11:44 | ||
AlexDaniel | well, that was wrong, yeah | ||
samcv | i also changed the representation we have for synthetics. before we stored the base character in the struct and then had a MVMCodepoint pointer to an array of the combiners | ||
timotimo | no, it was correct | ||
it just no longer is correct :) | |||
samcv | now we have just one array of codepoints, and we have base_index which stores the index of the base character in the array | 11:45 | |
well it was introduced in unicode 9 | |||
AlexDaniel | propdump: U+0600 | ||
unicodable6 | AlexDaniel, gist.github.com/99bf5ab484e3564ab9...16c1b1d6db | ||
samcv | m: "\c[arabic number sign]a".uc.say | 11:46 | |
camelia | a | ||
samcv | m: use nqp; nqp::ordbaseat("\c[arabic number sign]a", 0).say | ||
camelia | 1536 | ||
samcv | m: use nqp; nqp::ordbaseat("\c[arabic number sign]a", 0).uniname.say | ||
camelia | ARABIC NUMBER SIGN | ||
samcv | so that is incorrect | ||
m: use nqp; nqp::ordbaseat("\c[arabic number sign]\c[combining caron]", 0).uniname.say | |||
camelia | ARABIC NUMBER SIGN | ||
samcv | though i'm making sure that if there is no base character that the base is just the first one. i think that's the least suprising thing | 11:47 | |
and having the base be the first Extend would be odd | |||
AlexDaniel | gosh… reverse combiners :S | ||
samcv | though easier to implement | ||
AlexDaniel | this breaks all my previous expectations | 11:48 | |
timotimo | unicode tends to do that | 11:49 | |
AlexDaniel | m: “\c[arabic number sign]a”.chars.say | ||
camelia | 1 | ||
AlexDaniel | I remember somebody commenting on a strand bug ticket that combiners go *after* the character | ||
samcv | oh with repeat? | 11:50 | |
AlexDaniel | yeah that one | ||
samcv | yeah i fixd that one | ||
AlexDaniel | “Combining chars look forward now? This breaks *my* expectations.” | ||
samcv | now anything with `x` stays normalized. before it didn't in a lot of cases | ||
i call them Extend and Prepend now to be more specific :p | |||
AlexDaniel | that's more correct, yeah | 11:51 | |
samcv | though there's ZWJ which i guess can combine but not always | ||
but combiners combine with anything | |||
AlexDaniel | any potential issues with strands and a combination of prepend, extend and ZWJ? :) | ||
samcv | nope shouldn't be | 11:52 | |
AlexDaniel | anyway, samcv++ | ||
TIL :) | |||
samcv | there aren't that many .uc tests actually hm | 11:53 | |
i must add more :) | |||
lizmat | moritz Zoffix no tweet about the P6W yet ?? :-( | 12:22 | |
moritz | lizmat: sorry, @daughter[0] just had first day of school, I didn't have any time for Perl 6 yet | 12:27 | |
twot now | 12:28 | ||
timotimo | twoth the raven: nevermoar | 12:33 | |
|Tux| | This is Rakudo version 2017.08-108-g760530a52 built on MoarVM version 2017.08.1-150-g0b81969d | 12:35 | |
csv-ip5xs 1.314 - 1.341 | |||
test 9.422 - 9.767 | |||
test-t 3.457 - 3.519 | |||
csv-parser 10.851 - 11.146 | |||
Skarsnik | hm, is that slower? | 12:39 | |
moritz | .speed | ||
moritz can't bot anymore | 12:40 | ||
MasterDuke | hm, buggable and huggable aren't here | ||
Zoffix: ^^^ | |||
moritz | aren't they run by somebody else now? nine maybe? | 12:41 | |
MasterDuke | i think nine just runs Geth, but i could be wrong | ||
moritz | ah | 12:42 | |
MasterDuke | but maybe they're all running on hack now and anybody with admin there could restart them? i don't know | ||
nine | I run Geth and camelia | 13:12 | |
jnthn | At least the test-t times there, which are the ones I watch, don't seem slower | 13:20 | |
m: class Foo { has $!z is default(Nil); method x { dd $!z } }.new.x | 13:56 | ||
camelia | Nil $!z = Nil | ||
jnthn | rt.perl.org/Ticket/Display.html?id=131387 seems to be fixed | ||
Skarsnik | m: class Foo { has $!z is default(42); method x { dd $!z } }.new.x | 14:16 | |
camelia | Int $!z = 42 | ||
lizmat | jnthn: is there a reason why we check for a compile-time value in trait processing (L5406 in Actions.nqp) but not in attribute / parameter processing? | 14:18 | |
the reason I'm asking, is that "has $.a = 42" is codegenned as calling a closure that returns the 42, rather than having the constant 42 just assigned | 14:20 | ||
and am considering optimising for that very common case | |||
jnthn | I was going to avoid the special case and just let inlining take care of it once we do the build plan :) | 14:23 | |
Zoffix: is rt.perl.org/Ticket/Display.html?id=129081 still needed? :) | 14:26 | ||
lizmat | jnthn: ok, then I'll focus on that | 14:27 | |
(doing the build plan I mean) | 14:28 | ||
although that still feels a bit awkward to me | 14:29 | ||
Skarsnik | Should rakudo.org/tickets/ point to the sexy Zoffix page? | 14:32 | |
releasable6, status | |||
releasable6 | Skarsnik, Next release in 4 days and ≈4 hours. 1 blocker. Changelog for this release was not started yet | ||
Skarsnik, Details: gist.github.com/695b8235b1a3532985...778610c36f | |||
jnthn | lizmat: Awkward as in, not quite sure how to go about it? | 14:33 | |
lizmat | no, awkward as in a having a clear opportunity for direct optimizing something that would be immediately beneficial, instead of only getting faster when it is actually in hot code | 14:34 | |
also wrt to precomp size | |||
jnthn | Inlining happens at runtime | 14:35 | |
So no impact on precomp size | |||
Unless you mean that we could reduce it for not having the generated method | 14:36 | ||
lizmat | right, that's my idea | ||
I mean, it also means that the Attribute object needs to be around during execution as well | |||
but I guess that will always be the case anyway, right ? | 14:37 | ||
jnthn | I was kinda hoping code-genning the build plan might mean we can have those be lazily deserialized | ||
At least in some cases where nothing wants the whole meta-object | |||
lizmat | well, needing it to assign the default value, is not helpful for that, right ? | 14:38 | |
nine | Wouldn't this be just a call to .has_compile_time_value and a branch, i.e. a trivial amount of code in the compiler to generate optimized code directly? | ||
lizmat | well, that is my feeling at the moment | ||
jnthn | Yeah, but then we also need code on the other end | ||
lizmat | use code #4 in the buildplan for the compile time case | 14:39 | |
jnthn | And we don't really want to check every time if it's a value or a block to invoke | ||
lizmat | and introduce a higher value for the call method case | ||
jnthn | So it'd need a different build plan code | ||
So it scatters out into a few places | |||
It's not too bad | |||
.tell samcv I think rt.perl.org/Ticket/Display.html?id=127048 is perhaps resolved and closable? | |||
yoleaux | jnthn: I'll pass your message to samcv. | ||
lizmat | jnthn: In think I know the few places where it scatters to | ||
jnthn | Yeah. I'm not really against it, I just prefer general optimizations solving many problems to lots of specific ones. | 14:40 | |
lizmat | I think the added complexity is well worth it atm | 14:41 | |
also: I'd like to investigate the possibility of setting the default value on the attribute rather than codegenning an assignment | 14:42 | ||
I know there are semantic differences, but I'd like to check the fallout of that in the ecosystem | 14:43 | ||
which I think will be minimal | |||
jnthn | I'd rather not go that path | 14:45 | |
lizmat | why ? | ||
jnthn | It'll introduce differences with the attrinitted stuff | 14:46 | |
lizmat | ah hmmm... | ||
jnthn | Also will make the value is visible earlier than it "should" be | ||
Potentially other inconsistencies | |||
lizmat | hmmm... | ||
would you mind such an approach for parameters? | |||
(as in non-rw parameters) | 14:47 | ||
jnthn | We don't both creating Scalar containers at all in many cases of that | ||
So there's nothing reliably there to put an "is default" on | |||
lizmat | ah, ok | ||
too bad :-) | |||
jnthn | Fetching a wval is almost free too | ||
Which is what we compile that into | |||
iirc after JIT it can just turn into a single instruction that loads the memory address | 14:48 | ||
Gosh, the number of RTs about hyper/race | 14:51 | ||
jnthn is actually going through them looking for ones that relate to scheduler issues | |||
Geth | nqp: d35cdbdd35 | (Samantha McVey)++ | tools/build/MOAR_REVISION Bump Moar: Prepend support for casechanges, ignoremark, ordbaseat Changes: 2017.08.1-150-g0b81969d..2017.08.1-156-g49b90b99 49b90b99 Fix case change when base cp isn't the first cp in synthetic db3102c4 For degenerate Synth's with Prepend and Extend set base cp to 1st cp f8a639e2 Fix ignoremark with Prepend characters and ordbaseat op d78c3707 ULL is the proper suffix for a 64 bit integer literal 22000677 Nativecall code : fix invalid pointer creation |
16:02 | |
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...b81969d... No newline at end of file | |||
rakudo/nom: 7f526c1efd | (Samantha McVey)++ | tools/build/NQP_REVISION Bump NQP/Moar: Prepend support for casechanges, ignoremark Previously Prepend codepoints in a synthetic grapheme would cause case changes and ignoremark not to function properly. Prepend codepoints are the reverse of normal combining characters, and come before instead of after the base glyph. ... (6 more lines) |
16:04 | ||
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....1fcc381... No newline at end of file 5f33506567 | (Samantha McVey)++ | 2 files The .collate method, coll and unicmp infix functions are no longer experimental. I am still keeping $*COLLATION the dynamic variable which allows you to configure the sort as experimental for now. |
|||
Zoffix | jnthn: thanks; closed 129081 | 16:10 | |
jnthn | Yay, another one down :) | 16:11 | |
I ended up closing several other old ones as I was going back through the queue today :) | |||
samcv | no more experimental \o/ | ||
yoleaux | 14:39Z <jnthn> samcv: I think rt.perl.org/Ticket/Display.html?id=127048 is perhaps resolved and closable? | ||
Zoffix | lizmat: tweeted P6W on my account; I was just taking a break from all humans so didn't use Twitter :) | ||
samcv & | 16:13 | ||
jnthn, yes that's resolved. i'll close it right now | |||
jnthn | yay :) | ||
Zoffix | MasterDuke: brought the bots back | 16:14 | |
samcv | ok closed | 16:15 | |
samcv & | |||
Zoffix | Huge amount of backlog | 16:18 | |
Zoffix gives up trying to read it | |||
The IO::Handle.lines seek error... Yes, it should seek in sink-all, because otherwise file's position isn't predictable for users. I don't understand why the error would show up in that place, as `try` would take care of it. Perhaps it's not from IO::Handle.lines or gfldex was using too-old rakudo, without that fix | 16:21 | ||
m: try $*OUT.seek: 10; say "meow" | |||
camelia | ␀␀␀␀␀␀␀␀␀␀meow | ||
Zoffix | m: try $*IN.seek: 10; say "meow" | 16:22 | |
camelia | meow | ||
Skarsnik_ | bugs are not at fail.rakudo.org ? | 16:23 | |
Zoffix | fail.rakudo.party | 16:24 | |
Skarsnik_ | Zoffix, is toaster runnable on a 'shit' vps? | 16:25 | |
Zoffix | Try | 16:26 | |
AlexDaniel | . | 16:27 | |
yoleaux | 16:10Z <Zoffix> AlexDaniel: no toaster from me this month. I'm away on vacation. | ||
AlexDaniel | okay | ||
Zoffix | lizmat: thanks for fixing S24-testing/8-die_on_fail.t ... How come they were passing before? Don't they run as part of `make [spec|streee]test`? | 16:28 | |
Skarsnik_ | Zoffix, how much space I would need? | 16:29 | |
jnthn | fwiw, my current ponderings on ThreadPoolScheduler changes: gist.github.com/jnthn/398d84b088d6...a5bfe89497 | ||
Zoffix | I don't remember. 10GB maybe more | ||
Skarsnik_ | hm | ||
jnthn | Started exploring this in code a bit too | ||
Skarsnik_ | I don't have that, damn | ||
jnthn | But hometime now :) | 16:30 | |
timotimo | jnthn: "unlikely to lead to more process" -> "progress"? | ||
jnthn | yeah | 16:31 | |
I ain't fixing typos though, it's just my scribbles | |||
Zoffix | Skarsnik_: sign up for google compute engine. They give $300 credit. | ||
timotimo | no prob :) | ||
Zoffix | Skarsnik_: or run a debian in a VirtualBox | ||
AlexDaniel | Skarsnik_: fwiw if it takes 10 hours instead of 40 minutes it's ok too, as long as we get some result | 16:33 | |
jnthn bbl | |||
AlexDaniel | jnthn++ # RT queue | ||
Skarsnik_: but google compute engine is probably a worthy suggestion | 16:36 | ||
Skarsnik_ | 1$ hourly for something crazy if I read this right? | 16:39 | |
AlexDaniel | but 300$ free | 16:40 | |
Skarsnik_ | cloud.google.com/compute/pricing?hl=fr | ||
Skarsnik | if I understand correctly I can have 300h or like a 8-16 core + 8-16Gb memory? x) | ||
Zoffix | .tell lizmat fixes to S24-testing/8-die_on_fail.t look good. The only thing I don't get is why they were passing before or what do you mean by "core returns the wrong exit codes". perl6 -e 'exit 255'; echo $? gives me 255. Some glitch in is_run() routine? | ||
yoleaux | Zoffix: I'll pass your message to lizmat. | ||
Zoffix | Skarsnik: use the "pre-emptive" option. They shut it off once in a while, but it's a lot cheaper. | 16:41 | |
Skarsnik: that page just lists the free stuff. When you sign up to GCE you get a $300 credit | 16:42 | ||
Skarsnik | I will look at that after my movie ^^ | 16:43 | |
AlexDaniel | Skarsnik: thank you very much, that'd help a lot | ||
Zoffix | lizmat++ # good weekly | 16:44 | |
AlexDaniel | Skarsnik: feel free to ping me if there are any issues with this, I'm very interested in toaster results before the release | ||
Zoffix | Man. Lots of catching up after just ~5 days. I originally planned not to come back until I finished both C Programming: Modern Approach and The GC Handbook :) | ||
Skarsnik | random bad though for next releases: pick 10 bugs in rt at random and make them blockers? | 16:46 | |
Geth | 6.d-prep: 330ffdeccb | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md List `use experimental` stuff in TODO |
||
Zoffix | [Coke]: RE: experimental. Yeah, making things that are solid non-experimental in 6.d sounds like a plan. RE: clean up and review of roast; I plan to get on that in a few weeks, when I get back; same with the making doc site support language versions. | 16:47 | |
lizmat++ pushing for earlier 6.d release :) | 16:48 | ||
Skarsnik: that sounds pretty bad :) | |||
Skarsnik | I remember playing around having way to put multi language in pod for perl 5 | 16:49 | |
like you repeat your = instruction with a =inst-i10n | |||
Zoffix goes back into isolation for another week | |||
\o | |||
Skarsnik | good vacation ^^ | 16:50 | |
AlexDaniel | Zoffix: have fun | ||
gfldex | m: sub s($a, :$b){ constant @a = &?ROUTINE.signature; dd @a }; s(1, :1b); | 18:15 | |
camelia | (:(),) | ||
gfldex | what is &?ROUTINE pointing at at compile time? | ||
ugexe | yeah, thats what the ? means | 18:16 | |
gfldex | m: sub s($a, :$b){ my @a = &?ROUTINE.signature; dd @a }; s(1, :1b); | ||
camelia | Array @a = [:($a, :$b)] | ||
gfldex | m: sub s($a, :$b){ my @a = &?ROUTINE.signature; dd @a }; s(1); | ||
camelia | Array @a = [:($a, :$b)] | ||
gfldex | m: sub s($a, :$b){ my @a = &?ROUTINE.signature; dd @a }; s(); | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling s() will never work with declared signature ($a, :$b) at <tmp>:1 ------> 3{ my @a = &?ROUTINE.signature; dd @a }; 7⏏5s(); |
||
gfldex | if it's meaningless at compile time, it should complain | 18:18 | |
jnthn | It's pointing at the Routine, but I think the signature object is attached at the closing } at present | 19:09 | |
Geth | roast: 0948c61db2 | usev6++ | S17-supply/Channel.t [jvm] Unskip passing test RT #127947 |
19:13 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=127947 | ||
[Coke] | yay, so much java. | 21:23 | |
samcv | m: "\c[arabic number sign]a".uc.say | 21:45 | |
camelia | A | ||
samcv | m: say "\c[arabic number sign]a" ~~ /:m a/ | ||
camelia | 「a」 | ||
Geth | roast: aa2ea1a76a | (Samantha McVey)++ | S05-modifier/ignoremark.t Add ignoremark regex tests for when there are Prepend cp's Test to make sure that we match the correct base codepoint when we have Prepend characters. If we have all Prepend and no base or Prepend + Extend only, then match the first codepoint instead. |
21:46 | |
roast: 00554ccbd9 | (Samantha McVey)++ | S15-nfg/case-change.t Add tests for case changes when we have Prepend codepoints |
|||
roast: 6a4bc5450b | (Samantha McVey)++ | S15-unicode-information/uniname.t Test that hangul syllables return the correct Unicode name These are not listed directly in the Unicode data files and are pregenerated during Unicode database creation on MoarVM. |
|||
gfldex | m: loop { react { last if $++ > 3 } }; say 'done'; | 21:52 | |
should that ^^^ work? | |||
camelia | (timeout) | ||
yoleaux | Zoffix: Do stuff with tutorials: www.reddit.com/r/perl/comments/6qv...6/dl0r510/ | 21:56 | |
b2gills | m: my $a = 0; loop { last if ++$a > 20; react { say $++, ':', $a } }; say 'done'; | 22:07 | |
camelia | 0:1 0:2 0:3 0:4 0:5 0:6 0:7 0:8 0:9 0:10 0:11 0:12 0:13 0:14 0:15 0:16 0:17 0:18 0:19 0:20 done |
||
b2gills | gfldex: the `$++` is bound to the `react` block. so it gets a new one for each time through the loop | 22:08 | |
m: my $a = 0; loop { last if ++$a > 20; react say $++, ':', $a }; say 'done'; | |||
camelia | 0:1 1:2 2:3 3:4 4:5 5:6 6:7 7:8 8:9 9:10 10:11 11:12 12:13 13:14 14:15 15:16 16:17 17:18 18:19 19:20 done |
||
timotimo | aye, the inner block gets closure-cloned each time around the loop, and that gives you new state values | 22:09 | |
Geth | rakudo/nom: ec18efa056 | (Elizabeth Mattijsen)++ | src/core/List.pm Any.collate will also handle List.collate |
22:16 | |
gfldex | i got reading from a fifo working now. It's a big longer then in Perl 5: gist.github.com/gfldex/7eae7537df6...a91f545a22 | 22:48 | |
$fifo-in.lines doesn't block like while <$fifo> does in Perl 5 | 22:49 | ||
m: loop { react { last if True } }; say 'done'; | 22:59 | ||
camelia | (timeout) | ||
gfldex | m: last; say 'done'; | ||
camelia | ===SORRY!=== last without loop construct |
||
AlexDaniel | gah | 23:00 | |
mch: last; say 'done'; | 23:01 | ||
committable6 | AlexDaniel, ¦2015.12: «last without loop construct in block <unit> at /tmp/EdcwTyuDFN line 1 «exit code = 1»» ¦HEAD(ec18efa): «===SORRY!===last without loop construct «exit code = 1»» | ||
AlexDaniel | how did we lose the line number there? | ||
c: releases last; say 'done'; | |||
committable6 | AlexDaniel, gist.github.com/9b726ffb56ddbd9c2e...485c0a647e | ||
AlexDaniel | bisect: old=2016.05 last; say 'done'; | ||
bisectable6 | AlexDaniel, Bisecting by output (old=2016.05 new=ec18efa) because on both starting points the exit code is 1 | ||
AlexDaniel | what the | ||
gfldex | jnthn: should last and react mix? | 23:02 | |
Geth | roast: skids++ created pull request #313: Add tests for RT#126332 |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126332 | ||
Geth | roast: cd4b226082 | skids++ | 2 files Add tests for RT#126332 |
||
roast: b2142be764 | skids++ (committed using GitHub Web editor) | 2 files Merge pull request #313 from skids/rt126332 Add tests for RT#126332 |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126332 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126332 | ||
AlexDaniel | bisect: old=2016.05 last; say 'done'; | 23:03 | |
bisectable6 | AlexDaniel, Bisecting by output (old=2016.05 new=ec18efa) because on both starting points the exit code is 1 | ||
AlexDaniel, bisect log: gist.github.com/51cd499fbe0e5a8a1b...9c1237143a | |||
AlexDaniel, There are 10 candidates for the first “new” revision. See the log for more details | |||
AlexDaniel | gfldex: I can't find a ticket for “last without loop construct”, can you make one? | 23:04 | |
gfldex | RT doesn't like my e-mails anymore | 23:05 | |
AlexDaniel | m: next; say 'done'; | ||
camelia | ===SORRY!=== next without loop construct |
||
AlexDaniel | gfldex: that's too bad. What about creating them on the website? | ||
timotimo | gfldex: i think last should only work inside a whenever | ||
the react block's body is only run once for setup | |||
skids | Oh hey, did someone do something to get spectest runs to actually parallize? Up to now the S17 tests always ran first for me. | ||
AlexDaniel | gfldex: rt.perl.org/m/ticket/create?Queue=16 if you're logged in | ||
gfldex | timotimo: it doesn't work inside a whatever either | 23:06 | |
whenever even | |||
AlexDaniel | skids: it has been possible to parallelize it for a long time, now it simply defaults to 6 | ||
skids | Ah. | ||
AlexDaniel | skids: TEST_JOBS=8 make spectest | ||
(does it default to 6 or 4? Don't remember) | 23:07 | ||
(I guess 4) | |||
ugexe | last inside a supply yes, inside a react though? isn't that just .done? | 23:08 | |
i guess its not quite the same thing | 23:09 | ||
skids | .oO(It should default to www.urbandictionary.com/define.php?term=Threven :-) |
||
gfldex | it does what last does for a react block. If a loop is enclosing that the last would have to do done and then the last. | ||
ugexe | seems like it might work with labels though | 23:13 | |
m: FOO: while 1 { react { last FOO } LAST { say 42 } } | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Strange text after block (missing semicolon or comma?) at <tmp>:1 ------> 3FOO: while 1 { react { last FOO }7⏏5 LAST { say 42 } } expecting any of: infix infix stopper… |
||
ugexe | m: FOO: while 1 { react { last FOO }; LAST { say 42 } } | 23:14 | |
camelia | 42 | ||
gfldex | m: react { whenever Supply.from-list(<a b c>) { last if /b/ }; }; LAST { say 42 } | 23:20 | |
camelia | (timeout) | ||
gfldex | m: FOO: while 1 { react { whenever Supply.from-list(<a b c>) { last FOO if /b/ }; }; LAST { say 42 } } | ||
camelia | 42 | ||
gfldex | react doesn't react as expected to last :) | 23:21 | |
ugexe | m: react { say 1; last; say 2 }; | 23:23 | |
camelia | (timeout)1 | ||
ugexe | m: react { say 1; next; say 2; }; | ||
camelia | 1 | ||
timotimo | okay that's strange | 23:25 | |
gfldex | react seams to catch nqp::const::CONTROL_LAST where it shouldn't | 23:27 | |
ugexe | it does handle control stuff differently than one might be used to | 23:29 | |
m: while 1 { sub foo { react { whenever start { 1 } { return 1; } } }; foo() } | 23:30 | ||
camelia | MoarVM panic: Internal error: Unwound entire stack and missed handler | ||
b2gills | `react` is an alternative to `supply`, and `supply` does have a reason to handle `last` | 23:52 | |
m: (supply { emit 0; last if True; emit 1 }).act: *.say; sleep 1 | |||
camelia | 0 | ||
timotimo | oh, huh. | 23:53 | |
that's fair | |||
gfldex | so it's just a trap, not a bug. | ||
AlexDaniel | .oO( “did you mean “done”?” ) |
||
b2gills | The `last` control exception may happen deep down in code you don't have control of. | 23:55 |