BenGoldberg | I've been looking at a few Actions classes used with grammars, and noticed something a bit odd: I have not seen one single method which *doesn't* end in make(...) or $/.make: ... | 01:59 | |
It seems to me that we should offer a wrapper class which takes an Actions-like object (which *doesn't* have .made) on the methods, and which wraps each method in a version which does call .make; this would save users a good bit of typing. | 02:02 | ||
raiph | BenGoldberg: perhaps an :ast argument that takes an actions class and, if a method does not itself set $/.ast before returning, takes the return value and sets $/.ast to it? | 02:34 | |
I mean an :ast argument added to parse | |||
ugexe | maybe it could be accomplished if the return types were defined | 02:41 | |
BenGoldberg | With the current setup, the return values of methods are totally ignored; the 'make' function (or method) stores it's argument in the $/ variable in such a way that .made can later fetch it. | 04:46 | |
[Tux] | This is Rakudo version 2017.05-399-gbdf2019d4 built on MoarVM version 2017.05-76-gba6725f3 | 07:10 | |
csv-ip5xs 2.810 | |||
test 13.039 | |||
test-t 4.362 - 4.427 | |||
csv-parser 13.870 | |||
lizmat | Files=1204, Tests=61803, 218 wallclock secs (13.07 usr 4.78 sys + 1321.65 cusr 119.56 csys = 1459.06 CPU) | 08:33 | |
cono | any1 have a minute to look: github.com/perl6/roast/pull/270 | 09:13 | |
lizmat | cono: is there any reason you use Thread.new instead of start { } ? | 09:31 | |
cono | start { } gives me new thread ? | 09:33 | |
jnthn | It schedules stuff on the thread pool | ||
So no, doesn't promise a new thread | |||
cono | but from high level perspective it should work the same? | 09:34 | |
let me try | 09:35 | ||
jnthn | Probably it would work the same, looking at the code, yes | ||
cono | yeah, works fine, let me re-push | 09:36 | |
done | 09:37 | ||
lizmat | cono: instead of Thread.start I meant start { } | 09:38 | |
jnthn | That said, if you start { ... } you should await it somewhere so any errors will show up | 09:39 | |
And, given it's a test, maybe the fewer other features it depends on the better, so while start { ... } might be better Perl 6 code in general, perhaps using Thread explicitly makes it a better test. | 09:40 | ||
Don't feel strongly on it either way, though | |||
lizmat | well, lemme put it this way: if it doesn't work with start { }, most users of IO::Socket::Async will see errors | 09:41 | |
jnthn | Huh? | ||
This is the test for IO::Socket::INET | 09:42 | ||
lizmat | so perhaps we need both: with Thread.new to make sure the lower parts work, and with start { } to make sure it interacts correctly with HLL | ||
ah, oops | |||
jnthn | Sure; pretty sure we do have other tests that use IO::Socket::INET + start together, though | ||
It's just that this was our most minimal set of tests for it | |||
Rather than checking integration with other things | |||
lizmat | ok | ||
then I will refrain from making things more complicated :-) | 09:43 | ||
jnthn | But yeah, if start { ... } blocks were busted you'd have a very busted Perl 6 :) | ||
cono | so if no1 has any other concern may I click "merge" ? :) | 10:47 | |
eveo | yeah, merge | 11:00 | |
tbrowder | hi, #perl6 | 11:08 | |
i'm working on my lite linter and a good test p6 prog for input to it. in fiddling with various combinations of =begin/=end pod blocks, both matched and unmatched, i'm finding possible inconsistencies in how perl6 treats them. it's too early to wave a flag but i thought the actual indentation of a =begin or =end isn't supposed to matter but it seems it sometimes does. | 11:13 | ||
oops, wrong channel... | 11:31 | ||
Geth | roast: cd224efdc4 | cono++ | 4 files Rework IO-Socket-INET test to make it more self-sufficient Basing rework on improvement: MoarVM/MoarVM#600 |
11:38 | |
roast: 09b5e818e8 | cono++ | S32-io/IO-Socket-INET.t Rework Thread.new -> Thread.start |
|||
roast: 6da9a282a5 | cono++ (committed using GitHub Web editor) | 4 files Merge pull request #270 from cono/socket_get_port Rework IO-Socket-INET test to make it more self-sufficient |
|||
eveo | NeuralAnomaly: 397 | 12:14 | |
NeuralAnomaly: status | |||
NeuralAnomaly | eveo, [✘] Next release will be in 4 days and 16 hours. Since last release, there are 69 new still-open tickets (66 unreviewed and 0 blockers) and 397 unreviewed commits. See perl6.fail/release/stats for details | ||
eveo ponders how to filter out dupes from those 397 commits | |||
Oh, looks like I won't have to. Luckily the site lists the dupe right after the original | 12:17 | ||
And the dupes are the ones with double profile icons: github.com/rakudo/rakudo/compare/2017.05...HEAD | 12:20 | ||
jnthn | Righty, back to work on the Proc refactors... | ||
Geth | rakudo/proc-using-proc-async: 6 commits pushed by (Jonathan Worthington)++
|
12:25 | |
jnthn | (that was a rebase on nom) | ||
eveo | jnthn: should this change be made for $.ln-in in IO::Handle and IO::CatHandle too? github.com/rakudo/rakudo/commit/18...fba6fcb392 | 12:26 | |
nl-in I mean | |||
jnthn | eveo: Yeah, it can be | 12:31 | |
eveo: It's just a code cleanup, not a functionality chance, to be clear | 12:32 | ||
eveo | Ah | 12:33 | |
Geth | rakudo/proc-using-proc-async: 3adb14af96 | (Jonathan Worthington)++ | src/core/CompUnit/PrecompilationRepository.pm Switch to Proc::Async in PrecompilationRepository. |
12:48 | |
jnthn | That passes all spectests still :) | 12:49 | |
Geth | rakudo/proc-using-proc-async: 3da80259c4 | (Jonathan Worthington)++ | src/core/IO/Handle.pm Introduce read-internal and write-internal. These are working names for the operations. They are the low-level, internal, methods for reading and writing from a handle. Since all of the higher-level ones now call them, this means that it is much easier to subclass IO::Handle: only this pair of methods and a handful of others need be overridden, and then you get all of the string-level and mixed-mode input and string-level output for free. This is in preparation for IO::Pipe switching to use Proc::Async, which will become a concrete illustration of this. |
13:16 | |
rakudo/proc-using-proc-async: 40dd369d32 | (Jonathan Worthington)++ | src/core/Proc.pm Re-work shell in terms of spawn. Since there's really not much difference, and no reason to make a distinction at the VM op level that is so easily replicated at the Perl 6 level. |
13:38 | ||
eveo | m: my num $ = my str $ = 'Infinity'; | 13:41 | |
camelia | Can't convert 'Infinity' to num: trailing stuff in block <unit> at <tmp> line 1 |
||
eveo | "trailing stuff"? heh. | 13:42 | |
jnthn | win 28 | ||
buggable | jnthn, Thank you for entering Accidental /win Lottery! The next draw will happen in -2 weeks, 2 days, 10 hours, 17 minutes, and 40 seconds | ||
eveo | heh | ||
Temporal bugs will hunt me forever. | |||
Geth | rakudo/proc-using-proc-async: 2ccd5cb1f5 | (Jonathan Worthington)++ | src/core/Proc.pm Don't use nqp::ops to implement QX. Do it in terms of the Proc API instead, to ease refactoring. |
13:49 | |
jnthn | OK, I think I've probably done all I can to make the re-working of Proc using Proc::Async stand a chance of going smoothly :) | 13:50 | |
Time to go for the big step | 13:51 | ||
[Coke] | jnthn++ | 13:55 | |
eater | very cool jnthn :D | 14:09 | |
eveo adds a new "Internal" changelog section to log large internal stuff, like handle encoding refactor, or proc-as-proc-async refactor that still has some inpact on users, even if there's no apparent change in external API | 14:47 | ||
jnthn | eveo: Makes sense to me | 14:48 | |
Man, some effort to get this thing wroking | 14:54 | ||
At least it passes make test now | |||
jnthn spectests | |||
Aww, 6 failures | 14:56 | ||
ugexe | eveo: that branch might solve your weird DESTROY test failure since it uses proc async for precomp | 14:57 | |
eveo | Cool | ||
.ask lizmat Do you remember which bug it was? Was it :{42 => 0}.Set still having 42 in it, despite value being 0? "This actually also fixes a hereto unseen bug in objecthash.Set coercion." github.com/rakudo/rakudo/commit/16...1ca5740fd8 | 15:46 | ||
yoleaux | eveo: I'll pass your message to lizmat. | ||
Geth | rakudo/proc-using-proc-async: 7c279f479f | (Jonathan Worthington)++ | src/core/IO/Handle.pm Introduce eof-internal also. Which is always about the underlying handle, and not about the decoder. |
15:52 | |
rakudo/proc-using-proc-async: 92bd7e4f54 | (Jonathan Worthington)++ | 3 files Re-implement Proc in terms of Proc::Async. Almost works; the case of chaining the output of one Proc into another is still to come. |
|||
jnthn | OK, got exactly one failing test case across the whole spectest with that lot | 15:53 | |
I know what it is, but will leave it until the morning to fix :) | |||
eveo | \o/ | 15:54 | |
lizmat | eveo: I think I showed the bug on Channel shortly before the fix | 15:57 | |
yoleaux | 15:47Z <eveo> lizmat: Do you remember which bug it was? Was it :{42 => 0}.Set still having 42 in it, despite value being 0? "This actually also fixes a hereto unseen bug in objecthash.Set coercion." github.com/rakudo/rakudo/commit/16...1ca5740fd8 | ||
eveo | Don't see anything in logs on that day±1. I'll just log it as fix for :{}.Set ignoring values. | 15:59 | |
c: 2017.05 :{42 => 0}.Set.say | 16:00 | ||
committable6 | eveo, ¦2017.05: «set(42)» | ||
eveo | c: HEAD :{42 => 0}.Set.say | ||
committable6 | eveo, ¦HEAD(bdf2019): «set()» | ||
lizmat | eveo: yeah, objectHash.Set not checking for truthiness was the problem | 16:01 | |
eveo | cool | 16:02 | |
jnthn | Yay, r-j seems to have also survived the changes | 16:14 | |
oh darn, almost :/ | 16:15 | ||
make install somehow blows up | 16:17 | ||
In install-core-dist | |||
Of course I'm presuming this is my change | |||
eveo | Oh god. | 16:21 | |
I made a buggy bingo program. And now 200+ people are emailing me about me. | |||
about it | |||
lizmat | .oO( bingo! ) |
||
Geth | nqp: cabb94f14c | (Jonathan Worthington)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/DecoderInstance.java Mark decoder instnace methods synchronized. This shouldn't really be needed, but it seems it for some reason is at present. |
16:36 | |
jnthn | Alrighty, that'll at least mean the JVM doesn't block the merge tomorrow :) | 16:37 | |
Will fix the last test I mentioned earlier and merge this lot tomorrow | |||
lizmat | good to have something for next week's P6W :-) | 16:49 | |
eveo | .tell stmuk you have a PR in this repo. Also, looks like the Issues tab is disabled: github.com/stmuk/tap-harness6-prove6 | 17:50 | |
yoleaux | eveo: I'll pass your message to stmuk. | ||
dogbert17 | m: sub foo(--> Cool(Int)) { Nil } | 17:54 | |
camelia | ( no output ) | ||
dogbert17 | commit: 2016.06 ub foo(--> Cool(Int)) { Nil } | ||
committable6 | dogbert17, gist.github.com/a27df3ff2131e7cce3...d8c35ff0a8 | ||
dogbert17 | commit: 2016.06 sub foo(--> Cool(Int)) { Nil } | ||
committable6 | dogbert17, ¦2016.06: «» | ||
dogbert17 | commit: 2016.01 sub foo(--> Cool(Int)) { Nil } | 17:55 | |
committable6 | dogbert17, ¦2016.01: «» | ||
eveo | Nils bypasss type checks | ||
dogbert17 | but why can now have corecion types as return constraints? | ||
s/why/we/ | |||
eveo | m: sub foo(--> Int(Cool)) { "42" }().^name.say | 17:56 | |
camelia | Int | ||
eveo | mc: sub foo(--> Int(Cool)) { "42" }().^name.say | ||
committable6 | eveo, ¦2015.12: «Type check failed for return value; expected Int(Cool) but got Str in sub foo at /tmp/24upj8BSrJ line 1 in block <unit> at /tmp/24upj8BSrJ line 1 «exit code = 1»» | ||
eveo | Looks like it | ||
dogbert17 | cool, fixing up some docs again | ||
eveo | .ask lizmat do you think we should add some custom iterators for Array.Seq/List.Seq/Range.Seq seqs? Seq.sink does .sink-all, which on default Iterator .pull-ones until end, which causes sunk .Seq of infinite Array/List/Range (I don't know what else) hang | 18:10 | |
yoleaux | eveo: I'll pass your message to lizmat. | ||
eveo | Well, List already got a custom iterator; should we add .sink-all to it | 18:13 | |
(can we?) | |||
Ah, no we can't. But we can for range. | 18:14 | ||
I'm gonna add one for Range righ tnow | 18:15 | ||
Eh, never mind. I don't know what I'm doing | 18:18 | ||
Oh wait. there's already a rpoper iterator \\oi/ | 18:19 | ||
.tell lizmat nevermind. I realized we can't do that for List/Array 'cause they may be fed from a Seq. For Range, it already got a proper iterator, just going to give it a Seq method so it doesn't go through Any.Seq that does .list on it | 18:21 | ||
yoleaux | eveo: I'll pass your message to lizmat. | ||
eveo | ZofBot: Seqs, Drugs, and Rock'n'Roll | ||
ZofBot | eveo, The rest of the time, it doesn't really matter whether the reader takes " | ||
eveo | m: Seq.new((1..*).iterator) | 18:25 | |
or maybe not :| | 18:26 | ||
camelia | (timeout) | ||
eveo | Ah in that case it goes through the special case that handles Inf | 18:27 | |
.tell lizmat nevermind. Didn't add anything. I see (1..*).iterator goes through special case without pull-all. Just gonna leave it all as is | |||
yoleaux | eveo: I'll pass your message to lizmat. | ||
eveo | NeuralAnomaly: status | 18:28 | |
NeuralAnomaly | eveo, [✘] Next release will be in 4 days and 10 hours. Since last release, there are 62 new still-open tickets (0 unreviewed and 1 blockers) and 1 unreviewed commits. See perl6.fail/release/stats for details | ||
eveo | ^ marked perl6-debug-m as blocker to reminder to self to try to fix it before release. | ||
lizmat | what can I say? :-) | 18:30 | |
yoleaux | 18:10Z <eveo> lizmat: do you think we should add some custom iterators for Array.Seq/List.Seq/Range.Seq seqs? Seq.sink does .sink-all, which on default Iterator .pull-ones until end, which causes sunk .Seq of infinite Array/List/Range (I don't know what else) hang | ||
18:21Z <eveo> lizmat: nevermind. I realized we can't do that for List/Array 'cause they may be fed from a Seq. For Range, it already got a proper iterator, just going to give it a Seq method so it doesn't go through Any.Seq that does .list on it | |||
18:27Z <eveo> lizmat: nevermind. Didn't add anything. I see (1..*).iterator goes through special case without pull-all. Just gonna leave it all as is | |||
eveo | Nothing :D | 18:31 | |
Geth | rakudo/nom: 0095cd8e27 | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/ChangeLog Log all changes to date Documents commits: 0104a439 01d948d2 02614f64 05f3e9a0 0646d3fa 06cd0bc3 071c88cb 07bff0e5 0a100825 0cb4df44 0e9ee0d1 10e9c8ba 122aca1c 12d31e36 1369632f 160de7e6 18dd0741 1ac7996a 1c16bf2e 1ed284e2 20310d7d 211063c7 232cf190 252dbf3a 27f09e9d 2816ef71 2ac120ce 2e041b06 2efd812c 326faed6 32eb285f 36bc4102 ... (12 more lines) |
18:38 | |
eveo | ???????????????????????????????????????????????????????????????????????????????????????????????????????? | 18:39 | |
REMINDER: the next Rakudo compiler release will be this Saturday (Jun. 17). | |||
Please check the ChangeLog, to ensure your work was correctly logged. | |||
???????????????????????????????????????????????????????????????????????????????????????????????????????? | |||
Geth | roast/6.c-errata: 5023c14153 | (Zoffix Znet)++ | integration/error-reporting.t Fix syntax error Made in github.com/perl6/roast/commit/79b6...1c6df18224 |
18:46 | |
eveo | .tell samcv on 6.c-errata t/spec/S15-nfg/grapheme-break.t now fails 3 Regional_Indicator tests. Are the tests wrong? | 18:48 | |
yoleaux | eveo: I'll pass your message to samcv. | ||
Geth | roast/6.c-errata: b6f7a84191 | (Zoffix Znet)++ | S06-multi/type-based.t Change broken native/where dispatch hang test The test tests circular hang does not occur, but relied on a buggy behaviour that is now fixed[^1]. Fix the test by checking for hangs using a different test routine. Explanation why old behaviour was a bug: irclog.perlgeek.de/perl6-dev/2016-...i_13462673 rt.perl.org/Ticket/Display.html?id...xn-1433016 [1] github.com/rakudo/rakudo/commit/cc...a613ecb0cf |
19:02 | |
roast: 405c151ae6 | (Zoffix Znet)++ | S06-multi/type-based.t Revert "Remove test that's not correct" This reverts commit 1ba85e82227bbbba636d2c6c0057367bff1dda70. The test tests for hangs, so we're not going to remove it, but merely modify it. |
19:03 | ||
roast: 01f8387e92 | (Zoffix Znet)++ | S06-multi/type-based.t Change broken native/where dispatch hang test The test tests circular hang does not occur, but relied on a buggy behaviour that is now fixed[^1]. Fix the test by checking for hangs using a different test routine. Explanation why old behaviour was a bug: irclog.perlgeek.de/perl6-dev/2016-...i_13462673 rt.perl.org/Ticket/Display.html?id...xn-1433016 [1] github.com/rakudo/rakudo/commit/cc...a613ecb0cf |
19:04 | ||
eveo | m: say mix("e" => 4.4) (<=) mix("e" => 2.2) | 19:08 | |
camelia | True | ||
eveo | m: say mix("e" => 1.4) (<) mix("e" => 2.2) | ||
camelia | False | ||
eveo | Is that right? There are some errata tests failing in t/spec/S03-operators/mix.t | 19:09 | |
Oh | 19:10 | ||
mix("e" => 2.2) | |||
m: mix("e" => 2.2) | |||
camelia | ( no output ) | ||
eveo | m: dd mix("e" => 2.2) | ||
camelia | (:e(2.2)=>1).Mix | ||
eveo | pwned by generated test description | 19:11 | |
lizmat | eveo: oops ? | 19:12 | |
eveo | lizmat: I think everything's good. | 19:13 | |
lizmat | *phew* :-) | ||
eveo | I mean, a change is needed, but it's due to the already-discussed semantics for these ops. | 19:14 | |
oh, actually not even due to that. I was looking at the wrong thing | 19:26 | ||
eveo is amused he successfully argued for removal of tests in roast before noticing their removal isn't needed | 19:27 | ||
For record, my argument was that normal ops in the section were TODOed as "needing further discussion", but their negations weren't and were now failing. So the tests were wrong to assume finalized behaviour for negations when non-negated ops weren't finalized. | 19:28 | ||
But turns out it's just the test data is wrong and the tests actually still pass and the TODOed ops now pass too | |||
Geth | roast/6.c-errata: 4474fca9a7 | (Zoffix Znet)++ | S03-operators/mix.t Fix incorrect test data creation mix "foo" => 42; creates a Mix with a Pair as key and weight 1, so the tests that were passing, were passing for the wrong reason. Remove fudges for now-passing TODOs |
19:32 | |
eveo | k; just t/spec/S15-nfg/grapheme-break.t now failing | 19:35 | |
Geth | rakudo/nom: 413eaeebb8 | (Zoffix Znet)++ | tools/contributors.pl6 Put Zoffix last if first in the contrib list Don't wanna be first. |
20:01 | |
rakudo: danielcliffordmiller++ created pull request #1100: Added myself (danielcliffordmiller) to the credits |
20:07 | ||
lizmat wonders what the nick of danielcliffordmiller is | 20:20 | ||
Geth | rakudo/nom: 44c33ddefe | danielcliffordmiller++ (committed using GitHub Web editor) | CREDITS Added myself to the credits |
20:22 | |
rakudo/nom: de74f173c9 | lizmat++ (committed using GitHub Web editor) | CREDITS Merge pull request #1100 from danielcliffordmiller/patch-1 Added myself (danielcliffordmiller) to the credits |
|||
lizmat | And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/12/...ty-sorted/ | 20:33 | |
tadzik | yay :) lizmat++ | 20:36 | |
eveo | tadzik: you have a PR in some module | 20:40 | |
lizmat++ good weekly | |||
tadzik | eveo: Oh! Looking... | ||
eveo | tadzik: this one I think github.com/tadzik/Grammar-BNF/pulls | 20:41 | |
and the change that broke that test was removal of rogue space at the end of .message | 20:43 | ||
tadzik | hah, interesting | 20:44 | |
I can imagine the original author putting that space in there with a “*shrug*, I guess that's how it works” :P | |||
thanks for pointing it out for me :) | |||
timotimo | yo tadzik! | 20:57 | |
tadzik | yo! | ||
eveo | tadzik: just realized the travis file in that module still tries to rakudobrew panda. Sent a PR again github.com/tadzik/Grammar-BNF/pull/12 | 21:02 | |
tadzik | sweet, thanks :) | 21:03 | |
much appreciated | 21:04 | ||
eveo | Found the test failure with toaster \o/ | 21:07 | |
(as in toast.perl6.party ) | |||
timotimo | i bougth a sandwich toaster today | 21:08 | |
[Coke] misses sandwiches. :| | 21:17 | ||
Geth | rakudo/nom: abfb52be1d | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make infix:<∉> about 10% faster By only negating the final result, instead of negating the op. |
21:36 | |
lizmat | m: dd { a => 1 } (<=) { a => 0 } # grrrr | 21:43 | |
camelia | Bool::True | ||
lizmat | m: dd { a => 1 }.Set (<=) { a => 0 }.Set # should be the same | ||
camelia | Bool::False | ||
lizmat will think about that tomorrow | 21:45 | ||
eveo | m: dd { a => 0 }.Set | ||
camelia | set() | ||
eveo | I'm hunting a toast burnage in some module. Dunno what the issue is yet, but I see .MixHash involved. | 21:46 | |
jnthn | ooh, I should remember about that Decoder REPR one tomorrow also | 21:48 | |
travis-ci | Rakudo build errored. Zoffix Znet 'Put Zoffix last if first in the contrib list | 21:54 | |
travis-ci.org/rakudo/rakudo/builds/242164372 github.com/rakudo/rakudo/compare/0...3eaeebb865 | |||
buggable | Failed to fetch build data | ||
lizmat | good night, #perl6-dev! | 21:56 | |
eveo | uh-oh buggable ded | 22:09 | |
Sounds like Weekly Readers are using my toaster up that's nomming all the RAM :D | |||
hm, nope. just ded | |||
ugh... hate TFW you're too dig into debugging to give up, but you don't actually use this code to care if it's fixed | 22:23 | ||
timotimo | hm, like, you'd have to write it down as a test case and run it regularly to see if it's still broken? | ||
eveo | No, some change in Rakudo broke a module and I'm deep in its guts right now | 22:26 | |
But I don't use that module, so I don't really care if it's broken | |||
finally | 22:45 | ||
c: 2017.05 dd (0 => 1, 0 => 0, 0 => 0, 0 => -1).Seq.MixHash | |||
committable6 | eveo, ¦2017.05: «().MixHash» | 22:46 | |
eveo | c: HEAD dd (0 => 1, 0 => 0, 0 => 0, 0 => -1).Seq.MixHash | ||
committable6 | eveo, ¦HEAD(abfb52b): «(0=>0).MixHash» | ||
eveo | I think I recall lizmat inquiring about this one. | ||
.tell lizmat toaster found a regression in .MixHash coercer. Would you know how to fix this? rt.perl.org/Ticket/Display.html?id...xn-1465951 | 22:53 | ||
yoleaux | eveo: I'll pass your message to lizmat. | ||
eveo | Hiker burn seems a false positive. No errors | 23:01 | |
Need to start writing these down... | |||
eveo calls it a night | |||
ZofBot: good night, sweet prince! | 23:02 | ||
ZofBot | eveo, If "BinTree" is a signature type and $top is a "Capture" (argument list) object, the child types of the signature are applied to the actual arguments in the argument list object | ||
timotimo | i'll take a bit of time for p6 now and i'm wondering what to spend it doing | 23:15 | |
eveo | Anything people who top weekly contribution count lists cannot do. | 23:20 | |
timotimo | oh you :) | 23:21 | |
eveo | Well, more than one :) And for rakudo, lizmat++ is pretty much always the leader | 23:23 | |
But I meant it makes sense to do things that likely won't get done in a while given the current list of active contributors :) | |||
timotimo | oh, neat, the range optimization still exists | 23:31 | |
you know, by introducing a local variable we could totally also handle non-fixed-at-compile-time ranges | |||
eveo | Here's a good one, if you're interested: rt.perl.org/Ticket/Display.html?id...et-history | 23:32 | |
"for ^N { } got about 2.5x slower in 5401a1a | 23:33 | ||
" | |||
timotimo | ah, the for optimization happens in the gives-a-value branch of the want, but clearly the void version of the branch is being used in the end | 23:37 | |
looks like we're not generating a p6sink for the for loop case, but it does get sunk anyway | 23:39 |