dalek kudo/nom: 94df18c | (Zoffix Znet)++ | src/core/IO/Path.pm:
Remove IO::Path.chdir on account of it being a footgun

Per irclog.perlgeek.de/perl6-dev/2016-...i_13815088
00:56
samcv looks like it just does return ai < bi ? -1 : 1 00:59
and checks graphemes
dalek kudo/nom: ea67ce9 | (Zoffix Znet)++ | tools/autounfudge.pl:
Make script executable
01:09
[Coke] ... I am surprised that wasn't already the case. huh. 01:14
notviki how is it supposed to work? 01:15
tells me: Processing file 't/spec/S15-unicode-information/uniprop.t'
File 't/spec/S15-unicode-information/uniprop.t' doesn't even pass in its current state
[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:16
It was MUCH more useful tool when we had multiple backends and new features were being implemented on the regular. 01:17
(but we had a ton of old tests lying around from pugs)
I assume from your question that that file is passing?
dalek ast: 4c7f8f0 | (Zoffix Znet)++ | S15-unicode-information/uniname.t:
Revert "Unfudge now passing tests"

This reverts commit e8b9f7ea3c4170b3d1c8130ef9a97212a8b2d82c.
As the PR that made these work was reverted in
  github.com/rakudo/rakudo/commit/d3...3865a037da
01:18
notviki [Coke]: yes
t/spec/S15-unicode-information/uniprop.rakudo.moar (Wstat: 0 Tests: 152 Failed: 0)
TODO passed: 143, 146, 148-149
Files=1, Tests=152, 1 wallclock secs ( 0.05 usr 0.00 sys + 0.85 cusr 0.06 csys = 0.96 CPU)
Result: PASS
zoffix@VirtualBox:~/CPANPRC/Standard-Rakudo$ /usr/bin/perl tools/autounfudge.pl --moar --unskip --untodo t/spec/S15-unicode-information/uniprop.t
Processing file 't/spec/S15-unicode-information/uniprop.t'
File 't/spec/S15-unicode-information/uniprop.t' doesn't even pass in its current state
[Coke] perhaps the TODO passed is not "clean" for that one. 01:19
s/one/utility/
dalek ast: b4859f9 | (Zoffix Znet)++ | S15-unicode-information/uniprop.t:
Unfude now-passing TODOs
01:22
notviki did it by hand
.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.
[Coke] realizes how dumb his statement was. 01:31
I mean, it *could* be that broken, but that'd be crazy. 01:32
dalek ast: d88c444 | (Zoffix Znet)++ | S32-str/lines.t:
Remove trailing whitespace
02:00
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
Pie seconds!
And all tests pass
notviki feels happy
TimToady m: my @a = 1,2,3; ++«@a; say @a 02:10
camelia rakudo-moar ea67ce: OUTPUT«[2 3 4]␤»
notviki m: my @a = 1,2,3; @a»++; say @a 02:27
camelia rakudo-moar ea67ce: OUTPUT«[2 3 4]␤»
notviki m: my @a = 1,2,3; say @a»++; say @a 02:28
camelia rakudo-moar ea67ce: OUTPUT«[1 2 3]␤[2 3 4]␤»
dalek rakudo/nom: 19df358 | (Zoffix Znet)++ | src/core/ (4 files): 02:43
rakudo/nom: Quintuple .lines() bug squash; AlexDaniel++ for discovery 02:46
rakudo/nom:
rakudo/nom: 1) Fix $*ARGFILES.lines going up to $limit, even if we reached end of data
rakudo/nom: 2) Fix Str.lines going up to $limit, even if we reached end of data
rakudo/nom: 3) Fix IO::Handle.lines going up to $limit, even if we reached end of data
rakudo/nom: 4) Fix IO::Handle.lines($limit) not forwarding :$close to its other multi
rakudo/nom: 5) Fix IO::Path.lines missing candidate that can handle $limit
rakudo/nom: 6) ???
rakudo/nom: 7) Profit!
rakudo/nom:
rakudo/nom: Fixes RT#130430: rt.perl.org/Ticket/Display.html?id=130430
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130430
notviki (•_•) ( •_•)>⌐■-■ (⌐■_■)
github.com/rakudo/rakudo/commit/19...0f9ca4b793
dalek ast: 0f53a2d | (Zoffix Znet)++ | S (3 files):
Test .lines($limit)

RT#130430: rt.perl.org/Ticket/Display.html?id=130430 Rakudo fix: github.com/rakudo/rakudo/commit/19...e68269f719
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130430
samcv well i'm going to start working on that sorting bug notviki
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…
and eventually it will pass?
as long as it doesn't sort keys
AlexDaniel night 02:52
MasterDuke notviki++, AlexDaniel++ 02:55
hey, at least i made $*ARGFILES.lines consistent! 02:56
AlexDaniel xDDD 02:57
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
I'm going through a lot of stuff right now so chances are some of my tickets will be stupid
geekosaur vaguely recalls the array one being a bug fix a couple months back? 03:29
(where it was leaking Mu-s) 03:30
samcv woo! if this actually returns the right value, i added collation order property 03:31
since there's no, register integer properties, i just used the binary one and set a higher bit width. so maybe will work 03:32
AlexDaniel MasterDuke: if you're here… perhaps you can also comment on this? 04:00
commit: 2015.12,HEAD say lines.elems; say lines[0]
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»
AlexDaniel MasterDuke: this changed after your commit also 04:01
I'm not sure which behavior makes more sense. Maybe you have some idea?
alright… and with about ⅙ done, now I have to get some sleep 04:09
MasterDuke AlexDaniel: hmm, i'll take a look 04:10
samcv m: say "a" cmp "a\x[308]"; 08:26
camelia rakudo-moar 19df35: OUTPUT«Less␤»
samcv j: say "a" cmp "a\x[308]";
camelia rakudo-jvm 8ca367: OUTPUT«Less␤»
samcv j: say "b" cmp "a\x[308]";
camelia rakudo-jvm 8ca367: OUTPUT«More␤»
samcv m: say "b" cmp "a\x[308]";
camelia rakudo-moar 19df35: OUTPUT«Less␤»
samcv m: say "û" cmp "w" 08:27
camelia rakudo-moar 19df35: OUTPUT«More␤»
samcv j: say "û" cmp "w"
camelia rakudo-jvm 8ca367: OUTPUT«More␤»
samcv j: say "û" cmp "z"
camelia rakudo-jvm 8ca367: OUTPUT«More␤»
[Tux] This is Rakudo version 2016.12-131-g19df3584e built on MoarVM version 2016.12-23-g3c5253c6 08:56
csv-ip5xs 3.271
test 14.068
test-t 5.282
csv-parser 14.375
lizmat :-)
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?
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
nine .tell notviki they ah, probably need to port fixes from master to 6.c-errata
yoleaux2 nine: I'll pass your message to notviki.
[Tux] would still be very interested to see the results of NativeCall with libcsv3 (which I did not manage to get working) 09:53
notviki :( 11:07
yoleaux2 09:46Z <nine> notviki: they ah, probably need to port fixes from master to 6.c-errata
notviki sees a problem with github.com/rakudo/rakudo/blob/nom/...o-branches 11:55
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:57
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 11:58
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
Seems like we should just stick with the same single-branch approach we currently do, except run a full stresstest + module testing, say nightly.
notviki relocates
damn heavy snow fall :/ 12:05
I wonder if anyone would notice if I don't show up to work today :o
samcv oh i think i know why it was failing 12:10
when we have a negative value it fails as out of bounds 12:11
and we need to compare based on that pseudocodepoint
\o/ nqp is compiling 12:12
notviki fuck it... #YOLO
samcv uh is there a way i can generate a new nqp from the stages? 12:15
cause that's where it's failnig but my own nqp and rakudo work fine
not sure wtf is going on
ok actually was able to run nqp spectests 12:19
got some failing
at least can debug now
looks like jnthn thinks it should be its own op. will do that 12:21
he knows better than I
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: rt.perl.org/rt3//Public/Bug/Displa...?id=124818
yoleaux2 notviki: I'll pass your message to [Coke].
notviki My nqp-foo isn't strong enough for RT#130431 13:09
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130431
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
Other than doing something stupid, like coercing it to Str and then using nqp::fromstr_I
dalek ast: 99f7d69 | (Zoffix Znet)++ | S32-num/rat.t:
Test Rat.Range excludes endpoints

RT#130427: rt.perl.org/Ticket/Display.html?id...et-history Rakudo fix: github.com/rakudo/rakudo/commit/34...214198a700
13:27
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130427
samcv added an op to nqp <samcv> Unhandled exception: Bytecode validation error at offset 20, instruction 4: 13:33
anybody know the magic i need to use to fix this
is it caused by precomp or stage 0?
nine samcv: did you add your op at the end of oplist but before the spesh ops? 13:47
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
samcv need to add to QAST?
oh 13:49
just interp.c
does the order in interp.c matter? 13:50
wooo it's compiling 13:51
:)) 13:52
lizmat whee! :-)
samcv now building rakudo 13:53
dammit Arg count 2 doesn't equal required operand count 5 for op 'unicmp_s' 13:56
the others aren't required tho
NYI currently anyway
hm 13:58
[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?
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124818
MasterDuke m: use nqp; my int $a = 2; if nqp::isint($a) { say($a) }
camelia ( no output )
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…»
MasterDuke nqp: my int $a := 2; if nqp::isint($a) { say($a) }
camelia nqp-moarvm: OUTPUT«2␤»
[Coke] So there's a Perl 6 book which now, which claims to support version 6.0.0 of the spec.
Hopefully that's just on the landing page and not in the book proper.
MasterDuke j: use nqp; my int $a = 2; if nqp::isint($a) { say($a) } 14:24
camelia ( no output )
MasterDuke what am i missing about nqp::isint()? 14:25
[Coke] you're running it moar in nqp, and java in rakudo? 14:26
geekosaur nqp-j: my int $a := 2; if nqp::isint($a) { say($a) } 14:27
hm, no such?
oh 14:28
nqp-jvm: my int $a := 2; if nqp::isint($a) { say($a) }
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…»
geekosaur bleh
(nqp-j could be nqp-jvm or nqp-js, apparently)
notviki [Coke]: no I didn't. moritz did in 2009
MasterDuke [Coke]: not sure what you mean. i tried both rakudo-[moar,jvm] and nqp-moar 14:29
j: use nqp; my num $a = 2e0; if nqp::isnum($a) { say($a) } 14:30
camelia ( no output )
MasterDuke m: use nqp; my num $a = 2e0; if nqp::isnum($a) { say($a) }
camelia ( no output )
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 ( no output )
MasterDuke j: use nqp; my Mu $a = 2; if nqp::isint($a) { say("int $a") }; if nqp::isnum($a) { say("num $a") };
camelia ( no output )
[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: github.com/rakudo/rakudo/blob/nom/...pm#L58-L62
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
MasterDuke, Output on both points:
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) }
samcv sorry rakudo :(
committable6 MasterDuke, gist.github.com/fb1c1c1153e8c705e8...6c0e80f336
samcv how do i fix :( 14:38
MasterDuke m: use nqp; if nqp::isint(2) { say('int!') } 14:40
camelia ( no output )
[Coke] nqp: my $a := 3; nqp::say($a); nqp::say(nqp::isint($a)); 14:42
camelia nqp-moarvm: OUTPUT«3␤1␤»
MasterDuke nqp: my $a := 2; if nqp::isint($a) { say($a) } 14:43
camelia nqp-moarvm: OUTPUT«2␤»
MasterDuke nqp: my int $a := 2; if nqp::isint($a) { say($a) }
camelia nqp-moarvm: OUTPUT«2␤»
MasterDuke !!!
[Coke] nqp types ain't necessarily p6 types.
what are you trying to do here? why not use ~~ Int ? 14:44
samcv [Coke], know why i get that
<samcv> payload: don't change grammar in the setting, please!
MasterDuke [Coke]: i want something faster than a smartmatch
[Coke] samcv: why you get what?
samcv ^^
[Coke] MasterDuke: are you trying to speed up something in core? 14:45
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.
samcv adding a thingy
no compiling
rakudo
[Coke] ... that isn't context.
samcv added an infix sub
to Str.pm 14:46
[Coke] Oh. you have a local patch to rakudo that causes it not to compile?
show the patch.
samcv k
gist.github.com/samcv/76e8377e88f5...r-pm-L2750 14:47
250-254
not sure if i want this name but wanted to test and 'compare' if you will 14:48
[Coke] ... that's not a patch. :|
samcv yes
it's 4 lines though
i can actualy make an actual patch tho :P
[Coke] ... what's 2750?
dalek ast: b4da789 | (Zoffix Znet)++ | S32-num/int.t:
Toss fudge for rejected ticket
14:49
samcv i linked to the line
[Coke] (which is highlighted in the original URL? anything?)
"the line" which line?
the one causing the error?
er, s/causing the/reported by/ ?
samcv Stage parse : Error while compiling, type X::Comp::AdHoc
payload: don't change grammar in the setting, please!
at line 16358, near "(|) { * }\n"
2750 the line i linked is what it errors on 14:50
[Coke] lines 250 to 254 are ) ) ) }
geekosaur the link points to line 2750 of the file, which is the added line which leads to the error
[Coke] So, I am super confused about what you're talking about.
geekosaur evidently
samcv uh
2750
2_750
[Coke] clarity definitely helps in bug reporting. :|
samcv sorry. i am tired :\ 14:51
need to pass out shortly
gist.github.com/bc500628a39aa16844...07e2e6806b 14:52
diff
[Coke] samcv: note that there are no other proto sub infix:<>s in that file. 14:54
MasterDuke [Coke]: yeah, Cursor.MATCH
[Coke] (all the other protos are not operators.)
samcv ah ok thanks [Coke]
:D 14:55
[Coke] I would remove the proto and see if that fixes it. :)
gotta run. good luck.
samcv m: say 'i' cmp 'ı' 14:58
camelia rakudo-moar 19df35: OUTPUT«Less␤»
samcv m: say 'u' cmp 'ū' 14:59
camelia rakudo-moar 19df35: OUTPUT«Less␤»
samcv m: say 'ₐ' cmp 'a' 15:01
camelia rakudo-moar 19df35: OUTPUT«More␤»
samcv m: say 'ₐ' cmp 'z'
camelia rakudo-moar 19df35: OUTPUT«More␤»
samcv cool :) working
time to make spectest
j: say 'ₐ' cmp 'z' 15:03
camelia rakudo-jvm 8ca367: OUTPUT«More␤»
samcv the jvm seems inconsistant with how it compares them 15:04
unless it's just the random times when MVM is comparing an internal negative integer hm 15:05
well, will know more after spectest
samcv gets confused 15:09
# expected: anything except '"Bag|Str|a(1) Str|b(1) Str|c(1)"'
# got: '"Bag|Str|a(1) Str|b(1) Str|c(1)"'
oh 15:10
misread that. it is late
hm
faulty WHICH creation
interesting 15:11
# Failed test 'Method .Bag works on List-2'
# at t/spec/S02-types/bag.t line 413
# expected: 'Now:1 Paradise:1 a:1 b:2 cross-handed:1 set:1 the:2 was:1 way:1'
# got: 'a:1 b:2 cross-handed:1 Now:1 Paradise:1 set:1 the:2 was:1 way:1'
bad test 15:12
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";
since the order isn't guaranteed for that right 15:13
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␤␤»
samcv oh i see 15:15
they just wrote a showkv function or whatever
and test the result as a string. lame
i like the sorting of the second one better 15:16
it's actually alphabetic
m: say <z z A c d e f>.sort 15:18
camelia rakudo-moar 19df35: OUTPUT«(A c d e f z z)␤»
samcv m: say <z Z a c d e f>.sort
camelia rakudo-moar 19df35: OUTPUT«(Z a c d e f z)␤»
samcv yeah i don't like that
if we wanted to actually do it by codepoint may make more sense to do <=>. atm that only works on numbers 15:21
here is the Spectest btw gist.github.com/b480f2bf2f099c5471...559903e874 15:41
suprised it failed only a few which from what i have seen mostly test unordered datatypes against a stringified version
notviki the lines, argfiles and combination failures are 'cause you don't have the latest and gratest rakudo 15:44
samcv ah k 15:45
so we are basically not faliing anything testing cmp specifically
gonna go through some other more files
notviki and t/spec/S32-num/rat.rakudo.moar too most likely due to too-old rakudo
samcv kk 15:46
dalek ast: 39a7433 | samcv++ | S02-types/bag.t:
change bag.t to not rely on sorting of Upper vs Lower chars

