»ö« 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/37SjecTc0wCannot 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/OWMh24WxdgVariable '$digits' is not declaredat /tmp/OWMh24Wxdg:1------> say "Hello" ~~ / <$sign>? <$digits> /⏏<EOL> expecting any of: postfix» | 16:46 | |
..rakudo-parrot 874e35: OUTPUT«===SORRY!=== Error while compiling /tmp/jCjnBh4_paVariable '$digits' is not declaredat /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«012345678» | ||
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 |