Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:56 dalek rakudo/nom: 94df18c | (Zoffix Znet)++ | src/core/IO/Path.pm:
00:56 dalek rakudo/nom: Remove IO::Path.chdir on account of it being a footgun
00:56 dalek rakudo/nom:
00:56 dalek rakudo/nom: Per https://irclog.perlgeek.de/perl6-dev/2016-12-28#i_13815088
00:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94df18c8e3
00:59 samcv looks like it just does return ai < bi ? -1 : 1
00:59 samcv and checks graphemes
01:09 dalek rakudo/nom: ea67ce9 | (Zoffix Znet)++ | tools/autounfudge.pl:
01:09 dalek rakudo/nom: Make script executable
01:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ea67ce9b20
01:14 [Coke] ... I am surprised that wasn't already the case. huh.
01:15 notviki how is it supposed to work?
01:15 notviki tells me: Processing file 't/spec/S15-unicode-information/uniprop.t'
01:15 notviki File 't/spec/S15-unicode-information/uniprop.t' doesn't even pass in its current state
01:16 [Coke] I don't have a working dev env at the moment, but: it finds fudge directives in files, and tries to remove them one at a time, and see if removing it allows the test to still pass.
01:17 [Coke] It was MUCH more useful tool when we had multiple backends and new features were being implemented on the regular.
01:17 [Coke] (but we had a ton of old tests lying around from pugs)
01:17 [Coke] I assume from your question that that file is passing?
01:18 dalek roast: 4c7f8f0 | (Zoffix Znet)++ | S15-unicode-information/uniname.t:
01:18 dalek roast: Revert "Unfudge now passing tests"
01:18 dalek roast:
01:18 dalek roast: This reverts commit e8b9f7ea3c4170b3d1c8130ef9a97212a8b2d82c.
01:18 dalek roast:
01:18 dalek roast: As the PR that made these work was reverted in
01:18 dalek roast: https://github.com/rakudo/rakudo/commit/d35efb602f2b08012379d4d02e64573865a037da
01:18 dalek roast: review: https://github.com/perl6/roast/commit/4c7f8f0b2c
01:18 notviki [Coke]: yes
01:18 notviki t/spec/S15-unicode-information/uniprop.rakudo.moar (Wstat: 0 Tests: 152 Failed: 0)
01:18 notviki TODO passed:   143, 146, 148-149
01:18 notviki Files=1, Tests=152,  1 wallclock secs ( 0.05 usr  0.00 sys +  0.85 cusr  0.06 csys =  0.96 CPU)
01:18 notviki Result: PASS
01:18 notviki zoffix@VirtualBox:~/CPANPRC/Standard-Rakudo$ /usr/bin/perl tools/autounfudge.pl --moar --unskip --untodo t/spec/S15-unicode-information/uniprop.t
01:18 notviki Processing file 't/spec/S15-unicode-information/uniprop.t'
01:18 notviki File 't/spec/S15-unicode-information/uniprop.t' doesn't even pass in its current state
01:19 [Coke] perhaps the TODO passed is not "clean" for that one.
01:19 [Coke] s/one/utility/
01:22 dalek roast: b4859f9 | (Zoffix Znet)++ | S15-unicode-information/uniprop.t:
01:22 dalek roast: Unfude now-passing TODOs
01:22 dalek roast: review: https://github.com/perl6/roast/commit/b4859f9ca9
01:22 * notviki did it by hand
01:25 notviki .tell nine 6.c-errata t/spec/S10-packages/precompilation.t also seems to fail one test: the not ok 22 - Twisty maze of dependencies, all different
01:25 yoleaux2 notviki: I'll pass your message to nine.
01:31 * [Coke] realizes how dumb his statement was.
01:32 [Coke] I mean, it *could* be that broken, but that'd be crazy.
02:00 dalek roast: d88c444 | (Zoffix Znet)++ | S32-str/lines.t:
02:00 dalek roast: Remove trailing whitespace
02:00 dalek roast: review: https://github.com/perl6/roast/commit/d88c44405f
02:06 notviki Files=1159, Tests=54449, 314 wallclock secs ( 8.11 usr  2.02 sys + 1012.81 cusr 128.65 csys = 1151.59 CPU)
02:06 notviki Pie seconds!
02:06 notviki And all tests pass
02:06 * notviki feels happy
02:10 TimToady m: my @a = 1,2,3; ++«@a; say @a
02:10 camelia rakudo-moar ea67ce: OUTPUT«[2 3 4]␤»
02:27 notviki m: my @a = 1,2,3; @a»++; say @a
02:27 camelia rakudo-moar ea67ce: OUTPUT«[2 3 4]␤»
02:28 notviki m: my @a = 1,2,3; say @a»++; say @a
02:28 camelia rakudo-moar ea67ce: OUTPUT«[1 2 3]␤[2 3 4]␤»
02:43 dalek rakudo/nom: 19df358 | (Zoffix Znet)++ | src/core/ (4 files):
02:46 dalek rakudo/nom: Quintuple .lines() bug squash; AlexDaniel++ for discovery
02:46 dalek rakudo/nom:
02:46 dalek rakudo/nom: 1) Fix $*ARGFILES.lines going up to $limit, even if we reached end of data
02:46 dalek rakudo/nom: 2) Fix Str.lines going up to $limit, even if we reached end of data
02:46 dalek rakudo/nom: 3) Fix IO::Handle.lines going up to $limit, even if we reached end of data
02:46 dalek rakudo/nom: 4) Fix IO::Handle.lines($limit) not forwarding :$close to its other multi
02:46 dalek rakudo/nom: 5) Fix IO::Path.lines missing candidate that can handle $limit
02:46 dalek rakudo/nom: 6) ???
02:46 dalek rakudo/nom: 7) Profit!
02:46 dalek rakudo/nom:
02:46 dalek rakudo/nom: Fixes RT#130430:  https://rt.perl.org/Ticket/Display.html?id=130430
02:46 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130430
02:46 notviki (•_•)           ( •_•)>⌐■-■          (⌐■_■)
02:46 notviki https://github.com/rakudo/rakudo/commit/19df3584e68269f719bcc039c9c41d0f9ca4b793
02:46 dalek roast: 0f53a2d | (Zoffix Znet)++ | S (3 files):
02:46 dalek roast: Test .lines($limit)
02:46 dalek roast:
02:46 dalek roast: RT#130430:  https://rt.perl.org/Ticket/Display.html?id=130430
02:46 dalek roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/19df3584e68269f719
02:46 dalek roast: review: https://github.com/perl6/roast/commit/0f53a2d412
02:46 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130430
02:46 samcv well i'm going to start working on that sorting bug notviki
02:46 samcv if i can. well since regenerating the database messes things up. will see if i can add a collation order property and not have it mess up. though maybe could just script rebuilding it and then testing…
02:46 samcv and eventually it will pass?
02:46 samcv as long as it doesn't sort keys
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:52 AlexDaniel night
02:55 committable6 joined #perl6-dev
02:55 MasterDuke notviki++, AlexDaniel++
02:56 MasterDuke hey, at least i made $*ARGFILES.lines consistent!
02:57 AlexDaniel xDDD
03:08 dugword joined #perl6-dev
03:27 AlexDaniel by the way, feel free to reject some of my latest tickets if you have a good reason (but please write tests anyway)
03:27 AlexDaniel I'm going through a lot of stuff right now so chances are some of my tickets will be stupid
03:29 * geekosaur vaguely recalls the array one being a bug fix a couple months back?
03:30 geekosaur (where it was leaking Mu-s)
03:31 samcv woo! if this actually returns the right value, i added collation order property
03:32 samcv since there's no, register integer properties, i just used the binary one and set a higher bit width. so maybe will work
04:00 AlexDaniel MasterDuke: if you're here… perhaps you can also comment on this?
04:00 AlexDaniel commit: 2015.12,HEAD say lines.elems; say lines[0]
04:00 committable6 AlexDaniel, ¦«2015.12»: 10␤Nil␤¦«HEAD»: 10␤No such method 'pull-one' for invocant of type 'Any'␤  in block <unit> at /tmp/jI7GCjpjRx line 1␤ «exit code = 1»
04:01 AlexDaniel MasterDuke: this changed after your commit also
04:01 AlexDaniel I'm not sure which behavior makes more sense. Maybe you have some idea?
04:04 hoelzro joined #perl6-dev
04:09 AlexDaniel alright… and with about ⅙ done, now I have to get some sleep
04:10 MasterDuke AlexDaniel: hmm, i'll take a look
06:51 RabidGravy joined #perl6-dev
08:26 samcv m: say "a" cmp "a\x[308]";
08:26 camelia rakudo-moar 19df35: OUTPUT«Less␤»
08:26 samcv j: say "a" cmp "a\x[308]";
08:26 camelia rakudo-jvm 8ca367: OUTPUT«Less␤»
08:26 samcv j: say "b" cmp "a\x[308]";
08:26 camelia rakudo-jvm 8ca367: OUTPUT«More␤»
08:26 samcv m: say "b" cmp "a\x[308]";
08:26 camelia rakudo-moar 19df35: OUTPUT«Less␤»
08:27 samcv m: say "û" cmp "w"
08:27 camelia rakudo-moar 19df35: OUTPUT«More␤»
08:27 samcv j: say "û" cmp "w"
08:27 camelia rakudo-jvm 8ca367: OUTPUT«More␤»
08:27 samcv j: say "û" cmp "z"
08:27 camelia rakudo-jvm 8ca367: OUTPUT«More␤»
08:34 pyrimidine joined #perl6-dev
08:56 [Tux] This is Rakudo version 2016.12-131-g19df3584e built on MoarVM version 2016.12-23-g3c5253c6
08:56 [Tux] csv-ip5xs        3.271
08:56 [Tux] test            14.068
08:56 [Tux] test-t           5.282
08:56 [Tux] csv-parser      14.375
08:56 lizmat :-)
09:46 nine :/ this means that I have to speed up csv-ip5xs by 0.6 seconds to stay at 50 % of test-t's runtime. Where on earth should I find those?
09:46 yoleaux2 28 Dec 2016 02:04Z <notviki> nine: 6.c-errata version of t/spec/S11-modules/nested.t now fails on HEAD. with "No appropriate parametric role variant available for RoleB". What do we do?
09:46 yoleaux2 01:25Z <notviki> nine: 6.c-errata t/spec/S10-packages/precompilation.t also seems to fail one test: the not ok 22 - Twisty maze of dependencies, all different
09:46 nine .tell notviki they ah, probably need to port fixes from master to 6.c-errata
09:46 yoleaux2 nine: I'll pass your message to notviki.
09:53 * [Tux] would still be very interested to see the results of NativeCall with libcsv3 (which I did not manage to get working)
10:21 dogbert2 joined #perl6-dev
10:26 Ulti_ joined #perl6-dev
10:28 pyrimidi_ joined #perl6-dev
10:36 facetious joined #perl6-dev
10:36 TimToady joined #perl6-dev
11:07 notviki :(
11:07 yoleaux2 09:46Z <nine> notviki: they ah, probably need to port fixes from master to 6.c-errata
11:54 pyrimidine joined #perl6-dev
11:55 * notviki sees a problem with https://github.com/rakudo/rakudo/blob/nom/docs/language_versions.md#rakudo-branches
11:57 notviki Say the bot is building commit A, while I commit commit B and another user commits commit C, with bug fixes to nom, along with tests for them into roast. Bot goes in to build commit B, fetches roast to test stuff, but since roast now also has a test for commit C, testing of commit B fails and the bot no longer proceeds.
11:58 notviki Or another (and more "made up") scenario: user A breaks the build; the bot that updates the stable branch now sits and waits for a fix, while user A isn't that much in a hurry 'cause we got a stable branch and all that
12:00 notviki Feels like the multi-branch stuff creates more trouble and I see little benefit from it, since regulars will likely see right away which commit broke something.
12:00 notviki Seems like we should just stick with the same single-branch approach we currently do, except run a full stresstest + module testing, say nightly.
12:00 * notviki relocates
12:05 notviki damn heavy snow fall :/
12:05 notviki I wonder if anyone would notice if I don't show up to work today :o
12:10 samcv oh i think i know why it was failing
12:11 samcv when we have a negative value it fails as out of bounds
12:11 samcv and we need to compare based on that pseudocodepoint
12:12 samcv \o/ nqp is compiling
12:12 notviki fuck it... #YOLO
12:15 samcv uh is there a way i can generate a new nqp from the stages?
12:15 samcv cause that's where it's failnig but my own nqp and rakudo work fine
12:15 samcv not sure wtf is going on
12:19 samcv ok actually was able to run nqp spectests
12:19 samcv got some failing
12:19 samcv at least can debug now
12:21 samcv looks like jnthn thinks it should be its own op. will do that
12:21 samcv he knows better than I
12:47 notviki .tell [Coke] I see you rejected RT#124818 but there are fudges for it in t/spec/S32-num/int.t; Those should be removed, right?
12:47 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=124818
12:47 yoleaux2 notviki: I'll pass your message to [Coke].
13:09 notviki My nqp-foo isn't strong enough for RT#130431
13:09 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130431
13:09 notviki Can't figure out how to get the cake and eat it too, I can either make it create a new self.WHAT object OR handle huge values like 2⁶⁴ correctly
13:09 notviki Other than doing something stupid, like coercing it to Str and then using nqp::fromstr_I
13:27 dalek roast: 99f7d69 | (Zoffix Znet)++ | S32-num/rat.t:
13:27 dalek roast: Test Rat.Range excludes endpoints
13:27 dalek roast:
13:27 dalek roast: RT#130427: https://rt.perl.org/Ticket/Display.html?id=130427#ticket-history
13:27 dalek roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/347271d214198a700
13:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130427
13:27 dalek roast: review: https://github.com/perl6/roast/commit/99f7d695a6
13:33 samcv added an op to nqp <samcv> Unhandled exception: Bytecode validation error at offset 20, instruction 4:
13:33 samcv anybody know the magic i need to use to fix this
13:33 samcv is it caused by precomp or stage 0?
13:35 pyrimidi_ joined #perl6-dev
13:47 nine samcv: did you add your op at the end of oplist but before the spesh ops?
13:48 samcv yeah i just did it now
13:48 nine samcv: rakudo adds its own ops. After adding ops to moarvm you need to clean and recompile rakudo
13:48 samcv need to add to QAST?
13:49 samcv oh
13:49 samcv just interp.c
13:50 samcv does the order in interp.c matter?
13:51 samcv wooo it's compiling
13:52 samcv :))
13:52 lizmat whee!   :-)
13:53 samcv now building rakudo
13:56 samcv dammit Arg count 2 doesn't equal required operand count 5 for op 'unicmp_s'
13:56 samcv the others aren't required tho
13:56 samcv NYI currently anyway
13:58 samcv hm
14:22 [Coke] notviki: you added the tests six months after I rejected the ticket, yes, they shouldn't have gone in.
14:22 yoleaux2 12:47Z <notviki> [Coke]: I see you rejected RT#124818 but there are fudges for it in t/spec/S32-num/int.t; Those should be removed, right?
14:22 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=124818
14:22 MasterDuke m: use nqp; my int $a = 2; if nqp::isint($a) { say($a) }
14:22 camelia rakudo-moar 19df35: ( no output )
14:23 MasterDuke nqp: my int $a = 2; if nqp::isint($a) { say($a) }
14:23 camelia nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " 2; if nqp"␤   at gen/moar/stage2/NQPHLL.nqp:765  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from <unknown>:1  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moa…»
14:23 MasterDuke nqp: my int $a := 2; if nqp::isint($a) { say($a) }
14:23 camelia nqp-moarvm: OUTPUT«2␤»
14:23 [Coke] So there's a Perl 6 book which now, which claims to support version 6.0.0 of the spec.
14:23 [Coke] Hopefully that's just on the landing page and not in the book proper.
14:24 MasterDuke j: use nqp; my int $a = 2; if nqp::isint($a) { say($a) }
14:24 camelia rakudo-jvm 8ca367: ( no output )
14:25 MasterDuke what am i missing about nqp::isint()?
14:26 [Coke] you're running it moar in nqp, and java in rakudo?
14:27 geekosaur nqp-j: my int $a := 2; if nqp::isint($a) { say($a) }
14:27 geekosaur hm, no such?
14:28 geekosaur oh
14:28 geekosaur nqp-jvm: my int $a := 2; if nqp::isint($a) { say($a) }
14:28 camelia nqp-jvm: OUTPUT«[thread 139808105064192 also had an error]␤#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/camelia/hs_err_pid30222.log␤[thread 1398081029…»
14:28 geekosaur bleh
14:28 geekosaur (nqp-j could be nqp-jvm or nqp-js, apparently)
14:28 notviki [Coke]: no I didn't. moritz did in 2009
14:29 MasterDuke [Coke]: not sure what you mean. i tried both rakudo-[moar,jvm] and nqp-moar
14:30 MasterDuke j: use nqp; my num $a = 2e0; if nqp::isnum($a) { say($a) }
14:30 camelia rakudo-jvm 8ca367: ( no output )
14:30 MasterDuke m: use nqp; my num $a = 2e0; if nqp::isnum($a) { say($a) }
14:30 camelia rakudo-moar 19df35: ( no output )
14:33 MasterDuke p6: use nqp; my Mu $a = 2; if nqp::isint($a) { say("int $a") }; if nqp::isnum($a) { say("num $a") };
14:33 camelia rakudo-moar 19df35: ( no output )
14:33 MasterDuke j: use nqp; my Mu $a = 2; if nqp::isint($a) { say("int $a") }; if nqp::isnum($a) { say("num $a") };
14:33 camelia rakudo-jvm 8ca367: ( no output )
14:34 [Coke] notviki: ah. I didn't click through to the commit, just basing that on your comment, obv. Apologies.
14:34 MasterDuke so not sure how these lines would work: https://github.com/rakudo/rakudo/blob/nom/src/core/Cursor.pm#L58-L62
14:36 MasterDuke bisect: use nqp; my int $a = 2; if nqp::isint($a) { say($a) }
14:36 bisectable6 MasterDuke, On both starting points (old=2015.12 new=19df358) the exit code is 0 and the output is identical as well
14:36 bisectable6 MasterDuke, Output on both points:
14:37 samcv payload: don't change grammar in the setting, please!
14:37 MasterDuke commit: all use nqp; my int $a = 2; if nqp::isint($a) { say($a) }
14:37 samcv sorry rakudo :(
14:37 committable6 MasterDuke, https://gist.github.com/fb1c1c1153e8c705e8f4826c0e80f336
14:38 samcv how do i fix :(
14:40 MasterDuke m: use nqp; if nqp::isint(2) { say('int!') }
14:40 camelia rakudo-moar 19df35: ( no output )
14:42 [Coke] nqp: my $a := 3; nqp::say($a); nqp::say(nqp::isint($a));
14:42 camelia nqp-moarvm: OUTPUT«3␤1␤»
14:43 MasterDuke nqp: my $a := 2; if nqp::isint($a) { say($a) }
14:43 camelia nqp-moarvm: OUTPUT«2␤»
14:43 MasterDuke nqp: my int $a := 2; if nqp::isint($a) { say($a) }
14:43 camelia nqp-moarvm: OUTPUT«2␤»
14:43 MasterDuke !!!
14:43 [Coke] nqp types ain't necessarily p6 types.
14:44 [Coke] what are you trying to do here? why not use ~~ Int ?
14:44 samcv [Coke], know why i get that
14:44 samcv <samcv>   payload: don't change grammar in the setting, please!
14:44 MasterDuke [Coke]: i want something faster than a smartmatch
14:44 [Coke] samcv: why you get what?
14:44 samcv ^^
14:45 [Coke] MasterDuke: are you trying to speed up something in core?
14:45 [Coke] samcv: what's the context? what are you doing? where are you getting it? is it an IRC response? it looks like it's coming from you.
14:45 samcv adding a thingy
14:45 samcv no compiling
14:45 samcv rakudo
14:45 [Coke] ... that isn't context.
14:45 samcv added an infix sub
14:46 samcv to Str.pm
14:46 [Coke] Oh. you have a local patch to rakudo that causes it not to compile?
14:46 [Coke] show the patch.
14:46 samcv k
14:47 samcv https://gist.github.com/samcv/76e8377e88f5c3d59b8e512b270c5c7b#file-str-pm-L2750
14:47 samcv 250-254
14:48 samcv not sure if i want this name but wanted to test and 'compare' if you will
14:48 [Coke] ... that's not a patch. :|
14:48 samcv yes
14:48 samcv it's 4 lines though
14:48 samcv i can actualy make an actual patch tho :P
14:48 [Coke] ... what's 2750?
14:49 dalek roast: b4da789 | (Zoffix Znet)++ | S32-num/int.t:
14:49 dalek roast: Toss fudge for rejected ticket
14:49 dalek roast: review: https://github.com/perl6/roast/commit/b4da789b94
14:49 samcv i linked to the line
14:49 [Coke] (which is highlighted in the original URL? anything?)
14:49 [Coke] "the line" which line?
14:49 [Coke] the one causing the error?
14:49 [Coke] er, s/causing the/reported by/ ?
14:49 samcv Stage parse      : Error while compiling, type X::Comp::AdHoc
14:49 samcv payload: don't change grammar in the setting, please!
14:49 samcv at line 16358, near "(|) { * }\n"
14:50 samcv 2750 the line i linked is what it errors on
14:50 [Coke] lines 250 to 254 are ) ) ) }
14:50 geekosaur the link points to line 2750 of the file, which is the added line which leads to the error
14:50 [Coke] So, I am super confused about what you're talking about.
14:50 geekosaur evidently
14:50 samcv uh
14:50 samcv 2750
14:50 samcv 2_750
14:50 [Coke] clarity definitely helps in bug reporting. :|
14:51 samcv sorry. i am tired :\
14:51 samcv need to pass out shortly
14:52 samcv https://gist.github.com/bc500628a39aa168444f2e07e2e6806b
14:52 samcv diff
14:54 [Coke] samcv: note that there are no other proto sub infix:<>s in that file.
14:54 MasterDuke [Coke]: yeah, Cursor.MATCH
14:54 [Coke] (all the other protos are not operators.)
14:54 samcv ah ok thanks [Coke]
14:55 samcv :D
14:55 [Coke] I would remove the proto and see if that fixes it. :)
14:55 [Coke] gotta run. good luck.
14:58 samcv m: say 'i' cmp 'ı'
14:58 camelia rakudo-moar 19df35: OUTPUT«Less␤»
14:59 samcv m: say 'u' cmp 'ū'
14:59 camelia rakudo-moar 19df35: OUTPUT«Less␤»
15:01 samcv m: say 'ₐ' cmp 'a'
15:01 camelia rakudo-moar 19df35: OUTPUT«More␤»
15:01 samcv m: say 'ₐ' cmp 'z'
15:01 camelia rakudo-moar 19df35: OUTPUT«More␤»
15:01 samcv cool :) working
15:01 samcv time to make spectest
15:03 samcv j: say 'ₐ' cmp 'z'
15:03 camelia rakudo-jvm 8ca367: OUTPUT«More␤»
15:04 samcv the jvm seems inconsistant with how it compares them
15:05 samcv unless it's just the random times when MVM is comparing an internal negative integer hm
15:05 samcv well, will know more after spectest
15:09 * samcv gets confused
15:09 samcv # expected: anything except '"Bag|Str|a(1) Str|b(1) Str|c(1)"'
15:09 samcv #      got: '"Bag|Str|a(1) Str|b(1) Str|c(1)"'
15:10 samcv oh
15:10 samcv misread that. it is late
15:10 samcv hm
15:10 samcv faulty WHICH creation
15:11 samcv interesting
15:11 samcv # Failed test 'Method .Bag works on List-2'
15:11 samcv # at t/spec/S02-types/bag.t line 413
15:11 samcv # expected: 'Now:1 Paradise:1 a:1 b:2 cross-handed:1 set:1 the:2 was:1 way:1'
15:11 samcv #      got: 'a:1 b:2 cross-handed:1 Now:1 Paradise:1 set:1 the:2 was:1 way:1'
15:12 samcv bad test
15:12 samcv is showkv(@a.Bag), "Now:1 Paradise:1 cross-handed:1 set:1 the:2 was:1 way:1", "Method .Bag works on Array-2";
15:13 samcv since the order isn't guaranteed for that right
15:14 samcv m: my @a = <Now the cross-handed set was the Paradise way>; showkv(@a.Bag).say
15:14 camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    showkv used at line 1␤␤»
15:15 samcv oh i see
15:15 samcv they just wrote a showkv function or whatever
15:15 samcv and test the result as a string. lame
15:16 samcv i like the sorting of the second one better
15:16 samcv it's actually alphabetic
15:18 samcv m: say <z z A c d e f>.sort
15:18 camelia rakudo-moar 19df35: OUTPUT«(A c d e f z z)␤»
15:18 samcv m: say <z Z a c d e f>.sort
15:18 camelia rakudo-moar 19df35: OUTPUT«(Z a c d e f z)␤»
15:18 samcv yeah i don't like that
15:21 samcv if we wanted to actually do it by codepoint may make more sense to do <=>. atm that only works on numbers
15:41 samcv here is the Spectest btw https://gist.github.com/b480f2bf2f099c54712794559903e874
15:41 samcv suprised it failed only a few which from what i have seen mostly test unordered datatypes against a stringified version
15:44 notviki the lines, argfiles and combination failures are 'cause you don't have the latest and gratest rakudo
15:45 samcv ah k
15:45 samcv so we are basically not faliing anything testing cmp specifically
15:45 samcv gonna go through some other more files
15:45 notviki and t/spec/S32-num/rat.rakudo.moar too most likely due to too-old rakudo
15:46 samcv kk
15:47 dalek roast: 39a7433 | samcv++ | S02-types/bag.t:
15:47 dalek roast: change bag.t to not rely on sorting of Upper vs Lower chars
15:47 dalek roast:
15:47 dalek roast: We had a sub inside the test file to get the keys and the values of the
15:47 dalek roast: Bag and then test a stringified version. Change the uppercase letters to
15:47 dalek roast: lowercase.
15:47 dalek roast: review: https://github.com/perl6/roast/commit/39a7433f90
15:47 samcv this change passes on both the cmp change and without
15:49 samcv what about t/spec/S32-list/combinations.t .................................... Dubious, test returned 3
15:49 notviki "notviki │ the lines, argfiles and combination failures"....
15:52 samcv i think i need some caffeine
15:52 notviki !\
15:52 notviki Good idea!
15:52 nine mmmh caffeine
15:53 samcv uhm i'm failing a 2010 advent test...
15:54 samcv sort by word length, then default the test says
15:55 notviki samcv: but the 6.c spec will still fail?
15:55 notviki The bag.t I mean
15:55 samcv oh
15:55 samcv let me check
15:55 samcv how do i best test 6.c spec
15:55 notviki checkout 6.c-errata in the roast repo
15:56 samcv yes
15:56 samcv how to fudge all?
15:56 * notviki doesn't understand the question
15:56 samcv so i have it checked out. how do i run it locally
15:57 samcv instead of having it pull the repo itself
15:57 samcv i have 6.c-errata checked out in ../roast
15:57 notviki make spectest
15:57 samcv uhm
15:57 notviki check it out in t/spec
15:57 samcv ok
15:57 notviki and run make spectest
15:57 notviki or make stresstest
15:58 samcv thanks :)
15:58 notviki samcv: you do know about TEST_JOBS thing right?
15:58 * samcv goes and gets coffee
15:58 samcv nope :)
15:58 samcv ENV var?
15:58 dogbert2 lizmat: are you around?
15:59 notviki samcv: it tells `make spectest`/`make stresstest` how many jobs to run simultaneously. The sweetspot IME is (numberofcores * 1.3).Int
15:59 notviki makes it run much faster.
15:59 samcv cores or threads?
16:00 notviki cores on your processor
16:00 * samcv has 4 threads ond 2 cores
16:00 samcv k
16:00 notviki threads I guess then
16:00 samcv hm
16:00 notviki Try different values, see what makes it faster
16:00 samcv what do you get for `nproc` in terminal?
16:01 notviki 24
16:02 notviki and TEST_JOBS=30
16:02 samcv nice
16:03 samcv i wish i had that many cores :\
16:03 samcv this is way faster. great
16:04 * samcv goes and gets some caffeine
16:05 notviki mproc=4/TESTS_JOBS=7 on my home box
16:06 samcv awesomely none of the unicode stuff was failing
16:06 samcv remember before when i added properties and things it screwed it all up :)
16:06 samcv and the script to generate the database now has a sub to generate int properties
16:06 samcv i think that may be what made it work fine. because the enum code is buggy
16:20 samcv notviki, passed a bench of todo's
16:20 samcv uhm. looks like some may not have run
16:21 samcv hmm ok
16:21 notviki that likely means they crashed while parsing
16:21 samcv mostly alright i think but i am going to look at each one
16:21 notviki failed to compile I mean
16:22 samcv Parse errors: No plan found in TAP output
16:22 notviki yup
16:22 notviki plan is printed at the start of runtime, so if it fails to compile no plan is printed
16:22 notviki $ type 6p
16:22 notviki 6p is aliased to `prove -e './perl6' -vlr '
16:23 notviki I just run 6p t/spec/file.t (or file.rak[TAB]) on those
16:23 notviki To get detailed info
16:23 notviki I think there's another way to do that simpler with t/fudgeandrun or something
16:24 samcv hmm
16:24 samcv # Failed test 'Twisty maze of dependencies, all different'
16:24 samcv # at t/spec/S10-packages/precompilation.rakudo.moar line 60
16:24 samcv # expected: $["C", "D", "E", "F", "H", "K", "N", "P", "R", "S"]
16:24 samcv #      got: $["C", "F", "K", "P"]
16:25 samcv use Example2::T;
16:25 samcv use Example2::G;
16:25 samcv use Example2::F;
16:25 samcv use Example2::A;
16:25 samcv use Example2::U;
16:25 samcv does that pass for you?
16:28 samcv t/spec/S10-packages/basic.rakudo.moar ..
16:28 samcv ===SORRY!=== Error while compiling /home/samantha/git/rakudo/t/spec/S10-packages/basic.rakudo.moar
16:28 samcv Undeclared name:
16:28 samcv Foo used at line 257
16:28 samcv are these related to the changes with modules and scope?
16:28 samcv or is something weird happening
16:30 notviki samcv: oh, right forgot about those. The Twisty mase is fine
16:30 samcv kk
16:30 notviki and t/spec/S10-packages/basic.r... ummm
16:30 * notviki checks
16:30 samcv fine? as in
16:30 samcv fine that it failed or the test is fine
16:31 notviki Well, it sucks that it failed, but it's not due to your changes
16:31 * notviki waits for compile to be done to test t/spec/S10-packages/basic.t
16:31 notviki t/spec/S11-modules/nested.t  is also "fine"
16:32 notviki damn, how did we accumulate so many 6.c-errata failures -_-
16:32 notviki May as well merge abstract's set PR
16:33 notviki I didn't want to merge because we'd have to.... basically improve... a test file and hide a bug
16:33 notviki But if all this stuff is failing, who am I kidding :/
16:34 samcv i need more caffeine. my drink is out.
16:34 AlexDaniel this is roughly 1/6 of the tickets I'm about to submit. If anybody has any objections to what I'm doing, please speak up now :)
16:34 samcv which one
16:34 samcv the module one?
16:35 AlexDaniel I mean this: https://rt.perl.org/
16:35 notviki oh god... .splice :o
16:35 AlexDaniel notviki: yea… I know :|
16:35 notviki m: [].^lookup('splice').candidates.elems.say
16:35 camelia rakudo-moar 19df35: OUTPUT«31␤»
16:35 samcv notviki, that's the only test i failed
16:35 samcv well
16:35 AlexDaniel notviki: well, it conveniently prints all candidates when you pass a range!
16:35 samcv precompilation and nested.t
16:36 samcv all the others are fine and i passed a ton of todo's
16:36 notviki samcv: yeah,  t/spec/S11-modules/nested.t  fails for me too :(
16:36 samcv ton = 18
16:36 samcv dunno if we were passing those before
16:37 * notviki is having an existential crisis
16:37 samcv does precomp fail?
16:37 samcv well sometimes tests are written badly :P
16:37 samcv and sometimes. idk
16:37 samcv it's ok to freak out
16:37 notviki AlexDaniel finding a ton of tickets, 6.c-errata has failures for the first time since I came in, I've seen the horrors of our IO stuff....
16:37 * notviki weeps
16:38 notviki samcv: they likely fail due to new module loading system
16:38 AlexDaniel come on, it's not so bad! Look at our performance graph!
16:38 AlexDaniel notviki: performance
16:38 AlexDaniel oops
16:38 AlexDaniel buggable: performance
16:38 buggable AlexDaniel, ▅▅▆▅▅▆▆▄▅▅▅▄▅▅▅▅▅█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▃▃▃▂▂▂▂▂▂▂▁▁▁▁▂▁ data for 2016-12-07–2016-12-29; variance: 5.137s–7.592s
16:38 AlexDaniel look!
16:38 samcv ^
16:38 samcv and we will have proper sorting soon!
16:39 AlexDaniel proper sorting?
16:39 samcv yeah
16:39 samcv m: say <a Z y b c d R>.sort
16:39 camelia rakudo-moar 19df35: OUTPUT«(R Z a b c d y)␤»
16:39 samcv not alphabetical
16:39 samcv and totally gets screwed with diacritics
16:39 * nine will have a look at those failing 6.c-errata tests when he's home
16:39 samcv i already have it implemented for moarvm and nqp op
16:40 notviki AlexDaniel: it's still order(s) of magnitude worse than our competitors, so you're not cheering me up there.
16:40 samcv just have to make sure we can pass all the tests. looks like 6.c is fine
16:40 samcv and the ones in master we're failing are mostly due to poor writen tests
16:40 samcv like sorting a hash and then testing the stringified value
16:42 notviki samcv: I don't get how it's passing, considering 6.c-errata has the same test you had to tweak in master: https://github.com/perl6/roast/blob/6.c-errata/S02-types/bag.t#L406-L413
16:43 samcv oh it does
16:43 samcv yes, sorry was still going through the errors hadn't gotten to the bottom
16:43 samcv or wherever
16:47 notviki AlexDaniel: hahaha
16:47 notviki AlexDaniel: "the amount of candidates printed is insane"
16:47 notviki AlexDaniel: the fix for Cool would probably need like 9 more candidates or something
16:47 AlexDaniel shit xDDD
16:48 notviki m: say <Whatever Int Cool Callable>.combinations(2)*2+1
16:48 camelia rakudo-moar 19df35: OUTPUT«13␤»
16:48 AlexDaniel notviki: how did it work previously?
16:48 notviki hmmm
16:48 notviki m: say <Whatever Int Cool Callable>.combinations(2)
16:48 camelia rakudo-moar 19df35: OUTPUT«((Whatever Int) (Whatever Cool) (Whatever Callable) (Int Cool) (Int Callable) (Cool Callable))␤»
16:48 samcv can i do
16:48 notviki oh
16:49 notviki m: say ([X] <Whatever Int Cool Callable>)*2+1
16:49 camelia rakudo-moar 19df35: OUTPUT«3␤»
16:49 notviki -_-
16:49 notviki m: say [X] <Whatever Int Cool Callable>
16:49 camelia rakudo-moar 19df35: OUTPUT«((Whatever Int Cool Callable))␤»
16:49 samcv m: use Test; is <a b a>.Bag, a=>2, b=>1
16:49 camelia rakudo-moar 19df35: OUTPUT«Cannot resolve caller is(Bag, :a(Int), :b(Int)); none of these signatures match:␤    (Mu $got, Mu:U $expected, $desc = "")␤    (Mu $got, Mu:D $expected, $desc = "")␤  in block <unit> at <tmp> line 1␤␤»
16:49 notviki m: say [X] <Whatever Int Cool Callable> xx 2
16:49 camelia rakudo-moar 19df35: OUTPUT«((Whatever Whatever) (Whatever Int) (Whatever Cool) (Whatever Callable) (Int Whatever) (Int Int) (Int Cool) (Int Callable) (Cool Whatever) (Cool Int) (Cool Cool) (Cool Callable) (Callable Whatever) (Callable Int) (Callable Cool) (Callable Callable))␤»
16:49 notviki m: say ([X] <Whatever Int Cool Callable> xx 2)*2+1
16:49 camelia rakudo-moar 19df35: OUTPUT«33␤»
16:49 notviki m: [].^lookup('splice').candidates.elems.say
16:49 camelia rakudo-moar 19df35: OUTPUT«31␤»
16:49 samcv m: use Test; is <a b a>.Bag, :a(2), :b(1)
16:49 camelia rakudo-moar 19df35: OUTPUT«Cannot resolve caller is(Bag, :a(Int), :b(Int)); none of these signatures match:␤    (Mu $got, Mu:U $expected, $desc = "")␤    (Mu $got, Mu:D $expected, $desc = "")␤  in block <unit> at <tmp> line 1␤␤»
16:50 samcv oh duh
16:50 samcv m: use Test; is <a b a>.Bag.Hash, (:a(2), :b(1))
16:50 camelia rakudo-moar 19df35: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: $(:a(2), :b(1))␤#      got: (my Any %{Any} = :a(2), :b(1))␤»
16:51 notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars)*3 + 1
16:51 camelia rakudo-moar 19df35: OUTPUT«4␤»
16:52 notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars xx 2)*3 + 1
16:52 camelia rakudo-moar 19df35: OUTPUT«28␤»
16:52 notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars xx 2)*3 + 1 + @vars
16:52 camelia rakudo-moar 19df35: OUTPUT«31␤»
16:52 notviki there
16:52 notviki m: my @vars = <Whatever Int Cool Callable>; say ([X] @vars xx 2)*3 + 1 + @vars
16:52 camelia rakudo-moar 19df35: OUTPUT«53␤»
16:52 notviki m: say 53 - 31
16:52 camelia rakudo-moar 19df35: OUTPUT«22␤»
16:52 notviki AlexDaniel: 22 new candidates :)
16:52 notviki How it worked in the past? Slow.
16:52 AlexDaniel cool, bring them on! XD
16:52 notviki heh
16:53 AlexDaniel 53 is not much worse than 31 :D
16:53 samcv m:     is (a => 100000).BagHash), :a(100000), "(a => 100000).BagHash is bag a:100000";
16:53 camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unexpected closing bracket␤at <tmp>:1␤------> is (a => 100000).BagHash⏏), :a(100000), "(a => 100000).BagHash is␤»
16:53 AlexDaniel perhaps I can add the number of splice candidates to statisfiable
16:53 samcv m:     is (a => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
16:53 camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    is used at line 1␤␤»
16:53 samcv m: use Test     is (a => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
16:53 camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    is used at line 1␤␤»
16:54 samcv m: use Test; is (a => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
16:54 camelia rakudo-moar 19df35: OUTPUT«Unexpected named argument 'a' passed␤  in sub is at /home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E (Test) line 128␤  in block <unit> at <tmp> line 1␤␤»
16:54 samcv m: use Test; is ('a' => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
16:54 camelia rakudo-moar 19df35: OUTPUT«Unexpected named argument 'a' passed␤  in sub is at /home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E (Test) line 128␤  in block <unit> at <tmp> line 1␤␤»
16:54 samcv bleh
16:57 AlexDaniel By the way, thanks to everyone who writes proper commit messages. You made my life so much easier
16:57 notviki \o/
16:58 samcv git commit -m "fix it"
16:58 samcv ^ all anybody will ever need
16:58 samcv :^)
16:58 AlexDaniel a good example: https://github.com/rakudo/rakudo/commit/e0a415f453737aaaaed8d72ae0dd22d6474be0d4
16:58 AlexDaniel not only it tells what was changed, but it gives a good enough justification on why it was done
16:59 samcv notviki++
16:59 AlexDaniel actually, most rakudo commits are like this, so everyone++
16:59 AlexDaniel I just wanted to stress how useful it is sometimes
17:04 samcv yeah i agree
17:04 samcv i think our commits are pretty good compared to some other projects
17:05 samcv https://github.com/MoarVM/MoarVM/pull/474/commits/288238c10fd31b2908a9411724ff8573372a279a i think this is a clear commit yes?
17:05 samcv i'm rebasing and explaining before i get this merged into moar
17:05 samcv does not change any existing things in nqp or rakudo, adds a new op
17:06 samcv i should probbaly add to that, that currently the last three arguments are NYI
17:06 nine might be helpful, yes :)
17:06 samcv and maybe explain that the _example_ is for Latin. that's not default. default is language insensitive
17:07 samcv well you can pass them. it just won't do anything
17:07 samcv so far only primary is implemented anyway, and if primary matches we match by codepoint. which actually does the proper thing for most Latin script cases of Case differences
17:07 samcv well probably ALL
17:08 samcv other languages may be a little different. but none of the changes is worse than before
17:08 samcv since we fallback to codepoint comparing if they are the same primary
17:10 samcv and similar happens with diacritic as well so that isn't _perfect_ but primary is most important
17:10 samcv and secondary and ternary properties are already implemented, just we don't use them in moarvm
17:10 samcv but you can look at the properties with uniprop('MVM_COLLATION_PRIMARY') or SECONDARY or TERNARY
17:12 samcv oh btw. if we do switch over Rakudo to use this for cmp
17:12 pyrimidine joined #perl6-dev
17:12 samcv you can always do $a.ords cmp $b.ords
17:12 samcv if you really do want to compare the codepoints
17:12 samcv or NFC or NFD etc whatever you want
17:13 samcv but i think as the user by default it should sort without you having to think about unicode things
17:13 samcv because the codepoints really shouldn't matter, or we should try to make it not matter
17:13 samcv unless you want that
17:13 samcv like with regex
17:17 samcv theoretically we should be able to throw out unicode and put something else in and have it still work the same with cmp. because the codepoint numbers are becoming less and less useful
17:17 samcv i mean that was already the case like years and years ago
17:22 dalek roast/6.c-errata: d5b2620 | samcv++ | S02-types/bag.t:
17:22 dalek roast/6.c-errata: sort using $^a.ords cmp $^b.ords to ensure order never changes
17:22 dalek roast/6.c-errata:
17:22 dalek roast/6.c-errata: We are testing an unordered data structure, so let's make sure that
17:22 dalek roast/6.c-errata: any changes to collation order don't ruin the test. The test results are
17:23 dalek roast/6.c-errata: just strings to tests the values of the Bag, and assume that uppercase
17:23 dalek roast/6.c-errata: A will sort before lowercase z for example.
17:23 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/d5b2620a31
17:26 dalek roast/6.c-errata: 8afc2fe | samcv++ | S02-types/baghash.t:
17:26 dalek roast/6.c-errata: Also use sort({$^a.ords cmp $^b.ords}) for baghash.t
17:26 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/8afc2fe02f
17:26 samcv running spectest again
17:30 samcv gonna just gist it automatically now # make spectest >&2 | pee 'sponge | gist'
17:31 samcv pee is a really useful command, and so is sponge
17:31 samcv pee is like tee, but instead of thing | tee file.txt | whatever
17:31 samcv thing | pee 'first command to pipe to' 'second command to pipe to'
17:31 samcv and if you don't specify a 2nd thing it just goes to stdout
17:32 geekosaur or there's zsh with multios :p
17:33 jmerelo joined #perl6-dev
17:33 samcv multios?
17:33 samcv pee and tee are in moreutils btw
17:33 samcv all distros have it, but usually not installed by default. part of the GNU project
17:35 jmerelo hi, people
17:36 notviki Not all of use are people!
17:37 jmerelo Hi, people and bots that have committed themselves to Asimov's 4 laws of robotics
17:37 geekosaur samcv, it's a zsh option, gives it extra redirection syntaxes http://zsh.sourceforge.net/Doc/Release/Redirection.html#Multios
17:37 jmerelo Sentient plants, magic rocks, pixies and Skynet's twice removed cousin.
17:37 geekosaur although did you really want >&2 there, or 2>&1?
17:37 notviki Dude! Spoiler alert!
17:38 jmerelo Ah, and @notviki!
17:38 jmerelo Thing is
17:38 jmerelo I have added a bunch of constants to Perl6
17:38 jmerelo All of them unneeded in pretty much the same way as tau
17:38 notviki -_-
17:39 jmerelo Worth the while to do the pull request? I have checked out pi in roast and I can reproduce it for the rest of the constants, no big deal. Maybe call it constants.t
17:39 jmerelo But I guess it's first rakudo and then roast, right?
17:39 jmerelo Anyway
17:40 jmerelo While I was at it I found a kind-of but when defining constants there. If you use an expression, like
17:40 notviki You want to submit a pull request for a bunch of... and I quote... "unneeded" constants? :/
17:40 jmerelo That's absolutely correct.
17:41 notviki jmerelo: are you brrt?
17:41 jmerelo Not really.
17:41 jmerelo Right now we have tau, pi and e in core.
17:41 jmerelo So every time that shows up, people say 2 things
17:41 jmerelo first, what is tau
17:41 notviki hm... are you https://twitter.com/jjmerelo ?
17:41 jmerelo Yep, that me
17:41 jmerelo second, why not phi?
17:42 jmerelo So I have added phi, and Planck's constant, and 3 or 4 more.
17:42 notviki Are you the author? https://perl6advent.wordpress.com/2016/12/09/a-preview-of-the-hackable-jit-compiler/
17:42 jmerelo not that JJ
17:42 jmerelo that's probably JJ Allen
17:43 jmerelo I'm the one with the Git Hooks. Same day, I think.
17:43 notviki Is that you? http://en.gravatar.com/jjmerelo
17:44 jmerelo yep. This JJ http://perladvent.org/2016/2016-12-07.html
17:44 jmerelo Different advent calendar, different day
17:44 notviki For some reason I thought that pic was brrt, when I saw that article it showed up on it
17:44 notviki But maybe it was in the "likes" at the bottom that I see it show up
17:44 notviki Well, never mind...
17:44 jmerelo yes, that was probably me.
17:44 dalek roast/6.c-errata: a941180 | niner++ | S1 (3 files):
17:45 dalek roast/6.c-errata: Fixup tests for lexical module loading
17:45 dalek roast/6.c-errata:
17:45 dalek roast/6.c-errata: We now need to explicitly use modules if we want to use their symbols and can
17:45 dalek roast/6.c-errata: no longer rely on them being loaded by one of our dependencies.
17:45 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/a94118023b
17:45 nine notviki: 6.c-errata passes again :)
17:45 jmerelo So, it's not worth the while, right?
17:46 AlexDaniel jmerelo: this actually does not sound so bad
17:46 * notviki shakes head
17:46 AlexDaniel jmerelo: maybe create an RFC ticket first?
17:46 notviki jmerelo: well, what's the usecase? I rather not add "useless" stuff with the justification that we already have some "useless" stuff
17:47 AlexDaniel perhaps one or two of these constants are actually common or useful
17:47 jmerelo Just pushed it here https://github.com/JJ/rakudo/commit/97b276c602c8f73452ab0f7f82cebed7a17d3237
17:47 * notviki fails to find what constains are being added in backlog
17:48 jmerelo @AlexDaniel could do that. Where? @notviki I can think of usecases and add them to that ticket.
17:48 nine Why not put them into some Math module?
17:49 AlexDaniel “plancks-reduced-h” looks awful, φ and phi maybe ok
17:49 AlexDaniel that's a good question also
17:49 notviki jmerelo: I'm -1 on it.
17:49 notviki jmerelo: especially the G...
17:50 notviki no idea what phi even used for
17:50 AlexDaniel huggable: rakudobug
17:50 huggable AlexDaniel, rakudobug@perl.org or use perl6 query on http://rt.perl.org ; see https://github.com/rakudo/rakudo/#reporting-bugs
17:50 AlexDaniel jmerelo: ↑ there
17:50 jmerelo h, g and C go toghether. You can build a whole lot of Physics with them.
17:50 AlexDaniel jmerelo: or, as nine said, create a module first
17:50 jmerelo OK, I can do that.
17:50 jmerelo Anyway, I think I found a kind-of bug while I was testing this.
17:50 notviki and C
17:50 notviki *c
17:51 AlexDaniel the thing with pi is that it is so fundamental that you don't really want to include a module just to get it
17:51 notviki jmerelo: well, right *physics*
17:51 samcv heer's an example of the collation level values:
17:51 samcv > "aA".uniprops('mvmcollationprimary') # (7239 7239)
17:51 samcv > "aA".uniprops('mvmcollationsecondary') # (32 32)
17:51 samcv > "aA".uniprops('mvmcollationtertiary') # (2 8)
17:51 moritz isn't c = 1 anyway?
17:51 notviki moritz++
17:51 notviki Right, the second thing is you're lacking units
17:51 notviki So it's useless to include them like that
17:51 jmerelo That's a good one. c is 1 in Planck's units
17:52 AlexDaniel and tau is just another pi. When we added tau there was already a module for it, by the way.
17:52 moritz phyiscal constants certainly don't belong in core
17:52 samcv first one that gets checked is primary and you can't ignore that one. well eventually WE will be able to do it
17:52 jmerelo Well, OK. Just forget it. Phi can be computed via (1+sqrt(5))/2 too.
17:52 samcv to only compare different characters based on caseing
17:52 jmerelo And while I'm at that
17:52 samcv for whatever reason
17:52 notviki AlexDaniel: "we already have crap" isn't a justification for more crap.
17:52 samcv cause why not
17:52 AlexDaniel jmerelo: no-no, a module will be nice
17:53 samcv at least the moarvm op will exist
17:53 AlexDaniel notviki: not sure how it relates to whatever I've just said :)
17:53 samcv should probably implement tertiary quickly
17:53 notviki ok
17:53 samcv though it really doesn't matter for most cases
17:54 jmerelo Have you ever tried to define a constant like so: my constant this-is-constant = (1+sqrt(5))/2?
17:54 notviki nope
17:54 notviki m: my constant this-is-constant = (1+sqrt(5))/2
17:54 camelia rakudo-moar 19df35: ( no output )
17:54 jmerelo It starts to increase the memory in the "parse" phase of compilation and eventually fills up the whole memory
17:54 notviki m: my constant this-is-constant = (1+sqrt(5))/2; say this-is-constant
17:54 camelia rakudo-moar 19df35: OUTPUT«1.61803398874989␤»
17:54 jmerelo just a second, I'll try to reproduce it.
17:54 notviki m: constant this-is-constant = (1+sqrt(5))/2; say this-is-constant
17:54 camelia rakudo-moar 19df35: OUTPUT«1.61803398874989␤»
17:56 notviki Maybe it was because of where in setting it was defined and it was infinilooping trying to find those math ops before they were fully added?
17:56 jmerelo right, I got it. Where can I upload an image?
17:56 notviki imgur.com
17:56 AlexDaniel gist.github.com
17:56 notviki wtf it can take images?
17:56 * notviki sees no button for that
17:57 jmerelo http://imgur.com/a/B1dPJ
17:57 jmerelo I just added my constant other-phi = (1+sqrt(5))/2; to Num.pm
17:59 jmerelo @notviki might be.
17:59 notviki well right and sqrt is part of Num.pm: https://github.com/rakudo/rakudo/blob/nom/src/core/Num.pm#L122
17:59 notviki though... then it'd say function not found
17:59 notviki But I'd guess that's why
17:59 AlexDaniel notviki: you just dragndrop it I think
17:59 notviki "that" being it doesn't have all of the math ops/types at that point yet
18:00 AlexDaniel ah no, doesn't work :O
18:00 AlexDaniel so it can only take svgs I think
18:00 AlexDaniel okay, sorry
18:00 jmerelo I would say sqrt is not to blame. Even simple operations hang it up and blow memory up. No error produced. It was increasing around 100K per second
18:01 notviki other ops are also in that file https://github.com/rakudo/rakudo/blob/nom/src/core/Num.pm#L339
18:04 jmerelo It's failing also with simply *
18:05 jmerelo Check this out http://imgur.com/a/a4RiM
18:05 jmerelo It was up to 2G already. Usually it does not take more than 1 gigabyte or so.
18:06 jmerelo Defining a constant via an operation hangs moar, I guess. So the bug is in moar, right?
18:06 notviki There's no bug.
18:07 jnthn If you're adding stuff to CORE.setting, you *must* account for the fact that various things don't exist yet.
18:07 jnthn For example, if a coercion method you rely on isn't yet declared at the time of the constant, it's easily possible to hit the case in Mu/Any and infinitely recurse
18:07 jmerelo OK
18:07 jnthn Types like Int/Num are stubbed early, but they don't get methods added until later on
18:08 jnthn And constant happens at BEGIN time
18:08 jmerelo OK
18:08 jnthn Putting the thing you're adding at the end of Num.pm could make a difference, for example.
18:08 pyrimidine joined #perl6-dev
18:09 jmerelo right, * is defined further down the file, in line 340
18:09 jnthn Also, various exception classes are defined later on, though in most cases we cope decently well with that by now rather than going off to recursion land.
18:09 jnthn If Moar can do anything here, it's suppose setting a recursion limit.
18:10 jnthn *to support
18:10 jmerelo Worth the while to file a bug report?
18:10 jmerelo Or is it something well known?
18:11 jnthn That you need to be careful about definition order when adding to things to CORE.setting is, at least here, well known. :)
18:11 jmerelo @notviki @jnthm thanks for the clarification.
18:11 jmerelo That should be @jnthn :-)
18:11 jnthn That we don't have any mechanism to set some kind of stack limit otoh would be a reasonable request
18:12 nine Everyone working on the setting gets hit by that sooner or later :)
18:12 jnthn (Since it would stop runaway programs eating all the memory creating stack frames)
18:12 notviki we have that now in user-space too
18:12 notviki m: Numeric * Numeric
18:12 camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of "*" in expression "Numeric * Numeric" in sink context (line 1)␤Use of uninitialized value of type Numeric in numeric context␤  in block <unit> at <tmp> line 1␤Use of uninitialized value of type Numeric in numeric …»
18:13 jnthn But once you add that you need a way to control the limit, and then the whole question of units comes up :)
18:13 notviki m: say Numeric.new * Numeric.new
18:13 camelia rakudo-moar 19df35: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤»
18:14 jmerelo OK, I'll raise the issue in MoarVM then. Thanks, @jnthn, @notviki, @nine, @AlexDaniel, you're great!
18:14 AlexDaniel m: 'hello' [&say] 'world'
18:14 camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of &say in sink context (line 1)␤helloworld␤»
18:14 AlexDaniel is it a useless warning or the user is not supposed to do something like this?
18:15 jnthn Well, note that then such a feature in MoarVM would also need adding some kind of controlling pragma in Perl 6 land, so it'd be relevant here also :)
18:15 AlexDaniel TimToady: ↑ ?
18:16 jnthn m: 'hello' [||] die 'oops'
18:16 camelia rakudo-moar 19df35: ( no output )
18:16 geekosaur AlexDaniel, looks to me like it thinks &say is a value instead of being invoked, so it's an incorrect warning (but possibly one that is hard to fix?)
18:16 jnthn m: 'hello' [+] die 'oops'
18:16 camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of "[+]" in expression "'hello' [+] die 'oops'" in sink context (line 1)␤oops␤  in block <unit> at <tmp> line 1␤␤»
18:16 geekosaur ... or maybe it's backwards
18:16 jnthn m: 'hello' [&infix:<+>] die 'oops'
18:16 camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of &infix:<+> in sink context (line 1)␤oops␤  in block <unit> at <tmp> line 1␤␤»
18:16 jnthn m: 'hello' [&infix:<||>] die 'oops'
18:16 camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of &infix:<||> in sink context (line 1)␤oops␤  in block <unit> at <tmp> line 1␤␤»
18:17 jnthn It seems to afflict all the function forms
18:17 AlexDaniel bisect: 'hello' [&say] 'world'
18:17 nine Considering how trivial it is to add a recursion counter to my code thanks to dynamic scope, I wonder if it'd be worth the trouble.
18:17 bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=19df358) because on both starting points the exit code is 0
18:17 bisectable6 AlexDaniel, bisect log: https://gist.github.com/2dcfd5f9cbea76b7064735d8ffd40752
18:17 bisectable6 AlexDaniel, (2016-12-15) https://github.com/rakudo/rakudo/commit/acece7b2f7a8614c40d832a76ff67be2a71d851a
18:17 jnthn nine: If we want to do it at VM level it'd be - for Moar at least - far better to have it expressed in bytes also.
18:17 jnthn (Bytes of space allowed to be used for the call stack)
18:18 jnthn Moar doesn't cheaply know how many user-level frames deep it is.
18:18 AlexDaniel m: eager ‘hello’ [&say] ‘world’
18:18 camelia rakudo-moar 19df35: OUTPUT«helloworld␤»
18:18 nine Which is something a plain ordinary Perl 6 developer won't even have a chance at guessing right.
18:18 jnthn (Because inlining)
18:18 jnthn JVM folks cope. :)
18:19 jnthn (The stack size is expressed as a startup parameter to the JVM)
18:24 * jnthn wanders off to cook
18:27 * notviki guesses it's another clothing item...
18:28 notviki You Europeans and your strange cusine!
18:33 samcv jnthn, can you review my pull?
18:34 samcv if there's anything that i didn't explain properly ni the commit messages and such or anything looking amiss
18:35 samcv it passes spectests changing rakudo's cmp to use the new op. so it's ready to go unless you see any issues.
18:36 samcv then we can start the bikeshedding about switching MVM cmp or not :P
18:44 mst jnthn: at the very least it might be neat to add -some- sort of recursion -warning- for moar-in-test-mode or so
18:44 mst jnthn: I love a love/hate relationship with perl5's deep recursion warnings
18:50 samcv jnthn, just updated the pull request message and title
18:50 samcv ugh merge conflicts
18:55 samcv sweet conflicts resolvede
19:10 notviki m: my @cycle = 1, 2, 3; given (@cycle xx *).iterator -> $i { $i.pull-one.say for ^100 }
19:10 camelia rakudo-moar 19df35: OUTPUT«[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3]␤[1 2 3…»
19:10 notviki ^ so that would keep all of $!reified stuff, right?
19:11 notviki So on long running rotored supplies we'd keep using more and more memory for stuff we don't care about? https://github.com/rakudo/rakudo/blob/nom/src/core/Supply.pm#L771
19:14 notviki m: my @cycle = 1, 2, 3; given (@cycle xx *).flat.cache.iterator -> $i { $i.pull-one.say for ^100 }
19:14 camelia rakudo-moar 19df35: OUTPUT«1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤2␤3␤1␤…»
19:14 notviki that I meant, with .cache on it
19:42 samcv not sure but i can see that could happen
19:43 samcv so with cmp using the new op, argfiles.t, combinations.t and rat.t and lines.t fail
19:43 samcv everything else is fine
19:47 MasterDuke m: use nqp; my %b := nqp::hash("a", 1, "b", 2e0, "c", 3); for %b { my $a := nqp::iterval($_); if nqp::isint($a) { say("int $a") } elsif nqp::isnum($a) { say("num $a") } }
19:47 camelia rakudo-moar 19df35: OUTPUT«Type check failed in binding; expected Associative but got Hash (${:a(1), :b(2e0), :c(3)})␤  in block <unit> at <tmp> line 1␤␤»
19:47 MasterDuke m: use nqp; my %b = nqp::hash("a", 1, "b", 2e0, "c", 3); for %b { my $a := nqp::iterval($_); if nqp::isint($a) { say("int $a") } elsif nqp::isnum($a) { say("num $a") } }
19:47 camelia rakudo-moar 19df35: OUTPUT«This is not an iterator, it's a P6opaque (Pair)␤  in block <unit> at <tmp> line 1␤␤»
19:47 MasterDuke m: use nqp; my $b := nqp::hash("a", 1, "b", 2e0, "c", 3); for $b { my $a := nqp::iterval($_); if nqp::isint($a) { say("int $a") } elsif nqp::isnum($a) { say("num $a") } }
19:47 camelia rakudo-moar 19df35: OUTPUT«Cannot find method 'map': no method cache and no .^find_method␤  in block <unit> at <tmp> line 1␤␤»
19:48 MasterDuke m: use nqp; my $b = nqp::hash("a", 1, "b", 2e0, "c", 3); for $b { my $a := nqp::iterval($_); if nqp::isint($a) { say("int $a") } elsif nqp::isnum($a) { say("num $a") } }
19:48 camelia rakudo-moar 19df35: OUTPUT«Cannot find method 'map': no method cache and no .^find_method␤  in block <unit> at <tmp> line 1␤␤»
19:48 ugexe im not sure how you guys can mentally process the backlogs that happen here anymore :(
19:49 MasterDuke what am i doing wrong?
19:49 [Coke] ugexe: we can't.
19:49 notviki ugexe: I don't
19:49 [Coke] esp. not with all the camelia churn.
19:50 notviki ugexe: I started keeping up with just #perl6-dev, but samcv made that a challenge too :)
19:50 notviki (that's a good thing)
19:50 samcv :)
19:50 * geekosaur vaguely surfs for things that stand out...
19:52 notviki MasterDuke: I'd guess using the Perl 6 for loop with nqp's hash
19:52 notviki run that with nqp: trigger
19:54 MasterDuke notviki: heh, but it's (what i'm actually going to end up with) going to be run by rakudo
19:56 notviki try using nqp::for then?
19:57 MasterDuke let me back up. i'm trying to isolate these lines https://github.com/rakudo/rakudo/blob/nom/src/core/Cursor.pm#L58-L65
19:58 MasterDuke so i can test which is faster
20:14 dugword joined #perl6-dev
20:32 dalek rakudo/nom: dc7b688 | lizmat++ | src/core/ShapedArray.pm:
20:32 dalek rakudo/nom: Fix RT #130440
20:32 dalek rakudo/nom:
20:32 dalek rakudo/nom: The Pair.value wasn't created with a .whence container, AlexDaniel++
20:32 dalek rakudo/nom: for the spot.
20:32 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130440
20:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc7b688810
20:53 cognominal joined #perl6-dev
21:11 dalek rakudo/nom: aa35065 | lizmat++ | src/core/native_array.pm:
21:11 dalek rakudo/nom: Fix RT #130443
21:11 dalek rakudo/nom:
21:11 dalek rakudo/nom: Another case of a Failure disappearing, spotted by AlexDaniel++
21:11 dalek rakudo/nom:
21:11 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130443
21:11 dalek rakudo/nom: Rewritten using nqp:: ops, which gives a 3% speed increase as a bonus.
21:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa3506594c
21:31 lucasb joined #perl6-dev
21:38 pyrimidine joined #perl6-dev
21:48 AlexDaniel lizmat: hey
21:48 AlexDaniel m: say WHAT "Hey there!".encode('UTF-8').list
21:48 camelia rakudo-moar aa3506: OUTPUT«(Seq)␤»
21:48 AlexDaniel is it supposed to be Seq?
21:48 AlexDaniel this is the commit: https://github.com/rakudo/rakudo/commit/f25d41c6782a4a2f32b6f01722b475cffbe9c3be
21:50 lizmat .list is supposed to return something listy
21:54 AlexDaniel and Seq is considered listy enough?
21:54 AlexDaniel ok then
22:00 lizmat AlexDaniel: yeah, I think so ?
22:08 notviki m: my int @a; @a.splice: 1...*;
22:08 camelia rakudo-moar aa3506: OUTPUT«This type cannot unbox to a native integer: P6opaque, Failure␤  in block <unit> at <tmp> line 1␤␤»
22:09 notviki I couldn't find where it tries to unbox it
22:16 lucasb any other .list methods returning Seq?
22:17 lucasb for the record, it's not possible to bind a Seq to a Positional variable
22:17 * notviki wants to make a map of routines of Perl 6
22:17 lucasb and it feels strange that '$str.encode.list' is a differente object than '$str.encode.list.list'
22:18 * notviki notes that .list is not .List
22:20 samcv i think i covered everything with the pull request description for this collation stuff…
22:20 samcv https://github.com/MoarVM/MoarVM/pull/474
22:20 samcv added more details on the country codes and languages and stability of those values
22:22 samcv i guess the only thing i *could* add is saying which ranges of the language codes are reserved for private use and we could use those for custom ones, but i don't quite like that. though it's a possibility
22:22 samcv we're not restricted to 3chars anyway
22:23 samcv lizmat, can you proof it and see if there are any implementation details i may not have specified or not clear enough
22:24 lucasb m: say 'abc'.encode.List.WHAT
22:24 camelia rakudo-moar aa3506: OUTPUT«(Seq)␤»
22:24 lizmat samcv: I am just proofing something else, and am about to stop proofing because I'm getting too tired
22:24 samcv no problem
22:25 samcv that feel
22:25 lizmat :-)
22:26 samcv can i change commit messages even after i've done a merge?
22:26 samcv if the commit was before. i could always just revert before the merge and do it again i guess
22:26 lizmat yeah, that would have to be the way, I think
22:26 lizmat and definitely *before* you push anything :-)
22:26 samcv yeah
22:27 dalek nqp: e73c94f | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTCompiler.java:
22:27 dalek nqp: [JVM] Avoid constant pool entries for large ints
22:27 dalek nqp:
22:27 dalek nqp: Rakudo does not build on the JVM backend currently, because
22:27 dalek nqp: the limit for constant pool entries (65535) is reached.
22:27 dalek nqp:
22:27 dalek nqp: We have a lot of integers > 32677 (max value for type Short)
22:27 dalek nqp: in the constant pool. Most (if not all) of them are added
22:27 dalek nqp: when nodes of type QAST::WVal are processed in method 'as_jast'
22:27 dalek nqp: (in src/vm/jvm/QAST/Compiler.nqp) and nqp::scgetobjidx returns
22:27 dalek nqp: those large indices.
22:27 dalek nqp:
22:28 bartolin ^^ https://github.com/perl6/nqp/commit/e73c94f69cb463a4cdc4ef504475609b3db43e1b
22:29 bartolin with that it should be possible to build r-j again
22:34 lizmat bartolin++
22:34 lizmat good night, #perl6-dev!
22:34 bartolin o/
22:34 notviki night
22:37 samcv night lizmat !
22:38 samcv nice bartolin !!!
22:40 AlexDaniel joined #perl6-dev
22:41 * bartolin is not really sure about that patch (it feels dirty) -- but since no one else came up with a better patch ...
22:41 samcv what are these poor entries though
22:41 samcv and do you need all of them
22:42 samcv well i sorta see what the do but, why are so many needed. or are they
22:43 samcv j: say 'test'
22:43 camelia rakudo-jvm 8ca367: OUTPUT«test␤»
22:43 bartolin I don't think we need any of them in the constant pool. AFAIU using a constant pool entry is a common way to add integers > 2^15 to the stack
22:44 samcv that is kind of what I was thinking but i don't know that much about JAST/MAST etc :P
22:44 samcv could have been totally wrong
22:44 * samcv can now compare jvm and moarvm rakudo implementation of strings and unicode operations
22:45 bartolin well, maybe jnthn or psch or arnsholt or ... can shed some light the other day
22:46 notviki samcv: FWIW, camelia is using commit from November for JVM
22:46 notviki https://github.com/rakudo/rakudo/commit/8ca367
22:46 samcv kk
22:47 bartolin btw, there might still be an issue that rakudo-j does not find BOOTSTRAP.jar. I haven't looked into it, yet.
22:47 bartolin cmp. http://irclog.perlgeek.de/perl6-dev/2016-12-23#i_13788946
22:50 samcv thanks for the link
23:00 samcv JVM's compare_To documentation for strings is too vague. but i think i get what it tries to mean but
23:00 samcv herString)
23:00 samcv Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string. The result is a negative integer if this String object lexicographically precedes the argument string.
23:01 samcv though maybe it is implied if i read the documentation on unicode strings
23:32 bartolin r: use nqp; say nqp::backendconfig<prefix>; say nqp::getcomp("perl6").config<prefix>
23:32 camelia rakudo-moar aa3506: OUTPUT«/home/camelia/rakudo-m-inst-2␤/home/camelia/rakudo-m-inst-2␤»
23:32 camelia ..rakudo-jvm 8ca367: OUTPUT«/home/camelia/rakudo-j-inst-2␤(Any)␤»

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