AlexDaniel MasterDuke: do you remember what was the right way to run ./recompress ? 01:17
ah
it's written in the file
ok nvm 01:18
(also, wrong channel)
[TuxCM] This is Rakudo version 2016.11-100-gc38f1ad57 built on MoarVM version 2016.11-27-g3171dbbe 08:13
csv-ip5xs 3.343
test 14.438
test-t 6.495
csv-parser 14.440
gfldex m: my $a; say $a.VAR.of 11:16
camelia rakudo-moar 843a6b: OUTPUT«(Mu)␤»
gfldex what does .of actually mean in this case?
jnthn The type constraint on the container 11:17
psch m: say Any.of
camelia rakudo-moar 843a6b: OUTPUT«No such method 'of' for invocant of type 'Any'␤ in block <unit> at <tmp> line 1␤␤»
jnthn m: my Int $a; say $a.VAR.of
camelia rakudo-moar 843a6b: OUTPUT«(Int)␤»
psch jnthn: but then Mu is wrong, isn't it?
jnthn No, it's correct
m: my $a = Mu;
camelia ( no output )
psch oh, right, constraint vs default value
jnthn Aye. :)
gfldex m: my $a of Any; say $a.VAR.of 11:19
camelia rakudo-moar 843a6b: OUTPUT«(Any)␤»
jnthn lunch, meeting &
gfldex m: my $a of Any; say $a.VAR.of; $a = Nil;
camelia rakudo-moar 843a6b: OUTPUT«(Any)␤»
gfldex m: my $a of Any; say $a.VAR.of; $a := Nil; say $a; say $a.VAR.of 11:20
camelia rakudo-moar 843a6b: OUTPUT«(Any)␤Nil␤Nil␤»
psch well, binding gives you a new container descriptor
gfldex I don't think I like that
psch and that's what holds default and of and all those things
gfldex mostly because I have to doc it :->
psch what? binding trashing the container?
gfldex variable != container
psch a variable is a reference to a container, isn't it 11:21
specifically, a scalar variable in this case 11:22
a container has a container descriptor, which knows about e.g. constraints and defaults
timotimo i wonder what rurban means by "MOP crazyness, which is spreading like wildfire"? 11:24
gfldex psch: no, variables are just a name and a grammar category. They can hold a container or a value and are mutable. In contrast to a constant, that is immutable at runtime. 11:26
at least that's how I understand Perl 6
and Perl 6 tends to mumble from time to time
psch gfldex: ah, yes, you're right. since you can bind a value to a scalar variable it doesn't always have to be a container
s/be/reference/ 11:27
gfldex the docs are still quite shitty in many places. I hope the book authors know this. 11:28
psch m: constant \foo := $; say foo++ while foo < 5 # constants can have containers too though
camelia rakudo-moar 843a6b: OUTPUT«Use of uninitialized value of type Any in numeric context␤ in block <unit> at <tmp> line 1␤0␤1␤2␤3␤4␤»
psch but yes, the point as made is generally true
as in, it has to be the initializer that binds a container to a constant and we can't do it at runtime 11:29
timotimo: i mostly wonder what 'MOP crazyness' is. i cannot say if it's spreading 11:30
timotimo well, me too 11:31
i added the latter part to maybe help clarify what he means
psch where is that statement, ooc? maybe context helps..?
timotimo that recent reddit thread 11:34
let me grab it from my history
www.reddit.com/r/perl6/comments/5f..._from_the/ 11:35
psch looks like it's about having a MOP at all which is clearly bad because it didn't work out for ruby..? 11:39
babydrop wonders who rurban is ....
psch one of the longest-lasting parrot maintainers
afaik at least
arnsholt And the last one, IIRC 11:40
babydrop I totally agree with Ulti's comment about focusing on new programmers rather than Perl 5 people. 11:42
I always found it a bit bizzare that Perl 6 spent so much energy on luring Perl 5 programmers. 11:43
nine "Perl 6 is decidedly not backwards compatible." Apparently my message has yet to arrive in the general population :/ 11:45
babydrop What's the message?
nine That this sentence is just wrong.
babydrop Why not? Because of Inline::Perl5? 11:46
nine exactly
Or even more correct: because of the S01 tests in roast which _mandate_ backwards compatibility.
babydrop I wouldn't call it wrong. We just have good interop that's mandated by the spec. One still has to know how to build special Perl 5 with -fPIC and know its tooling to get the modules, etc 11:47
If you don't already know it, it may as well be Inline::Ruby: you have to learn the language and all its bits 11:48
nine Yes, one has to know how to build software to use it. Or use distro packages or installers or whatever. Perl 6 with Perl 5 backwards compatibility is no different than any other software. 11:49
babydrop That's interoperability. 11:51
Backwards compatibility is I can download the dumb mail.pl script from 1990s and run it in perl 5.24.0 and it'll work 11:52
hurh Perl 5 people don't adopt Perl6 not because they are die hard, but because they care about performances and stability 11:53
scimon I've got a multi million line perl5 app I need to maintain. I'm not planning on running that on a perl 6 implementation any time soon.
hurh and they do not care about a Javalike VM, they do not care about crossplatform compability and huge nonstandard library 11:54
gfldex m: my $a of Int;
camelia ( no output )
gfldex is ^^^ this `of` a trait?
arnsholt scimon: For a second, I read s/app/script/ and was very, very worried =)
scimon Lots of modules. running on mod_perl
babydrop shudders 11:55
scimon Currently hanndling 2400 requests per second.
(over a number of servers)
babydrop hurh: indeed, I don't see Perl 6 as a "natural path" for Perl 5 people to "upgrade 11:56
scimon and I'm expecting it to hit 5K this evening and near 10K RPS at the weekend as people buy all the things.
babydrop " to.
gfldex jnthn: is of in `my $a of Int` a trait?
hurh babydrop : you should appease Java programmers (sarcasm) 11:57
arnsholt gfldex: Yeah, of is a trait
babydrop :)
scimon I'm trying to appease the people who want to HIRE Java developers as they are cheaper and easier to find. And I can't be bothered job hunting again. 11:58
gfldex i can't find where Rakudo defines it (or better what candidate it picks)
hurh by the way, while I guess it is true that Perl6 took so long just because it was difficult to implement; now it is just a question of people working on it
gfldex think I got it 11:59
arnsholt gfldex: The code is trait_mod:<of>
gfldex trait_mod:<of>(Mu:U $target, Mu:U $type)
arnsholt Yup
The places you can apply it are defined in the grammar
Ah, wait. I had it backwards: All traits can appear in the same places 12:02
What differs is what can come *after* the trait
In the case of trait_mod:<of> it's a typename
psch ah, that one's probably pretty easy 12:06
the NPE in t/nqp/059-nqpop.t that is
babydrop sweet
psch apparently coerce_si isn't null-safe
and i am, again, taking the easy way out there :P 12:09
VMNull might still be the better solution, but adding a null check is waay easier
the fact that we've been doing that for, well, years aside 12:10
gfldex .tell lizmat please add to the next weekly that the commits 19169cc, 3ffdc37, b9a6dc8, 0bf8b18, c7b14ae, ce7c9f6 clarify the relationship between containers, default types and type constraints -- what used to be a rich source of confusion 12:12
yoleaux2 gfldex: I'll pass your message to lizmat.
nine babydrop: exactly. Backwards compatibility is when you can still use your old code. Which you can with Inline::Perl5 in most cases.
I now have a patch allowing for you to pass Perl 6 regexes to Perl 5 code and it will be able to use that for matching :) 12:13
psch ah, zu früh gefreut :/ 12:16
as in, both nqp::null_s and nqp::null are actually equal on nqp-j
or, well, they do result in the same byte code at least o.o 12:18
oohkay 12:24
scimon Sounds weird.
psch apparently, nqp-j does a smart stringify, while nqp-m just checks "do we have a str value in that register"
for nqp::isnull_s that is
scimon: well, both nqp::null and nqp::null_s map to aconst_null, as their JAST instruction 12:25
scimon: curiously though, they apparently aren't the same because nqp::isnull(nqp::null_s) is false
scimon: and nqp::isnull is just 'public static isnull(SixModelObject obj) { return obj == null ? 1 : 0; }' 12:26
+long
which, yeah, is a bit weird :) 12:27
arnsholt Yeah, there are some odd divergences in JVM 12:32
Check with jnthn++, but I suspect moving the JVM code to be more in line with Moar won't be wrong 12:33
psch yeah, it's a matter of "how much work" and "how many workarounds have to be dialed back" though... :) 12:36
i mean, VMNull is a big one in that regard, considering it'd mean touching pretty much every '== null' check we have in Ops and similar
jnthn In meeting but briefly: MoarVM got VMNull because real NULLs will SEGV the VM, and letting various errors fall out of polymorphism is cheaper than null checks everywhere. 12:39
The JVM doesn't have the first of those problems.
OK, need to pay attention again :) 12:40
psch eh, it only has half of the first of those problems i'd say 12:42
we still need all the null checks, otherwise the VM dies as well :)
but yes, in constast to C we can actually do that, or even recover from it 12:44
*contrast
cygx o/ 12:58
I come bearing gifts: github.com/rakudo/rakudo/pull/933
babydrop sweet 13:07
cygx: what does it do?
We made enums list values on purpose...
Ah, I see. 13:08
dalek kudo/nom: 34deb15 | cygx++ | src/core/Main.pm:
Fix usage message for boolean flags

