Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-12-01

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 unicodable6 joined #perl6-dev
01:17 AlexDaniel MasterDuke: do you remember what was the right way to run ./recompress ?
01:17 AlexDaniel ah
01:17 AlexDaniel it's written in the file
01:18 AlexDaniel ok nvm
01:18 AlexDaniel (also, wrong channel)
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:53 synopsebot6 joined #perl6-dev
03:21 ZzZombo joined #perl6-dev
03:22 Guest92221 joined #perl6-dev
05:14 awwaiid joined #perl6-dev
05:23 ZzZombo joined #perl6-dev
05:24 Guest67198 joined #perl6-dev
06:32 ugexe joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
07:26 geekosaur joined #perl6-dev
08:11 dogbert2 joined #perl6-dev
08:13 [TuxCM] This is Rakudo version 2016.11-100-gc38f1ad57 built on MoarVM version 2016.11-27-g3171dbbe
08:13 [TuxCM] csv-ip5xs        3.343
08:13 [TuxCM] test            14.438
08:13 [TuxCM] test-t           6.495
08:13 [TuxCM] csv-parser      14.440
10:02 lizmat_ joined #perl6-dev
10:43 raydiak joined #perl6-dev
11:16 gfldex m: my $a; say $a.VAR.of
11:16 camelia rakudo-moar 843a6b: OUTPUT«(Mu)␤»
11:16 scimon joined #perl6-dev
11:16 gfldex what does .of actually mean in this case?
11:17 jnthn The type constraint on the container
11:17 psch m: say Any.of
11:17 camelia rakudo-moar 843a6b: OUTPUT«No such method 'of' for invocant of type 'Any'␤  in block <unit> at <tmp> line 1␤␤»
11:17 jnthn m: my Int $a; say $a.VAR.of
11:17 camelia rakudo-moar 843a6b: OUTPUT«(Int)␤»
11:17 psch jnthn: but then Mu is wrong, isn't it?
11:17 jnthn No, it's correct
11:17 jnthn m: my $a = Mu;
11:17 camelia rakudo-moar 843a6b: ( no output )
11:17 psch oh, right, constraint vs default value
11:17 jnthn Aye. :)
11:19 gfldex m: my $a of Any; say $a.VAR.of
11:19 camelia rakudo-moar 843a6b: OUTPUT«(Any)␤»
11:19 jnthn lunch, meeting &
11:19 gfldex m: my $a of Any; say $a.VAR.of; $a = Nil;
11:19 camelia rakudo-moar 843a6b: OUTPUT«(Any)␤»
11:20 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␤»
11:20 psch well, binding gives you a new container descriptor
11:20 gfldex I don't think I like that
11:20 psch and that's what holds default and of and all those things
11:20 gfldex mostly because I have to doc it :->
11:20 psch what?  binding trashing the container?
11:20 gfldex variable != container
11:21 psch a variable is a reference to a container, isn't it
11:22 psch specifically, a scalar variable in this case
11:22 psch a container has a container descriptor, which knows about e.g. constraints and defaults
11:24 timotimo i wonder what rurban means by "MOP crazyness, which is spreading like wildfire"?
11:26 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 gfldex at least that's how I understand Perl 6
11:26 gfldex and Perl 6 tends to mumble from time to time
11:26 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
11:27 psch s/be/reference/
11:28 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
11:28 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␤»
11:28 psch but yes, the point as made is generally true
11:29 psch as in, it has to be the initializer that binds a container to a constant and we can't do it at runtime
11:30 psch timotimo: i mostly wonder what 'MOP crazyness' is.  i cannot say if it's spreading
11:31 timotimo well, me too
11:31 timotimo i added the latter part to maybe help clarify what he means
11:31 psch where is that statement, ooc?  maybe context helps..?
11:34 timotimo that recent reddit thread
11:34 timotimo let me grab it from my history
11:35 timotimo https://www.reddit.com/r/perl6/comments/5fsi96/how_is_the_perl_56_transition_different_from_the/
11:39 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 ....
11:39 psch one of the longest-lasting parrot maintainers
11:39 psch afaik at least
11:40 arnsholt And the last one, IIRC
11:42 babydrop I totally agree with Ulti's comment about focusing on new programmers rather than Perl 5 people.
11:43 babydrop I always found it a bit bizzare that Perl 6 spent so much energy on luring Perl 5 programmers.
11:45 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?
11:45 nine That this sentence is just wrong.
11:46 babydrop Why not? Because of Inline::Perl5?
11:46 nine exactly
11:46 nine Or even more correct: because of the S01 tests in roast which _mandate_ backwards compatibility.
11:47 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:48 babydrop 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:49 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:50 hurh joined #perl6-dev
11:51 babydrop That's interoperability.
11:52 babydrop 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:53 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.
11:54 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;
11:54 camelia rakudo-moar 843a6b: ( no output )
11:54 gfldex is ^^^ this `of` a trait?
11:54 arnsholt scimon: For a second, I read s/app/script/ and was very, very worried =)
11:54 scimon Lots of modules. running on mod_perl
11:55 * babydrop shudders
11:55 scimon Currently hanndling 2400 requests per second.
11:55 scimon (over a number of servers)
11:56 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.
11:56 babydrop " to.
11:56 gfldex jnthn: is of in `my $a of Int` a trait?
11:57 hurh babydrop : you should appease Java programmers (sarcasm)
11:57 arnsholt gfldex: Yeah, of is a trait
11:57 babydrop :)
11:58 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)
11:58 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
11:59 gfldex think I got it
11:59 arnsholt gfldex: The code is trait_mod:<of>
11:59 gfldex trait_mod:<of>(Mu:U $target, Mu:U $type)
11:59 arnsholt Yup
11:59 arnsholt The places you can apply it are defined in the grammar
12:02 arnsholt Ah, wait. I had it backwards: All traits can appear in the same places
12:02 arnsholt What differs is what can come *after* the trait
12:02 arnsholt In the case of trait_mod:<of> it's a typename
12:06 psch ah, that one's probably pretty easy
12:06 psch the NPE in t/nqp/059-nqpop.t that is
12:06 babydrop sweet
12:06 psch apparently coerce_si isn't null-safe
12:09 psch and i am, again, taking the easy way out there :P
12:09 psch VMNull might still be the better solution, but adding a null check is waay easier
12:10 psch the fact that we've been doing that for, well, years aside
12:12 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.
12:12 nine babydrop: exactly. Backwards compatibility is when you can still use your old code. Which you can with Inline::Perl5 in most cases.
12:13 nine 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:16 psch ah, zu früh gefreut :/
12:16 psch as in, both nqp::null_s and nqp::null are actually equal on nqp-j
12:18 psch or, well, they do result in the same byte code at least o.o
12:24 psch oohkay
12:24 scimon Sounds weird.
12:24 psch apparently, nqp-j does a smart stringify, while nqp-m just checks "do we have a str value in that register"
12:24 psch for nqp::isnull_s that is
12:25 psch scimon: well, both nqp::null and nqp::null_s map to aconst_null, as their JAST instruction
12:25 psch scimon: curiously though, they apparently aren't the same because nqp::isnull(nqp::null_s) is false
12:26 psch scimon: and nqp::isnull is just 'public static isnull(SixModelObject obj) { return obj == null ? 1 : 0; }'
12:26 psch +long
12:27 psch which, yeah, is a bit weird :)
12:32 arnsholt Yeah, there are some odd divergences in JVM
12:33 arnsholt Check with jnthn++, but I suspect moving the JVM code to be more in line with Moar won't be wrong
12:36 psch yeah, it's a matter of "how much work" and "how many workarounds have to be dialed back" though... :)
12:36 psch 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
12:39 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 jnthn The JVM doesn't have the first of those problems.
12:40 jnthn OK, need to pay attention again :)
12:42 psch eh, it only has half of the first of those problems i'd say
12:42 psch we still need all the null checks, otherwise the VM dies as well :)
12:44 psch but yes, in constast to C we can actually do that, or even recover from it
12:44 psch *contrast
12:58 cygx joined #perl6-dev
12:58 cygx o/
12:58 cygx I come bearing gifts: https://github.com/rakudo/rakudo/pull/933
13:07 babydrop sweet
13:07 babydrop cygx: what does it do?
13:07 babydrop We made enums list values on purpose...
13:08 babydrop Ah, I see.
13:08 dalek rakudo/nom: 34deb15 | cygx++ | src/core/Main.pm:
13:08 dalek rakudo/nom: Fix usage message for boolean flags
13:08 dalek rakudo/nom:
13:08 dalek rakudo/nom: They may be enums, but should not list their values
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34deb155ae
13:08 dalek rakudo/nom: abc6439 | (Zoffix Znet)++ | src/core/Main.pm:
13:08 dalek rakudo/nom: Merge pull request #933 from cygx/fix-usage
13:08 dalek rakudo/nom:
13:08 dalek rakudo/nom: Fix usage message for boolean flags
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abc64393dc
13:09 cygx babydrop++
13:09 babydrop cygx: will the gifts come with tests too? :)
13:10 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:11 cygx ...I think I left something on the stove...
13:11 cygx I'll be right back
13:11 cygx left #perl6-dev
13:11 babydrop heh
13:13 babydrop gfldex: we can't
13:13 gfldex :(
13:14 babydrop Markup just shows up as regular text: http://i.imgur.com/p9C9xAc.png
13:15 gfldex well, we got a whole year to come up with a solution how to write advent posts in pod6
13:16 babydrop ewwww
13:16 timotimo you know you can just copy-paste html-ed stuff from one browser tab into the wordpress editor, right?
13:17 gfldex i did that by writing stuff as .md and still had problems
13:17 babydrop you know that tomato is a fruit? :)
13:18 dalek nqp: 097c901 | peschwa++ | t/nqp/059-nqpop.t:
13:18 dalek nqp: Add messages to a few tests
13:18 dalek nqp: review: https://github.com/perl6/nqp/commit/097c901357
13:18 dalek nqp: e9b96f6 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
13:18 dalek nqp: Fix a few NPEs
13:18 dalek nqp: review: https://github.com/perl6/nqp/commit/e9b96f6a69
13:18 psch misread the last test in that file, so coerce_s2i didn't actually matter, istrue was the problem there
13:18 gfldex babydrop: it's a berry
13:19 babydrop Aren't berries also fruits? :)
13:20 psch "fruit is a gastronimcal category, berries is a botanical category" is how i've heard this discussion laid to rest
13:20 psch *gastronomical
13:20 babydrop heh
13:20 gfldex it's more fun to call it a berry tho
13:21 gfldex because if you are asked how you know you can say: "I watch QI"
13:22 timotimo astronomical fruit!
13:23 DrForr So what do you think of Sandi taking over for Stephen? I'm all for it myself.
13:24 babydrop who? what?
13:24 ilmari I like it
13:24 ilmari but I have scandi bias :)
13:24 DrForr Well, you would :)
13:26 DrForr 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:27 ilmari I've seen all of them, it's good
13:27 ilmari she picks less on poor alan
13:28 DrForr oo, that's right, I'm going to be in London tomorrow, and my hotel room has a 40" LCD TV.
13:29 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.
13:30 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.
13:30 scimon Ah... Saturday I'm at a games convention.
13:30 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
13:31 ilmari https://twitter.com/lpmsoc/status/803991511524380672
13:31 DrForr And I can finaly get to pre-drinks.
13:31 ilmari https://twitter.com/lpmsoc/status/803992351500812288
13:31 * ilmari == @lpmsoc
13:31 DrForr *finally # god *DAMN* keyboard.
13:32 ilmari when I'm wearing my pub minion hat
13:32 scimon Grand
13:35 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:37 tadzik babydrop: or in your commandline, with 'markdown', if installed :)
13:38 tadzik I write most of the stuff this way, wordpress editor is horrible
13:38 babydrop and this markdown command line has Perl 6 highligher :/
13:38 babydrop OK. Well, glad I don't have to use Wordpress editor
13:39 tadzik ah, right, maybe only github knows that
13:45 scimon psch: That's great. Currently putting time aside to go through the nqp slides. I have time off over the holiday :)
13:48 AlexDaniel joined #perl6-dev
13:52 AlexDaniel joined #perl6-dev
14:11 timotimo babydrop: it should work, yeah
17:19 pyrimidine joined #perl6-dev
17:49 pyrimidine joined #perl6-dev
18:21 pyrimidine joined #perl6-dev
18:30 synopsebot6 joined #perl6-dev
18:46 unicodable6 joined #perl6-dev
18:51 FROGGS joined #perl6-dev
18:56 FROGGS o/
19:39 dalek star/zef: c7c5ead | (Steve Mynott)++ | modules/MODULES.txt:
19:39 dalek star/zef: fix deps for zef
19:39 dalek star/zef: review: https://github.com/rakudo/star/commit/c7c5ead544
20:09 pyrimidine joined #perl6-dev
20:28 pyrimidine joined #perl6-dev
21:01 pyrimidine joined #perl6-dev
21:10 pochi joined #perl6-dev
22:01 pyrimidine joined #perl6-dev
22:14 pyrimidine joined #perl6-dev
22:18 pyrimidine joined #perl6-dev
22:49 pyrimidine joined #perl6-dev
23:23 bisectable6 joined #perl6-dev
23:23 evalable6 joined #perl6-dev
23:23 committable6 joined #perl6-dev
23:23 benchable6 joined #perl6-dev
23:24 unicodable6 joined #perl6-dev
23:52 pyrimidine joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary