Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-10-12

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

All times shown according to UTC.

Time Nick Message
00:12 ilmari[m] joined #perl6-dev
00:27 tadzik joined #perl6-dev
00:30 ilmari[m] joined #perl6-dev
00:46 bisectable6 joined #perl6-dev
01:00 MasterDuke turns out i *nearly* have a fix for the JVM. it compiles fine, but './perl6-j tools/build/install-core-dist.pl /home/dan/Source/perl6/install/share/perl6' dies with 'Flattening named argument must have VMHash REPR'
01:02 MasterDuke --ll-exception output here: https://gist.github.com/MasterDuke17/0e3fb441c02465a1ff76567b600706de
01:04 MasterDuke that error is in ./src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SixModelObject.java
01:46 tadzik joined #perl6-dev
01:49 ilbot3 joined #perl6-dev
01: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:21 bisectable6 joined #perl6-dev
03:23 tadzik joined #perl6-dev
03:24 ilmari[m] joined #perl6-dev
04:30 ilmari[m] joined #perl6-dev
04:42 tadzik joined #perl6-dev
06:27 tadzik joined #perl6-dev
06:37 [Tux] This is Rakudo version 2016.09-169-ge2cd7a3 built on MoarVM version 2016.09-39-g688796b
06:37 [Tux] csv-ip5xs        3.118
06:37 [Tux] test            15.785
06:37 [Tux] test-t           6.863
06:37 [Tux] csv-parser      20.721
07:00 brrt[irrsi] joined #perl6-dev
07:26 ilmari[m] joined #perl6-dev
08:10 ilmari[m] joined #perl6-dev
08:39 RabidGravy joined #perl6-dev
08:42 jnthn morning, #perl6-dev
09:06 jnthn Hmm, just built latest Moar/NQP/Rakudo and get https://gist.github.com/jnthn/92afc7ae19f9f90dba62b00c92532e1e
09:06 jnthn In spectest
09:06 jnthn Is it "just me"?
09:07 timotimo i'll have a go
09:10 timotimo need to turn off asan frist
09:10 timotimo first*
09:13 timotimo S06, and counting
09:13 * jnthn is fixing Proc::Async to not be vulnerable to the same uncatchable decoding exception bug that IO::Socket::Async had
09:16 timotimo all tests successful on my machine
09:17 * timotimo makes extra sure the nqp is up to date
09:17 timotimo i think there's only been commits to other backends since last time i make-installed
09:23 timotimo 100% success
09:24 jnthn Oddness
09:24 jnthn Wonder what I'm missing
10:03 ilmari[m] joined #perl6-dev
10:05 brrt[work] joined #perl6-dev
10:07 lizmat Files=1147, Tests=53301, 214 wallclock secs (12.82 usr  3.99 sys + 1303.13 cusr 121.19 csys = 1441.13 CPU)
10:08 lizmat jnthn: also 100% here
10:08 jnthn Oddness
10:08 jnthn Well, doing another run now with my latest patches
10:09 * jnthn seems to have started on a bunch of stuff and finished little of late :/
10:09 jnthn So, today going to at least try and finish some stuff up :P
10:09 lizmat jnthn++  :-)
10:15 jnthn oh dear, the water's turned a funny color
10:15 jnthn .oO( That makes beer the healthy option :P )
10:16 jnthn grmbl, now I get a totally different spectest fail
10:16 jnthn t/spec/S02-literals/allomorphic.t
10:16 jnthn And it runs fine on its own
10:18 lizmat does it also fail with "use lib "." or so?
10:19 lizmat and if so, how ?
10:21 jnthn I ran it with -Ilib
10:22 jnthn Fine with -I. too
10:22 bisectable6 joined #perl6-dev
10:24 dalek rakudo/nom: 969701c | jnthn++ | / (4 files):
10:24 dalek rakudo/nom: Move VMBackedDecoder into Rakudo::Internals.
10:24 dalek rakudo/nom:
10:24 dalek rakudo/nom: So that we can re-use it in fixing up other I/O.
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/969701cd38
10:24 dalek rakudo/nom: a745486 | jnthn++ | src/core/Proc/Async.pm:
10:24 dalek rakudo/nom: Switch Proc::Async to manage decoding from Perl 6.
10:24 dalek rakudo/nom:
10:24 dalek rakudo/nom: This solves the same problem IO::Socket::Async had with uncatchable
10:24 dalek rakudo/nom: exceptions on decoding errors.
10:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7454865ea
10:25 Zoffix jnthn, I do get stresstest floppers... I think the other day I mentioned that in 5 runs only the first one passed, and it was a different file failing each time.
10:26 jnthn Argh
10:26 jnthn After all the time I spent hunting down flappers before... :/
10:26 jnthn Well, not going to get distracted with them.
10:27 cygx joined #perl6-dev
10:27 cygx o/
10:27 Zoffix \o
10:27 jnthn o/
10:27 cygx found a serialization bug: BEGIN my @foo[42];
10:28 cygx put that in a module, and see it explode when useing it...
10:29 jnthn How does it explode?
10:30 timotimo we'll get the answer once cygx comes back from the hospital ...
10:30 Zoffix :D
10:32 timotimo i won't look at this issue. cool guys don't look at explosions!
10:33 * cygx had to check on his cooking
10:33 * Zoffix tips the waiters
10:33 cygx "Missing serialize REPR function for REPR MVMContext"
10:35 jnthn Odd
10:36 timotimo i pushed a little commit to moarvm that gives a tiny bit of extra info on this
10:36 jnthn RT it, anyways
10:38 cygx no change in output with the latest moarvm...
10:39 Zoffix ZOFVM: Files=1195, Tests=129697, 135 wallclock secs (21.36 usr  3.34 sys + 2444.11 cusr 201.22 csys = 2670.03 CPU)
10:39 timotimo no change at all?
10:39 Zoffix No fails in two runs
10:39 timotimo at least the "missing serialize repr function" message should have () at the end
10:39 timotimo if nothing else
10:40 Zoffix I think there's a better way to sort t/spectest.data (maybe even automagically, before each run): by time the test files take to run, longest first. Maybe even a bit smarter algorithm based on number of cores on the box. I'm seeing most of them fly through the screen, but at the end, there are about 5 that take ages to complete, and my other 19 cores are just sitting there. If those were first to run, the load would be distributed much more evenly.
10:40 Zoffix Sounds like a fun project for the weekend \o/
10:41 jnthn Alternatively, rewrite the tests to not be so slow :)
10:41 jnthn Many tests use sleep and so on
10:41 jnthn When really we should make a test scheduler
10:41 jnthn With virtualized time
10:41 jnthn That we stick in $*SCHEDULER
10:41 Zoffix sounds fancy :D
10:41 jnthn And then tests for stuff like Promise.in and Supply.interval would run in a tiny amount of time
10:43 * cygx is trying to figure out why his rakudo still uses an out-of-date moarvm
10:44 Zoffix cygx, forgot prefix?
10:44 Zoffix cygx, if you don't build it yourself, it'll use the "good enough" version, not the latest.
10:45 Zoffix You need to:    cd nqp/MoarVM; git pull; perl Configure.pl --prefix=../../install; make; make install; cd ../../
10:46 timotimo make -j is worth a lot in moarvm
10:47 dalek roast: 4fcb0be | jnthn++ | S17-procasync/encoding.t:
10:47 dalek roast: Test Proc::Async encoding errors are catchable.
10:47 dalek roast:
10:47 dalek roast: Previously, they could bring down the process. Also two tests that
10:47 dalek roast: tickle a separate supply/whenever/LAST bug that boil down to the
10:47 dalek roast: long-unresolved phaser cloning issues.
10:47 dalek roast: review: https://github.com/perl6/roast/commit/4fcb0bec87
10:57 pmurias joined #perl6-dev
10:57 dalek nqp: f8dfb0f | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
10:57 dalek nqp: [js] Remove expensive logging of stuff.
10:57 dalek nqp: review: https://github.com/perl6/nqp/commit/f8dfb0f374
10:57 dalek nqp: cf14d7a | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
10:57 dalek nqp: [js] Stub AsyncTask repr.
10:57 dalek nqp: review: https://github.com/perl6/nqp/commit/cf14d7ad56
10:57 dalek nqp: 558f4df | (Pawel Murias)++ | src/vm/js/RegexCompiler.nqp:
10:57 dalek nqp: [js] Stop from generating unneeded boolifications (caused a bug when rakudo.js was compiling the setting).
10:57 dalek nqp: review: https://github.com/perl6/nqp/commit/558f4dfced
10:57 dalek rakudo/js: 5c1b5e6 | (Pawel Murias)++ | src/vm/js/perl6-runtime/runtime.js:
10:57 dalek rakudo/js: [js] Fix bug in nqp::p6box_i.
10:57 dalek rakudo/js: review: https://github.com/rakudo/rakudo/commit/5c1b5e6eab
10:58 travis-ci joined #perl6-dev
10:58 travis-ci Rakudo build failed. Jonathan Worthington 'Switch Proc::Async to manage decoding from Perl 6.
10:58 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167007533 https://github.com/rakudo/rakudo/compare/e2cd7a3207fa...a7454865eaf7
10:58 travis-ci left #perl6-dev
10:58 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
10:59 Zoffix all JVM.
10:59 buggable joined #perl6-dev
11:02 dalek rakudo/nom: 6037673 | jnthn++ | t/spectest.data:
11:02 dalek rakudo/nom: Run S17-procasync/encoding.t.
11:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6037673990
11:02 dalek rakudo/nom: e08da94 | jnthn++ | src/core/ (4 files):
11:02 dalek rakudo/nom: Factor out byte supply -> chars supply decoding.
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: Also allow the encoding to be specified, in preparation for giving
11:02 dalek rakudo/nom: Proc::Async and IO::Socket::Async encoding support.
11:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e08da94d63
11:03 TimToady joined #perl6-dev
11:05 dalek roast: 0705a6e | LLFourn++ | S17-promise/start.t:
11:05 dalek roast: Tests for RT #127033
11:05 dalek roast:
11:05 dalek roast: dynamic variables used to disappear inside start blocks sometimes
11:05 dalek roast: review: https://github.com/perl6/roast/commit/0705a6ea62
11:05 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127033
11:08 dalek joined #perl6-dev
11:29 cygx I've been unable to figure out the weirdness with my system
11:30 cygx anyway, here's the ticket: https://rt.perl.org/Public/Bug/Display.html?id=129855
11:34 jnthn lunch &
11:36 travis-ci joined #perl6-dev
11:36 travis-ci Rakudo build failed. Jonathan Worthington 'Factor out byte supply -> chars supply decoding.
11:36 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167015196 https://github.com/rakudo/rakudo/compare/a7454865eaf7...e08da94d635a
11:36 travis-ci left #perl6-dev
11:36 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
11:36 lizmat m: sub a(str @b) { dd @b }; a <a b c d>   # this should work, no ?
11:36 camelia rakudo-moar e08da9: OUTPUT«Type check failed in binding to @b; expected Positional[str] but got List ($("a", "b", "c", "d"))␤  in sub a at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
11:40 jnthn No
11:40 jnthn Types are nominal, not structural
11:41 jnthn ah, right, I was going for lunch... :) &
11:54 ilmari[m] joined #perl6-dev
12:19 lizmat m: say "1234567890".match(/./,:nth(2,4...*))  # expected to see 2 4 6 8 0
12:19 camelia rakudo-moar e08da9: OUTPUT«「2」␤»
12:19 lizmat is that a bug?   ^^^
12:34 jnthn m: sub foo(:@nth) { dd @nth }; foo :nth(2,4...*)
12:34 camelia rakudo-moar e08da9: OUTPUT«(2, 4, 6, 8, 10, 12, 14, 16, 18, 20... (lazy list)␤»
12:34 jnthn m: sub foo(:$nth) { dd @nth }; foo :nth(2,4...*)
12:34 camelia rakudo-moar e08da9: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '@nth' is not declared. Did you mean '$nth'?␤at <tmp>:1␤------> sub foo(:$nth) { dd ⏏@nth }; foo :nth(2,4...*)␤»
12:34 jnthn m: sub foo(:$nth) { dd $nth }; foo :nth(2,4...*)
12:34 camelia rakudo-moar e08da9: OUTPUT«Seq $nth = (2, 4, 6, 8, 10, 12, 14, 16, 18, 20... (lazy list)␤»
12:34 jnthn Looks like, yes
12:34 jnthn Givne than
12:34 jnthn m: say "1234567890".match(/./,:nth(2,4, 6))
12:34 camelia rakudo-moar e08da9: OUTPUT«(「2」 「4」 「6」)␤»
12:34 jnthn Does work
12:35 jnthn No reason the Seq case should not
12:35 jnthn May need some extra care around laziness
12:35 lizmat indeed... will look at that...
12:35 jnthn But I think we established before that idt doesnt' work on any Seq
12:35 jnthn Wow, so typing
12:35 lizmat well, laziness is already taken care of, I think
12:35 lizmat and if not, I will now  :-)
12:36 jnthn m: say uniname "Öl".encode('latin-1').decode('utf-8')
12:36 camelia rakudo-moar e08da9: OUTPUT«Malformed UTF-8 at line 1 col 1␤  in block <unit> at <tmp> line 1␤␤»
12:41 dalek rakudo/nom: e8880d5 | jnthn++ | src/core/Proc/Async.pm:
12:41 dalek rakudo/nom: Allow the encoding to be chosen in Proc::Async.
12:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8880d55ce
12:41 dalek roast: 82eb5c0 | jnthn++ | S17-procasync/encoding.t:
12:41 dalek roast: Tests for Proc::Async encoding flag.
12:41 dalek roast: review: https://github.com/perl6/roast/commit/82eb5c07bb
12:50 dalek rakudo/nom: 49c0d63 | lizmat++ | src/core/ (2 files):
12:50 dalek rakudo/nom: Give :ov its own iterator
12:50 dalek rakudo/nom:
12:50 dalek rakudo/nom: One less check to make in a hot loop.
12:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49c0d63a52
12:53 lizmat m: say "1234567890".match(/../,:ov,:ex)   # I would argue this is also a bug
12:53 camelia rakudo-moar e8880d: OUTPUT«(「12」 「23」 「34」 「45」 「56」 「67」 「78」 「89」 「90」)␤»
12:53 lizmat oops, no
13:14 travis-ci joined #perl6-dev
13:14 travis-ci Rakudo build failed. Jonathan Worthington 'Allow the encoding to be chosen in Proc::Async.'
13:14 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167039888 https://github.com/rakudo/rakudo/compare/e08da94d635a...e8880d55ce77
13:14 travis-ci left #perl6-dev
13:14 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
13:23 dalek rakudo/nom: fcb0973 | jnthn++ | src/core/Proc/Async.pm:
13:23 dalek rakudo/nom: Allow choice of encoding by handle in Proc::Async.
13:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fcb09733bf
13:23 dalek roast: 5f60afa | jnthn++ | S17-procasync/encoding.t:
13:23 dalek roast: Also test setting Proc::Async encoding by handle.
13:23 dalek roast:
13:23 dalek roast: So you can pick a different encoding to read for stdout/stderr vs. the
13:23 dalek roast: one you pick for stdin. If not specified, the default is the encoding
13:23 dalek roast: set in the Proc::Async constructor.
13:23 dalek roast: review: https://github.com/perl6/roast/commit/5f60afa774
13:25 ilmari[m] joined #perl6-dev
13:36 travis-ci joined #perl6-dev
13:36 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Give :ov its own iterator
13:36 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167042840 https://github.com/rakudo/rakudo/compare/e8880d55ce77...49c0d63a522d
13:36 travis-ci left #perl6-dev
13:36 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
13:39 ilmari[m] joined #perl6-dev
13:49 dalek rakudo/nom: 2f841db | lizmat++ | src/core/Rakudo/Internals.pm:
13:49 dalek rakudo/nom: Add role Rakudo::Internals::MatchIterator
13:49 dalek rakudo/nom:
13:49 dalek rakudo/nom: Part of the Str.match overhaul
13:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f841db954
14:01 travis-ci joined #perl6-dev
14:01 travis-ci Rakudo build failed. Jonathan Worthington 'Allow choice of encoding by handle in Proc::Async.'
14:01 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167052223 https://github.com/rakudo/rakudo/compare/49c0d63a522d...fcb09733bf66
14:01 travis-ci left #perl6-dev
14:02 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
14:12 dalek rakudo/nom: 23f2e2e | jnthn++ | src/core/IO/Socket/Async.pm:
14:12 dalek rakudo/nom: Allow choosing encoding in IO::Socket::Async.
14:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/23f2e2ee99
14:12 p3rln00b .tell cygx if you'd like to show up under something other than `cygx` in credits in release announcement, please enter yourself into https://github.com/rakudo/rakudo/blob/nom/CREDITS
14:12 yoleaux2 p3rln00b: I'll pass your message to cygx.
14:12 dalek roast: c46f137 | jnthn++ | S32-io/IO-Socket-Async.t:
14:12 dalek roast: Test :enc argument in IO::Socket::Async.
14:12 dalek roast: review: https://github.com/perl6/roast/commit/c46f1373ed
14:16 jnthn And that rounds off the IO::Socket::Async/Proc::Async encoding fixes. Phew. :)
14:16 p3rln00b \o/
14:18 * p3rln00b mods the contributor script to print number of commits along the names...
14:18 p3rln00b Jesus... I need to get a hobby :|
14:21 dogbert17 on no, it's p3rln00b :)
14:21 mst p3rln00b: I think this particular hobby already got you.
14:22 p3rln00b m: say "{209 / (Date.today.daycount - Date.new("2016-09-17").daycount)} commits/day average"
14:22 camelia rakudo-moar 2f841d: OUTPUT«8.36 commits/day average␤»
14:24 p3rln00b m: say Date.today - Date.new("2016-09-17")
14:24 camelia rakudo-moar 2f841d: OUTPUT«25␤»
14:24 p3rln00b This is nice.
14:25 ilmari[m] joined #perl6-dev
14:25 p3rln00b NeuralAnomaly: status
14:25 NeuralAnomaly p3rln00b, [✘] Next release will be in 2 days and 14 hours. Since last release, there are 43 new still-open tickets (3 unreviewed and 0 blockers) and 21 unreviewed commits. See http://perl6.fail/release/stats for details
14:28 * [Coke] is so glad p3rln00b volunteered to take a few releases back in the day!
14:29 [Coke] you've definitely improved it since I've touched it.
14:46 [Coke] ... I mean, that sounds like some kind of back-handed compliment, but I'm genuinely happy with the work you're doing.
14:54 travis-ci joined #perl6-dev
14:54 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Add role Rakudo::Internals::MatchIterator
14:54 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167059661 https://github.com/rakudo/rakudo/compare/fcb09733bf66...2f841db95406
14:54 travis-ci left #perl6-dev
14:54 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
15:02 dalek nqp: 5224878 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
15:02 dalek nqp: Stop using flattenropes op.
15:02 dalek nqp:
15:02 dalek nqp: Will be replaced with something non-inplace, and that will be done in
15:02 dalek nqp: !cursor_init.
15:02 dalek nqp: review: https://github.com/perl6/nqp/commit/5224878b28
15:05 travis-ci joined #perl6-dev
15:05 travis-ci Rakudo build failed. Jonathan Worthington 'Allow choosing encoding in IO::Socket::Async.'
15:05 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167066382 https://github.com/rakudo/rakudo/compare/2f841db95406...23f2e2ee9911
15:05 travis-ci left #perl6-dev
15:06 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
15:15 lizmat m: say "1234567890".match(/./,:nth(4,3))   # sorta expected 4 3 here
15:15 camelia rakudo-moar 23f2e2: OUTPUT«(「4」)␤»
15:15 lizmat ^^^  should we consider this a bug?
15:15 p3rln00b m: say "1234567890".match(/./,:nth(4,3,5))
15:15 camelia rakudo-moar 23f2e2: OUTPUT«(「4」 「5」)␤»
15:15 p3rln00b I wouldo.
15:15 lizmat m: say "1234567890".match(/./,:g)[4,3]   # or do we expect them to do this
15:15 camelia rakudo-moar 23f2e2: OUTPUT«(「5」 「4」)␤»
15:16 lizmat m: say "1234567890".match(/./,:g)[3,2]   # eh this
15:16 camelia rakudo-moar 23f2e2: OUTPUT«(「4」 「3」)␤»
15:16 lizmat ok, will take that along then as well
15:16 p3rln00b m: say "1234567890".match(/./,:nth(1,0,3,2,5,4))
15:16 camelia rakudo-moar 23f2e2: OUTPUT«(「1」 「3」 「5」)␤»
15:16 lizmat yeah, it's pretty convoluted and sick at the moment  :-)
15:17 p3rln00b :)
15:22 TimToady according to S05:541, the list provided to nth must be monotonically increasing
15:22 synopsebot6 Link: http://design.perl6.org/S05.html#line_541
15:23 TimToady in other words, it's only intended for a non-caching, potentially lazy situation
15:23 p3rln00b hmm
15:24 TimToady .[] is there if you need caching, as shown above
15:26 jnthn Makes sense, given .match produces matches lazily anyway so you'd have to cache (which ruins memory savings of producing matches lazily)
15:26 jnthn And the other way would be to sort the :nth list, which you can't if it's infinite
15:28 TimToady simply ignoring the non-monotonic values is LTA though
15:28 jnthn True
15:28 jnthn It'd be a bit odd to use that as a feature :)
15:29 lizmat but now that we have better iterators since the GLR, why wouldn't we lazily support this anyway ?
15:29 dalek nqp: 13c0c48 | jnthn++ | tools/build/MOAR_REVISION:
15:29 dalek nqp: Bump MOAR_REVISION for indexingoptimized op.
15:29 dalek nqp: review: https://github.com/perl6/nqp/commit/13c0c48032
15:29 dalek nqp: 6555575 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
15:29 dalek nqp: Map nqp::indexingoptimized op.
15:29 dalek nqp: review: https://github.com/perl6/nqp/commit/655557525e
15:29 dalek nqp: 2fbb31b | jnthn++ | src/vm/moar/stage0/ (11 files):
15:29 dalek nqp: Update bootstrap.
15:29 dalek nqp:
15:29 dalek nqp: To provide access to the new indexingoptimized op.
15:29 lizmat aka, use caching only when needed ?
15:29 dalek nqp: review: https://github.com/perl6/nqp/commit/2fbb31b106
15:29 dalek nqp: c0e80f8 | jnthn++ | src/QRegex/Cursor.nqp:
15:29 dalek nqp: On Moar, use indexingoptimized op.
15:29 dalek nqp:
15:30 TimToady you can't predict the need for caching without time travel
15:30 mst I've written caches that figured if it got called maybe 3 times then it was time to cache
15:31 mst probably not applicable here, but "can't" isn't quite true?
15:31 TimToady :nth(|(1..10000000),3)
15:32 lizmat well, if that were applied to a .match with 5 matches, it would show 1..5
15:32 lizmat because the :nth list is just a lazy provider of indexes in my book (off by one)
15:32 TimToady :nth(|(1..10),3)
15:32 TimToady suppose there are 15 matches
15:32 jnthn lizmat: The point is that you can't be lazy in both places we wish to be and have :nth not be monotonic
15:33 TimToady you gonna cache 'em all just on the theory there might be a 3 there?
15:33 lizmat no
15:33 jnthn Unless, as TimToady said, you have .match keep all the things around in memory so it can refer back to them, which is not really desirable either
15:33 TimToady so they can use .[] to force caching when they need it
15:33 p3rln00b .oO( Lazy Pokemon: gotta cache 'em all )
15:34 lizmat jnthn: this is only appicable when :nth is specified with something other than an Int
15:34 TimToady :nth(@stuff)
15:36 TimToady simpler to just disallow decreasing and point them at .[] than to try to guess how much of a list is available at compile time
15:36 jnthn lizmat: Yes, I'm aware
15:37 TimToady it's only applicable when there's more than one value, yes
15:37 TimToady it's difficult for a single integer not to be monotonically increasing :)
15:38 lizmat that would make it complex  :-)
15:38 tadzik joined #perl6-dev
15:39 * TimToady wonders how the term "monotonic" is related to tonic
15:39 * jnthn bbi15
15:39 TimToady I guess via "monotonous"  :)
15:40 * cygx also likes to point out that complex numbers are indeed unordered
15:40 yoleaux2 14:12Z <p3rln00b> cygx: if you'd like to show up under something other than `cygx` in credits in release announcement, please enter yourself into https://github.com/rakudo/rakudo/blob/nom/CREDITS
15:40 lizmat .oO( nobody asks for them :-)
15:41 TimToady at least, not till we get 2D regex running on 2D strings...
15:41 ilmari[m] joined #perl6-dev
15:43 p3rln00b :o
15:43 p3rln00b All of the text I read is in 2D shape.
15:43 * p3rln00b steals the idea and gets rich
15:44 cygx I wonder, is there a good reason why the signature :($ where A|B) cannot be shortened to :(A|B)
15:45 cygx that wuold improve the readability of some code I wrote quite a bit
15:46 geekosaur isn't A|B syntax reserved?
15:49 lizmat m: sub a(Int|Str $) { }   # interesting error
15:49 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!===␤No compile-time value for Str␤»
15:51 TimToady it's formally ambiguous with |c
15:51 TimToady because we don't have delimiters between each assertion of a paramter
15:52 TimToady s/delimiters/separators/
15:53 TimToady likewise Int&Str is ambiguous with &block
15:54 FROGGS joined #perl6-dev
15:56 TimToady m: sub a(Int|Str $) { }
15:56 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!===␤No compile-time value for Str␤»
15:56 TimToady m: sub a(Str|Int $) { }
15:56 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> sub a(Str|Int⏏ $) { }␤    expecting any of:␤        constraint␤»
15:57 TimToady m: sub a(Str&Int $) { }
15:57 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> sub a(Str&Int⏏ $) { }␤    expecting any of:␤        constraint␤»
15:58 TimToady m: sub a(Int&Str $) { }
15:58 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> sub a(Int&Str⏏ $) { }␤    expecting any of:␤        constraint␤»
15:58 TimToady odd
15:58 TimToady m: sub a(Int&Str) { }
15:58 camelia rakudo-moar 23f2e2: ( no output )
15:58 TimToady m: sub a(Int|Str) { }
15:58 camelia rakudo-moar 23f2e2: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Capture parameter must have a type accepting a Capture␤at <tmp>:1␤------> sub a(Int|Str) { }⏏<EOL>␤»
16:04 lizmat TimToady: is it ok for me to remove Str.simplematch ?
16:05 lizmat you seem to have added about a year ago, but there is no spec, doc or tests for it
16:11 * jnthn back
16:13 TimToady lizmat: well, I left it in in case we wanted to use it as an optimization target, but never did the optimization
16:13 cognominal joined #perl6-dev
16:13 lizmat ok, well, then I'll remove it after I have done said optimization  :)
16:22 jnthn m: use Test; is sub { 42.return }(), 42, "Sub doing 42.return works"
16:22 camelia rakudo-moar 23f2e2: OUTPUT«Attempt to return outside of any Routine␤  in sub  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
16:31 dalek rakudo/nom: cff3437 | jnthn++ | src/Perl6/Actions.nqp:
16:31 dalek rakudo/nom: Be less eager to not emit return handlers.
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom: They're essentially free nowadays, except from prevening static
16:31 dalek rakudo/nom: inlining, which we only really care about for native ops, which don't
16:31 dalek rakudo/nom: do method calls.
16:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cff3437de5
16:31 dalek roast: 64fef88 | jnthn++ | S06-advanced/return.t:
16:31 dalek roast: Test for RT #129827.
16:31 dalek roast: review: https://github.com/perl6/roast/commit/64fef8811f
16:31 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129827
16:39 jnthn Anyone else able to reproduce https://rt.perl.org/Ticket/Display.html?id=128694 ?
16:40 * jnthn has been running it for a while and a number of times
16:40 jnthn I suspect one of the earlier supplies fixes dealt with it
16:42 * lizmat hopes so  :-)
16:44 jnthn hm, in theory I can try the test out using commitable
16:44 perlpilot jnthn: I can't reproduce it, but the resident memory slowly creeps every upward it seems
16:44 perlpilot s/every/ever/
16:45 jnthn commitable: help
16:45 committable6 jnthn, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’
16:45 * timotimo watches the RSS of that program
16:45 jnthn commitable6: 2016.05,HEAD https://gist.github.com/jnthn/81d8ea0aa73c218ee8ff9143db029d75
16:45 committable6 jnthn, It looks like a URL, but mime type is ‘text/html; charset=utf-8’ while I was expecting something with ‘text/plain’ or ‘perl’ in it. I can only understand raw links, sorry.
16:45 timotimo is it supposed to be growing without bound?
16:45 jnthn I'm not concenred about memory
16:46 jnthn The bug is about it locking up
16:46 timotimo i know :)
16:46 timotimo it's not locking up for me
16:46 jnthn As with all these things, it may grow to a fixed point
16:46 timotimo right
16:46 timotimo 95 megs at the moment
16:46 p3rln00b committable6: 2016.05,HEAD https://gist.githubusercontent.com/jnthn/81d8ea0aa73c218ee8ff9143db029d75/raw/ff2cb165a2d806f963c017d4b48b58ab9fc92b57/gistfile1.txt
16:46 committable6 p3rln00b, Successfully fetched the code from the provided URL.
16:46 jnthn But yes, if it grows forever there's a problem
16:46 perlpilot mine made it to 100M before I killed it
16:46 jnthn p3rln00b: ah, I was about to try something like that :)
16:46 committable6 p3rln00b, ¦«2016.05»: «timed out after 10 seconds, output»:  «exit signal = SIGHUP (1)»␤¦«HEAD»: ok 1 -
16:47 jnthn ooh, nice
16:47 jnthn That means the test will cover the bug
16:47 jnthn (the folks who made commitable6)++ :)
16:47 jnthn committable6: 2016.05,HEAD https://gist.githubusercontent.com/jnthn/81d8ea0aa73c218ee8ff9143db029d75/raw/ff2cb165a2d806f963c017d4b48b58ab9fc92b57/gistfile1.txt
16:47 committable6 jnthn, Successfully fetched the code from the provided URL.
16:47 jnthn (Another try just to see if it was repeatable)
16:47 committable6 jnthn, ¦«2016.05»: «timed out after 10 seconds, output»:  «exit signal = SIGHUP (1)»␤¦«HEAD»: ok 1 -
16:48 jnthn Seems so
16:48 jnthn OK, in goes the test, and another RT down :)
16:49 p3rln00b \o/ jnthn++
16:50 jnthn Vim n00b question: I'm really tired of having to :set paste before I Ctrl+Shift+V. What is a better alternative? :)
16:50 tadzik put it in your .vimrc :)
16:50 jnthn Yes, but then it'll not indent stuff? :P
16:51 jnthn Like, the other times when I want it to... :)
16:51 tadzik ¿lol que?
16:51 tadzik oh, I see
16:51 tadzik jnthn: http://i0.kym-cdn.com/photos/images/newsfeed/000/003/309/i-dunno-lol.jpg?1244616130
16:52 jnthn Well, the gif was funny enough to make me put up with this for a few more weeks before worrying about it again, so... :P
16:52 timotimo jnthn: depending on your platform, you can just paste from the + or * buffer
16:52 timotimo so "*p or "+p will paste stuff into your buffer without it doing its own indentation and such
16:53 dalek roast: 8470d41 | jnthn++ | S17-supply/zip-latest.t:
16:53 dalek roast: Test to cover RT #128694.
16:53 dalek roast: review: https://github.com/perl6/roast/commit/8470d41132
16:53 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128694
16:53 timotimo and ]p or [p will "paste at current indentation level", i'm not sure which
16:59 jnthn Hm, *p complains "No string under cursor" when I type the *, and +p just inserts an empty line
17:00 geekosaur the " was part of the command
17:00 jnthn oh wow
17:01 jnthn I totally didn't see there were them until you mentioned it o.O
17:01 tadzik btw, what got into you to make you use vim jnthn? :)
17:02 jnthn They both seem to just insert an empty line though
17:03 geekosaur what platform? there's some horkery you need to use to get things to work on OS X iirc (unless for some reason you're using an X11 build)
17:03 jnthn geekosaur: Just boring old Ubuntu 16.04 or so
17:03 jnthn Well, not so old, but still, non-exotic :)
17:04 geekosaur also there's the usual X11 thing with PRIMARY v CLIPBOARD
17:05 geekosaur although I thought that was the difference between the * and + registers
17:05 jnthn tadzik: Found myself doing most of my dev work on Linux, and then some mix of being tired of using Atom (probably not Atom's fault but I get weird rendering artefacts going on when running it inside of my VM) and being curious why so many people seem to like Vim :P
17:07 jnthn My $dayjob stuff of late has involved a bunch of Docker/Kubernetes things, and when I'm doing Perl 6 stuff I want my valgrind/callgrind/massif/perf :)
17:08 tadzik noice :)
17:15 timotimo jnthn: clipboard handling can be weird. there's a vim plugin called "fakeclip" that's meant to make that stuff a bit less annoying, but i haven't looked at it closely enough to actually recommend it
17:17 geekosaur clipboards are weird. and it seems like very few programmers understand how X selections work, leading to lots of bizarre behavior
17:17 geekosaur and sometimes to hangs
17:17 timotimo hangs? how is that?
17:18 geekosaur well, it wont happen if you're using a decent toolkit library, it;s only when using the raw X11 stuff that you are likely to get hangs if you don't understand what yu are doing
17:18 geekosaur (so this happens pretty much any time someone tries to do something clipboard related in xmonad because it operates at the raw X11 layer and nobody understands selections)
17:19 geekosaur if you use gtk/qt/fltk/whatever then they handle the low level stuff and the hang bugs have mostly been caught and fixed
17:19 geekosaur but you still sometimes get odd behavior
17:20 geekosaur anyway, the problem is everyone thinks "the clipboard" is a box you stick data in and something else pulls data out of.
17:20 geekosaur in fact, it's a corkboard the program which holds the data hangs a tag on. to get the data you must negotiate with the program holding the data to agree on a common format
17:20 timotimo right, i thought it worked like that
17:20 timotimo based on how clipboard contents disappear when the owning window disappears
17:21 geekosaur (and this is where the hang happens because you need to be running the X event loop here or you won't be able to respond to the negotiation. this is actually an Xlib issue and one reason xcb is preferred these days...)
17:21 jnthn m: use Test; throws-like Q/sub (int $i) { $i() }(42)/, X::Method::NotFound
17:21 camelia rakudo-moar cff343: OUTPUT«    1..2␤    ok 1 - 'sub (int $i) { $i() }(42)' died␤    not ok 2 - right exception type (X::Method::NotFound)␤    ␤# Failed test 'right exception type (X::Method::NotFound)'␤# at /home/camelia/rakudo-m-inst-1/share/perl6/precomp/74305AA5C7FBE80E…»
17:22 geekosaur (but even with xcb if you just block on certain calls, you will never wake up because you aren't processing the negotiation events)
17:23 geekosaur anyway, even without the hang lots of folks do not understand the negotiate-common-format thing. including the toolkit devs, so sometimes you try to pull data from the clipboard and can't get it in the format you want
17:23 dalek nqp: 0592091 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
17:23 dalek nqp: Just want an object when compiling a callee.
17:23 dalek nqp:
17:23 dalek nqp: Any natives will thus be boxed, and invoked, which will also produce
17:23 dalek nqp: an error - but a more useful (HLL-specific) one with a location.
17:23 dalek nqp: review: https://github.com/perl6/nqp/commit/0592091902
17:23 geekosaur so in e.g. vim you'd get a blank line because the other side doesn't handle "no, I need this as a UTF8_STRING" and aborts the negotiation
17:24 geekosaur (or for that matter vim itself could have that bug, but I would hope at this point they have the string negotiation stuff working properly...)
17:26 jnthn The thing I copied from was the Terminal window, fwiw...
17:26 geekosaur also it's amazing how many people do not understand that if you clip an image, it might only be available as the pixels not as a URL or filename or whatever, and/or they actually need to negotiate to get the right thing. everyone believes strings are the only data type in existence
17:27 timotimo i've been having super annoying trouble with pasting out of terminal windows recently; whenever the selection ended existing i couldn't paste any more. up until like a month ago i didn't have to ensure the selection sticks around
17:27 timotimo so i had the habit of selecting and clearing the selection, then going over to paste
17:27 geekosaur it switched from CLIPBOARD to PRIMARY?
17:27 geekosaur that's the main behavioral difference, PRIMARY only exists while something is actively selected
17:28 timotimo could be
17:28 timotimo it f'd me up for a solid two weeks, because i had that so strongly ingrained in my muscle memory
17:29 * geekosaur still makes sure things stay actively selected, because PRIMARY was the only selection back when he got started...
17:30 geekosaur also the CLIPBOARD behavior encourages people to think of the selection as a box you dump strings into, leading to more bugs :/
17:31 jnthn *sigh* What a mess
17:32 geekosaur yep
17:32 timotimo there's clipboard managers that suck up your contents and serve it for other programs for as long as you want
17:33 geekosaur there's a jwz rant about the X selection mess, naturally. and nobody has learned anything from it and we have the same problems over adecade later :/
17:33 timotimo like klipper
17:33 geekosaur yes. although in fact they have the same problem in different guise: they generally suck up *one* format because the protocol is designed for "converge on one format" not "iterate all formats"
17:33 timotimo mhm
17:34 geekosaur so if you have a program that can send you either a URL or a temp file or a block of pixels, you only get the first of those that the clipboard manager tries
17:34 geekosaur so pasting can behave differently depending on whether a clipboard manager is running or n ot
17:35 dalek rakudo/nom: 0d09178 | jnthn++ | tools/build/NQP_REVISION:
17:35 dalek rakudo/nom: Get latest NQP.
17:35 dalek rakudo/nom:
17:35 dalek rakudo/nom: Which, of note, has a fix to give better errors when trying to invoke
17:35 dalek rakudo/nom: a native parameter.
17:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d0917806a
17:35 timotimo right. ouch.
17:35 dalek roast: 3b11442 | jnthn++ | S32-exceptions/misc.t:
17:35 dalek roast: Test for RT #129772.
17:35 dalek roast: review: https://github.com/perl6/roast/commit/3b11442a53
17:35 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129772
17:39 jnthn Alrighty, enough fixing for today, I think :)
17:39 p3rln00b jnthn++ :)
17:45 * TimToady just uses a couple of keyboard commands to turn autoindent off and on
17:46 * timotimo has leader set to , and is very happy with that
17:46 TimToady .oO(Take me to your leader!)
17:46 timotimo ,
17:50 dalek rakudo/nom: faba645 | jnthn++ | docs/ChangeLog:
17:50 dalek rakudo/nom: Update ChangeLog.
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/faba645822
18:11 travis-ci joined #perl6-dev
18:11 travis-ci Rakudo build failed. Jonathan Worthington 'Be less eager to not emit return handlers.
18:11 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167106514 https://github.com/rakudo/rakudo/compare/23f2e2ee9911...cff3437de58e
18:11 travis-ci left #perl6-dev
18:11 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
18:12 timotimo jvm only
18:51 AlexDaniel joined #perl6-dev
19:06 p3rln00b "Memory allocation failed; could not allocate 462780 bytes"
19:06 p3rln00b heh.. something's wrong with buggable :}
19:07 dogbert17 perhaps buggable is bugged :)
19:07 travis-ci joined #perl6-dev
19:07 travis-ci Rakudo build errored. Jonathan Worthington 'Get latest NQP.
19:07 travis-ci https://travis-ci.org/rakudo/rakudo/builds/167122533 https://github.com/rakudo/rakudo/compare/cff3437de58e...0d0917806a08
19:07 travis-ci left #perl6-dev
19:08 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
19:09 dogbert17 p3rln00b: some spectests leaks memory like sieves, do you think I should RT stuff like that?
19:10 p3rln00b Yeah
19:11 dogbert17 ok, e.g. t/spec/S17-procasync/stress.t: definitely lost: 91,838 bytes in 1,022 blocks, indirectly lost: 64,240 bytes in 1,350 blocks, possibly lost: 254,216 bytes in 7,249 blocks
19:15 dogbert17 there are also two tests which gives 'invalid reads': t/04-nativecall/08-callbacks.t and t/spec/S17-supply/start.t. That's a bit scary. Could possibly be due to me being on 32 bit
19:17 dogbert17 I have RT'd one of them, i.e. RT #129832, but I guess I should RT the other one as well
19:17 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129832
19:17 Ven_ joined #perl6-dev
19:41 ilbot3 joined #perl6-dev
19:41 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
20:30 dogbert17 is jnthn still around?
20:31 mst "imagine a perfectly spherical jnthn"
20:31 dogbert17 I believe I might have found a memory leak in https://github.com/MoarVM/MoarVM/blob/master/src/strings/ops.c#L572
20:32 dogbert17 just wanted an expert opinion
20:33 dogbert17 it seems to me there's a call to MVM_unicode_normalizer_cleanup missing
20:35 Ven_ joined #perl6-dev
20:40 perlpilot dogbert17: based on the other uses of MVM_unicode_normalizer_* in that code, I would agree with you.
20:41 dogbert17 perlpilot: thx
20:45 timotimo dogbert17: i was able to confirm the leak with valgrind
20:45 timotimo do you want to submit a pull request, or shall i just put in the code?
20:46 dogbert17 timotimo: plz fix
20:47 jnthn Yes, seems like a reasonable diagnosis/fix
20:47 * perlpilot was half hoping that dogbert17 would make a PR :)
20:47 * jnthn is still a decent bit of beer drinking off becoming spherical, and even them I think I'll still be pretty imperfect :P
20:48 dogbert17 perlpilot: I will if I find another leak :-)
20:49 perlpilot dogbert17: then you'll be just a hop, skip and a jump away from being a regular contributer to MoarVM   ;)
20:49 perlpilot s/buter/butor/
20:50 arnsholt In cases like this, I try to be sneaky and don't offer to put in the fix for people =)
20:51 dogbert17 perlpilot: perhaps there is something similar here? https://github.com/MoarVM/MoarVM/blob/master/src/6model/reprs/NFA.c#L655
20:51 perlpilot argh ... I've been switching back and forth between using sublime and vim at work.   Sublime uses ^S to save your file ... vim, not so much  :)
20:51 MasterDukeMobile joined #perl6-dev
20:53 perlpilot dogbert17: Maybe.   Looks like a couple of places could use the MVM_unicode_normalizer_cleanup there.
20:53 dalek rakudo/nom: 5a79e22 | (David Warring)++ | lib/Pod/To/Text.pm6:
20:53 dalek rakudo/nom: handle uneven rows lengths in Pod::To::Text::table2text()
20:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a79e2244b
20:53 dalek rakudo/nom: 7af9ec9 | lizmat++ | lib/Pod/To/Text.pm6:
20:53 dalek rakudo/nom: Merge pull request #903 from dwarring/pod-table-fix
20:53 dalek rakudo/nom:
20:53 dalek rakudo/nom: handle uneven rows lengths in Pod::To::Text::table2text()
20:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7af9ec9d90
20:54 Ven_ joined #perl6-dev
20:55 dogbert17 perlpilot: it does look a tiny bit suspicious to my untrained 'c' eye
20:57 MasterDukeMobile I'm still trying to figure out a JVM fix, but in the meantime anybody have any thoughts on my latest PR comments?
20:58 lizmat m: say 42.match(/42/); say $/   # /me haz found another .match bug
20:58 camelia rakudo-moar faba64: OUTPUT«「42」␤Nil␤»
20:59 lizmat as opposed to:
20:59 Zoffix m: say "42".match(/42/);  say $/
20:59 camelia rakudo-moar faba64: OUTPUT«「42」␤「42」␤»
20:59 lizmat m: say "42".match(/42/); say $/   # /me haz found another .match bug
20:59 camelia rakudo-moar faba64: OUTPUT«「42」␤「42」␤»
21:00 Zoffix s: 42, 'match'
21:00 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/faba645/src/core/Cool.pm#L178
21:00 Zoffix s: '42', 'match'
21:00 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/faba645/src/core/Str.pm#L417
21:01 lizmat Zoffix: it's nqp::getlexcaller('$/'); business  :-)
21:01 Zoffix Ah
21:04 lizmat hmmm...  wondering what's the difference between $/ := nqp::getlexdyn('$/') and $/ := nqp::getlexcaller('$/')
21:08 lizmat jnthn timotimo ^^^ ??
21:09 timotimo you can use getlexcaller to assign to your local $/
21:09 timotimo i think getlexdyn might give you the same? i'm not actually sure
21:10 lizmat well, in Cool.subst, getlexdyn is used, but in Str.matcj getlexcaller
21:10 lizmat *match
21:11 perlpilot_ joined #perl6-dev
21:12 lizmat dalek?
21:13 lizmat https://github.com/rakudo/rakudo/commit/8df09655534e8d2c2d39c4c7a    # fix for 42.match(/42/) not setting $/
21:14 MasterDukeMobile joined #perl6-dev
21:15 d4l3k_ joined #perl6-dev
21:16 huggable_ joined #perl6-dev
21:17 SourceBaby_ joined #perl6-dev
21:18 JimmyZ_ joined #perl6-dev
21:19 ilmari[m] joined #perl6-dev
21:25 tadzik joined #perl6-dev
21:25 MasterDukeMobile joined #perl6-dev
21:28 p3rln00b joined #perl6-dev
21:28 committable6 joined #perl6-dev
21:44 dalek rakudo/nom: bed1428 | lizmat++ | src/core/Rakudo/Internals.pm:
21:44 dalek rakudo/nom: Add generic R::I.SeqNextNFromIterator
21:44 dalek rakudo/nom:
21:44 dalek rakudo/nom: Create a Seq from a given iterator, given the next N elements of the
21:44 dalek rakudo/nom: iterator (if available of course).
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bed1428cd5
21:44 dalek rakudo/nom: 6996512 | lizmat++ | src/core/Any-iterable-methods.pm:
21:44 dalek rakudo/nom: .head now uses generic R::I.SeqNextNFromIterator
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6996512e3c
21:48 jnthn lizmat: iirc, dyn only walks the dynamic chain, and lexcaller looks in the lexical scopes of each step along the dynamic chain
21:48 lizmat any reason why one is used on .match and the other in .subst ?
21:50 lizmat ok, must be late, but what is the difference ?
21:52 jnthn I guess the difference would show up if you had a sub that returns a closure that does a match
21:52 jnthn subst may well have been thought out a bit better in this regard because the visibility of $/ is more important
21:56 lizmat jnthn: so getexdyn would be better in all cases?
21:58 jnthn Maybe. I guess "try it (not the day before a release) and see if there's fallout"
21:58 jnthn It seems odd they differ
21:58 lizmat yeah, all of my Str.match work is going to be pushed post release
21:58 lizmat except maybe some support stuff :-)
21:58 jnthn :)
21:59 jnthn Wise move :)
22:05 timotimo the wise moo
22:18 jnthn Enough bull from me today. :) 'night
22:34 dalek rakudo/nom: a8221ee | lizmat++ | src/core/Iterator.pm:
22:34 dalek rakudo/nom: Add Iterator.skip-at-least-pull-one
22:34 dalek rakudo/nom:
22:34 dalek rakudo/nom: Skip at least N values of the iterator, and return the result of the
22:34 dalek rakudo/nom: next pull-one.
22:34 dalek rakudo/nom:
22:34 dalek rakudo/nom: Initially I thought about adding this as a method to Rakudo::Internals,
22:34 dalek rakudo/nom: but it seemed more logical to add it here.  Although this may have
22:34 dalek rakudo/nom: adverse effects, as now every class that does Iterator will have a copy
22:34 dalek rakudo/nom: of this method?
22:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8221ee5de
22:47 lizmat good night, #perl6-dev!

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