They may be enums, but should not list their values
kudo/nom: abc6439 | (Zoffix Znet)++ | src/core/Main.pm:
Merge pull request #933 from cygx/fix-usage

Fix usage message for boolean flags
cygx babydrop++ 13:09
babydrop cygx: will the gifts come with tests too? :)
gfldex lizmat_: could you change «Perl 6» in «Something cool about Perl 6 every day» to a link to perl6.org in the theme of perl6advent please? 13:10
cygx ...I think I left something on the stove... 13:11
I'll be right back
babydrop heh
gfldex: we can't 13:13
gfldex :(
babydrop Markup just shows up as regular text: i.imgur.com/p9C9xAc.png 13:14
gfldex well, we got a whole year to come up with a solution how to write advent posts in pod6 13:15
babydrop ewwww 13:16
timotimo you know you can just copy-paste html-ed stuff from one browser tab into the wordpress editor, right?
gfldex i did that by writing stuff as .md and still had problems 13:17
babydrop you know that tomato is a fruit? :)
dalek p: 097c901 | peschwa++ | t/nqp/059-nqpop.t:
Add messages to a few tests
13:18
p: e9b96f6 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Fix a few NPEs
psch misread the last test in that file, so coerce_s2i didn't actually matter, istrue was the problem there
gfldex babydrop: it's a berry
babydrop Aren't berries also fruits? :) 13:19
psch "fruit is a gastronimcal category, berries is a botanical category" is how i've heard this discussion laid to rest 13:20
*gastronomical
babydrop heh
gfldex it's more fun to call it a berry tho
because if you are asked how you know you can say: "I watch QI" 13:21
timotimo astronomical fruit! 13:22
DrForr So what do you think of Sandi taking over for Stephen? I'm all for it myself. 13:23
babydrop who? what? 13:24
ilmari I like it
but I have scandi bias :)
DrForr Well, you would :)
I've just seen the first episode (now that I'm no longer in the Isles I have to watch on YT like everyone else) but it's going to be fun. 13:26
ilmari I've seen all of them, it's good 13:27
she picks less on poor alan
DrForr oo, that's right, I'm going to be in London tomorrow, and my hotel room has a 40" LCD TV. 13:28
ilmari I hope sue perkins will be a guest this season 13:29
DrForr Yeah, that could easily descend into Top Gear levels of slagging, but I know she won't let it get that far.
scimon ilmari: when's the next London Perl Mongers? Ben keeps telling me I need to go. 13:30
DrForr scimon: Just come on down to LPW on Saturday.
scimon Ah... Saturday I'm at a games convention.
ilmari scimon: there's a heretical social this evening, LPW pre-drinks tomorrow, LPW post-drinks (and food) on saturday, and official social next thursday
twitter.com/lpmsoc/status/803991511524380672 13:31
DrForr And I can finaly get to pre-drinks.
ilmari twitter.com/lpmsoc/status/803992351500812288
ilmari == @lpmsoc
DrForr *finally # god *DAMN* keyboard.
ilmari when I'm wearing my pub minion hat 13:32
scimon Grand
babydrop timotimo: so what you're saying is I can write my Advent in Markdown, render it with syntax highlighting on GitHub and copy-paste it into Advent blog post thing and it'll magically work? 13:35
tadzik babydrop: or in your commandline, with 'markdown', if installed :) 13:37
I write most of the stuff this way, wordpress editor is horrible 13:38
babydrop and this markdown command line has Perl 6 highligher :/
OK. Well, glad I don't have to use Wordpress editor
tadzik ah, right, maybe only github knows that 13:39
scimon psch: That's great. Currently putting time aside to go through the nqp slides. I have time off over the holiday :) 13:45
timotimo babydrop: it should work, yeah 14:11
FROGGS o/ 18:56
dalek ar/zef: c7c5ead | (Steve Mynott)++ | modules/MODULES.txt:
fix deps for zef
19:39