[Tux] | This is Rakudo version 2017.02-240-gd232f3c5f built on MoarVM version 2017.02-39-gd7caeba3 | 08:51 | |
csv-ip5xs 3.026 | |||
test 12.694 | |||
test-t 4.954 - 5.016 | |||
csv-parser 12.906 | |||
lizmat | looks like there is no Perl 6 presence here yet: eventil.com/events/polyconf-17/submissions/new | 09:28 | |
any takers ? | |||
DrForr | I'm already booked :) | 09:30 | |
brrt | i'm slightly offput by the 'polyglot' thingy | ||
nine | Oh boy....sounds kinda like a conference, where I'd have a thing or three to contribute. | 09:37 | |
brrt | let me check it out | 09:40 | |
so, what's the idea? talk about language interopability issues? | 09:41 | ||
i'm kind of vague on the idea of polyglotness | 09:42 | ||
looking on the speaker lists, there's some interesting persons.. | 09:48 | ||
IOninja | "Note, however, that roles are interned based on the object identity of their positional parameters. This means the pattern, used on values, has a high chance of causing a memory "leak"." | 12:12 | |
jnthn: does that mean this usage is wrong: github.com/rakudo/rakudo/blob/nom/...#L761-L766 | |||
Since I'm passing actual values into role's parameters? | |||
.ask samcv can github.com/perl6/nqp/commit/358931c824 be reverted, given github.com/perl6/nqp/commit/358931c8249 went in? | 12:31 | ||
yoleaux2 | IOninja: I'll pass your message to samcv. | ||
samcv | hi i'm here | ||
yoleaux2 | 12:31Z <IOninja> samcv: can github.com/perl6/nqp/commit/358931c824 be reverted, given github.com/perl6/nqp/commit/358931c8249 went in? | ||
samcv | those are the same commits | ||
IOninja | .ask jnthn would you mind taking a look at this code? I read your response on some ticket that using values to parameterize roles can lead to memory leaks: github.com/rakudo/rakudo/blob/nom/...#L761-L766 | 12:32 | |
yoleaux2 | IOninja: I'll pass your message to jnthn. | ||
IOninja | samcv: copy-paste fail. I meant revert this: github.com/rakudo/rakudo/commit/b1...79c22764f7 | ||
samcv | i think i did remove that IOninja | ||
IOninja | Oh ok | ||
I didn't get to it yet then. Never mind :) | |||
samcv | oh. actually | ||
i was gonna do that shortly | |||
IOninja | Cool. | 12:33 | |
samcv | but i am working on it | ||
had to regenerate stages | |||
for nqp | |||
which is done now, so will see if that can be reverted now | |||
working on adding a new mvm op atm | 12:34 | ||
case insensitive string indexing | |||
i *think* what it does is uppercase and lowercase it and then run index on it or use the NFA though somebody else can hopefully help me with this | 12:37 | ||
but i know it generates many index calls when doing case insensitive regex | |||
and also it's broken if the needle is too far in the string | 12:38 | ||
IOninja, i don't see those #?if on my version | 12:39 | ||
IOninja | samcv: I don't see them on HEAD. Sorry, I should've checked HEAD first. | 12:40 | |
samcv | i'm not sure when it got removed but i must have removed it | ||
IOninja | In github.com/rakudo/rakudo/commit/ce...fbae8d9d74 | 12:41 | |
samcv | yeah i just found it now | ||
after looking in git blame | |||
samcv++ forgot i did that | |||
i remember doing it for one of the files | 12:42 | ||
ok yeah and the ifdefs are removed from nqp too | |||
IOninja | .ask lizmat what if instead of removing :close completely we named it :close-on-end or something? RE: github.com/rakudo/rakudo/commit/76a59cf8386 | 12:49 | |
yoleaux2 | IOninja: I'll pass your message to lizmat. | ||
IOninja | .ask lizmat removing it entirely feels to big a hammer since user will have to have the handle kept in some variable to be able to call both .lines AND close. The argument to .lines avoids that. | 12:50 | |
yoleaux2 | IOninja: I'll pass your message to lizmat. | ||
IOninja | my @lines = open("foo", :encoding<latin-1>).lines: :close; v.s. my @lines; with open("foo", :encoding<latin-1>) { @lines = .lines; .close }; | 12:53 | |
well, I guess there's IO::Path.lines for ^ that usage, but for lazy read, where you pass around a lazy seq of lines, it's not ideal to also have to keep the handle around and manually handle its closing when the seq is exhausted. | 12:55 | ||
lizmat | . | 13:01 | |
yoleaux2 | 12:49Z <IOninja> lizmat: what if instead of removing :close completely we named it :close-on-end or something? RE: github.com/rakudo/rakudo/commit/76a59cf8386 | ||
12:50Z <IOninja> lizmat: removing it entirely feels to big a hammer since user will have to have the handle kept in some variable to be able to call both .lines AND close. The argument to .lines avoids that. | |||
lizmat | IOninja: what I think is missing, is a way to indicate to an Iterator that you're done | 13:02 | |
akin to a Channel.close / Supply.close | |||
doing a .done on the Seq returned by IO::Handle.lines would then imply a close | 13:03 | ||
s/IO::Handle/IO::Path/ | 13:04 | ||
and could be made settable with a named param in the IO::Handle case | |||
afk again& | |||
IOninja | I think it's fine for IO::Path.lines to slurp and close, since the handle isn't available to user, but for IO::Handle it is and the user can control when to close the handle either by closing the handle themselves or by passing :close to IO::Handle.lines(), indicating they expect to exhaust the Seq. | 13:06 | |
jnthn | IOninja: .arity and .count are likely going to be constants | 13:22 | |
IOninja: .of also | |||
IOninja: Basically, the only way it'll an issue is if people use it on a load of temporary types | 13:23 | ||
Which would be...unusual | |||
So you're probably fairly safe | 13:25 | ||
The intern will help more than it harms in this case, otherwise it'd be super-slow if the o was done in a loop | |||
IOninja | OK. | 13:27 | |
Getting a bunch of failures in 6.c-errata: t/spec/S03-metaops/cross.t, t/spec/S03-metaops/zip.t, t/spec/S03-metaops/hyper.t, t/spec/S09-multidim/subs.t, t/spec/S09-multidim/methods.t, t/spec/S11-modules/require.t, t/spec/S17-supply/map.t | 14:40 | ||
gist.github.com/zoffixznet/e2a252f...5ed0b371c9 | |||
.ask nine does 6.c-errata need any updates for require? t/spec/S11-modules/require.t is failing | 14:41 | ||
yoleaux2 | IOninja: I'll pass your message to nine. | ||
lizmat | IOninja: looking, since most of them are probably my fault | 14:44 | |
IOninja | The hyper, methods, subs, and map ones are due to List.reverse -> Seq migration that I believe lizmat++ was waiting to see any feedback on before chaknging 6c.-errata: github.com/perl6/roast/commit/93bd...c3b3741ea1 | ||
And the last two: cross and zip I see they got fudged in master: github.com/perl6/roast/commit/a83d...bdc94e5d39 | 14:45 | ||
lizmat | yup, because I'm not 100% sure about those two | ||
aka RT #130980 | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130980 | ||
lizmat enjoying some novocaine in her jaw after a visit to the dentist | 14:46 | ||
IOninja has no idea if 130980 is a bug or not... | |||
lizmat neither | |||
I hope TimToady has some clue | 14:47 | ||
IOninja | m: for ^1000_000 { $ = 42 max 4 }; say now - INIT now | 14:58 | |
camelia | 0.4933718 | ||
IOninja | star: for ^1000_000 { $ = 42 max 4 }; say now - INIT now | ||
camelia | 0.2177445 | ||
IOninja | .ask MasterDuke am I measuring wrong? Having trouble reproducing the 3x speedup brought by a9c5196 irclog.perlgeek.de/perl6-dev/2017-...i_14261936 | 14:59 | |
yoleaux2 | IOninja: I'll pass your message to MasterDuke. | ||
MasterDuke | IOninja: looking into it | 15:10 | |
yoleaux2 | 14:59Z <IOninja> MasterDuke: am I measuring wrong? Having trouble reproducing the 3x speedup brought by a9c5196 irclog.perlgeek.de/perl6-dev/2017-...i_14261936 | ||
Geth | rakudo/nom: daa71e6714 | (Zoffix Znet)++ | docs/ChangeLog Log all changes to date Logs commits: 0083c4f 030c4c5 032b283 0633f03 127338a 1934a56 1e24666 1eb7b1f 20fa14b 2125d4d 212cc8a 27dc7b1 2a2e460 3e86d0f 4bc826d 4fce405 5b6e0fb 5b7b7fb 5b98caa 5c68ea6 63cf5ca 6771dee 68a40f7 76a59cf 9019a5b 9cec31a 9da50e3 9da6de4 a9c5196 b597398 c4a4c84 cb149a8 cef41b2 d04c47f d444f65 d6c95ea dc19892 deac603 e114d52 e2db7b8 f190f24 f73d984 fc86084 |
15:33 | |
IOninja | šŗšŗšŗš¢š¢š¢ššššššššš REMINDER: Next Rakudo release will happen this Saturday. Please check the ChangeLog to ensure your work has been correctly logged. šššššššššš¢š¢š¢šŗšŗšŗ | 15:37 | |
ZOFVM: Files=1228, Tests=132840, 148 wallclock secs (23.65 usr 4.05 sys + 2752.32 cusr 308.36 csys = 3088.38 CPU) | 18:42 | ||
Geth | rakudo/nom: 935231c13b | (Zoffix Znet)++ | 2 files Fix bad error for `@x = for 42 <-> {}`; AlexDaniel++ The `<->` wasn't listed as the lambdas looked for, so the construct was giving just a generic `undeclared routine for` message instead of suggesting the user adds a `do` Bug discovery: irclog.perlgeek.de/perl6/2017-03-14#i_14263417 |
18:48 | |
IOninja | dam, forgot to actually run the test I wrote >_< | 18:49 | |
Geth | rakudo/nom: b19df9f3f1 | (Zoffix Znet)++ | t/05-messages/01-errors.t Fix typo in test |
18:50 | |
RabidGravy | I have an urge to make "await Promise" work | 19:38 | |
IOninja | m: await Promise | ||
camelia | Must specify a defined Promise, Channel, or Supply to await on (got an undefined Promise) in block <unit> at <tmp> line 1 |
||
IOninja | m: use v6.d.PREVIEW; await Promise | ||
camelia | Must specify a defined Awaitable to await (got an undefined Promise) in block <unit> at <tmp> line 1 |
||
RabidGravy | I have a case where it would save a throw away Promise instance | 19:39 | |
that is I want to something like { my Promise $p; if $something { $p = $sock.write "blah" }; $p } | 19:40 | ||
IOninja | m: await grep *.DEFINITE, Promise | 19:42 | |
camelia | Cannot use Bool as Matcher with 'grep'. Did you mean to use $_ inside a block? in block <unit> at <tmp> line 1 |
||
IOninja | bah | ||
m: await grep {.DEFINITE}, Promise | |||
camelia | ( no output ) | ||
IOninja | liAealneDx: yeah you can do it right now. Not just a warning but a deprecation warning; I believe those can be turned off with some env var | 20:35 | |
liAealneDx | IOninja: ok I'll work on it tonight then | ||
I wonder if it should include āofā | 20:36 | ||
jnthn | What're we planning to put a deprecation warning in for? | 21:14 | |
IOninja | jnthn: `returns` | 21:15 | |
Or is it unsettled yet. | |||
Was it you who didn't want it? | |||
Here's TimToady wanting it deprecated in 6.d: irclog.perlgeek.de/perl6/2016-12-03#i_13674580 | |||
jnthn | OK, well if we really must then the warning should only happen if did `use v6.d.PREVIEW` | 21:17 | |
*if you did | |||
IOninja | Yeah. | ||
jnthn | But I'm quite against this change. | ||
I have shitloads of code that'd start warning. | 21:18 | ||
And I doubt I'm the only one | |||
IOninja | liAealneDx: ^ see above. Maybe don't add the warning just yet and this should be discussed more. | ||
jnthn | If this went it under anything other than v6.d.PREVIEW I'd certainly revert it. | 21:19 | |
*went in | |||
IOninja | Yeah, the plan was to deprecated it in 6.d | ||
jnthn | I'm still not entirely happy about that...I think pretty much every NativeCall-using thing I've written is chock full of `returns` | 21:20 | |
IOninja | I'm +1 on deprecating it if only because some things work with --> but don't work with returns. Feels like duplicating the work; dunno if the two can be merged to use one codepath | ||
:D | |||
jnthn | And I suspect that was the suggested way for a good while in the docs too | 21:21 | |
So I'm guessing the ecosystem will be full of it also | |||
So if we do it, it's going to be noisy and irritating. | |||
I don't know there's all that much code dupe; so far as I recally the grammar rule, action rule, and trait_mod sub are all pretty small | 21:22 | ||
IOninja | oh we also have prefix notation for return types | 21:23 | |
jnthn | Yeah, that I don't know that I've ever used :) | 21:24 | |
IOninja | m: my Int sub blah {42}; blah | ||
camelia | ( no output ) | ||
IOninja | m: my Int sub blah {''}; blah | ||
camelia | Type check failed for return value; expected Int but got Str ("") in sub blah at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
IOninja | heh | ||
jnthn | Though I suspect that one may fall straight out of the way scoped parsing is structured |