Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:00 Zoffix I guess that means I can send people to https://travis-ci.org/profile/timo/ if I ever want to overload their browser? :)
00:01 timotimo oh, i mean i have too many repos i'm watching
00:01 timotimo not that i own too many repos
00:01 Zoffix Ah :)
00:02 Zoffix *sigh* Was hoping to finish the coverage parser today, but gonna havto be tomorrow
00:02 Zoffix It's like 50 lines shorter tho :P
00:02 Zoffix \o
00:02 * Zoffix &
00:04 * timotimo deletes a bunch of stale forks
00:06 mst joined #perl6-dev
00:21 travis-ci joined #perl6-dev
00:21 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make Str (elem) Map / Map (cont) Str 50x faster
00:21 travis-ci https://travis-ci.org/rakudo/rakudo/builds/216523226 https://github.com/rakudo/rakudo/compare/dc812a4a5a65...a8c6eca78dd6
00:21 travis-ci left #perl6-dev
00:21 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (0), GitHub connectivity (0), or failed make test (3). Across all jobs, only 04-nativecall/12-sizeof.t test file failed.
01:23 samcv bad travis bad
01:26 samcv Zoffix, you may be interested in my latest MoarVM commit. but that's only for coverage for MoarVM code, not perl 6 code
01:26 samcv still useful though
01:29 AlexDaniel Zoffix: I know you love this kind of error message!
01:29 AlexDaniel m: my $x = { $_² }; for $x(42), $x(50) { say $_ }
01:29 camelia rakudo-moar 5aebaf: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤This appears to be Perl 5 code␤at <tmp>:1␤------> 3my $x = { $_² }; for 7⏏5$x(42), $x(50) { say $_ }␤»
01:29 AlexDaniel that's it!
01:30 samcv LOL
01:30 AlexDaniel appears to be Perl 5 code, refusing to compile!
01:30 AlexDaniel m: my $x = { $_² }; for $x.(42), $x.(50) { say $_ }
01:30 camelia rakudo-moar 5aebaf: OUTPUT: «1764␤2500␤»
01:30 samcv here's some coverage of MVM functions https://gist.github.com/samcv/b6cfe4cc2ba66711b6730d70d338c4e4 at least using the nqp test suite
01:31 samcv this is not roast, just nqp suite
01:31 samcv also totals at the bottom are not accurate. because i grepped out all the 3rdparty files
01:33 samcv full instructions for generating this and other outputs are in the description of the latest MVM commit which added it to Configure.pl
01:35 MasterDuke nice
01:35 AlexDaniel (ok, RT #131076)
01:35 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131076
01:36 AlexDaniel I stumbled upon this when writing some actual code, so I am a bit pissed off :D
01:38 samcv made a mistake in the commit desc. should have libmoar.so on the second line not src/moar.o but it's right on the line before. hopefully peple will figure it out. maybe i'll put a commit comment on it later
01:40 samcv trying to get it to output ANSIcolor even when it's not to a terminal
01:40 samcv hopefully can find some useful way to make it html
01:42 Geth ¦ nqp: samcv++ created pull request #350: [moar] Use foldcase in QASTRegexCompilier
01:46 Geth ¦ nqp: review: https://github.com/perl6/nqp/pull/350
01:46 samcv i'll brb. ^ PR is ready to go, moarvm should be bumped after that's merged to get the speedup, though the code functions fine without the bump, just is slower than it is now
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
01:50 samcv AlexDaniel, MasterDuke feast your eyes on this! https://cry.nu/stringcov.html
01:50 samcv not sure how to automate this, but Konsole let me save my terminal as html
01:50 samcv this is really nice
01:51 AlexDaniel samcv: wait, what am I seeing? :)
01:52 samcv the nqp test suite coverage for MVM_string functions
01:52 samcv left column is how many times that line was ran
01:52 AlexDaniel ah right
01:52 samcv the 2nd column is line number. and everything red is never executed
01:53 AlexDaniel that's pretty cool
01:53 samcv super awesome :)
01:53 AlexDaniel this was also pretty cool: https://perl6.wtf/
01:54 samcv ideally we will have almost full coverage of MoarVM in the nqp suite and full coverage of rakudo in the roast suite
01:54 samcv be back in a bit :-)
01:55 AlexDaniel MasterDuke: any thoughts? :)
02:56 llfourn_ joined #perl6-dev
03:13 vendethiel- joined #perl6-dev
03:26 Geth ¦ nqp: 9950ea68f2 | (Samantha McVey)++ | tools/build/MOAR_REVISION
03:26 Geth ¦ nqp: Bump MoarVM to get indexic op speed boost and others
03:26 Geth ¦ nqp:
03:26 Geth ¦ nqp: String index ignore case operation order of magnitude speed boost, so now
03:26 Geth ¦ nqp: is faster than our current use with :i regex.
03:26 Geth ¦ nqp:
03:26 Geth ¦ nqp: Fixed some compile warnings, improved the errors for failed UTF-8 decodings
03:26 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/9950ea68f2
03:26 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.03-31-g8f9325b...2017.03-61-gb0778d6f
03:41 MasterDuke it would be great to get the MoarVM and the Rakudo coverage updated daily and available online somewhere
03:42 samcv i'm working on trying to integrate it into this site codecov.io but if that fails can always figure out some way to do it
05:50 RabidGravy joined #perl6-dev
06:22 vendethiel joined #perl6-dev
06:41 [TuxCM] This is Rakudo version 2017.03-65-g5aebaf1fe built on MoarVM version 2017.03-31-g8f9325b8
06:41 [TuxCM] csv-ip5xs        3.071
06:41 [TuxCM] test            12.406
06:41 [TuxCM] test-t           4.831 - 4.877
06:41 [TuxCM] csv-parser      12.981
07:49 lizmat Files=1181, Tests=56009, 197 wallclock secs (11.67 usr  4.66 sys + 1167.91 cusr 113.54 csys = 1297.78 CPU)
07:56 samcv curious what the change is when nqp gets bumped
07:56 samcv with the moarvm :i 2x factor speed increase
07:57 samcv feel free to bump whenever anybody feels like it/would like to test it out. would like one other person to test it out before bumping nqp, though i think everything is fine and i got full spectest pass
07:58 samcv if anybody wants to volunteer
08:19 Geth ¦ nqp: 6c365c649d | (Samantha McVey)++ | README.pod
08:19 Geth ¦ nqp: Fix rendering of the Readme so renders as HTML on Github
08:19 Geth ¦ nqp:
08:19 Geth ¦ nqp: Was missing `=pod` and `=cut` so Github did not show the links
08:19 Geth ¦ nqp: and pictures/etc.
08:19 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/6c365c649d
08:28 samcv ok will probably bump in an hour or so. gonna build rakudo again so i can do some speed comparison so i can have an accurate speed boost in my commit :p
08:28 samcv will be back in a bit
09:28 timotimo .tell AlexDaniel if you update your moarvm, you'll get better error messages for "must be composed before whatever"
09:28 yoleaux2 timotimo: I'll pass your message to AlexDaniel.
09:28 tadzik joined #perl6-dev
09:39 ilmari[m] joined #perl6-dev
10:04 Zoffix samcv: TBH, I'd be more interested in the line_based_coverage_pr getting merged. Every time I try to use it, I have to deal with merge conflicts from master branch and right now I'm working on updating the parser for it, but won't be able to make a PR due to, again, merge conflicts
10:09 Zoffix m: m: my $x = { $_² }; for ($x(42), $x(50)) { say $_ }
10:09 camelia rakudo-moar 5aebaf: OUTPUT: «1764␤2500␤»
10:14 timotimo jnthn: do you think it'd be all right if i put a commit up in moar that only puts the opcode that line_based_coverage will use into the oplist and does nothing else?
10:24 jnthn timotimo: If you only add things to oplist and nowhere else then it breaks computed goto's compilation, I think
10:24 jnthn Since it makes a label table and the label will be missing in interp.c
10:24 jnthn We could just merge it, on the understanding that it still needs some attention
10:29 Zoffix +1
10:30 dogbert17_ joined #perl6-dev
10:30 Zoffix It'd be easier to find more hands to give that attention if it were in master IMO.
10:30 astj joined #perl6-dev
10:31 donaldh joined #perl6-dev
10:35 astj joined #perl6-dev
10:46 timotimo OK, yeah. i'll rebase it, fix up any conflicts, and then the PR can go in
11:58 Geth ¦ rakudo/nom: ff52b74c68 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
11:58 Geth ¦ rakudo/nom: Streamline Baggy.new-from-pairs
11:58 Geth ¦ rakudo/nom:
11:58 Geth ¦ rakudo/nom: - about 1.5x as fast
11:58 Geth ¦ rakudo/nom: - with lower memory pressure
11:58 Geth ¦ rakudo/nom: - affects all .Bag type coercers
11:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ff52b74c68
11:58 lizmat afk again for quite some hours&
12:09 geekosaur joined #perl6-dev
12:18 * Zoffix tries to figure out how to use `lastcall`
12:18 Zoffix "continue in next dispatcher loop" huh? https://docs.perl6.org/routine/lastcall
12:19 jnthn Curious...
12:19 jnthn So far as I remember it just truncates the dispatch list
12:19 jnthn So that nextsame won't go anywhere
12:21 Zoffix Aye, seems to be just that.
12:24 Zoffix jnthn: is `samewith` the same as just calling the routine by name?
12:24 Zoffix multi foo { samewith 42 }   eqv   multi foo { foo 42 }
12:25 jnthn Maybe
12:25 Zoffix :D
12:26 jnthn m: multi foo($i) { say 1; foo($i.Int); }; { multi foo(Int $i) { say 2 }; foo('42') }
12:27 camelia rakudo-moar ff52b7: OUTPUT: «(timeout)1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1…»
12:27 jnthn m: multi foo($i) { say 1; samewith($i.Int); }; { multi foo(Int $i) { say 2 }; foo('42') }
12:27 camelia rakudo-moar ff52b7: OUTPUT: «(timeout)1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1…»
12:27 jnthn Hmm
12:27 jnthn So apparently the answer is "yes" :P
12:28 jnthn But I'd kinda expected the latter to not infinitely recurse.
12:28 jnthn That is, I thought it would manage to find the inner proto to redispatch to
12:33 Geth ¦ rakudo/nom: 545d82acc9 | (Zoffix Znet)++ | src/core/hash_slice.pm
12:33 Geth ¦ rakudo/nom: Use , instead of ; in nqp::stmts(); MasterDuke++
12:33 Geth ¦ rakudo/nom:
12:33 Geth ¦ rakudo/nom: Even though it ends up working right, the comma is faster
12:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/545d82acc9
12:42 donaldh joined #perl6-dev
12:51 perlpilot joined #perl6-dev
14:32 SmokeMachine Zoffix: thanks! I was going to fix that just now... Zoffix++
14:32 SmokeMachine MasterDuke++
14:47 Zoffix Here's the stuff we use for .is-prime according to our docs: https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test#Accuracy
15:01 donaldh joined #perl6-dev
15:23 samcv good *
15:23 samcv i had a good sleep
15:24 Zoffix -_- I was so busy this month, I forgot to pay for both my phone and electricity. A first in years :/
15:25 samcv you don't eed eitheir of those things
15:25 * Zoffix would die without either of thos things :o
15:26 samcv no late charges i hope
15:26 Zoffix Probably not.
15:27 samcv ok 1.8x faster worst case 3.33x faster best case
15:27 samcv the speed bost to m:i/ /
15:27 samcv weee
15:28 Zoffix :o
15:28 Zoffix samcv++
15:29 DrForr When I moved into my apartment I was cut off because I somehow had 3 months of electricity back payments due on an apartment I'd yet to live in.
15:29 Zoffix heh
15:31 Geth ¦ rakudo/nom: 3e275ddb74 | (Samantha McVey)++ | tools/build/NQP_REVISION
15:31 Geth ¦ rakudo/nom: Bump Moar/NQP for 1.8x-3.3x faster m:i/ / regex matching
15:31 Geth ¦ rakudo/nom:
15:31 Geth ¦ rakudo/nom: 1.8x faster in the worst case scenario (has to search until the end of
15:31 Geth ¦ rakudo/nom: the haystack with 0 results), or 3.33x faster in the best case (match is at the start of
15:31 Geth ¦ rakudo/nom: the haystack). samcv++
15:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3e275ddb74
15:31 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.03-32-g7bd72e5...2017.03-35-g6c365c64
15:35 samcv Zoffix, if i give you a script that works can you integrate moarvm coverage with perl6.wtf maybe perl6.wtf/moar ?
15:35 moritz \o
15:36 samcv hi
15:37 Zoffix samcv: OK
15:37 samcv cool. will let you know when i figure it out
15:37 samcv well it's mostly figured out. but still need to figure out some thngs
15:50 Zoffix New blog post: "But Here's My Dispatch, So callwith Maybe": https://perl6.party/post/Perl6-But-Heres-My-Dispatch-So-Callwith-Maybe
15:59 samcv Zoffix, looks like it got merged now
15:59 samcv the thing you wanted merging in moarvm
16:03 Zoffix Yes. Thanks.
16:04 samcv so test-t should get 13% faster
16:05 samcv comparing best of 10 runs
16:05 samcv fastest of 10 runs each of rakudo 2017.03 and moar-blead is from 5.959 to 5.046 on my computer
16:05 samcv very nice :)
16:06 samcv hopefully shows up in tux's graph :)
16:07 robertle joined #perl6-dev
16:09 * Zoffix pings [TuxCM]
16:09 Zoffix for an out-of-schedule bench run :D
16:10 samcv :d
16:10 samcv :D
16:15 samcv would be curious if compile time changes at all or not. idk if we use :i that much in the setting
16:22 * TimToady is somewhat allergic to case-insensitive languages
16:24 samcv is csv case insensitive?
16:24 samcv which _popular_ ones are? i have never used any
16:24 samcv except graphing clacutaltor whatever but there i onnly had uppercase anway
16:25 ilmari sql, kindof
16:26 Zoffix PASCAL :o
16:26 b2gills Visual Basic
16:29 ilmari lisp
16:29 Zoffix AutoIT
16:29 ilmari any language that started out all-upper-case/
16:29 ilmari ?
16:30 ilmari because people quickly realised that was incredibly tedious to type
16:30 ilmari yeah, capslock exists, but still
16:34 samcv NOT AT ALL
16:35 samcv why does this laptop not have a caps lock key :(
16:35 samcv lenovo :(
16:35 samcv and i have absolutely 0 indicators anywhere
16:36 samcv only light i have is a the Fn button light that idk what it does.
16:36 samcv only the power button glow and the Fn button has a light on it. probably to signal if it's a toggle or if it has to held down
16:36 samcv no hd light, no wifi light, no caps lock light no num lock light. no thinklight
16:51 Zoffix #courage
16:56 samcv #sad
16:56 samcv at least quad core cpu coming next week i think
16:56 samcv to put in it
17:14 samcv Zoffix, what is your lappy
17:17 Zoffix samcv: don't really use one. I have desktops at both places I occupy during daytime. The one lappy I have is like 10-11 years old Dell.. umm. XPS M1150 or something or other. I have it sitting in my music room where I just use it to browse music tabs or I move it to the kitchen to watch TV shows while cooking...
17:24 [Coke] (CI) ColdFusion
17:25 Zoffix My work setup: http://i.imgur.com/fU4qNex.jpg and my home setup: http://i.imgur.com/4Mexr4A.jpg
17:48 AlexDaniel joined #perl6-dev
17:56 ilmari_ joined #perl6-dev
17:56 btyler joined #perl6-dev
18:02 timotimo neo2 has this cool trick where holding both shift keys at the same time activates and deactivates capslock
18:02 timotimo that frees up capslock for a whole layer
18:06 AlexDaniel right
18:06 yoleaux2 09:28Z <timotimo> AlexDaniel: if you update your moarvm, you'll get better error messages for "must be composed before whatever"
18:06 AlexDaniel now the question is why do you need caps lock at all
18:06 timotimo tbh i'm surprised CSV would even have :i in it
18:07 timotimo i need capslock for the [] and the () and the {} and the () and the ! and the ? and : and - and ` and ~ and $ and #
18:07 timotimo and ¹²³ and ›‹ and ¢¥ and ‚‘’
18:08 AlexDaniel uh… oh… wait what :)
18:09 AlexDaniel ah, right, right, that's what you get if there's no thumb key for shift
18:11 timotimo thumb key for shift?
18:12 AlexDaniel yea, if your keyboard has any thumb keys at all
18:12 timotimo keys next to the spacebar?
18:12 timotimo or the kind of keys you get with two-halves keyboards?
18:13 AlexDaniel timotimo: yes, those on ergonomic keyboards. Or regular Japanese keyboards
18:14 timotimo ah, yeah, i seem to recall you have a japanese one with just the shortest spacebar
18:14 AlexDaniel yea
18:14 AlexDaniel can't get anything better than that for a laptop
18:14 AlexDaniel I'm glad Japan exists…
19:05 Zoffix One place where m:i used: every parse of harness6's test's description
19:15 * Zoffix eyes http://perl6maven.com/encrypt-a-password
19:15 Zoffix "I think Crypt::Bcrypt or Crypt::Argon2 would be the recommended ones to use, but currently they are both broken due to a dependency being broken"
19:15 Zoffix And entire article dedicated to a broken function that's been hacked before, hasn't it?
19:17 Zoffix ===> Testing [FAIL]: if:ver('0.1.0'):auth('github:FROGGS')
19:17 Zoffix Aborting due to test failure: if:ver('0.1.0'):auth('github:FROGGS') (use --force to override)
19:17 Zoffix And the failures for proper modules seem to be due to failure in testing module -_-
19:21 Zoffix "Cannot find method 'symtable' on object of type GLOBAL"  is that the braids change stuff?
19:25 Zoffix Looks like. Adding the same fix from Slang::Tuxic fixed it (but not the module; tests fail :/)
19:26 Zoffix ZOFVM: Files=1230, Tests=132984, 115 wallclock secs (21.74 usr  2.99 sys + 2403.60 cusr 128.66 csys = 2556.99 CPU)
19:26 Zoffix 5s less than usual :D
19:27 Geth ¦ rakudo/nom: 70d5556829 | (Zoffix Znet)++ | lib/Pod/To/Text.pm6
19:27 Geth ¦ rakudo/nom: Do not use EVAL for loading Terminal::ANSIColor
19:27 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70d5556829
19:32 timotimo nice
19:32 Zoffix I don't get TimToady's fix... tho: my Mu $MAIN-grammar := nqp::atkey(%*LANG, 'MAIN'); my $grammar := $MAIN-grammar.HOW.mixin($MAIN-grammar, Tuxic); try nqp::bindkey(%*LANG, 'MAIN', $grammar);
19:32 Zoffix Isn't .HOW.mixin mutating the *LANG<LANG> anyway?
19:33 Zoffix So  %*LANG<MAIN>.^mixin(BetterWorld);  is equivalent of all of the above? :/
19:33 Zoffix ZOF6VM: Files=1230, Tests=132984,  235 wallclock secs
19:34 Zoffix And 6s less than last time for harness6
19:36 Zoffix m: role Foo {}; BEGIN dd %*LANG<MAIN>.^mixin(Foo).^name; BEGIN dd %*LANG<MAIN>.^name
19:36 camelia rakudo-moar 70d555: OUTPUT: «"Perl6::Grammar+\{Foo}"␤"Perl6::Grammar"␤»
19:37 Zoffix hm, OK, then I'm wrong about .^mixin
19:37 Zoffix m: my $x = 42; $x.^mixin: role Foo {}; dd $x
19:37 camelia rakudo-moar 70d555: OUTPUT: «Int+{Foo} $x = 42␤»
19:37 AlexDaniel timotimo: well, the error message is better, but how do I make it work?
19:37 Zoffix But I guess ^ that is due to constant caching
19:39 Zoffix And I'm guessing you don't need to use nqp? And this should work for slang stuff? my $grammar := %*LANG<MAIN>.^mixin(BetterWorld); try %*LANG<MAIN> := $grammar;     try $*LANG.define_slang('MAIN', $grammar, $*LANG.actions);
19:39 Zoffix It got rid of error in if.pm6 but the tests still fail :(
19:40 Zoffix m: my $x = *²; for ($x(2), $x(3)) { .say }
19:40 camelia rakudo-moar 70d555: OUTPUT: «4␤9␤»
19:47 Zoffix .seen FROGGS
19:47 yoleaux2 I saw FROGGS 2 Mar 2017 16:23Z in #moarvm: <FROGGS> [Coke]: I did
19:48 Zoffix .tell FROGGS if.pm6 is busted and that breaks install of some crypto modules. Any ideas for how to fix? The role's method never gets run; dunno where to take it from here: https://github.com/FROGGS/p6-if/issues/2
19:48 yoleaux2 Zoffix: I'll pass your message to FROGGS.
19:50 timotimo AlexDaniel: it won't give you a sensible backtrace with the exception?
19:59 AlexDaniel timotimo: no backtrace and no line number
20:00 AlexDaniel timotimo: but to be honest I don't care about the error message, I just want to know how use something through Inline::Python in a module…
20:00 timotimo not even with --ll-exception?!
20:00 timotimo have you considered "no precompilation;"?
20:02 AlexDaniel oh!
20:03 AlexDaniel yes! Yes!
20:03 AlexDaniel thank you very much!
20:04 AlexDaniel timotimo: fwiw, --ll-exception backtrace that has nothing about my files
20:04 AlexDaniel s/that//
20:09 AlexDaniel RT #131079 is a nice find
20:09 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131079
20:11 AlexDaniel I wonder why it works, shouldn't it complain about the lack of MONKEY-SEE-NO-EVAL?
20:16 timotimo AlexDaniel: ah, it probably happens in the parser. that'd make a lot of sense actually
20:32 geekosaur the <$foo> syntax exists to be exactly that kind of escape hatch, iirc
20:33 timotimo i wonder why the first part didn't work
20:33 timotimo the one with just { } in it
20:37 Zoffix <$foo> syntax is like eval: it'll want a MONKEY if it's dangerius (not all EVAL needs a monkey)
20:38 Zoffix and the first part with just { } catches that arbitrary code is exevuted
20:42 Zoffix m: my $c = '<::(say("pwned"), exit)>'; '' ~~ /<$c>/
20:42 camelia rakudo-moar 70d555: OUTPUT: «pwned␤»
20:42 Zoffix jesus
20:43 * samcv grumbled something about MONKEY-SEE-NO-EVAL
20:44 Zoffix m: my $c = '<&say("pwned")>'; '' ~~ /<$c>/
20:44 camelia rakudo-moar 70d555: OUTPUT: «5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Prohibited regex interpolation (use the MONKEY-SEE-NO-EVAL pragma to override this error,␤but only if you're VERY sure your data contains no injection attacks)␤at /home/camelia/EVAL_0:1…»
20:44 timotimo you can make a slang that makes it the default, or you can make a slang that gives it a different name
20:45 Zoffix Don't even need a slang just a module that exports a constant
20:46 Zoffix or a sub rather; we do it in Test.pm6: https://github.com/rakudo/rakudo/blob/nom/lib/Test.pm6#L44
20:47 timo joined #perl6-dev
20:48 timo1 joined #perl6-dev
20:50 Zoffix Speaking of monkeys.... is it a bug or not that method-form EVAL doesn't care about monketlys?
20:50 Zoffix monkeys
20:53 moritz IMHO the method-form of EVAL itself is a bug.
20:53 Zoffix heh why?
20:53 Zoffix It operates on a string.
20:54 * Zoffix often wants a method form of try
20:55 ggoebel joined #perl6-dev
20:59 Zoffix as I recall roast actually has .perl.EVAL in it. So it's not a bug :)
20:59 Zoffix But is its not needing a monkey a bug? :)
21:01 Zoffix m: sub foo { 'say "pwned"' }; EVAL foo
21:01 camelia rakudo-moar 70d555: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error,␤but only if you're VERY sure your data contains no injection attacks)␤at <tmp>:1␤------> 3sub foo { 's…»
21:01 Zoffix m: sub foo { 'say "pwned"' }; foo.EVAL
21:01 camelia rakudo-moar 70d555: OUTPUT: «pwned␤»
21:01 timo1 the triple exclamation marks really sell it
21:02 Zoffix Hm. I'm tempted to say not a bug because of ^ that. It's useful after methods and stuff, so making it want a monkey is lta
21:02 Zoffix But then, everyone will just use that instead of monkeys :/
21:02 Zoffix (I know I do)
21:12 samcv i don't like that warning
21:12 samcv well. i can see why you ai mean i dont think it should be an error
21:12 samcv it should be a warning. that can be supressed with MONKEY-SEE-NO-EVAL
21:12 samcv but it's silly to make it an error
21:12 samcv just frustrates users
21:12 MasterDuke joined #perl6-dev
21:14 Zoffix Meh, a warning is more annoying. It's language being indecisive if it wants to stop you or to let you proceed.
21:15 samcv i suppose that makes sense too
21:17 Zoffix Alright. I have 20 minutes in which to fix the coverage parser
21:17 * Zoffix gets cracking
21:17 samcv i thought it was merged
21:17 samcv need to get the installation fixed?
21:18 timotimo the coverage parser was a bit crappy (the one i wrote) so zoffix is rewriting it :)
21:18 samcv ah
21:19 samcv is that the part that makes it into html? or is it all one thing
21:19 samcv not sure if there's intermediate formats and things
21:20 timotimo there's the format that moarvm spits out where it's just lines of "HIT filename linenumber"
21:20 samcv i would like to get moarvm.wtf working too with clang coverage. but will have to find some way to do it
21:20 samcv ah
21:20 timotimo put it onto perl6.wtf, such gtlds are far too expensive
21:20 samcv yes lol.
21:21 timotimo they are affordable in the first year, then their price rises like 10x to 100x
21:22 samcv what's the best way to get every function we have in a list
21:25 jnthn Well, a way is: strings libmoar.so | grep MVM_
21:26 jnthn Though it's a slight over-estimate
21:26 MasterDuke and not every function has MVM_ in the name
21:27 MasterDuke what about something like ctags?
21:27 jnthn True, the static ones don't
21:27 samcv nah but some don't start with mvm jnthn
21:27 jnthn Depends what's needed
21:27 samcv that's the issue
21:27 jnthn Well yeah, if you don't want just the public ones... :)
21:27 samcv sometimes public ones call other ones
21:28 jnthn Ah, you're doing it for coverage so you probably do what all the things :)
21:28 jnthn So yeah, ctags may be a better bet, though I dunno how that works :)
21:28 samcv yeah. but don't want the 3rdparty files
21:28 samcv or i could say screw it and fix that problem afterward
21:29 MasterDuke --exclude=pattern       Exclude files and directories matching 'pattern'.
21:29 MasterDuke from ctags --help
21:33 MasterDuke `ctags --c-kinds=f -R src/*` looks like it produces pretty much exactly what you want
21:34 Zoffix m: my %stats = :file-on-disk<foo>; dd "coverage/%stats<file-on-disk>.coverage.html"
21:34 camelia rakudo-moar 70d555: OUTPUT: «"coverage/\%stats<file-on-disk>.coverage.html"␤»
21:34 Zoffix TIL that dot for NOT a method prevents interpolation :/
21:34 Zoffix m: my %stats = :file-on-disk<foo>; dd "coverage/%stats<file-on-disk>\.coverage.html"
21:34 camelia rakudo-moar 70d555: OUTPUT: «"coverage/foo.coverage.html"␤»
21:35 Zoffix m: my $meow = "foo"; dd "coverage/$meow.coverage.html"
21:35 camelia rakudo-moar 70d555: OUTPUT: «"coverage/foo.coverage.html"␤»
21:35 Zoffix Actually, looks more like a bug...
21:35 samcv this looks nice enough though https://cry.nu/overview.html
21:36 Zoffix purty
21:38 samcv the functions are even better Zoffix
21:38 samcv i guess this is missing some info https://cry.nu/profile.html
21:38 samcv but you can still see which don't get run
21:39 samcv if you scroll to the highlighted code
21:40 timotimo i wonder if you have to turn debugging off to make results more correct
21:40 timotimo like, all of sc.h is uncovered? i can hardly believe that
21:41 samcv it is off. but those results are not correct
21:41 samcv it's just missing some data
21:41 timotimo is there any MVM_STATIC_INLINE that's actually covered?
21:42 samcv timotimo, more info https://cry.nu/fullprof.html
21:42 samcv idk
21:42 samcv uh yes it is
21:42 samcv see the file i just linked
21:42 samcv that's got full info
21:43 samcv left column is number of times it has  been through that line during running nqp test suite
21:45 timotimo OK
21:46 samcv actually maybe that's not everything, just any function that starts with MVM
21:46 samcv including the inline ones
21:47 samcv pretty schweet
21:49 MasterDuke ah, you haven't done coverage for a rakudo spectest run yet?
21:51 samcv yeah that i'm going to be working on now
21:54 Zoffix "Only identical operators may be list associative; since 'and' and 'andthen' differ, they are non-associative"
21:54 Zoffix What is this! The middle ages? :)
21:55 Zoffix m: 1 and 2 andthen 3
21:55 camelia rakudo-moar 70d555: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Only identical operators may be list associative; since 'and' and 'andthen' differ, they are non-associative and you need to clarify with parentheses␤at <tmp>:1␤------> 1 and 27⏏5 andthen 3␤ …»
21:55 Zoffix Oh well :)
21:57 samcv MasterDuke, before i do that i'm making it so i can automate the test collation
21:57 samcv collection/compilation
21:59 MasterDuke nice
22:00 samcv so will have three scripts, one to replace nqp-m/rakudo-m, one to compile the files into the final output
22:00 samcv then the third will process it
22:00 samcv well. output it
22:44 Zoffix Actually, looks like I lied. new parser is 10s slower :P
22:45 Zoffix But it does the coverage parsing faster :P it just does it in the faster of the two threads, so the extra fastnest is irrelevant
22:45 Zoffix BUT.... it works! \o/
22:46 MasterDuke Zoffix++
22:47 Zoffix 40 lines shorter too
22:47 samcv almost got something rough
22:48 timotimo you got more correctness, right? :)
22:48 timotimo that's good
22:49 Zoffix https://perl6.wtf/
22:50 Zoffix I removed the "line offset" or whatever it was; the last column. Since now it's irrelevant
23:05 timotimo we have numbers again \o/
23:12 timotimo # U+227C PRECEDES OR EQUAL TO
23:12 timotimo only sub infix:<≼>($a, $b --> Bool:D) is pure {
23:12 timotimo that's a bad miss :D
23:13 samcv ok full instruction for generating coverage with nqp test suite. https://github.com/samcv/MoarVM-cover
23:13 samcv can be very easily adapted to roast. which i'm gonna do after a little break. but finally automated and got all the commands working and documentation
23:15 samcv only differencre with roast will be you will just change the nqp-profile script to perl6-profile or something like that, but nqp and perl6 are almost identical shell scripts originally
23:18 Zoffix timotimo: what file is that in?
23:19 Zoffix I don't got numbers
23:19 Zoffix SETTING::src/core/set_operators.pm
23:20 Zoffix But I see the missing stuff
23:20 Zoffix Also, I remember adding the date the report was generated on, long time ago.
23:20 Zoffix Looks like one of those rebases was off a wrong branch :P
23:21 Zoffix I have broken chars in Fifox, but not Chrome. Already re-building with a fix tho
23:24 Zoffix Fix force-pushed to the PR and perl6.wtf updated
23:25 timotimo it's just a missing meta tag or something
23:26 Zoffix was yeah
23:27 timotimo playing some vidya games, so i'm slow and unhelpful :)

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