bartolin | good morning, #perl6-dev | 07:47 | |
I want to report some findings regarding the (busted) jvm backend before leaving for christmas holidays | 07:48 | ||
it looks like the jvm build is busted in three different ways atm: | |||
1. method findmethod was changed in NQP a while ago. I opened a PR for rakudo regarding that problem: github.com/rakudo/rakudo/pull/967 | 07:49 | ||
2. there is something wrong with the build system. I didn't figure it out exactly, but I had to revert a803a153b3138de944f89637517cff6328b0e793 in order to build a working rakudo-jvm | 07:51 | ||
with a vanilla build of rakudo-j BOOTSTRAP.jar is not found. it exists as blib/Perl6/BOOTSTRAP.jar but my build tried to find it at /share/nqp/lib/BOOTSRAP.jar | 07:52 | ||
3. compiling rakudo-j dies with 'Classfile too large' (provided 1. is fixed). with this change to NQP I was able to build a working rakudo-j: gist.github.com/usev6/5af8723084aa...5e13e234f3 | 07:54 | ||
nine | bartolin: that's odd. commit b96bf5bd05f7e9bfc325156e6a27c1fbb8377eae was supposed to fix the BOOTSTRAP.jar issue | 07:56 | |
bartolin | its definitely not a clean solution, but I think a workaround for the limit of constant pool entries could be implemented in that area of code | ||
nine: yeah I thought soo. I tried to find the problem yesterday evening, but failed | 07:57 | ||
.oO( it's hard to find a fix when the build is busted in different ways ) |
07:59 | ||
nine | .oO( it's hard to notice a bust when the build is already busted in different ways ) |
08:00 | |
bartolin | yes, that's what I meant :-) | 08:01 | |
maybe we should apply some workaround in the vain of gist.github.com/usev6/5af8723084aa...5e13e234f3 in order to tackle the other problems | 08:02 | ||
(at least temporarily) | |||
anyway, I have to pack my bags now. I'm afk for a week. | 08:03 | ||
dalek | kudo/nom: 4b4bdc6 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: Unbust JVM build (findmethod) With nqp commit 49d6beb34a33780212039f5179b032659582a3f0 one version of findmethod was removed. Using the remaining version seems to work fine. There might be some spectest failures related to changes in this area, but at least rakudo-j does not die while compiling. |
||
rakudo/nom: 011df48 | niner++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: | |||
rakudo/nom: Merge pull request #967 from usev6/jvm_findmethod | |||
rakudo/nom: | |||
rakudo/nom: Unbust JVM build (findmethod) | |||
nine | bartolin: have a nice holiday! | ||
bartolin | thanks! | 08:04 | |
if someone else wants to take a look at the constant pool issue, maybe my findings are interesting ... | |||
merry xmas for all of you | 08:06 | ||
dalek | ast: bc1ac9c | samcv++ | S15-unicode-information/uniprop.t: Add test for the ZERO WIDTH JOINER codepoint This currently doesn't work on MoarVM. github.com/MoarVM/MoarVM/issues/463 |
08:36 | |
ast: ed95e41 | samcv++ | S15-nfg/test-gen.p6: Add #!/usr/bin/env perl6 to test-gen.p6 |
|||
roast: ad69dfd | samcv++ | S15-nfg/test-gen.p6: | |||
roast: Change directory from t/spec in test-gen.p6 | |||
roast: | |||
lizmat | good *, #perl6-dev! | 08:41 | |
Files=1157, Tests=53970, 188 wallclock secs (10.64 usr 4.44 sys + 1120.84 cusr 123.40 csys = 1259.32 CPU) | |||
samcv | good * to you too lizmat | 08:49 | |
lizmat, perl 6 counts characters by graphemes right. Can I rely on .chars *should* tell me the number of grapheme clusters? | 08:57 | ||
or are they not 100% always equivalent | 08:58 | ||
lizmat | my interpretation is that they should be | ||
samcv | yeah that's what i thought | ||
probably going to add another test file to roast generated from one of the unicode test files in the next day or so | |||
lizmat | my uncertainty is that I don't know how unicode "grapheme clusters" are defined | ||
samcv | but. we fail like 50 of them and it super errors | 08:59 | |
in perl 6 or in unicode? | |||
lizmat | TimToady's definition is: what people perceive to be a single character | ||
samcv | i know how they are in unicode. moarvm is the thing that does that right | ||
lizmat | ok, then we are in agreement I think | ||
samcv | ok | ||
yeah we fail 50 tests and like | 09:00 | ||
100 of them doesn't even work because i can't create a string with a specific codepoint in it | |||
lizmat | it's my understanding that some aspects of unicode 9.x are not yet implemented | ||
samcv | say 0xD800.chr | ||
m: say 0xD800.chr | |||
camelia | rakudo-moar 011df4: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296 in block <unit> at <tmp> line 1» | ||
samcv | not sure why it can't… but | 09:01 | |
m: Uni.new(0xD800).Str.say | |||
camelia | rakudo-moar 011df4: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296 in block <unit> at <tmp> line 1» | ||
samcv | right now my script is just not trying to test the 100 tests that use that codepoint | ||
that is a MoarVM error yes? | 09:02 | ||
lizmat | I would think so, yes | 09:03 | |
samcv | yeah. need to open that bug too. found a moarvm bug where a huge number of the characters Line_Break property is incorrect | 09:04 | |
so that is causing a lot of (probably almost all??) of the 50 failures out of the 720 i could run | |||
first one i've actually discovered incorrect values, everything else has just been NYI really, aside from bidi_pairing bracket one which returns a string | 09:05 | ||
unicodable6, U+D800 | |||
unicodable6 | samcv, U+D800 <Non Private Use High Surrogate> [Cs] (unencodable character) | ||
samcv | why though :\ idk if that is true | ||
it's in the HIGH_SURROGATES block | 09:08 | ||
m: 0xD800.uniprop('Block').say | |||
camelia | rakudo-moar 011df4: OUTPUT«High Surrogates» | ||
samcv | oh maybe these are for utf-16? but that makes no sense because uh | 09:14 | |
surrogates i guess are used for utf-16 for allowing to use higher codes than utf-16 allows, but... nowhere else does it say anything about utf-16 and it's not documentation for utf-16, it just gives the code numbers | 09:15 | ||
maybe i should just replace those with some other control code… since the rules for grapheme clusters do not distinguish the control codes as for breaking them up | 09:16 | ||
lizmat | samcv: sorry, was afk | 09:24 | |
samcv | no problem | ||
lizmat | I have no idea, really | 09:25 | |
samcv | i think ignoring those is fine for now | ||
lizmat | yeah... until it becomes someone's itch :-) | ||
samcv | though i need to find a way to fudge 54 tests at once. is there a tool for this? | ||
lizmat | that *they* want to scratch | ||
samcv | err i mean 'todo' | ||
probably will matter when/if we have utf-16 support? | 09:26 | ||
lizmat | #?rakudo 54 todo "foo" | ||
samcv | no but they're not in order :P | ||
lizmat | ah, no, no tool that i'm aware of :-( | ||
samcv | otherwise it would be easy | ||
yet… | |||
so you are saying I should make one? :D | |||
lizmat | that would be great! But seriously, I'm not sure what fudging exactly does | 09:27 | |
perhaps it is easier to inject the necessary stuff into the TAP stream | |||
samcv | don't you need to fudge tests that cause rakudo to hang? | ||
lizmat | at runtime | ||
samcv | and todo for ones that don't work? | ||
lizmat | well, todoed tests *are* run | ||
samcv | yeah i know | 09:28 | |
lizmat | m: use Test; todo "foo"; is 42,666 | 09:29 | |
camelia | rakudo-moar 011df4: OUTPUT«not ok 1 - # TODO foo# Failed test at <tmp> line 1# expected: '666'# got: '42'» | ||
lizmat | apparently you just need to run "todo" before the test | 09:30 | |
samcv | hm | ||
i guess i could just use my script, run the test, if it passes include it normally otherwise print out the #?rakudo.moar todo part :P | 09:31 | ||
lizmat | that could be one way, yes | ||
samcv | meh might as well make some utility to fudge all the tests though | 09:33 | |
better in the long run i think | |||
lizmat | grr another Terminal crash: Time Awake Since Boot: 330000 seconds # that can't be a coincendence | 09:34 | |
samcv | i'm going to be asleep very soon. night lizmat | 10:23 | |
lizmat | gnight, samcv | 10:24 | |
and thanks for all of the good work! | |||
samcv | :) you are welcome! | 10:28 | |
dalek | kudo/nom: a4bc51a | lizmat++ | src/core/Rakudo/Internals.pm: Make sure .sort on shaped arrays uses the leaves |
||
kudo/nom: 8d33b89 | lizmat++ | src/core/ (2 files): Make List.sort() about 4x faster On a 100 element List, YMMV for other sizes of Lists - rewrite algorithm in nqp ops, don't use p6sort - use in place sorting and comparing, without any indirection - since we always use cmp, no need for another level of block to execute - this candidate only works on real List/Arrays and is iterator agnostic |
|||
samcv | you too! | ||
notviki | . | 10:46 | |
yoleaux2 | 08:28Z <samcv> notviki: well it returned Str and int's before, so it was kind of already unpredictable, and that is what the synopsis says, it should return numbers. But we have uniprop-str uniprop-bool uniprop-int though they're not in roast or in docs | ||
notviki | .ask samcv OOC what does the number mean? I only ever saw 1 and 0... are those boolean? | 10:52 | |
yoleaux2 | notviki: I'll pass your message to samcv. | ||
notviki | RT rt.perl.org/Ticket/Display.html?id=130391 is really weird.... the symptops are the same that were present in .10 R*, but the reporter says they got them in .11 R* :/ | 10:56 | |
DrForr | That looks liek what he mentioned on FB. | 10:57 | |
notviki | m: "x".uniprop('Your momma').say | 10:59 | |
camelia | rakudo-moar 8d33b8: OUTPUT«0» | ||
notviki | -_- | 11:00 | |
dalek | kudo/nom: 4b2cea0 | lizmat++ | / (2 files): Make native @a.sort() about 12x faster - same as List.sort() improvement - use typed nqp::islt_x() for comparison because we can |
11:31 | |
timotimo | *nice* | 11:32 | |
notviki: your momma is a solid 0 out of 10 | |||
is that the joke? | |||
tadzik | it is now! | 11:33 | |
how about "your momma is a Sub-Zero out of 10?" | 11:34 | ||
timotimo | GET OVER HERE | 11:35 | |
your momma really puts the Fat into Fatality | |||
tadzik | :D | 11:40 | |
dalek | kudo/nom: 69dbab2 | lizmat++ | src/core/Str.pm: Slightly improve Str.split(<a b c>) Aka the multi-Cool variant, by using a nqp::list_i instead of a Pair to keep intermediate results. |
12:14 | |
kudo/nom: f0398fb | lizmat++ | src/core/Str.pm: Make Str.split(<a b c>) about 3x faster based on ("abcdeghi" xx 100).split(<b d f h>). Achieved by rewriting most of the initial search logic in nqp, but mostly by making the sort logic using nqp::cmp_i rather than <=> |
13:16 | ||
timotimo | *nice* | 13:22 | |
lizmat | that one might actually be noticeable with test-t | 13:23 | |
timotimo | i think so, too | 13:24 | |
dogbert17 | lizmat++, optimizing | 13:48 | |
MasterDuke | lizmat: Rust just did some sorting work that may be relevant: github.com/rust-lang/rust/pull/38192 | 14:06 | |
yoleaux2 | 22 Dec 2016 11:38Z <notviki> MasterDuke: FWIW, $*ARGFILES.lines(Inf) no longer works after #965 | ||
dalek | ast: 4c6d99b | dogbert17++ | S32-list/cross.t: Add test for RT #126508 |
15:04 | |
ast: 7cc4622 | dogbert17++ | S32-list/cross.t: Merge pull request #202 from dogbert17/test-rt-126508 Add test for RT #126508 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126508 | ||
[Tux] | It is not fair! three days ill, and you get under 6! | 15:29 | |
This is Rakudo version 2016.12-69-gf0398fbc5 built on MoarVM version 2016.12-19-ge2ffc358 | |||
csv-ip5xs 3.159 | |||
test 13.874 | |||
test-t 5.679 | |||
csv-parser 13.896 | |||
notviki | woooooo | 15:30 | |
lizmat++ awesome \o/ | |||
timotimo | nice | 15:31 | |
huggable: speed | |||
huggable | timotimo, tux.nl/Talks/CSV6/speed4.html | ||
notviki | buggable: speed | ||
buggable | notviki, ▄▄▄▄▅▅▄▄▅▆▄▄▄▄▅▄▆▅▅▅▅▃▄▄▄▃▄▄▄▄▄█▃▂▃▃▂▃▃▃▃▃▃▃▃▃▃▃▁▂ data for 2016-12-01–2016-12-23; variance: 5.679s–7.592s | ||
timotimo | that's the one | ||
tadzik | so what's the command to explain what different linus in Tux's IRC output mean? :) | 15:37 | |
timotimo | well, ip5xs is the time when the XS version is run through Inline::Perl5 | 15:41 | |
test is a simple test script that's not been touched in a while, test-t is the script that liz and tux have spent a bunch of effort on | |||
not sure if csv-parser is perl6 or perl5 | |||
[Tux] | perl6, from tony | 15:42 | |
timotimo | ah, ok | ||
interesting that its performance is almost exactly the same as test's | 15:43 | ||
at least in this measurement | |||
[Tux] | in the last weeks, I test twice by default and post the fastest timing here. The second run was | 15:44 | |
This is Rakudo version 2016.12-69-gf0398fbc5 built on MoarVM version 2016.12-19-ge2ffc358 | |||
csv-ip5xs 3.084 | |||
test 13.446 | |||
test-t 5.872 | |||
csv-parser 14.025 | |||
timotimo | oh, ok | 15:46 | |
tadzik | nodnod | 16:24 | |
where does test-t live? | 16:25 | ||
notviki | huggable: csv | ||
huggable | notviki, nothing found | ||
[Tux] | github.com/Tux/CSV | 16:26 | |
notviki | huggable: bench csv | ||
huggable | notviki, for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv; perl6 -Ilib -MText::CSV test-t.pl </tmp/hello.csv | ||
tadzik | ach :) | 16:27 | |
notviki | huggable: csv :is: github.com/Tux/CSV (see `bench csv` for how to run bench) | ||
huggable | notviki, Added csv as github.com/Tux/CSV (see `bench csv` for how to run bench) | ||
tadzik | or here? github.com/Tux/CSV/blob/master/test-t.pl | ||
samcv | . | 20:25 | |
yoleaux2 | 10:52Z <notviki> samcv: OOC what does the number mean? I only ever saw 1 and 0... are those boolean? | ||
samcv | notviki, it should return a boolean for boolean properties | ||
and if it's not, let me know because either moarvm doesn't support it yet, or I need to update the script i use to generate the type of value each unicode property should be | 20:26 | ||
that's one reason I worked on uniprop :P because i hated getting a 0 or a 1 for boolean values. hah | 20:27 | ||
notviki, which bool properties were returning 1 or 0? | 20:29 | ||
notviki | samcv: Number | 20:32 | |
u: arabic digit 3 | |||
unicodable6 | notviki, Found nothing! | ||
notviki | u: arabic three | ||
unicodable6 | notviki, U+063C ARABIC LETTER KEHEH WITH THREE DOTS BELOW [Lo] (ؼ) | ||
notviki, U+0663 ARABIC-INDIC DIGIT THREE [Nd] (٣) | |||
notviki, U+063F ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE [Lo] (ؿ) | |||
notviki, gist.github.com/dccbecae8d23369896...80caa80a2c | |||
samcv | m: '3'.uniprop('Number').say | 20:33 | |
camelia | rakudo-moar f0398f: OUTPUT«1» | ||
samcv | m: '3'.uniprop-int('Number').say | ||
camelia | rakudo-moar f0398f: OUTPUT«1» | ||
notviki | or that yeah :) | ||
m: 'a'.uniprop('Number').say | |||
camelia | rakudo-moar f0398f: OUTPUT«0» | ||
samcv | blame moar. lol | ||
oh wait | |||
it's whether or not it IS a number right | |||
not the number's value | |||
notviki | I dunno | ||
samcv | i will check. | ||
notviki | but I'd thought the "wether or not" would give a Bool | 20:34 | |
samcv | let me check the alias names | ||
i don't see that being a property... | 20:35 | ||
m: '3'.uniprop-int('Numeric_Type').say | 20:36 | ||
camelia | rakudo-moar f0398f: OUTPUT«3» | ||
samcv | ok that's not right… | ||
m: '3'.uniprop('Numeric_Type').say | |||
camelia | rakudo-moar f0398f: OUTPUT«Decimal» | ||
samcv | oh ok. there we go | 20:37 | |
weird... | |||
why does it give me the Numeric_Value property when i ask for an int of the Numeric_Type. strange | |||
m: '3'.uniprop-bool('Numeric_Type').say | |||
camelia | rakudo-moar f0398f: OUTPUT«True» | ||
samcv | m: 'a'.uniprop-bool('Numeric_Type').say | ||
camelia | rakudo-moar f0398f: OUTPUT«False» | ||
samcv | this is what you want notviki | ||
uniprop-bool('Numeric_Type') i think | 20:38 | ||
u: { .uniprop-bool('Numeric_Type') == True } | |||
unicodable6 | samcv, U+0030 DIGIT ZERO [Nd] (0) | ||
samcv, U+0031 DIGIT ONE [Nd] (1) | |||
samcv, U+0032 DIGIT TWO [Nd] (2) | |||
samcv, gist.github.com/37d0e4f390afb9f922...17eb76643b | |||
samcv | yeah if you're using uniprop that's technically what you should use… since 'Number' is not a unicode property… but | 20:39 | |
since moarvm obviously has it, maybe I should add it to the list? | |||
(of things to return a Bool for?) | 20:40 | ||
u: { .uniprop-bool('Numeric_Type') != .uniprop-bool('Number') } | 20:41 | ||
unicodable6 | samcv, U+3405 <CJK Ideograph Extension A> [Lo] (㐅) | ||
samcv, U+3483 <CJK Ideograph Extension A> [Lo] (㒃) | |||
samcv, U+382A <CJK Ideograph Extension A> [Lo] (㠪) | |||
samcv, gist.github.com/74c85137d6c50fb10e...65eb17bb26 | |||
notviki | If it's not standard unicode then we shouldn't add it, 'cause there are other backends besides moar | 20:42 | |
samcv | kk | ||
yeah | |||
m: '拾'.uniprop-bool.say | |||
camelia | rakudo-moar f0398f: OUTPUT«Cannot resolve caller uniprop-bool(Str); none of these signatures match: (Str:D $str, Stringy:D $propname) (Int:D $code, Stringy:D $propname) in block <unit> at <tmp> line 1» | ||
samcv | m: '拾'.uniprop-bool('Number').say | ||
camelia | rakudo-moar f0398f: OUTPUT«False» | ||
samcv | m: '拾'.uniprop-bool('Numeric_Value').say | ||
camelia | rakudo-moar f0398f: OUTPUT«True» | ||
samcv | m: '拾'.uniprop-bool('Numeric_Type').say | ||
camelia | rakudo-moar f0398f: OUTPUT«True» | ||
samcv | hm.. | 20:43 | |
m: '拾'.unival.say | |||
camelia | rakudo-moar f0398f: OUTPUT«10» | ||
samcv | hmmmmmm yeah | ||
so Number is missing some numbers | |||
apparently | |||
whatever way MoarVM decides if it's a number not sure | 20:44 | ||
m: say '一' ~~ /<:Number>/ | |||
camelia | rakudo-moar f0398f: OUTPUT«Nil» | ||
samcv | :( | ||
that should work | |||
m: say '一' ~~ /<:Numeric_Type>/ | |||
camelia | rakudo-moar f0398f: OUTPUT«Nil» | ||
samcv | m: say '一' ~~ /<:Numeric_Value>/ | 20:45 | |
camelia | rakudo-moar f0398f: OUTPUT«Nil» | ||
samcv | or i'm doing this wrong | ||
m: say '一' ~~ /<:Numeric>/ | |||
camelia | rakudo-moar f0398f: OUTPUT«Nil» | ||
samcv | m: say '1一' ~~ /<:Number>/ | ||
camelia | rakudo-moar f0398f: OUTPUT«「1」» | ||
samcv | m: say '一' ~~ /<:Number>/ | ||
camelia | rakudo-moar f0398f: OUTPUT«Nil» | ||
samcv | yeah that is the number one in japanese i think | ||
m: say "∞".uniprop('Number') | 20:46 | ||
camelia | rakudo-moar f0398f: OUTPUT«0» | ||
samcv | m: say "∞".uniprop('Numerical_Type') | ||
camelia | rakudo-moar f0398f: OUTPUT«0» | ||
samcv | yeah so it looks like only rational numbers with values have a numerical type | ||
that's what i remembered it being | 20:47 | ||
notviki | m: say ^42 - 2e0 | 21:28 | |
camelia | rakudo-moar f0398f: OUTPUT«-2e0..^40e0» | ||
notviki | m: say ^42 - 2+0i | ||
camelia | rakudo-moar f0398f: OUTPUT«42+0i» | ||
notviki | m: say ^42 - (2+0i) | ||
camelia | rakudo-moar f0398f: OUTPUT«40-0i» | ||
notviki | m: say Range ~~ Cool | 21:29 | |
camelia | rakudo-moar f0398f: OUTPUT«True» | ||
notviki | ah | ||
dalek | kudo/nom: 08c37cd | lizmat++ | src/core/Rakudo/Internals.pm: Introducing R:I.MERGESORT-REIFIED-LIST This method takes a List with a fully $reified and sorts it in place using plain cmp and returns the given List. |
21:30 | |
kudo/nom: fc599d3 | lizmat++ | src/core/Any-iterable-methods.pm: Any.sort() now uses R:I:MERGESORT-REIFIED-LIST |
|||
notviki | samcv: was this supposed to be TODOed? I'm getting a failure not ok 59 - uniprop for Grapheme_Cluster_Break returns LF for newline codepoint | 21:43 | |
samcv | i thought that worked… | 21:44 | |
m: "\n".uniprop('gcb').say | |||
camelia | rakudo-moar f0398f: OUTPUT«LF» | ||
samcv | m: use Test; is "\n".uniprop('Line_Break'), 'LF', ‘"\n".uniprop('Line_Break') return LF’; | ||
camelia | rakudo-moar f0398f: OUTPUT«ok 1 - "\\n".uniprop('Line_Break') return LF» | ||
samcv | you sure it's that one? | ||
the two below it aren't supposed to work, but i todo'd them. unless i did it wrong | 21:45 | ||
notviki | gist.github.com/zoffixznet/f53c599...28fa2c5e0a | ||
samcv | m: 0x103D.uniname.say | 21:46 | |
camelia | rakudo-moar f0398f: OUTPUT«MYANMAR CONSONANT SIGN MEDIAL WA» | ||
samcv | oh i see i messed up | 21:47 | |
dalek | ast: 7b5d3c9 | (Zoffix Znet)++ | S15-unicode-information/uniprop.t: Fix copy-pasto in test |
||
samcv | ok fixing | 21:48 | |
oh | |||
notviki | too slow :P | ||
samcv | hah | ||
copy-posto :P | |||
dalek | ast: 671355e | samcv++ | S15-unicode-information/uniprop.t: Fix two of the uniprop tests, which the correct values were wrong |
21:49 | |
samcv | well it ended up doing it for one. at least i fixed a different other one. that was todo'd | ||
remind me how to make spectest for only one test | 21:50 | ||
make spectest t/S15-unicode-information/uniprop.t | |||
notviki | make t/S15-unicode-information/uniprop.t | 21:51 | |
samcv | in roast or rakudo? neither one works | ||
notviki | make t/spec/S15-unicode-information/uniprop.t | ||
samcv | no rule for target | ||
k | |||
yay | |||
dalek | kudo/nom: 5ac4c06 | lizmat++ | src/core/List.pm: List.sort() now uses R:I.MERGESORT-REIFIED-LIST |
21:54 | |
samcv | just gonna make a little script to cd into the rakudo folder and make spectest | 21:55 | |
then go back | |||
notviki | :S | 21:58 | |
m: sink 42 - 42 | 22:08 | ||
camelia | rakudo-moar fc599d: OUTPUT«WARNINGS for <tmp>:Useless use of "-" in expression "42 - 42" in sink context (line 1)» | ||
notviki | m: eager 42 - 42 | ||
camelia | ( no output ) | ||
notviki would've expected those to be in reverse in when the warning is generated :S | 22:09 | ||
RabidGravy | ooh, "#0 0x00007ffff790ffb7 in gc_mark (tc=0x6037c0, st=<optimized out>, data=<optimized out>, | 22:29 | |
worklist=0x5ae4970) at src/6model/reprs/MVMCallCapture.c:55" | |||
dalek | ast: 2a806dd | samcv++ | S15-nfg/GraphemeBreakPropertyTest (2 files): Add new test generated from GraphemeBreakPropertyTest Unicode 9.0 Add the script used to generate it as well. |
22:30 | |
samcv | moar tests | ||
lizmat | samcv: will you do a PR to add it to spectest.data ? | 22:31 | |
samcv | yea | ||
i have the ones moar fails “todo'd” | 22:32 | ||
lizmat, so i just add it to the file. and that's it right | |||
lizmat | yeah | 22:33 | |
RabidGravy | I'm not sure how to report this, I can cause the segfault at will but can't reproduce with simpler code | ||
lizmat | at a logical place :-) | ||
dalek | p: 622ee56 | (Pawel Murias)++ | t/nqp/037-slurpy.t: Test that slurpy positionals are mixed in in the correct place. |
22:34 | |
p: 6937b9e | (Pawel Murias)++ | src/vm/js/ (4 files): [js] Support throwing and handling control exceptions. |
|||
p: 4111c28 | (Pawel Murias)++ | t/nqp/044-try-catch.t: Test throwing and handling control exceptions. |
|||
samcv | lizmat, github.com/rakudo/rakudo/pull/968 | 22:38 | |
dalek | kudo/nom: 2acc7fd | samcv++ | t/spectest.data: Add S15-nfg/GraphemeBreakPropertyTest.t to spectest.data I just added this to roast, so let's add it to the spectest.data file. |
22:39 | |
kudo/nom: b306de1 | lizmat++ | t/spectest.data: Merge pull request #968 from samcv/GraphemeBreakTest Add S15-nfg/GraphemeBreakPropertyTest.t to spectest.data |
|||
samcv | yay | ||
lizmat | and thanks for moar tests! | ||
samcv | make t/spec/S15-nfg/GraphemeBreakPropertyTest.t isn't working for me though | 22:40 | |
do i have to run make spectest | 22:41 | ||
notviki runs one for 99.9999% of changes; the rest being the cases where I accidentally forgot to | 22:45 | ||
samcv | oh that did it :) | ||
yay all good | 22:46 | ||
timotimo | i wonder why it wouldn't let you just "make" it ... perhaps when spectest.data changes it wants the makefile to be re-built by Configure.pl? but that seems kind of dumb | 22:50 | |
notviki | It does let you. Even if the file's not in spectest.data | 22:53 | |
timotimo | strange | ||
lizmat | good night, #perl6-dev | 23:05 | |
notviki | hmm... warnings in test files interfere with TAP | ||
lizmat: night | |||
m: use Test; plan 1; 42 - 42; ok 1 | 23:06 | ||
camelia | rakudo-moar b306de: OUTPUT«WARNINGS for <tmp>:Useless use of "-" in expression "42 - 42" in sink context (line 1)1..1ok 1 - » | ||
notviki | Looks like perl 5's `prove` is too permissive. "A harness must only read TAP output from standard output and not from standard error." testanything.org/tap-version-13-sp...ation.html | 23:08 | |
and the warning is in stderr :/ | |||
ooooohhhh | 23:09 | ||
never mind :) I stuck a test into a sub, but I guess it gets called when being optimized | 23:10 | ||
hmm | 23:11 | ||
I'd say it may be a bug in optimizer | |||
m: multi foo (Int) { say "hi" }; multi foo (Str) { say "meow" }; say "start"; foo "x" | 23:12 | ||
camelia | rakudo-moar b306de: OUTPUT«startmeow» | ||
notviki | m: multi foo (Int) is pure { say "hi" }; multi foo (Str) { say "meow" }; say "start"; foo "x" | ||
camelia | rakudo-moar b306de: OUTPUT«startmeow» | ||
notviki | m: multi infix:<z> (Int) is pure { say "hi" }; multi infix:<z> (Str) { say "meow" }; say "start"; infix:<z>("x") | 23:13 | |
camelia | rakudo-moar b306de: OUTPUT«startmeow» | ||
notviki | m: use Test; multi infix:<z> (Int) is pure { say "hi" }; multi infix:<z> (Str) { pass "meow" }; say "start"; infix:<z>("x") | ||
camelia | rakudo-moar b306de: OUTPUT«startok 1 - meow» | ||
notviki | weird | ||
ohhh. | |||
doh, I marked the proto as is pure | |||
AlexDaniel | \o/ | 23:15 | |
notviki | m: proto foo (|) is pure {*}; multi foo (Int) is pure { say "hi" }; multi foo (Str) { say "meow" }; say "start"; foo "x" | ||
camelia | rakudo-moar b306de: OUTPUT«meowWARNINGS for <tmp>:Useless use of "foo \"x\"" in expression "foo \"x\"" in sink context (line 1)startmeow» | ||
notviki | .oO( useless use :/ ) |
||
m: multi infix:<-> (Str $, Str $) { say "hi" }; say "start"; "x" - "x" | 23:18 | ||
camelia | rakudo-moar b306de: OUTPUT«hiWARNINGS for <tmp>:Useless use of "-" in expression "\"x\" - \"x\"" in sink context (line 1)starthi» | ||
notviki | m: multi infix:<-> (Str $, Str $) { say "hi" }; say "start"; $ = "x" - "x" | ||
camelia | rakudo-moar b306de: OUTPUT«histart» | ||
notviki | 0.o | ||
(two "hi"s in the one with the warning | |||
) | |||
m: multi infix:<-> (Str $, Str $) { say "hi" }; say "start"; quietly "x" - "x" | |||
camelia | rakudo-moar b306de: OUTPUT«histart» | ||
notviki | wow... | 23:19 | |
samcv | that is… interesting… | 23:26 | |
AlexDaniel | what's wow about it? | 23:40 | |
ah, it attempts constant folding with a custom infix operator? | 23:41 | ||
timotimo | yeah, the "is pure" from the proto sticks to the custom candidates, too | ||
notviki | AlexDaniel: it doesn't attempt. It succeeds. The wow is the realization that users can't very safely overload core operators for their custom objects. | 23:42 | |
Well, and the two-hi bug too | |||
AlexDaniel | notviki: hmmmmmm | ||
bisect: multi infix:<-> (Str $, Str $) { say "hi" }; say "start"; quietly "x" - "x" | 23:43 | ||
bisectable6 | AlexDaniel, On both starting points (old=2015.12 new=b306de1) the exit code is 0 and the output is identical as well | ||
AlexDaniel, Output on both points: histart | |||
notviki | WEll, and the useless use of useless use bug too | ||
bisect: multi infix:<-> (Str $, Str $) { say "hi" }; say "start"; "x" - "x" | |||
bisectable6 | notviki, On both starting points (old=2015.12 new=b306de1) the exit code is 0 and the output is identical as well | ||
notviki, Output on both points: hiWARNINGS for /tmp/ZiXcmLTWWw:Useless use of "-" in expression "\"x\" - \"x\"" in sink context (line 1)starthi | |||
AlexDaniel | vOv | 23:44 | |
samcv | to add a response to a RT ticket i can just send a mail to [email@hidden.address] with the proper subject right? | 23:54 | |
does it take some amount of time to show up? | |||
notviki | ¯\_(ツ)_/¯ | 23:55 | |
samcv | :\ | ||
i mean it should work? or should i just reply on the rt site | |||
notviki | lizmat replies via email, but I've no idea what the address is or how long it takes to show up. | 23:56 | |
AlexDaniel: I have a Christmas present for you! | 23:57 | ||
AlexDaniel | bring it on! | 23:58 | |
notviki | m: dd ^10-2 | ||
camelia | rakudo-moar b306de: OUTPUT«-2..^8» | ||
notviki | m: dd ^10−2 | ||
camelia | rakudo-moar b306de: OUTPUT«8» | ||
notviki | ^_^ | ||
AlexDaniel moves his face closer to the display | |||
why??? | 23:59 | ||
notviki | Guess :) | ||
AlexDaniel | no, I mean I know | ||
it's a fancy minus | |||
but why?? | |||
notviki | Well, yeah. Guess :) | ||
Guess why :) | |||
I'll give you a hint... |