Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-03-14

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:06 cog_ joined #perl6-dev
02:06 kalkin- joined #perl6-dev
02:46 agentzh joined #perl6-dev
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:34 ZzZombo joined #perl6-dev
03:34 ZzZombo joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
07:38 agentzh joined #perl6-dev
07:52 dct joined #perl6-dev
08:08 vendethiel- joined #perl6-dev
08:12 brrt joined #perl6-dev
08:48 [Tux] joined #perl6-dev
08:51 [Tux] This is Rakudo version 2017.02-240-gd232f3c5f built on MoarVM version 2017.02-39-gd7caeba3
08:51 [Tux] csv-ip5xs        3.026
08:51 [Tux] test            12.694
08:51 [Tux] test-t           4.954 - 5.016
08:51 [Tux] csv-parser      12.906
09:28 lizmat looks like there is no Perl 6 presence here yet: https://eventil.com/events/polyconf-17/submissions/new
09:28 lizmat any takers ?
09:30 DrForr I'm already booked :)
09:30 brrt i'm slightly offput by the 'polyglot' thingy
09:37 nine Oh boy....sounds kinda like a conference, where I'd have a thing or three to contribute.
09:40 brrt let me check it out
09:41 brrt so, what's the idea? talk about language interopability issues?
09:42 brrt i'm kind of vague on the idea of polyglotness
09:48 brrt looking on the speaker lists, there's some interesting persons..
10:00 brrt joined #perl6-dev
10:06 vendethiel joined #perl6-dev
10:49 raydiak joined #perl6-dev
11:16 brrt joined #perl6-dev
11:17 brrt joined #perl6-dev
11:40 agentzh joined #perl6-dev
12:12 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 IOninja jnthn: does that mean this usage is wrong: https://github.com/rakudo/rakudo/blob/nom/src/core/operators.pm#L761-L766
12:12 IOninja Since I'm passing actual values into role's parameters?
12:31 IOninja .ask samcv can https://github.com/perl6/nqp/commit/358931c824 be reverted, given https://github.com/perl6/nqp/commit/358931c8249 went in?
12:31 yoleaux2 IOninja: I'll pass your message to samcv.
12:31 samcv hi i'm here
12:31 yoleaux2 12:31Z <IOninja> samcv: can https://github.com/perl6/nqp/commit/358931c824 be reverted, given https://github.com/perl6/nqp/commit/358931c8249 went in?
12:31 samcv those are the same commits
12:32 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: https://github.com/rakudo/rakudo/blob/nom/src/core/operators.pm#L761-L766
12:32 yoleaux2 IOninja: I'll pass your message to jnthn.
12:32 IOninja samcv: copy-paste fail. I meant revert this: https://github.com/rakudo/rakudo/commit/b1444c8a1b8b9e0a60b32b5bd7400a79c22764f7
12:32 samcv i think i did remove that IOninja
12:32 IOninja Oh ok
12:32 IOninja I didn't get to it yet then. Never mind :)
12:32 samcv oh. actually
12:32 samcv i was gonna do that shortly
12:33 IOninja Cool.
12:33 samcv but i am working on it
12:33 samcv had to regenerate stages
12:33 samcv for nqp
12:33 samcv which is done now, so will see if that can be reverted now
12:34 samcv working on adding a new mvm op atm
12:34 samcv case insensitive string indexing
12:35 edehont joined #perl6-dev
12:37 samcv 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 samcv but i know it generates many index calls when doing case insensitive regex
12:38 samcv and also it's broken if the needle is too far in the string
12:39 samcv IOninja, i don't see those #?if on my version
12:40 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
12:41 IOninja In https://github.com/rakudo/rakudo/commit/cef41b2487fa0a25cc299eb1bfcb7efbae8d9d74
12:41 samcv yeah i just found it now
12:41 samcv after looking in git blame
12:41 samcv samcv++ forgot i did that
12:42 samcv i remember doing it for one of the files
12:42 samcv ok yeah and the ifdefs are removed from nqp too
12:49 IOninja .ask lizmat what if instead of removing :close completely we named it :close-on-end or something? RE: https://github.com/rakudo/rakudo/commit/76a59cf8386
12:49 yoleaux2 IOninja: I'll pass your message to lizmat.
12:50 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.
12:53 IOninja my @lines = open("foo", :encoding<latin-1>).lines: :close;   v.s.  my @lines; with open("foo", :encoding<latin-1>) { @lines = .lines; .close };
12:55 IOninja 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.
13:01 lizmat .
13:01 yoleaux2 12:49Z <IOninja> lizmat: what if instead of removing :close completely we named it :close-on-end or something? RE: https://github.com/rakudo/rakudo/commit/76a59cf8386
13:01 yoleaux2 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.
13:02 lizmat IOninja: what I think is missing, is a way to indicate to an Iterator that you're done
13:02 lizmat akin to a Channel.close / Supply.close
13:03 lizmat doing a .done on the Seq returned by IO::Handle.lines would then imply a close
13:04 lizmat s/IO::Handle/IO::Path/
13:04 lizmat and could be made settable with a named param in the IO::Handle case
13:04 lizmat afk again&
13:06 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:22 jnthn IOninja: .arity and .count are likely going to be constants
13:22 jnthn IOninja: .of also
13:23 brrt joined #perl6-dev
13:23 jnthn IOninja: Basically, the only way it'll an issue is if people use it on a load of temporary types
13:23 jnthn Which would be...unusual
13:25 jnthn So you're probably fairly safe
13:25 jnthn 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
13:27 IOninja OK.
14:07 brrt joined #perl6-dev
14:11 brrt1 joined #perl6-dev
14:12 brrt1 left #perl6-dev
14:40 IOninja 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 IOninja https://gist.github.com/zoffixznet/e2a252f766b60bac6747225ed0b371c9
14:41 IOninja .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.
14:44 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: https://github.com/perl6/roast/commit/93bd430e1a7b62ac6a78ff5835624ec3b3741ea1
14:45 IOninja And the last two: cross and zip I see they got fudged in master: https://github.com/perl6/roast/commit/a83d973edc960a8691a793b3911c23bdc94e5d39
14:45 lizmat yup, because I'm not 100% sure about those two
14:45 lizmat aka RT #130980
14:45 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130980
14:46 * 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...
14:46 * lizmat neither
14:47 lizmat I hope TimToady has some clue
14:58 IOninja m: for ^1000_000 { $ = 42 max 4 }; say now - INIT now
14:58 camelia rakudo-moar d232f3: OUTPUT: «0.4933718␤»
14:58 IOninja star: for ^1000_000 { $ = 42 max 4 }; say now - INIT now
14:58 camelia star-m 2016.10: OUTPUT: «0.2177445␤»
14:59 liAealneDx joined #perl6-dev
14:59 IOninja .ask MasterDuke am I measuring wrong? Having trouble reproducing the 3x speedup brought by a9c5196  https://irclog.perlgeek.de/perl6-dev/2017-03-14#i_14261936
14:59 yoleaux2 IOninja: I'll pass your message to MasterDuke.
15:02 committable6 joined #perl6-dev
15:10 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  https://irclog.perlgeek.de/perl6-dev/2017-03-14#i_14261936
15:33 Geth ¦ rakudo/nom: daa71e6714 | (Zoffix Znet)++ | docs/ChangeLog
15:33 Geth ¦ rakudo/nom: Log all changes to date
15:33 Geth ¦ rakudo/nom:
15:33 Geth ¦ rakudo/nom: Logs commits:
15:33 Geth ¦ rakudo/nom: 0083c4f 030c4c5 032b283 0633f03 127338a 1934a56 1e24666 1eb7b1f 20fa14b 2125d4d 212cc8a
15:33 Geth ¦ rakudo/nom: 27dc7b1 2a2e460 3e86d0f 4bc826d 4fce405 5b6e0fb 5b7b7fb 5b98caa 5c68ea6 63cf5ca 6771dee
15:33 Geth ¦ rakudo/nom: 68a40f7 76a59cf 9019a5b 9cec31a 9da50e3 9da6de4 a9c5196 b597398 c4a4c84 cb149a8 cef41b2
15:33 Geth ¦ rakudo/nom: d04c47f d444f65 d6c95ea dc19892 deac603 e114d52 e2db7b8 f190f24 f73d984 fc86084
15:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/daa71e6714
15:37 IOninja 🎺🎺🎺🛢🛢🛢🍗🍗🍗🌟🌟🌟💖💖💖 REMINDER: Next Rakudo release will happen this Saturday. Please check the ChangeLog to ensure your work has been correctly logged. 💖💖💖🌟🌟🌟🍗🍗🍗🛢🛢🛢🎺🎺🎺
17:35 agentzh joined #perl6-dev
17:52 Undercover joined #perl6-dev
18:42 IOninja ZOFVM: Files=1228, Tests=132840, 148 wallclock secs (23.65 usr  4.05 sys + 2752.32 cusr 308.36 csys = 3088.38 CPU)
18:48 Geth ¦ rakudo/nom: 935231c13b | (Zoffix Znet)++ | 2 files
18:48 Geth ¦ rakudo/nom: Fix bad error for `@x = for 42 <-> {}`; AlexDaniel++
18:48 Geth ¦ rakudo/nom:
18:48 Geth ¦ rakudo/nom: The `<->` wasn't listed as the lambdas looked for, so the
18:48 Geth ¦ rakudo/nom: construct was giving just a generic `undeclared routine for` message
18:48 Geth ¦ rakudo/nom: instead of suggesting the user adds a `do`
18:48 Geth ¦ rakudo/nom:
18:48 Geth ¦ rakudo/nom: Bug discovery: https://irclog.perlgeek.de/perl6/2017-03-14#i_14263417
18:48 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/935231c13b
18:49 IOninja dam, forgot to actually run the test I wrote >_<
18:50 Geth ¦ rakudo/nom: b19df9f3f1 | (Zoffix Znet)++ | t/05-messages/01-errors.t
18:50 Geth ¦ rakudo/nom: Fix typo in test
18:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b19df9f3f1
19:10 unicodable6 joined #perl6-dev
19:17 buggable joined #perl6-dev
19:38 RabidGravy I have an urge to make "await Promise" work
19:38 IOninja m: await Promise
19:38 camelia rakudo-moar b19df9: OUTPUT: «Must specify a defined Promise, Channel, or Supply to await on (got an undefined Promise)␤  in block <unit> at <tmp> line 1␤␤»
19:38 IOninja m: use v6.d.PREVIEW; await Promise
19:38 camelia rakudo-moar b19df9: OUTPUT: «Must specify a defined Awaitable to await (got an undefined Promise)␤  in block <unit> at <tmp> line 1␤␤»
19:39 RabidGravy I have a case where it would save a throw away Promise instance
19:40 RabidGravy that is I want to something like { my Promise $p;  if $something { $p = $sock.write "blah" }; $p }
19:42 IOninja m: await grep *.DEFINITE, Promise
19:42 camelia rakudo-moar b19df9: OUTPUT: «Cannot use Bool as Matcher with 'grep'.  Did you mean to use $_ inside a block?␤  in block <unit> at <tmp> line 1␤␤»
19:42 IOninja bah
19:42 IOninja m: await grep {.DEFINITE}, Promise
19:42 camelia rakudo-moar b19df9: ( no output )
20:22 unicodable6 joined #perl6-dev
20:35 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
20:36 liAealneDx I wonder if it should include “of”
20:47 cog__ joined #perl6-dev
21:08 vendethiel- joined #perl6-dev
21:14 jnthn What're we planning to put a deprecation warning in for?
21:15 IOninja jnthn: `returns`
21:15 IOninja Or is it unsettled yet.
21:15 IOninja Was it you who didn't want it?
21:15 IOninja Here's TimToady wanting it deprecated in 6.d: https://irclog.perlgeek.de/perl6/2016-12-03#i_13674580
21:17 jnthn OK, well if we really must then the warning should only happen if did `use v6.d.PREVIEW`
21:17 jnthn *if you did
21:17 IOninja Yeah.
21:17 jnthn But I'm quite against this change.
21:18 jnthn I have shitloads of code that'd start warning.
21:18 jnthn And I doubt I'm the only one
21:18 IOninja liAealneDx: ^ see above. Maybe don't add the warning just yet and this should be discussed more.
21:19 jnthn If this went it under anything other than v6.d.PREVIEW I'd certainly revert it.
21:19 jnthn *went in
21:19 IOninja Yeah, the plan was to deprecated it in 6.d
21:20 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
21:20 IOninja :D
21:21 jnthn And I suspect that was the suggested way for a good while in the docs too
21:21 jnthn So I'm guessing the ecosystem will be full of it also
21:21 jnthn So if we do it, it's going to be noisy and irritating.
21:22 jnthn 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:23 IOninja oh we also have prefix notation for return types
21:24 jnthn Yeah, that I don't know that I've ever used :)
21:24 IOninja m: my Int sub blah {42}; blah
21:24 camelia rakudo-moar b19df9: ( no output )
21:24 IOninja m: my Int sub blah {''}; blah
21:24 camelia rakudo-moar b19df9: OUTPUT: «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␤␤»
21:24 IOninja heh
21:24 jnthn Though I suspect that one may fall straight out of the way scoped parsing is structured
21:34 ggoebel joined #perl6-dev
23:18 geekosaur joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary