»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 FROGGS left 00:10 xinming left 00:11 xinming joined 00:17 xinming left, xinming joined 00:22 xinming left, rurban1 joined, xinming joined 00:23 Arcterus joined 00:27 xinming left, xinming joined 00:28 xenoterracide_ left 00:30 xenoterracide_ joined 00:32 xinming left, xinming joined 00:37 xenoterracide_ left 00:38 Arcterus left 00:57 silug joined 01:09 Arcterus joined 01:10 nnunley joined 01:25 ssutch left 01:27 xenoterracide_ joined 01:33 BenGoldberg left 01:34 BenGoldberg joined 01:39 colomon left 01:41 colomon joined, BenGoldberg left 01:43 BenGoldberg joined 01:46 Mouq left 01:51 Rotwang left 02:02 raiph joined 02:06 xenoterracide_ left 02:09 tgt left 02:24 ssutch joined 02:35 berekuk left 02:39 Arcterus left
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:42
how did i not notice this before?
02:43 xinming left 02:44 xinming joined 02:48 Arcterus joined 02:49 xinming left 02:50 xinming joined 02:55 xinming left, xinming joined
timotimo oh yay, nqp on my branch now passes the S05 rakudo spectests 02:57
forcepush! because dalek isn't here to get kicked for it :) 02:59
02:59 xinming left 03:00 xinming joined
timotimo wow, looking for an "e" is about 10x faster than looking for a <[e]> 03:02
oh, huh, it doesn't turn <[e]> into a charrange 03:04
but finding one-entry-char-classes and turning them into literals is totally not a worthwhile optimization
03:05 xinming left, xinming joined 03:10 Arcterus1 joined, xinming left, Arcterus left, xinming joined 03:15 xinming left 03:16 xinming joined
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)␤»
..nqp-moarvm: OUTPUT«Confused at line 2, near "my ($a, $b"␤panic␤»
..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…»
timotimo ah 03:17
03:20 Arcterus1 left
timotimo Stage parse : 102.369 - it was never this fast before! (recently at least) 03:23
03:25 xenoterracide_ joined 03:29 xinming left, xinming joined 03:30 ssutch left, xenoterracide_ left 03:34 xinming left, xinming joined 03:39 xinming left
timotimo yay, .*? will now turn into a scan :D 03:39
it can be much, much faster :)
03:39 xinming joined
timotimo runs a spectest 03:40
03:44 xinming left, Arcterus joined, xinming joined
timotimo yays 03:54
03:54 xinming left 03:55 xinming joined, ggoebel110 joined 03:58 berekuk joined 03:59 xinming left 04:00 xinming joined 04:03 xenoterracide_ joined 04:05 xinming left 04:06 xinming joined, ggoebel110 left
timotimo ah, i broke something, like expected :( 04:06
04:09 berekuk left 04:10 rurban left, berekuk joined 04:11 rurban joined 04:12 xinming left
timotimo i don't know exactly what makes cclass match and scan not match ... hum. 04:16
well, it makes a whole lot of sense
so how do i get it to capture :P
04:17 xinming joined
timotimo hum. i *could* check if i'm at the first position and do the same thing <( does 04:18
it may be enough to put an empty !LITERAL there 04:19
04:20 berekuk left 04:21 xinming left, berekuk joined 04:23 xinming joined 04:26 rurban1 left, atroxaper joined 04:27 raiph left 04:29 xinming left
timotimo nope. i'm not sure how to get this to properly work 04:29
04:29 xinming joined 04:30 Arcterus left
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
$!from*
04:32 berekuk left
timotimo but i don't know exactly which rules capture and i dont want to figure it out 04:32
04:37 xenoterracide_ is now known as xenoterracide 04:44 ssutch joined 04:45 berekuk joined 04:52 xinming left, xinming joined 04:54 preflex_ joined, ChanServ sets mode: +v preflex_ 04:55 atroxaper left, berekuk left 04:56 preflex left, preflex_ is now known as preflex, atroxaper joined, Arcterus joined 04:58 xinming left 05:00 xinming joined
segomos bitcoil.co.il/pool_analysis.pdfhtt...alysis.pdf 05:02
oops sorry 05:03
05:04 xinming left 05:05 xinming joined 05:06 Arcterus left 05:10 xinming left, xinming joined 05:16 xinming left, xinming joined 05:21 xinming left 05:22 xinming joined 05:26 xinming left 05:27 xinming joined 05:32 xinming left 05:33 xinming joined 05:35 atroxaper left 05:36 atroxaper joined 05:37 xinming left 05:38 xinming joined, logie joined 05:42 xinming left 05:43 xinming joined 05:49 xinming left 05:50 xinming joined 05:54 xinming left 05:55 xinming joined 05:56 atroxaper left 05:57 logie left
TimToady lue: we cannot use Duration both for civil time and for Instant - Instant 06:04
06:04 Arcterus joined
TimToady the definition of Duration in S02 is always an exact number of seconds, without slop like "one month" 06:05
we'll need to rename one or the other type
we could rename the well-behaved type Seconds, if the isofolk claim Duration 06:08
geekosaur Period?
lue TimToady: to be fair, they call it an interval. I can change the name if you'd like.
TimToady well, we call intervals Range, so I guess you could have interval :) 06:09
lue 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
and it fits the language: "after an interval of 3 months"
lue TimToady: should you or I? (I've got a few minutes)
TimToady be my guest
06:11 atroxaper joined
TimToady thanks for the dalek emulation :) 06:11
06:12 Arcterus left
lue I did that because I figured it was kinda a big change to ::Temporal. I think I was right there :) 06:13
TimToady :D 06:15
timotimo you're the dalek now, dog!
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:19 xenoterracide left
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:21
lue will probably be doing a Temporal post for advent this year thanks to this :) 06:22
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 06:30 Entonian left 06:36 xinming left 06:37 xinming joined 06:50 SamuraiJack__ joined 06:57 BenGoldberg left 06:58 xinming left 06:59 xinming joined, MAA2D60 joined 07:02 atroxaper left, atroxaper joined 07:04 xinming left, darutoko joined, xinming joined 07:06 atroxaper left, atroxaper joined 07:11 xinming left, xinming joined 07:16 xinming left 07:17 xinming joined 07:23 xinming left
bonsaikitten hrm. the 2013.11 release of rakudo has become quite a bit dumber in figuring out how to build itself 07:23
07:23 xinming joined
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
not just nqp i think?
07:28 xinming left, xinming joined 07:37 xinming left, xinming joined 07:40 ssutch left, Arcterus joined 07:42 xinming left, xinming joined
nwc10 timotimo: turned out that turning one entry char classes into literals *was* a useful optimisation for the perl 5 regex engine. 07:52
timotimo how often do people do that?!? 07:53
also, when did that turn out?
nwc10 I forget exactly the details, but I think that it was partly that there was a style of writing /\./ as /[.]/ instead
bonsaikitten timotimo: by setting --backend that is kinda explicit
nwc10 (and I guess a bunch of other things that are metacharacters normally, but not in []/
bonsaikitten timotimo: so there would be no need to guess where npq-p hides when I already said --backend=parrot
timotimo i think at some point we decided against having a nqp symlink? but i may be misremembering
07:54 Arcterus left
nwc10 but it was an optimiation after about 10 years of optimising other things 07:55
timotimo wow
but it seems so simple!
07:57 xinming left 07:58 xinming joined 08:05 Arcterus joined 08:10 ssutch joined, logie joined 08:13 nnunley left 08:15 FROGGS joined 08:16 logie left 08:21 xinming left 08:22 xinming joined 08:34 xinming left, xinming joined 08:35 Arcterus left, kivutar joined 08:38 ssutch left 08:40 Arcterus joined, xinming left 08:41 xinming joined 08:47 spider-mario joined 08:56 xinming left, xinming joined 08:59 Mouq joined 09:21 Rotwang joined 09:26 denis_boyun joined 09:40 berekuk joined 09:44 berekuk left 09:57 SamuraiJack__ left 09:58 xinming left 10:02 kaare_ joined, xinming joined 10:05 carlin joined
FROGGS moritz: do we wanna put that on the calender? froggs.de/perl6/CIMG0070.JPG 10:10
masak nice. 10:15
too bad it isn't one of the recent Camelia ones.
moritz FROGGS: +1 10:20
FROGGS masak: yeah, I don't have one of those :o) 10:21
10:26 xinming left 10:29 xinming joined
carlin rakudo: role bar { }; module Foo { multi trait_auxiliary:<is>(bar $trait, $container, $arg) is export { } } 10:31
camelia rakudo-jvm 874e35: OUTPUT«(timeout)»
..rakudo-parrot 874e35: OUTPUT«===SORRY!=== Error while compiling /tmp/37SjecTc0w␤Cannot add tokens of category 'trait_auxiliary'␤at /tmp/37SjecTc0w:1␤------> module Foo { multi trait_auxiliary:<is>⏏(bar $trait, $container, $arg) is export…»
10:34 Mouq left
carlin rakudo: role bar { }; module Foo { multi trait_mod:<is>(bar $trait, $container, $arg) is export { } } 10:34
camelia ( no output ) 10:35
carlin so trait_auxiliary is now trait_mod?
FROGGS seems like
(I never heard of trait_auxiliary)
masak FROGGS: I have one of those, but not a Christmas tree. :) 10:41
we have... a bit of a scheduling challenge, trying to fill 2013-12-04 .. 2013-12-08 in real time. 10:42
I would strongly suggest trying to find volunteers today, as much as possible.
10:43 SevenWolf left
carlin ah, seems trait_auxiliary went away in 2009 :-) github.com/perl6/specs/commit/0484...32e412L356 10:48
carlin is only a few years out of touch
10:48 FROGGS[mobile] left
masak is scouring the synopses for things to write about 10:49
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:50
masak carlin: that definitely looks fossil-y. 10:52
TimToady: ping ^
FROGGS masak: I can try to write my posts as early as possible so that they can be posted next week or so
moritz ftfy 10:53
10:54 rindolf joined
FROGGS ftfy? 10:54
moritz fixed that for you 10:55
(the trait_auxilliary thingy)
10:55 wooden left
masak moritz: thanks. 10:55
FROGGS ahh, k
masak attention all channel denizens!
it is the month of December!
all rejoice!
also, please sign up for Advent Calendar posts!
your contribution is much appreciated!
FROGGS btw, if all goes well, we could have sized arrays and loop labels in the next changelog (besides other awesome things) 10:56
10:57 dalek joined, ChanServ sets mode: +v dalek
FROGGS dalek: \o/ 10:57
moritz fetch_url: failure fetching trac.parrot.org/parrot/timeline?ti...ormat=rss: 500 Can't connect to trac.parrot.org:443 (certificate verify failed) 10:58
masak FROGGS: sized arrays! \o/ 11:02
FROGGS: loop labels! \o/
FROGGS :o) 11:03
I am smoking Arcterus's PR atm
dalek : 599b7ca | (Carl Mäsak)++ | misc/perl6advent-2013/schedule:
picked a topic for 2013-12-22

Gonna write about different operator types
11:05
masak I've now picked (preliminary) topics for each of my slots, by skimming through the synopses for topics.
funny thing: I got halfway through S03... :)
so I bet there are lots more things to write about. 11:06
lue++ # rdstar.wordpress.com/2013/07/22/so...in-perl-6/ 11:11
(hadn't seen it until it got posted on HN)
moritz www.reddit.com/r/programming/commen...bout_perl/ # p6advent submitted to reddit 11:12
masak and you already have a comment on the first advent post :) 11:21
11:31 jaffa4 joined
jaffa4 hi all 11:31
masak hi jaffa4 11:32
FROGGS hi jaffa4
jaffa4 I stumbled into some weird regex thing.
FROGGS that sounds interesting :o) 11:33
jaffa4 r: my $key = "parcel 2_end"; if $key ~~ /parcel \d+/ { say "****"}
camelia ( no output )
jaffa4 Can you explain that?
11:33 berekuk joined
FROGGS r: my $key = "parcel2_end"; if $key ~~ /parcel \d+/ { say "****"} 11:34
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«****␤»
FROGGS :P
r: my $key = "parcel2_end"; if $key ~~ /:s parcel \d+/ { say "****"}
camelia ( no output )
FROGGS r: my $key = "parcel 2_end"; if $key ~~ /:s parcel \d+/ { say "****"}
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«****␤»
FROGGS jaffa4: if you want to match whitespace you must say so 11:35
jaffa4 yes, yes
FROGGS sized arrays seem to work: github.com/rakudo/rakudo/pull/230 11:38
(at least it does not seem to break anything anymore)
11:43 xinming left 11:44 xinming joined 11:45 [Sno] joined
jaffa4 FROGGS: you talk very carefully 11:53
11:56 woolfy joined
dalek ecs: d7ae51e | Carlin++ | S14-roles-and-parametric-types.pod:
typo; being introduce --> being introduced
12:01
jaffa4 What is this ++? What is the significance? 12:07
12:07 beastd joined
FROGGS jaffa4: that is karma 12:08
jaffa4 So what if you have high karma?| 12:09
12:09 denis_boyun left
FROGGS then you are a good hacker :o) 12:10
colomon r: say +"Hello"
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.…»
..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…»
colomon r: say +"1Hello"
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␤ …»
..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…»
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?
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
The test :must({'be greater than 0' => {$_ > 0} }) used to work fine if you passed it "Hello" -- the value was presumably 0 12:13
now it's a fatal error.
and I cannot think of an obvious simple fix.
FROGGS :/ 12:14
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:15
FROGGS well, you can always try/CATCH 12:16
colomon :\ 12:17
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
jaffa4: so it's pretty serious stuff, that's what I'm saying.
jaffa4++ # :)
jaffa4 jaffa4: I am sure it is as you say it.
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
masak waves from a train 12:22
jaffa4 that was a typo.
How can I see this karma thing? 12:23
masak it varies from time to time. 12:24
sometimes we have bots in here that keep count and reveal karma counts when asked.
but, interestingly, that's not really the point.
the point is that we have some way of marking appreciation, a bit like quantified compliments. 12:25
jaffa4 so thanks your for contribution is not good enough? 12:26
masak oh, it's very good, too.
I guess karma is the same, really, but it has a bit of an in-group thing to it. 12:27
lizmat has her eyes open, but is not yet awake 12:28
masak good not-yet-morning, lizmat ++! \o 12:30
gah, slow train connection typo.
lizmat masak o/
masak lizmat++
lizmat perl6advent.wordpress.com doesn't seem to work for me 12:31
could be flaky hotel connectivity
seems it is, appears ok on 3G connection 12:32
masak lizmat: re github.com/perl6/specs/commit/0f9d...a48a3fe2b: is it true that Whatever map is going away in favor of 'lazy loop { ... }', and can we change it already?
12:33 berekuk left
lizmat I haven't backlogged much the past week, so I'm the wrong person to ask 12:33
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 :/
but it seems to me that Whatever map has immediate, obvious design problems.
instead of restating them, allow me to find the relevant backlog. 12:35
irclog.perlgeek.de/perl6/2013-11-28#i_7928055 and irclog.perlgeek.de/perl6/2013-11-28#i_7928075 12:36
jaffa4 Where are lizmat? 12:37
lizmat London, UK at the moment 12:38
masak nice!
LPW, I suppose.
lizmat well, the aftermath of it, yeah
masak how was it? 12:39
jaffa4 masak: about talking to self.. see this sfhelp.org/gwc/IF/ifs.htm
lizmat it was a good day filled with Perl 5 talks
with some agreeable pre and post socials
masak specifically, how was zefram's talk? 12:40
lizmat as always, awesome
masak it seemed Parrot/NQP-related.
lizmat I don't know lisp that intimately
it only had very little to do with Parrot
but more with lisp with a twist
rather than having everything being data, everything in zefram's lixp (yes, with an x) is executable 12:41
if I got the gist of it right :-) 12:42
masak jaffa4: that link seems... very intricate. thank you. ;)
lizmat that it was done on Parrot, was really secondary
12:42 spider-mario left
masak ok. 12:42
lizmat apart from running into some of Parrot's ideosyncracies 12:43
masak no doubt.
lizmat (parrot-training-wheels-off)
fixed some of that :-)
(aka arbitrary recursion limit of 1000)
masak lue: re Duration -- no no no no... :/
lue: not without a deep discussion first about not repeating the mistakes of CPAN's DateTime::Duration. 12:44
which I may or may not have missed due to not backlogging properly.
lizmat moritz: I will write something about Sets/Bags, but not before Wed
masak lue: the .delta method was basically added instead of Duration because it was less prone to wacky behavior. 12:45
12:45 rindolf left
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.
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.
so tell me, how many seconds long is a year?
what about a month?
lizmat and is October 3600 seconds shorter or longer than normal ? 12:49
masak right, all those things.
lue: your effort is much appreciated, but you are fighting *serious* unknown unknowns here.
lue: (as are most of us when it comes to DateTime) 12:50
masak reverts
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␤»
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!"␤»
colomon FROGGS: yup. that was another change IO::Prompter needed. ;)
12:53 woolfy left
FROGGS it does not warn when you pass "unknown" named args 12:53
colomon do normal methods?
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!"␤»
FROGGS no
lizmat is off for some Baker Street perusing&
colomon guess not.
dalek ecs: ebab048 | masak++ | S32-setting-library/Temporal.pod:
Revert two commits related to Duration

Serious conceptual problems here, see
  irclog.perlgeek.de/perl6/2013-12-01#i_7938521
for discussion.
This reverts commit 1735a4652b3885a13ce14c654af2a5b90c915bd0. This reverts commit c32379ef139b153bc380557935f87b09310cb98a.
12:57 dayangkun joined
dalek ecs: b414bc8 | masak++ | S32-setting-library/Temporal.pod:
Revert "[S32::Temporal] Expand valid ISO 8601 formats."

ISO 8601 is a good thing, but that does not mean *all* of it is a good thing. Specifiacally, allowing week specifications in the DateTime core will make the logic even more complicated than it already is, with extremely little benefit.
This reverts commit 97c5bc4e47b819b640fc5f815b861d753ed8aa9c.
13:00
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
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.
timotimo o/
masak greetings, timotimo 13:02
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:06
FROGGS masak: we might want to invite Dave Rolsky some day to that channel :o) 13:07
13:10 dayangkun left
masak he has weighed in on p6l at least once, IIRC. 13:10
jaffa4 lizmat: what is the weather like in London? 13:14
timotimo is there a reliable way to tell if a piece of Regex QAST will cause a match to happen? 13:15
FROGGS timotimo: there should be a pass, no?= 13:20
timotimo ah, that's not helpful; i'm trying to find out where the match starts 13:21
or rather: is this part of the regex already after whatever initially sets $!from
also i realize i'll have to look at it from the other end as well 13:25
13:28 spider-mario joined 13:33 denis_boyun joined
colomon new build failure in DateTime::TimeZone. 13:33
13:36 ggoebel110 joined 13:38 denis_boyun left 13:39 denis_boyun joined 13:44 colomon left 13:51 daxim left 13:57 colomon joined
moritz lizmat++ # typos in advent post fixed 14:02
14:11 thien joined 14:15 tgt joined 14:17 colomon left 14:20 colomon joined 14:30 mschreck joined 14:33 wooden joined 14:34 ggoebel110 left
jnthn afternoon o/ 14:35
moritz \o
14:36 mschreck left 14:37 mschreck joined
timotimo Result: PASS \o/ 14:37
14:38 mschreck left 14:39 mschreck joined 14:48 ajr joined, ajr is now known as Guest62096 14:49 Guest62096 is now known as ajr_ 14:57 raiph joined 14:58 thien left 14:59 thien joined 15:00 mschreck left
timotimo <?before <ident> > ­... is this supposed to generate a scan? 15:00
15:00 mschreck joined
timotimo r: say "1234 1234 foobar" ~~ /:s \d+ <?before <ident> > \d+/ 15:01
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Nil␤»
moritz timotimo: <?before> and <ident> are both implicitly anchored, so no scanning 15:02
timotimo: the only thing that emits an rxtype<scan> is the start of a regex
timotimo good.
15:02 thien left
timotimo getting rid of that scan may actually be a worthwhile investment 15:02
moritz which scan? :-) 15:04
timotimo the one that is put before the <ident> in this case 15:05
ah, wait, but that won't actually do any scanning at all, unlike scan + BOS anchor
never mind then
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.
first i'll see if i can fix the errors, then i can get back to optimizering :)
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:22
15:25 synopsebot joined
masak synopsebot! \o/ 15:26
timotimo ohai synopsebot o/
masak synopsebot: S01:215! :)
synopsebot masak: Link: perlcabal.org/syn/S01.html#line_215
moritz who synopsed the bot?
masak tadzik, lookslike.
timotimo may play some frozen synopse soon
tadzik :) 15:27
nwc10 good UGT violation, jnthn :-)
tadzik synopsebot: botsnack! 15:29
oh, he doesn't know that :(
15:29 synopsebot left, Alina-malina left 15:30 synopsebot joined, Alina-malina joined
tadzik synopsebot: botsnack! 15:30
pffft
moritz wow, 450 view on the advent calendar today 15:31
15:31 FROGGS[mobile] joined
moritz and the day isn't even over :-) 15:32
nwc10 I can haz Christmas? 15:33
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
FROGGS[mobile] Has somebody a link? 15:35
colomon who is up for tomorrow on the advent calendar? 15:36
timotimo www.youtube.com/watch?v=DzpSREpLJY8
tadzik masak
according to github.com/perl6/mu/blob/master/mi...3/schedule
15:36 SamuraiJack__ joined
timotimo i don't understand why this fixes it, but it does 15:39
FROGGS timotimo: thank you 15:40
masak yes, I'm up for tomorrow. 15:41
expet a draft in a couple hours.
expect*
people who haven't volunteered for the Advent Calendar yet should consider helping fill the hole in 4th-to-8th. 15:42
jnthn nwc10: I was awake since well before 9, just not at keyboard ;) 15:46
masak aka "halp, we need people who write stuff!"
jnthn: that's what they all say. :P
jnthn masak: No fair, you know what I was doing even :P
timotimo: Yes, I have some tuits now, and quite a few tomorrow/Tue to wok on indy stuff 15:47
uh, work :) 15:48
wokking doesn't sound like a bad idea, though... :)
colomon dunno about indy wokking 15:49
timotimo \o/
i imagine it involves curry
colomon never cooks with curry 15:50
oh, indy, I see. ;)
jnthn colomon: huh, the curry powder is one of the things that goes fastest in my kitchen... :) 15:52
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
jnthn timotimo: In P6Regex, the poscaps
timotimo positional captures? 15:54
jnthn Yeah
timotimo i'll have a look, thanks
colomon nwc10: surely there are many different kinds of curry? I've learned enough about it to know that.
15:55 Rotwang left, nnunley joined
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.
colomon: ooh, nice things :)
I use the koriander quite a bit too... :)
colomon my wife hates koriander, so there's none in the house. 15:57
so, if I have two multis: 15:58
prompt (&block, :$in = $*IN, :$out = $*OUT)
and
15:58 Psyche^_ joined
colomon prompt (slew of named arguments, *%unexpected_options, *@prompt) 15:58
how does dispatch handle it? I'm getting really really confused trying to sort out the dispatch errors in IO::Prompter 15:59
(which may actually represent some sort of bug, because
jnthn Named parameters are treated constraint-y, so you're into "first match" semantics.
colomon prompt("Age", :integer, :in($stub), :out($stub))
works but 16:00
prompt("Age:", :integer, :default(42), :in($stub), :out($stub))
doesn't)
afk # "Daddy, you've got to rebuild Pirate Pig Attack for me!" 16:01
16:02 Psyche^ left
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!"
moritz moritz.faui2k3.org/tmp/nougat-schoko.jpg # result from today's baking adventure
colomon moritz++! 16:05
timotimo that looks delicious 16:06
moritz timotimo: it is :-)
timotimo: wanna come visit? :-)
colomon jnthn: order of named arguments is irrelevant, right?
jnthn colomon: Yes
colomon prompt("Color", :in($stub), :out($stub)) # works 16:07
prompt("Color:", :default("Chartreuse"), :in($stub), :out($stub)) # works
prompt("Age", :integer, :in($stub), :out($stub)) # works
prompt("Age:", :integer, :default(42), :in($stub), :out($stub)) # doesn't work
timotimo moritz: some day for sure :) 16:08
colomon does anything jump out there to people?
16:09 ggoebel110 joined
colomon oh! 16:09
it's :default(42), because Str :d(:$default)
not a dispatch bug at all. 16:10
\o/
timotimo oh!
you want Cool :)
moritz wants to be Cool also
colomon I think "as Str" is what is actually wanted
(errr, is that the right syntax? And it isn't implemented yet, is it?)
timotimo yes and yes 16:11
the other syntax is something like Str(Cool) 16:12
or the other way around.
moritz r: sub f($x as Str) { say $x.^name }; f 42
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Str␤»
timotimo oh! 16:13
sweet :)
moritz dude!
timotimo .o( i should really watch that movie some time ) 16:14
colomon \o/
16:14 telex left
colomon and that works. 16:14
timotimo has a prototype for removing scans from the beginning of positional and named captures
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:15
16:16 telex joined
japhb__ colomon: Can you take advantage of the fact that Str.Numeric errors are Failures instead of Exceptions? 16:19
colomon …. maybe?
japhb__ Meaning, is the code structured so that you can check .defined or ~~ Failure or somesuch and not blow up?
timotimo still not under 100 seconds in stage parse, though ...
Str.?Numeric? 16:20
jnthn timotimo: I'd not imagine you'd get a speed win out of what...
timotimo r: say "hello".?Numeric
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.…»
..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…»
jnthn timotimo: It's mostly code size.
timotimo jnthn: well, this is the whole optimizer branch i'm testing :)
jnthn timotimo: ah, ok
japhb__ r: say (+"hello").defined 16:21
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
japhb__ r: say (+"hello") ~~ Failure
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
colomon r: say ("hello" > 0) ~~ Failure
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…»
..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 …»
colomon r: say ((+"hello" // 0) > 0) ~~ Failure 16:22
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
colomon r: say (+"hello" // 0) > 0
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
colomon guess that's the most straightforward translation
japhb__ Yeah, agreed
FROGGS is it supposed to turn into 0?
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
unless I misunderstood ...
colomon right
FROGGS colomon: what about NaN then?
japhb__ r: say (+"NaN") > 0 16:24
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
colomon … sure, I guess. It's not particularly important which value it has, I guess.
japhb__ wonders if Failure.Numeric ought to be NaN 16:25
colomon understanding Damian++'s code is not the easiest thing in the world.
japhb__ I guess it's best if that throws
Sometimes reading TheDamian's code is like reading the output of dictionary-based compression
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:29
like $input = %build_opt<default> // $input if $input eq ""; 16:30
does he just mean $input ||= %build_opt<default> ?
16:30 wooden left
colomon is rakudo debugger working at the moment? 16:31
FROGGS I think so 16:32
jnthn isn't aware of any bustage there 16:33
16:33 rurban1 joined
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:33
16:35 rindolf joined
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:36
16:39 cxreg2 joined, Rotwang joined 16:44 cxreg left
dalek p: d423302 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Fix bad regex code-gen assumptions.

It relied on the attribute auto-viv in P6opaque being NYI, and thus breaks on implementing it.
16:45
p: 6304e7f | jnthn++ | src/vm/moar/stage0/ (11 files):
Update bootstrap for MoarVM.

Needed since stage0 was busted with regard to the attr-viv changes.
16:46 mtk left
colomon r: say "Hello" ~~ / <$sign>? <$digits> / 16:46
16:46 ajr_ left
camelia rakudo-jvm 874e35: OUTPUT«===SORRY!=== Error while compiling /tmp/OWMh24Wxdg␤Variable '$digits' is not declared␤at /tmp/OWMh24Wxdg:1␤------> say "Hello" ~~ / <$sign>? <$digits> /⏏<EOL>␤ expecting any of:␤ postfix␤» 16:46
..rakudo-parrot 874e35: OUTPUT«===SORRY!=== Error while compiling /tmp/jCjnBh4_pa␤Variable '$digits' is not declared␤at /tmp/jCjnBh4_pa:1␤------> say "Hello" ~~ / <$sign>? <$digits> /⏏<EOL>␤ expecting any of:␤ postfix␤»
16:47 ajr joined, ajr is now known as Guest50336 16:48 Guest50336 is now known as ajr_
colomon r: say "Hello" ~~ / <[+\-]>? \d+: / 16:49
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«Nil␤»
colomon r: say "Hello" !~~ / <[+\-]>? \d+: /
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
colomon :\
16:50 mtk joined
colomon r: say "Hello" !~~ /^ \h* <[+\-]>? \d+: \h* $/ 16:51
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
colomon ohg! 16:53
got it. 16:54
japhb__ r: say so "0" 16:56
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
japhb__ colomon: ^^ The reason for the default contortion you saw
colomon the problem was the code was calculating the retval before validating to see if it actually had an integer.
japhb__++ 16:57
japhb__ yup, that'd do it
colomon okay, I've got all of one test file working now. 16:58
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
jnthn timotimo: Yeah, it's tricky, 'cus you need a new cursor. 17:05
timotimo yeah :( 17:06
jnthn timotimo: And you need to be able to restart the cursor.
17:06 atroxaper left
jnthn timotimo: It'd be a real nasty thing to try and do. 17:06
timotimo mhm 17:07
so maybe next year
jnthn Or maybe we just make things fast enough otherwise that we don't worry over this :)
timotimo sure, i'd like that :)
nwc10 just make sure (1) you can turn the optimisations off 17:08
(2) you don't inadvertently make it hard to use a regular expression as a file record separator
dalek p: 74a6ccb | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
A couple more missing deconts.

Shown up by Rakudo work.
timotimo how would i do (2)?
nwc10 (ie have no way to disable optmisations that assume that the end of the "string" is known)
timotimo oh, that's something to keep in mind, aye. 17:09
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.
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 :)
japhb__ jnthn: The question is whether optimizations are actually following that path
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
timotimo i will work that in before merging it into master.
japhb__ ++timotimo
jnthn japhb__: Well, the ones I put in do. ;) 17:14
japhb__ :-)
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.
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.
anyway, I look forward to playing with their working code. 17:18
timotimo ooooh sick burn ;) 17:20
rjbs Hm, I apparently don't have a detectable Java 1.7 at the moment. :-/ 17:22
nwc10 rjbs: on your laptop?
rjbs right
nwc10 hasn't even tried, as you have to do some tricks to get 1.7 onto Snow Leopard
arnsholt I just downloaded the latest JDK on my work machine and stuck it in my $HOME
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!
rjbs nwc10: I'll just use macports.
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 Arcterus left, Mouq joined, Arcterus joined
rjbs but first, general macports upgrade, while lunch is eaten 17:23
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
brew got it work for me fwiw
dalek p: 2418645 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
defined should decont also.
17:27
17:33 Arcterus1 joined, Arcterus left
timotimo the size of parrot's stage0 actually increased by 110 bytes 17:39
17:39 Arcterus joined, Arcterus1 left 17:40 Mouq left, Mouq joined 17:42 ajr_ left 17:46 ajr joined, ajr is now known as Guest98224, Guest98224 is now known as ajr_ 17:48 raiph left 17:55 Mouq left 17:56 Mouq joined 17:59 Arcterus left, Arcterus joined
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
if you look in perl6 it will have a bunch ./<path> you need to make them all full paths
FROGGS Arcterus: no idea... is that nqp up to date?
segomos: really? I never had that issue 18:04
segomos yea i had it on osx last week when i updated the jvm build
Arcterus FROGGS: yep
segomos if i was anywhere but directly in the root build path i would get the error Arcterus is describing
Arcterus segomos: I'll try that and see what happens. 18:05
segomos can you run perl6 from the build path? 18:06
18:06 Vipul__ joined
arnsholt You probably need to run the installed runner, not rakudo/perl6 18:08
segomos where is the installed runner? 18:09
FROGGS in --prefix /bin
arnsholt If you have a separate nqp directory, it's in nqp/install/bin
FROGGS i.e. install/bin
timotimo (though note that the previous stage0 didn't contain an optimizer AFAICT)
arnsholt Not entirely sure where it ends up if you have --gen-nqp 18:10
18:10 Mouq left
arnsholt Oh, but you can probably find out by running make install again and looking at the commands executed 18:10
18:10 Mouq joined
dalek kudo/moar-support: 1c8477f | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Another missing decont.
18:10
kudo/moar-support: 5f8398e | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Fix the nqp::shiftpfusch.
FROGGS *g* 18:11
jnthn++
timotimo jnthn: i suspected i'd have to add roots there. thanks!
i'm glad the rest of the code was salvagable :)
Arcterus segomos: I can run the perl6 runner only on Parrot, it won't build on the JVM.
jnthn timotimo: Well, the immediate error was 'cus of using List instead of BOOTArray... 18:12
timotimo oh!
segomos ls
geekosaur .: No such file or directory
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
FROGGS segomos: you don't say :o) 18:14
timotimo you were giving an absolute path to --prefix for nqp and rakduo?
Arcterus segomos: I know that :(
segomos you should figure out why it's not building then, before trying to run it
Arcterus segomos: I know that, too...
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
timotimo hm. make a full clean with git clean and everything?
segomos yea sorry, full of misinformation
i am^
timotimo also, perhaps there was an earlier error message that got spammed away by new output?
FROGGS Arcterus: can you please paste everything from "perl Configure" to the explosion of nqp?
Arcterus timotimo: yep 18:16
FROGGS: sure
FROGGS Arcterus: just might an old java
1.7.0_25 is required AFAIK
dalek osystem: 8012678 | jaffa4++ | META.list:
Update META.list
Mouq has 1.7.0_25 and is having trouble building nqp-j… 18:17
FROGGS :/
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?
Arcterus FROGGS: I have 1.7.0_45
FROGGS Arcterus: k 18:19
arnsholt Mouq: I think something is old 18:21
I recently updated printfh to return an int rather than a string
timotimo i remember seeing this get mapped recently
mapped or updated i guess
Mouq I'm on the latest with branch master
timotimo oh! 18:22
of course
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
timotimo NQP_REVISION was probably not bumped
Arcterus FROGGS: the output is at ghostbin.com/paste/2rqsg
timotimo Note: checking out '2013.11'.
that would be it.
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
just cd nqp && git checkout master && git pull && perl Configure.pl --prefix=../ --backend=parrot,jvm && make j-install && cd .. 18:24
Mouq timotimo: that's building from Rakudo. I'm just trying to build NQP by itself... 18:25
Arcterus timotimo: trying it now.
timotimo Mouq: oh, not with --gen-nqp? 18:26
FROGGS --gen-nqp=master would work too
timotimo oh, of course
dalek kudo-star-daily: fcd394f | coke++ | log/ (5 files):
today (automated commit)
18:27
rl6-roast-data: e135116 | coke++ | p (2 files):
today (automated commit)
Mouq I'm in my seperately maintained nqp directory, `perl Configure.pl --prefix=/usr/local --backends=jvm`, `make install`
FROGGS Arcterus: you could try changing these two lines to "ModuleLoader.jar" 18:28
/home/froggs/dev/nqp/src/NQP/World.nqp:109: :jvm(QAST::SVal.new( :value('ModuleLoader.class') )),
/home/froggs/dev/nqp/src/NQP/World.nqp:136: :jvm(QAST::SVal.new( :value('ModuleLoader.class') )),
Arcterus FROGGS: I did that before and it freaked out because jar files aren't bytecode. 18:29
FROGGS :(
Arcterus timotimo: still got the same error :(
18:30 ajr_ left, berekuk joined
dalek kudo/moar-support: 4da3179 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Implement capture binding.
18:30
jaffa4 !karna 18:31
!karma
FROGGS preflex: karma jaffa4 18:32
preflex jaffa4: 5
perigrin oO
I gotta stop confusing preflex and preaction now.
jaffa4 preflex: karma FROGGS 18:33
preflex FROGGS: 208
perigrin preflex: karma C
preflex C: 204174
jaffa4 preflex: karma jnthn
preflex jnthn: 4586
perigrin subject to the same bug :)
FROGGS preflex: karma Tobias Leich
preflex Tobias Leich: 301
jaffa4 karma masak
preflex: karma masak
preflex masak: 1029
jaffa4 preflex: karma moritz 18:34
preflex moritz: 5220
FROGGS Arcterus: I have no ModuleLoader.class either... see my output if you want to compare gist.github.com/FROGGS/b9520036088629076389 18:35
jaffa4 preflex: karma diakopter
preflex diakopter: 217
18:36 Arcterus left, denis_boyun__ joined 18:37 denis_boyun left, arcterus joined, darutoko left 18:38 denis_boyun__ left
arcterus FROGGS: thanks 18:39
hoelzro hello #perl6
FROGGS arcterus: can you keep us posted? it sounds like we really need to fix that
hi hoelzro! 18:40
18:40 denis_boyun joined
arcterus FROGGS: okay 18:40
FROGGS thank you :o)
timotimo hey rob :) 18:41
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...
FROGGS jnthn: but it seems to have built the jar 18:45
18:46 arcterus left
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
I could write an NQP program to do it, I suppose
jaffa4 hoelzro: accessible 18:49
18:50 arcterus joined, Vipul__ left 18:53 arcterus left
hoelzro jaffa4: how so, though? 18:54
dalek p: 92d3fb5 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Decont callees.
18:55
19:02 arcterus joined 19:07 arcterus left
moritz blog.guillermowinkler.com/blog/2013...-reducers/ # maybe something we can steal^Wadapt for Perl 6 19:08
19:10 hummeleB1 left 19:11 sqirrel joined
perigrin good artists adap, great artists steal. 19:12
jaffa4 some make something new out of the old. 19:17
19:18 mschreck left 19:19 xenoterracide joined, mschreck joined
ruoso std: for 0..8 -> $x { say $x } 19:19
camelia std 3b262af: OUTPUT«ok 00:01 128m␤»
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␤»
ruoso hmm... my local version is failing on this...
ruoso looks deeper
dalek kudo/moar-support: 51e51aa | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Implement missing logic in p6scalarfromdesc.
19:24
19:25 arcterus joined
jnthn ruoso: How are you invoking it locally? 19:25
19:27 mschreck left 19:28 arcterus left 19:29 mschreck joined 19:30 arcterus joined
ruoso jnthn: actually it was a 'grep { }, <==' that was pointing the error message to a completely different location 19:31
speaking of which... is any of the parallelization "hints" referenced by S17 already implemented? 19:32
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:33
FROGGS arcterus: hmmm, nice to know, though I can't help there (I am a jvm n00b) 19:34
arcterus FROGGS: I also noticed that if you use -j8, some of the commands are executed 8 times. 19:35
FROGGS ewww
timotimo yes, that's right
but only copying files around 19:36
FROGGS -j1 might be a good choice then :o)
arcterus yeah. :)
moritz moar-support build seems to hang after stage optimize 19:37
timotimo no, it just takes very long, i think
moritz like, 10 minutes on a fast-ish machine? 19:38
timotimo oh
more like 5 :\
moritz (this is an unoptimized moar)
timotimo my timings are for unoptimized, too
well, that's not so nice :\
FROGGS jnthn++ said that it hangs
moritz well, I'll have a bit more patience then 19:39
FROGGS :o)
moritz Stage mast : 407.718 19:41
Stage mbc : 1.692 19:42
Segmentation fault (core dumped)
timotimo :(
19:42 sqirrel left
jnthn Is that at the end of the setting build, or for the next thing? 19:42
moritz end of the setting build 19:43
timotimo it seems like the setting build
moritz jnthn: should I run it under gdb?
or valgrind? 19:44
jnthn gdb first, maybe
timotimo Shortest Job First minimizes turnaround time
19:46 arcterus left
jnthn Trying to work out where the hang is. 19:46
Somewhere in method open, it seems... 19:47
19:48 arcterus joined
arcterus FROGGS: it works if you have no CLASSPATH environment variable. 19:50
it also works if you change the classpath in the runner to .
FROGGS this contains a dot: 19:51
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 "$@"
is that right? or how must it look like? 19:52
arcterus but it needs to also have -cp .
moritz for the dev runner? 19:53
19:53 sahadev left
arcterus in my environment, apparently yes. 19:53
moritz mine has -cp .:blib:/home/moritz/p6/rakudo/install/languages/nqp/lib 19:54
which looks pretty much OK
arcterus that looks fine. 19:56
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
jnthn moritz: tsssk
moritz: valgrind may help... 19:58
Mouq nqp-j built for me, but only after updating from 1.7.0_25 to *_45
moritz arcterus: no -cp at all?
19:58 denis_boyun__ joined
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 denis_boyun left
arcterus moritz: I have no idea why mine didn't. 19:59
Mouq: I already have 1.7.0_45
moritz arcterus: what's the revision of your rakudo repo? 20:00
Mouq I know. I couldn't build locally
Maybe we should update the Configure.pl JVM version requirement?
moritz Mouq: I'm not sure if it's that simple 20:02
Mouq: that seems to be an openjdk-only problem
Mouq …I use Oracle JDK 20:03
moritz oh, wat? 20:04
that's the first time I've heard that :-)
Mouq Although, maybe I was on whatever JDK OSX 10.9 has by default 20:05
20:05 berekuk left 20:07 arcterus_ joined, arcterus left 20:08 berekuk joined
arcterus_ moritz: b7546e2564e (sized-arrays) 20:09
moritz valgrind does make stuff sgnificantly slower :(
timotimo arcterus_: i appreciate your work on sized arrays :)
being kind of a cellular automaton afficionado :) 20:10
arcterus_ timotimo: thanks :)
moritz arcterus_: huh, b7546e2564e:tools/build/create-jvm-runner.pl does look like it should include a -cp in the command line 20:11
arcterus_ moritz: for nqp-j or perl6-j? 20:12
moritz arcterus_: perl6-j
arcterus_ moritz: oh, maybe i wasn't clear. 20:13
the problem is nqp-j
the one that is used while building nqp itself.
moritz arcterus_: the sized-array NPQ revision requirement is 2013.11, and nqp at 2013.11 also includes -cp unconditionally 20:14
20:15 rindolf left
arcterus_ moritz: what creates it? 20:18
nevermind, i found it 20:19
there's no -cp in src/vm/jvm/runners/nqp-j 20:20
moritz eeks, that's not even a generated file 20:21
well, that makes it easier to fix
timotimo yeah, just rm it 20:22
arcterus_ yep
moritz huh?
it's *not* generated
arcterus_ i was agreeing with you 20:23
moritz ok
moritz confused
timotimo nqp: say(nqp::defined(nqp::getlexdyn('$*foobar')))
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
arcterus_ timotimo: if you remove it, the build will fail no matter what.
timotimo no, we have our own generator script. 20:24
i'm pretty sure that file is stale
arcterus_ not for that file
timotimo what does gi tthink of it?
huh?
weird.
moritz git says I last touched it durin gthe build system refactoring
timotimo huh 20:25
nqp::defor is defined-or, right?
Mouq the wonderful docs say as much 20:26
timotimo nqp: my %foo; say(nqp::defor(%foo<bar>, "hi"));
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«hi␤»
Mouq although it says "defor(Block $cond, Block $body)"
timotimo yeah, that's all right 20:27
moritz because // in p6 thunks
timotimo yup
my $*LEVEL := nqp::defor(nqp::getlexdyn('$*LEVEL'), nqp::defor(%adverbs<optimize>, 2)); # does that seem sensible?
moritz no 20:28
because the first arg isn't a callable
timotimo oh
moritz nqp: say(NQPMu // 42)
timotimo interesting
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«42␤»
timotimo ah, nqp has that!
cool 20:29
colomon r: sub foo(Num $n where 0..1) { say $n; }; foo(10.0)
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…»
..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…»
colomon r: sub foo(Num $n where 0..1) { say $n; }; foo(10.0.Num)
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 …»
..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…»
timotimo you may want Real instead of Num there?
colomon timotimo: I'm actually exploring what happens with these. 20:30
timotimo OK
colomon trying to understand why tests are failing in IO::Prompter
20:32 arcterus_ left
colomon r: say (-> Num $n where 0..1 { say $n; };).signature.params[0].constraints 20:33
20:33 SamuraiJack__ left
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«all(Block.new())␤» 20:33
20:33 arcterus joined
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␤»
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)␤»
colomon r: say ((-> Num $n where 0..1 { say $n; };).signature.params[0].constraints)(1.5)
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«all(False)␤»
colomon continues being awed by TheDamian++
timotimo now i don't know which optimisations to put onto what level /
:/ 20:35
colomon r: subset Coefficient of Num where 0..1; say ((-> Coefficient $n { say $n; };).signature.params[0].constraints)(1.5)
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…»
..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 …»
timotimo i think you want to .ACCEPTS that
colomon hmmm 20:36
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␤»
colomon r: subset Coefficient of Num where 0..1; say .5 ~~ ((-> Coefficient $n { say $n; };).signature.params[0].constraints)
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
colomon r: subset Coefficient of Num where 0..1; say .5.Num ~~ ((-> Coefficient $n { say $n; };).signature.params[0].constraints)
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
colomon interesting
Mouq r: say Rat ~~ Num 20:38
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«False␤»
Mouq r: say Rat ~~ Numeric
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
Mouq r: say Rat ~~ Real
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«True␤»
colomon yeah, IO::Prompter doesn't know about Rat at all. Which probably means it needs a bit of a redesign
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␤»
Mouq r: my Rat $a = 4.1; $a *= $a for ^5; say $a
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␤ …»
..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 left, arcterus joined 20:47 markov left
dagurval r: my @a = ^512; my %b = @a; my %c = eval %b.perl; 20:51
20:51 mschreck left
camelia ( no output ) 20:51
..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…»
dagurval known rakudo-j bug?
lue hello world o/ 20:52
20:52 mschreck joined
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 :)
camelia ( no output )
timotimo r: my @a = ^128; my %b = @a; eval %b.perl;
camelia ( no output )
timotimo r: my @a = ^256; my %b = @a; eval %b.perl;
camelia ( no output )
timotimo r: my @a = ^260; my %b = @a; eval %b.perl;
camelia ( no output )
timotimo r: my @a = ^300; my %b = @a; eval %b.perl;
20:56 BenGoldberg joined
camelia ( no output ) 20:56
jnthn Potentially hitting the JVM "number of arguments" restriction...
masak December 2nd blog post draft: gist.github.com/masak/7740667
jnthn Not much I can do about that.
timotimo mhm
jnthn If that's what it is.
masak please review.
lue: hellue!
20:56 rurban2 joined
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?
lue was surprised yesterday to see how much traffic his old-ish Unicode post had gotten :) 20:58
20:58 rurban1 left
masak lue: yes I saw the rename. 20:59
dagurval jnthn: do you think I should submit a bug?
masak lue: even being named Interval, the class has grave conceptual problems.
lue: your Unicode post made Hacker News.
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
lue (I saw the all the referrals to hackernews :D) 21:00
21:00 amkrankruleuen left, amkrankruleuen joined
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.
.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
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
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)
Mouq masak: do you want to point out, e.g., sub check(Dog:T $d) { ... }
arnsholt nwc10: I just googled it. Apparently 255 arguments is the maximum
jnthn nwc10: I seem to remember reading it somwehere...
dagurval jnthn: ok, I will. This bug only triggers when I use "=>" in a hash, but not with ","
21:02 dalek left
lue That "human-friendly" counterpart stuff came to mind after trying to make P<blah> durations do something though :) . 21:03
21:03 dalek joined, ChanServ sets mode: +v dalek
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:03
masak Mouq: hmm, good point. 21:07
yes, I can definitely throw that in.
21:08 mschreck left, carlin left 21:09 kurak0t left, mschreck joined
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:10
moritz lue: right, rather do it in $backend land, and expose it to p6 21:11
21:12 denisboyun joined, denis_boyun__ left
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:14
21:15 cognominal left, cognominal joined
geekosaur that is probably inevitable anyway 21:15
masak ok, I've *scheduled* the blog post for tomorrow at 00:02. 21:16
do I need to do anything else?
the status of the post is still "Draft", but there are only two choices, "Draft" and "Pending Review".
somehow "Pending Review" doesn't feel right either. 21:17
so I'm hoping scheduling it is enough.
lue masak: I recall scheduling my posts, but not messing with its status. That might help a bit.
moritz masak: if you selected a time and "post"ed it, it should work
masak ok, good. 21:23
aww, :T isn't implemented yet in Rakudo. :/
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
r: class A { method defined { False } }; sub f(A:D) { }; f(A.new)
camelia ( no output )
moritz yes, it checks DEFINITE, not .defined 21:25
masak moritz: no, :T is meant to check for type objects, that is, a narrower form of :U 21:27
moritz erm, right 21:28
masak so :D is more like :!T
moritz r: class A { method defined { False } }; sub f(A:U) { }; f(A.new)
camelia ( no output )
..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…»
masak lue: yeah, we can discuss the conceptual problems some other time.
moritz masak: :U is what :T is supposed to do
masak lue: for now, please meditate over the backlog linked from my revert.
moritz: I'll mention that in the post. 21:29
Mouq: I've mentioned :D et al near the end of the draft: gist.github.com/masak/7740667
lue considers going for Level 3 Idea Proposal™ for time stuff --- a blog post! 21:31
21:35 denisboyun left
masak oh, there's a bit "Schedule" button that needs to be pressed, too. fortunately I saw it. 21:37
big*
21:38 denisboyun joined
masak ok, done. 21:38
nwc10 and now bed? 21:39
jnthn hm, and now beer for me, I think... :) 21:40
preflex jnthn: you have 3 new messages. '/msg preflex messages' to read them.
dalek kudo/moar-support: ef5e241 | jnthn++ | src/vm/moar/ops/ (3 files):
Implement p6recont_ro.
21:41
masak nwc10: just gotta cast a quick glance at tomorrow's $course material... ;) 21:43
21:43 denisboyun left 21:44 denisboyun joined
nwc10 hangon, you said beer and *then* pushed something 21:45
nwc10 restarts build
raydiak pastebin.com/nUHndUYL # this looks like something that ought to be reported, yes?
jnthn raydiak: That looks like a bug, yes 21:47
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:48
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...
masak 'night, #perl6
jnthn raydiak: So if you're able to track it down further, that'd be helpful 21:50
raydiak no problem, I suppose I have to track it down sooner or later either way :) thanks guys 21:51
Mouq masak: cool 21:53
masak: 'night
21:53 spider-mario left 21:56 denisboyun left 21:57 FROGGS[mobile] left
raydiak considers a rakudo daemon a la fastcgi to cope with the half-minute-plus jvm startup times 22:00
timotimo we already have that 22:01
raydiak oh, how do I use it?
b/c this is killing me :)
timotimo it's called the evalserver and there's an evalclient.pl somewhere
FROGGS spectesting works that way 22:02
raydiak ah, found it 22:03
dalek kudo/moar-support: c060fa4 | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Implement p6routinereturn.
22:06
timotimo wow, now we can return from routines! :) 22:09
jnthn And we can nearly set $PROCESS::IN... :P 22:10
FROGGS *g*
jnthn++
that bloody line!
dalek p: f40f115 | Arcterus++ | src/vm/jvm/runners/nqp-j (2 files):
Let nqp-j work even if CLASSPATH is set
22:11
p: 8569fab | (Tobias Leich)++ | src/vm/jvm/runners/nqp-j (2 files):
Merge pull request #149 from Arcterus/master

