dalek | kudo/nom: f294652 | (Salvador Ortiz)++ | src/core/Cool.pm: Propagate Failure on Cool.Numeric related coercers On the same line of PR#822, with the approach of lizmat++ commit c549267e |
05:48 | |
kudo/nom: afbb139 | niner++ | src/core/Cool.pm: Merge pull request #824 from salortiz/failure_propagate Propagate Failure on Cool.Numeric related coercers |
|||
[Tux] | This is Rakudo version 2016.06-224-gafbb139 built on MoarVM version 2016.06-9-g8fc21d5 | 06:46 | |
test-t 8.792 | |||
csv-parser 16.815 | |||
test (no -t) is missing due to a new error, which I will try to fix | 06:47 | ||
Cannot modify an immutable Str | |||
@y[0] = @y[0].Str; # Still a bug | |||
This is Rakudo version 2016.06-224-gafbb139 built on MoarVM version 2016.06-9-g8fc21d5 | 06:56 | ||
test 15.704 | |||
test-t 8.841 | |||
csv-parser 15.927 | |||
lizmat | [Tux]: I'm not sure how I can reproduce your bug | 09:28 | |
psch | gist.github.com/peschwa/3737153e73...6aa5184ffd grrr >:| | 09:57 | |
and yes, the file exists, it is a java class file and it can be run standalone :/ | |||
this makes me feel really stupid, because i'm doing exactly the same thing i did in the poc that's not nested deep in nqp-j guts, and it worked there | 09:59 | ||
so this might have something to do with us replacing the bootclasspath i guess | 10:00 | ||
also, curiously, we throw a ClassNotFoundException right from perl6.main when entering the interpreter | 10:01 | ||
somewhere from KnowHOWMethods.getCodeRefs... | 10:02 | ||
dalek | kudo/nom: d075c83 | lizmat++ | src/core/List.pm: Simplify Reifier.is-lazy |
10:03 | |
psch | okay what, this just gets weirder | 10:05 | |
the ClassLoader i get from ClassLoader.getSystemClassLoader *already* knows the directory i want to load a class from | |||
that might be an artifact of my laziness, though i think | 10:06 | ||
as in, i put the to-be-loaded class into install/bin | |||
gist.github.com/peschwa/3737153e73...6aa5184ffd | 10:16 | ||
maybe i'm really just missing something really obvious..? | 10:17 | ||
the perl6-j code i'm running points a Repo::Java at the same dir i'm loading explicitly from in the working example | |||
i.e. 'use lib q[java#/home/psch/rakudo/javatests/]; use Foo:from<Java>' | |||
oh, yeah, that's already in the gist | |||
oh, no, it's not, that was the '.' example | 10:18 | ||
there, now it has the use lib pointing at the same dir vOv | |||
i'm really not seeing it, and i strongly hope it's a case of missing-the-reaaallly-obvious | 10:19 | ||
using the SystemClassLoader in Bar.java also still works... o.o | 10:20 | ||
nine | psch: paths are no URLs? | 10:22 | |
psch | "file:/..." is an URL | ||
where ... is a path | |||
nine | Ah, I missed the path = "file:" + path; | 10:23 | |
psch | that'd also throw a MalformedURLException, which would at least be helpful and not 9 layers deep into java-internal code /o\ | 10:24 | |
'cause that's what the backtrace in jdb tells me, fwiw | |||
that we're handed around between at least two classloaders and then one says "nah, this isn't fun" or whathaveyou... :S | |||
nine | Yet the difference may well be the SystemClassLoader's state | 10:25 | |
psch | yeah, that's kind of what i'm afraid off | 10:27 | |
that the fact that (1) we set a bootclasspath and (b) we internally use the IgnoreNameClassLoader pretty much exclusively messes with the classloader chain somehow | 10:28 | ||
uhh | 10:30 | ||
also, somewhat spooky | |||
i mentioned a ClassNotFoundException right after entering the interpreter, right? | |||
turns out that's java.lang.Null that's not found there | 10:31 | ||
moritz | lol | ||
lizmat | .oO( maybe you need java.lang.404 ? ) |
10:37 | |
Zoffix | 🎺🎺🎺 REMINDER: the next version of Rakudo will be released this Saturday. Please update the ChangeLog with any work you made that should be known to our users. | 10:48 | |
nine | Zoffix: woah! I better fix the DESTDIR regression before that | 11:07 | |
jnthn should hunt down that call capture SEGV before then too :) | 11:08 | ||
nine | Zoffix: I'd consider that a release blocker worth reverting the change that caused it. github.com/rakudo/rakudo/commit/ac...t-18128990 | ||
psch | well, $expletive | 11:11 | |
adding the path i add via 'use lib' to the bootclasspath makes it work | |||
nine | Also, it's just 4 days till YAPC::Europe call submission deadline. I'd better make up my mind about if I want to give a talk or not soon... | 11:13 | |
psch | oh geez | 11:24 | |
...we don't need bootclasspath anymore | |||
isn't that great | |||
ah, but kicking it from perl6-j makes precomp want to create the .precomp directory in $INSTALL/share/nqp/runtime/asm-4.1.jar/.precomp | 11:27 | ||
that's kind of funny :P | |||
llfourn | jnthn: I sent a reply to RT #128553 with a bt of that SEGV. Happy to test any patch as I can reproduce it easily on one of my projects :) | 11:32 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128553 | ||
llfourn | (though it doesn't seem to have shown up on the website...) | 11:33 | |
DrForr | Speaking of 'use lib' and such, I noticed a few days ago that -Iib creates a 'ib' directory if none existed before, mostly because it's a tyop for 'lib' :) | 11:39 | |
tbrowder | please review specs PR 114: github.com/perl6/specs/pull/114 | 11:54 | |
ShimmerFairy thinks it's okay | |||
(see her remarks on #perl6 a bit earlier) | 11:56 | ||
psch | well, i think i'm gonna leave the bootclasspath stuff in for now, even though i have a feeling it makes stuff unnecessarily complicated | 12:18 | |
but i have no clue yet how to pull the CP dependencies out of the way of the CUR-stuff | |||
jnthn | llfourn: Does it match the one in the valgrind output I posted on the ticket? | 12:22 | |
|Tux| | lizmat, which bug? | 12:26 | |
lizmat | [08:47:19] <[Tux]>Cannot modify an immutable Str | 12:27 | |
[08:47:52] <[Tux]> @y[0] = @y[0].Str; # Still a bug | |||
|Tux| | ignore that one. That was comment in the code. | 12:28 | |
lizmat | OKIDO | ||
oops | |||
okido | |||
nine | psch: FWIW I've got a local patch that no longer makes failures to create precomp directories non-fatal | 12:29 | |
psch | nine: i think that was for DrForr..? :) | 12:31 | |
DrForr | Aroo? | 12:32 | |
psch | oh, no, it was for asm-4.1.jar/.percomp | ||
although i don't really understand, 'cause that *did* die | 12:33 | ||
anyway, it's an artifact of not using a bootclasspath, which i decided to only go for if it's the only way i can get this to work... | |||
DrForr | Yeah, I wasn't talking about .precomp, the -I directory that's being checked gets created if it's not there, which it probably shouldn't do. I only noticed it because I tyop'ed '-Iib'. | 12:34 | |
psch | right. i agree that should generally not happen | ||
nine | psch: oh sorry, unintended double negation. I meant that it does make those failures non-fatal | ||
nine didn't sleep well at all the last two nights :/ | |||
jnthn | nine: Hot weather? | 12:45 | |
nine | jnthn: that for sure doesn't help | 12:49 | |
jnthn | Think it's primarily to blame for my own LTA sleep of late... | ||
BrokenRobot hugs its A/C | 12:50 | ||
jnthn | Thankfully, pressure falling and rain seems to be coming up soon :) | 12:51 | |
|Tux| | lizmat, gist.github.com/Tux/aad6d6ee389a5a...80071b6521 <= the reproduction | 13:49 | |
BrokenRobot | m: gist.github.com/Tux/aad6d6ee389a5a...80071b6521 | 14:20 | |
camelia | rakudo-moar d075c8: OUTPUT«Cannot modify an immutable Str in sub progress at <tmp> line 10 in block <unit> at <tmp> line 13» | ||
BrokenRobot | bisect: gist.github.com/Tux/aad6d6ee389a5a...80071b6521 | ||
bisectable | BrokenRobot: it looks like an URL, but mime type is “text/html; charset=utf-8” while I was expecting “text/plain; charset=utf-8”. I can only understand raw links, sorry. | ||
BrokenRobot | bisect: gist.githubusercontent.com/Tux/aad...tfile1.txt | ||
bisectable | BrokenRobot: successfully fetched the code from the provided URL | ||
BrokenRobot: (2016-07-11) github.com/rakudo/rakudo/commit/de5d9e7 | |||
timotimo | mhm | 14:22 | |
having *@y be change-able like that ... | 14:23 | ||
BrokenRobot | .oO( an URL... people and their "earls" ~_~ ) |
14:24 | |
That bug is more of a feature to my eyes. | 14:26 | ||
m: sub foo (@x) { @x[0] = "meow" }; my @y = "woof"; foo @y; dd @y | |||
camelia | rakudo-moar d075c8: OUTPUT«Array @y = ["meow"]» | ||
BrokenRobot | ^ I'd expect that to be immutable. | ||
|Tux| | I don't | ||
BrokenRobot | Damian Conway during his talk also said that would be immutable and now I regret not asking why it was in the actual implementation. | 14:27 | |
Well, not asking whether it being mutable was a bug, I guess. I can see why it is mutable. | |||
lizmat | [Tux] BrokenRobot: I actually know the place where this could be fixed | 14:47 | |
but I'm not sure it should | |||
|Tux| has no opinion. Just playing the canary | |||
What I did was wrong to start with | |||
nine | I NOW HAZ POOL :D niner.name/Pool.jpg | 14:48 | |
lizmat | m: sub a(*@a is copy) { @a[0] = 42; dd @a }; a 666 | ||
camelia | rakudo-moar d075c8: OUTPUT«[42]» | ||
BrokenRobot | :) | ||
lizmat | m: sub a(*@a) { @a[0] = 42; dd @a }; a 666 # [Tux] looks like you need an "is copy" ? | 14:49 | |
camelia | rakudo-moar d075c8: OUTPUT«Cannot modify an immutable Int in sub a at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
BrokenRobot | I'm +1 on keeping this. Would be nice if non-slurpy version worked this way too IMO | ||
|Tux| | is copy would also work, but the function it was used in was essentially for debugging only, so who cares :P | 14:50 | |
lizmat | m: sub a(@a is copy) { @a[0] = 42; dd @a }; a (666,) # looks like it does, BrokenRobot? | ||
camelia | rakudo-moar d075c8: OUTPUT«[42]» | ||
lizmat | m: sub a(@a) { @a[0] = 42; dd @a }; a (666,) | ||
camelia | rakudo-moar d075c8: OUTPUT«Cannot modify an immutable Int in sub a at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
BrokenRobot | Hm | ||
m: sub a(@a) { @a[0] = 42; dd @a }; a [666] | 14:51 | ||
camelia | rakudo-moar d075c8: OUTPUT«[42]» | ||
BrokenRobot | How come it doesn't work in here? | ||
lizmat | ah, because [666] is an Array, and (666,) is an immutable List | ||
BrokenRobot | So it's meant to work like that by design? That is, the sub can modify the caller's array? | 14:52 | |
(or Hash) | 14:53 | ||
lizmat | if it is given an Array, yes | 14:54 | |
(or Hash) | |||
Mind you, it *is* a bit different still | |||
BrokenRobot | m: sub a($x) { $x<meow> = True; }; my $set = <foo bar>.SetHash; a $set; say $set | 14:55 | |
camelia | rakudo-moar d075c8: OUTPUT«SetHash.new(foo, meow, bar)» | ||
lizmat | m: sub a(@a) { @a[0] = 42; dd @a }; a (my $ = 666,) # immutable List containing a mutable container | ||
camelia | rakudo-moar d075c8: OUTPUT«(42,)» | ||
lizmat | BrokenRobot: yup, that looks right to my eyes, since it's a SetHash and not a Set | 14:56 | |
m: sub a($x) { $x<meow> = True; }; my $set = <foo bar>.Set; a $set; say $set | |||
camelia | rakudo-moar d075c8: OUTPUT«Cannot modify an immutable Set in sub a at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
BrokenRobot | m: sub a($x) { $x = 72; }; my $set = 42; a $set; say $set | ||
camelia | rakudo-moar d075c8: OUTPUT«Cannot assign to a readonly variable or a value in sub a at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
BrokenRobot | Well, I guess my understanding of these things is different. | 14:57 | |
As in, SetHash, Array, Hash, Map, and Int are all single "things". If I'm receiving one in a sub and I didn't mark it as `is rw` or `is copy` I'm not supposed to be able to modify those "things" | 14:59 | ||
geekosaur | this is where knowing the difference between mutable and immutable containers is important. specifically, an Array contains mutable cells. | 15:00 | |
lizmat | and a List generally doesn't | 15:03 | |
also, you can push/unshift/pop/shift an Array, but not a List | 15:04 | ||
geekosaur | although maybe there needs to be something like C's distinction between (const *thing) and (const *thing const), where the latter can also be written (* const thing const) with each const modifying the immediately preceding element | ||
(....the flip side of which is that this is one of the things that perennially confuses new C programmers...) | |||
psch | an Array is a single thing, yes, but that thing consists exclusively of mutable containers | 15:07 | |
lizmat | [Tux]: also note that the .perl doesn't return a left value | ||
psch | assuming an imaginary 'is non-modifiable' trait for Parameters, would a <class A { has $.foo is rw }> remove the rw-ness of A.foo? | 15:08 | |
or, even closer to the complaint, would that class' .foo be immutable when the Parameter that is was passed in is neither 'rw' nor 'copy'? | 15:10 | ||
*it | |||
timotimo | nine: congrats on the pool! | 15:11 | |
llfourn | jnthn: no it's not quite the same: www.nntp.perl.org/group/perl.perl6....13254.html | 15:18 | |
gist for clarity: gist.github.com/LLFourn/96b8101af2...cf55709025 | 15:21 | ||
jnthn | llfourn: The significant part looks identical, though... :) | ||
The difference is in the bits below the GC | |||
llfourn | oh ok # my c analysis is not strong | ||
jnthn | The code path inside the GC looks the same. :) | ||
llfourn | ok good :) | 15:22 | |
BrokenRobot | psch: yes, it would. If I want to write, I'd need to ask for it. | ||
jnthn | So yeah, pretty sure it's the same thing. It's odd. | ||
BrokenRobot | with `is copy` or `is rw` depending on whether I'd want to change the caller's thing | ||
And it wasn't a complaint, just an observation. | 15:24 | ||
psch | BrokenRobot: sorry, it read somewhat complainy for me, apologies | 15:25 | |
BrokenRobot: i don't think that signatures should have that amount of power over a class' implementation, in any case | |||
i don't know if there's any language that does it like that, but i at least can't think of any | 15:26 | ||
llfourn | jnthn: just looking at it again. It is a different line. Yours is 51 and mine is 55 in MVMCallCapture.c. Also mine is inside MVM_gc_mark_collectable. | 15:31 | |
psch | but then, "do others do it like that" is probably not necessarily a good enough reason | ||
llfourn | no idea if that's significant :) | ||
psch | the argument does definitely seem interesting from a purity perspective | 15:32 | |
dalek | ast: e0146de | usev6++ | S (3 files): Skip some tests on rakudo-j |
16:57 | |
[Coke] | RT: 1325; CONC: 7; GLR: 6; JVM: 70; LHF: 1; LTA: 81; NEW: 879; NYI: 28; OSX: 6; PERF: 16; POD: 7; PRECOMP: 6; RFC: 23; SEGV: 23; STAR: 1; TESTNEEDED: 14; TODO: 8; UNI: 10; UNTAGGED: 657; WEIRD: 3 | 17:44 | |
BrokenRobot | \o/ | 17:45 | |
m: say 1337 - 1325 | |||
camelia | rakudo-moar d075c8: OUTPUT«12» | ||
BrokenRobot | :| oh.. it felt like a larger number ^_^ | ||
I'm going throught he queue right now and there are actually a ton of tickets where someone in authority needs to make the decision on how stuff should be. | 17:46 | ||
[Coke] | let's come up with a way to tag those. | 17:47 | |
make it easy for those who have to look at those tickets to find them. | |||
BrokenRobot | I'm planning on making a bot that—among other things—would announce one of those in channel, asking to comment on the ticket. | ||
[Coke] | what would trigger the bot? | 17:48 | |
BrokenRobot | The easy way is it just randomly mentions a ticket, about 2-3 times a day. A smarter version would make those mentions happen when the bots spots one of the core members online (it won't address them; just announce when it sees people active) | 17:50 | |
But the tag is good too | |||
Tag is better actually. Anyone can tag. Core members can just search by tag. | 17:55 | ||
And the bot—if it's birthed—can just fetch tickets tagged as the tag. | |||
[Coke] | -1 on randomly spamming tickets in here. | ||
sounds like we two agree, then; just to decide the tag. we could pile onto [SPEC], or using something like [@LARRY] | 17:57 | ||
I have a meeting, back in a bit. | |||
BrokenRobot | Well, many of the things aren't really about a spec or such a high level as to involve Larry specifically. | 18:01 | |
gfldex | m: say '〶'.uniname | ||
camelia | rakudo-moar d075c8: OUTPUT«CIRCLED POSTAL MARK» | ||
BrokenRobot | [Coke]: for example, consider this ticket: rt.perl.org/Ticket/Display.html?id=128542 If I—a lowly user—want to help our development of rakudo, I can't just get cracking on this ticket. Someone with authority needs to comment on whether "34\x[308]5".Int must throw or end up as 345. | 18:02 | |
And if that's done on all such tickets—in my head at least—more people will end up doing PRs to Rakudop, since they'll know exactly what needs to be fixed. In fact, currently, I can't even add tests for that, but with the decision in place, a contributor can add tests even if they can't fix the bug itself | 18:04 | ||
[ASKCORE] maybe | 18:09 | ||
perlpilot | [Coke]: [@LARRY] sounds good to me. | 18:18 | |
BrokenRobot: @Larry isn't just TimToady. It's an array (note the '@') of people who work on core-ish things | |||
BrokenRobot | I see | 18:19 | |
perlpilot | I thought that had an entry in S99 somewhere, but apparently not. | 18:20 | |
geekosaur | probably should, it's got a long history --- but it did largely fall out of use the last couple years | 18:22 | |
BrokenRobot | And on the topic of tags. There is a ton of them, but the select box to choose them is tiny: i.imgur.com/wE8VBqJ.png | 18:44 | |
If we have an option to delete ones we don't use, it'd be easier to find the needed tags in the select box. | |||
(web 1.0 websites)-- | |||
Hm. A "better RT" can be built as a user-script. | 18:45 | ||
Close to something I had to do for $work recently. Mangle an ancient website into a modern one using a bunch of javascript to rewrite the site on load. | 18:46 | ||
Write the same for RT, then sell it to Best Practical ^_^ | 18:48 | ||
tbrowder | japhb: ref specs PR 114, any problems with the PR? | 19:34 | |
lizmat is working on the Perl 6 Weekly | 20:10 | ||
let me know if you have anything of note that you think I may have missed | |||
bartolin | psch: if you have a minute, could you take a look at PR 296 for NQP? It is meant to fix a dying test in S10-packages/precompilation.t which golfs down to this: gist.github.com/usev6/db5153f6b17a...ed4c44bddc | 20:13 | |
dalek | p: 8424757 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Let nqp::rename replace existing target on JVM ... unless it is a non-empty directory. This matches the behaviour of nqp::rename on MoarVM and it avoids errors during precompilation where an older version should be replaced. |
20:22 | |
p: 6b8bf95 | lizmat++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Merge pull request #296 from usev6/jvm_rename Let nqp::rename replace existing target on JVM |
|||
bartolin | thanks :-) I think, I'll add tests for this behaviour to nqp and roast | 20:25 | |
Zoffix | Well, fuck me... My CLA letter got returned with "RETURN TO SENDER. ATTEMPTED—NOT KNOWN. UNABLE TO FORWARD" sticker on it: i.imgur.com/Fv5opIF.jpg | 20:54 | |
With "-???" next to The Perl Foundation. | 20:55 | ||
I knew it! The Perl Foundation is just a front for human trafficking :) | |||
tadzik | wth | ||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/07/11/...ur-papers/ | ||
timotimo | fountatlon? | 20:56 | |
Zoffix | lizmat++ good weekly | 20:58 | |
Hey! I'm too young to be skilled in the obsolete art of making text with bare hands! That's my excuse :) | |||
lizmat | Zoffix: I pinged Karen Pauly about your bounce | 21:02 | |
Zoffix | lizmat++ thanks | 21:04 | |
vendethiel | lizmat++ | 21:07 | |
[Coke] | I thought that a scanned PDF would be acceptable, btw. | 21:29 | |
I could be wrong. | |||
perlpilot | I'm pretty sure I emailed my CLA | 21:31 | |
Zoffix | m: say (-Int^..^Inf); | ||
camelia | rakudo-moar d075c8: OUTPUT«Use of uninitialized value of type Int in numeric context in block <unit> at <tmp> line 10^..^Inf» | ||
Zoffix | m: say (-Int^..^Inf) eqv Int.Range | ||
camelia | rakudo-moar d075c8: OUTPUT«Use of uninitialized value of type Int in numeric context in block <unit> at <tmp> line 1False» | ||
Zoffix | m: say Int.Range | ||
camelia | rakudo-moar d075c8: OUTPUT«-Inf^..^Inf» | ||
Zoffix | ¯\_(ツ)_/¯ | ||
Oh ~_~ stupid typo | 21:32 | ||
lizmat | Zoffix: fwiw, I snailmailed my CLA as well, and it didn't bounce | ||
now, do I remember what the address was I sent it to? no :-( | 21:33 | ||
cognominal | lizmat++ | 21:36 | |
lizmat | good night, #perl6-dev | 22:02 | |
dalek | ast: b38fe5e | (Zoffix Znet)++ | S02-types/range.t: Inf.Range returns ^Inf..Inf RT#126990 |
22:03 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126990 | ||
dalek | ast: 679a57f | (Zoffix Znet)++ | S02-types/ (2 files): Storing Inf/NaN in Int throws with proper error RT#126990 RT#127207 (dupe) 697b460 | (Zoffix Znet)++ | S02-types/infinity.t: Converting Inf/NaN to Int throws with correct message This removes the fudged tests that tested now-rejected behaviour discussed in RT#124453 and replaces them with the tests testing accepted behaviour. |
||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126990 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124453 | ||
ast: 8551d3a | (Zoffix Znet)++ | S02-types/infinity.t: Fix broken test |
22:42 | ||
Zoffix | Updated the min/max PR to reflect latest comments: github.com/rakudo/rakudo/pull/815 | 22:53 | |
And I still hate GitHub's new fonts :( | |||
And on that note... | |||
Zoffix leaves to murder people | |||
japhb | tbrowder: PR 114 is your original commit, is it not? Or are my eyes deceiving me? | 23:16 |