Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:57 Geth ¦ roast: 8fa281425d | (Nick Logan)++ (committed using GitHub Web editor) | S17-supply/wait.t
00:57 Geth ¦ roast: Update wait.t
00:57 Geth ¦ roast:
00:57 Geth ¦ roast: https://rt.perl.org/Ticket/Display.html?id=129247
00:57 Geth ¦ roast:
00:57 Geth ¦ roast: Fixed in rakudo at: https://github.com/rakudo/rakudo/commit/32b72cd
00:57 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8fa281425d
03:16 Geth ¦ roast: 4671117c28 | (Samantha McVey)++ | S02-literals/quoting.t
03:16 Geth ¦ roast: Fix quoting.t so it can be ran from in roast directory
03:16 Geth ¦ roast:
03:16 Geth ¦ roast: Previously it assumed it was being run in rakudo's t/spec folder.
03:16 Geth ¦ roast: Make sure to `use` the packages directory so it can be run from
03:16 Geth ¦ roast: inside roast's directory.
03:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4671117c28
03:52 Geth ¦ roast: 8a351395cd | (Nick Logan)++ (committed using GitHub Web editor) | S32-io/mkdir_rmdir.t
03:52 Geth ¦ roast: Unfudge and cleanup mkdir/rmdir tests
03:52 Geth ¦ roast:
03:52 Geth ¦ roast: https://rt.perl.org/Ticket/Display.html?id=124788
03:52 Geth ¦ roast: https://rt.perl.org/Ticket/Display.html?id=124789
03:52 Geth ¦ roast: https://rt.perl.org/Ticket/Display.html?id=124790
03:52 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8a351395cd
04:15 [Coke] samcv: tried to simplify the malformed utf 8 error I'm seeing with docs & os x.: https://github.com/perl6/doc/issues/1414
04:16 samcv weird
04:17 [Coke] I can't remove much more of that sample file.
04:17 [Coke] I suspect the size is a factor, and that there is some non-ascii in it.
04:18 samcv so this results in the failure? https://github.com/perl6/doc/issues/1414#issuecomment-315263329
04:20 [Coke] yes. if I run that script with the linked gist file, it dies here with malformed utf8
04:25 [Coke] zzz
04:50 vendethiel joined #perl6-dev
05:12 samcv hmm
05:12 samcv night
05:51 vendethiel- joined #perl6-dev
06:19 [Tux] This is Rakudo version 2017.06-231-g8d5f3324a built on MoarVM version 2017.06-75-g8aa657d6
06:19 [Tux] csv-ip5xs        2.471
06:19 [Tux] test            12.202
06:19 [Tux] test-t           4.108 - 4.108
06:19 [Tux] csv-parser      12.238
07:13 Geth ¦ roast: a6bbc73cff | (Samantha McVey)++ | S15-nfg/concatenation.t
07:13 Geth ¦ roast: Add an additional concat test and change tests to is-deeply
07:13 Geth ¦ roast:
07:13 Geth ¦ roast: This case wasn't tested for but failed during MoarVM development
07:13 Geth ¦ roast: which is why it is being added.
07:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a6bbc73cff
07:14 samcv woo. full spectest pass on my new concat changes :)
07:56 robertle joined #perl6-dev
08:20 llfourn samcv++
08:20 samcv it's exciting :)
08:20 samcv soon we won't need to renormalize the full length of both strings being concatenated together! and only normalize the two codepoints on the boundary
08:21 llfourn = faster concatination?
08:21 samcv for initially it's only going to work when the codepoints either combine or don't. and not work if they need to be reordered. though eventually we can probably do that as well
08:21 samcv but that's much less common
08:21 samcv yes :)
08:21 samcv as well as \r with \n will be much faster
08:21 samcv and not need to renormalize the full length of both strings
08:22 samcv so if you concatenate two strings a and b. what happens is it creates a new string made up of two strands. the two strands will be a and b
08:22 samcv if a and b are made up of strands then it makes a new string made up of the strands of both a and b
08:23 samcv so before if either of the codepoints failed NFG_QC which can include a fair number of them, then it would automatically renormalize everything. so i've made that trigger about 1/3 as much or maybe more than that
08:23 samcv probably more
08:24 samcv only triggering if it sees two regional indicators being concatted, or if they have canonical combining class that's not 0 (end of a or start of b)
08:25 samcv my branch, what it does now. if it determines that the two codepoints will join together, it will make a strand made up of the combination of last_a and first_b. so if it's 'texthere\r' ~ '\nstuffhere' then it will create instead of 2 strands it will make 3. with 'texthere' + '\r\n' + 'stuff here'
08:25 samcv well or more strands depending on how many strands are in a or b
08:26 samcv instead of starting the normalizer at the beginning of string a and going all the way to the end of string b
08:26 samcv :D
08:29 llfourn samcv: you had me at "I made it faster" :D
08:30 llfourn I think I can only partially apreciate the details there but I'm sure others here will do better.
08:31 samcv well i wanted to explain it anyway heh
08:33 llfourn so does that mean it's a speedup only when the concatinated strings end/begin in certain characters?
08:34 samcv yeah. if they would end up combining
08:34 samcv before if thye were going to combine it'd have to normalize and process the full length of strings a and b. so if you had very long strings that would be very slow
08:35 samcv well. also the previous change already in moarvm reduces when it renormalizes everything by a huge amount. so it gets called much less
08:35 samcv because before it was being done if there was *a chance* it had to renormalize
08:35 samcv but now it only does it if it actually does
08:36 samcv and then the change not yet in moarvm and only in my branch will make it so in cases when it does have to combine it won't have to trace the full lengts of both strings, it will just combine those two characters and have it be a strand
08:37 llfourn I did a atest a while ago which showed that my $a = ''; for ^10000 { $a ~= $_ };
08:37 samcv so it will be just as fast as concatenating two normal strings are plus a little overhead for adding the other strand
08:37 llfourn seemed to be On²
08:37 llfourn is that still the case?
08:37 samcv well. it will be faster
08:37 samcv i'm sure it's faster now
08:37 samcv m: my $a = ''; for ^10000 { $a ~= $_ }; say now - INIT now
08:37 camelia rakudo-moar 8d5f33: OUTPUT: «0.03314010␤»
08:38 samcv llfourn, now it will only have to do extra work when the string contains more than the max limit of strands
08:39 llfourn nice. I will take a look to see how it's changed.
08:40 samcv atm it's actually a little slower for my special branch but that's because it doesn't yet have a fast path for when you combine two characters
08:41 samcv so it has the extra overhead even when combining two charecters though i'm curious if master moarvm is any faster
08:42 samcv before i merge it in i'm probably going to specialcase when string a is one codepoint and string b is one codepoint
08:42 samcv well not completely the case here but
08:42 samcv i just only got it full spectest passing like 30 mins ago :P
08:42 samcv so haven't had time to optimize anything
08:44 llfourn hmmm well I just did a test on current HEAD and it looks like 'for 0..280_000 { $str ~= $_ }' is now finishing in 12s vs 10s in early 2016
08:44 jnthn Since it's release day tomorrow, if you're not entirely sure in it, might be worth merging just after release. :)
08:44 yoleaux 13 Jul 2017 22:08Z <Zoffix> jnthn: "if .getc is busted near end of input (which I seem to recall seeing an RT about)". Yeah, there's a ticket for it: https://rt.perl.org/Ticket/Display.html?id=131365#ticket-history
08:44 yoleaux 02:16Z <MasterDuke> jnthn: clang complains about src/6model/reprs/VMArray.c:307 `if (n < 0)`, that 'comparison of unsigned expression < 0 is always false'. n is an MVMuint64, can the check be tossed?
08:44 llfourn (I'll check again after your work has been merged)
08:44 samcv jnthn, yeah i'm not merging for at least several days heh
08:45 jnthn :)
08:45 samcv though jnthn i think i'm going to make one change just to be extra careful with the new concat changes i've already put in
08:47 jnthn samcv: Some are already in master?
08:47 jnthn But yeah, do as you feel helps us ship a safe release :)
08:47 samcv well yeah that i made this last week
08:47 jnthn Goes without saying none of my spesh changes are going into tomorrow's either :)
08:55 lizmat joined #perl6-dev
09:02 astj_ joined #perl6-dev
09:09 samcv jnthn, i added these tests https://github.com/perl6/roast/commit/88635564e5377757514b36be6867eb028e765a4d to ensure that we couldn't get incorrect normalized things on concat
09:09 samcv but i just want to be extra sure. just in case. since we checked it before. may be able to remove later but better extra safe. and doesn't really slow it down noticibly
09:11 lizmat .
10:05 astj joined #perl6-dev
10:09 vendethiel joined #perl6-dev
10:24 dogbert17 any suggestions as to where to put a test for RT #130883
10:24 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
10:55 lizmat joined #perl6-dev
11:55 lizmat joined #perl6-dev
12:01 Zoffix Here's another place where I seen the "Malformed UTF8" error and looks like there's golf available: https://github.com/perl6/doc/issues/1414#issuecomment-315263329
12:13 jnthn I just wget the raw fail.out and ran the program and it seems fine
12:13 jnthn Ran it quite a lot of times and seems fine
12:32 Geth ¦ rakudo/nom: 80bbfcdd47 | (Jonathan Worthington)++ | src/core/IO/Handle.pm
12:32 Geth ¦ rakudo/nom: Use same slow-path for getc and readchars.
12:32 Geth ¦ rakudo/nom:
12:32 Geth ¦ rakudo/nom: This will allow fixing the common problem they have near the end of
12:32 Geth ¦ rakudo/nom: the file in one place, as well as giving less code to maintain.
12:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80bbfcdd47
12:54 nebuchadnezzar joined #perl6-dev
13:07 Geth ¦ nqp: dd137d70ba | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
13:07 Geth ¦ nqp: Bump MOAR_REVISION.
13:07 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/dd137d70ba
13:07 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-70-ga3a58c8...2017.06-86-g4b87b02
13:07 Geth ¦ nqp: 283be204bc | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
13:07 Geth ¦ nqp: Map decodertakecharseof op on MoarVM backend.
13:07 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/283be204bc
13:07 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-70-ga3a58c8...2017.06-86-g4b87b02
13:08 jnthn With that and a Rakudo patch to use it, RT #131383 and RT #131365 can be fixed
13:08 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131383
13:08 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131365
13:22 Geth ¦ nqp: 5e00f9b42f | (Jonathan Worthington)++ | 3 files
13:22 Geth ¦ nqp: Implement decodertakecharseof for JVM backend.
13:22 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/5e00f9b42f
13:33 tbrowder is there a recommended way to automate squashing commits on a user's branch for a PR? to me the ideal way would include a single commit message from a file which would read like a changelog for the PR. i ask because i see all kinds of methods suggested and wonder if you might have a standard.
13:38 Geth ¦ roast: d006543e12 | (Jonathan Worthington)++ | S16-io/readchars.t
13:38 Geth ¦ roast: Add tests for IO::Handle.readchars.
13:38 Geth ¦ roast:
13:38 Geth ¦ roast: Apparently we didn't have any (only indirect testing by CatHnadle).
13:38 Geth ¦ roast: Includes a test for RT #131383.
13:38 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d006543e12
13:38 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131383
13:41 Geth ¦ rakudo/nom: f6279c344f | (Jonathan Worthington)++ | tools/build/NQP_REVISION
13:41 Geth ¦ rakudo/nom: Bump to latest NQP/MoarVM.
13:41 Geth ¦ rakudo/nom:
13:41 Geth ¦ rakudo/nom: Brings new decodertakecharseof op which will be used to fix issues
13:41 Geth ¦ rakudo/nom: with getc/readchars near the end of the file. Also fixes for a SEGV
13:41 Geth ¦ rakudo/nom: in `gc_mark` of call captures, which could impact particularly code
13:41 Geth ¦ rakudo/nom: using destructuring, and some concatenation improvements.
13:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6279c344f
13:41 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.06-55-g124754e...2017.06-58-g5e00f9b
13:42 Geth ¦ rakudo/nom: 49f555a2fb | (Jonathan Worthington)++ | 3 files
13:42 Geth ¦ rakudo/nom: Fix .getc and .readchars reading too much at EOF.
13:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49f555a2fb
13:42 Geth ¦ rakudo/nom: 3075f012ad | (Jonathan Worthington)++ | t/spectest.data
13:42 Geth ¦ rakudo/nom: Run new S16-io/readchars.t.
13:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3075f012ad
13:44 lizmat joined #perl6-dev
13:46 [Coke] jnthn: (fail.out) yah, it's absolutely reliable failure here. Please let me know if I can provide more debug output, happy to use a patched moarvm/nqp/rakudo, etc.
13:46 [Coke] I'm sure it's OS X related. :|
13:46 jnthn [Coke]: I'm wondering if somehow the process of gisting it has corrected the datra
13:47 jnthn Oh, but the problem is that the cat of it goes wrong, not that the data is bad?
13:47 [Coke] I doubt it: Zoffix reported on the ticket that it always JW for him as well
13:47 jnthn hm, ok
13:47 [Coke] the cat is required. Just straight .lines was fine.
13:47 jnthn OSX :S
13:48 jnthn If only they made it easy to get an OSX image running in virtualbox
13:48 lizmat .oO( good thing they renamed it to macOS )
13:48 lizmat jnthn: if necessary, I can open up access to a macOS machine here again
13:49 jnthn lizmat: That may be the best bet. Though not today... :)
13:49 lizmat okidoki
13:49 Zoffix "JW"?
13:50 jnthn Just Worked?
13:50 Zoffix Ah
13:50 Geth ¦ roast: 60a9e39b89 | (Jonathan Worthington)++ | S16-io/getc.t
13:50 Geth ¦ roast: Test to cover RT #131365.
13:50 Geth ¦ roast: review: https://github.com/perl6/roast/commit/60a9e39b89
13:50 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131365
13:50 jnthn Alrighty, two RTs down
13:53 Geth ¦ roast: a90ae06c0e | (Elizabeth Mattijsen)++ | S03-operators/set_symmetric_difference.t
13:53 Geth ¦ roast: Add tests for [(^)] with absentee keys and Mixies
13:53 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a90ae06c0e
13:54 Geth ¦ rakudo/nom: 0c02f93e32 | (Elizabeth Mattijsen)++ | src/core/set_symmetric_difference.pm
13:54 Geth ¦ rakudo/nom: Handle [(^)] with absentee keys and Mixies correctly
13:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c02f93e32
14:06 Zoffix fwiw roast's Test::Util has make-temp-file https://github.com/perl6/roast/blob/master/packages/Test/Util.pm#L519-L525
14:06 Zoffix You can give it content to use and it'll automgically get delted
14:06 jnthn I just copied getc.t for readchars.t :)
14:06 Zoffix ah
14:06 jnthn But nice to know
14:07 jnthn uh, I hope I did at least :)
14:07 cschwenz joined #perl6-dev
14:07 jnthn d'oh, no
14:08 jnthn m: sub ($ is rw) {}(42)
14:08 camelia rakudo-moar 3075f0: OUTPUT: «Internal error: inconsistent bind result␤  in sub  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
14:13 Geth ¦ roast: f423c8d78e | (Jonathan Worthington)++ | S16-io/readchars.t
14:13 Geth ¦ roast: Use $tmpfile, not hardcoded name.
14:13 Geth ¦ roast:
14:13 Geth ¦ roast: Result of copy-paste from a local test file.
14:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/f423c8d78e
14:14 lizmat joined #perl6-dev
14:16 jnthn m: use Test; throws-like { sub ($ is rw) {}(42) }, X::Parameter::RW
14:16 camelia rakudo-moar 0c02f9: OUTPUT: «    1..2␤    ok 1 - code dies␤    not ok 2 - right exception type (X::Parameter::RW)␤␤    # Failed test 'right exception type (X::Parameter::RW)'␤    # at /home/camelia/rakudo-m-inst-2/share/perl6/precomp/36D40C27910FB996FCF6DA8F89057F360B66C8C…»
14:22 Geth ¦ rakudo/nom: 88acdbb745 | (Jonathan Worthington)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
14:22 Geth ¦ rakudo/nom: Fix anonymous `is rw` param error reporting.
14:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88acdbb745
14:22 Geth ¦ roast: 14e5cab4b7 | (Jonathan Worthington)++ | S06-traits/is-rw.t
14:22 Geth ¦ roast: Test for RT #131673.
14:22 Geth ¦ roast: review: https://github.com/perl6/roast/commit/14e5cab4b7
14:22 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131673
14:27 jnthn m: so try await start 42
14:27 camelia rakudo-moar 0c02f9: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "so " in expression "so try await start 42" in sink context (line 1)␤»
14:27 jnthn m: try await start 42
14:27 camelia rakudo-moar 0c02f9: ( no output )
14:27 jnthn Zoffix: About https://rt.perl.org/Ticket/Display.html?id=131417, why is it incorrect?
14:29 Zoffix jnthn: not sure. Rejected it.
14:30 jnthn Well, that was the easiest one for me so far today :P
14:30 Zoffix :)
14:31 * jnthn sees if he can get valgrind to whine about https://github.com/MoarVM/MoarVM/issues/611
14:31 Geth ¦ roast: 5855abee9b | (Elizabeth Mattijsen)++ | S03-operators/set_intersection.t
14:31 Geth ¦ roast: Add quite a few [(&)] tests
14:31 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5855abee9b
14:31 Geth ¦ roast: 0a97c4c12c | (Elizabeth Mattijsen)++ | S03-operators/set_symmetric_difference.t
14:31 Geth ¦ roast: Add a forgotten comment line
14:31 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0a97c4c12c
14:32 jnthn hah, yes
14:32 jnthn but I didn't do a debug build...d'oh
14:38 [Coke] jnthn: verified, I curled the raw file back down from github, same error here.
14:41 [Coke] jnthn: also: I cannot duplicate the issue with Proc::Async
14:42 [Coke] so it's something run specific, with that specific input file ( size is important, unicode is important), on OS X.
14:44 [Coke] async code was: my $out := Proc::Async.new('cat', 'fail.out');my $result=""; $out.stdout.tap(-> $buf { $result ~= $buf});await $out.start;Nil for $result.lines;
14:44 [Coke] er, also .lines is required.
14:44 [Coke] oh, I can get an --ll-exception, anyway.
14:46 [Coke] (added to ticket)
14:47 [Coke] https://github.com/perl6/doc/issues/1414#issuecomment-315378376
14:50 Geth ¦ rakudo/nom: c0eeebde63 | (Elizabeth Mattijsen)++ | 2 files
14:50 Geth ¦ rakudo/nom: Simplify [(&)] handling
14:50 Geth ¦ rakudo/nom:
14:50 Geth ¦ rakudo/nom: - because all the candidates are in place
14:50 Geth ¦ rakudo/nom: - and we now have tests for them
14:50 Geth ¦ rakudo/nom: - this could prove to be a performance gain, but didn't check
14:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0eeebde63
14:57 Zoffix m: say time
14:57 camelia rakudo-moar 88acdb: OUTPUT: «1500044227␤»
14:57 Zoffix ZofBot: happy belated 1,500,000,000 time!
14:58 jnthn Complain all the things!
15:03 cschwenz is ZofBot a Markov text generator?
15:04 Zoffix No, he just huffs a lot of glue.
15:04 cschwenz :-P
15:05 jnthn I'd expect it to sound smarter if it was a Markov one :P
15:06 cschwenz but sounding smarter is completely dependent on its source text.  :-D
15:09 Geth ¦ roast: 3503a07009 | (Elizabeth Mattijsen)++ | 8 files
15:09 Geth ¦ roast: Remove testing of set operators with prefix R
15:09 Geth ¦ roast:
15:09 Geth ¦ roast: We don't need to test the functionality of the R metaop that many times
15:09 Geth ¦ roast: review: https://github.com/perl6/roast/commit/3503a07009
15:09 lizmat that's about 6K tests less in roast
15:10 lizmat although I don't think you will notice much in manner of roast being faster
15:18 timotimo yeah, cuz it's really fast
15:56 Geth ¦ rakudo/nom: e2ec7bdff8 | (Jonathan Worthington)++ | src/core/CallFrame.pm
15:56 Geth ¦ rakudo/nom: Avoid various VM errors in CallFrame.
15:56 Geth ¦ rakudo/nom:
15:56 Geth ¦ rakudo/nom: Nil and a Failure are better than a VM-level exception that will be
15:56 Geth ¦ rakudo/nom: relatively meaningless to the typical language user.
15:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2ec7bdff8
15:58 Geth ¦ roast: fc35eaee6f | (Jonathan Worthington)++ | S06-advanced/callframe.t
15:58 Geth ¦ roast: Test callframe won't SEGV or explode with VM error
15:58 Geth ¦ roast:
15:58 Geth ¦ roast: This test case inspired by https://github.com/MoarVM/MoarVM/issues/562
15:58 Geth ¦ roast: review: https://github.com/perl6/roast/commit/fc35eaee6f
16:00 lizmat jnthn: any reason why the second isn't an ifnull as well ?
16:01 lizmat ah, I see...
16:01 lizmat duh
16:01 jnthn :)
16:01 jnthn Was going to ask how you planned to express it with ifnull :)
16:01 lizmat hehe
16:02 ugexe so there are 2 fudged roast test that expect X::IO::Mkdir for $dir-that-exists.mkdir and $dir-that-doesnt-exist.child("dir2").mkdir - but this is not the behavior we went with
16:02 ugexe these both succeed and return the IO::Path of the directory
16:03 ugexe RT #124791 and RT #124792 - https://github.com/perl6/roast/blob/8a351395cd32edbe3fbb53aa9bdb323e4f972237/S32-io/mkdir_rmdir.t#L38
16:03 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124791
16:03 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124792
16:03 jnthn I'm guessing we have other espectsets that want The Other Thing?
16:03 Geth ¦ roast: 78b0066609 | (Elizabeth Mattijsen)++ | S03-operators/set_difference.t
16:03 Geth ¦ roast: Add quite a few [(-)] tests
16:03 Geth ¦ roast:
16:03 Geth ¦ roast: So that we can safely refactor the infix:<(-)>(**@p) candidate after
16:03 Geth ¦ roast: this month's release.  At least we have thorough testing now.
16:03 Geth ¦ roast: review: https://github.com/perl6/roast/commit/78b0066609
16:04 ugexe jnthn: probably... i think that entire test file can probably be deleted except for that last segfault test
16:04 ugexe Zoffix: ^ ?
16:05 robertle joined #perl6-dev
16:06 ugexe maybe mkdir isn't tested anywhere else.. well directly
16:11 Zoffix m: dd "/".IO.mkdir
16:11 camelia rakudo-moar e2ec7b: OUTPUT: «IO::Path.new("/", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))␤»
16:11 [Coke] lizmat: can you verify that my doc issue fails on your mac?
16:11 Zoffix how is that last subtest even passing :/
16:12 ugexe ...good question
16:12 Zoffix That file isn't in t/spectest.data
16:13 ugexe heh
16:13 lizmat joined #perl6-dev
16:16 Zoffix No idea about dying on mkdir for existing dir. We should die for existing *file* (and we don't). We also create all the parent directories if they don't exist, which means if we die on mkdir'ing an existing *dir*, this would be fatal (assumign dirs exist): "foo/bar".IO.mkdir but this wouldn't "foo/bar/ber".IO.mkdir which's kinda weird.
16:16 Zoffix m: with "/tmp/dasdasdasdsadas".IO { .spurt: "tis a file"; dd .f; dd .mkdir }
16:16 camelia rakudo-moar e2ec7b: OUTPUT: «Bool::True␤IO::Path.new("/tmp/dasdasdasdsadas", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))␤»
16:19 ugexe i still dont see how that test gives an X::IO::Mkdir but I get an IO::Path if I do perl6 -e 'say "/".IO.mkdir'
16:21 ugexe m: my $result; try { $result = "/".IO.mkdir; CATCH { default { $result = $_; } }; } for ^5; say $result.perl
16:21 camelia rakudo-moar e2ec7b: OUTPUT: «IO::Path.new("/", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))␤»
16:21 Geth ¦ roast: 23beacf725 | (Jonathan Worthington)++ | S19-command-line/arguments.t
16:21 Geth ¦ roast: Test to cover RT #130760.
16:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/23beacf725
16:21 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130760
16:22 ugexe ah on OSX it throws
16:22 ugexe Im running the test itself on osx, but did the one liner attempts on linux
16:24 ugexe osx doesnt throw on $cwd/existing-folder though
16:26 Zoffix yeah, there's a ticket: https://rt.perl.org/Ticket/Display.html?id=131178#ticket-history
16:26 jnthn Alright, think that's enough for today
16:26 jnthn NeuralAnomaly: status
16:26 NeuralAnomaly jnthn, [✘] Next release is today. Since last release, there are 26 new still-open tickets (5 unreviewed and 0 blockers) and 49 unreviewed commits. See http://perl6.fail/release/stats for details
16:26 jnthn o.O
16:27 jnthn Alright, guess I'll be doing the MoarVM release tonight or tomorrow then :)
16:27 ugexe oh wow
16:28 ugexe on linux $existing-dir.mkdir returns an IO::Path. on osx it returns True
16:29 ugexe oops old version :)
16:29 BenGoldberg joined #perl6-dev
16:30 * jnthn afk for now
16:30 ugexe i do still get an exception on osx for "/".IO.mkdir though
16:32 Zoffix "Zoffix │ yeah, there's a ticket: https://rt.perl.org/Ticket/Display.html?id=131178#ticket-history "
16:32 Zoffix It's the reason we had REPL history bug a while back.
16:33 ugexe ah. any idea if it acts the same on jvm?
16:33 Zoffix No idea.
16:36 Geth ¦ roast: 071cf11fea | (Elizabeth Mattijsen)++ | S03-operators/set_multiply.t
16:36 Geth ¦ roast: Add quite a few [(.)] tests
16:36 Geth ¦ roast:
16:36 Geth ¦ roast: So that we can safely refactor the infix:<(.)>(**@p) candidate after
16:36 Geth ¦ roast: this month's release.  At least we have thorough testing now.
16:36 Geth ¦ roast: review: https://github.com/perl6/roast/commit/071cf11fea
16:41 timotimo whoa, huh, today
16:51 eater joined #perl6-dev
16:53 lizmat dinner&
16:55 * Zoffix reminds that timezones stretch for 26hr, so "today" is a rather broad term
16:56 Zoffix "Line Islands, Kiribati: The current time and date right now: 6:56:23 AM Saturday, July 15, 2017 "
16:57 [Coke] hey, it's today somewhere right? *swigs giant glass of iced tea*
17:10 dogbert17 Zoffix: any suggestion about where to put a test for RT #130883?
17:10 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
17:12 Zoffix I'd say just do grep -FR '%?RESOURCES' ... but holy crap, there ain't a single test for it? :S
17:13 timotimo time to sneak in a super risky optimization
17:16 Zoffix super risky? Perhaps it should wait until after release?
17:16 Zoffix I don't want my last release to have any point releases :)
17:17 timotimo i don't actually have any optimization to offer ;(
17:20 sivoais joined #perl6-dev
17:20 Geth ¦ roast: 47341f178e | (Elizabeth Mattijsen)++ | 5 files
17:20 Geth ¦ roast: Fix copy-pasto in comments
17:20 Geth ¦ roast: review: https://github.com/perl6/roast/commit/47341f178e
17:20 Geth ¦ roast: 64af59c9ff | (Elizabeth Mattijsen)++ | S03-operators/set_addition.t
17:20 Geth ¦ roast: Add quite a few [(+)] tests
17:20 Geth ¦ roast:
17:20 Geth ¦ roast: So that we can safely refactor the infix:<(+)>(**@p) candidate after
17:20 Geth ¦ roast: this month's release.  At least we have thorough testing now.
17:20 Geth ¦ roast: review: https://github.com/perl6/roast/commit/64af59c9ff
17:21 lizmat really dinner&
17:31 dct joined #perl6-dev
17:38 dogbert17 Zoffix: somewhere in S10 & S11 perhaps
17:39 ugexe %?RESOURCES should go in s22. the PERL6LIB in s10 or s11 probably
17:51 Zoffix wow... jnthn++    ... clicked "Refresh" on my email and screen filled with RT ticket resolutions :)
17:52 timotimo <3
17:52 timotimo bugs just melt under his fingers like butter under a summer's sun
17:59 AlexDaniel joined #perl6-dev
18:02 stmuk joined #perl6-dev
18:59 Geth ¦ roast: dogbert17++ created pull request #282: Add test for RT #130883. ugexe++
18:59 Geth ¦ roast: review: https://github.com/perl6/roast/pull/282
18:59 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
19:03 ugexe dogbert17: fyi you might want to use a name different from NativeCall.pm so if it doesn't get cleaned up its not confusing
19:04 dogbert17 ugexe: good ideia
19:04 dogbert17 *idea
19:06 dogbert17 hmm, if I use another name, e.g. Test.pm6, won't I get a compilation error then
19:21 Ven joined #perl6-dev
19:28 Geth ¦ roast: c0ce63a03a | (Jan-Olof Hendig)++ | S11-modules/perl6lib.t
19:28 Geth ¦ roast: Add test for RT #130883. ugexe++
19:28 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c0ce63a03a
19:28 Geth ¦ roast: 19a3341c9a | dogbert17++ (committed using GitHub Web editor) | S11-modules/perl6lib.t
19:28 Geth ¦ roast: Update perl6lib.t
19:28 Geth ¦ roast:
19:28 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
19:28 Geth ¦ roast: Don't use NativeCall.pm6 as it might be confusing
19:28 Geth ¦ roast: review: https://github.com/perl6/roast/commit/19a3341c9a
19:28 Geth ¦ roast: 10cf641e28 | dogbert17++ (committed using GitHub Web editor) | S11-modules/perl6lib.t
19:28 Geth ¦ roast: Merge pull request #282 from dogbert17/test-rt-130883
19:28 Geth ¦ roast:
19:28 Geth ¦ roast: Add test for RT #130883. ugexe++
19:28 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
19:28 Geth ¦ roast: review: https://github.com/perl6/roast/commit/10cf641e28
19:33 stmuk_ joined #perl6-dev
19:42 Zoffix AlexDaniel: what's your RT account email? I'm gonna give you release manager perms on perl6.fail . You'll need to setup a CLI password on RT (right panel): https://rt.perl.org/User/Prefs.html
19:43 lizmat joined #perl6-dev
19:47 Geth ¦ rakudo: dogbert17++ created pull request #1114: Add new file to spectest.data
19:47 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1114
20:15 Zoffix ZOFFLOP: t/spec/S32-io/open.t
20:15 Zoffix not really seeing much improvement to spectest run. First run was 153 secs :/
20:15 * Zoffix runs again
20:16 Zoffix m: say 153/111
20:16 camelia rakudo-moar e2ec7b: OUTPUT: «1.378378␤»
20:19 Zoffix open.t flops again. Something's seriously wrong with it
20:19 Zoffix Files=1261, Tests=161353, 151 wallclock secs (24.44 usr  4.16 sys + 2998.90 cusr 218.36 csys = 3245.86 CPU)
20:19 Zoffix ZOFVM: Files=1261, Tests=161353, 151 wallclock secs (24.44 usr  4.16 sys + 2998.90 cusr 218.36 csys = 3245.86 CPU)
20:19 Zoffix And roast run is 37% slower than usual :/
20:19 Geth ¦ nqp: 61307bbed2 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
20:19 Geth ¦ nqp: Bump MoarVM
20:19 Geth ¦ nqp:
20:19 Geth ¦ nqp: MoarVM bump brought commits:
20:19 Geth ¦ nqp: https://github.com/MoarVM/MoarVM/compare/2017.06-86-g4b87b02...2017.06-91-g146c8fc
20:19 Geth ¦ nqp:
20:19 Geth ¦ nqp: 146c8fc Merge pull request #614 from lucasbuchala/typos1
20:19 Geth ¦ nqp: 1430b5a Decoder typos
20:19 Geth ¦ nqp: eea7fd9 Fix ctxcode op to not leak a NULL.
20:20 Zoffix Oh wait
20:20 Geth ¦ nqp: 198c72b Don't make string pointing into middle of buffer.
20:20 Geth ¦ nqp: e5f22fa Copy correct length in get_all_in_buffer.
20:20 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/61307bbed2
20:20 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-86-g4b87b02...2017.06-91-g146c8fc
20:20 Geth ¦ rakudo/nom: 8bd7216526 | (Zoffix Znet)++ | tools/build/NQP_REVISION
20:20 Geth ¦ rakudo/nom: Bump NQP
20:20 Geth ¦ rakudo/nom:
20:20 Geth ¦ rakudo/nom: NQP bump brought commits: https://github.com/perl6/nqp/compare/2017.06-58-g5e00f9b...2017.06-59-g61307bb
20:20 Geth ¦ rakudo/nom: 61307bb Bump MoarVM
20:20 Geth ¦ rakudo/nom:
20:20 Geth ¦ rakudo/nom: MoarVM bump brought commits:
20:20 Geth ¦ rakudo/nom: https://github.com/MoarVM/MoarVM/compare/2017.06-86-g4b87b02...2017.06-91-g146c8fc
20:20 Zoffix I think it's the thing like last time where it didn't build new moarvm while I'm bumping
20:20 Geth ¦ rakudo/nom: <…commit message has 6 more lines…>
20:20 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8bd7216526
20:20 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.06-58-g5e00f9b...2017.06-59-g61307bb
20:20 * Zoffix nukes everything and builds again
20:20 timotimo there was a rather severe performance problem recently
20:21 Zoffix Yeah and I thought jnthn++ fixed it
20:21 timotimo yup
20:21 timotimo but maybe you somehow ended up without that commit
20:21 Zoffix prolly
20:22 Ven joined #perl6-dev
20:27 dogbert17 bisect: my $a = 42; say $a =:= $a || $a.WHAT =:= $a.WHAT
20:27 bisectable6 dogbert17, Bisecting by output (old=2015.12 new=8bd7216) because on both starting points the exit code is 0
20:27 bisectable6 dogbert17, bisect log: https://gist.github.com/f113fbe424655bd70158231aaf496a46
20:27 bisectable6 dogbert17, (2017-01-31) https://github.com/rakudo/rakudo/commit/f8b3469439108fead043bab2bd27bde4bac50dca
20:29 samcv has changelog been finalized yes or no
20:29 timotimo unlikely
20:29 samcv ok let me take a look at it
20:31 samcv ok i just woke u. i'll grab some tea and then probably write up a few changelog entries to help out Zoffix and make sure they make it in the changelog
20:32 timotimo u so woke
20:32 samcv hardly
20:32 samcv woke up like 5 min ago
20:34 Zoffix nope, not it
20:35 Zoffix Fresh clone and build. Files=1248, Tests=161267, 150 wallclock secs (24.64 usr  4.08 sys + 3045.93 cusr 221.33 csys = 3295.98 CPU)
20:35 Zoffix And open.t flop
20:35 timotimo dang
20:36 Zoffix .tell jnthn FWIW, I bumped MoarVM then fresh clone and built everything and still getting 37% slower than usual roast runs.
20:36 yoleaux Zoffix: I'll pass your message to jnthn.
20:37 samcv 37% slower? how many test jobs?
20:37 ugexe `perl6 --ll-exception -e 'qwerty'` <- this started blowing up sometime after 2017.06
20:38 ugexe the --ll-exception bit is key though
20:38 Zoffix samcv: whatever usual jobs I use. 30 I think
20:38 samcv hmm i hadn't seen that when running tests yesterday at least
20:38 samcv but i only use 9 jobs
20:38 samcv er
20:39 samcv yeah 9
20:39 Zoffix .tell jnthn roast runs == stresstest (not spectest; not sure if that's similarly slower)
20:39 yoleaux Zoffix: I'll pass your message to jnthn.
20:39 Zoffix open.t seems to refuse to fail on its own
20:40 Ven_ joined #perl6-dev
20:40 samcv oh Zoffix i added more roast tests?
20:40 samcv but it shouldn't be that much slower
20:40 samcv nfc-*.t will take about twice as long per test
20:41 Zoffix how long is that?
20:41 samcv but still shouldn't make all tests run take 30% longer
20:42 samcv let me see
20:42 Zoffix m: say 153-111
20:42 camelia rakudo-moar 8bd721: OUTPUT: «42␤»
20:42 Zoffix It got slower by ~42 secs
20:44 samcv wow took me 1:44 to run just those tests. that's slow.
20:44 samcv there's only 9 tests
20:45 samcv nine nfc-1.t to nfc-9.t
20:46 samcv let me time before
20:47 Geth ¦ roast: 250116b88f | (Zoffix Znet)++ | S32-io/open.t
20:47 Geth ¦ roast: Fix unhandled Failure in DESTROY spammage
20:47 Geth ¦ roast:
20:47 Geth ¦ roast: use proper test routine to test for failures
20:47 Geth ¦ roast: review: https://github.com/perl6/roast/commit/250116b88f
20:48 Zoffix wow these tests are pretty slow
20:48 samcv yeah.
20:49 samcv somehow i tried to make them faster and i think i ended up with them slower
20:49 samcv but i was planning on making them faster, so just ignore roast being slower than normal :|
20:50 samcv well i added more tests *then* they were slow then tried to make them faster which i think actually made them even slower. but they were important to add due to some of the concat changes i made to be extra careful
20:51 Geth ¦ rakudo/nom: b3f679bbc8 | (Zoffix Znet)++ | t/spectest.data
20:51 Geth ¦ rakudo/nom: Mark slow nfc tests as slow
20:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3f679bbc8
20:53 Zoffix ha yeah it's the ttests
20:53 Zoffix .tell jnthn false alarm. Turns out it was the nfc tests
20:53 yoleaux Zoffix: I'll pass your message to jnthn.
20:54 Zoffix nfc-1.t took 10s to run a month ago now runs in 52s :)
20:55 * Zoffix starts a HEAD + 2017.06 toast run
21:00 Zoffix Those slow markers did jack all. Oh well, 150 is the new 111 :)
21:00 samcv heh
21:02 lizmat Zoffix: doesn't slow only work on non-stress test files ?
21:06 Zoffix based on brief gander at harness5 code, no, looks to run all the time
21:06 Zoffix But I'm guessing it's one test file takes 150s to run
21:07 Geth ¦ rakudo/nom: d3ebc60957 | (Zoffix Znet)++ | t/spectest.data
21:07 Geth ¦ rakudo/nom: Revert "Mark slow nfc tests as slow"
21:07 Geth ¦ rakudo/nom:
21:07 Geth ¦ rakudo/nom: This reverts commit b3f679bbc8e3167f0bf6b35f707348e244ec0ba2.
21:07 Geth ¦ rakudo/nom: cause it didn't do anything useful
21:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d3ebc60957
21:08 Zoffix flopping open test is ''.open with "-" as path can open closed $*IN/$*OUT''
21:09 Geth ¦ rakudo/nom: e9f891b8e1 | (Samantha McVey)++ | t/spectest.data
21:09 Geth ¦ rakudo/nom: Add S15-nfg/concat-stable.t to spectest.data
21:09 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e9f891b8e1
21:23 samcv question. should `exit 'foo'` fail converting to a number or should it fail binding. or should it just return 1
21:23 samcv m: exit 'foo'
21:23 camelia rakudo-moar d3ebc6: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Failure␤  in block <unit> at <tmp> line 1␤␤»
21:30 Geth ¦ rakudo/nom: 0603cd917b | (Jan-Olof Hendig)++ | t/spectest.data
21:30 Geth ¦ rakudo/nom: Add new file to spectest.data
21:30 Geth ¦ rakudo/nom:
21:30 Geth ¦ rakudo/nom: So far it only contains a test for  RT #130883
21:30 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0603cd917b
21:30 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130883
21:30 Geth ¦ rakudo/nom: f0f8bdb338 | lizmat++ (committed using GitHub Web editor) | t/spectest.data
21:30 Geth ¦ rakudo/nom: Merge pull request #1114 from dogbert17/add-new-spectest-file
21:30 Geth ¦ rakudo/nom:
21:30 Geth ¦ rakudo/nom: Add new file to spectest.data
21:30 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0f8bdb338
21:31 * Zoffix would have it take an Int(Cool)
21:32 * lizmat was just testing that
21:34 lizmat hmmm... maybe Int(Any) would be better
21:34 Zoffix ZOFFLOP: t/spec/S11-modules/require.t
21:36 Zoffix narrowed down open.t failure to ok 72 - can use unopened handle with path '-'.IO
21:37 Zoffix Seems to always fail when `make stresstest`ing, but never when by itself, or by even using the makestresstest command with just that one test file :/
21:50 Geth ¦ roast: 4fd599390c | (Elizabeth Mattijsen)++ | 2 files
21:50 Geth ¦ roast: Remove superfluous and incomplete [(+)] tests
21:50 Geth ¦ roast:
21:50 Geth ¦ roast: - superfluous because now tested in set_addition.t
21:50 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
21:50 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4fd599390c
21:51 ugexe :path('-'.IO) the .IO pointless there yeah?
21:52 AlexDaniel Zoffix: it's alex.jakimenko@gmail.com
21:54 Geth ¦ roast: 332c6f618b | (Elizabeth Mattijsen)++ | 2 files
21:54 Geth ¦ roast: Remove superfluous and incomplete [(.)] tests
21:54 Geth ¦ roast:
21:54 Geth ¦ roast: - superfluous because now tested in set_multiply.t
21:54 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
21:54 Geth ¦ roast: review: https://github.com/perl6/roast/commit/332c6f618b
21:54 AlexDaniel w… what… did it just trim my password to 39 characters…
21:55 AlexDaniel hm, it didn't…
21:56 AlexDaniel ok, CLI password set :)
21:56 ugexe https://github.com/rakudo/rakudo/commit/1a4d94930c581e915a2351049e8ee12246c4c26c # this broke --ll-exception for `perl6 --ll-exception -e 'x'`
21:57 Zoffix AlexDaniel: ok, you should be able to login on perl6.fail with that login and your CLI password and get the manager interface that lets you mark tickets and review commits http://i.imgur.com/mHK2iRW.png
21:58 Geth ¦ roast: 97c593b793 | (Elizabeth Mattijsen)++ | 3 files
21:58 Geth ¦ roast: Remove superfluous and incomplete [(^)] tests
21:58 Geth ¦ roast:
21:58 Geth ¦ roast: - superfluous because now tested in set_symmetric_difference.t
21:58 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
21:58 Geth ¦ roast: review: https://github.com/perl6/roast/commit/97c593b793
21:58 ugexe m: THROW-NIL(256)
21:58 camelia rakudo-moar f0f8bd: OUTPUT: «chars requires a concrete string, but got null␤␤»
21:58 AlexDaniel Zoffix: looks like it worked
21:58 ugexe because there is no message in the exception
21:59 lizmat could that be the result of the patch making backtraces lazy?
22:00 Zoffix ugexe: not really. `:path` is supposed to be IO::Path or IO::Special.
22:01 ugexe the commit says its to only create Exception messages when gisting
22:01 ugexe THROW/THROW-NIL look like they are for control flow. but warn is also control flow.
22:02 Ven joined #perl6-dev
22:03 Geth ¦ roast: 00c3e4c5db | (Elizabeth Mattijsen)++ | S03-operators/set.t
22:03 Geth ¦ roast: Remove superfluous and incomplete [(&)] tests
22:03 Geth ¦ roast:
22:03 Geth ¦ roast: - superfluous because now tested in set_intersection.t
22:03 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
22:03 Geth ¦ roast: review: https://github.com/perl6/roast/commit/00c3e4c5db
22:04 Zoffix k, the open failure gives `Reading from filehandle failed: Bad file descriptor`
22:04 Zoffix in the err output of the is_run test
22:05 Geth ¦ roast: 8969571205 | (Elizabeth Mattijsen)++ | S03-operators/set.t
22:05 Geth ¦ roast: Remove superfluous and incomplete [(|)] tests
22:05 Geth ¦ roast:
22:05 Geth ¦ roast: - superfluous because now tested in set_union.t
22:05 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
22:05 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8969571205
22:07 Zoffix Oh, finally! found a way to repro it outside the make spectest :)
22:07 * Zoffix digs in
22:10 Geth ¦ rakudo/nom: caa9ef8138 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm
22:10 Geth ¦ rakudo/nom: Let exit take anything that can be coerced to an Int
22:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/caa9ef8138
22:10 Geth ¦ rakudo/nom: 3aa31aa5ce | (Elizabeth Mattijsen)++ | t/spectest.data
22:10 Geth ¦ rakudo/nom: Remove S03-operators/set.t
22:10 Geth ¦ rakudo/nom:
22:10 Geth ¦ rakudo/nom: The final 2 tests were moved to S02-types/set.t.  All other tests
22:10 Geth ¦ rakudo/nom: have been moved to S03-operators/set_*.t
22:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3aa31aa5ce
22:11 Geth ¦ roast: e4dec916d8 | (Elizabeth Mattijsen)++ | 2 files
22:11 Geth ¦ roast: This is the end, my friend
22:11 Geth ¦ roast:
22:11 Geth ¦ roast: - final 2 tests moved to S02-types/set.t
22:11 Geth ¦ roast: review: https://github.com/perl6/roast/commit/e4dec916d8
22:11 ugexe m: my $*ERR := class :: { method print(|) { }; }.new; warn(666); # this broke between .05 and .06
22:11 camelia rakudo-moar f0f8bd: OUTPUT: «Cannot resolve caller say(<anon|60722096>: Str); none of these signatures match:␤    (Mu $: *%_)␤␤»
22:12 lizmat sigh  :-(
22:12 ugexe I tried changing the $err.say in Perl6/Optimizer to $err.print but that wasn't it i guess
22:16 lizmat could be print but it would need an extra "\n" at the end then ?
22:18 jnthn I'm not sure it's reasonable to expcet you can just replace $*ERR with something that only handles print; say is a perfectly fine thing to call on a handle.
22:18 jnthn So I'd argue it was just getting lucky before
22:19 timotimo hmm, when we derive from an io handle like that and just re-implement write-internal or such, that won't help because it's a private method
22:19 jnthn It'll be probably a change in print_control in Exception.pm that'll have done it though
22:19 jnthn timotimo: write-interanl ain't a private, it's actually there to be overridden
22:20 jnthn Like IO::Pipe does
22:20 Zoffix It needs a better name thio
22:20 jnthn We can bikeshed it if we have to
22:20 timotimo ooooh
22:21 timotimo that's the perfect way to be wrong about something
22:21 jnthn But I like that it's "the thing that actually does a write"
22:21 Zoffix jnthn: way ahead of you :) https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md#spec-iohandles-write-internal-read-internal-eof-internal
22:21 Zoffix Yeah, but "-internal" suggests it's something people aren't supposed to touch, like Rakudo::Internal
22:22 jnthn SOURCE doesn't mean anything to me
22:22 jnthn Source what? Source code?
22:22 Zoffix source of data :)
22:22 jnthn If we're going the uppercase route, jsut do READ, WRITE, and EOF :)
22:23 Zoffix jnthn: then it creates ambiguity with .read, .write, and .eof anywhere where you're not writing/reading text (e.g. presentation or talking to a coworker)
22:23 timotimo override-this-for-read, override-this-for-write, override-this-for-eof
22:23 timotimo read-impl, write-impl, eof-impl
22:23 Zoffix .__read__ .__write__ .__eof__ :)
22:23 jnthn Zoffix: True. -SOURCE is worse than -internal though :P
22:24 jnthn But the uppercase does convey the "it's called for you"
22:24 Zoffix +1 on -impl, but I'd prefer them to be uppercased to differentiate from all the normal methods consumers of the object would normally use
22:24 Zoffix jnthn: I'm not attached to the -SOURCE. It can be anything else :)
22:24 jnthn impl ain't bad except it's an abbrev
22:24 timotimo and "implementation" is looooong
22:24 timotimo long impl is long
22:25 Zoffix i12n :)
22:25 jnthn :P
22:25 jnthn It'd be kinda nice if we could pull the various methods that are implemented in terms of these 3 into a role
22:25 Geth ¦ roast: 03c0d2ebac | (Elizabeth Mattijsen)++ | S03-operators/set_precedes.t
22:25 Geth ¦ roast: Move all (<+) and (>+) tests into a separate file
22:25 Geth ¦ roast:
22:25 Geth ¦ roast: Tests are copied verbatim as there will be no further development
22:25 Geth ¦ roast: of the (<+) and (>+) operators.
22:25 Geth ¦ roast: review: https://github.com/perl6/roast/commit/03c0d2ebac
22:25 jnthn And if IO::Socket could then do this role also
22:26 jnthn Since we've some dupe between that and IO::Handle
22:26 jnthn Not sure if that's entirely possible but should probably be
22:26 Zoffix Seems like something's busted with Proc/Proc::Async's $*IN plumbing
22:26 jnthn Then the role declares READ-IMPL as a requirement
22:27 jnthn Zoffix: The one that just plumbs descriptors together?
22:27 * jnthn added a bunch of tests for the Proc::Async case of that while implementing it
22:27 Geth ¦ rakudo/nom: 51cc2c8885 | (Elizabeth Mattijsen)++ | t/spectest.data
22:27 Geth ¦ rakudo/nom: Make sure we run the relocated (<+) and (>+) tests
22:27 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51cc2c8885
22:28 ugexe i guess I expected :path to be str since IO::Path.path is a string
22:28 Zoffix Well, unsure. Basically, I golfed the failed open test to $*IN = IO::Handle.new: :path('-'.IO); $*IN.open; $*IN.slurp(:close).say; And when it's run inside `is_run` (that uses Proc/Proc::Async) it dies with "Reading from filehandle failed: Bad file descriptor", but when I just do that code outside of is_run then it's fine
22:28 ugexe m: say IO::Handle.new(:path("")).open
22:28 camelia rakudo-moar f0f8bd: OUTPUT: «IO::Handle is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method new at src/RESTRICTED.setting line 32␤  in block <unit> at <tmp> line 1␤␤»
22:29 ugexe `No such method 'd' for invocant of type 'Str'`
22:29 Zoffix Damn. Lost the failure again. Back to ungolfing -_-
22:30 Zoffix Str -> IO::Path -> IO::Handle
22:30 Zoffix IO::Handle.new: path => IO::Path.new: path => Str
22:32 Geth ¦ roast: 281cb1111e | (Elizabeth Mattijsen)++ | 2 files
22:32 Geth ¦ roast: Remove tests relocated to set_precedes.t
22:32 Geth ¦ roast: review: https://github.com/perl6/roast/commit/281cb1111e
22:33 Zoffix Reminder that 6.c-errata tests currently use the same t/spectest.data, so if you delete a file in .data you're also deleting a bunch of 6.c-errata tests
22:35 Zoffix In the past we handled deletion with a dummy file ( S15-nfg/mass-chars.t ) kept in master
22:35 jnthn Time to rest. I'll do the MoarVM release when I get up tomorrow.
22:35 Zoffix And in the future all the versions will have their own t/spectest.data
22:35 ugexe maybe it should be typed as IO::Path, otherwise you have to deal with "".IO explosions after the fact
22:35 Zoffix IO::Special isn't IO::Path tho
22:35 ugexe ah dang
22:36 Zoffix they're both IO tho IIRC, so that's one option
22:37 Zoffix "The role provides no methods, but exists so that IO() coercers, which coerce to IO::Path, correctly type-check the resultant value. The role is done by IO::Path and IO::Special."
22:37 Zoffix Yeah, actually, IO constraint is a perfect fit
22:38 Geth ¦ roast: 596b278f84 | (Elizabeth Mattijsen)++ | S03-operators/mix.t
22:38 Geth ¦ roast: Remove superfluous and incomplete [(<)] tests
22:38 Geth ¦ roast:
22:38 Geth ¦ roast: - superfluous because now tested in set_proper_subset.t
22:38 Geth ¦ roast: - flaky because only tested with 'is', rather than with 'is-deeply'
22:38 Geth ¦ roast: review: https://github.com/perl6/roast/commit/596b278f84
22:45 Geth ¦ rakudo/nom: a432ac333d | (Elizabeth Mattijsen)++ | t/spectest.data
22:45 Geth ¦ rakudo/nom: This is the end, my friend.
22:45 Geth ¦ rakudo/nom:
22:45 Geth ¦ rakudo/nom: All tests of importance have been moved to S03-operators/set_*.t
22:45 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a432ac333d
22:46 Geth ¦ roast: 70dd11c551 | (Elizabeth Mattijsen)++ | 2 files
22:46 Geth ¦ roast: Remove final bogus tests for bags and mixes
22:46 Geth ¦ roast:
22:46 Geth ¦ roast: The referenced ticket RT #122810 was from a time when you could actually
22:46 Geth ¦ roast: try to build a bag from a lazy Iterable.  So whatever we were testing
22:46 Geth ¦ roast: before, it wasn't getting tested now, as it only generated Failures.
22:46 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122810
22:46 Geth ¦ roast: Since the test was really only a "lives_ok" test, and it kept living
22:46 Geth ¦ roast: for the wrong reason, I think it is safe to remove the test.
22:46 Geth ¦ roast:
22:46 Geth ¦ roast: I have no idea how to actually test for a regression of #RT 122810.
22:46 Geth ¦ roast: If a test can be devised, it should live in S02-types/(bag|mix).t .
22:46 Geth ¦ roast: review: https://github.com/perl6/roast/commit/70dd11c551
22:50 lizmat Zoffix: I think this concludes my hacking on rakudo / roast before the release
22:50 Zoffix cool
22:50 lizmat will focus on documenting set operators tomorrow
22:50 Zoffix I think I'm gonna call it a day too. And will resume hunting this open.t bug tomorrow :/
22:50 timotimo Zoffix: could it be the depends section of tardigrade is kinda wrong? i see it uses HTTP::Server::Tiny but that's only in the test-depends section
22:52 Zoffix timotimo: fixed. Thanks
22:52 lizmat good night, #perl6-dev!
22:52 Zoffix night
22:58 timotimo nite lizmat
22:59 timotimo Zoffix: from the readme or the sample app i have a hard time figuring out if i want to use tardigrade for my trivial web app
22:59 Zoffix timotimo: you don't. It's un unreleased, pre-alpha-wear
22:59 Zoffix Where'd you even hear of it? :)
23:00 timotimo oh, ok
23:00 timotimo you talked about it on channel :D
23:00 Zoffix This is getting weirder and weierder. This code has "Reading from filehandle failed: Bad file descriptor" error: https://gist.github.com/zoffixznet/1f3acbcde375d36ce1105fef018dd05b
23:00 Zoffix But if I de-dent the entire `is_run` to be at the same indent as the rest of the code, then it dissapears :|
23:01 Zoffix And it only fails when I run `make stresstest` and not even the command make stresstest runs
23:02 timotimo when you dedent, the code is shorter
23:02 timotimo that must be it!
23:02 Zoffix What about make stresstest vs. just using the command? https://gist.github.com/zoffixznet/0e6c85eaea2b6261d770f207da2b1ee2
23:03 Zoffix It's about the last line of the code given to is_run apparently :/ if I move the closing bracket to start of line or end of previous line, no error :|
23:04 Zoffix Actually no: if it's at start of line, no error, but other cases == error :|
23:04 timotimo say what? that's *weird*. can you diff the output of --target=ast or parse or optimize?
23:05 Zoffix Not sure how. I can't repro it from anything but `make spectest`
23:05 Zoffix I trimmed my t/spectest.data to just be one file with that code
23:05 * geekosaur is confused by that code; how does it know the first one has to be readable and the second writable? and/or is that only expected to work if not redirected?
23:05 Zoffix First one what?
23:05 Zoffix There's missing .open calls
23:06 timotimo hm
23:06 timotimo can you try running it in a situation where your in and out aren't a TTY?
23:06 Zoffix but even if I add them, the issue is still there
23:06 Zoffix timotimo: how to do that?
23:06 geekosaur I mean lines 9 and 10 which don't tell IO::Handle.new the modes needed
23:07 Zoffix geekosaur: https://gist.github.com/zoffixznet/b84cb09b2c559a6e69e5c262c99a30f6
23:07 Zoffix The modes are given via .open, not .new. The original tests are missing .open, but adding them doesn't fix the issue
23:07 timotimo hm, maybe it's enough to echo "" | the script | cat
23:07 geekosaur and if it's inferring it from '-'.IO then the behavior will differ per handle if either stdin or stdout is redirected, *or* IO::Special is not considering that possibility
23:08 timotimo though that will keep stderr bound to your tty
23:08 timotimo so you'd want to redirect that, too
23:08 geekosaur oh, ok
23:08 geekosaur timotimo, not clear stderr should affect either $*IN/$*OUT or '-'.IO
23:09 Zoffix oh, ./perl6 t/spec/S32-io/open.t does have the issue
23:09 timotimo well, if you throw out stderr, too, then there's absolutely no tty whatsoever
23:09 geekosaur aside from controlling tty on unixlikes
23:09 geekosaur but I still am not sure that should matter; what are you considering here?
23:13 Zoffix no error;   change `$*IN.slurp(:close);` to `$ = $*IN.slurp(:close);` error :|
23:13 Zoffix just can't pinpoint it :/
23:14 timotimo in what way does it fail btw?
23:15 Zoffix "Reading from filehandle failed: Bad file descriptor"
23:15 timotimo oh, you already said that
23:15 timotimo can you get an strace of it? maybe we can see how the file descriptor gets treated before the error
23:15 geekosaur s: IO::Handle, 'close'
23:15 SourceBaby geekosaur, Sauce is at https://github.com/rakudo/rakudo/blob/3aa31aa/src/core/IO/Handle.pm#L200
23:15 geekosaur er, that was not what I wanted
23:16 Zoffix "Reading from filehandle failed: Bad file descriptor\n   at SETTING::src/core/IO/Handle.pm:221  (./CORE.setting.moarvm:read-internal)\n from SETTING::src/core/IO/Handle.pm:659  (./CORE.setting.moarvm:slurp-all-chars"
23:16 geekosaur but (naturally) that's the first time I've not errors on the first attempt to use that bot :p
23:16 timotimo \o/
23:18 Zoffix Changing `$w.put: 'meow  w';` to `$w.put: 'meow w';` make it not fail
23:19 geekosaur also would be helpful: not being half asleep (despite only waking up 2 hours ago)
23:19 geekosaur right, local notwork too messed up to update local git. figures :/
23:20 Zoffix Now I managed to get rid of the `$ = ` before slurp and still make it fail, by having a specific number of `#` after the line.
23:20 Zoffix Something's busted with strings somewhere?
23:20 geekosaur . . .
23:21 Zoffix Need to pick out Test::Util::is_run's guts and dig through them a bit
23:21 samcv Zoffix, i updated MoarVM changelog so if you are making the announce you might want to pull from some of the stuff i added there. i grouped all the unicode things
23:21 samcv i'm gonna take a short nap
23:22 Zoffix fucking hell... The ONE TIME when I actually need INSERT do delete the chars as I type, it refuses to work.
23:22 Zoffix Yet I'd accidentally hit it and erase text by mistake a billion times before :(
23:22 samcv +
23:23 samcv oops
23:24 Zoffix FWIW this is the code: https://gist.github.com/zoffixznet/36aa9af3a70d277f3000d9d39ba8afc6
23:24 Zoffix And I run it with:    echo "x" | ./perl6 t/spec/S32-io/open.t
23:25 Zoffix And in oputput I get "#      got err: "Reading from filehandle failed: Bad file descriptor\n   at SETTING::src/core/IO/Handle.pm:221
23:31 Geth ¦ rakudo/io-handle-path-coerce: fec909569f | (Nick Logan)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
23:31 Geth ¦ rakudo/io-handle-path-coerce: Coerce IO::Handle :path to IO
23:31 Geth ¦ rakudo/io-handle-path-coerce: review: https://github.com/rakudo/rakudo/commit/fec909569f
23:31 Geth ¦ rakudo: ugexe++ created pull request #1115: Coerce IO::Handle :path to IO
23:31 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1115
23:33 ugexe hmm 1a4d949 hides the exception message of *all* exceptions during --ll-exception
23:37 Zoffix wonder why we have the `= Nil` for handle's path
23:38 ugexe m: foo(IO () :$x) { say 1 }; foo()
23:38 camelia rakudo-moar a432ac: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3foo(IO7⏏5 () :$x) { say 1 }; foo()␤    expecting any of:␤        infix␤        infix stopper␤»
23:38 Zoffix .oO( shouldn't $.path be required )
23:38 ugexe m: sub foo(IO () :$x) { say 1 }; foo()
23:38 camelia rakudo-moar a432ac: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Can only use the : invocant marker in the signature for a method␤at <tmp>:1␤------> 3sub foo(IO () :$x7⏏5) { say 1 }; foo()␤    expecting any of:␤        constraint␤»
23:38 ugexe m: sub foo(IO() :$x) { say 1 }; foo()
23:38 camelia rakudo-moar a432ac: OUTPUT: «No such method 'IO' for invocant of type 'Any'␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
23:38 ugexe m: sub foo(IO() :$x = Nil) { say 1 }; foo()
23:38 camelia rakudo-moar a432ac: OUTPUT: «1␤»
23:38 Zoffix Oh, you added it now
23:38 Zoffix Right. Too tired to read the diff :)
23:40 Zoffix m: class Foo { has $.a is required; submethod TWEAK (:$!a) {} }.new
23:40 camelia rakudo-moar a432ac: OUTPUT: «The attribute '$!a' is required, but you did not provide a value for it.␤  in block <unit> at <tmp> line 1␤␤»
23:40 Zoffix m: class Foo { has $.a is required; submethod TWEAK (IO() :$!a) {} }.new
23:41 camelia rakudo-moar a432ac: OUTPUT: «The attribute '$!a' is required, but you did not provide a value for it.␤  in block <unit> at <tmp> line 1␤␤»
23:41 Zoffix Ah, now I know why
23:41 Zoffix 'cause of IO::Pipe
23:41 Geth ¦ rakudo/nom: fec909569f | (Nick Logan)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
23:41 Geth ¦ rakudo/nom: Coerce IO::Handle :path to IO
23:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fec909569f
23:41 Geth ¦ rakudo/nom: 23ad2c3880 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
23:41 Geth ¦ rakudo/nom: Merge pull request #1115 from rakudo/io-handle-path-coerce
23:41 Geth ¦ rakudo/nom:
23:41 Geth ¦ rakudo/nom: Coerce IO::Handle :path to IO
23:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/23ad2c3880
23:44 Zoffix buggable: toast
23:44 buggable Zoffix, Between 2017.06-241-gb3f679b and 2017.06: 13 (1.56%) modules got burnt; 14 (1.68%) got unsucced; 203 (24.37%) out of 833 modules appear unusable. See https://toast.perl6.party/ for details.
23:48 Zoffix Excluding false Succs, there are two burns:
23:48 Zoffix https://toast.perl6.party/module?module=DBI::Async&amp;commit=2017.06-241-gb3f679b
23:48 Zoffix https://toast.perl6.party/module?module=SOAP::Client&amp;commit=2017.06-241-gb3f679b
23:48 ugexe soap::client is the lwp::simple bug
23:48 Zoffix Yeah, which itself got installed fine, strangely
23:49 * Zoffix calls it a day
23:50 ugexe yea, cause its chunked encoder is likely broke
23:51 ugexe so if it works or not is based on if you get lucky chunk-size wise

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