Let nqp-j work even if CLASSPATH is set
kudo/sized-arrays: d70ff61 | Arcterus++ | src/Perl6/Actions.nqp:
Fix regression and slight optimization
22:18
kudo/sized-arrays: 562bc9d | (Tobias Leich)++ | src/Perl6/Actions.nqp:
Merge pull request #231 from Arcterus/sized-arrays

Fix regression and slight optimization
lue Hey look, a rough gist form of what I planned or did with S32::Temporal! gist.github.com/lue/7741574 22:20
22:25 tipdbmp joined
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:27
lue tipdbmp: try self.bless(:$attry); instead 22:28
jnthn Get rid fo the *
tipdbmp Okay, that worked. Thank you. 22:29
22:33 Rotwang left 22:34 kaare_ left
retupmoca who was asking about DateTime::TimeZone earlier? 22:35
colomon maybe?
anyway, DateTime::TimeZone should build now 22:36
lue preflex: tell masak gist.github.com/lue/7741574 has the same Temporal stuff, but in a less sensitive location :) 22:40
preflex Consider it noted.
timotimo jnthn: do you think someone could work on jvm interop method calling without the wordy java method syntax? 22:42
i'd like to do a bit of stuff with SWT
well, ideally i'd do something with qt, but that's not an option i don't think :( 22:43
22:44 PacoAir left 22:47 SevenWolf joined
jnthn timotimo: It "just" needs generating a dispatcher that can differentiate the candidates by shrotname... 22:50
*shortname
22:54 woolfy joined 23:08 zakharyas joined
lizmat actually perused Oxford Street 23:11
jnthn o/ lizmat
lizmat jnthn o/
jnthn Hope you had a nice time there. 23:12
23:18 [Sno] left, zakharyas left
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:19
23:20 [Sno] joined
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?
Mouq I thought Unicode stuff was already in MoarVM… 23:24
But I don't really know
jnthn Yeah, we take the Unicode DB and bundle it. 23:25
In a nicely compressed kinda way
lue Mouq: there is, so it's just an integrated component then.
jnthn diakopter++ worked on it
23:25 lizmat left 23:26 lizmat joined
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 ☺
jnthn Mouq: No, though there's a branch with some work on it. We've got strings arranged to support NFG.
Mouq jnthn: Some work is much better than none 23:27
23:28 jaffa4 left 23:29 berekuk left
lue huh. Reading some oooold 2009 discussion, is ord("one grapheme in NFG form") supposed to return a funny non-codepoint integer? 23:32
lizmat I guess that follows from the logic of NFG 23:34
23:36 dmol left
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
r: say "a".ord.chr 23:37
camelia rakudo-parrot 874e35, rakudo-jvm 874e35: OUTPUT«a␤»
lue I don't see why chr(ord("NFG numbers-ify")) wouldn't be a cancel-each-other-out situation.
23:38 woolfy left
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 grokbase.com/t/perl/perl6-language/...im6flwiole for what TimToady felt at the time about what it means when you use chr/ord
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...d=20090518
lue (to the surprise of no-one, there isn't a bug #20090518) 23:39
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...d=20090518
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?
jnthn timotimo: Well, see RakudoJavaInterop.java and the class it inherits from 23:40
timotimo: tbh, if it were me doing it, I'd start out just handling the cases where the variation was in arity.
lue Mouq: my initial guess "as we go along", though there might be some stable numbers issue.
jnthn timotimo: And then after that work on types.
lue (If there were a programmatic way to generate a unique NFG number based on the codepoints involved...)
timotimo ah, just looking at arity would eliminate a good chunk of things to do? 23:41
and all others could still be done with the ."foo/bar/baz" form
jnthn timotimo: It'd be a part-of-the-way solution
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
jnthn timotimo: But it gives a more tractable starting task.
timotimo also, a part-of-the-way-but-still-usable-and-shippable :)
yes, i like that :)
lue wonders how many codepoints are in the grapheme requiring the most number of them...
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 :)
jnthn timotimo: Good thing to know: you can compile rakudo-runtime.jar without re-compiling everything else.
timotimo: That should give you a much faster development time ;)
timotimo i like that 23:45
i'll probably have a look tomorow, rather than now 23:46
jnthn aye 23:47
I've put aside the latest weird problem in Rakudo on Moar for the day too...
timotimo aaw :)
i'd've loved to be surprised by progress when i've arrived home :P
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:48 tgt left
jnthn lue: That's...an interesting question. 23:51
lue :)
.oO(Perhaps the branch turned itself into a single integer.)
23:52