We had a sub inside the test file to get the keys and the values of the Bag and then test a stringified version. Change the uppercase letters to lowercase.
15:47
samcv this change passes on both the cmp change and without
what about t/spec/S32-list/combinations.t .................................... Dubious, test returned 3 15:49
notviki "notviki │ the lines, argfiles and combination failures"....
samcv i think i need some caffeine 15:52
notviki !\
Good idea!
nine mmmh caffeine
samcv uhm i'm failing a 2010 advent test... 15:53
sort by word length, then default the test says 15:54
notviki samcv: but the 6.c spec will still fail? 15:55
The bag.t I mean
samcv oh
let me check
how do i best test 6.c spec
notviki checkout 6.c-errata in the roast repo
samcv yes 15:56
how to fudge all?
notviki doesn't understand the question
samcv so i have it checked out. how do i run it locally
instead of having it pull the repo itself 15:57
i have 6.c-errata checked out in ../roast
notviki make spectest
samcv uhm
notviki check it out in t/spec
samcv ok
notviki and run make spectest
or make stresstest
samcv thanks :) 15:58
notviki samcv: you do know about TEST_JOBS thing right?
samcv goes and gets coffee
nope :)
ENV var?
dogbert2 lizmat: are you around?
notviki samcv: it tells `make spectest`/`make stresstest` how many jobs to run simultaneously. The sweetspot IME is (numberofcores * 1.3).Int 15:59
makes it run much faster.
samcv cores or threads?
notviki cores on your processor 16:00
samcv has 4 threads ond 2 cores
k
notviki threads I guess then
samcv hm
notviki Try different values, see what makes it faster
samcv what do you get for `nproc` in terminal?
notviki 24 16:01
and TEST_JOBS=30 16:02
samcv nice
i wish i had that many cores :\ 16:03
this is way faster. great
samcv goes and gets some caffeine 16:04
notviki mproc=4/TESTS_JOBS=7 on my home box 16:05
samcv awesomely none of the unicode stuff was failing 16:06
remember before when i added properties and things it screwed it all up :)
and the script to generate the database now has a sub to generate int properties
i think that may be what made it work fine. because the enum code is buggy
notviki, passed a bench of todo's 16:20
uhm. looks like some may not have run
hmm ok 16:21
notviki that likely means they crashed while parsing
samcv mostly alright i think but i am going to look at each one
notviki failed to compile I mean
samcv Parse errors: No plan found in TAP output 16:22
notviki yup
plan is printed at the start of runtime, so if it fails to compile no plan is printed
$ type 6p
6p is aliased to `prove -e './perl6' -vlr '
I just run 6p t/spec/file.t (or file.rak[TAB]) on those 16:23
To get detailed info
I think there's another way to do that simpler with t/fudgeandrun or something
samcv hmm 16:24
# Failed test 'Twisty maze of dependencies, all different'
# at t/spec/S10-packages/precompilation.rakudo.moar line 60
# expected: $["C", "D", "E", "F", "H", "K", "N", "P", "R", "S"]
# got: $["C", "F", "K", "P"]
use Example2::T; 16:25
use Example2::G;
use Example2::F;
use Example2::A;
use Example2::U;
does that pass for you?
t/spec/S10-packages/basic.rakudo.moar .. 16:28
===SORRY!=== Error while compiling /home/samantha/git/rakudo/t/spec/S10-packages/basic.rakudo.moar
Undeclared name:
Foo used at line 257
are these related to the changes with modules and scope?
or is something weird happening
notviki samcv: oh, right forgot about those. The Twisty mase is fine 16:30
samcv kk
notviki and t/spec/S10-packages/basic.r... ummm
notviki checks
samcv fine? as in
fine that it failed or the test is fine
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
t/spec/S11-modules/nested.t is also "fine"
damn, how did we accumulate so many 6.c-errata failures -_- 16:32
May as well merge abstract's set PR
I didn't want to merge because we'd have to.... basically improve... a test file and hide a bug 16:33
But if all this stuff is failing, who am I kidding :/
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 :)
samcv which one
the module one?
AlexDaniel I mean this: rt.perl.org/ 16:35
notviki oh god... .splice :o
AlexDaniel notviki: yea… I know :|
notviki m: [].^lookup('splice').candidates.elems.say
camelia rakudo-moar 19df35: OUTPUT«31␤»
samcv notviki, that's the only test i failed
well
AlexDaniel notviki: well, it conveniently prints all candidates when you pass a range!
samcv precompilation and nested.t
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 :(
samcv ton = 18
dunno if we were passing those before
notviki is having an existential crisis 16:37
samcv does precomp fail?
well sometimes tests are written badly :P
and sometimes. idk
it's ok to freak out
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....
notviki weeps
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!
notviki: performance
oops
buggable: performance
buggable AlexDaniel, ▅▅▆▅▅▆▆▄▅▅▅▄▅▅▅▅▅█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▃▃▃▂▂▂▂▂▂▂▁▁▁▁▂▁ data for 2016-12-07–2016-12-29; variance: 5.137s–7.592s
AlexDaniel look!
samcv ^
and we will have proper sorting soon!
AlexDaniel proper sorting? 16:39
samcv yeah
m: say <a Z y b c d R>.sort
camelia rakudo-moar 19df35: OUTPUT«(R Z a b c d y)␤»
samcv not alphabetical
and totally gets screwed with diacritics
nine will have a look at those failing 6.c-errata tests when he's home
samcv i already have it implemented for moarvm and nqp op
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
and the ones in master we're failing are mostly due to poor writen tests
like sorting a hash and then testing the stringified value
notviki samcv: I don't get how it's passing, considering 6.c-errata has the same test you had to tweak in master: github.com/perl6/roast/blob/6.c-er...#L406-L413 16:42
samcv oh it does 16:43
yes, sorry was still going through the errors hadn't gotten to the bottom
or wherever
notviki AlexDaniel: hahaha 16:47
AlexDaniel: "the amount of candidates printed is insane"
AlexDaniel: the fix for Cool would probably need like 9 more candidates or something
AlexDaniel shit xDDD
notviki m: say <Whatever Int Cool Callable>.combinations(2)*2+1 16:48
camelia rakudo-moar 19df35: OUTPUT«13␤»
AlexDaniel notviki: how did it work previously?
notviki hmmm
m: say <Whatever Int Cool Callable>.combinations(2)
camelia rakudo-moar 19df35: OUTPUT«((Whatever Int) (Whatever Cool) (Whatever Callable) (Int Cool) (Int Callable) (Cool Callable))␤»
samcv can i do
notviki oh
m: say ([X] <Whatever Int Cool Callable>)*2+1 16:49
camelia rakudo-moar 19df35: OUTPUT«3␤»
notviki -_-
m: say [X] <Whatever Int Cool Callable>
camelia rakudo-moar 19df35: OUTPUT«((Whatever Int Cool Callable))␤»
samcv m: use Test; is <a b a>.Bag, a=>2, b=>1
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␤␤»
notviki m: say [X] <Whatever Int Cool Callable> xx 2
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))␤»
notviki m: say ([X] <Whatever Int Cool Callable> xx 2)*2+1
camelia rakudo-moar 19df35: OUTPUT«33␤»
notviki m: [].^lookup('splice').candidates.elems.say
camelia rakudo-moar 19df35: OUTPUT«31␤»
samcv m: use Test; is <a b a>.Bag, :a(2), :b(1)
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␤␤»
samcv oh duh 16:50
m: use Test; is <a b a>.Bag.Hash, (:a(2), :b(1))
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))␤»
notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars)*3 + 1 16:51
camelia rakudo-moar 19df35: OUTPUT«4␤»
notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars xx 2)*3 + 1 16:52
camelia rakudo-moar 19df35: OUTPUT«28␤»
notviki m: my @vars = <Whatever Int Callable>; say ([X] @vars xx 2)*3 + 1 + @vars
camelia rakudo-moar 19df35: OUTPUT«31␤»
notviki there
m: my @vars = <Whatever Int Cool Callable>; say ([X] @vars xx 2)*3 + 1 + @vars
camelia rakudo-moar 19df35: OUTPUT«53␤»
notviki m: say 53 - 31
camelia rakudo-moar 19df35: OUTPUT«22␤»
notviki AlexDaniel: 22 new candidates :)
How it worked in the past? Slow.
AlexDaniel cool, bring them on! XD
notviki heh
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";
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␤»
AlexDaniel perhaps I can add the number of splice candidates to statisfiable
samcv m: is (a => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤ is used at line 1␤␤»
samcv m: use Test is (a => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
camelia rakudo-moar 19df35: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤ is used at line 1␤␤»
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␤␤»
samcv m: use Test; is ('a' => 100000).BagHash, :a(100000), "(a => 100000).BagHash is bag a:100000";
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␤␤»
samcv bleh
AlexDaniel By the way, thanks to everyone who writes proper commit messages. You made my life so much easier 16:57
notviki \o/
samcv git commit -m "fix it" 16:58
^ all anybody will ever need
:^)
AlexDaniel a good example: github.com/rakudo/rakudo/commit/e0...d6474be0d4
not only it tells what was changed, but it gives a good enough justification on why it was done
samcv notviki++ 16:59
AlexDaniel actually, most rakudo commits are like this, so everyone++
I just wanted to stress how useful it is sometimes
samcv yeah i agree 17:04
i think our commits are pretty good compared to some other projects
github.com/MoarVM/MoarVM/pull/474/...73372a279a i think this is a clear commit yes? 17:05
i'm rebasing and explaining before i get this merged into moar
does not change any existing things in nqp or rakudo, adds a new op
i should probbaly add to that, that currently the last three arguments are NYI 17:06
nine might be helpful, yes :)
samcv and maybe explain that the _example_ is for Latin. that's not default. default is language insensitive
well you can pass them. it just won't do anything 17:07
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
well probably ALL
other languages may be a little different. but none of the changes is worse than before 17:08
since we fallback to codepoint comparing if they are the same primary
and similar happens with diacritic as well so that isn't _perfect_ but primary is most important 17:10
and secondary and ternary properties are already implemented, just we don't use them in moarvm
but you can look at the properties with uniprop('MVM_COLLATION_PRIMARY') or SECONDARY or TERNARY
oh btw. if we do switch over Rakudo to use this for cmp 17:12
you can always do $a.ords cmp $b.ords
if you really do want to compare the codepoints
or NFC or NFD etc whatever you want
but i think as the user by default it should sort without you having to think about unicode things 17:13
because the codepoints really shouldn't matter, or we should try to make it not matter
unless you want that
like with regex
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
i mean that was already the case like years and years ago
dalek ast/6.c-errata: d5b2620 | samcv++ | S02-types/bag.t:
sort using $^a.ords cmp $^b.ords to ensure order never changes

We are testing an unordered data structure, so let's make sure that any changes to collation order don't ruin the test. The test results are just strings to tests the values of the Bag, and assume that uppercase A will sort before lowercase z for example.
17:22
ast/6.c-errata: 8afc2fe | samcv++ | S02-types/baghash.t:
Also use sort({$^a.ords cmp $^b.ords}) for baghash.t
17:26
samcv running spectest again
gonna just gist it automatically now # make spectest >&2 | pee 'sponge | gist' 17:30
pee is a really useful command, and so is sponge 17:31
pee is like tee, but instead of thing | tee file.txt | whatever
thing | pee 'first command to pipe to' 'second command to pipe to'
and if you don't specify a 2nd thing it just goes to stdout
geekosaur or there's zsh with multios :p 17:32
samcv multios? 17:33
pee and tee are in moreutils btw
all distros have it, but usually not installed by default. part of the GNU project
jmerelo hi, people 17:35
notviki Not all of use are people! 17:36
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 zsh.sourceforge.net/Doc/Release/Red...ml#Multios
jmerelo Sentient plants, magic rocks, pixies and Skynet's twice removed cousin.
geekosaur although did you really want >&2 there, or 2>&1?
notviki Dude! Spoiler alert!
jmerelo Ah, and @notviki! 17:38
Thing is
I have added a bunch of constants to Perl6
All of them unneeded in pretty much the same way as tau
notviki -_-
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
But I guess it's first rakudo and then roast, right?
Anyway
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? :/
jmerelo That's absolutely correct.
notviki jmerelo: are you brrt? 17:41
jmerelo Not really.
Right now we have tau, pi and e in core.
So every time that shows up, people say 2 things
first, what is tau
notviki hm... are you twitter.com/jjmerelo ?
jmerelo Yep, that me
second, why not phi?
So I have added phi, and Planck's constant, and 3 or 4 more. 17:42
notviki Are you the author? perl6advent.wordpress.com/2016/12/...-compiler/
jmerelo not that JJ
that's probably JJ Allen
I'm the one with the Git Hooks. Same day, I think. 17:43
notviki Is that you? en.gravatar.com/jjmerelo
jmerelo yep. This JJ perladvent.org/2016/2016-12-07.html 17:44
Different advent calendar, different day
notviki For some reason I thought that pic was brrt, when I saw that article it showed up on it
But maybe it was in the "likes" at the bottom that I see it show up
Well, never mind...
jmerelo yes, that was probably me.
dalek ast/6.c-errata: a941180 | niner++ | S1 (3 files):
Fixup tests for lexical module loading

We now need to explicitly use modules if we want to use their symbols and can no longer rely on them being loaded by one of our dependencies.
nine notviki: 6.c-errata passes again :)
jmerelo So, it's not worth the while, right?
AlexDaniel jmerelo: this actually does not sound so bad 17:46
notviki shakes head
AlexDaniel jmerelo: maybe create an RFC ticket first?
notviki jmerelo: well, what's the usecase? I rather not add "useless" stuff with the justification that we already have some "useless" stuff
AlexDaniel perhaps one or two of these constants are actually common or useful 17:47
jmerelo Just pushed it here github.com/JJ/rakudo/commit/97b276...d7a17d3237
notviki fails to find what constains are being added in backlog
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?
AlexDaniel “plancks-reduced-h” looks awful, φ and phi maybe ok 17:49
that's a good question also
notviki jmerelo: I'm -1 on it.
jmerelo: especially the G...
no idea what phi even used for 17:50
AlexDaniel huggable: rakudobug
huggable AlexDaniel, [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
AlexDaniel jmerelo: ↑ there
jmerelo h, g and C go toghether. You can build a whole lot of Physics with them.
AlexDaniel jmerelo: or, as nine said, create a module first
jmerelo OK, I can do that.
Anyway, I think I found a kind-of bug while I was testing this.
notviki and C
*c
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*
samcv heer's an example of the collation level values:
> "aA".uniprops('mvmcollationprimary') # (7239 7239)
> "aA".uniprops('mvmcollationsecondary') # (32 32)
> "aA".uniprops('mvmcollationtertiary') # (2 8)
moritz isn't c = 1 anyway?
notviki moritz++
Right, the second thing is you're lacking units
So it's useless to include them like that
jmerelo That's a good one. c is 1 in Planck's units
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
samcv first one that gets checked is primary and you can't ignore that one. well eventually WE will be able to do it
jmerelo Well, OK. Just forget it. Phi can be computed via (1+sqrt(5))/2 too.
samcv to only compare different characters based on caseing
jmerelo And while I'm at that
samcv for whatever reason
notviki AlexDaniel: "we already have crap" isn't a justification for more crap.
samcv cause why not
AlexDaniel jmerelo: no-no, a module will be nice
samcv at least the moarvm op will exist 17:53
AlexDaniel notviki: not sure how it relates to whatever I've just said :)
samcv should probably implement tertiary quickly
notviki ok
samcv though it really doesn't matter for most cases
jmerelo Have you ever tried to define a constant like so: my constant this-is-constant = (1+sqrt(5))/2? 17:54
notviki nope
m: my constant this-is-constant = (1+sqrt(5))/2
camelia ( no output )
jmerelo It starts to increase the memory in the "parse" phase of compilation and eventually fills up the whole memory
notviki m: my constant this-is-constant = (1+sqrt(5))/2; say this-is-constant
camelia rakudo-moar 19df35: OUTPUT«1.61803398874989␤»
jmerelo just a second, I'll try to reproduce it.
notviki m: constant this-is-constant = (1+sqrt(5))/2; say this-is-constant
camelia rakudo-moar 19df35: OUTPUT«1.61803398874989␤»
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?
notviki imgur.com
AlexDaniel gist.github.com
notviki wtf it can take images?
notviki sees no button for that
jmerelo imgur.com/a/B1dPJ 17:57
I just added my constant other-phi = (1+sqrt(5))/2; to Num.pm
@notviki might be. 17:59
notviki well right and sqrt is part of Num.pm: github.com/rakudo/rakudo/blob/nom/...um.pm#L122
though... then it'd say function not found
But I'd guess that's why
AlexDaniel notviki: you just dragndrop it I think
notviki "that" being it doesn't have all of the math ops/types at that point yet
AlexDaniel ah no, doesn't work :O 18:00
so it can only take svgs I think
okay, sorry
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
notviki other ops are also in that file github.com/rakudo/rakudo/blob/nom/...um.pm#L339 18:01
jmerelo It's failing also with simply * 18:04
Check this out imgur.com/a/a4RiM 18:05
It was up to 2G already. Usually it does not take more than 1 gigabyte or so.
Defining a constant via an operation hangs moar, I guess. So the bug is in moar, right? 18:06
notviki There's no bug.
jnthn If you're adding stuff to CORE.setting, you *must* account for the fact that various things don't exist yet. 18:07
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
jmerelo OK
jnthn Types like Int/Num are stubbed early, but they don't get methods added until later on
And constant happens at BEGIN time 18:08
jmerelo OK
jnthn Putting the thing you're adding at the end of Num.pm could make a difference, for example.
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.
If Moar can do anything here, it's suppose setting a recursion limit.
*to support 18:10
jmerelo Worth the while to file a bug report?
Or is it something well known?
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.
That should be @jnthn :-)
jnthn That we don't have any mechanism to set some kind of stack limit otoh would be a reasonable request
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)
notviki we have that now in user-space too
m: Numeric * Numeric
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 …»
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
camelia rakudo-moar 19df35: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤»
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'
camelia rakudo-moar 19df35: OUTPUT«WARNINGS for <tmp>:␤Useless use of &say in sink context (line 1)␤helloworld␤»
AlexDaniel is it a useless warning or the user is not supposed to do something like this?
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: ↑ ?
jnthn m: 'hello' [||] die 'oops' 18:16
camelia ( no output )
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?)
jnthn m: 'hello' [+] die 'oops'
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␤␤»
geekosaur ... or maybe it's backwards
jnthn m: 'hello' [&infix:<+>] die 'oops'
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␤␤»
jnthn m: 'hello' [&infix:<||>] die 'oops'
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␤␤»
jnthn It seems to afflict all the function forms 18:17
AlexDaniel bisect: 'hello' [&say] 'world'
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.
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=19df358) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/2dcfd5f9cbea76b706...d8ffd40752
AlexDaniel, (2016-12-15) github.com/rakudo/rakudo/commit/ac...e2a71d851a
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.
(Bytes of space allowed to be used for the call stack)
Moar doesn't cheaply know how many user-level frames deep it is. 18:18
AlexDaniel m: eager ‘hello’ [&say] ‘world’
camelia rakudo-moar 19df35: OUTPUT«helloworld␤»
nine Which is something a plain ordinary Perl 6 developer won't even have a chance at guessing right.
jnthn (Because inlining)
JVM folks cope. :)
(The stack size is expressed as a startup parameter to the JVM) 18:19
jnthn wanders off to cook 18:24
notviki guesses it's another clothing item... 18:27
You Europeans and your strange cusine! 18:28
samcv jnthn, can you review my pull? 18:33
if there's anything that i didn't explain properly ni the commit messages and such or anything looking amiss 18:34
it passes spectests changing rakudo's cmp to use the new op. so it's ready to go unless you see any issues. 18:35
then we can start the bikeshedding about switching MVM cmp or not :P 18:36
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
jnthn: I love a love/hate relationship with perl5's deep recursion warnings
samcv jnthn, just updated the pull request message and title 18:50
ugh merge conflicts
sweet conflicts resolvede 18:55
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…»
notviki ^ so that would keep all of $!reified stuff, right?
So on long running rotored supplies we'd keep using more and more memory for stuff we don't care about? github.com/rakudo/rakudo/blob/nom/...ly.pm#L771 19:11
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␤…»
notviki that I meant, with .cache on it
samcv not sure but i can see that could happen 19:42
so with cmp using the new op, argfiles.t, combinations.t and rat.t and lines.t fail 19:43
everything else is fine
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␤␤»
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") } }
camelia rakudo-moar 19df35: OUTPUT«This is not an iterator, it's a P6opaque (Pair)␤ in block <unit> at <tmp> line 1␤␤»
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") } }
camelia rakudo-moar 19df35: OUTPUT«Cannot find method 'map': no method cache and no .^find_method␤ in block <unit> at <tmp> line 1␤␤»
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␤␤»
ugexe im not sure how you guys can mentally process the backlogs that happen here anymore :(
MasterDuke what am i doing wrong? 19:49
[Coke] ugexe: we can't.
notviki ugexe: I don't
[Coke] esp. not with all the camelia churn.
notviki ugexe: I started keeping up with just #perl6-dev, but samcv made that a challenge too :) 19:50
(that's a good thing)
samcv :)
geekosaur vaguely surfs for things that stand out...
notviki MasterDuke: I'd guess using the Perl 6 for loop with nqp's hash 19:52
run that with nqp: trigger
MasterDuke notviki: heh, but it's (what i'm actually going to end up with) going to be run by rakudo 19:54
notviki try using nqp::for then? 19:56
MasterDuke let me back up. i'm trying to isolate these lines github.com/rakudo/rakudo/blob/nom/...pm#L58-L65 19:57
so i can test which is faster 19:58
dalek kudo/nom: dc7b688 | lizmat++ | src/core/ShapedArray.pm:
Fix RT #130440

The Pair.value wasn't created with a .whence container, AlexDaniel++ for the spot.
20:32
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130440
kudo/nom: aa35065 | lizmat++ | src/core/native_array.pm:
Fix RT #130443

Another case of a Failure disappearing, spotted by AlexDaniel++
Rewritten using nqp:: ops, which gives a 3% speed increase as a bonus.
21:11
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130443
AlexDaniel lizmat: hey 21:48
m: say WHAT "Hey there!".encode('UTF-8').list
camelia rakudo-moar aa3506: OUTPUT«(Seq)␤»
AlexDaniel is it supposed to be Seq?
this is the commit: github.com/rakudo/rakudo/commit/f2...cffbe9c3be
lizmat .list is supposed to return something listy 21:50
AlexDaniel and Seq is considered listy enough? 21:54
ok then
lizmat AlexDaniel: yeah, I think so ? 22:00
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␤␤»
notviki I couldn't find where it tries to unbox it 22:09
lucasb any other .list methods returning Seq? 22:16
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
lucasb and it feels strange that '$str.encode.list' is a differente object than '$str.encode.list.list'
notviki notes that .list is not .List 22:18
samcv i think i covered everything with the pull request description for this collation stuff… 22:20
github.com/MoarVM/MoarVM/pull/474
added more details on the country codes and languages and stability of those values
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
we're not restricted to 3chars anyway
lizmat, can you proof it and see if there are any implementation details i may not have specified or not clear enough 22:23
lucasb m: say 'abc'.encode.List.WHAT 22:24
camelia rakudo-moar aa3506: OUTPUT«(Seq)␤»
lizmat samcv: I am just proofing something else, and am about to stop proofing because I'm getting too tired
samcv no problem
that feel 22:25
lizmat :-)
samcv can i change commit messages even after i've done a merge? 22:26
if the commit was before. i could always just revert before the merge and do it again i guess
lizmat yeah, that would have to be the way, I think
and definitely *before* you push anything :-)
samcv yeah
dalek nqp: e73c94f | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTCompiler.java: 22:27
nqp: [JVM] Avoid constant pool entries for large ints
nqp:
nqp: Rakudo does not build on the JVM backend currently, because
nqp: the limit for constant pool entries (65535) is reached.
nqp:
nqp: We have a lot of integers > 32677 (max value for type Short)
nqp: in the constant pool. Most (if not all) of them are added
nqp: when nodes of type QAST::WVal are processed in method 'as_jast'
nqp: (in src/vm/jvm/QAST/Compiler.nqp) and nqp::scgetobjidx returns
nqp: those large indices.
nqp:
bartolin ^^ github.com/perl6/nqp/commit/e73c94...9b3db43e1b 22:28
with that it should be possible to build r-j again 22:29
lizmat bartolin++ 22:34
good night, #perl6-dev!
bartolin o/
notviki night
samcv night lizmat ! 22:37
nice bartolin !!! 22:38
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
and do you need all of them
well i sorta see what the do but, why are so many needed. or are they 22:42
j: say 'test' 22:43
camelia rakudo-jvm 8ca367: OUTPUT«test␤»
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
samcv that is kind of what I was thinking but i don't know that much about JAST/MAST etc :P 22:44
could have been totally wrong
samcv can now compare jvm and moarvm rakudo implementation of strings and unicode operations
bartolin well, maybe jnthn or psch or arnsholt or ... can shed some light the other day 22:45
notviki samcv: FWIW, camelia is using commit from November for JVM 22:46
github.com/rakudo/rakudo/commit/8ca367
samcv kk
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
cmp. irclog.perlgeek.de/perl6-dev/2016-1...i_13788946
samcv thanks for the link 22:50
JVM's compare_To documentation for strings is too vague. but i think i get what it tries to mean but 23:00
herString)
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.
though maybe it is implied if i read the documentation on unicode strings 23:01
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␤»
..rakudo-jvm 8ca367: OUTPUT«/home/camelia/rakudo-j-inst-2␤(Any)␤»