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 1␤0^..^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 1␤False␤»
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