Geth | rakudo/nom: cef41b2487 | (Samantha McVey)++ | 2 files Simplify JVM code now that nqp::getstrfromname has been impl. on JVM We no longer need to have ifdef's in places where we use getstrfromname. |
01:57 | |
rakudo/nom: 5b6e0fb26a | (Samantha McVey)++ | src/core/Cursor.pm Use foldcase for ignorecase in Cursor.pm When comparing text case-insensitively the correct way is to fold case, instead of just lowercasing the string. Otherwise things like ligatures and other characters who may have special upper and lowercase forms will not be put in an easily comparable format. |
|||
MasterDuke | samcv: any todo'd tests now pass? | 02:01 | |
yoleaux2 | 7 Mar 2017 14:36Z <IOninja> MasterDuke: any ideas on why this fails to match now? irclog.perlgeek.de/perl6-dev/2017-...i_14219666 Bisectable points to a version bump that brought this commit: github.com/MoarVM/MoarVM/commit/ab...2ab7623d9e | ||
samcv | MasterDuke, not yet. working on nqp side now | ||
MasterDuke | cool, samcv++ | ||
samcv | :) | 02:02 | |
sometimes i have to delete my moar installation files manually. it doesn't always update the versioning | 03:17 | ||
not sure wtf is going on with that. but it's happened tons of times | |||
doing a clean or realclean of MoarVM still won't update version even though it is the latest | 03:18 | ||
if i manually delete moar binary and the .so file and install it again then it's fine | |||
MasterDuke, got distracted, but running spectest after making some changes to nqp now. do we already have a test for this bug in roast that is `todo`'d? | 03:34 | ||
oh god what am i looking at | 03:54 | ||
github.com/perl6/nqp/blob/master/s...#L163-L165 looks like for character ranges it does a range between lowercase versions and a range between uppercase versions | 03:55 | ||
i guess it's ok since it's the P5Regex... i guess | 03:58 | ||
naxieAlDle, you may be interested in this | 04:00 | ||
naxieAlDle | me? :) | 04:01 | |
samcv | yeah about the casefolding things | ||
naxieAlDle | samcv: that's interesting but you were looking for someone else, I think ×D | 04:04 | |
samcv | maybe | 04:06 | |
MasterDuke, | |||
Geth | rakudo/nom: 127338a9dc | TimToady++ | src/Perl6/Optimizer.nqp Report useless use of $_ in my $x = 1,$_ The optimizer was not properly propagating void context to comma's args. |
04:27 | |
rakudo/nom: 1934a565a3 | TimToady++ | src/Perl6/Actions.nqp mark require's import list as wanted |
|||
MasterDuke | samcv: there aren't any tests for what IOninja pointed out | 04:44 | |
samcv | ok well i'm adding one for nqp at least. then after perl 6 | ||
working on the nqp side atm | |||
yay I fixed it on nqp | |||
MasterDuke | those places i pointed out? where there others? | 04:45 | |
samcv | i'm about to push commit | ||
but it at least fixes it when running nqp test | |||
MasterDuke | *were | ||
but no todo'd test passing? that's too bad | 04:46 | ||
samcv | i haven't run rakudo | ||
i mean roast | |||
i'm working on nqp right now. | |||
llfourn | .botsnack | 04:57 | |
synopsebot6 | om nom nom | ||
yoleaux2 | :D | ||
7 Mar 2017 22:10Z <nine> llfourn: I've made some progress...I think? gist.github.com/niner/349fd7432e5c...af5111532c | |||
samcv | m: say 'st' ~~ m:i/s/ | 05:36 | |
camelia | 「st」 | ||
samcv | bisectable6: say 'st' ~~ m:i/s/ | ||
bisectable6 | samcv, Bisecting by output (old=2015.12 new=1934a56) because on both starting points the exit code is 0 | ||
samcv, bisect log: gist.github.com/a317185d00ee00b1b8...7265179b38 | |||
samcv, (2017-02-28) github.com/rakudo/rakudo/commit/26...2c543a7d95 | |||
samcv | m: say 'st' ~~ m:i/st/ | 05:37 | |
camelia | 「s」 | ||
samcv | m: say 'st' ~~ m:i/st/ | 05:38 | |
camelia | 「st」 | ||
samcv | bisectable6, say 'st' ~~ m:i/st/ | ||
bisectable6 | samcv, Bisecting by output (old=2015.12 new=1934a56) because on both starting points the exit code is 0 | ||
samcv, bisect log: gist.github.com/b1787df402db79b325...354c504586 | 05:39 | ||
samcv, (2017-02-28) github.com/rakudo/rakudo/commit/26...2c543a7d95 | |||
travis-ci | Rakudo build failed. Samantha McVey 'Use foldcase for ignorecase in Cursor.pm | 05:40 | |
travis-ci.org/rakudo/rakudo/builds/208818675 github.com/rakudo/rakudo/compare/e...6e0fb26ab4 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
samcv | looks like nativecall flapping | 05:43 | |
m: say 'st' ~~ m:i/st/ | 05:58 | ||
camelia | 「s」 | ||
samcv | so this is still broken | ||
m: say 'st' ~~ m:i/st/ | 05:59 | ||
camelia | 「st」 | ||
samcv | this works fine though | ||
m: say 'sto' ~~ m:i/sto/ | |||
camelia | 「sto」 | ||
samcv | m: say 'st' ~~ m:i:m/st/ | 06:11 | |
camelia | False | ||
samcv | ok that's broken | ||
Geth | roast: 60670004d7 | usev6++ | 2 files Fudge failing tests for JVM |
06:23 | |
nqp: 2189077da7 | (Samantha McVey)++ | src/QRegex/P6Regex/Actions.nqp Use foldcase instead of lowercase for case-insensitive P6Regex When comparing text case-insensitively the correct way is to fold case, instead of just lowercasing the string. Otherwise things like ligatures and other characters who may have special upper and lowercase forms will not be put in an easily comparable format. |
06:28 | ||
nqp: ccb5490016 | (Samantha McVey)++ | 2 files Use nqp::fc instead of nqp::lc and add a test Added test did not pass before this and the previous commit had been made. |
|||
nqp: 9ab92d5ae0 | (Samantha McVey)++ | t/qregex/rx_modifiers Add some more ignorecase tests |
|||
samcv | MasterDuke, despite these commits i don't think i've fixed anything in rakudo. but at least fixed some nqp bugs | ||
samcv | though i could have fixed a bug I do not know about currently. so at least it made it more correct | 06:29 | |
travis-ci | NQP build failed. Samantha McVey 'Add some more ignorecase tests' | 06:31 | |
travis-ci.org/perl6/nqp/builds/208865943 github.com/perl6/nqp/compare/3d694...b92d5ae0d0 | |||
samcv | all seems fine there except for div_i JIT failed on one of the travis' | 06:34 | |
[Tux] | This is Rakudo version 2017.02-199-g1934a565a built on MoarVM version 2017.02-26-gbe37105f | 07:18 | |
csv-ip5xs 2.791 | |||
test 12.757 | |||
test-t 5.095 - 5.129 | |||
csv-parser 12.993 | |||
travis-ci | Rakudo build failed. TimToady 'mark require's import list as wanted' | ||
travis-ci.org/rakudo/rakudo/builds/208845690 github.com/rakudo/rakudo/compare/5...34a565a37d | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
llfourn | nine: I've been making progress from your patch. I think I'm almost there. The key is to .merge-symbols into the stub/existing pkg rather than trying to lexically replace. | 07:49 | |
nine | llfourn: sooo...who of us is the night shift and who's the day shift? :) | 07:51 | |
llfourn | nine: I'm in australia so we it's subjective :D | 07:52 | |
so it's* | |||
nine | Global distribution FTW :) | ||
llfourn | yep, round the clock bugfixing! | 07:53 | |
(assuming we fix it) | 07:54 | ||
taking a break & | 07:55 | ||
nine | Yeah, I hope we can make it today. I was pretty drained yesterday. Took me some sweet long time to realize that I already had the information of where the existing scopes and and the stubs begin. | ||
Before that I ran into this weird issue that the stub was no longer a PackageHOW but a ClassHOW. No idea how that could happen. | 07:56 | ||
llfourn | nine: I know. This kind of thing is very muddling and draining. The above issue sounds like you where getting the package and it's stash confused which I do all the time. | 09:02 | |
Geth | rakudo/nom: 44b60a560d | TimToady++ | src/Perl6/Grammar.nqp all use of .define_slang without setting %*LANG Only check for mismatches if %*LANG<MAIN> changed without $*LANG changing. (The reverse is okay, since someone may use only .define_slang without maintaining the old %*LANG entries.) |
09:24 | |
llfourn | nine: but actually it might also be that the lexically installed packages we are installing from Actions.nqp turn out to be Mu at runtime. I changed to useing install_lexical_symbol and they are there now :) | ||
TimToady | *allow | ||
TimToady should obviously go to bed, if he can't even type straight... | 09:27 | ||
jnthn got a failure in t/spec/S11-modules/require.t on HEAD | 10:50 | ||
"Lexical 'Cool' already declared" | |||
IOninja | m: say "st T" ~~ m:i/T/ | 10:51 | |
camelia | False | ||
jnthn | .u st | 10:53 | |
yoleaux2 | U+FB06 LATIN SMALL LIGATURE ST [Ll] (st) | ||
jnthn | m: say "st".fc | 10:54 | |
camelia | st | ||
jnthn | m: say "st".fc.chars | ||
camelia | 2 | ||
jnthn | m: say "st".lc.chars | ||
camelia | 1 | ||
jnthn | It's probably something to do with the foldcase of it expanding the char count | 10:55 | |
Exactly how, I'm not sure | |||
IOninja | Filed it as rt.perl.org/Ticket/Display.html?id=130953 | 10:57 | |
Also gonna mark as release blocker. | |||
m: say "stT" ~~ m:i/T/ | 10:58 | ||
camelia | 「T」 | ||
IOninja | ^ goes away if you remove the space | ||
(can be any letter instead of space) | |||
I think you're onto something with char count... | |||
m: say "ststT" ~~ m:i/T/ | 10:59 | ||
camelia | False | ||
IOninja | m: say "stststT" ~~ m:i/T/ | ||
camelia | 「T」 | ||
IOninja | m: say "ststststT" ~~ m:i/T/ | ||
camelia | False | ||
IOninja | m: say "stststststT" ~~ m:i/T/ | ||
camelia | 「T」 | ||
jnthn | We can revert the patch if needed, though that'd just mean we have to fudge different spectests | ||
NeuralAnomaly: stats | |||
NeuralAnomaly | jnthn, [✘] Next release will be in 1 week and 3 days. Since last release, there are 40 new still-open tickets (11 unreviewed and 0 blockers) and 36 unreviewed commits. See perl6.fail/release/stats for details | ||
jnthn | Ah, we've some time to look into a fix | ||
IOninja | Yeah :) | ||
samcv | m: say "st T" ~~ m:i/T/ | 11:00 | |
camelia | False | ||
samcv | bisectable6, say "st T" ~~ m:i/T/ | ||
bisectable6 | samcv, Bisecting by output (old=2015.12 new=44b60a5) because on both starting points the exit code is 0 | ||
samcv, bisect log: gist.github.com/1d180cd8f09e1dbccd...a62f84bd0c | |||
samcv, (2017-02-28) github.com/rakudo/rakudo/commit/26...2c543a7d95 | |||
Geth | roast: 1994ec2a04 | (Jonathan Worthington)++ | S17-procasync/nonexistent.t Add tests for Proc::Async and non-existent process |
11:03 | |
travis-ci | Rakudo build passed. TimToady 'all use of .define_slang without setting %*LANG | 11:20 | |
travis-ci.org/rakudo/rakudo/builds/208901865 github.com/rakudo/rakudo/compare/1...b60a560d63 | |||
IOninja | samcv: yo | 11:38 | |
samcv | hey | ||
IOninja | samcv: I wanna tweet something. Does this sound normal: "Did you know one of the reasons for #Perl6's logo being so colourful is to fight any misogyny in community? Happy #InternationalWomensDay" | ||
Referencing one of the points discussed in the emails about the logo: raw.githubusercontent.com/perl6/mu...amelia.txt | 11:39 | ||
"In addition, you can extend just about anything by attaching "P6" wings to it. I also take it as a given that we want to discourage misogyny in our community. You of the masculine persuasion should consider it an opportunity to show off your sensitive side. :) Hence, Camelia." | 11:40 | ||
samcv | ok could be better. i'm working on rephrasing | 11:41 | |
IOninja | \o/ | ||
samcv | how does this sound IOninja | 11:45 | |
#Perl6's logo was designed to be colorful to embrace women and fight misogyny within the community. Happy #InternationalWomensDay" | |||
IOninja | samcv++ thanks | ||
samcv | :) | ||
also maybe add exclaimation mark at the end | 11:46 | ||
#Perl6's logo was designed to be colorful to embrace women and fight misogyny within the community. Happy #InternationalWomensDay! | |||
moritz | samcv++ | 11:47 | |
lizmat | samcv++ IOninja++ | 11:49 | |
Geth | roast: aaa8c0d6d6 | (Jonathan Worthington)++ | S17-procasync/nonexistent.t Test Proc::Async stdout/stderr on spawn failure. |
11:59 | |
llfourn | m: require Pod::To::Text; Pod::To::Text.new | 12:12 | |
camelia | You cannot create an instance of this type (Text) in block <unit> at <tmp> line 1 |
||
llfourn | nine: If it wasn't for this I think I could fix everything | ||
but it seems we simply can't make stubs and replace them at runtime | 12:13 | ||
because they get their identity at compile time | |||
the fact that you change them in the lexpad doesn't matter | |||
or at least this is my interpretation of the matter | |||
the way stubs are done at compile time is to leave the package uncomposed until the definition comes up | 12:14 | ||
but this is impossible with with require with to my knowledge | 12:15 | ||
nine | Have you also noticed the QAST::WVal(Text) in the AST? | 12:16 | |
llfourn | nope | ||
nine | I wonder where that is even coming from? | ||
- QAST::Op(callmethod new) new | |||
- QAST::WVal(Text) <wanted> Pod::To::Text | |||
Seems like the Perl6::World is keeping the reference to the stub somewhere. | 12:17 | ||
llfourn | right. It puts the WVal there at compile time after it does the lookup is my interpretation of that. | 12:18 | |
(I didn't think to look at the dump nine++) | |||
nine | If we could defer the lookup till runtime, we'd have won | 12:19 | |
llfourn | mmm it works for require <&sub> because &sub is lookup up at runtime I guess. | 12:22 | |
I think I'll change the tests to indirect lookups for now because that's at least working now with multiple requires etc... | 12:27 | ||
lizmat | $ perl6 t/spec/S11-modules/require.t | 12:49 | |
===SORRY!=== | |||
Lexical 'Cool' already declared | |||
Am I the only one seeing this? ^^^ | |||
llfourn | no I knew those tests weren't passing and you merged that last night :O | ||
lizmat | I did ? | ||
oops | |||
llfourn | I think so lol | ||
I thought it was intentional but yeah you can revert that :) | 12:50 | ||
lizmat | Ah, so you mean it's a test that *should* get fixed in rakudo | ||
llfourn | the fix is proving more | ||
difficult that I first thought | 12:51 | ||
yes :) | |||
lizmat | ok, then I'll leave it for now :-) | ||
I thought I had broken rakudo by the merge, but the merge just shows that rakudo was broken already, right ? | |||
llfourn | yes, I'm going to change them in a sec anyway :) | 12:52 | |
Geth | rakudo/nom: fc86084f06 | (Elizabeth Mattijsen)++ | src/core/Str.pm Fix for RT #130955 |
13:02 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130955 | ||
Geth | rakudo/nom: d6c95ea452 | (Elizabeth Mattijsen)++ | src/core/Parameter.pm Presumably allow Parameter.set_default Haven't tested all of the ramifications of this, so please consider this experimental. |
13:13 | |
nqp: 4c0f69840b | (Jonathan Worthington)++ | tools/build/MOAR_REVISION Get MoarVM with async proc error handling fixes |
|||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...1-g91aab71 | |||
IOninja | More on the ligature front: | 13:14 | |
m: "ststT".match(m:i/T/) | |||
(hangs) | |||
camelia | (timeout)Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1 |
||
Geth | rakudo/nom: c4a4c848c2 | (Jonathan Worthington)++ | src/core/Proc/Async.pm Clean up Proc::Async exit handling * Don't duplicately .done/.quit the stdout and stderr channels * A level less wrapping up of errors, fixing error reporting |
13:16 | |
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....5-g4c0f698 f73d984738 | (Jonathan Worthington)++ | tools/build/NQP_REVISION * Fix issues around error handling when writing to or reading from a Proc::Async when the process could not be spawned (for example, if the thing to spawn does not exist) |
|||
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....5-g4c0f698 8c777b1123 | (Jonathan Worthington)++ | t/spectest.data |
|||
travis-ci | NQP build passed. Jonathan Worthington 'Get MoarVM with async proc error handling fixes' | ||
travis-ci.org/perl6/nqp/builds/208964886 github.com/perl6/nqp/compare/9ab92...0f69840b8e | |||
IOninja | oh wait, the .match hand I think is due to candidate dispatch | 13:28 | |
*hang | |||
s: "ststT", 'match', \(m:i/T/) | 13:29 | ||
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/8c77...ol.pm#L179 | ||
IOninja | yeah | ||
lizmat | fwiw, I'm still not understanding (or I forgot) what all that .Stringy / Str business is about :-( | 13:30 | |
IOninja | I don't get the point of Stringy either | 13:32 | |
Geth | roast: 2fa32e11eb | (Zoffix Znet)++ | S05-substitution/match.t [fudge] Test ligatures do not break :i regex match RT#130953: rt.perl.org/Ticket/Display.html?id=130953 |
13:35 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130953 | ||
lizmat | it feels overengineered to me, but maybe moritz masak jnthn TimToady can enlighten us? :-) | ||
hmmm... do we actually have the opposite of ($a is rw) in signatures (aka, only accept if it's not a container?) | 13:37 | ||
jnthn | It's to Str what Numeric is to Int | ||
IOninja | m: -> $ is readonly {}($ = 42) | ||
camelia | ( no output ) | ||
jnthn | lizmat: No, though multi-dispatch treats the is rw case more narrowly | ||
IOninja | jnthn: that doesn't really explain it. There's just one Str, while Numeric is used by Int, Num, Rat, and Complex | 13:38 | |
jnthn | IOninja: Yeah, but you might add your own types that you wish to be treated string-like (I did one in a private project recently) | ||
IOninja: And in Perl 6 itself we intend to add Cat (lazy string) | |||
IOninja | Oh ok, I see Blob uses it as well. | ||
jnthn | Which would be stringy, but not Str | 13:39 | |
IOninja | OK. Thanks. | ||
jnthn | m: say Blob.^roles | ||
camelia | ((Positional[T]) (Stringy)) | ||
jnthn | Hah, yes | ||
lizmat | hmmm... my fix for RT #130954 causes severe spectest breakage :-( | 13:50 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130954 | ||
Geth | roast: 81c9ff59e8 | (Zoffix Znet)++ | S32-str/split.t Minor formatting fix |
||
roast: a8a7ff148e | (Zoffix Znet)++ | S32-str/split.t Test split skip-empty skips all empty chunks RT#130955: rt.perl.org/Ticket/Display.html?id=130955 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130955 | ||
lizmat | $ 6 'dd (my $ = 42).WHICH' | ||
ObjAt.new("Scalar|Int|42") | |||
$ 6 'dd 42.WHICH' | |||
ObjAt.new("Int|42") | |||
jnthn: comments ^^^ ? | |||
jnthn | Looks weird | 13:52 | |
.WHAT, .HOW, .WHERE, etc. all look through the Scalar container | |||
Why should .WHICH be different? | |||
lizmat | rt.perl.org/rt3//Public/Bug/Displa...?id=130954 | ||
jnthn | Will have to look after language class; bbiah | 13:54 | |
lizmat | okidoki | ||
IOninja | ZOFVM: Files=1227, Tests=132791, 117 wallclock secs (20.86 usr 3.17 sys + 2346.55 cusr 259.61 csys = 2630.19 CPU) | 13:59 | |
This check looks pointless: github.com/rakudo/rakudo/blob/d6c9...er.pm#L165 as $!default_value is already type-constrained to be Code: github.com/rakudo/rakudo/blob/d6c9...ter.pm#L12 | 14:05 | ||
lizmat | is it type constrained ? I mean, it comes from nqp land | 14:06 | |
ah, looks like in BOOTSTRAP line 1477 | 14:07 | ||
IOninja | m: use nqp; dd nqp::getattr(Parameter.new, Parameter, '$!default_value').^name | ||
camelia | "VMNull" | ||
lizmat | m: use nqp; dd nqp::attrinited(Parameter.new, Parameter, '$!default_value') | 14:08 | |
camelia | 0 | ||
IOninja tries tossing it | |||
Geth | roast: 0336dea1a8 | LLFourn++ | 2 files Changed require tests to indirect lookups We can't get importing a class and calling methods directly on it to work yet: ``` require Some::Class; Some::Class.new ``` So change the tests to indirect lookups for now. |
14:10 | |
IOninja | :/ | 14:11 | |
"for now"? | |||
m: use nqp; my \x = Parameter.new; nqp::bindattr(x, Parameter, '$!default_value', 42); dd nqp::getattr(x, Parameter, '$!default_value') | |||
camelia | 42 | ||
llfourn | ^ the above never work fwiw | ||
Geth | rakudo/nom: 0633f0370e | (Elizabeth Mattijsen)++ | src/core/List.pm Make cross() and zip() better optimizable |
||
IOninja | Seems bindin g an attribute with nqp bypasses the typecheck... | ||
m: use nqp; my \x = class Foo { has Code $!default_value }.new; nqp::bindattr(x, Foo, '$!default_value', 42); dd nqp::getattr(x, Foo, '$!default_value') | |||
camelia | 42 | ||
llfourn | IOninja: I am just modifying tests I added yesterday :) | 14:12 | |
lizmat | and which I merged :-) | ||
IOninja | m: use nqp; my \x = class Foo { has Code $!default_value; method wat { dd $!default_value.^name} }.new; nqp::bindattr(x, Foo, '$!default_value', 42); dd nqp::getattr(x, Foo, '$!default_value'); x.wat | ||
camelia | 42 "Int" |
||
IOninja | llfourn: OK | ||
Geth | rakudo: LLFourn++ created pull request #1034: Fix multiple requires & require clobbering pre-existing pacakges |
14:13 | |
llfourn | ^ Oh and there are a few annoying warnings about "Unhandled failure detected in destroy" | 14:15 | |
in the tests but I think they were there before | |||
leme check before merging | |||
nine: github.com/rakudo/rakudo/pull/1034 # This is the best I can do for now | 14:17 | ||
I can confirm the annoying "unhandled Failure detected in destroy" warnings were the before fwiw | 14:19 | ||
sleep & | 14:21 | ||
lizmat | good night, llfourn | 14:22 | |
IOninja | removing that parameter $!default_value type check breaks spectest: gist.github.com/zoffixznet/e3d9c0a...9696b03b97 | ||
lizmat | m: dd ((42,666).Seq xx *)[^10] # this feels off | ||
camelia | ((42, 666), (42, 666), (42, 666), (42, 666), (42, 666), (42, 666), (42, 666), (42, 666), (42, 666), (42, 666)) | ||
IOninja | Because of same Seq iteration? | 14:23 | |
lizmat | well, I sorta expected (42,666,42,666 etc.) | ||
IOninja | Awhile back, jnthn++ commited a fix to make Seq contants not to exhaust or something... | 14:24 | |
Ah, you need to slip to get that | |||
m: dd (|(42,666).Seq xx *)[^10] | |||
camelia | (42, 666, 42, 666, 42, 666, 42, 666, 42, 666) | ||
lizmat | m: dd (-> { $++ ?? 42 !! |() } xx *)[^5] # also not quite what I was expecting, am I missing something ? | 14:36 | |
camelia | (-> { #`(Block|56626312) ... }, -> { #`(Block|56626384) ... }, -> { #`(Block|56626456) ... }, -> { #`(Block|56626528) ... }, -> { #`(Block|56626600) ... }) | ||
lizmat | m: dd (-> { Empty } xx *).iterator.pull-one # shorter | 14:37 | |
camelia | -> { #`(Block|78067808) ... } | ||
IOninja | makes sense to me... | 14:38 | |
m: dd &say xx 3 | |||
camelia | (sub say (| is raw) { #`(Sub|65079208) ... }, sub say (| is raw) { #`(Sub|65079208) ... }, sub say (| is raw) { #`(Sub|65079208) ... }) | ||
IOninja | Same as that. | ||
m: dd (-> { $++ ?? 42 !! rand.substr: 0, 5 }() xx *)[^5] | |||
camelia | ("0.432", "0.094", "0.275", "0.750", "0.465") | ||
lizmat | could it be it codegens a block into a block? | 14:40 | |
IOninja | m: my &b =-> { $++ ?? 42 !! rand.substr: 0, 5 }; dd (b() xx *)[^5] | ||
camelia | ("0.021", 42, 42, 42, 42) | ||
lizmat | m: dd (-> { rand.substr: 0,5 } xx *)[^5] | ||
camelia | (-> { #`(Block|69520088) ... }, -> { #`(Block|69520160) ... }, -> { #`(Block|69520232) ... }, -> { #`(Block|69520304) ... }, -> { #`(Block|69520376) ... }) | ||
lizmat | m: dd ( rand.substr: 0,5 xx *)[^5] | ||
camelia | Earlier failure: Cannot .elems a lazy list in block <unit> at <tmp> line 1 Final error: Type check failed in assignment to $chars; expected Int but got Failure (Failure.new(exception...) in block <unit> at <tmp> line 1 |
||
lizmat | m: dd ( rand.substr(0,5) xx *)[^5] | ||
camelia | ("0.133", "0.900", "0.078", "0.567", "0.007") | ||
IOninja | It thunks it and each thunk produces a new block that is seen in the output unexecuted. If you execute the block, you get the results, but because each thunk makes a new block the state var doesn't get kept. And if you store the block in a var and executed in `xx`, it thunks and executes the same block so state var is kept. That's my interpretation of it. | 14:42 | |
lizmat | m: dd (($++ ?? |() !! 42) xx *)[^3] # this feels wrong | 15:00 | |
camelia | (42, Nil, Nil) | ||
lizmat | m: dd (($++ ?? 42 !! |()) xx *)[^3] # this feels wrong | 15:01 | |
camelia | (Nil, Nil, Nil) | ||
lizmat | an empty slip should not indicate the end | ||
or should it ? | 15:04 | ||
IOninja | I may have added that... to prevent @!slipped.shift crashing, but I did not consider the case you show above | 15:07 | |
star: m: dd (($++ ?? 42 !! |()) xx *)[^3] | |||
camelia | (Failure.new(exception => X::Cannot::Empty.new(action => "shift", what => "Array"), backtrace => Backtrace.new), 42, 42) | ||
IOninja | Yeah, I did. | ||
or did i... | 15:08 | ||
bisect: old=2016.10 new=HEAD m: dd (($++ ?? 42 !! |()) xx *)[^3] | |||
bisectable6 | IOninja, Bisecting by output (old=2016.10 new=0633f03) because on both starting points the exit code is 0 | ||
IOninja, bisect log: gist.github.com/137094bde350259bcb...cc691679e0 | |||
IOninja, (2017-01-22) github.com/rakudo/rakudo/commit/4e...6139c2bef7 | |||
lizmat | anyways, supporting this would make things significantly more complicated, so I'm inclined to make it rest as a DIHWIDT | ||
IOninja | m: dd (($++ ?? 42 !! Nil) xx *)[^3] | 15:09 | |
camelia | (Nil, 42, 42) | ||
IOninja | DIHWIDT to me too... | ||
lizmat | afk& | 15:10 | |
IOninja | The behaviour is way different in non Whatever version tho: | 15:11 | |
m: dd (($++ ?? 42 !! |()) xx 4)[^4] | |||
camelia | (42, 42, 42, Nil) | ||
IOninja tries something | 15:12 | ||
timotimo | does it change when you iterate the thing differently? | 15:13 | |
naxieAlDle | m: say ‘ẍ̃’ ~~ m:ignoremark/ x / | 15:18 | |
camelia | False | ||
naxieAlDle | why not? | ||
if I get rid of the combiner, then it's True | 15:21 | ||
m: say ‘ẍ’ ~~ m:ignoremark/ x / | |||
camelia | 「ẍ」 | ||
naxieAlDle | m: say ‘=̃’ ~~ m:ignoremark/ x / | 15:24 | |
camelia | False | ||
naxieAlDle | m: say ‘R̃’ ~~ m:ignoremark/ x / | 15:26 | |
camelia | False | ||
naxieAlDle | so if it is synthetic, then it's not ignored | ||
IOninja | Well, my trying something didn't work | 15:32 | |
In the concrete case it looks to be eager, so we can process all the empty slips and flatten them, but in the xx * case we try to make a value in a pull-one... so if we try to continue pulling to find somethign that isn't a slip, we'd hang. And we could return a `Nil` or a slip, but that won't match the `xx 4` variant :/ | 15:33 | ||
like (|() xx *) would hang | 15:36 | ||
m: dd (($++ ?? 42 !! |()) xx 9999999999999999999)[^4] | 15:53 | ||
camelia | (Nil, Nil, Nil, Nil) | ||
IOninja | m: dd (($++ ?? 42 !! |()) xx 999)[^4] | ||
camelia | (42, 42, 42, 42) | ||
IOninja | something's busted up somewhere.... | ||
timotimo | ugh | ||
a problem with big/small ints? | |||
IOninja | likely | ||
lizmat | yeah, I was looking into that because xx needs to return a Seq always | ||
please rakudobug, and I'll look at that as well | |||
moritz | bisectable6: say "st T" ~~ m:i/T/ | 15:54 | |
bisectable6 | moritz, Bisecting by output (old=2015.12 new=0633f03) because on both starting points the exit code is 0 | ||
moritz, bisect log: gist.github.com/7fb433eb30a8a8f6d9...7be9f98f61 | |||
moritz, (2017-02-28) github.com/rakudo/rakudo/commit/26...2c543a7d95 | |||
IOninja | moritz: it's this commit: github.com/MoarVM/MoarVM/commit/ab...2ab7623d9e | ||
lizmat: ticketed: rt.perl.org/Ticket/Display.html?id...xn-1453059 | 15:57 | ||
lizmat | IOninja: thanks | 16:01 | |
Geth | rakudo/nom: 9a5401ee17 | (Zoffix Znet)++ | t/05-messages/01-errors.t Test chr with huge codepoints throws useful error RT#130913: rt.perl.org/Ticket/Display.html?id=130913 |
16:25 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130913 | ||
Geth | roast: fbdb818077 | (Zoffix Znet)++ | S29-conversions/ord_and_chr.t Test chr with huge codepoints throws useful error RT#130913: rt.perl.org/Ticket/Display.html?id=130913 |
||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130913 | ||
Geth | roast: 2af473f7e7 | (Zoffix Znet)++ | S29-conversions/ord_and_chr.t Fix typo; MasterDuke++ |
17:26 | |
rakudo/nom: 3046d57eef | (Zoffix Znet)++ | t/05-messages/01-errors.t Fix typo; MasterDuke++ |
|||
jnthn | Hm, the fix for RT | 17:39 | |
Hm, the fix for RT #130919 is a little trickier than I thought... | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130919 | ||
jnthn will take a break and maybe give it another look later | 17:40 | ||
(I've got a fix for it, but it busts something else.) | |||
nine | .tell llfourn Tried to find out where the QAST::WVal(Cat( is coming from, without success :/ | 20:41 | |
yoleaux2 | nine: I'll pass your message to llfourn. | ||
Geth | nqp: 4495083d01 | (Samantha McVey)++ | 2 files Add eqatic op for MoarVM to allow us to do testing Is like eqat except it is case-insensitive. |
21:01 | |
lizmat | samcv: is that part of the work wrt to the ligature bug ? | 21:02 | |
samcv | yeah. the op already existed on the MVM side | ||
lizmat | ah, cool | ||
samcv | so without adding it in nqp can't write tests for it | ||
just gotta run spectest now then will commit a mostly fixed version. as far as i've tested at least | 21:12 | ||
Geth | rakudo/nom: 14928630d1 | (Samantha McVey)++ | src/vm/moar/ops/container.c [moar] Add braces to avoid dangling else and fix compiler warning |
21:24 | |
lizmat | IOninja: | 21:32 | |
[22:32:16] dct (~dct@unaffiliated/dct) left62ffab662b6865a814741913 # | |||
github.com/rakudo/rakudo/commit/62...a814741913 | |||
IOninja: Rangeint ^^^ | 21:33 | ||
IOninja | Heh :) | 21:35 | |
m: (1..*).is-int.say | |||
camelia | False | ||
IOninja | lizmat: how come it didn't stick? | ||
lizmat | Not sure anymore :-) | 21:36 | |
mists of time and GLR happening after that | |||
IOninja | Also ZofBot++ # love this bot! | ||
Geth | rakudo/nom: 07c5d339d1 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm Make sure OneValueTimes handles pulling after exhausted correctly |
22:08 | |
rakudo/nom: 1eb7b1f796 | (Elizabeth Mattijsen)++ | src/core/List.pm Make sure infix:<xx> always returns a Seq |
|||
samcv | bisectable6, say so 'st' ~~ m:i/st/ | 22:49 | |
bisectable6 | samcv, Bisecting by output (old=2015.12 new=1eb7b1f) because on both starting points the exit code is 0 | ||
samcv, bisect log: gist.github.com/cb3a945e0484799198...c2e1a72efb | |||
samcv, (2017-02-28) github.com/rakudo/rakudo/commit/26...2c543a7d95 | |||
Geth | rakudo/nom: 995869857c | (Elizabeth Mattijsen)++ | src/core/List.pm Remove the XX-Whatever role It was only used once anymore, so no need to put it into a role |
22:58 | |
roast: bafc4b3b3f | (Samantha McVey)++ | S05-substitution/match.t Fix fudging of :i regex Fudging didn't work when it was declared as a subtest with its own plan. It now fudges correctly and no longer gives a false positive when the test is actually not succeeding. |
23:02 | ||
samcv | IOninja, for some reason that test you wrote the fudging wasn't working and it said it succeeded even when it did not. i changed it to not be a subtest anymore with the last roast commit | 23:03 | |
IOninja | samcv, the fudges were working fine. You just need to run prove in verbose to enable full out and there you'd see which tests are todo-ed and which aren'r | 23:16 | |
or with t/fudgeandrun | |||
samcv | oh | ||
well with my patch all but one of them pass so isn't it better to make it more visible? | 23:17 | ||
or should i always run with verbose or what? | |||
IOninja | samcv: ¯\_(ツ)_/¯ Neither is visible during normal spectest and were TODOs passing, it'd tell you at teh end (or I hope it does). I use subtests so I don't have to write mile-long test descriptions for each test. For example, with your patch, descriptions of each test are kinda meaningless without the contet the subtest's description added. So the reader would need to go to the ticket and then wade | 23:21 | |
through a handful of replies to figure out what that test is actually testing. | |||
samcv | what options do you run prove with? | 23:22 | |
err i mean are we talking about `make spectest` how do i set prove options when running that? | |||
IOninja | I wasn't and my options are `prove -e './perl6' -vlr `; though I just use t/fudgeandrun if I need to run a single test file in verbose mode. | ||
samcv | hmm well it wasn't showing me the test was fudged period when i ran make t/spec/whatever | 23:24 | |
so i had no way of knowing that things changed | |||
IOninja | You can run `make -n spectest` to see the command it's running; then stick it into an alias and I think just add --verbose=3 or whatever | ||
samcv | alright | ||
IOninja | Right `make t/spec/whatever` doesn't use verbose mode; t/fudgeandrun t/spec/whatever uses verbose mode | 23:25 | |
IOninja & | |||
samcv | ack this fix i made to moarvm only works if the letters preceeding the st are lowercase. this is gonna be annoying to fix this fully | 23:32 | |
u: { .fc.chars > 1 } | |||
unicodable6 | samcv, U+000A <control-000A> [Cc] (control character) | 23:33 | |
samcv, U+000B <control-000B> [Cc] (control character) | |||
samcv | thank for unicodable6 :) | ||
looks like i did that wrong wat | |||
ah | |||
unicodable6, { .chr.fc.chars > 1 } | |||
u: { .chr.fc.chars > 1 } | 23:34 | ||
Geth | rakudo/nom: b86e6b05e7 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm Introducing R:It.Callable-xx-Whatever Basically the functionality of 'rand xx *' abstracted, for easier usage. |
23:35 | |
rakudo/nom: cb41476247 | (Elizabeth Mattijsen)++ | src/core/List.pm Make infix:<xx>(&x, Whatever) use R:It.Callable-xx-Whatever |
|||
japhb | Any active regressions since the last release right now? I'm thinking of upgrading all my machines because of jnthn++'s MoarVM fixes that might clear up some of my flakey failures. | 23:47 | |
lizmat | japhb: only with regards to matching ligatures in :i mode, I believe | 23:49 | |
samcv | i'm probably gonna actually write a new mvm function that can do case folding with an offset | 23:50 | |
and only case fold x characters down or something | |||
since atm it casefolds the whole string and then the offset is off because there's more graphemes than before (if the change was before the needle) | 23:51 | ||
japhb | lizmat: OK, thanks. Pretty sure nothing I'm working with is counting on that, so I'm good. :-) | ||
samcv | if i do a specific number of characters and with an offset, won't have to have any offset problems, | ||
IOninja | m: class Test::Foo { }; Test::Bar {}; { require Test::Foo; require Test::Bar; } | 23:54 | |
camelia | ===SORRY!=== Lexical 'Test' already declared |
||
IOninja | japhb: ^ that is also broken ATM. And with regexes it's not just ligatures... Any char whose .fc is not 1-char long looks like. | ||
I don't recommend upgrading right now... | |||
m: ^0x110000 .grep({.chr.fc.chars > 1}).elems.say | 23:55 | ||
camelia | 80 | ||
IOninja | m: ^0x110000 .grep({.chr.fc.chars > 1}).say | 23:56 | |
camelia | (223 329 1415 7834 7838 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 … | ||
IOninja | So 80 chars in input has the potential to break your case-insensitive regex match. |