Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-12-01

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:10 xinming joined #perl6
00:17 xinming joined #perl6
00:22 rurban1 joined #perl6
00:22 xinming joined #perl6
00:23 Arcterus joined #perl6
00:27 xinming joined #perl6
00:30 xenoterracide_ joined #perl6
00:32 xinming joined #perl6
00:57 silug joined #perl6
01:09 Arcterus joined #perl6
01:10 nnunley joined #perl6
01:27 xenoterracide_ joined #perl6
01:34 BenGoldberg joined #perl6
01:41 colomon joined #perl6
01:43 BenGoldberg joined #perl6
02:02 raiph joined #perl6
02:24 ssutch joined #perl6
02:42 timotimo i found out that the mistake that caused my simplify_before branch to fail all the time was in the first commit of the branch m)
02:44 timotimo how did i not notice this before?
02:44 xinming joined #perl6
02:48 Arcterus joined #perl6
02:50 xinming joined #perl6
02:55 xinming joined #perl6
02:57 timotimo oh yay, nqp on my branch now passes the S05 rakudo spectests
02:59 timotimo forcepush! because dalek isn't here to get kicked for it :)
03:00 xinming joined #perl6
03:02 timotimo wow, looking for an "e" is about 10x faster than looking for a <[e]>
03:03 timotimo oh, huh, it doesn't turn <[e]> into a charrange
03:04 timotimo but finding one-entry-char-classes and turning them into literals is totally not a worthwhile optimization
03:05 xinming joined #perl6
03:09 Arcterus1 joined #perl6
03:10 xinming joined #perl6
03:16 xinming joined #perl6
03:16 timotimo nqp: my ($a, $b) := (1, 2); say $a; say $b;
03:16 camelia nqp-parrot: OUTPUT«Confused at line 2, near "my ($a, $b"␤current instr.: 'panic' pc 16262 (gen/parrot/stage2/NQPHLL.pir:6020) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
03:16 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "my ($a, $b"␤panic␤»
03:16 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "my ($a, $b"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:379)␤  in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤  in TOP (gen/jvm/stage2/NQP.nqp:820)␤  in parse (gen/jvm/stage2/QRegex.nqp:1251)␤  in parse (gen/jvm/stage2/NQPHLL.nqp:1378)␤  in…»
03:17 timotimo ah
03:23 timotimo Stage parse      : 102.369 - it was never this fast before! (recently at least)
03:25 xenoterracide_ joined #perl6
03:29 xinming joined #perl6
03:34 xinming joined #perl6
03:39 timotimo yay, .*? will now turn into a scan :D
03:39 timotimo it can be much, much faster :)
03:39 xinming joined #perl6
03:40 * timotimo runs a spectest
03:44 Arcterus joined #perl6
03:44 xinming joined #perl6
03:54 timotimo yays
03:55 xinming joined #perl6
03:55 ggoebel110 joined #perl6
03:58 berekuk joined #perl6
04:00 xinming joined #perl6
04:03 xenoterracide_ joined #perl6
04:06 xinming joined #perl6
04:06 timotimo ah, i broke something, like expected :(
04:10 berekuk joined #perl6
04:11 rurban joined #perl6
04:16 timotimo i don't know exactly what makes cclass match and scan not match ... hum.
04:16 timotimo well, it makes a whole lot of sense
04:16 timotimo so how do i get it to capture :P
04:17 xinming joined #perl6
04:18 timotimo hum. i *could* check if i'm at the first position and do the same thing <( does
04:19 timotimo it may be enough to put an empty !LITERAL there
04:21 berekuk joined #perl6
04:23 xinming joined #perl6
04:26 atroxaper joined #perl6
04:29 timotimo nope. i'm not sure how to get this to properly work
04:29 xinming joined #perl6
04:30 timotimo i guess i could carry around a "have we had something matching yet?" flag and if it isn't set, create a subrule to capture an empty literal into $from
04:30 timotimo $!from*
04:32 timotimo but i don't know exactly which rules capture and i dont want to figure it out
04:44 ssutch joined #perl6
04:45 berekuk joined #perl6
04:52 xinming joined #perl6
04:54 preflex_ joined #perl6
04:56 atroxaper joined #perl6
04:56 Arcterus joined #perl6
05:00 xinming joined #perl6
05:02 segomos https://bitcoil.co.il/pool_analysis.pdfhttps://bitcoil.co.il/pool_analysis.pdf
05:03 segomos oops sorry
05:05 xinming joined #perl6
05:10 xinming joined #perl6
05:16 xinming joined #perl6
05:22 xinming joined #perl6
05:27 xinming joined #perl6
05:33 xinming joined #perl6
05:36 atroxaper joined #perl6
05:38 xinming joined #perl6
05:38 logie joined #perl6
05:43 xinming joined #perl6
05:50 xinming joined #perl6
05:55 xinming joined #perl6
06:04 TimToady lue: we cannot use Duration both for civil time and for Instant - Instant
06:04 Arcterus joined #perl6
06:05 TimToady the definition of Duration in S02 is always an exact number of seconds, without slop like "one month"
06:05 TimToady we'll need to rename one or the other type
06:08 TimToady we could rename the well-behaved type Seconds, if the isofolk claim Duration
06:08 geekosaur Period?
06:08 lue TimToady: to be fair, they call it an interval. I can change the name if you'd like.
06:09 TimToady well, we call intervals Range, so I guess you could have interval :)
06:10 lue https://en.wikipedia.org/wiki/ISO_8601#Time_intervals (The page calls the P<blah> form a "duration", but considering it belongs to the group of Interval specifiers...
06:10 TimToady then maybe let's change that to Interval
06:10 TimToady and it fits the language: "after an interval of 3 months"
06:10 lue TimToady: should you or I? (I've got a few minutes)
06:10 TimToady be my guest
06:11 atroxaper joined #perl6
06:11 TimToady thanks for the dalek emulation :)
06:13 lue I did that because I figured it was kinda a big change to ::Temporal. I think I was right there :)
06:15 TimToady :D
06:15 timotimo you're the dalek now, dog!
06:16 timotimo my advent calendar blog post draft document is still 0 bytes long
06:16 lue Oh, I had no clue what I said there until I saw TimToady's reply. :P
06:21 lue There, pushed. You'll notice there's some stuff I'll get to tomorrow, if no-one else does in the intervening time.
06:22 * lue will probably be doing a Temporal post for advent this year thanks to this :)
06:25 timotimo \o/
06:25 lue Heh, I like the accidental symmetry this sets up. Where Instant/Duration are more "machine-friendly" Time types, Date[Time]?/Interval are more "human-friendly". :)
06:25 Entonian joined #perl6
06:37 xinming joined #perl6
06:50 SamuraiJack__ joined #perl6
06:59 xinming joined #perl6
06:59 64MAA2D60 joined #perl6
07:02 atroxaper joined #perl6
07:04 darutoko joined #perl6
07:04 xinming joined #perl6
07:06 atroxaper joined #perl6
07:11 xinming joined #perl6
07:17 xinming joined #perl6
07:23 bonsaikitten hrm. the 2013.11 release of rakudo has become quite a bit dumber in figuring out how to build itself
07:23 xinming joined #perl6
07:24 bonsaikitten I mean, one could check in PATH if there's nqp there... optionally... maybe? ;)
07:24 timotimo well, it would have to look for nqp-p, nqp-j, nqp-m
07:24 timotimo not just nqp i think?
07:28 xinming joined #perl6
07:37 xinming joined #perl6
07:40 Arcterus joined #perl6
07:42 xinming joined #perl6
07:52 nwc10 timotimo: turned out that turning one entry char classes into literals *was* a useful optimisation for the perl 5 regex engine.
07:53 timotimo how often do people do that?!?
07:53 timotimo also, when did that turn out?
07:53 nwc10 I forget exactly the details, but I think that it was partly that there was a style of writing /\./ as /[.]/ instead
07:53 bonsaikitten timotimo: by setting --backend that is kinda explicit
07:53 nwc10 (and I guess a bunch of other things that are metacharacters normally, but not in []/
07:53 bonsaikitten timotimo: so there would be no need to guess where npq-p hides when I already said --backend=parrot
07:53 timotimo i think at some point we decided against having a nqp symlink? but i may be misremembering
07:55 nwc10 but it was an optimiation after about 10 years of optimising other things
07:55 timotimo wow
07:55 timotimo but it seems so simple!
07:58 xinming joined #perl6
08:05 Arcterus joined #perl6
08:10 ssutch joined #perl6
08:10 logie joined #perl6
08:15 FROGGS joined #perl6
08:22 xinming joined #perl6
08:34 xinming joined #perl6
08:35 kivutar joined #perl6
08:40 Arcterus joined #perl6
08:41 xinming joined #perl6
08:47 spider-mario joined #perl6
08:56 xinming joined #perl6
08:59 Mouq joined #perl6
09:21 Rotwang joined #perl6
09:26 denis_boyun joined #perl6
09:40 berekuk joined #perl6
10:02 kaare_ joined #perl6
10:02 xinming joined #perl6
10:05 carlin joined #perl6
10:10 FROGGS moritz: do we wanna put that on the calender? http://froggs.de/perl6/CIMG0070.JPG
10:15 masak nice.
10:15 masak too bad it isn't one of the recent Camelia ones.
10:20 moritz FROGGS: +1
10:21 FROGGS masak: yeah, I don't have one of those :o)
10:29 xinming joined #perl6
10:31 carlin rakudo: role bar { }; module Foo { multi trait_auxiliary:<is>(bar $trait, $container, $arg) is export { } }
10:31 camelia rakudo-jvm 874e35: OUTPUT«(timeout)»
10:31 camelia ..rakudo-parrot 874e35: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/37SjecTc0w�Cannot add tokens of category 'trait_auxiliary'�at /tmp/37SjecTc0w:1�------> [32m module Foo { multi trait_auxiliary:<is>[33m�[31m(bar $trait, $container, $arg) is export[0m…»
10:34 carlin rakudo: role bar { }; module Foo { multi trait_mod:<is>(bar $trait, $container, $arg) is export { } }
10:35 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
10:35 carlin so trait_auxiliary is now trait_mod?
10:35 FROGGS seems like
10:35 FROGGS (I never heard of trait_auxiliary)
10:41 masak FROGGS: I have one of those, but not a Christmas tree. :)
10:42 masak we have... a bit of a scheduling challenge, trying to fill 2013-12-04 .. 2013-12-08 in real time.
10:42 masak I would strongly suggest trying to find volunteers today, as much as possible.
10:48 carlin ah, seems trait_auxiliary went away in 2009 :-) https://github.com/perl6/specs/commit/04840a3a6967d9ee641a9a76a1f9ae929b0d0a19#diff-f318298d5dd39218afabcb517932e412L356
10:48 * carlin is only a few years out of touch
10:49 * masak is scouring the synopses for things to write about
10:50 carlin it's still used in t/spec/S12-traits/basic.t but those tests don't pass anyway, and still mentioned in S06
10:52 masak carlin: that definitely looks fossil-y.
10:52 masak TimToady: ping ^
10:52 FROGGS masak: I can try to write my posts as early as possible so that they can be posted next week or so
10:53 moritz ftfy
10:54 rindolf joined #perl6
10:54 FROGGS ftfy?
10:55 moritz fixed that for you
10:55 moritz (the trait_auxilliary thingy)
10:55 masak moritz: thanks.
10:55 FROGGS ahh, k
10:55 masak attention all channel denizens!
10:55 masak it is the month of December!
10:55 masak all rejoice!
10:55 masak also, please sign up for Advent Calendar posts!
10:55 masak your contribution is much appreciated!
10:56 FROGGS btw, if all goes well, we could have sized arrays and loop labels in the next changelog (besides other awesome things)
10:57 dalek joined #perl6
10:57 FROGGS dalek: \o/
10:58 moritz fetch_url: failure fetching https://trac.parrot.org/parrot/timeline?ticket=on&amp;format=rss: 500 Can't connect to trac.parrot.org:443 (certificate verify failed)
11:02 masak FROGGS: sized arrays! \o/
11:02 masak FROGGS: loop labels! \o/
11:03 FROGGS :o)
11:03 FROGGS I am smoking Arcterus's PR atm
11:05 dalek mu: 599b7ca | (Carl Mäsak)++ | misc/perl6advent-2013/schedule:
11:05 dalek mu: picked a topic for 2013-12-22
11:05 dalek mu:
11:05 dalek mu: Gonna write about different operator types
11:05 dalek mu: review: https://github.com/perl6/mu/commit/599b7caadc
11:05 masak I've now picked (preliminary) topics for each of my slots, by skimming through the synopses for topics.
11:05 masak funny thing: I got halfway through S03... :)
11:06 masak so I bet there are lots more things to write about.
11:11 masak lue++ # https://rdstar.wordpress.com/2013/07/22/some-thoughts-on-unicode-in-perl-6/
11:11 masak (hadn't seen it until it got posted on HN)
11:12 moritz http://www.reddit.com/r/programming/comments/1ru0ez/perl_6_advent_calendar_something_cool_about_perl/ # p6advent submitted to reddit
11:21 masak and you already have a comment on the first advent post :)
11:31 jaffa4 joined #perl6
11:31 jaffa4 hi all
11:32 masak hi jaffa4
11:32 FROGGS hi jaffa4
11:32 jaffa4 I stumbled into some weird regex thing.
11:33 FROGGS that sounds interesting :o)
11:33 jaffa4 r: my $key = "parcel 2_end"; if $key ~~ /parcel \d+/ {  say "****"}
11:33 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
11:33 jaffa4 Can you explain that?
11:33 berekuk joined #perl6
11:34 FROGGS r: my $key = "parcel2_end"; if $key ~~ /parcel \d+/ {  say "****"}
11:34 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«****␤»
11:34 FROGGS :P
11:34 FROGGS r: my $key = "parcel2_end"; if $key ~~ /:s parcel \d+/ {  say "****"}
11:34 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
11:34 FROGGS r: my $key = "parcel 2_end"; if $key ~~ /:s parcel \d+/ {  say "****"}
11:34 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«****␤»
11:35 FROGGS jaffa4: if you want to match whitespace you must say so
11:35 jaffa4 yes, yes
11:38 FROGGS sized arrays seem to work: https://github.com/rakudo/rakudo/pull/230
11:38 FROGGS (at least it does not seem to break anything anymore)
11:44 xinming joined #perl6
11:45 [Sno] joined #perl6
11:53 jaffa4 FROGGS: you talk very carefully
11:56 woolfy joined #perl6
12:01 dalek specs: d7ae51e | Carlin++ | S14-roles-and-parametric-types.pod:
12:01 dalek specs: typo; being introduce --> being introduced
12:01 dalek specs: review: https://github.com/perl6/specs/commit/d7ae51eb3e
12:07 jaffa4 What is this ++? What is the significance?
12:07 beastd joined #perl6
12:08 FROGGS jaffa4: that is karma
12:09 jaffa4 So what if you have high karma?|
12:10 FROGGS then you are a good hacker :o)
12:10 colomon r: say +"Hello"
12:10 camelia rakudo-parrot 874e35: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Hello' (indicated by ⏏)␤  in method gist at gen/parrot/CORE.setting:12016␤  in method gist at gen/parrot/CORE.setting:1014␤  in sub say at gen/parrot/CORE.…»
12:10 camelia ..rakudo-jvm 874e35: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Hello' (indicated by ⏏)␤  in block  at /tmp/rpeRG8jqOg:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292…»
12:10 colomon r: say +"1Hello"
12:10 camelia rakudo-parrot 874e35: OUTPUT«Cannot convert string to number: trailing characters after number in '1⏏Hello' (indicated by ⏏)␤  in method gist at gen/parrot/CORE.setting:12016␤  in method gist at gen/parrot/CORE.setting:1014␤  in sub say at gen/parrot/CORE.setting:12916␤ …»
12:10 camelia ..rakudo-jvm 874e35: OUTPUT«Cannot convert string to number: trailing characters after number in '1⏏Hello' (indicated by ⏏)␤  in block  at /tmp/2eenIihVRu:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any comman…»
12:11 FROGGS colomon: you'd need to switch to a v5 block to make the latter work :P
12:11 colomon …. is there still a way to do that in p6?
12:12 FROGGS if v5 were a proper module you could do: &prefix:<P5+>("1Hello")
12:12 colomon I'm looking at fixing the issues in IO::Prompter
12:13 colomon The test :must({'be greater than 0' => {$_ > 0} }) used to work fine if you passed it "Hello" -- the value was presumably 0
12:13 colomon now it's a fatal error.
12:13 colomon and I cannot think of an obvious simple fix.
12:14 FROGGS :/
12:15 colomon I can appreciate wanting to be strict, but forcing the programmer to test and make sure they've got a valid number string before conversion seems not very friendly.
12:16 FROGGS well, you can always try/CATCH
12:17 colomon :\
12:20 masak jaffa4: people with high karma get not just street cred and a Nobel Prize, but they get to unlock the very Laws that underlie the Universe.
12:20 masak jaffa4: so it's pretty serious stuff, that's what I'm saying.
12:20 masak jaffa4++ # :)
12:20 jaffa4 jaffa4: I am sure it is as you say it.
12:21 jaffa4 masak: i am sure it is as you say it.
12:21 masak talking to yourself is the first sign of madness.
12:22 PacoAir joined #perl6
12:22 * masak waves from a train
12:22 jaffa4 that was a typo.
12:23 jaffa4 How can I see this karma thing?
12:24 masak it varies from time to time.
12:24 masak sometimes we have bots in here that keep count and reveal karma counts when asked.
12:24 masak but, interestingly, that's not really the point.
12:25 masak the point is that we have some way of marking appreciation, a bit like quantified compliments.
12:26 jaffa4 so thanks your for contribution is not good enough?
12:26 masak oh, it's very good, too.
12:27 masak I guess karma is the same, really, but it has a bit of an in-group thing to it.
12:28 * lizmat has her eyes open, but is not yet awake
12:30 masak good not-yet-morning, lizmat ++! \o
12:30 masak gah, slow train connection typo.
12:30 lizmat masak o/
12:30 masak lizmat++
12:31 lizmat http://perl6advent.wordpress.com doesn't seem to work for me
12:31 lizmat could be flaky hotel connectivity
12:32 lizmat seems it is, appears ok on 3G connection
12:32 masak lizmat: re https://github.com/perl6/specs/commit/0f9df8a0f229d617abe810bd9af2768a48a3fe2b: is it true that Whatever map is going away in favor of 'lazy loop { ... }', and can we change it already?
12:33 lizmat I haven't backlogged much the past week, so I'm the wrong person to ask
12:34 lizmat it seems to me there is MTOWTDI  :-)   personally, I like the concept of a whatever map over a lazy loop
12:34 masak I'm in a similar position re backlogging :/
12:34 masak but it seems to me that Whatever map has immediate, obvious design problems.
12:35 masak instead of restating them, allow me to find the relevant backlog.
12:36 masak http://irclog.perlgeek.de/perl6/2013-11-28#i_7928055 and http://irclog.perlgeek.de/perl6/2013-11-28#i_7928075
12:37 jaffa4 Where are lizmat?
12:38 lizmat London, UK at the moment
12:38 masak nice!
12:38 masak LPW, I suppose.
12:38 lizmat well, the aftermath of it, yeah
12:39 masak how was it?
12:39 jaffa4 masak: about talking to self.. see this http://sfhelp.org/gwc/IF/ifs.htm
12:39 lizmat it was a good day filled with Perl 5 talks
12:39 lizmat with some agreeable pre and post socials
12:40 masak specifically, how was zefram's talk?
12:40 lizmat as always, awesome
12:40 masak it seemed Parrot/NQP-related.
12:40 lizmat I don't know lisp that intimately
12:40 lizmat it only had very little to do with Parrot
12:40 lizmat but more with lisp with a twist
12:41 lizmat rather than having everything being data, everything in zefram's lixp (yes, with an x) is executable
12:42 lizmat if I got the gist of it right  :-)
12:42 masak jaffa4: that link seems... very intricate. thank you. ;)
12:42 lizmat that it was done on Parrot, was really secondary
12:42 masak ok.
12:43 lizmat apart from running into some of Parrot's ideosyncracies
12:43 masak no doubt.
12:43 lizmat (parrot-training-wheels-off)
12:43 lizmat fixed some of that  :-)
12:43 lizmat (aka arbitrary recursion limit of 1000)
12:43 masak lue: re Duration -- no no no no... :/
12:44 masak lue: not without a deep discussion first about not repeating the mistakes of CPAN's DateTime::Duration.
12:44 masak which I may or may not have missed due to not backlogging properly.
12:44 lizmat moritz: I will write something about Sets/Bags, but not before Wed
12:45 masak lue: the .delta method was basically added instead of Duration because it was less prone to wacky behavior.
12:46 lizmat moritz: wrt first advent post: there's a "with with" in there
12:46 masak I vote for immediate reverting of c32379ef139b153bc380557935f87b09310cb98a, which seems to head horns first into heavy DateTime/Instant confusion.
12:47 lizmat moritz: also s/Stayed tuned/Stay tuned/
12:47 masak it claims that Duration is based on Instants, and then immediately starts talking about :years in the constructor.
12:47 masak so tell me, how many seconds long is a year?
12:47 masak what about a month?
12:49 lizmat and is October 3600 seconds shorter or longer than normal ?
12:49 masak right, all those things.
12:49 masak lue: your effort is much appreciated, but you are fighting *serious* unknown unknowns here.
12:50 masak lue: (as are most of us when it comes to DateTime)
12:50 * masak reverts
12:51 colomon r: class A { has $!b; method c { say $!b.perl; }; }; A.new(:b("Hello!")).c
12:51 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Any␤»
12:52 FROGGS r: class A { has $.b; method c { say $!b.perl; }; }; A.new(:b("Hello!")).c
12:52 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«"Hello!"␤»
12:52 colomon FROGGS: yup.  that was another change IO::Prompter needed.  ;)
12:53 woolfy left #perl6
12:53 FROGGS it does not warn when you pass "unknown" named args
12:53 colomon do normal methods?
12:54 colomon r: class A { has $.b; method c { say $!b.perl; }; }; A.new(:b("Hello!")).c(:unkonwn("Ha!"));
12:54 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«"Hello!"␤»
12:54 FROGGS no
12:54 * lizmat is off for some Baker Street perusing&
12:54 colomon guess not.
12:54 dalek specs: ebab048 | masak++ | S32-setting-library/Temporal.pod:
12:54 dalek specs: Revert two commits related to Duration
12:54 dalek specs:
12:54 dalek specs: Serious conceptual problems here, see
12:54 dalek specs: http://irclog.perlgeek.de/perl6/2013-12-01#i_7938521
12:54 dalek specs: for discussion.
12:54 dalek specs:
12:54 dalek specs: This reverts commit 1735a4652b3885a13ce14c654af2a5b90c915bd0.
12:54 dalek specs: This reverts commit c32379ef139b153bc380557935f87b09310cb98a.
12:54 dalek specs: review: https://github.com/perl6/specs/commit/ebab04875a
12:57 dayangkun joined #perl6
13:00 dalek specs: b414bc8 | masak++ | S32-setting-library/Temporal.pod:
13:00 dalek specs: Revert "[S32::Temporal] Expand valid ISO 8601 formats."
13:00 dalek specs:
13:00 dalek specs: ISO 8601 is a good thing, but that does not mean *all* of it is
13:00 dalek specs: a good thing. Specifiacally, allowing week specifications in the
13:00 dalek specs: DateTime core will make the logic even more complicated than it
13:00 dalek specs: already is, with extremely little benefit.
13:00 dalek specs:
13:00 dalek specs: This reverts commit 97c5bc4e47b819b640fc5f815b861d753ed8aa9c.
13:00 dalek specs: review: https://github.com/perl6/specs/commit/b414bc8681
13:01 masak this is a general reminder to everyone that Temporal.pod is unusually sensitive to bikeshedding, and it is *very* advisable to precede changes to it with discussion on the channel.
13:01 masak for some reason, most people feel they have a good grasp on time issues, probably due to having seen a fair number of clocks in their lives.
13:01 timotimo o/
13:02 masak greetings, timotimo
13:06 masak S32/Temporal is a result of many long hours of weighing pros and cons of various issues. (most of it done by other people than me at this point; phew!) -- let's continue the tradition of evolving it slowly and in a consensus manner.
13:07 FROGGS masak: we might want to invite Dave Rolsky some day to that channel :o)
13:10 masak he has weighed in on p6l at least once, IIRC.
13:14 jaffa4 lizmat: what is the weather like in London?
13:15 timotimo is there a reliable way to tell if a piece of Regex QAST will cause a match to happen?
13:20 FROGGS timotimo: there should be a pass, no?=
13:21 timotimo ah, that's not helpful; i'm trying to find out where the match starts
13:21 timotimo or rather: is this part of the regex already after whatever initially sets $!from
13:25 timotimo also i realize i'll have to look at it from the other end as well
13:28 spider-mario joined #perl6
13:33 denis_boyun joined #perl6
13:33 colomon new build failure in DateTime::TimeZone.
13:36 ggoebel110 joined #perl6
13:39 denis_boyun joined #perl6
13:57 colomon joined #perl6
14:02 moritz lizmat++ # typos in advent post fixed
14:11 thien joined #perl6
14:15 tgt joined #perl6
14:20 colomon joined #perl6
14:30 mschreck joined #perl6
14:33 wooden joined #perl6
14:35 jnthn afternoon o/
14:35 moritz \o
14:37 mschreck joined #perl6
14:37 timotimo Result: PASS    \o/
14:39 mschreck joined #perl6
14:48 ajr joined #perl6
14:57 raiph joined #perl6
14:59 thien joined #perl6
15:00 timotimo <?before <ident> >  ­... is this supposed to generate a scan?
15:00 mschreck joined #perl6
15:01 timotimo r: say "1234 1234 foobar" ~~ /:s \d+ <?before <ident> > \d+/
15:01 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Nil␤»
15:02 moritz timotimo: <?before> and <ident> are both implicitly anchored, so no scanning
15:02 moritz timotimo: the only thing that emits an rxtype<scan> is the start of a regex
15:02 timotimo good.
15:02 timotimo getting rid of that scan may actually be a worthwhile investment
15:04 moritz which scan? :-)
15:05 timotimo the one that is put before the <ident> in this case
15:05 timotimo ah, wait, but that won't actually do any scanning at all, unlike scan + BOS anchor
15:05 timotimo never mind then
15:06 jnthn It won't save us much at all on runtime, BUT it will make the code a little smaller.
15:06 timotimo tiny bit.
15:06 timotimo first i'll see if i can fix the errors, then i can get back to optimizering :)
15:22 timotimo jnthn: do i remember correctly that you're going to have tuits today and you're going to do indy on jvm and something similar on moarvm in the nearest future?
15:25 synopsebot joined #perl6
15:26 masak synopsebot! \o/
15:26 timotimo ohai synopsebot o/
15:26 masak synopsebot: S01:215! :)
15:26 synopsebot masak: Link: http://perlcabal.org/syn/S01.html#line_215
15:26 moritz who synopsed the bot?
15:26 masak tadzik, lookslike.
15:26 * timotimo may play some frozen synopse soon
15:27 tadzik :)
15:27 nwc10 good UGT violation, jnthn :-)
15:29 tadzik synopsebot: botsnack!
15:29 tadzik oh, he doesn't know that :(
15:30 synopsebot joined #perl6
15:30 Alina-malina joined #perl6
15:30 tadzik synopsebot: botsnack!
15:30 tadzik pffft
15:31 moritz wow, 450 view on the advent calendar today
15:31 FROGGS[mobile] joined #perl6
15:32 moritz and the day isn't even over :-)
15:33 nwc10 I can haz Christmas?
15:34 nwc10 which reminds me of a lightning talk Pm did of decompiling Parrot bytecode to LOLCODE. Would this approach also work? If so, does it end up with LOLCODE as a MoarVM assembly language :-)
15:34 timotimo that was a nice talk
15:35 FROGGS[mobile] Has somebody a link?
15:36 colomon who is up for tomorrow on the advent calendar?
15:36 timotimo http://www.youtube.com/watch?v=DzpSREpLJY8
15:36 tadzik masak
15:36 tadzik according to https://github.com/perl6/mu/blob/master/misc/perl6advent-2013/schedule
15:36 SamuraiJack__ joined #perl6
15:39 timotimo i don't understand why this fixes it, but it does
15:40 FROGGS timotimo: thank you
15:41 masak yes, I'm up for tomorrow.
15:41 masak expet a draft in a couple hours.
15:41 masak expect*
15:42 masak people who haven't volunteered for the Advent Calendar yet should consider helping fill the hole in 4th-to-8th.
15:46 jnthn nwc10: I was awake since well before 9, just not at keyboard ;)
15:46 masak aka "halp, we need people who write stuff!"
15:46 masak jnthn: that's what they all say. :P
15:46 jnthn masak: No fair, you know what I was doing even :P
15:47 jnthn timotimo: Yes, I have some tuits now, and quite a few tomorrow/Tue to wok on indy stuff
15:48 jnthn uh, work :)
15:48 jnthn wokking doesn't sound like a bad idea, though... :)
15:49 colomon dunno about indy wokking
15:49 timotimo \o/
15:49 timotimo i imagine it involves curry
15:50 * colomon never cooks with curry
15:50 colomon oh, indy, I see.  ;)
15:52 jnthn colomon: huh, the curry powder is one of the things that goes fastest in my kitchen... :)
15:53 nwc10 because there's only one of it, but a choice of beer?
15:53 timotimo any other obvious places to eliminate a scan at the beginning of a thunky regex besides "before"? "after" is another place, i guess
15:53 jnthn timotimo: In P6Regex, the poscaps
15:54 timotimo positional captures?
15:54 jnthn Yeah
15:54 timotimo i'll have a look, thanks
15:54 colomon nwc10: surely there are many different kinds of curry?  I've learned enough about it to know that.
15:55 nnunley joined #perl6
15:55 timotimo that should give a much bigger decrease in code size than the scans at the beginning of before/after
15:55 colomon jnthn: yeah, I burn fastest through Sichuan chili bean paste and green onions.
15:56 jnthn colomon: Yeah, curry powder is a mix of stuff.
15:56 jnthn colomon: ooh, nice things :)
15:56 jnthn I use the koriander quite a bit too... :)
15:57 colomon my wife hates koriander, so there's none in the house.
15:58 colomon so, if I have two multis:
15:58 colomon prompt (&block, :$in = $*IN, :$out = $*OUT)
15:58 colomon and
15:58 Psyche^_ joined #perl6
15:58 colomon prompt (slew of named arguments, *%unexpected_options, *@prompt)
15:59 colomon how does dispatch handle it?  I'm getting really really confused trying to sort out the dispatch errors in IO::Prompter
15:59 colomon (which may actually represent some sort of bug, because
15:59 jnthn Named parameters are treated constraint-y, so you're into "first match" semantics.
15:59 colomon prompt("Age", :integer, :in($stub), :out($stub))
16:00 colomon works but
16:00 colomon prompt("Age:", :integer, :default(42), :in($stub), :out($stub))
16:00 colomon doesn't)
16:01 colomon afk # "Daddy, you've got to rebuild Pirate Pig Attack for me!"
16:04 moritz it has both upsides and downsides when the small ones can articulate themselves so well :-)
16:04 colomon Done, but "Wait, Daddy, come back!"
16:04 moritz http://moritz.faui2k3.org/tmp/nougat-schoko.jpg # result from today's baking adventure
16:05 colomon moritz++!
16:06 timotimo that looks delicious
16:06 moritz timotimo: it is :-)
16:06 moritz timotimo: wanna come visit? :-)
16:06 colomon jnthn: order of named arguments is irrelevant, right?
16:06 jnthn colomon: Yes
16:07 colomon prompt("Color", :in($stub), :out($stub)) # works
16:07 colomon prompt("Color:", :default("Chartreuse"), :in($stub), :out($stub)) # works
16:07 colomon prompt("Age", :integer, :in($stub), :out($stub)) # works
16:07 colomon prompt("Age:", :integer, :default(42), :in($stub), :out($stub)) # doesn't work
16:08 timotimo moritz: some day for sure :)
16:08 colomon does anything jump out there to people?
16:09 ggoebel110 joined #perl6
16:09 colomon oh!
16:09 colomon it's :default(42), because Str   :d(:$default)
16:10 colomon not a dispatch bug at all.
16:10 colomon \o/
16:10 timotimo oh!
16:10 timotimo you want Cool :)
16:10 * moritz wants to be Cool also
16:10 colomon I think "as Str" is what is actually wanted
16:10 colomon (errr, is that the right syntax?  And it isn't implemented yet, is it?)
16:11 timotimo yes and yes
16:12 timotimo the other syntax is something like Str(Cool)
16:12 timotimo or the other way around.
16:12 moritz r: sub f($x as Str) { say $x.^name }; f 42
16:12 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Str␤»
16:13 timotimo oh!
16:13 timotimo sweet :)
16:13 moritz dude!
16:14 timotimo .o( i should really watch that movie some time )
16:14 colomon \o/
16:14 colomon and that works.
16:14 * timotimo has a prototype for removing scans from the beginning of positional and named captures
16:15 colomon of course, now I'm to the Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Hello!' issue
16:16 telex joined #perl6
16:19 japhb__ colomon: Can you take advantage of the fact that Str.Numeric errors are Failures instead of Exceptions?
16:19 colomon …. maybe?
16:19 japhb__ Meaning, is the code structured so that you can check .defined or ~~ Failure or somesuch and not blow up?
16:19 timotimo still not under 100 seconds in stage parse, though ...
16:20 timotimo Str.?Numeric?
16:20 jnthn timotimo: I'd not imagine you'd get a speed win out of what...
16:20 timotimo r: say "hello".?Numeric
16:20 camelia rakudo-parrot 874e35: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏hello' (indicated by ⏏)␤  in method gist at gen/parrot/CORE.setting:12016␤  in method gist at gen/parrot/CORE.setting:1014␤  in sub say at gen/parrot/CORE.…»
16:20 camelia ..rakudo-jvm 874e35: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏hello' (indicated by ⏏)␤  in block  at /tmp/3OYFMPzDV2:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292…»
16:20 jnthn timotimo: It's mostly code size.
16:20 timotimo jnthn: well, this is the whole optimizer branch i'm testing :)
16:20 jnthn timotimo: ah, ok
16:21 japhb__ r: say (+"hello").defined
16:21 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
16:21 japhb__ r: say (+"hello") ~~ Failure
16:21 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
16:21 colomon r: say ("hello" > 0) ~~ Failure
16:21 camelia rakudo-parrot 874e35: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1218␤  in any  at gen/parrot/BOOTSTRAP.nqp:1209␤  in method Real at gen/parrot/CORE.setting:990␤  in method Real at gen/parrot/CORE.set…»
16:21 camelia ..rakudo-jvm 874e35: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1201␤  in sub infix:<>> at gen/jvm/CORE.setting:3980␤  in block  at /tmp/nSCEJ9pH0a:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in …»
16:22 colomon r: say ((+"hello" // 0) > 0) ~~ Failure
16:22 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
16:22 colomon r: say (+"hello" // 0) > 0
16:22 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
16:22 colomon guess that's the most straightforward translation
16:22 japhb__ Yeah, agreed
16:22 FROGGS is it supposed to turn into 0?
16:23 colomon It's supposed to not be true -- ("hello" > 0) I mean
16:23 japhb__ FROGGS: I believe he's just trying to match a constraint
16:23 japhb__ unless I misunderstood ...
16:23 colomon right
16:23 FROGGS colomon: what about NaN then?
16:24 japhb__ r: say (+"NaN") > 0
16:24 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
16:24 colomon … sure, I guess.  It's not particularly important which value it has, I guess.
16:25 * japhb__ wonders if Failure.Numeric ought to be NaN
16:25 colomon understanding Damian++'s code is not the easiest thing in the world.
16:25 japhb__ I guess it's best if that throws
16:25 japhb__ Sometimes reading TheDamian's code is like reading the output of dictionary-based compression
16:29 colomon this is particularly bad, because I don't know whether weirdness is important or just something to work around a rakudo bug from 5+ years ago.
16:30 colomon like $input = %build_opt<default> // $input if $input eq "";
16:30 colomon does he just mean $input ||= %build_opt<default> ?
16:30 wooden left #perl6
16:31 colomon is rakudo debugger working at the moment?
16:32 FROGGS I think so
16:33 * jnthn isn't aware of any bustage there
16:33 rurban1 joined #perl6
16:33 colomon because it looks to me like the code is supposed to be doing a regex match to make sure the input actually looks like an integer before calling Numeric on it.
16:35 rindolf joined #perl6
16:36 colomon "Daddy, now's the time we should be building with this!"  Holds up Lego fire piece.  "Indiana Jones is going to meet lava."
16:39 cxreg2 joined #perl6
16:39 Rotwang joined #perl6
16:45 dalek nqp: d423302 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
16:45 dalek nqp: Fix bad regex code-gen assumptions.
16:45 dalek nqp:
16:45 dalek nqp: It relied on the attribute auto-viv in P6opaque being NYI, and thus
16:45 dalek nqp: breaks on implementing it.
16:45 dalek nqp: review: https://github.com/perl6/nqp/commit/d423302eaa
16:45 dalek nqp: 6304e7f | jnthn++ | src/vm/moar/stage0/ (11 files):
16:45 dalek nqp: Update bootstrap for MoarVM.
16:45 dalek nqp:
16:45 dalek nqp: Needed since stage0 was busted with regard to the attr-viv changes.
16:45 dalek nqp: review: https://github.com/perl6/nqp/commit/6304e7fe5a
16:46 colomon r: say "Hello" ~~ / <$sign>? <$digits> /
16:46 camelia rakudo-jvm 874e35: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/OWMh24Wxdgâ�¤Variable '$digits' is not declaredâ�¤at /tmp/OWMh24Wxdg:1â�¤------> [32msay "Hello" ~~ / <$sign>? <$digits> /[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
16:46 camelia ..rakudo-parrot 874e35: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/jCjnBh4_paâ�¤Variable '$digits' is not declaredâ�¤at /tmp/jCjnBh4_pa:1â�¤------> [32msay "Hello" ~~ / <$sign>? <$digits> /[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
16:47 ajr joined #perl6
16:49 colomon r: say "Hello" ~~ / <[+\-]>? \d+: /
16:49 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Nil␤»
16:49 colomon r: say "Hello" !~~ / <[+\-]>? \d+: /
16:49 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
16:49 colomon :\
16:50 mtk joined #perl6
16:51 colomon r: say "Hello" !~~ /^ \h* <[+\-]>? \d+: \h* $/
16:51 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
16:53 colomon ohg!
16:54 colomon got it.
16:56 japhb__ r: say so "0"
16:56 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
16:56 japhb__ colomon: ^^ The reason for the default contortion you saw
16:56 colomon the problem was the code was calculating the retval before validating to see if it actually had an integer.
16:57 colomon japhb__++
16:57 japhb__ yup, that'd do it
16:58 colomon okay, I've got all of one test file working now.
16:59 colomon oh, but plenty more errors to keep me busy.
16:59 timotimo i wonder if it's a crazy amount of work to inline positional captures into the parent regex
17:05 jnthn timotimo: Yeah, it's tricky, 'cus you need a new cursor.
17:06 timotimo yeah :(
17:06 jnthn timotimo: And you need to be able to restart the cursor.
17:06 jnthn timotimo: It'd be a real nasty thing to try and do.
17:07 timotimo mhm
17:07 timotimo so maybe next year
17:07 jnthn Or maybe we just make things fast enough otherwise that we don't worry over this :)
17:07 timotimo sure, i'd like that :)
17:08 nwc10 just make sure (1) you can turn the optimisations off
17:08 nwc10 (2) you don't inadvertently make it hard to use a regular expression as a file record separator
17:08 dalek nqp: 74a6ccb | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
17:08 dalek nqp: A couple more missing deconts.
17:08 dalek nqp:
17:08 dalek nqp: Shown up by Rakudo work.
17:08 dalek nqp: review: https://github.com/perl6/nqp/commit/74a6ccb147
17:08 timotimo how would i do (2)?
17:08 nwc10 (ie have no way to disable optmisations that assume that the end of the "string" is known)
17:09 timotimo oh, that's something to keep in mind, aye.
17:10 japhb__ nwc10: At one point jnthn++ had a -O[n] scheme where optimizations would work their way down from "experimental" (high n) to "use unless specifically turned off" (n=1 or so), with n=2 the default for compiling most code, and n=3 the default for compiling the setting.
17:10 timotimo yeah.
17:11 rjbs "Perl 11 is a philosophy, specifically the idea that we can re-unify Perl 5 and Perl 6" by complaining that the people shepherding p5 and p6 are obstructionists.
17:11 jnthn We still have that :)
17:11 japhb__ jnthn: The question is whether optimizations are actually following that path
17:12 timotimo my new optimisations don't check the $*LEVEL yet
17:12 nwc10 in particular, that they *aren't* doing what the compainant thinks is the right solution
17:12 timotimo i will work that in before merging it into master.
17:12 japhb__ ++timotimo
17:14 jnthn japhb__: Well, the ones I put in do. ;)
17:14 japhb__ :-)
17:15 jnthn Probably it's worth adding an explanation of the scheme to the top of Optimizer.nqp
17:15 timotimo i can write one up.
17:17 jnthn timotimo++
17:17 nwc10 "Perl 11 is a philosophy" that fails to register that the people shepherding p5 and p6 are actually *talking* to each other.
17:18 nwc10 anyway, I look forward to playing with their working code.
17:20 timotimo ooooh sick burn ;)
17:22 rjbs Hm, I apparently don't have a detectable Java 1.7 at the moment. :-/
17:22 nwc10 rjbs: on your laptop?
17:22 rjbs right
17:22 * nwc10 hasn't even tried, as you have to do some tricks to get 1.7 onto Snow Leopard
17:22 arnsholt I just downloaded the latest JDK on my work machine and stuck it in my $HOME
17:22 japhb__ Following a link on the perl11 site, I came to ofun.pm, wherein I found a blast to my own past.  Had no idea someone had put a domain up for that!
17:22 rjbs nwc10: I'll just use macports.
17:23 nwc10 does macports get me a viable Java?
17:23 rjbs Probably since it got me a viable Scala, but we'll find out soon.
17:23 Mouq joined #perl6
17:23 Arcterus joined #perl6
17:23 rjbs but first, general macports upgrade, while lunch is eaten
17:24 rjbs then it'll be a race between java install and needing to go to a funeral
17:24 segomos i had trouble with ports and java
17:24 segomos brew got it work for me fwiw
17:26 dalek nqp: 2418645 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
17:27 dalek nqp: defined should decont also.
17:27 dalek nqp: review: https://github.com/perl6/nqp/commit/24186458fc
17:33 Arcterus1 joined #perl6
17:39 timotimo the size of parrot's stage0 actually increased by 110 bytes
17:39 Arcterus joined #perl6
17:40 Mouq joined #perl6
17:46 ajr joined #perl6
17:56 Mouq joined #perl6
17:59 Arcterus joined #perl6
18:02 Arcterus Why do I keep getting "Unhandled exception: java.nio.file.NoSuchFileException: ModuleLoader.class" when building NQP on the JVM?
18:02 segomos you need to fix the perl6 that the builder uses to use full paths instead of relative
18:02 segomos if you look in perl6 it will have a bunch ./<path> you need to make them all full paths
18:02 FROGGS Arcterus: no idea... is that nqp up to date?
18:04 FROGGS segomos: really? I never had that issue
18:04 segomos yea i had it on osx last week when i updated the jvm build
18:04 Arcterus FROGGS: yep
18:04 segomos if i was anywhere but directly in the root build path i would get the error Arcterus is describing
18:05 Arcterus segomos: I'll try that and see what happens.
18:06 segomos can you run perl6 from the build path?
18:06 Vipul__ joined #perl6
18:08 arnsholt You probably need to run the installed runner, not rakudo/perl6
18:09 segomos where is the installed runner?
18:09 FROGGS in --prefix /bin
18:09 arnsholt If you have a separate nqp directory, it's in nqp/install/bin
18:09 FROGGS i.e. install/bin
18:09 timotimo (though note that the previous stage0 didn't contain an optimizer AFAICT)
18:10 arnsholt Not entirely sure where it ends up if you have --gen-nqp
18:10 arnsholt Oh, but you can probably find out by running make install again and looking at the commands executed
18:10 Mouq joined #perl6
18:10 dalek rakudo/moar-support: 1c8477f | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
18:10 dalek rakudo/moar-support: Another missing decont.
18:10 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/1c8477f599
18:10 dalek rakudo/moar-support: 5f8398e | jnthn++ | src/vm/moar/ops/perl6_ops.c:
18:10 dalek rakudo/moar-support: Fix the nqp::shiftpfusch.
18:10 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/5f8398e765
18:11 FROGGS *g*
18:11 FROGGS jnthn++
18:11 timotimo jnthn: i suspected i'd have to add roots there. thanks!
18:11 timotimo i'm glad the rest of the code was salvagable :)
18:11 Arcterus segomos: I can run the perl6 runner only on Parrot, it won't build on the JVM.
18:12 jnthn timotimo: Well, the immediate error was 'cus of using List instead of BOOTArray...
18:12 timotimo oh!
18:12 segomos ls
18:12 geekosaur .: No such file or directory
18:13 Arcterus segomos: changing things to absolute paths didn't help.
18:13 segomos if it's not building you're not going to be able to run perl6 on jvm
18:14 FROGGS segomos: you don't say :o)
18:14 timotimo you were giving an absolute path to --prefix for nqp and rakduo?
18:14 Arcterus segomos: I know that :(
18:14 segomos you should figure out why it's not building then, before trying to run it
18:14 Arcterus segomos: I know that, too...
18:15 segomos i misread your first thing /later
18:15 FROGGS segomos: he said that he can't build nqp and that it explodes like: "Unhandled exception: java.nio.file.NoSuchFileException: ModuleLoader.class
18:15 timotimo hm. make a full clean with git clean and everything?
18:15 segomos yea sorry, full of misinformation
18:15 segomos i am^
18:15 timotimo also, perhaps there was an earlier error message that got spammed away by new output?
18:15 FROGGS Arcterus: can you please paste everything from "perl Configure" to the explosion of nqp?
18:16 Arcterus timotimo: yep
18:16 Arcterus FROGGS: sure
18:16 FROGGS Arcterus: just might an old java
18:16 FROGGS 1.7.0_25 is required AFAIK
18:16 dalek ecosystem: 8012678 | jaffa4++ | META.list:
18:16 dalek ecosystem: Update META.list
18:16 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/80126783ef
18:17 * Mouq has 1.7.0_25 and is having trouble building nqp-j…
18:17 FROGGS :/
18:18 Mouq ‘Unhandled exception: java.lang.NoSuchMethodError: org.perl6.nqp.runtime.Ops.printfh(Lorg/perl6/nqp/sixmodel/SixModelObject;Ljava/lang/String;Lorg/perl6/nqp/runtime/ThreadContext;)Ljava/lang/String;’
18:18 FROGGS it does not know about printfh?
18:18 Arcterus FROGGS: I have 1.7.0_45
18:19 FROGGS Arcterus: k
18:21 arnsholt Mouq: I think something is old
18:21 arnsholt I recently updated printfh to return an int rather than a string
18:21 timotimo i remember seeing this get mapped recently
18:21 timotimo mapped or updated i guess
18:21 Mouq I'm on the latest with branch master
18:22 timotimo oh!
18:22 timotimo of course
18:22 arnsholt printfh used to return the string printed, but I changed it to return the number of bytes written to bring it in line with Parrot
18:22 timotimo NQP_REVISION was probably not bumped
18:22 Arcterus FROGGS: the output is at https://ghostbin.com/paste/2rqsg
18:22 timotimo Note: checking out '2013.11'.
18:22 timotimo that would be it.
18:23 Arcterus timotimo: what should it be doing?
18:23 timotimo it's working as intended. but we just didn't update tools/build/NQP_REVISION recently
18:24 timotimo just cd nqp && git checkout master && git pull && perl Configure.pl --prefix=../ --backend=parrot,jvm && make j-install && cd ..
18:25 Mouq timotimo: that's building from Rakudo. I'm just trying to build NQP by itself...
18:25 Arcterus timotimo: trying it now.
18:25 timotimo Mouq: oh, not with --gen-nqp?
18:26 FROGGS --gen-nqp=master would work too
18:26 timotimo oh, of course
18:27 dalek rakudo-star-daily: fcd394f | coke++ | log/ (5 files):
18:27 dalek rakudo-star-daily: today (automated commit)
18:27 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fcd394fbe6
18:27 dalek perl6-roast-data: e135116 | coke++ | p (2 files):
18:27 dalek perl6-roast-data: today (automated commit)
18:27 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e135116c51
18:27 Mouq I'm in my seperately maintained nqp directory, `perl Configure.pl --prefix=/usr/local --backends=jvm`, `make install`
18:28 FROGGS Arcterus: you could try changing these two lines to "ModuleLoader.jar"
18:28 FROGGS /home/froggs/dev/nqp/src/NQP/World.nqp:109:                            :jvm(QAST::SVal.new( :value('ModuleLoader.class') )),
18:28 FROGGS /home/froggs/dev/nqp/src/NQP/World.nqp:136:                        :jvm(QAST::SVal.new( :value('ModuleLoader.class') )),
18:29 Arcterus FROGGS: I did that before and it freaked out because jar files aren't bytecode.
18:29 FROGGS :(
18:29 Arcterus timotimo: still got the same error :(
18:30 berekuk joined #perl6
18:30 dalek rakudo/moar-support: 4da3179 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
18:30 dalek rakudo/moar-support: Implement capture binding.
18:30 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/4da3179c49
18:31 jaffa4 !karna
18:31 jaffa4 !karma
18:32 FROGGS preflex: karma jaffa4
18:32 preflex jaffa4: 5
18:32 perigrin oO
18:32 perigrin I gotta stop confusing preflex and preaction now.
18:33 jaffa4 preflex: karma FROGGS
18:33 preflex FROGGS: 208
18:33 perigrin preflex: karma C
18:33 preflex C: 204174
18:33 jaffa4 preflex: karma jnthn
18:33 preflex jnthn: 4586
18:33 perigrin subject to the same bug :)
18:33 FROGGS preflex: karma Tobias Leich
18:33 preflex Tobias Leich: 301
18:33 jaffa4 karma masak
18:33 jaffa4 preflex: karma masak
18:33 preflex masak: 1029
18:34 jaffa4 preflex: karma moritz
18:34 preflex moritz: 5220
18:35 FROGGS Arcterus: I have no ModuleLoader.class either... see my output if you want to compare https://gist.github.com/FROGGS/b9520036088629076389
18:35 jaffa4 preflex: karma diakopter
18:35 preflex diakopter: 217
18:36 denis_boyun__ joined #perl6
18:37 arcterus joined #perl6
18:39 arcterus FROGGS: thanks
18:39 hoelzro hello #perl6
18:39 FROGGS arcterus: can you keep us posted? it sounds like we really need to fix that
18:40 FROGGS hi hoelzro!
18:40 denis_boyun joined #perl6
18:40 arcterus FROGGS: okay
18:40 FROGGS thank you :o)
18:41 timotimo hey rob :)
18:44 hoelzro ahoy Tobias, Timo!
18:44 jnthn It *may* be that if it fails to find the JAR then it falls back to looking for the .class...
18:45 FROGGS jnthn: but it seems to have built the jar
18:47 jnthn FROGGS: Yeah...wonder if the class path is messed somehow?
18:47 hoelzro is the Perl 6 grammar accesible from a Perl 6 program? I can get the compiler object via nqp::getcomp, but I'm just trying to compile code into an AST
18:47 hoelzro I could write an NQP program to do it, I suppose
18:49 jaffa4 hoelzro: accessible
18:50 arcterus joined #perl6
18:54 hoelzro jaffa4: how so, though?
18:55 dalek nqp: 92d3fb5 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
18:55 dalek nqp: Decont callees.
18:55 dalek nqp: review: https://github.com/perl6/nqp/commit/92d3fb5a2a
19:02 arcterus joined #perl6
19:08 moritz http://blog.guillermowinkler.com/blog/2013/12/01/whats-so-great-about-reducers/ # maybe something we can steal^Wadapt for Perl 6
19:11 sqirrel joined #perl6
19:12 perigrin good artists adap, great artists steal.
19:17 jaffa4 some make something new out of the old.
19:19 xenoterracide joined #perl6
19:19 mschreck joined #perl6
19:19 ruoso std: for 0..8 -> $x { say $x }
19:19 camelia std 3b262af: OUTPUT«ok 00:01 128m␤»
19:20 ruoso r: for 0..8 -> $x { say $x }
19:20 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤»
19:20 ruoso hmm... my local version is failing on this...
19:20 * ruoso looks deeper
19:24 dalek rakudo/moar-support: 51e51aa | jnthn++ | src/vm/moar/ops/perl6_ops.c:
19:24 dalek rakudo/moar-support: Implement missing logic in p6scalarfromdesc.
19:24 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/51e51aa505
19:25 arcterus joined #perl6
19:25 jnthn ruoso: How are you invoking it locally?
19:29 mschreck joined #perl6
19:30 arcterus joined #perl6
19:31 ruoso jnthn: actually it was a  'grep { }, <==' that was pointing the error message to a completely different location
19:32 ruoso speaking of which... is any of the parallelization "hints" referenced by S17 already implemented?
19:33 arcterus FROGGS: the classpath is messed up.  I don't know WHY, but it's looking in GNUstep directories (which aren't even valid).
19:34 FROGGS arcterus: hmmm, nice to know, though I can't help there (I am a jvm n00b)
19:35 arcterus FROGGS: I also noticed that if you use -j8, some of the commands are executed 8 times.
19:35 FROGGS ewww
19:35 timotimo yes, that's right
19:36 timotimo but only copying files around
19:36 FROGGS -j1 might be a good choice then :o)
19:36 arcterus yeah. :)
19:37 moritz moar-support build seems to hang after stage optimize
19:37 timotimo no, it just takes very long, i think
19:38 moritz like, 10 minutes on a fast-ish machine?
19:38 timotimo oh
19:38 timotimo more like 5 :\
19:38 moritz (this is an unoptimized moar)
19:38 timotimo my timings are for unoptimized, too
19:38 timotimo well, that's not so nice :\
19:38 FROGGS jnthn++ said that it hangs
19:39 moritz well, I'll have a bit more patience then
19:39 FROGGS :o)
19:41 moritz Stage mast       : 407.718
19:42 moritz Stage mbc        :   1.692
19:42 moritz Segmentation fault (core dumped)
19:42 timotimo :(
19:42 jnthn Is that at the end of the setting build, or for the next thing?
19:43 moritz end of the setting build
19:43 timotimo it seems like the setting build
19:43 moritz jnthn: should I run it under gdb?
19:44 moritz or valgrind?
19:44 jnthn gdb first, maybe
19:44 timotimo Shortest Job First minimizes turnaround time
19:46 jnthn Trying to work out where the hang is.
19:47 jnthn Somewhere in method open, it seems...
19:48 arcterus joined #perl6
19:50 arcterus FROGGS: it works if you have no CLASSPATH environment variable.
19:50 arcterus it also works if you change the classpath in the runner to .
19:51 FROGGS this contains a dot:
19:51 FROGGS exec java -Xbootclasspath/a:.:nqp-runtime.jar:3rdparty/asm/asm-4.1.jar:3rdparty/jline/jline-1.0.jar:3rdparty/jna/jna.jar:nqp.jar nqp "$@"
19:52 FROGGS is that right? or how must it look like?
19:52 arcterus but it needs to also have -cp .
19:53 moritz for the dev runner?
19:53 arcterus in my environment, apparently yes.
19:54 moritz mine has   -cp .:blib:/home/moritz/p6/rakudo/install/languages/nqp/lib
19:54 moritz which looks pretty much OK
19:56 arcterus that looks fine.
19:57 moritz jnthn: didn't segfault under gdb :/
19:57 arcterus mine didn't have that and then ended up using the contents of my CLASSPATH variable to try and find ModuleLoader
19:57 jnthn moritz: tsssk
19:58 jnthn moritz: valgrind may help...
19:58 Mouq nqp-j built for me, but only after updating from 1.7.0_25 to *_45
19:58 moritz arcterus: no -cp at all?
19:58 denis_boyun__ joined #perl6
19:59 moritz arcterus: that's weird, because create-jvm-runner.pl adds that unconditionally
19:59 arcterus moritz: it had no -cp at all.
19:59 arcterus moritz: I have no idea why mine didn't.
19:59 arcterus Mouq: I already have 1.7.0_45
20:00 moritz arcterus: what's the revision of your rakudo repo?
20:00 Mouq I know. I couldn't build locally
20:00 Mouq Maybe we should update the Configure.pl JVM version requirement?
20:02 moritz Mouq: I'm not sure if it's that simple
20:02 moritz Mouq: that seems to be an openjdk-only problem
20:03 Mouq …I use Oracle JDK
20:04 moritz oh, wat?
20:04 moritz that's the first time I've heard that :-)
20:05 Mouq Although, maybe I was on whatever JDK OSX 10.9 has by default
20:07 arcterus_ joined #perl6
20:08 berekuk joined #perl6
20:09 arcterus_ moritz: b7546e2564e (sized-arrays)
20:09 moritz valgrind does make stuff sgnificantly slower :(
20:09 timotimo arcterus_: i appreciate your work on sized arrays :)
20:10 timotimo being kind of a cellular automaton afficionado :)
20:10 arcterus_ timotimo: thanks :)
20:11 moritz arcterus_: huh, b7546e2564e:tools/build/create-jvm-runner.pl does look like it should include a -cp in the command line
20:12 arcterus_ moritz: for nqp-j or perl6-j?
20:12 moritz arcterus_: perl6-j
20:13 arcterus_ moritz: oh, maybe i wasn't clear.
20:13 arcterus_ the problem is nqp-j
20:13 arcterus_ the one that is used while building nqp itself.
20:14 moritz arcterus_: the sized-array NPQ revision requirement is 2013.11, and nqp at 2013.11 also includes -cp unconditionally
20:18 arcterus_ moritz: what creates it?
20:19 arcterus_ nevermind, i found it
20:20 arcterus_ there's no -cp in src/vm/jvm/runners/nqp-j
20:21 moritz eeks, that's not even a generated file
20:21 moritz well, that makes it easier to fix
20:22 timotimo yeah, just rm it
20:22 arcterus_ yep
20:22 moritz huh?
20:22 moritz it's *not* generated
20:23 arcterus_ i was agreeing with you
20:23 moritz ok
20:23 * moritz confused
20:23 timotimo nqp: say(nqp::defined(nqp::getlexdyn('$*foobar')))
20:23 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
20:23 arcterus_ timotimo: if you remove it, the build will fail no matter what.
20:24 timotimo no, we have our own generator script.
20:24 timotimo i'm pretty sure that file is stale
20:24 arcterus_ not for that file
20:24 timotimo what does gi tthink of it?
20:24 timotimo huh?
20:24 timotimo weird.
20:24 moritz git says I last touched it durin gthe build system refactoring
20:25 timotimo huh
20:25 timotimo nqp::defor is defined-or, right?
20:26 Mouq the wonderful docs say as much
20:26 timotimo nqp: my %foo; say(nqp::defor(%foo<bar>, "hi"));
20:26 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«hi␤»
20:26 Mouq although it says "defor(Block $cond, Block $body)"
20:27 timotimo yeah, that's all right
20:27 moritz because // in p6 thunks
20:27 timotimo yup
20:27 timotimo my $*LEVEL := nqp::defor(nqp::getlexdyn('$*LEVEL'), nqp::defor(%adverbs<optimize>, 2));  # does that seem sensible?
20:28 moritz no
20:28 moritz because the first arg isn't a callable
20:28 timotimo oh
20:28 moritz nqp: say(NQPMu // 42)
20:28 timotimo interesting
20:28 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«42␤»
20:28 timotimo ah, nqp has that!
20:28 timotimo cool
20:29 colomon r: sub foo(Num $n where 0..1) { say $n; }; foo(10.0)
20:29 camelia rakudo-jvm 874e35: OUTPUT«Nominal type check failed for parameter '$n'␤  in block  at /tmp/c_VOmEvVTJ:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤  in any com…»
20:29 camelia ..rakudo-parrot 874e35: OUTPUT«Nominal type check failed for parameter '$n'; expected Num but got Rat instead␤  in sub foo at /tmp/DI5aJJLL9s:1␤  in block  at /tmp/DI5aJJLL9s:1␤  in any  at /tmp/DI5aJJLL9s:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at gen…»
20:29 colomon r: sub foo(Num $n where 0..1) { say $n; }; foo(10.0.Num)
20:29 camelia rakudo-jvm 874e35: OUTPUT«Constraint type check failed for parameter '$n'␤  in block  at /tmp/D3D49bubtA:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤  in any …»
20:29 camelia ..rakudo-parrot 874e35: OUTPUT«Constraint type check failed for parameter '$n'␤  in sub foo at /tmp/p7CZXsDdzV:1␤  in block  at /tmp/p7CZXsDdzV:1␤  in any  at /tmp/p7CZXsDdzV:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at gen/parrot/stage2/NQPHLL.nqp:1133…»
20:29 timotimo you may want Real instead of Num there?
20:30 colomon timotimo: I'm actually exploring what happens with these.
20:30 timotimo OK
20:30 colomon trying to understand why tests are failing in IO::Prompter
20:33 colomon r: say (-> Num $n where 0..1 { say $n; };).signature.params[0].constraints
20:33 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«all(Block.new())␤»
20:33 arcterus joined #perl6
20:33 colomon r: say (-> Num $n where 0..1 { say $n; };).signature.params[0].perl
20:33 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Num $n␤»
20:34 colomon r: say ((-> Num $n where 0..1 { say $n; };).signature.params[0].constraints)(0.5)
20:34 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«all(True)␤»
20:34 colomon r: say ((-> Num $n where 0..1 { say $n; };).signature.params[0].constraints)(1.5)
20:34 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«all(False)␤»
20:34 * colomon continues being awed by TheDamian++
20:34 timotimo now i don't know which optimisations to put onto what level /
20:34 timotimo :/
20:35 colomon r: subset Coefficient of Num where 0..1; say ((-> Coefficient $n { say $n; };).signature.params[0].constraints)(1.5)
20:35 camelia rakudo-jvm 874e35: OUTPUT«Can not invoke this object␤  in method postcircumfix:<( )> at gen/jvm/CORE.setting:3143␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/jmitLjXKmO:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/N…»
20:35 camelia ..rakudo-parrot 874e35: OUTPUT«invoke() not implemented in class 'Coefficient'␤  in method postcircumfix:<( )> at gen/parrot/CORE.setting:3154␤  in any  at gen/parrot/BOOTSTRAP.nqp:1687␤  in any  at gen/parrot/BOOTSTRAP.nqp:1669␤  in block  at /tmp/S_u_ghWFUO:1␤  in any  at …»
20:35 timotimo i think you want to .ACCEPTS that
20:36 colomon hmmm
20:37 colomon r: subset Coefficient of Num where 0..1; say 1.5 ~~ ((-> Coefficient $n { say $n; };).signature.params[0].constraints)
20:37 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
20:37 colomon r: subset Coefficient of Num where 0..1; say .5 ~~ ((-> Coefficient $n { say $n; };).signature.params[0].constraints)
20:37 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
20:37 colomon r: subset Coefficient of Num where 0..1; say .5.Num ~~ ((-> Coefficient $n { say $n; };).signature.params[0].constraints)
20:37 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
20:37 colomon interesting
20:38 Mouq r: say Rat ~~ Num
20:38 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
20:38 Mouq r: say Rat ~~ Numeric
20:38 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
20:38 Mouq r: say Rat ~~ Real
20:38 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
20:38 colomon yeah, IO::Prompter doesn't know about Rat at all.  Which probably means it needs a bit of a redesign
20:41 Mouq r: my Rat $a = 4.1; $a *= $a for ^4; say $a
20:41 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«6375903091.4653054346432641␤»
20:41 Mouq r: my Rat $a = 4.1; $a *= $a for ^5; say $a
20:41 camelia rakudo-jvm 874e35: OUTPUT«Type check failed in assignment to '$a'; expected 'Rat' but got 'Num'␤  in block  at gen/jvm/CORE.setting:16209␤  in block  at /tmp/mWdfdnnSOC:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ …»
20:41 camelia ..rakudo-parrot 874e35: OUTPUT«Type check failed in assignment to '$a'; expected 'Rat' but got 'Num'␤  in block  at gen/parrot/CORE.setting:16487␤  in block  at /tmp/kcURzIOvl0:1␤  in any  at /tmp/kcURzIOvl0:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at g…»
20:45 arcterus joined #perl6
20:51 dagurval r: my @a = ^512; my %b = @a; my %c = eval %b.perl;
20:51 camelia rakudo-parrot 874e35: ( no output )
20:51 camelia ..rakudo-jvm 874e35: OUTPUT«java.lang.IllegalArgumentException: bad parameter count 259␤  in block  at eval_0:1␤  in sub eval at gen/jvm/CORE.setting:684␤  in block  at /tmp/fnn_oBNu8V:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQP…»
20:51 dagurval known rakudo-j bug?
20:52 lue hello world o/
20:52 mschreck joined #perl6
20:55 timotimo r: my @a = ^64; my %b = @a; eval %b.perl;
20:55 * lue now sees how lizmat felt when stuff was mercilessly ripped out of S17 :)
20:55 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
20:55 timotimo r: my @a = ^128; my %b = @a; eval %b.perl;
20:55 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
20:55 timotimo r: my @a = ^256; my %b = @a; eval %b.perl;
20:55 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
20:55 timotimo r: my @a = ^260; my %b = @a; eval %b.perl;
20:55 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
20:55 timotimo r: my @a = ^300; my %b = @a; eval %b.perl;
20:56 BenGoldberg joined #perl6
20:56 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
20:56 jnthn Potentially hitting the JVM "number of arguments" restriction...
20:56 masak December 2nd blog post draft: https://gist.github.com/masak/7740667
20:56 jnthn Not much I can do about that.
20:56 timotimo mhm
20:56 jnthn If that's what it is.
20:56 masak please review.
20:56 masak lue: hellue!
20:56 rurban2 joined #perl6
20:57 masak lue: today I (1) found your excellent Unicode post, kudos, and (2) reverted a bunch of commits you'd made on S32/Temporal.pod
20:57 lue "it claims that Duration is based on Instants, and then immediately starts talking about :years in the constructor." <-- masak: you do know I changed "Duration" to "Interval" because TimToady had this issue last night, right?
20:58 * lue was surprised yesterday to see how much traffic his old-ish Unicode post had gotten :)
20:59 masak lue: yes I saw the rename.
20:59 dagurval jnthn: do you think I should submit a bug?
20:59 masak lue: even being named Interval, the class has grave conceptual problems.
20:59 masak lue: your Unicode post made Hacker News.
20:59 lue masak: I'll agree that perhaps making additions like this to S32::Temporal was not the best idea (I thought as much last night making the changes).
21:00 amkrankruleuen joined #perl6
21:00 lue (I saw the all the referrals to hackernews :D)
21:00 amkrankruleuen joined #perl6
21:00 jnthn dagurval: You can submit it, so we can at least verify that we're hitting what I think we are...
21:00 masak lue: something like Duration/Interval has been discussed before. the end result was that we spec'd and implemented .delta on Date and DateTime.
21:01 masak .delta doesn't have any of the conceptual problems Duration/Interval has.
21:01 arnsholt jnthn: Well, if 255 arguments turns out to be too few, we can always indirect it and pass a single array
21:01 nwc10 jnthn: which "number of arguments" restriction? It doesn't surprise me that it has that sort of thing, but I don't remmeber  anything being specifically said
21:02 lue I do though think that expanding what P6 allows as a ISO-8601 timestamp is a good idea ("why I can't I do 20120105 ‽"), and a more human-friendly counterpart to Duration, like Date(Time) is to Instant.
21:02 arnsholt 4 million should be enough for everyone (tm)
21:02 Mouq masak: do you want to point out, e.g., sub check(Dog:T $d) { ... }
21:02 arnsholt nwc10: I just googled it. Apparently 255 arguments is the maximum
21:02 jnthn nwc10: I seem to remember reading it somwehere...
21:02 dagurval jnthn: ok, I will. This bug only triggers when I use "=>" in a hash, but not with ","
21:03 lue That "human-friendly" counterpart stuff came to mind after trying to make P<blah> durations do something though :) .
21:03 dalek joined #perl6
21:03 Mouq masak: I could see bringing that in as being too much for one post, but it's something I expected to see when I first started reading
21:07 masak Mouq: hmm, good point.
21:07 masak yes, I can definitely throw that in.
21:09 mschreck joined #perl6
21:10 lue I want to write a P6 module that access information in Unicode data files, but my mind is /still/ on TimToady's "ICU replacement" comment, and I can't help but think that doing it P6-land would be rendered redundant anyhow.
21:11 moritz lue: right, rather do it in $backend land, and expose it to p6
21:12 denisboyun joined #perl6
21:14 lue Yeah, my mind's worried that a 700-line actions+grammar+data requestor methods would someday be reduced to a single "string".getuni-info();  :)
21:15 cognominal joined #perl6
21:15 geekosaur that is probably inevitable anyway
21:16 masak ok, I've *scheduled* the blog post for tomorrow at 00:02.
21:16 masak do I need to do anything else?
21:16 masak the status of the post is still "Draft", but there are only two choices, "Draft" and "Pending Review".
21:17 masak somehow "Pending Review" doesn't feel right either.
21:17 masak so I'm hoping scheduling it is enough.
21:17 lue masak: I recall scheduling my posts, but not messing with its status. That might help a bit.
21:17 moritz masak: if you selected a time and "post"ed it, it should work
21:23 masak ok, good.
21:23 masak aww, :T isn't implemented yet in Rakudo. :/
21:24 lue masak: I don't quite see how .delta is a substitute for a humanistic Duration object. Of course, this is probably the "hey, now wait just a minute!" part of my brain valiantly defending what I did last night :) .
21:24 moritz masak: I think that rakudo's :D is what the specs now call :T
21:24 moritz r: class A { method defined { False } }; sub f(A:D) { }; f(A.new)
21:24 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: ( no output )
21:25 moritz yes, it checks DEFINITE, not .defined
21:27 masak moritz: no, :T is meant to check for type objects, that is, a narrower form of :U
21:28 moritz erm, right
21:28 masak so :D is more like :!T
21:28 moritz r: class A { method defined { False } }; sub f(A:U) { }; f(A.new)
21:28 camelia rakudo-jvm 874e35: ( no output )
21:28 camelia ..rakudo-parrot 874e35: OUTPUT«Parameter '' requires a type object, but an object instance was passed␤  in sub f at /tmp/IvZ1gIolVU:1␤  in block  at /tmp/IvZ1gIolVU:1␤  in any  at /tmp/IvZ1gIolVU:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at gen/parrot/st…»
21:28 masak lue: yeah, we can discuss the conceptual problems some other time.
21:28 moritz masak: :U is what :T is supposed to do
21:28 masak lue: for now, please meditate over the backlog linked from my revert.
21:29 masak moritz: I'll mention that in the post.
21:29 masak Mouq: I've mentioned :D et al near the end of the draft: https://gist.github.com/masak/7740667
21:31 * lue considers going for Level 3 Idea Proposal™ for time stuff --- a blog post!
21:37 masak oh, there's a bit "Schedule" button that needs to be pressed, too. fortunately I saw it.
21:37 masak big*
21:38 denisboyun joined #perl6
21:38 masak ok, done.
21:39 nwc10 and now bed?
21:40 jnthn hm, and now beer for me, I think... :)
21:40 preflex jnthn: you have 3 new messages. '/msg preflex messages' to read them.
21:41 dalek rakudo/moar-support: ef5e241 | jnthn++ | src/vm/moar/ops/ (3 files):
21:41 dalek rakudo/moar-support: Implement p6recont_ro.
21:41 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/ef5e241687
21:43 masak nwc10: just gotta cast a quick glance at tomorrow's $course material... ;)
21:44 denisboyun joined #perl6
21:45 nwc10 hangon, you said beer and *then* pushed something
21:45 * nwc10 restarts build
21:45 raydiak http://pastebin.com/nUHndUYL # this looks like something that ought to be reported, yes?
21:47 jnthn raydiak: That looks like a bug, yes
21:48 raydiak jnthn: I'm not sure what I did to trigger it...is there enough information in the error for you guys to work it out, or should I track down the failure point first so I can report specifically what causes it?
21:49 FROGGS no, that backtrace could be anything
21:49 jnthn raydiak: I suspect I can't easily figure how to reproduce it from just the backtrace...
21:49 masak 'night, #perl6
21:50 jnthn raydiak: So if you're able to track it down further, that'd be helpful
21:51 raydiak no problem, I suppose I have to track it down sooner or later either way :)  thanks guys
21:53 Mouq masak: cool
21:53 Mouq masak: 'night
22:00 * raydiak considers a rakudo daemon a la fastcgi to cope with the half-minute-plus jvm startup times
22:01 timotimo we already have that
22:01 raydiak oh, how do I use it?
22:01 raydiak b/c this is killing me :)
22:01 timotimo it's called the evalserver and there's an evalclient.pl somewhere
22:02 FROGGS spectesting works that way
22:03 raydiak ah, found it
22:06 dalek rakudo/moar-support: c060fa4 | jnthn++ | src/vm/moar/ops/perl6_ops.c:
22:06 dalek rakudo/moar-support: Implement p6routinereturn.
22:06 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/c060fa4121
22:09 timotimo wow, now we can return from routines! :)
22:10 jnthn And we can nearly set $PROCESS::IN... :P
22:10 FROGGS *g*
22:10 FROGGS jnthn++
22:10 FROGGS that bloody line!
22:11 dalek nqp: f40f115 | Arcterus++ | src/vm/jvm/runners/nqp-j (2 files):
22:11 dalek nqp: Let nqp-j work even if CLASSPATH is set
22:11 dalek nqp: review: https://github.com/perl6/nqp/commit/f40f1159f7
22:11 dalek nqp: 8569fab | (Tobias Leich)++ | src/vm/jvm/runners/nqp-j (2 files):
22:11 dalek nqp: Merge pull request #149 from Arcterus/master
22:11 dalek nqp:
22:11 dalek nqp: Let nqp-j work even if CLASSPATH is set
22:11 dalek nqp: review: https://github.com/perl6/nqp/commit/8569fabd30
22:18 dalek rakudo/sized-arrays: d70ff61 | Arcterus++ | src/Perl6/Actions.nqp:
22:18 dalek rakudo/sized-arrays: Fix regression and slight optimization
22:18 dalek rakudo/sized-arrays: review: https://github.com/rakudo/rakudo/commit/d70ff615b9
22:18 dalek rakudo/sized-arrays: 562bc9d | (Tobias Leich)++ | src/Perl6/Actions.nqp:
22:18 dalek rakudo/sized-arrays: Merge pull request #231 from Arcterus/sized-arrays
22:18 dalek rakudo/sized-arrays:
22:18 dalek rakudo/sized-arrays: Fix regression and slight optimization
22:18 dalek rakudo/sized-arrays: review: https://github.com/rakudo/rakudo/commit/562bc9d4fb
22:20 lue Hey look, a rough gist form of what I planned or did with S32::Temporal!        https://gist.github.com/lue/7741574
22:25 tipdbmp joined #perl6
22:27 tipdbmp How can I get rid of: "Passing an object candidate to Mu.bless is deprecated  in method bless at src\gen\CORE.setting:797", I'm just using it to constructor parameters required: "has $.attry is rw; method new(:$attry!) { self.bless(*, :$attry); }"
22:28 lue tipdbmp: try  self.bless(:$attry);  instead
22:28 jnthn Get rid fo the *
22:29 tipdbmp Okay, that worked. Thank you.
22:35 retupmoca who was asking about DateTime::TimeZone earlier?
22:35 retupmoca colomon maybe?
22:35 retupmoca anyway, DateTime::TimeZone should build now
22:40 lue preflex: tell masak https://gist.github.com/lue/7741574 has the same Temporal stuff, but in a less sensitive location :)
22:40 preflex Consider it noted.
22:42 timotimo jnthn: do you think someone could work on jvm interop method calling without the wordy java method syntax?
22:42 timotimo i'd like to do a bit of stuff with SWT
22:43 timotimo well, ideally i'd do something with qt, but that's not an option i don't think :(
22:47 SevenWolf joined #perl6
22:50 jnthn timotimo: It "just" needs generating a dispatcher that can differentiate the candidates by shrotname...
22:50 jnthn *shortname
22:54 woolfy joined #perl6
23:08 zakharyas joined #perl6
23:11 * lizmat actually perused Oxford Street
23:11 jnthn o/ lizmat
23:11 lizmat jnthn o/
23:12 jnthn Hope you had a nice time there.
23:19 lue Am I right in thinking that NQP, not the vm, is where libicu usage comes in? At least, MoarVM doesn't seem to use ICU at this time.
23:20 [Sno] joined #perl6
23:23 Mouq lue: AFAIK MoarVM doesn't plan to use the ICU
23:23 lue Mouq: makes sense. What are they planning then, do you know?
23:24 Mouq I thought Unicode stuff was already in MoarVM…
23:24 Mouq But I don't really know
23:25 jnthn Yeah, we take the Unicode DB and bundle it.
23:25 jnthn In a nicely compressed kinda way
23:25 lue Mouq: there is, so it's just an integrated component then.
23:25 jnthn diakopter++ worked on it
23:26 lizmat joined #perl6
23:26 Mouq jnthn: Is NFG implemented? …Even though it's not spec'd?
23:26 lue Which means me writing an ICU replacement isn't necessary. I could just focus on an S15 draft when I get to it ☺
23:26 jnthn Mouq: No, though there's a branch with some work on it. We've got strings arranged to support NFG.
23:27 Mouq jnthn: Some work is much better than none
23:32 lue huh. Reading some oooold 2009 discussion, is ord("one grapheme in NFG form") supposed to return a funny non-codepoint integer?
23:34 lizmat I guess that follows from the logic of NFG
23:36 lue Feels weird at first, but thinking about it, it starts to make sense. I could go along with codepoints being low-level enough to require ord("stuff" :codes) by default.
23:36 lizmat as long as you can go the other way as well
23:37 lizmat r: say "a".ord.chr
23:37 camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«a␤»
23:37 lue I don't see why chr(ord("NFG numbers-ify")) wouldn't be a cancel-each-other-out situation.
23:38 woolfy left #perl6
23:38 timotimo jnthn: could you elaborate more on how that dispatcher would look? can i see some example code where i can, for example, look at the available methods and their type signatures? the dispatcher will probably get the name and the given capture and can then look at the given types or something like that?
23:38 lue See http://grokbase.com/t/perl/perl6-language/095hrhk66a/unicode-in-nfg-formation#20090518mc5fdp6drq4y4iz3im6flwiole for what TimToady felt at the time about what it means when you use chr/ord
23:38 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=20090518
23:39 lue (to the surprise of no-one, there isn't a bug #20090518)
23:39 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=20090518
23:39 Mouq I never quite understood: would the mapping of graphemes without Unicode codepoints to NFG codepoints be something based solely on the characters that make up the grapheme or would the codepoints be generated as they're encountered in a program?
23:39 jnthn timotimo: Well, see RakudoJavaInterop.java and the class it inherits from
23:40 jnthn timotimo: tbh, if it were me doing it, I'd start out just handling the cases where the variation was in arity.
23:40 lue Mouq: my initial guess "as we go along", though there might be some stable numbers issue.
23:40 jnthn timotimo: And then after that work on types.
23:40 lue (If there were a programmatic way to generate a unique NFG number based on the codepoints involved...)
23:41 timotimo ah, just looking at arity would eliminate a good chunk of things to do?
23:41 timotimo and all others could still be done with the ."foo/bar/baz" form
23:41 jnthn timotimo: It'd be a part-of-the-way solution
23:42 jnthn timotimo: I think once you've nailed that you'd be able to see how to get the rest of the way
23:42 Mouq lue: my first thought would be something related to primes
23:42 jnthn timotimo: But it gives a more tractable starting task.
23:42 timotimo also, a part-of-the-way-but-still-usable-and-shippable :)
23:42 timotimo yes, i like that :)
23:42 * lue wonders how many codepoints are in the grapheme requiring the most number of them...
23:44 jnthn timotimo: To be honest, I suspect it's tricky/fiddly/annoying more than it is outright hard.
23:44 lue Mouq: there's always "random number, who cares about inter-process communication?" but that's both !-Ofun (to design, that is) and suboptimal anyway :)
23:44 jnthn timotimo: Good thing to know: you can compile rakudo-runtime.jar without re-compiling everything else.
23:44 jnthn timotimo: That should give you a much faster development time ;)
23:45 timotimo i like that
23:46 timotimo i'll probably have a look tomorow, rather than now
23:47 jnthn aye
23:47 jnthn I've put aside the latest weird problem in Rakudo on Moar for the day too...
23:47 timotimo aaw :)
23:47 timotimo i'd've loved to be surprised by progress when i've arrived home :P
23:48 jnthn Well, this seems to be something involving closure serialization, which means "hard" :)
23:48 lue jnthn: which MoarVM branch holds that preliminary NFG work?
23:51 jnthn lue: That's...an interesting question.
23:51 lue :)
23:51 lue .oO(Perhaps the branch turned itself into a single integer.)

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

Perl 6 | Reference Documentation | Rakudo