Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
01:05 tomboy64 joined #perl6-dev
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:30 TimToady joined #perl6-dev
02:47 BenGoldberg joined #perl6-dev
03:18 BenGoldberg joined #perl6-dev
03:19 Ben_Goldberg joined #perl6-dev
04:51 Geth ¦ nqp/uncurse: 1708955631 | TimToady++ | src/QRegex/Cursor.nqp
04:51 Geth ¦ nqp/uncurse: make false match stringify to ''
04:51 Geth ¦ nqp/uncurse:
04:51 Geth ¦ nqp/uncurse: (rather than blowing up mysteriously with a negative length)
04:51 Geth ¦ nqp/uncurse: review: https://github.com/perl6/nqp/commit/1708955631
04:51 Geth ¦ nqp/uncurse: 98d2333913 | TimToady++ | src/QRegex/Cursor.nqp
04:51 Geth ¦ nqp/uncurse: Match.Int should return, like, an int
04:51 Geth ¦ nqp/uncurse:
04:51 Geth ¦ nqp/uncurse: The fact that it was returning a num was confusing rakudo.
04:51 Geth ¦ nqp/uncurse: review: https://github.com/perl6/nqp/commit/98d2333913
05:22 stmuk_ joined #perl6-dev
05:55 RabidGravy joined #perl6-dev
06:17 [Tux] This is Rakudo version 2017.03-232-gfbc6697da built on MoarVM version 2017.03-128-gc9ab59c6
06:17 [Tux] csv-ip5xs        3.096
06:17 [Tux] test            12.455
06:17 [Tux] test-t           5.018 - 5.089
06:17 [Tux] csv-parser      12.675
06:20 [Tux] Doing some utf8-c8 tests again, I hit:
06:20 [Tux] Error encoding UTF-8 string: could not encode codepoint 1314420 (0x140E74), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF)
06:20 [Tux] in block <unit> at 88.t line 21
06:24 samcv yeah that codeponit is out of bounds. but. not sure how it relates to utf8-c8
06:25 samcv uhm the error message was changed recently though. but it shouldn't trigger in any *new* locations [Tux]
06:25 samcv can you show me the code?
06:26 samcv i updated the error to give specific reasons why encoding failed, one is for unicode surrogates, one is for too high codepoints, maybe another one but those two i remember. the utf8-c8 code can still trigger the error message generation, but it should theoretically not be triggered with utf8-c8 unless something went wrong
06:28 samcv but you can create Str objects with codepoints higher than the UTF-8 allowable limit. and then it will throw when you try and print it to the screen or file etc etc
06:28 [Tux] samcv, http://www.xs4all.nl/~hmbrand/88.t
06:28 [Tux] just run it till it crashes
06:28 samcv i got no crashes
06:28 samcv you mean just on repeat?
06:29 [Tux] FWIW, this used to fail every run, but jnthn's work made it a lot more stable
06:29 samcv ah k
06:29 [Tux] yep, repeat and repeat
06:29 samcv actcually what could be fun
06:29 [Tux] it is random
06:29 samcv generate a coverage report based on thi sfile
06:30 samcv oh
06:30 samcv why is it 256.rand
06:30 samcv it should be 255 i would think
06:30 [Tux] to get *bytes*
06:31 [Tux] 0..255
06:31 samcv so 256.rand will never give 256?
06:31 [Tux] not that I am aware
06:31 [Tux] but it is an interesting question to ask
06:32 samcv let me test it out
06:32 samcv yes it can
06:32 samcv m:  for ^100000 { die if 256.Int.rand > 255 }
06:32 camelia rakudo-moar fbc669: OUTPUT: «Died␤  in block <unit> at <tmp> line 1␤␤»
06:33 samcv so it is as i suspected it would happen. try again with 255.Int
06:33 samcv maybe we need bounds checking on the Buf code or something?
06:34 samcv m: say  Buf.new(256)
06:34 camelia rakudo-moar fbc669: OUTPUT: «Buf:0x<00>␤»
06:34 [Tux] Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55555 (0xD903)
06:34 [Tux] in block <unit> at 88.t line 21
06:34 samcv hmm it says 00... but. idk if i believe it
06:34 samcv ok. so still an issue then
06:35 Geth ¦ rakudo/uncurse: 74a55548cc | TimToady++ | src/core/Match.pm
06:35 Geth ¦ rakudo/uncurse: bulletproof Match more; Capture does own BUILD
06:35 Geth ¦ rakudo/uncurse: review: https://github.com/rakudo/rakudo/commit/74a55548cc
06:35 Geth ¦ rakudo/uncurse: cbae90c6f9 | TimToady++ | src/core/Match.pm
06:35 Geth ¦ rakudo/uncurse: submatches come from target, not orig
06:35 Geth ¦ rakudo/uncurse: review: https://github.com/rakudo/rakudo/commit/cbae90c6f9
06:35 Geth ¦ rakudo/uncurse: 3487674be9 | TimToady++ | src/core/IO/Path.pm
06:35 Geth ¦ rakudo/uncurse: enforce Bool type on $!is-absolute setting
06:35 Geth ¦ rakudo/uncurse:
06:35 Geth ¦ rakudo/uncurse: Something's sneaking through as Int and giving the assignment heartburn.
06:35 Geth ¦ rakudo/uncurse: review: https://github.com/rakudo/rakudo/commit/3487674be9
06:40 samcv gonna try setting a breakpoint on MVM_string_utf8_throw_encoding_exception
06:45 samcv not sure but jnthn might be interesting in what's happening here and know better
07:35 astj_ joined #perl6-dev
08:00 astj joined #perl6-dev
08:09 lizmat Files=1189, Tests=56678, 203 wallclock secs (12.19 usr  4.72 sys + 1193.55 cusr 117.24 csys = 1327.70 CPU)
08:10 [TuxCM] joined #perl6-dev
08:28 astj_ joined #perl6-dev
09:06 synopsebot6 joined #perl6-dev
09:07 Undercover joined #perl6-dev
09:08 SourceBaby joined #perl6-dev
09:25 astj joined #perl6-dev
09:34 [TuxCM] joined #perl6-dev
11:56 [TuxCM] joined #perl6-dev
12:12 nine I wonder why nqp::p6bindattrinvres is an extension op. It doesn't seem to be all that Perl 6 specific.
12:12 jnthn It's not even an op at VM level, just a desugar
12:12 lizmat it has a p6 prefix :-)
12:13 jnthn Maybe that's not quite true on JVM
12:31 Zoffix c: 2017.03 use Test; like "f\nbar\nber", /\N+/
12:31 committable6 Zoffix, ¦2017.03: «ok 1 - »
12:31 Zoffix wtf?
12:31 Zoffix star: use Test; like "f\nbar\nber", /\N+/
12:31 camelia star-m 2016.10: OUTPUT: «ok 1 - ␤»
12:32 Zoffix Oh
12:32 Zoffix Never mind.
12:32 * Zoffix makes another bucket of coffee
13:02 Zoffix c: 2017.03,HEAD class { has uint $.x }.new: :x(2**64-1)
13:02 committable6 Zoffix, ¦2017.03: «» ¦HEAD(fbc6697): «Cannot unbox 64 bit wide bigint into native integer␤  in block <unit> at /tmp/EY1TW4ElM7 line 1␤ «exit code = 1»»
13:02 Zoffix That's got broken innit? 2*64-1 fits into uint?
13:03 Zoffix m: uint.Range.max.say
13:03 camelia rakudo-moar fbc669: OUTPUT: «18446744073709551615␤»
13:03 Zoffix m: say 2**64-1
13:03 camelia rakudo-moar fbc669: OUTPUT: «18446744073709551615␤»
13:09 nine Maybe, I really should just give up and live with us always loading CompUnit::Repository::Staging. It is after all just one more dependency, loaded once per program run.
13:09 * Zoffix feels a dejavu
13:10 Zoffix Ah: https://irclog.perlgeek.de/perl6-dev/2017-03-26#i_14325179
13:10 nine yep
13:11 nine I didn't want to give up because Staging is also a prototype for any custom repo implementation. They will all face these issues.
13:12 nine If I give up on this, it'll mean that precompiled modules are linked against the custom repos that were in the chain at installation time. Even if at runtime they'd be completely unnecessary.
13:13 nine But having sunk so many hours in this, I know that the issues are caused by the compile time EVAL in PrecompilationUnit, but I do not have the slightest idea on how to fix them. I don't have a clue how it adds the reference to the precomp file.
13:19 nine Also I just hate giving up :)
13:21 Zoffix :)
13:29 ugjka joined #perl6-dev
13:34 * [Coke] thanks zofbot for finally forcing him to figure out how to ignore someone on irc.
13:36 Zoffix :D
13:36 Zoffix That's discrimination against AI!
13:37 Zoffix ZofBot: no wonder you guys want to kill all humans!
13:37 ZofBot Zoffix, Above that, the repeating group will return '???'
13:42 MasterDuke Zoffix: any great ideas for a new exception name?
13:43 Zoffix Nope
13:43 MasterDuke X::Parameter::OptionalCan'tBeRW
13:43 MasterDuke X::Parameter::RW::Can'tBeOptional
13:43 Zoffix Apostrophe in name will cause a riot :)
13:44 Zoffix ::OptionalRW
13:46 MasterDuke yeah, i guess since it's already an exception we know there's a problem, and the message will explain it
13:47 [Coke] can't be optional == mandatory?
13:48 MasterDuke m: sub a($b? is rw) {}
13:48 camelia rakudo-moar fbc669: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Cannot use 'is rw' on an optional parameter␤at <tmp>:1␤»
13:49 MasterDuke [Coke]: ^^^ that's the error i'm trying to create an exception for
13:49 MasterDuke ::OnlyMandatoryParametersCanBeRW
13:54 MasterDuke ::OnlyRequiredParametersCanBeRW  # i think required is the word we usually use
13:54 Zoffix m: dd chars 'X::Parameter::::OnlyRequiredParametersCanBeRW'
13:54 camelia rakudo-moar fbc669: OUTPUT: «45␤»
13:57 MasterDuke i don't really have anything better than X::Parameter::OptionalRW that isn't crazy long. unless whoever creates the longest exception name wins...
13:58 Zoffix :)
13:58 Geth ¦ rakudo/nom: fd26e6e874 | (Zoffix Znet)++ | docs/ChangeLog
13:58 Geth ¦ rakudo/nom: Log all changes to date
13:58 Geth ¦ rakudo/nom:
13:58 Geth ¦ rakudo/nom: Documents commits:
13:58 Geth ¦ rakudo/nom: 0111f10 027aa54 03ef4be 064b585 0672082 08a9735 093bb89 099512b 0c62815
13:58 Geth ¦ rakudo/nom: 0c7e4a0 0c8bef5 0f9f000 0fc3751 10fe02a 1132b1a 1277fb5 1471527 14b6d5f
13:58 Geth ¦ rakudo/nom: 15a25da 167a0ed 16f950b 184d499 188b7b1 189615c 1b34ea6 1b9d53c 1bacc61
13:58 Geth ¦ rakudo/nom: 1ebeeb3 1fea495 213a72c 218f8c4 224e40f 2483d68 2731087 27f5469 2d8ac1e
13:58 Geth ¦ rakudo/nom: <…commit message has 13 more lines…>
13:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd26e6e874
13:58 Zoffix ????????????????????????????????????????????????????????????????????????✨✨✨????????????????????????????????????????????????????????????
13:58 Zoffix
13:58 Zoffix REMINDER: the next Rakudo release is happening this weekend. It may be
13:58 Zoffix delayed until Monday noon, EST time, instead the usual Saturday time.
13:58 Zoffix
13:58 Zoffix Please check all your changes have been correctly entered into Changelog
13:58 Zoffix
13:58 Zoffix ????????????????????????????????????????????????????????????????????????✨✨✨????????????????????????????????????????????????????????????
14:01 Geth ¦ rakudo/nom: bb7478446d | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/ChangeLog
14:01 Geth ¦ rakudo/nom: Use longer hash part to avoid clash
14:01 Geth ¦ rakudo/nom:
14:01 Geth ¦ rakudo/nom: with another existing commit
14:01 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb7478446d
14:01 MasterDuke Zoffix++ for giant changelog
14:05 [Coke] I would make it more generic. what kind of thing is 'is rw' ?\
14:06 [Coke] trait? "InvalidTrait" seems fine.
14:06 [Coke] and then you can put the deets in the message.
14:06 MasterDuke [Coke]++
14:16 MasterDuke Zoffix: maybe it should just go in the MoarVM changelog, but `perl6 -e 'run(:out, "bash").out.t.say'` no longer SEGVs (i can't figure out which nqp bump brought that to see if it was already mentioned)
14:18 Zoffix I didn't mention it. Maybe missed it. What's the MoarVM commit that brought it?
14:18 Zoffix That fixed it
14:20 MasterDuke https://github.com/MoarVM/MoarVM/commit/5ee5dcc331d08fe3214a36f35098c07351100997
14:20 MasterDuke oh, that's the merge, actual fix was https://github.com/MoarVM/MoarVM/commit/d5621160ce7ed90541768765bcf8216b40feb358
14:23 MasterDuke Zoffix: can we use Geth from here to show all the commits a moar/nqp bump brought? E.g., `Geth: https://github.com/rakudo/rakudo/commit/d0924f1a287bd2966c1dec156d135f2447ca21da`
14:23 Zoffix Geth: ver https://github.com/rakudo/rakudo/commit/d0924f1a287bd2966c1dec156d135f2447ca21da
14:23 Geth Zoffix, version bump brought in these changes: https://github.com/perl6/nqp/compare/2017.03-59-gcfd1b9a4...2017.03-72-ga29b818
14:24 MasterDuke ah, thanks
14:25 Zoffix It's this one https://github.com/rakudo/rakudo/commit/3e275ddb74657ab67c60febefbd2c49464aac0ed
14:26 Geth ¦ rakudo/nom: ee462df3f5 | (Zoffix Znet)++ | docs/ChangeLog
14:26 Geth ¦ rakudo/nom: Log 3e275dd in changelog
14:26 Geth ¦ rakudo/nom:
14:26 Geth ¦ rakudo/nom: Fix for IO::Pipe.t
14:26 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee462df3f5
14:26 MasterDuke oh, can you give a moar/nqp commit and find out which version bump commit brought it in?
14:27 Zoffix Ah, nope
14:27 Zoffix I just looked at the date the commit went in and then looked on https://perl6.fail/release/stats (Commits tab) to find bumps around that date
14:28 robertle joined #perl6-dev
14:30 Zoffix Normally you can just use bisectable, but run() is restricted
14:31 MasterDuke ah, of course, that would usually work
14:50 Geth ¦ rakudo/nom: 6f87290b7a | (Zoffix Znet)++ | lib/Test.pm6
14:50 Geth ¦ rakudo/nom: Shorten default description of like/unlike
14:50 Geth ¦ rakudo/nom:
14:50 Geth ¦ rakudo/nom: This amends recent addition[^1] of default descriptions to like/unlike
14:50 Geth ¦ rakudo/nom: to remove the `$got` text, as it can be a huge chunk of text, making
14:50 Geth ¦ rakudo/nom: description a mile long.
14:50 Geth ¦ rakudo/nom:
14:50 Geth ¦ rakudo/nom: [1] https://github.com/rakudo/rakudo/commit/4b915f7f3faaed11d48393db129
14:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f87290b7a
15:05 AlexDaniel joined #perl6-dev
16:19 Geth ¦ nqp/uncurse: 341375da59 | TimToady++ | src/QRegex/Cursor.nqp
16:19 Geth ¦ nqp/uncurse: submatches come from target, not orig
16:19 Geth ¦ nqp/uncurse: review: https://github.com/perl6/nqp/commit/341375da59
16:41 Geth ¦ nqp/uncurse: 223eeb0666 | (Jonathan Worthington)++ | src/how/NQPClassHOW.nqp
16:41 Geth ¦ nqp/uncurse: Re-work --rxtrace to not trash the cache.
16:41 Geth ¦ nqp/uncurse:
16:41 Geth ¦ nqp/uncurse: Which, aside from not breaking a bunch of things in the parse when
16:41 Geth ¦ nqp/uncurse: using uncurse, will also make it a load faster.
16:41 Geth ¦ nqp/uncurse: review: https://github.com/perl6/nqp/commit/223eeb0666
16:47 Geth ¦ roast: 8841383bc6 | (Zoffix Znet)++ (committed using GitHub Web editor) | S19-command-line-options/06-dash-rxtrace.t
16:47 Geth ¦ roast: Add reminder to not include rxtrace.t in 6.d
16:47 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8841383bc6
16:50 Zoffix .ask nine there's lexical_require branch in roast. Should it be deleted? https://github.com/perl6/roast/tree/lexical_require
16:50 yoleaux Zoffix: I'll pass your message to nine.
16:56 [TuxCM] joined #perl6-dev
17:11 Geth ¦ nqp/uncurse: 10 commits pushed by (Samantha McVey)++, (Zoffix Znet)++, MasterDuke17++, TimToady++
17:11 Geth ¦ nqp/uncurse: review: https://github.com/perl6/nqp/compare/223eeb0666...f038a43890
17:12 Geth ¦ rakudo/uncurse: 12 commits pushed by (Zoffix Znet)++, usev6++, (Samantha McVey)++, TimToady++
17:12 Geth ¦ rakudo/uncurse: review: https://github.com/rakudo/rakudo/compare/3487674be9...394c3c85fa
18:21 Geth ¦ rakudo/nom: 8c09c84d64 | (Zoffix Znet)++ | src/core/IO/Path.pm
18:21 Geth ¦ rakudo/nom: [io grant] Fix symlink and link routines
18:21 Geth ¦ rakudo/nom:
18:21 Geth ¦ rakudo/nom: - The original IO Plan planned to reverse args to &symlink and &link,
18:21 Geth ¦ rakudo/nom:   however, they are actually correct. The mess up was in IO::Path
18:21 Geth ¦ rakudo/nom:   routines were the invocant was treated as the non-existent link.
18:21 Geth ¦ rakudo/nom:   With that fixed, issues in &symlink and &link get fixed, with no changes
18:21 Geth ¦ rakudo/nom:   to their code
18:21 Geth ¦ rakudo/nom: - Toss the business with :$CWD and take IO() argument as link name instead.
18:21 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c09c84d64
18:21 Geth ¦ roast: d4353b6d00 | (Zoffix Znet)++ | S16-filehandles/filetest.t
18:21 Geth ¦ roast: [io grant] Rewrite .l on broken symlinks test
18:21 Geth ¦ roast:
18:21 Geth ¦ roast: - de-confuse $target/$name nomenclature
18:21 Geth ¦ roast: - make work with IO grant changes to symlink
18:21 Geth ¦ roast: - Catch exceptions on Windows and skip test, as symlink creation
18:21 Geth ¦ roast:     on Windows cries for admin privs. This addresses the failures
18:21 Geth ¦ roast:     in this test file reported in #197 and #232
18:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d4353b6d00
18:33 Geth ¦ roast: 068951631d | (Zoffix Znet)++ | S16-filehandles/filetest.t
18:33 Geth ¦ roast: No need for manually touching the file
18:33 Geth ¦ roast: review: https://github.com/perl6/roast/commit/068951631d
18:57 Geth ¦ roast: 416b746ce9 | (Zoffix Znet)++ | S32-io/io-path-symlink.t
18:57 Geth ¦ roast: [io grant] Test symlink routines
18:57 Geth ¦ roast:
18:57 Geth ¦ roast: - The tests aren't numerous, but due to the special condition on
18:57 Geth ¦ roast:     Windows, it's easier to keep 'em in a separate file
18:57 Geth ¦ roast: review: https://github.com/perl6/roast/commit/416b746ce9
18:57 Geth ¦ rakudo/nom: ac371a4bf2 | (Zoffix Znet)++ | t/spectest.data
18:57 Geth ¦ rakudo/nom: Run S32-io/io-path-symlink.t test file
18:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac371a4bf2
18:58 Zoffix ugh
18:58 * Zoffix keeps making stupid mistakes
18:59 Zoffix And the tests I was *supposed* to actually write do catch a bug :|
18:59 stmuk joined #perl6-dev
19:06 Geth ¦ rakudo/nom: da1dea2ea0 | (Zoffix Znet)++ | src/core/io_operators.pm
19:06 Geth ¦ rakudo/nom: [io grant] Fix &symlink and &link
19:06 Geth ¦ rakudo/nom:
19:06 Geth ¦ rakudo/nom: - fail, not throw
19:06 Geth ¦ rakudo/nom: - don't (wrongly) mess with SPEC and CWD, just take IO() args
19:06 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da1dea2ea0
19:07 Geth ¦ roast: d3ec90719b | (Zoffix Znet)++ | S32-io/io-path-symlink.t
19:07 Geth ¦ roast: Use fails-like instead of throws-like
19:07 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d3ec90719b
19:13 Geth ¦ roast: 8fa49e10a4 | (Zoffix Znet)++ | S32-io/io-path.t
19:13 Geth ¦ roast: [io grant] Test `link` routines
19:13 Geth ¦ roast:
19:13 Geth ¦ roast: Rakudo impl:
19:13 Geth ¦ roast: https://github.com/rakudo/rakudo/commit/8c09c84d64
19:13 Geth ¦ roast: https://github.com/rakudo/rakudo/commit/da1dea2ea0
19:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8fa49e10a4
19:40 Geth ¦ rakudo/nom: 7f73f92a64 | (Zoffix Znet)++ | 4 files
19:40 Geth ¦ rakudo/nom: [io grant] Make IO::Path.new-from-absolute-path private
19:40 Geth ¦ rakudo/nom:
19:40 Geth ¦ rakudo/nom: This method exists only to offer a bit of a perf boost and it's
19:40 Geth ¦ rakudo/nom: very easy to misuse it and end up with exploitable code.
19:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f73f92a64
19:55 nine ~~
19:55 yoleaux 16:50Z <Zoffix> nine: there's lexical_require branch in roast. Should it be deleted? https://github.com/perl6/roast/tree/lexical_require
19:56 nine Zoffix: deleted the lexical_require branch along lexical_module_load, gmr and curli
19:56 Zoffix cool
20:25 Zoffix Was travis bot banned from #perl6 or something? It's still set to report there and I get emails about failures, but I see no travis bot saying anything in the logs
20:25 Zoffix moritz: or... was the travis bot banned from the chat logs?
20:44 MasterDuke_ joined #perl6-dev
20:47 MasterDuke_ i just tried creating a new exception in src/core/Exception.pm, and then `if nqp::isnull(%ex) || !nqp::existskey(%ex, 'X::Trait::Invalid') { nqp::die("Cannot use 'is rw' on optional parameter '$varname'") } else { nqp::atkey(%ex, 'X::Trait::Invalid')('bar', 'baz', ...) }`
20:48 geekosaur I haven't seen the travis bot in a while
20:49 MasterDuke_ i.e., i copied what was done in a couple other places in BOOTSTRAP.nqp, but it's following the npq::die branch because `!nqp::existskey(%ex, 'X::Trait::Invalid')` is true
20:50 MasterDuke_ oh, and in the line before i do `my %ex := nqp::gethllsym('perl6', 'P6EX');`
20:50 MasterDuke_ anybody have any idea why my new exception isn't being found?
20:53 SmokeMachine m: sub a{try $_ == 5}
20:53 camelia rakudo-moar 7f73f9: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "==" in expression "$_ == 5" in sink context (line 1)␤»
20:55 Zoffix ZOFFLOP: t/spec/S11-modules/nested.t
20:56 Zoffix ^ my searchable-in-logs floppers marker
20:56 Zoffix (until we have a bot doing stresstesting and tracking these)
20:57 Zoffix interesting... got a couple of warnings about $repo-id on *first* run after flop, but then nothing: https://gist.github.com/zoffixznet/db6211ad1f15b46f9137970b15e502ec
20:58 Geth ¦ rakudo/nom: ff97083419 | (Zoffix Znet)++ | 2 files
20:58 Geth ¦ rakudo/nom: [io grant] Straighten up rename, move, and copy
20:58 Geth ¦ rakudo/nom:
20:58 Geth ¦ rakudo/nom: - Fail not throw
20:58 Geth ¦ rakudo/nom: - Remove broken business with the $SPEC and $CWD; just take IO() args
20:58 Geth ¦ rakudo/nom: - Delegate all the work to IO::Path
20:58 Geth ¦ rakudo/nom: - Use .absolute for $to in error messages, since .Str does not use Path's $!CWD,
20:58 Geth ¦ rakudo/nom:     and we pass $!abspath, not self, for the `:from`, so make both args Str
20:58 Geth ¦ rakudo/nom:
20:58 Geth ¦ rakudo/nom: N.B.: we could clean up the code by making all the subs pass captures around,
20:58 Geth ¦ rakudo/nom: but that'd lose throwage when wrong named args are given. Since there are just
20:58 Geth ¦ rakudo/nom: a few args, pass them individually by name instead.
20:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ff97083419
21:01 Zoffix Uhhh
21:01 Zoffix Looks like we have no core way to copy or move a directory? :S
21:01 Zoffix at least rename works :/
21:03 Zoffix Exact same results with Perl 5's File::Copy... guess isn't that important for now.
21:06 geekosaur if you look at p5 File::Copy, you'll find it's not quite as trivial as you might think
21:07 geekosaur extended attributes, streams, resource forks, ...
21:07 geekosaur for a "plain old ordinary file" it's simple. not so much once you get into the details
21:08 Zoffix I see.
21:10 MasterDuke_ timotimo, nine, lizmat, jnthn: according to git blame you have all created a typed exception in BOOTSTRAP.nqp. any suggestions on my question above?
21:13 lizmat MasterDuke_: have I ?
21:13 yoleaux 14:09Z <brrt> lizmat: one of the things to make param_rp_o and friends JIT is to refactor the arg handling into something more jit friendly
21:14 MasterDuke_ lizmat: https://github.com/rakudo/rakudo/commit/10ceb2895c2f26f1a17adf57d9cc25b507da2184
21:15 lizmat ah, that
21:16 lizmat lines 2437 in src/core/Exception.pm and following is what I think you need to look at
21:16 lizmat it initialiizes a hash with code refs
21:18 MasterDuke_ lizmat++ that does look promising
21:21 lizmat come to think about it: why aren't they just Callable blocks ?
21:21 lizmat I mean, it's not like they should be able to handle a return statement
21:22 MasterDuke_ and they're just called directly in BOOTSTRAP...
21:22 lizmat are they ?
21:22 MasterDuke_ e.g., `nqp::atkey(%ex, 'X::Assignment::RO')($type);`
21:23 lizmat ah, yes, well, if you know it's going to be there, why not  :-)
21:26 lizmat I guess that stuff is there so that things don't fall apart completely if there's an error in the setting compilation
21:31 moritz Zoffix: the logs certainly do not exclude anyone or anybot
21:33 Zoffix moritz: thanks.
21:33 Zoffix I guess some glitch with travis <-> freenode
21:38 Zoffix Wonder if there's a way to use GitHub's editor to edit more than 1 file for a PR... It makes it dead easy to submit fixes to user's code without forking or cloning anything, but I want to edit the META file too to bump the version :/
21:38 geekosaur nope
21:38 geekosaur well, for a PR you can but it'll be a separate commit per file
21:39 geekosaur oh, .. just don't edit in place, branch and edit there
21:39 geekosaur but you don;t have any options beyond make-all-commits or squash-all-commits
21:40 geekosaur not really worth it. I'll use github's editor for quick 1-file changes only
21:40 geekosaur (generally only to docs; code gets the proper path always just to reduce confusion)
21:42 Zoffix ZOFFLOP: t/spec/S17-procasync/kill.t # TODO passed; this one flops very frequently for me
21:44 MasterDuke_ lizmat++ that worked. though i don't know why my new exception shows as `X::Trait::Invalid+{X::Comp}` when i dd it...
21:45 geekosaur does X::Comp?
21:46 geekosaur (I mean, the definiton has "does X::Comp"?)
21:46 MasterDuke_ `my class X::Trait::Invalid is Exception {`
21:47 lizmat m: role A {}; class B does A {}; dd B but A
21:47 camelia rakudo-moar ff9708: OUTPUT: «B+{A}␤»
21:47 lizmat m: role A {}; class B {}; dd B but A
21:47 camelia rakudo-moar ff9708: OUTPUT: «B+{A}␤»
21:48 lizmat .oO( it's a B but not as we know it )
21:48 lizmat MasterDuke_: so I guess somewhere a "but X::Comp" happens
21:48 MasterDuke_ m: sub ($x is rw) { $x = 3 }(my int $b = 4); CATCH { dd $_ }
21:48 camelia rakudo-moar ff9708: OUTPUT: «X::Parameter::RW.new(got => 4, symbol => "\$x")␤Parameter '$x' expected a writable container, but got Int value␤  in sub  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
21:49 lizmat or .^mixin
21:49 lizmat m: role A {}; class B {}; dd B.^mixin(A)
21:49 camelia rakudo-moar ff9708: OUTPUT: «B+{A}␤»
21:50 MasterDuke_ X::Parameter::RW is also in the same hash, and thrown in BOOTSTRAP the same way as mine
21:50 MasterDuke_ it is runtime and not compile time though...
21:51 MasterDuke_ `my class X::Parameter::RW is Exception {`
21:52 MasterDuke_ there are other exceptions that have `does X::Comp` in their definition, so maybe it's fine
21:53 lizmat MasterDuke_: I don't have an explanation as of yet
21:53 lizmat if you do "does", it will just compose it into the class
21:54 lizmat the +{Foo} only happens if the role is mixed in at runtime
21:56 Geth ¦ rakudo/nom: 0d9ecae6fe | (Zoffix Znet)++ | src/core/io_operators.pm
21:56 Geth ¦ rakudo/nom: [io grant] Remove multi-dir &mkdir
21:56 Geth ¦ rakudo/nom:
21:56 Geth ¦ rakudo/nom: - Since mode arg is involved, we have a bit of a gnarly interface,
21:56 Geth ¦ rakudo/nom:     since we have a case where $mode, $path and $path, $mode both work.
21:56 Geth ¦ rakudo/nom: - The multi-dir multi is entirely untested
21:56 Geth ¦ rakudo/nom: - There's exactly one case in the ecosystem that's using that multi by
21:56 Geth ¦ rakudo/nom:     accident, because the user used the $mode, $path order of args
21:56 Geth ¦ rakudo/nom: - By abandoning the multi, we can also take any Cools as path and mode
21:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d9ecae6fe
21:56 MasterDuke_ i'm just doing `nqp::atkey(%ex, 'X::Trait::Invalid')('is', 'rw', 'optional parameter', $varname);`, which is how the rest are called/created
21:57 Zoffix ^ that wasn't in the IO plan, but I hope that change is OK
21:58 lizmat Zoffix: fine by me  :-)
21:58 Zoffix k :)
21:58 lizmat MasterDuke_: looks fine to me :-)
21:58 lizmat I'm actuallly not sure why that is all needed, and a find_symbol wouldn't work as well
21:59 lizmat well, I guess this is shorter  :-)
21:59 MasterDuke_ yeah, don't really understand why that's happening, but i'll add it as is to the PR and maybe someone can make more sense seeing it in context
21:59 lizmat feels to me this is something left over from the Parrot days
22:01 moritz writing exception types into a hash was mostly used for throwing them from C code, iirc
22:01 moritz and maybe from the MOP
22:08 MasterDuke_ Zoffix, lizmat: https://github.com/rakudo/rakudo/pull/1061 updated if you care to see the change in context
22:10 Zoffix ZOFFLOP: t/spec/S11-modules/need.t
22:11 Geth ¦ rakudo/nom: 6ee71c2c05 | (Zoffix Znet)++ | src/core/IO/Path.pm
22:11 Geth ¦ rakudo/nom: [io grant] Coerce mode in IO::Path.mkdir to Int
22:11 Geth ¦ rakudo/nom:
22:11 Geth ¦ rakudo/nom: Fixes LTA error about coercing stuff to native int when, e.g., Str
22:11 Geth ¦ rakudo/nom: is given as mode.
22:11 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ee71c2c05
22:16 Geth ¦ rakudo/nom: 4 commits pushed by MasterDuke17++, (Zoffix Znet)++
22:16 Geth ¦ rakudo/nom: c2fa77ff92 | Make errors in BOOTSTRAP more awesome
22:16 Geth ¦ rakudo/nom: 135ddee9cc | Test error for optional params marked 'is rw'
22:16 Geth ¦ rakudo/nom: 83706758bd | Throw typed Exception for 'is rw' on optnl param
22:16 Geth ¦ rakudo/nom: f9968b3908 | Merge pull request #1061 from MasterDuke17/make_errors_in_BOOTSTRAP_more_awesome
22:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/6ee71c2c05...f9968b3908
22:17 * Zoffix will adjust roast to accomodate that ^
22:18 Geth ¦ roast: aaa8472158 | (Harrison Chienjo)++ (committed by Zoffix Znet) | S32-list/flat.t
22:18 Geth ¦ roast: Add tests for `flat`. (#245)
22:18 Geth ¦ roast: review: https://github.com/perl6/roast/commit/aaa8472158
22:42 Zoffix m: dd (Mu,) eqv (Mu,)
22:42 camelia rakudo-moar f9968b: OUTPUT: «Type check failed in binding to parameter '<anon>'; expected Any but got Mu (Mu)␤  in block <unit> at <tmp> line 1␤␤»
22:42 Zoffix ZofBot: fine, be that way
22:42 ZofBot Zoffix, new(str=>'bard '), # Match
22:44 Geth ¦ rakudo/nom: fa201b7d86 | (Zoffix Znet)++ | t/spectest.data
22:44 Geth ¦ rakudo/nom: Run S32-list/flat.t test file
22:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa201b7d86
22:49 Zoffix Geth: yo... you're alive, bud?
22:50 Zoffix "Sorry, this diff is temporarily unavailable due to heavy server load."
22:50 Zoffix I guess neither are the webhooks
22:53 Zoffix Anyway, commited the change to check for typed exception instead of exact text of the error to both roast master and 6.c-errata. That fixes the breakage by https://github.com/rakudo/rakudo/pull/1061
23:18 Geth ¦ roast: 87674c3bcf | (Zoffix Znet)++ | S32-list/flat.t
23:18 Geth ¦ roast: Expand `flat` tests
23:18 Geth ¦ roast:
23:18 Geth ¦ roast: - Address concerns raised in #245
23:18 Geth ¦ roast: - Fixes #230
23:18 Geth ¦ roast: review: https://github.com/perl6/roast/commit/87674c3bcf
23:22 geekosaur joined #perl6-dev
23:23 Geth ¦ roast: 100eb07f87 | (Zoffix Znet)++ | S06-signature/optional.t
23:23 Geth ¦ roast: Test for typed exception
23:23 Geth ¦ roast:
23:23 Geth ¦ roast: and not exact text content of the exception.
23:23 Geth ¦ roast:
23:23 Geth ¦ roast: Aligns the tests with https://github.com/rakudo/rakudo/pull/1061 fix
23:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/100eb07f87
23:25 Geth ¦ roast/6.c-errata: fd39f02413 | (Zoffix Znet)++ | S06-signature/optional.t
23:25 Geth ¦ roast/6.c-errata: Test for typed exception
23:25 Geth ¦ roast/6.c-errata:
23:25 Geth ¦ roast/6.c-errata: and not exact text content of the exception.
23:25 Geth ¦ roast/6.c-errata:
23:25 Geth ¦ roast/6.c-errata: Aligns the tests with https://github.com/rakudo/rakudo/pull/1061 fix
23:25 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/fd39f02413
23:45 BenGoldberg joined #perl6-dev
23:45 ugexe m: say mkdir("foo"); # this changed
23:45 camelia rakudo-moar fa201b: OUTPUT: «mkdir is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub mkdir at src/RESTRICTED.setting line 8␤  in block <unit> at <tmp> line 1␤␤»
23:47 ugexe yeah mkdir the sub returns a list of directories it creates, but mkdir the method must return boolean
23:50 Zoffix All mkdirs returns a Boolean
23:50 Zoffix What broke?
23:50 TimToady zef was apparently relying on the P5 semantics
23:51 ugexe they didnt return boolean before
23:51 Zoffix Right, that changed.
23:54 * Zoffix didn't consider people were using return value for other than "it succeedded" when grepped the ecosystem usage :/
23:54 TimToady was zef relying on the ability to create multiple dirs?
23:54 TimToady or just using kind of a fluent idiom?
23:55 ugexe @delete-me.append(mkdir(...))
23:55 Zoffix Just the idiom
23:56 Zoffix FWIW I altered no tests to make that change, so it was unspecced :|
23:57 Zoffix .IO.mkdir and @delete-us.append: $_ ~$save-to
23:57 Zoffix s/'~'// if $save-to is an IO::Path
23:58 Zoffix I mean... .IO.mkdir and @delete-us.append: $_ with ~$save-to
23:59 TimToady I suspect it kinda snuck in under the 'anything unspecified works the same as P5' vibe

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