timotimo | i think the Supplier doc page ought to also mention Supplier::Preserving | 08:09 | |
Zoffix | Yeah. I was supposed to document it... like a year ago: irclog.perlgeek.de/perl6/2016-12-22#i_13786869 | 08:55 | |
Oh, that's a log of me forgetting about. It's 13 months ago: irclog.perlgeek.de/perl6/2016-09-16#i_13221172 | 08:56 | ||
^_^ | |||
timotimo | :D | 09:05 | |
|Tux| | This is Rakudo version 2017.09-431-ge52c8affa built on MoarVM version 2017.09.1-594-gb9d3f6da | 09:49 | |
csv-ip5xs 1.158 - 1.194 | |||
test 8.457 - 8.522 | |||
test-t 3.080 - 3.103 | |||
csv-parser 0.831 - 0.844 | |||
Zoffix | buggable: speed 100 | 10:13 | |
buggable | Zoffix, ▆▆▆▇▆▆▅▅▇█▇▇↑↑▆▆▆▆▅▅▅▆▅▆▅▅▆▅▅▇▅▅▅▅▅▅▅▅▆▇▅▇▅▄▇↑↑▇▄▃▂▃▃▂▃▃▃▃▄▆▃▄▃▄▇▃▂▂▂▃▃▃▃▃▄▃▃▃▄▄▂▄▂▂▃▂▂▂▅▃▁▂▁▂▁▁▁▁▁▁ dates: 2017-09-10–2017-10-16; range: 3.071s–4.237s; speed: 14% faster (widths: 10/3) | ||
lizmat | Files=1227, Tests=75680, 319 wallclock secs (14.65 usr 5.10 sys + 2217.21 cusr 209.33 csys = 2446.29 CPU) | 10:40 | |
yoleaux | 11 Oct 2017 02:10Z <MasterDuke> lizmat: i've got a question about multis and find_best_dispatchee here irclog.perlgeek.de/perl6-dev/2017-..._15286003, with some relevant info here irclog.perlgeek.de/perl6-dev/2017-...i_15286163 | ||
13 Oct 2017 06:23Z <AlexDaniel-> lizmat: this does not look right, but the commit seems to be innocent. What do you think? Let me know if I have to rakudobug it gist.github.com/AlexDaniel/de2c5f1...ca10c82f50 | |||
14 Oct 2017 02:44Z <AlexDaniel-> lizmat: fwiw please feel freer to reject my latest regression tickets | |||
14 Oct 2017 04:36Z <AlexDaniel-> lizmat: does this look alright? Let me know. c: 21b9a720c7^,21b9a720c7 dd Set.Mix | |||
14 Oct 2017 06:43Z <AlexDaniel-> lizmat: fwiw RT #131966 | |||
15 Oct 2017 07:46Z <Zoffix> lizmat: any idea why this commit fixes RT#131925? Trying to figure out if the bug is proper-fixed or if it just doesn't get triggered with the OP code. github.com/rakudo/rakudo/commit/8a...ac59f9ba83 | |||
15 Oct 2017 13:38Z <AlexDaniel-> lizmat: RT weekly gist.github.com/AlexDaniel/0f20a50...d1d94002e2 | |||
15 Oct 2017 14:19Z <AlexDaniel-> lizmat: for p6weekly (please feel free to reword as you wish): gist.github.com/AlexDaniel/7eb90c8...0bceda6c2f | |||
15 Oct 2017 23:52Z <b2gills> lizmat: I recommend just indenting code blocks by 4 spaces on StackOverflow (along with one 「<!-- language-all: lang-perl6 -->」 at the top of Perl 6 posts) stackoverflow.com/posts/46742643/revisions | |||
15 Oct 2017 23:52Z <b2gills> lizmat: Also it might be a good idea to add one or more OpenID logins to maintain control over your answers. | |||
synopsebot | RT#131966 [new]: rt.perl.org/Ticket/Display.html?id=131966 [REGRESSION][9999] Shaped native arrays with negative sizes (my int @a[-9999999999999999]) | ||
RT#131925 [open]: rt.perl.org/Ticket/Display.html?id=131925 [BUG] [REGEX] Smartmatch against `m//` operator mishandles junctions | |||
lizmat | *sigh* | 10:41 | |
timotimo | greetings lizmat :) | ||
lizmat | hi timotimo | 10:46 | |
was pleasantly surprised buy the spectest drop in wallclock | |||
Zoffix | lol | ||
lizmat: it was only 'cause a very long test was move to stresstest, not because stuff got faster | 10:47 | ||
lizmat | last one I reported was 346 | ||
timotimo | wasn't that just throwing a very expensive test out of spectest and into stress... yes | ||
lizmat | ah.. :-( | ||
Zoffix | :) | ||
lizmat | still... it helps me :-) | 10:49 | |
timotimo | lizmat: you had some startup measurements recently; i put an optimization for startup speed in shortly after that. could you give the new measurement? (and perhaps dig up the old one as well?) | 11:03 | |
(while i BBIAB) | |||
lizmat | timotimo: the lowest I just got was 104 msecs | 11:09 | |
but usually it is around 132 msecs | 11:10 | ||
I wonder what's causing this huge difference: possibly just clocking on my MBP, which is rather cold atm | |||
and thus clocked a bit higher | |||
fwiw, it feels in general it's now ~3 msecs faster | 11:11 | ||
timotimo | that's not much :< | 11:29 | |
jnthn: i've mulled over the case ufobat has where IO::Socket::Async::SSL.listen would quit its supply when a protocol problem happens. i don't see a way to actually keep the listening socket open when that happens. it might be a good idea to emit a "dummy" io::async::ssl socket that immediately quits any supply tapped on it or dies any write done to it | 11:36 | ||
so that you can have a QUIT and CATCH inside the data-whenever and bring down only the individual connection, not the whole listen socket | |||
because surely you don't want to open the socket over and over | |||
Geth | nqp: 57453ad409 | pmurias++ | 2 files [js] Support returning simple values from native calls |
12:26 | |
Zoffix | m: <a b c>.grep({.chars and not *.ends-with: "b" and not 0}).say | 12:55 | |
camelia | (a b c) | ||
Zoffix just spent $x minutes trying to debug this bug | |||
s: ((*.so)), 'Bool', \() | 12:56 | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/e52c...Mu.pm#L102 | ||
Zoffix | guess there is some usecases where you'd want a WhateverCode.Bool for legitimate reasons, so it can't be improved | 12:57 | |
lizmat | m: <a b c>.grep({.chars and not .ends-with: "b" and not 0}).say # this what you meant ? | ||
camelia | (a c) | ||
lizmat | ah, yes.. because sometimes a WhateverCode could be an optional parameter | ||
Zoffix | Yeah. I rewrite a .grep(*.ends-with: 'b') to a more complex conditional and the left over `*` made things wrong :( | ||
*rewrote | |||
ZofBot: remnew 5d4h document Supplier::Preserving | 12:59 | ||
ZofBot | Zoffix, Will remind out on 2017-10-21T12:59:20.464653-04:00 about document Supplier::Preserving | ||
lizmat | m: sub a($a?) { say $a("foo") if $a }; a; a *.u | ||
camelia | No such method 'u' for invocant of type 'Str'. Did you mean 'uc'? in block <unit> at <tmp> line 1 |
||
lizmat | m: sub a($a?) { say $a("foo") if $a }; a; a *.uc | ||
camelia | FOO | ||
Zoffix | \o/ :) made it remind me of stuff | ||
gfldex | Zoffix: let me remind you that you don't need reminding because of github.com/perl6/doc/pull/1609 | 13:39 | |
jnthn | timotimo: Hm, yeah, just seen the issue | 13:40 | |
timotimo: Alternatively, any connection that doesn't even make it past the handshake stage could just be closed | 13:41 | ||
timotimo | aye | ||
that's probably nicer. not really necessary to know about these | |||
jnthn | I think I'll do that as it's the easiest option | ||
timotimo | though perhaps a .errors-supply could be had | ||
jnthn | And if somebody does some day wish to know about them then we can figure out a way to enable that with some option | 13:42 | |
timotimo | :failures-okay ;) | ||
Zoffix | gfldex: ok. Thanks. | 13:48 | |
Geth | rakudo/nom: d6a9edacf2 | (Elizabeth Mattijsen)++ | 2 files Remove unneeded var, improve push-all on native arrays Mentioned in RT #132306, this is what I probably had in mind working on that. |
14:11 | |
synopsebot | RT#132306 [new]: rt.perl.org/Ticket/Display.html?id=132306 [PERF] parameters, even if unused, make stuff slower ( f1($a, $, $, $, $, $) vs f2($a, $b, $c, $d, $e, $f) ) | ||
japhb | .ask moritz Is there any good reference for how to write (and/or use) a grammar so that it will produce useful error messages? Will your upcoming book cover that? | 14:19 | |
yoleaux | japhb: I'll pass your message to moritz. | ||
timotimo | github.com/moritz/Grammar-ErrorReporting check this out | 14:22 | |
moritz | japhb: yes, the upcoming book has a whole chapter on that topic | ||
yoleaux | 14:19Z <japhb> moritz: Is there any good reference for how to write (and/or use) a grammar so that it will produce useful error messages? Will your upcoming book cover that? | ||
timotimo | moritz: shouldn't the name field in ErrorReporting's META6.json have :: instead of - between the words? | ||
moritz | japhb: you can preorder it now; ETA is this year | ||
timotimo: I have no idea | 14:23 | ||
timotimo | it's probably not so critical, it just looks weird to have it called Grammar-ErrorReporting on modules.perl6.org | 14:24 | |
gfldex | :: would be better. Makes it search friendly | ||
moritz | updated | 14:27 | |
buggable | New CPAN upload: Grammar-ErrorReporting-0.2.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...0.2.tar.gz | 14:31 | |
Geth | rakudo/hyper-race-rework: cc2a064395 | (Jonathan Worthington)++ | 4 files Extract some Seq methods onto a Sequence role This will also be done by HyperSeq and RaceSeq, after upcoming changes to how they are implemented. |
14:53 | |
Zoffix | m: -> Int:D() $x { dd $x }("1") | 15:17 | |
camelia | Type check failed in binding to parameter '$x'; expected Int but got Str ("1") in block <unit> at <tmp> line 1 |
||
yoleaux | 14:32Z <[Coke]> Zoffix: Thanks for Proc::Q, it's basically exactly what I needed to build. | ||
Zoffix | m: -> Int() $x { dd $x }("1") | 15:18 | |
camelia | Int $x = 1 | ||
Zoffix | Coersers to a :D ain't working... I could've swore I used them in the past | ||
m: -> Int:D() $x { dd $x }(1) | |||
camelia | 1 | ||
Zoffix | And they're probably only working because they don't need to coerce anything 😟 | 15:19 | |
jnthn | I'm not even sure what they'd mean | 15:20 | |
Zoffix | Int:D() => Coerce from Any to Int, ensuring you got an Int:D at the end | 15:21 | |
jnthn | Ah, so it'd not a coercer to :D type, just a check that the :D applies to the coerced result? | 15:22 | |
Guess that makes sense. | |||
Zoffix | Yeah | ||
jnthn | Though -> Int(Any:D) $x { } is probably quite likely safer | ||
m: say Int.Int | |||
camelia | (Int) | ||
jnthn | m: say Str.Int | 15:23 | |
camelia | Invocant of method 'Int' must be an object instance of type 'Str', not a type object of type 'Str'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
jnthn | Heh, I thought it'd be a warning and 0 | ||
Zoffix | m: -> Int(Any:D) $x { $x.DEFINITE.say }(class { method Int { Int } }.new) | ||
camelia | False | ||
jnthn | Well yeah, somebody *can* write that, but it's unlikely a defined value would coerce into a type object | 15:24 | |
Zoffix | The fact that it silently fails is certainly LTA. | 15:25 | |
jnthn | Indeed | ||
Zoffix | I probably used it in core even | ||
jnthn: so should it DWIM and coerce to type + :D check or should it error out? | |||
jnthn | Whichever somebody has the time/energy to implement, I guess ;) | 15:26 | |
I mean, I'd prefer the first, but the second is surely easier :) | |||
Zoffix | I prefer the first too | ||
There are even roast tests for this even (fudged it seems tho) | 15:27 | ||
gonna try to take a crack at it on the weekend | 15:28 | ||
jnthn | Nice :) | ||
Zoffix | |5d make Int:D() do things | ||
ZofBot | Zoffix, Will remind you on 2017-10-21T11:28:20.708273-04:00 about make Int:D() do things | ||
tbrowder | .tell jnthn Would breaking out a separate TablePod class in new file TablePod.nqp be considered if I go in that direction? | 16:04 | |
yoleaux | tbrowder: I'll pass your message to jnthn. | ||
Geth | rakudo/hyper-race-rework: 2352efe513 | (Jonathan Worthington)++ | 9 files Gut current, broken, hyper/race implementation |
16:13 | |
jnthn | tbrowder: What benefits would it have? | ||
yoleaux | 16:04Z <tbrowder> jnthn: Would breaking out a separate TablePod class in new file TablePod.nqp be considered if I go in that direction? | ||
jnthn | (Genuine question; I don't know that area of the code much at all :)) | 16:14 | |
Geth | rakudo/hyper-race-rework: d43b373850 | (Jonathan Worthington)++ | 8 files Start to add guts of new hyper/race implementation |
16:27 | |
tbrowder | jnthn: depending on my changes, just a little isolation of table-specific code. maybe instead have methods inside the main table sub? | ||
or subs? | |||
jnthn | Perhaps that, yeah | ||
tbrowder | ok, thanks! | 16:28 | |
jnthn | Breaking things up into manageable pieces is generally a good thing to do :) | ||
Geth | rakudo/hyper-race-rework: dfa230f7bd | (Jonathan Worthington)++ | 3 files Add new hyper/race pipeline builder This is the part that kicks off parallel workers. It does so using non-blocking constructs, so as not to exhaust the thread pool and to play nice with other tasks ongoing in the pool. This also means we'll have nice behavior if a parallel worker does a `react` or `await` (so, non-blocking under 6.d.PREVIEW). Support for rebatchers still to come. |
16:40 | |
gfldex | I can't wait to .hyper All The Things! | 16:42 | |
jnthn | I'd only hyper those where there's enough work to make it worth it :P | 16:43 | |
Geth | rakudo/hyper-race-rework: 1fdc84fe04 | (Jonathan Worthington)++ | 6 files Start new HyperSeq/RaceSeq, wire up hyper/race Supports parallel evaluation of basic cases of map and grep. |
17:39 | |
jnthn | Hm, seems that passes S07-hyperrace/hyper.t and S07-hyperrace/race.t | 17:41 | |
At least as well as what was there before | |||
Still more to do, of course | |||
But right now, time to go home and prep dinner :) | |||
oh, there are todo passes :D | 17:42 | ||
OK, really home o/ | |||
gfldex | jnthn: the heisenbug in .hyper is not gone yet. Should it have been? | 18:37 | |
Zoffix | Note the the work is in a branch. | 18:39 | |
gfldex | that I noted and pulled | 18:40 | |
timotimo | gfldex: what are you hypering so far? | ||
gfldex | gist.github.com/b9914d412c807f45d2...d45726f2b2 | 18:41 | |
in that example .hyper seams to return undefined values and Seq that are eaten already | 18:42 | ||
just now I got a $_ that is Mu when it shouldn't | |||
the bug seams to have a ~10% chance to trigger with 6 cores | 18:43 | ||
it does segfault too | |||
also it does heat up the water quite nicely :-> | 18:44 | ||
timotimo | i just now saw that samcv's grant will be paid out \o/ | 18:48 | |
samcv | \o/ | 18:49 | |
timotimo | that has been on the tpf blog since the 7th | ||
samcv | should hopefully get paid soon. sent my W-9 to the right email and didn't get a response back after a week. forwarded it to [Coke] so hopefully will get through. he said the email may be behind a queue | 18:50 | |
[Coke] has been trying very hard to post blog things in a timely fashion. | |||
gfldex | timotimo: I would not mind a critique of my attempt to .hyper to-json. | 18:52 | |
I just spotted a bug. | 18:54 | ||
Zoffix | I keep getting burned with `"Str does not support associative indexing"` 'cause I keep writing stuff like `"$!who{"@" if $!who or $!where}$!where"` | 18:57 | |
We clearly should've used different brackets for hashes and code blocks :} | 18:58 | ||
timotimo | i don't know what a W-9 is :) | 19:04 | |
Zoffix turns timotimo in for tax evasion | 19:05 | ||
It's a US form for tax stuff | |||
timotimo | i see | 19:06 | |
i wonder how payment to european folks will work | 19:07 | ||
(but first i have to do the actual work) | |||
Zoffix | They just sent me a cheque | ||
timotimo | that sounds easy | ||
Zoffix | It was :) | ||
timotimo | of course i have to figure out what process i have to go through to tax the money properly | ||
gfldex | first you have to talk to the toll office (if it crosses €10k) | 19:08 | |
timotimo | it doesn't! :D | ||
gfldex | lucky you! :-D | 19:09 | |
AlexDaniel` | releasable6: next | ||
releasable6 | AlexDaniel`, Next release in 4 days and ≈23 hours. 1 blocker. Changelog for this release was not started yet | ||
lizmat | timotimo: if you are not a US citizen, you should only have to deal with the local tax office (aka it's income for you) | ||
releasable6 | AlexDaniel`, Details: gist.github.com/a4f451219f22eabd6a...ef4648a76a | ||
timotimo | that doesn't seem terribly tricky | ||
AlexDaniel` | .tell brrt Hello. Any news on RT #132269 ? | ||
yoleaux | AlexDaniel`: I'll pass your message to brrt. | ||
timotimo BBL | |||
synopsebot | RT#132269 [new]: rt.perl.org/Ticket/Display.html?id=132269 [REGRESSION][BUG] JIT removing loop construct and confusing last() | ||
lizmat | timotimo: most tricky thing in these situations is to actually set apart the money for taxes until they're due | 19:10 | |
timotimo | as opposed to spending it all immediately? :) | 19:11 | |
lizmat | yup | 19:12 | |
jnthn | gfldex: I've really no idea; the only indicators I have so far is that it passed a handful of local sanity tests I wrote and as I left the office I glimpsed some passing TODO tests from S07-hyperrace/. | 19:54 | |
gfldex: There may be more TODO'd ones it doesn't pass, and I sure didn't yet have time to go through all of the RTs on hyper/race to see where they stand. :) | 19:55 | ||
b2gills | Does that include the “<hyper race> X <map grep> done in reverse” ones? (race+map is the only one that works currently) | 20:12 | |
gfldex | HyperIterable and HyperSeq seam not to be specced. Is that intentional? | 21:11 | |
lizmat | And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/10/16/...seriously/ | 22:02 | |
MasterDuke | are there any downsides to non-sigiled variables? other than the obvious (i.e., they're read-only) | 22:04 | |
timotimo | they aren't read-only by themselves, they just don't get a scalar for free | 22:07 | |
MasterDuke | right. i guess why i'm asking, any reason not to do an audit of all core sub/method signatures and make anything raw that can be? | 22:08 | |
Zoffix | m: my $x = 100; sub (\z) { z = 42 }($x); say $x # they're not readonly at all :) | 22:10 | |
camelia | 42 | ||
timotimo | it'll give you a read-write version of the incoming var if it has an actual scalar to go with it | ||
MasterDuke | "I'm stupid. You're smart. I was wrong. You were right. You're the best. I'm the worst. You're very good-looking. I'm not very attractive" | 22:14 | |
timotimo | wait what | 22:15 | |
MasterDuke | happy gilmore | ||
MasterDuke admits the first question included a less-than-completely-accurate statement along with it | 22:16 | ||
but what about the second question? | 22:17 | ||
Zoffix | what was that? :) | 22:19 | |
the stupid smart thing | 22:20 | ||
ZofBot: must be a human thing... | 22:21 | ||
ZofBot | Zoffix, Would had no being, If this salute my blood a jot; it faints me To think what follows | ||
timotimo | so, anybody know how printf with 0.3e0 gives an unlimited supply of zeroes? | 22:27 | |
MasterDuke | heh, didn't mean to cause that much confusion, i have a bunch of friends who use that quote all the time | 22:38 | |
timotimo | OK | 22:42 | |
i have a version of sprintf cut down to have no grammar pieces | 22:45 | ||
now i can put debug info everywhere | |||
MasterDuke | ooo, faster? | ||
timotimo | well, i can change it now without recompiling nqp | 22:47 | |
so yeah, faster | |||
it doesn't do anything except a single %f, though | |||
m: say 0.3e0 - 0.3 | 22:48 | ||
camelia | 0 | ||
timotimo | we actually represent 0.3 precisely? | 22:49 | |
ah, it's the same bug that breaks 1e-1 vs 0.1e0 i guess? | 22:51 | ||
i don't want to fiddle around with this tbh | 22:55 |