Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-01-13

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

All times shown according to UTC.

Time Nick Message
00:03 Ven joined #perl6-dev
00:23 Ven joined #perl6-dev
00:44 Ven joined #perl6-dev
00:48 pyrimidine joined #perl6-dev
01:23 Ven joined #perl6-dev
01:32 dalek joined #perl6-dev
01:32 samcv moritz, is it ok to combine the deliverable section with the Description section? https://gist.github.com/samcv/ca70c21c73061f605bd5e7220c986b47
01:32 samcv for the grant
01:35 samcv i think i'm going to change the research section to make it more clean that at minimum that documenting our support is a goal related to all the other deliverables, not as in, oh i'm going to spend time on purpose on research? idk
01:35 samcv the research is in the process of doing other deliverables
01:35 pyrimidine joined #perl6-dev
01:44 Ven joined #perl6-dev
01:58 pyrimidine joined #perl6-dev
02:01 FROGGS_ joined #perl6-dev
02:10 pyrimidine joined #perl6-dev
02:23 Ven joined #perl6-dev
02:27 kalkin- joined #perl6-dev
02:46 Ven 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:03 Ven joined #perl6-dev
03:18 ggoebel joined #perl6-dev
03:20 pyrimidine joined #perl6-dev
03:23 Ven joined #perl6-dev
03:42 Ven joined #perl6-dev
04:02 Ven joined #perl6-dev
04:22 Ven joined #perl6-dev
04:28 Geth rakudo: MasterDuke17++ created pull request #992: Make groups in <before> and <after> non-capturing
04:28 Geth rakudo: review: https://github.com/rakudo/rakudo/pull/992
04:31 Geth rakudo/nom: e7c1d515ab | (Samantha McVey)++ | src/Perl6/Actions.nqp
04:31 Geth rakudo/nom: On MoarVM deprecate four Unicode 1 names with "\c[…]"
04:31 Geth rakudo/nom:
04:31 Geth rakudo/nom: This is in preparation for changes to MoarVM in which case only
04:31 Geth rakudo/nom: canonical Alias Names will work for \c. For now we will deprecate and
04:31 Geth rakudo/nom: allow them to still work, but warn the user and recommend alternatives
04:31 Geth rakudo/nom: which are canonical Alias Names.
04:31 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7c1d515ab
04:43 Ven joined #perl6-dev
05:03 Ven joined #perl6-dev
05:05 pyrimidine joined #perl6-dev
05:22 Ven joined #perl6-dev
05:42 Ven joined #perl6-dev
06:02 Ven joined #perl6-dev
06:14 pyrimidine joined #perl6-dev
06:20 RabidGravy joined #perl6-dev
06:22 Ven joined #perl6-dev
06:48 pyrimidine joined #perl6-dev
07:00 pyrimidine joined #perl6-dev
07:03 moritz samcv: yes, I think you can take some freedom with the structuring
07:03 samcv cool
07:29 JimmyZ joined #perl6-dev
07:30 geekosaur joined #perl6-dev
07:32 ilmari joined #perl6-dev
07:39 geekosaur joined #perl6-dev
07:41 pyrimidine joined #perl6-dev
07:57 geekosaur joined #perl6-dev
08:06 geekosaur joined #perl6-dev
08:11 pyrimidine joined #perl6-dev
09:08 pyrimidine joined #perl6-dev
09:49 pyrimidine joined #perl6-dev
10:03 lizmat Files=1164, Tests=56527, 197 wallclock secs (11.65 usr  4.55 sys + 1187.82 cusr 118.70 csys = 1322.72 CPU)
10:05 lizmat samcv: re deprecation, Rakudo has a deprecation mechanism that is accessible in nqp with $*W.DEPRECATED()
10:05 samcv so what does one do to deprecate a feature?
10:05 samcv using said thing
10:06 lizmat https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L1041
10:06 lizmat it's been a while since I've used it myself
10:07 pyrimidine joined #perl6-dev
10:07 lizmat the actual deprecation handler lives in src/core/Deprecations.pm
10:07 samcv m: $*W.DEPRECATED().say
10:07 camelia rakudo-moar e7c1d5: OUTPUT«Dynamic variable $*W not found␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any  at gen/moar/Metamodel.nqp line 3072␤  in block <unit> at <tmp> line 1␤␤»
10:07 lizmat https://github.com/rakudo/rakudo/blob/nom/src/core/Deprecations.pm#L4  # some docs
10:08 samcv how do i use it though
10:08 samcv i did see some of that code but I had no clue how to use it
10:08 lizmat yeah, all example uses of it have been removed before 6.c  :-)
10:09 samcv hah
10:09 samcv using this interface will pretty strongly warn somebody right
10:09 lizmat m: sub a() { DEPRECATED("foo") }; a
10:09 camelia rakudo-moar e7c1d5: ( no output )
10:09 lizmat ah,,,
10:09 lizmat hmmm...
10:10 lizmat m: sub a() { DEPRECATED("foo") }; a; END Deprecation.report
10:10 camelia rakudo-moar e7c1d5: ( no output )
10:10 lizmat m: sub a() { DEPRECATED("foo") }; a; END say Deprecation.report
10:10 camelia rakudo-moar e7c1d5: OUTPUT«Saw 1 occurrence of deprecated code.␤================================================================================␤Sub a (from GLOBAL) seen at:␤  <tmp>, line 1␤Please use foo instead.␤-----------------------------------------------------------…»
10:10 lizmat normally, the deprecation report is shown when the program exits
10:11 lizmat apparently camelia isn't showing the output of END blocks from core
10:11 lizmat or it's running with RAKUDO_NO_DEPRECATIONS  :-)
10:12 lizmat m: sub a() { DEPRECATED("foo") }; a for ^5; END say Deprecation.report
10:12 camelia rakudo-moar e7c1d5: OUTPUT«Saw 1 occurrence of deprecated code.␤================================================================================␤Sub a (from GLOBAL) seen at:␤  <tmp>, line 1␤Please use foo instead.␤-----------------------------------------------------------…»
10:12 samcv i don't get any warning unless i add say Deprecation.report
10:12 lizmat m: sub a() { DEPRECATED("foo") }; a; a; a; a; a; END say Deprecation.report
10:12 camelia rakudo-moar e7c1d5: OUTPUT«Saw 1 occurrence of deprecated code.␤================================================================================␤Sub a (from GLOBAL) seen at:␤  <tmp>, line 1␤Please use foo instead.␤-----------------------------------------------------------…»
10:13 samcv does it have to say it at the end of execution though?
10:14 lizmat well, that was the idea of the deprecation warnings: it shouldn't interfere with normal execution in any way
10:14 lizmat so it will show the output only when the program exits
10:14 samcv hm well i kind of want it to. i mean
10:14 samcv hm
10:14 samcv want people to change their stuff. but idk it can be however. i don't think too many people are using it. just want them to see it
10:15 samcv idk we CURSOR.warn in other cases
10:15 lizmat ok, are we ever going to stop support for unicode 1 names ?
10:15 samcv where the user did something that could be ambiguous
10:15 samcv yes
10:15 samcv they are not in roast anymore
10:15 lizmat then we need to deprecate and tell when
10:15 samcv in 6.c-errata or in master
10:16 lizmat samcv: if you want, I could have a go at it ?
10:17 samcv sure :)
10:17 samcv this is the commit that deprecated it https://github.com/rakudo/rakudo/commit/e7c1d515abd663f3eca1ca393bd498d18cce88ed
10:17 samcv it still works now and doesn't trigger it because my PR for moarvm hasn't been updated
10:17 samcv er hasn't been pulled
10:18 lizmat ok, then I'll wait for jnthn to do that, and after that I'll have a look at using DEPRECATED ok ?
10:18 samcv ok. that's fine
10:18 lizmat sub a() { DEPRECATED("foo",:what<bar>) }; a   # documented is DEPRECATED trait
10:18 samcv i was going to implement the warning system in MoarVM but
10:18 samcv there was no good way to do that
10:18 jnthn Yeah, MoarVM is the wrong place to do it :)
10:19 samcv hi jnthn o/
10:19 jnthn Will get to the PRs shortly...got some other bits to deal with this morning :)
10:19 samcv kk
10:19 samcv lizmat, also in the PR space is broken/fixed again ;P
10:19 lizmat samcv++
10:19 lizmat :-)
10:19 samcv not on purpose
10:20 lizmat still ++  :-)
10:20 samcv heh
10:20 samcv it should stay todo'd though
10:20 lizmat it wouldn't have fixed it by itself
10:20 samcv i don't really like breaking things but at least this breaking actually sort of fixes something
10:36 pyrimidine joined #perl6-dev
10:40 Geth rakudo/nom: e472fadb34 | MasterDuke17++ | src/Perl6/Grammar.nqp
10:40 Geth rakudo/nom: Make groups in <before> and <after> non-capturing
10:40 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e472fadb34
10:40 Geth rakudo/nom: 0c5a587d36 | lizmat++ | src/Perl6/Grammar.nqp
10:40 Geth rakudo/nom: Merge pull request #992 from MasterDuke17/make_groups_in_befores_and_afters_non-capturing_in_Grammar
10:40 Geth rakudo/nom:
10:40 Geth rakudo/nom: Make groups in <before> and <after> non-capturing
10:40 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c5a587d36
10:51 pyrimidine joined #perl6-dev
10:51 lizmat m: dd 1,*,3 Z~ <a b c>   # sorta expected this to give "1a","1b","3c"
10:51 camelia rakudo-moar 0c5a58: OUTPUT«("1a", "1b", "1c").Seq␤»
10:52 lizmat jnthn TimToady ^^^ opinions ?
11:03 pyrimidine joined #perl6-dev
11:07 pyrimidine joined #perl6-dev
11:14 brokenchicken m: dd 1,**,3 Z~ <a b c>
11:14 camelia rakudo-moar 0c5a58: OUTPUT«("1a", "HyperWhatever<77594896>b", "3c").Seq␤»
11:20 lizmat yeah  :-)
11:20 lizmat not sure what a HyperWhatever means there
11:20 lizmat should probably just die ?
11:21 lizmat m: say HyperWhatever ~~ Whatever
11:21 camelia rakudo-moar 0c5a58: OUTPUT«sub (*@_) { #`(Sub|51502488) ... }␤»
11:21 lizmat m: use nqp; say nqp::istype(HyperWhatever,Whatever)
11:21 camelia rakudo-moar 0c5a58: OUTPUT«0␤»
11:21 lizmat hmmm...  shouldn't that be 1 ?
11:25 pmurias joined #perl6-dev
11:27 brokenchicken no idea
11:28 brokenchicken oh, there I have some idea... the HyperWhatever in the grammar gets turned into HYPERWHATEVER sub that handles the stuff around it.
11:29 brokenchicken I'd guess the above is the hyperway to check if something is a Whatever
11:29 brokenchicken m: say HyperWhatever ~~ Whatever, 1, 3, *, 6
11:29 camelia rakudo-moar 0c5a58: OUTPUT«sub (*@_) { #`(Sub|52465320) ... }13*6␤»
11:29 brokenchicken m: say (HyperWhatever ~~ Whatever, 1, 3, *, 6)
11:29 camelia rakudo-moar 0c5a58: OUTPUT«(sub (*@_) { #`(Sub|65832328) ... } 1 3 * 6)␤»
11:29 brokenchicken m: say (HyperWhatever ~~ Whatever)(1, 3, *, 6)
11:29 camelia rakudo-moar 0c5a58: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
11:29 * brokenchicken shrugs
11:33 brokenchicken the sub in the output is the HYPERHWATEVER: https://github.com/rakudo/rakudo/blob/nom/src/core/Whatever.pm#L15
11:36 Geth rakudo/nom: 471f4ba74d | (Elizabeth Mattijsen)++ | 3 files
11:36 Geth rakudo/nom: Migrate Internals.WhateverIterator to Iterator.Whatever
11:36 Geth rakudo/nom:
11:36 Geth rakudo/nom: - also make it continue if there's something else after a Whatever
11:36 Geth rakudo/nom: - this changes the output of dd 1,*,3 Z~ <a b c> from
11:36 Geth rakudo/nom:   ("1a", "1b", "1c").Seq to ("1a", "1b", "3c").Seq
11:36 Geth rakudo/nom: - aka, make Whatever "slurpy" only if encountered as the last value
11:36 Geth rakudo/nom:
11:36 Geth rakudo/nom: Does not cause any spectest failure.
11:36 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/471f4ba74d
11:37 geekosaur joined #perl6-dev
11:52 pyrimidine joined #perl6-dev
11:52 Ven joined #perl6-dev
11:56 jnthn Just glancing at the relevant code before lunch, I think I'll be able to fix that //=, ||= etc. thread safety issue *and* make them faster along the way :)
11:57 jnthn Will see if I can get to it this afty
11:57 lizmat that would be cool!
12:11 Ven joined #perl6-dev
12:21 Geth rakudo/nom: 5014019788 | (Elizabeth Mattijsen)++ | 3 files
12:21 Geth rakudo/nom: Make Iterator.Whatever take an iterator
12:21 Geth rakudo/nom:
12:21 Geth rakudo/nom: To bring the API more in line with the other special purpose iterators.
12:21 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5014019788
12:25 lizmat m: dd (*,) >>~<< (1,2)   # hmmmm
12:25 camelia rakudo-moar 471f4b: OUTPUT«MVMArray: Index out of bounds␤  in block <unit> at <tmp> line 1␤␤»
12:25 lizmat guess I'll fix that along the way
12:31 pyrimidine joined #perl6-dev
12:31 Ven joined #perl6-dev
12:50 Ven joined #perl6-dev
12:58 literal joined #perl6-dev
13:30 samcv lizmat, it's merged if you want to try making the deprecation thing work
13:30 samcv i gotta head to bed. night all!
13:30 lizmat night!
13:31 jnthn 'night, samcv++
13:31 samcv see you all on the flip-side
13:31 jnthn m: say 'side'.flip
13:31 camelia rakudo-moar 501401: OUTPUT«edis␤»
13:31 samcv heh
13:33 samcv m: say flip 'side
13:33 camelia rakudo-moar 501401: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3say flip 'side7⏏5<EOL>␤    expecting any of:␤        argument list␤        single quotes␤        te…»
13:33 samcv m: say flip 'side'
13:33 camelia rakudo-moar 501401: OUTPUT«edis␤»
13:46 Geth rakudo/nom: 4570238de7 | (Elizabeth Mattijsen)++ | 3 files
13:46 Geth rakudo/nom: Migrate Internals.DwimIterator to Iterator.DWIM
13:46 Geth rakudo/nom:
13:46 Geth rakudo/nom: Also document the functionality of it.  Tried to make 1,2,*,4,5 also
13:46 Geth rakudo/nom: work, but that interferes with <<op>>, as then it cannot see anymore
13:46 Geth rakudo/nom: if both iterators exhaust at the same time, so (1,2,*) <<~>> (3,4,*)
13:46 Geth rakudo/nom: would generate (13,24,24) instead of (13,24)
13:46 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4570238de7
13:48 lizmat jnthn: ok to bump Moar / NQP ?
13:49 jnthn lizmat: Hold on a moment
13:49 lizmat oki  :-)
13:49 jnthn lizmat: Will merge one more PR memontarily
13:49 lizmat oki
13:50 pyrimidine joined #perl6-dev
13:50 jnthn Well, probably
13:50 jnthn Just doing a tad more testing
13:50 lizmat sure, no problem, no pressure  :-)
14:05 Geth rakudo/nom: fbce9580da | (Elizabeth Mattijsen)++ | 3 files
14:05 Geth rakudo/nom: Migrate Internals.IterateNextNFromIterator to Iterator.NextNValues
14:05 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbce9580da
14:08 pyrimidine joined #perl6-dev
14:15 Geth rakudo/nom: 2d027109a7 | (Elizabeth Mattijsen)++ | 4 files
14:15 Geth rakudo/nom: Migrate Internals.IterateLastNFromIterator to Iterator.LastNValues
14:15 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d027109a7
14:25 Geth rakudo/nom: 44dc45a4f3 | (Elizabeth Mattijsen)++ | 4 files
14:25 Geth rakudo/nom: Migrate Internals.LastFromIterator to Iterator.LastValue
14:25 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/44dc45a4f3
14:43 Geth rakudo/nom: 8852f7573a | (Elizabeth Mattijsen)++ | 2 files
14:43 Geth rakudo/nom: Migrate Internals.IterateFromIterators to Iterator.FromIndexes
14:43 Geth rakudo/nom:
14:43 Geth rakudo/nom: Turns out this iterator was originally developed for the .match
14:43 Geth rakudo/nom: refactor, and is currently not being used.  Since its functionality
14:43 Geth rakudo/nom: for e.g. handling array slices could be handy, I've kept it around.
14:43 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8852f7573a
15:01 Geth rakudo/nom: b54834dca3 | (Elizabeth Mattijsen)++ | 3 files
15:01 Geth rakudo/nom: Migrate Internals.IterateMonotonicFromIterators to Iterator.MonotonicIndexes
15:01 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b54834dca3
15:05 pyrimidine joined #perl6-dev
15:15 Geth rakudo/nom: 9994c09699 | (Elizabeth Mattijsen)++ | 4 files
15:15 Geth rakudo/nom: Migrate Internals.ReifiedListIterator to Iterator.ReifiedList
15:15 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9994c09699
15:26 pyrimidine joined #perl6-dev
15:46 pyrimidine joined #perl6-dev
15:54 vendethiel joined #perl6-dev
15:55 jnthn lizmat: Merged moar PRs :)
16:00 jnthn m: ub foo() { my $b = False; my $c //= do { $b = True }; $b }; await do for ^4 { start for ^1000 { die unless foo } }
16:00 camelia rakudo-moar 9994c0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3ub foo()7⏏5 { my $b = False; my $c //= do { $b = Tr␤    expecting any of:␤        …»
16:00 jnthn m: sub foo() { my $b = False; my $c //= do { $b = True }; $b }; await do for ^4 { start for ^1000 { die unless foo } }
16:00 camelia rakudo-moar 9994c0: OUTPUT«Tried to get the result of a broken Promise␤  in block <unit> at <tmp> line 1␤␤Original exception:␤    Died␤      in code  at <tmp> line 1␤␤»
16:19 * jnthn spectests a fox for that
16:19 jnthn ...uh, a fix
16:20 jnthn A fox would be cuter perhaps
16:21 * DrForr submits a fax.
16:28 jnthn Won't be submitting anything to github for a bit, it seems
16:29 timotimo yeah, seems down
16:29 brokenchicken Angry unicorn time
16:30 timotimo time to send patches via emails
16:30 perlpilot must be some kind of "rolling blackout" thing for their servers as I was able to access github just fine while you guys were talking about the unicorn.
16:30 jnthn Anyway, it passed
16:31 perlpilot (but I got the unicorn earlier)
16:31 jnthn Will push when it works :)
16:35 jnthn And of course, now Travis gets all sad because the clone fails
16:35 timotimo yup
16:36 brokenchicken ... and now buggable will leak memory parsing travis bot results!
16:36 brokenchicken ... and that will eventually kill the server with all the bots!
16:36 brokenchicken The Butterfly Effect? :)
16:36 timotimo good thing *able are crash-only software (i think?)
16:36 brokenchicken One failed build of Perl 6 ruins everything :PO
16:37 jnthn brokenchicken: Did buggable use recent Moar fwiw? That had some memory management improvements...
16:38 brokenchicken Don't think so. The perl6 in use there is 2016.12-250-g9052427
16:38 brokenchicken m: say $*PERL.version
16:38 camelia rakudo-moar 9994c0: OUTPUT«v6.c␤»
16:38 brokenchicken m: say $*PERL.compiler.version
16:38 camelia rakudo-moar 9994c0: OUTPUT«v2016.12.297.g.9994.c.09␤»
16:38 brokenchicken 47 commits behind head.
16:38 timotimo multiple of those will have been NQP and MoarVM version bumps
16:41 jnthn ooh, push worked :)
16:41 timotimo "GitHub Isn't Down You Just Got Fired And We Didn't Know How To Tell You"
16:41 Geth rakudo/nom: d1c2e76498 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
16:41 Geth rakudo/nom: Improve compilation of ||=, //=, and &&=.
16:41 Geth rakudo/nom:
16:41 Geth rakudo/nom: So they don't need a thunk, the taking of which messed up scopes and
16:41 Geth rakudo/nom: could cause threading issues. This also improves performance, since it
16:41 Geth rakudo/nom: eliminates an invocation.
16:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d1c2e76498
16:42 Geth roast: e797f92551 | (Jonathan Worthington)++ | S17-promise/start.t
16:42 Geth roast: Tests to cover threads bug with //=, ||=, &&=.
16:42 Geth roast: review: https://github.com/perl6/roast/commit/e797f92551
16:42 brokenchicken \o/
16:43 jnthn You had to have something like //= do { ... } to get bitten by it, fwiw
16:43 jnthn Which IO::Handle.open does
16:49 * lizmat is back
16:50 lizmat jnthn: did you up Moar / NQP ?
16:50 jnthn Ne
16:50 lizmat so is it a good time to do it?
16:50 jnthn Sure, go ahead :)
16:50 lizmat oki, I will
16:52 Geth nqp: 1d4f071453 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
16:52 Geth nqp: Bump Moar to get the latest goodies / fixes
16:52 Geth nqp: review: https://github.com/perl6/nqp/commit/1d4f071453
16:55 * jnthn not having much look getting spectest6 to explode anymore...
16:56 jnthn *luck
16:56 jnthn The //= fix seems to have massively helped the instability in my $dayjob code on Windows though
16:56 * brokenchicken fires up the VM to try it out there
16:56 TimToady fyi uniqueifying fate numbers works fine for protos; alts will be a bit harder because C code
16:58 TimToady next major step is to figure out how best to pass subfates to subrules...
16:58 jnthn Hmm
16:58 jnthn Yeah, that's the part that always struck me as tricky :)
16:58 TimToady well, making the NFA runner produce subfates is probably the real next step :)
16:59 TimToady but I think I'll go with linear for simplicity, and just filter out the fates that aren't in "my" range at this level
16:59 TimToady might complicate the sorting in the runner though
17:00 TimToady one could conceivably pass subfates through the cursor, but then you have to make sure they aren't seen by callees that shouldn't see them
17:00 TimToady so I lean towards a hidden param at this juncture
17:01 jnthn Hmm
17:01 jnthn Hidden param is a leak risk, mind
17:01 TimToady how so, if you doctor the signatures to correspond?
17:01 brokenchicken Stage parse      :  50.821 \o/ \o/ so fast
17:02 TimToady brokenchicken: hope to make that faster by what I'm doing now
17:02 brokenchicken \o/ \o/ TimToady++
17:02 jnthn token foo(|c) { } # would we have to doctor the capture too?
17:03 jnthn My gut feeling - which may be off - is that the cursor approach might be easier to make robust
17:03 TimToady could well be
17:03 Geth roast: 1a930c7aac | (Elizabeth Mattijsen)++ | 3 files
17:03 Geth roast: Unfudge now passing tests
17:03 Geth roast: review: https://github.com/perl6/roast/commit/1a930c7aac
17:03 TimToady we just have to be sure to remove it from the cursor when it's no longer valid, I suppose
17:03 travis-ci joined #perl6-dev
17:03 travis-ci Rakudo build errored. Elizabeth Mattijsen 'Migrate Internals.IterateFromIterators to Iterator.FromIndexes
17:03 travis-ci https://travis-ci.org/rakudo/rakudo/builds/191652818 https://github.com/rakudo/rakudo/compare/44dc45a4f36b...8852f7573a2f
17:03 travis-ci left #perl6-dev
17:04 brokenchicken huh buggable's ded
17:04 TimToady in any case, to begin with, we'll probably enable it only for subrules that start reparsing at the same position as the superrule
17:04 brokenchicken "connection reset by peer"
17:05 buggable joined #perl6-dev
17:06 TimToady and I guess the sub-NFA will actually be carrying the info about the valid range of fates for that level, so maybe it'll just work out if the NFA looks at the cursor and says, 'yep, I can use that to bypass my next run'
17:06 brokenchicken (removed)
17:06 brokenchicken oops
17:06 lizmat .oO( that evens out :-)
17:06 brokenchicken https://travis-ci.org/rakudo/rakudo/builds/191652818
17:06 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
17:07 brokenchicken buggable: you're useless!
17:07 TimToady and then it'll also pass through levels of non-alt subrules down to the alt that needs the info, without having to doctor every single method sig
17:07 brokenchicken the failures due to github stuff tho
17:08 jnthn TimToady: Sounds promising.
17:08 TimToady so yeah, cursor seems cursorily better
17:08 jnthn :)
17:09 jnthn One of the things I've learend the hard way in Perl 6 impl is that with the amount of introspection we have available, cheating/faking will almost always get you caught by a cunning user. :)
17:09 TimToady nodnod, keep having to relearn that lesson :)
17:19 Geth rakudo/nom: 25615c73c0 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
17:19 Geth rakudo/nom: Bump NQP for the latest MoarVM/NQP goodies
17:19 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/25615c73c0
17:20 Geth rakudo/nom: ce65691fc5 | (Elizabeth Mattijsen)++ | 5 files
17:20 Geth rakudo/nom: Migrate Internals.IntRangeIterator to Iterator.IntRange
17:20 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ce65691fc5
17:21 brokenchicken 2 stresstest6 runs without any crashes!
17:21 * brokenchicken rebuilds from head and tries more
17:26 jnthn I was getting very occasional one in full collects
17:26 jnthn But when I turn on more debugging support it goes away :/
17:30 brokenchicken third run a charm: https://gist.github.com/zoffixznet/38421cb33279802d03d4032344047a16
17:30 lizmat :-(
17:30 lizmat different from before, though
17:30 lizmat by the looks of it
17:31 brokenchicken yeah
17:31 jnthn New one
17:31 jnthn Oh, same nwc10 found overnight
17:31 jnthn Probably was there all along, but the one we already nailed was more common
17:34 Geth rakudo/nom: 032040439d | (Elizabeth Mattijsen)++ | 2 files
17:34 Geth rakudo/nom: Migrate Internals.ShapeIndexIterator to Iterator.ShapeIndex
17:34 Geth rakudo/nom:
17:34 Geth rakudo/nom: And add some documentation on the fly
17:34 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/032040439d
17:38 jnthn dinner &
17:48 Geth rakudo/nom: 66a3aa5cc6 | (Elizabeth Mattijsen)++ | 6 files
17:48 Geth rakudo/nom: Migrated Internals.IterateKeyValueFromIterator to Iterator.KeyValue
17:48 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66a3aa5cc6
17:48 huggable joined #perl6-dev
18:02 Geth rakudo/nom: f57ba8af8e | (Elizabeth Mattijsen)++ | 6 files
18:02 Geth rakudo/nom: Migrate Internals.IteratePairFromIterator to Iterator.Pair
18:02 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f57ba8af8e
18:05 samcv morning o/
18:05 brokenchicken \o
18:05 lizmat samcv: morning  :-)
18:07 Geth rakudo/nom: aba04b1ac4 | (Elizabeth Mattijsen)++ | 6 files
18:07 Geth rakudo/nom: Migrate Internals.IterateAntiPairFromIterator to Iterator.AntiPair
18:07 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aba04b1ac4
18:08 lizmat samcv: nwc10 had some interesting findings on #moarvm just now
18:08 lizmat http://paste.scsys.co.uk/540698
18:08 samcv just saw that. will take a look when i'm properly awake
18:08 lizmat cool  :-)
18:11 vendethiel- joined #perl6-dev
18:14 brokenchicken stresstest6 feels much more stable now. Before: 3 crashes, 1 success; Now: 2 succcess, 1 crash, 2 successes.
18:14 * brokenchicken tries it out on a 32-core VM
18:15 brokenchicken the above were results for a 24-core one with RAKUDO_MAX_THREADS=100
18:15 brokenchicken .oO( try RAKUDO_MAX_THREADS=1000 :o )
18:16 brokenchicken oh and my default jobs is 28 or something,
18:17 * brokenchicken kicks it up a notch
18:18 brokenchicken RAKUDO_MAX_THREADS=1000 TEST_JOBS=1000 HARNESS_TYPE=6 make stresstest
18:18 [Coke] if the number is that high, aren't you tripping over yourself to get at the 24 cores?
18:18 Geth rakudo/nom: fe891c0b0c | (Elizabeth Mattijsen)++ | 3 files
18:18 Geth rakudo/nom: Migrate Internals.OneValueIterator to Iterator.OneValue
18:18 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe891c0b0c
18:18 [Coke] seems like your timings would be slightly better at maybe 50 instead of 1000
18:18 brokenchicken Segmentation fault after 16 seconds :(
18:18 [Coke] (/me obv. has not tested this theory)
18:19 brokenchicken [Coke]: no idea.
18:19 brokenchicken Well, I normally use 100
18:19 brokenchicken For 1000 the goal is to crash not to go fast :)
18:21 brokenchicken hm, seems to be doing something now, but no files are shown in the output; just that last line with numbers keeps updating itself
18:23 brokenchicken Load average: 28.17 13.79 5.45
18:25 brokenchicken really slow; doesn't seem to be the best weay to do it
18:25 Geth rakudo/nom: 1dc34d8471 | (Elizabeth Mattijsen)++ | 3 files
18:25 Geth rakudo/nom: Migrate Internals.UnendingValueIterator to Iterator.UnendingValue
18:25 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1dc34d8471
18:35 vendethiel joined #perl6-dev
18:38 Geth rakudo/nom: 6868ce8a3f | (Elizabeth Mattijsen)++ | 4 files
18:38 Geth rakudo/nom: Migrate Internals.ZipIterables*Iterator to Iterator.ZipIterables*
18:38 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6868ce8a3f
18:58 Geth rakudo/nom: 232641155e | (Elizabeth Mattijsen)++ | 4 files
18:58 Geth rakudo/nom: Migrate Internals.RollerIterator to Iterator.Roller
18:58 Geth rakudo/nom:
18:58 Geth rakudo/nom: Add some documentation, and convert List.roll(*) as well.
18:58 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/232641155e
18:58 lizmat which concludes migrating iterators from Rakudo::Internals
18:58 lizmat afk&
18:59 brokenchicken \o/
19:00 [Coke] lizmat: danke.
19:24 brokenchicken m: say "à".match: :ignoremark, /<[aeuoi]>/
19:24 camelia rakudo-moar 232641: OUTPUT«Nil␤»
19:24 brokenchicken m: say "à" ~~ m:ignoremark/<[aeuoi]>/
19:24 camelia rakudo-moar 232641: OUTPUT«「à」␤»
19:25 brokenchicken s: "à", 'match', \(:ignoremark, /<[aeuoi]>/)
19:25 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/blob/2326411/src/core/Str.pm#L1040
19:25 timotimo we can't have ignoremark outside of the match i believe
19:26 brokenchicken Why not?
19:26 brokenchicken What's it calling then? I thought it used match.
19:26 brokenchicken S/// does
19:27 brokenchicken m: say "à".subst: :ignoremark, /<[aeuoi]>/, 'z'
19:27 camelia rakudo-moar 232641: OUTPUT«à␤»
19:28 brokenchicken m: my $v = "à"; $v ~~ s:ignoremark/<[aeuoi]>/z/; say $v
19:28 camelia rakudo-moar 232641: OUTPUT«z␤»
19:28 brokenchicken m: say S:ignoremark/<[aeuoi]>/z/ given "à"
19:28 camelia rakudo-moar 232641: OUTPUT«z␤»
19:29 brokenchicken m: my $v = "à"; $v.subst-mutate: :ignoremark, /<[aeuoi]>/, 'z'; say $v
19:29 camelia rakudo-moar 232641: OUTPUT«à␤»
19:42 travis-ci joined #perl6-dev
19:42 travis-ci Rakudo build passed. Jonathan Worthington 'Improve compilation of ||=, //=, and &&=.
19:42 travis-ci https://travis-ci.org/rakudo/rakudo/builds/191684455 https://github.com/rakudo/rakudo/compare/9994c09699af...d1c2e7649884
19:42 travis-ci left #perl6-dev
19:50 vendethiel joined #perl6-dev
19:55 DrForr m: my $x = set <1 2 3>; say $x<3> and $x<4>
19:55 camelia rakudo-moar 232641: OUTPUT«True␤»
19:56 brokenchicken :o
19:56 brokenchicken m: my $x = set <1 2 3>; say $x<4>
19:56 camelia rakudo-moar 232641: OUTPUT«False␤»
19:56 brokenchicken wtf
19:56 brokenchicken aahh
19:56 brokenchicken lol
19:56 brokenchicken Precedense :)
19:56 brokenchicken m: my $x = set <1 2 3>; say $x<3> && $x<4>
19:56 camelia rakudo-moar 232641: OUTPUT«False␤»
19:56 DrForr D'oh ..
19:59 DrForr my $x = set <1 2 3>; given $x.elems { when 3 { say "yes" if $x<1> && $x<2> } } say "no"
19:59 DrForr m: my $x = set <1 2 3>; given $x.elems { when 3 { say "yes" if $x<1> && $x<2> } } say "no"
19:59 camelia rakudo-moar 232641: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3when 3 { say "yes" if $x<1> && $x<2> } }7⏏5 say "no"␤»
19:59 DrForr m: my $x = set <1 2 3>; given $x.elems { when 3 { say "yes" if $x<1> && $x<2> } }; say "no"
19:59 camelia rakudo-moar 232641: OUTPUT«yes␤no␤»
20:00 DrForr Must be doing something else wrong. /me skritches head.
20:01 brokenchicken You can use `and` in that `if`
20:02 brokenchicken Seems to work fine? What part is wrong?
20:02 brokenchicken the `say "no"` needs to be inside the same block as `when` if you expected when to shortcurcuit it
20:03 DrForr It is, and it is in the paste.
20:03 DrForr Before I go on I should update to latest, just to be sure.
20:04 brokenchicken hm? it's not.
20:04 brokenchicken m: my $x = set <1 2 3>; given $x.elems { when 3 { say "yes" if $x<1> and $x<2> } }; say "no"
20:04 camelia rakudo-moar 232641: OUTPUT«yes␤no␤»
20:05 brokenchicken m: my $x = set <1 2 3>; given $x.elems { when 3 { say "yes" if $x<1> and  $x<2> }; say "no" }
20:05 camelia rakudo-moar 232641: OUTPUT«yes␤»
20:05 brokenchicken m: my $x = set <1 2 3>; given $x { when 3 { say "yes" if $x<1> and  $x<2> }; say "no" }
20:05 camelia rakudo-moar 232641: OUTPUT«yes␤»
20:05 brokenchicken m: my $x = set <1 2 3>; given $x { when 3 { say "yes" if $x<1 2> == 2 }; say "no" }
20:05 camelia rakudo-moar 232641: OUTPUT«yes␤»
20:06 DrForr Oh, the 'no' bit. That was because I'm actualy doing a return in my real ode, I wasn't expecting the 'no' to appear in my actual code but I added it in to the paste for no good reason.
20:07 DrForr I'm solving a puzzle that I decided to use set arithmetic on, and ran across what appears to be a bug, not sure yet tho.
20:08 brokenchicken cool \o/
20:09 DrForr I really should button up here-docs, but I decided I needed a break.
20:17 vendethiel joined #perl6-dev
20:20 DrForr https://gist.github.com/anonymous/9a7b76d5606ff14fac21fb1671b3e426
20:22 DrForr IT's a dead-simple puzzle but I'm doing a brute-force state graph just so that I can bum it down later.
20:22 brokenchicken :o lots o code
20:22 * brokenchicken will look in ~3 hours
20:22 DrForr No worries.
20:24 DrForr When you get the time all you need to do is stick debgging around the 'when 3' clause.
20:26 jnthn :ignorematch has to be inside the regex or on the regex language construct, because it affects how we compile the regex. Same as with :ignorecase
20:26 brokenchicken Ah. Thanks.
20:27 brokenchicken m: say "à".match: /:ignoremark <[aeuoi]>/
20:27 camelia rakudo-moar 232641: OUTPUT«「à」␤»
20:27 brokenchicken \o/
20:28 jnthn If we're silently ignoring them when passed to .match or so, then it might be more friendly to warn
20:30 brokenchicken jnthn: I ran 20 stresstest6 on my 32-core VM. Here are the results, if they're helpful in any way: https://gist.github.com/zoffixznet/bf2d93c9736bf7ba95aee8fdaaceaa40
20:30 brokenchicken TEST_JOBS=1263 <-- there are 1263 .t files in roast
20:31 jnthn Hm, all 3 of those crashes are the same backtrace, it seems?
20:32 brokenchicken looks like it, yeah
20:32 jnthn Will do some digging when I get chance :)
20:33 jnthn Seems we're getting closer at least
20:33 brokenchicken \o/
20:50 vendethiel joined #perl6-dev
21:00 travis-ci joined #perl6-dev
21:00 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Bump NQP for the latest MoarVM/NQP goodies'
21:00 travis-ci https://travis-ci.org/rakudo/rakudo/builds/191697711 https://github.com/rakudo/rakudo/compare/d1c2e7649884...25615c73c054
21:00 travis-ci left #perl6-dev
21:12 samcv m: say "\c[BOM]"
21:12 camelia rakudo-moar 232641: OUTPUT«␤»
21:12 samcv nice alias names ;)
21:12 samcv m: "test\c[NBSP]test"
21:12 camelia rakudo-moar 232641: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "test test" in sink context (line 1)␤»
21:12 samcv m: say "test\c[NBSP]test"
21:12 camelia rakudo-moar 232641: OUTPUT«test test␤»
21:13 samcv m: say "test\c[BELL]"
21:13 camelia rakudo-moar 232641: OUTPUT«test🔔␤»
21:13 samcv sweet!
21:14 DrForr Someone set us up \c[BOM]?
21:14 samcv DrForr, I added unicode alias names. see my commit https://github.com/MoarVM/MoarVM/commit/816186484b5cc52f9ff1be6afa3b6f49264335bf
21:14 samcv should be useful for your book
21:15 samcv full list of aliases are here if you are curious ftp://ftp.unicode.org/Public/UCD/latest/ucd/NameAliases.txt
21:15 samcv so \c works for unicode sequences, alias names or unicode names (not unicode 1 names though)
21:16 brokenchicken DrForr is writing a book too?
21:16 samcv oh who was it
21:16 samcv that was writing the book
21:16 brokenchicken moritz and briandfoy
21:16 samcv ah ok
21:16 brokenchicken and anton shitov
21:16 samcv what's briandfoy's irc name? or is he not?
21:17 brokenchicken and I forget the fourth one
21:17 brokenchicken He rarely shows up and I think it's briandfoy
21:17 samcv ah ok
21:17 samcv brokenchicken, on RT how do I search and include the body text of an RT?
21:17 brokenchicken You can't; it's not enabled
21:18 samcv aww :(
21:18 brokenchicken I was planning to add that to perl6.fail but got bored
21:18 brokenchicken (hence the search box saying NIY)
21:19 brokenchicken I have a script at home that can search full text with a regex tho
21:19 brokenchicken (and I'll be home in ~40m)
21:19 samcv nice! that would be awesome
21:19 samcv buggable, UNI
21:20 samcv buggable, [UNI]
21:20 samcv buggable, help
21:20 buggable samcv, tags | tag SOMETAG | eco | eco Some search term | speed
21:20 samcv buggable, tag UNI
21:20 buggable samcv, There are 28 tickets tagged with UNI; See http://perl6.fail/t/UNI for details
21:20 brokenchicken Ah, I have a gist of it: https://gist.github.com/zoffixznet/a3790ddfec6e1c544bf766b23e3caefd
21:20 samcv oh brokenchicken can you fix uhm
21:20 samcv [UNI] \c[BELL] returns the U+0007 control code not U+1F514 BELL
21:20 samcv it detects BELL as a tag
21:21 samcv or should I just change the title
21:21 brokenchicken huggable rt full search :is: Use regex for RT full text search: https://gist.github.com/zoffixznet/a3790ddfec6e1c544bf766b23e3caefd
21:21 brokenchicken huggable, rt full search :is: Use regex for RT full text search: https://gist.github.com/zoffixznet/a3790ddfec6e1c544bf766b23e3caefd
21:21 huggable brokenchicken, Added rt full search as Use regex for RT full text search: https://gist.github.com/zoffixznet/a3790ddfec6e1c544bf766b23e3caefd
21:23 Geth roast: 14383fd540 | (Samantha McVey)++ | S02-literals/char-by-name.t
21:23 Geth roast: Todo test for jvm, which got unfudged (only fixed on MoarVM)
21:23 Geth roast: review: https://github.com/perl6/roast/commit/14383fd540
21:23 brokenchicken I think I'll revert it to just consider stuff in the front of title as tags.... too many false positives
21:24 samcv well it is in the front of the title?
21:24 samcv buggable, tags
21:24 buggable samcv, Total: 1469; BUG: 988; UNTAGGED: 313; LTA: 141; NYI: 96; RFC: 61; CONC: 53; JVM: 53; REGEX: 46; SEGV: 31; PERF: 28; UNI: 28; NATIVECALL: 22; REGRESSION: 21; @LARRY: 20; POD: 20; TODO: 18; IO: 16; TESTNEEDED: 15; PRECOMP: 13; BUILD: 11; OO: 11; TESTCOMMITTED: 10; STAR: 8; BOOTSTRAP: 6; OPTIMIZER: 6; GLR: 5; MATH: 4; OSX: 4; REPL: 3; WEIRD: 3; RT: 2; SPESH: 2; WINDOWS: 2; BELL:
21:25 samcv is Geth dead?
21:25 samcv I pushed to roast
21:25 brokenchicken and it reported
21:26 samcv oh i'm blind
21:26 samcv i need more caffeine
21:29 brokenchicken it wouldn't take it cause it got \c in front of it, but I'm not in the mood for hacking on Perl 5 this weekend so... BELL is a tag for now
21:29 brokenchicken patches welcome; it's zoffixznet/R6
21:29 samcv kk
21:30 brokenchicken and it'd be lib/something something RT REST Client or something
22:14 brokenchicken DrForr: so.. 1 2 | 3 4
22:14 brokenchicken testing 1 2 failed
22:14 brokenchicken That should NOT say failed?
22:15 Geth rakudo/nom: bcc113cfb0 | (Elizabeth Mattijsen)++ | 2 files
22:15 Geth rakudo/nom: Migrate combinations(n,k) logic to Iterator.Combinations
22:15 Geth rakudo/nom:
22:15 Geth rakudo/nom: By making it an iterator, we should be able to mix/match that logic
22:15 Geth rakudo/nom: easier into other parts of the core.  Also document it a bot more.
22:15 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bcc113cfb0
22:16 brokenchicken I guess it would be easier if I knew what this game was about :P
22:17 geekosaur talk about unfortunate typos... is "bot" supposed to be "bit" or "lot"? or somewhere in between?
22:17 brokenchicken :P
22:19 brokenchicken DrForr: "# Any move with {1,2} as an element should be legal, yet there are no legal moves." There's no such check here tho: https://gist.github.com/anonymous/9a7b76d5606ff14fac21fb1671b3e426#file-gistfile1-txt-L60-L62
22:19 travis-ci joined #perl6-dev
22:20 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Migrate Internals.IntRangeIterator to Iterator.IntRange'
22:20 travis-ci https://travis-ci.org/rakudo/rakudo/builds/191698102 https://github.com/rakudo/rakudo/compare/25615c73c054...ce65691fc5d1
22:20 travis-ci left #perl6-dev
22:22 go|dfish joined #perl6-dev
23:05 Geth rakudo/nom: 0ffce7d056 | (Elizabeth Mattijsen)++ | 2 files
23:05 Geth rakudo/nom: Allow Iterator.Combinations to return an IterationBuffer
23:05 Geth rakudo/nom:
23:05 Geth rakudo/nom: This should make use of the iterator more efficient in other cases.
23:05 Geth rakudo/nom: There was no discernible efficiency loss for combinations().
23:05 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0ffce7d056
23:53 AlexDaniel joined #perl6-dev

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