[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