»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:05
cog_ joined
00:06
cog left
|
|||
dalek | rl6-roast-data: 1fde6da | coke++ | / (4 files): today (automated commit) |
00:07 | |
rl6-roast-data: c18b898 | coke++ | / (4 files): today (automated commit) |
|||
00:12
spider-mario left
|
|||
timotimo | why is it always(?) two commits? | 00:19 | |
[Coke] | one a day | ||
so that's saturday and sunday. | |||
00:19
Chillance left
|
|||
[Coke] | I just didn't push yesterday. | 00:19 | |
00:22
balders_1od joined
00:25
balders_dod left
|
|||
rjbs | So, say I was porting some p5 code to p6, hypothetically. | 00:26 | |
and I'd been making a fair amount of use of p5's pack and unpack | |||
What do I want to look at in p6? | |||
00:27
grondilu left
|
|||
[Coke] | Str's pack and unpack methods. But I'm not sure they've seen much love. | 00:32 | |
00:34
Targen joined
|
|||
[Coke] | r: Buf.new(:16<41>).say | 00:36 | |
p6eval | rakudo 9c9d79: OUTPUT«Buf:0x<41>» | ||
[Coke] | r: Buf.new(:16<41>).unpack("H*").say | 00:37 | |
p6eval | rakudo 9c9d79: OUTPUT«41» | ||
01:09
anuby joined
01:21
hypolin joined
01:47
xinming left
01:49
xinming joined
01:54
am0c joined
01:55
matija left
02:30
alec left
02:43
dayangkun left,
FROGGS_ joined
02:45
FROGGS left
02:48
dayangkun joined
02:54
alec joined
03:33
drbean left
03:43
alec left
03:45
aindilis left,
aindilis joined
03:54
alec__ joined
04:14
anuby left,
anuby joined
04:15
preflex_ joined
04:16
SamuraiJack joined,
preflex left
04:17
preflex_ is now known as preflex
04:19
b1rkh0ff left,
b1rkh0ff joined
|
|||
TimToady | rosettacode.org/wiki/Last_letter-fi...ter#Perl_6 | 04:28 | |
3 more to get to 500 | 04:29 | ||
05:00
am0c left
05:18
fhelmberger joined
05:20
telex left
05:21
telex joined
05:30
telex left
05:38
telex joined
05:39
benabik left
05:44
bluescreen10 left
05:47
spacebat left
05:48
erkan joined,
erkan left,
erkan joined
06:04
MikeFair left
06:13
benabik joined,
SamuraiJack left
|
|||
nwc10 | jnthn++ # 16% of the NQP test suite passing already | 06:14 | |
TimToady | rosettacode.org/wiki/Break_OO_privacy#Perl_6 | 06:21 | |
2 more to go | |||
06:23
fgomez left
06:25
fgomez joined
|
|||
diakopter | :) | 06:35 | |
06:46
quester joined
07:02
am0c joined
07:09
sevin joined
07:16
balders_dod joined
07:18
fgomez left,
balders_1od left
07:20
fgomez joined
|
|||
TimToady | rosettacode.org/wiki/Introspection#Perl_6 | 07:25 | |
1 to go | |||
07:29
drbean joined
07:36
am0c left
07:49
kaleem joined
07:50
sevin left
07:53
FROGGS_ left
08:02
am0c joined
08:06
hypolin left
08:09
FROGGS joined
|
|||
jnthn | Go TimToady++ | 08:09 | |
:) | |||
FROGGS | morning | 08:10 | |
jnthn | hi FROGGS | 08:11 | |
FROGGS | hi | ||
08:11
quester left
|
|||
sorear | hi FROGGS | 08:13 | |
FROGGS | hi sorear | 08:14 | |
sorear: is niecza STD-based too, like rakudo/nom? | |||
jnthn | Niecza is closer to STD than Rakudo in some places (used to be way closer, but Rakudo has converged a lot) | 08:18 | |
aku | |||
oops | |||
sorear | niecza is STD-based. | ||
FROGGS | hmmm, so I can even steal stuff from niecza :o) | ||
sorear | it has diverged from STD in places, but the grammar was created by copying STD and editing the parts that didn't work. :D | 08:19 | |
FROGGS | thats the point, I try to get nom closer to STD when it comes to contextualizers in regexes, but right now I cant compile the setting | 08:20 | |
08:23
hypolin joined
08:29
hoelzro|away is now known as hoelzro
|
|||
jnthn | ok, teaching time :) | 08:29 | |
will be around now and then today... | |||
nwc10 | coffee assimilated? | ||
hoelzro | morning #perl6, I see I have messages =) | ||
phenny | hoelzro: 27 Jan 12:09Z <timotimo> tell hoelzro do you feel like you can open a pull request for your pygments work soon? or do you want more testing to be done first? | ||
hoelzro: 27 Jan 12:21Z <timotimo> tell hoelzro the only issues i can see with it are: @!foo has a red, fat ! and +@($block) has a red, fat ($ in it, so everything that looks remotely like a twigil (thrigil?) seems to get that treatment | |||
hoelzro | thank you, phenny | 08:30 | |
TimToady | rosettacode.org/wiki/Echo_server#Perl_6 | 08:33 | |
That's 500, though I cheated by putting up non-working code | |||
FROGGS | someone should fix async then^^ | 08:34 | |
but it sounds like a lot of work | |||
TimToady | well, to do it so that threads can't block other threads, yes | 08:35 | |
hoelzro | timotimo: ping | 08:36 | |
GlitchMr | 500. Perfect :-). | ||
TimToady | should be trivial once NQP is ported to Go :P | ||
GlitchMr | Hmmm... how many tasks Rosetta Code does have? | ||
"630 tasks" | |||
Sounds like we are closer and closer to having Perl 6 example in every task | |||
Except that appears to include draft tasks, so not really. | 08:37 | ||
TimToady | Tcl has 687 implemented already | ||
FROGGS 's brain matched "500" as token http-error-code rather than token number-of-rc-tasks | 08:38 | ||
arnsholt | jnthn: In an attempt to debug my nativesize stuff, I added debug prints to NativeHow's compose and the nativesize trait. From the interleaving of the prints, it seems the trait is applied -after- the HOW's compose is called | ||
nwc10 | TimToady: I saw the smiley. But, serious question - Go assumes UTF-8 pervasively, doesn't it? That's going to be a bit, well, suboptimal, for NFG? | ||
GlitchMr | Perhaps I should try solving 24 game in Perl 6 | ||
TimToady | as long as Go supports native integer arrays, we can easily implement NFG | ||
"easily" | |||
hoelzro | hmm | 08:39 | |
moritz | FROGGS: heh, I work in an office with number 408 REQUEST TIMEOUT :-) | ||
hoelzro | what does +@($block) mean? timotimo pointed it out in his syntax examples | ||
TimToady | usually, same as +$block does | ||
GlitchMr | hoelzro, it gives number of elements in array. | 08:40 | |
hoelzro | ah, I see | ||
TimToady | nr: my $array := <a b c d e>; say +$arrray | ||
GlitchMr | Except with block, I think it's always 1. | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«===SORRY!===Variable $arrray is not predeclared at /tmp/afgeGvo30d line 1:------> my $array := <a b c d e>; say +⏏$arrrayPotential difficulties: $array is declared but not used at /tmp/afgeGvo30d line 1:------> … | ||
..rakudo 9c9d79: OUTPUT«===SORRY!===Variable '$arrray' is not declared. Did you mean '$array'?at /tmp/buQyArygVD:1------> my $array := <a b c d e>; say +$arrray⏏<EOL> expecting any of: postfix» | |||
TimToady | nr: my $array := <a b c d e>; say +$array | ||
p6eval | rakudo 9c9d79, niecza v24-18-gaf64300: OUTPUT«5» | 08:41 | |
FROGGS | moritz: hehe, nice, that would fit here too :o) | ||
TimToady | well, if you know it's a block, why are you asking it how many of it there are? | ||
nwc10 | TimToady: yes. True. I seem to be forgetting that Java thinks that UTF-16 is the way to go. :-( Silly me. | ||
TimToady | yes, well, we can do NFG there too, presumably | 08:42 | |
nwc10 | exactly. I'd already assumed that to be a SMOP, so why should I treat Go differently. Clearly insufficient coffee | 08:43 | |
08:45
sqirrel joined
|
|||
nwc10 | moritz: I remembered. The first issue with constant folding on Perl 5 may not apply to Perl 6 -- $SIG{__WARN__} | 08:46 | |
$SIG{__WARN__} is dynamic. For correctness (ie, as if no optimisation had taken place), warnings should be dispatched at runtime to the dynamic warning handler | |||
moritz: the IRC logger index for a channel generates no link for a particular day if there is no activity. Is there a way to filter out days when a channel only has parts and joins? (ie no chat, just tumbleweeds) | 08:48 | ||
moritz | nwc10: ($SIG{__WARN__}) that one's nasty | ||
nwc10: no, not yet, but would be pretty easy to do | 08:49 | ||
nwc10 | moritz: that would be cool | ||
although having it running on Rakudo would also be cool :-) | 08:50 | ||
dogfood for the long term win | |||
08:57
snearch joined
08:58
snearch left
|
|||
mathw | morning all | 08:59 | |
FROGGS | morning mathw | 09:00 | |
moritz | nwc10: my plan is to port the logger itself first, because that's less performance critical | ||
nwc10 | oh, interesting. I would have thought that the logger is (also) the part that must not fail, else there is data loss | 09:01 | |
however, the easy answer to that is run two loggers - Perl 5, and Rakudo | |||
(and diff the output) | |||
moritz | nwc10++ # constant nagging about dogfooding | 09:04 | |
09:05
am0c left
|
|||
nwc10 | yes, sorry if I sound like a broken record. But | 09:05 | |
a) I think that it's one of the reasons that Parrot went wrong | |||
b) Actually a way to make your build system more portable | |||
c) A way to make your system more maintainable. (Much like self-hosting is, or at least, has massive advantages in that area) | 09:06 | ||
moritz | you don't have to apologize; I even ++'ed you for it :-) | 09:07 | |
nwc10 | I also realised last night that, well, nothing serious is written in Perl 6. Except an entire compiler. | 09:08 | |
Which, actually, is pretty damn cool. And proof that it isn't a toy. | |||
but it would be nice to have other things :-) | |||
moritz | I totally agree | 09:09 | |
nwc10 | also, what rjbs asked last night about pack - I'd guess that the bits of Perl 6 that are needed to write compilers are pretty much fleshed out. | 09:12 | |
But compilers are not the only fruit. | |||
moritz | I totally agree | 09:13 | |
our native call interface, and DBIish in extension, could use some good bit of extra stability :-) | 09:14 | ||
09:14
grondilu joined
|
|||
arnsholt | moritz: BTW, you mentioned some time ago that you managed to trigger segfaults with Zavolaj in DBIish | 09:16 | |
What was the issue again_ | |||
s/_/? | 09:17 | ||
moritz | arnsholt: doing too much stuff in a postgres database | ||
arnsholt | Doing too much stuff? | ||
moritz | preparing and executing a lot of different queries | ||
each of them didn't segfault in isolation | |||
arnsholt | Weird | 09:18 | |
moritz | I'll try to re-test on a newer toolchain soon | ||
arnsholt | That'd be cool. I think it might smell of some kind of Zavolaj issue | 09:19 | |
09:21
kivutar joined
09:23
hypolin left
|
|||
GlitchMr | rn: gist.github.com/4654154 | 09:23 | |
09:23
kresike joined
|
|||
p6eval | rakudo 9c9d79: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, … | 09:23 | |
..niecza v24-18-gaf64300: OUTPUT«TrueUnhandled exception: Ambiguous call to infix:<in>; these signatures all match: Any, Any Any, Any at /tmp/ydXsQDK2s1 line 7 (mainline @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.set… | |||
GlitchMr | std: gist.github.com/4654154 | ||
kresike | hello all you happy perl6 people | ||
p6eval | std 7deb9d7: OUTPUT«===SORRY!===Cannot negate in because additive operators are not iffy enough at /tmp/DVsJ_IO66Z line 7:------> say 2 !in⏏ (1, 22, 23);Parse failedFAILED 00:01 53m» | ||
GlitchMr | Am I using proto subs incorrectly or what? | 09:24 | |
09:26
dakkar joined
|
|||
FROGGS | maybe you must create your own infix:<!in> ? | 09:27 | |
GlitchMr | It's not that | ||
Well, std complains about that. | |||
But the errors in rakudo and niecza say something else. | 09:28 | ||
FROGGS | ahh, sorry, looked at the wrong msg | ||
GlitchMr | Niecza appears to parse multi sub correctly. | ||
Except it seems it doesn't know whatever it should use ($a, $b) as signature or ($a, @b). | |||
09:32
cog_ left
|
|||
FROGGS | GlitchMr: if you try that locally, do you see the three signatures in the list? | 09:34 | |
09:35
hypolin joined
|
|||
GlitchMr | No, only two. | 09:35 | |
The ($a, %b) signature isn't involved in array check. | |||
arnsholt | r: my int8 $x = 1024; say $x | ||
GlitchMr | The problem is that ($a, $b) has exactly the same weight as ($a, @b) and ($a, %b) | ||
p6eval | rakudo 9c9d79: OUTPUT«1024» | ||
arnsholt | Does the spec say anything about what's supposed to happen in that case? | 09:36 | |
GlitchMr | I will check | ||
TimToady | rosettacode.org/wiki/Carmichael_3_s...sis#Perl_6 | ||
to make up for cheating on #500 :) | 09:37 | ||
09:37
sftp joined
09:38
cog_ joined
|
|||
TimToady --> bed | 09:39 | ||
FROGGS | TimToady: gnight | ||
GlitchMr | But I would assume :($a, @b) is more specific than :($a, $b) because @b requires type to be Positional. | 09:40 | |
moritz | r: multi a($, $) { 1 }; multi a ($, @) { 2 }; say a(42, @*INC) | 09:41 | |
p6eval | rakudo 9c9d79: OUTPUT«2» | ||
moritz | looks like it is. | 09:42 | |
GlitchMr | In Rakudo, not in Niecza | ||
moritz | ok | ||
GlitchMr | I think it could be niecza bug, but not sure. | ||
Still, I guess I will report it. | |||
09:44
Psyche^ joined
|
|||
moritz | please do | 09:47 | |
09:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
GlitchMr | github.com/sorear/niecza/issues/168 | 09:49 | |
09:52
SmokeMachine joined
|
|||
jnthn | arnsholt: (called after) that's very weird, and if so a bug... | 09:53 | |
09:53
jmf joined
09:54
jmf left
|
|||
arnsholt | jnthn: Right. I'll try to narrow it down, in that case | 09:57 | |
10:01
nnunley left
10:05
SmokeMac_ joined,
SmokeMachine left,
hypolin left
10:06
GlitchMr left
10:08
anuby left
|
|||
arnsholt | So, trying to print the $!nativesize of my natives I get "Method 'Str' not found for invocant of class 'Int'". How do I get the damn thing printed? | 10:15 | |
(Mucking about with different nqp:: stuff hasn't gotten me far) | 10:16 | ||
jnthn | heh, you're in the setting so it's not defined yet ;) | ||
nqp::say(nqp::unbox_i($!nativesize)) perhaps | |||
arnsholt | Hmm. From the Perl 6 side, it looks like it's correct | 10:17 | |
jnthn | lunch * | 10:20 | |
& even | |||
arnsholt may have found it | |||
10:23
grondilu left
|
|||
arnsholt | Heh. "Method 'Int' not found for invocant of class 'Int'" | 10:27 | |
Hopefully judicious unboxing takes care of that | 10:28 | ||
Victory! | |||
(Also, I am a moron) | |||
When the code expects {integer => {bits => $!nativesize}}, better not pass {bits => $!nativesize} | 10:31 | ||
10:31
grondilu joined
|
|||
arnsholt | 'Cuz that just plain won't work | 10:31 | |
FROGGS | :o) | ||
it's obvious after you found out, right? | 10:32 | ||
arnsholt | Ridiculously so | ||
And yet, completely inscrutable up until the moment you realize what it is =) | |||
It works! | 10:49 | ||
And now I get to debug segfaults =D | |||
FROGGS | *g* | 10:50 | |
gorram it, it's hard to hack javascript and php at work while there is such a nice language out there ó.ò | |||
jnthn | arnsholt++ | 10:56 | |
arnsholt | Not quite done yet, but at least I squashed the inscrutable bug | 10:58 | |
I think my current segfault may be due to a waterbed distribution of sized int support =) | 10:59 | ||
11:06
Su-Shee_ joined
|
|||
jnthn | Well, P6opaque is clueless about aligning 'em for one :) | 11:07 | |
moritz | alignment is overrated :-) | 11:08 | |
jnthn | On x86, mostly yes :P | ||
moritz | ... unless you actually want to use the stuff :-) | ||
jnthn | But getting it wrong on some other platforms can be 'ARMful... | ||
nwc10 groans | 11:09 | ||
jnthn | .oO( I shouldn't be such a bright Sparc... ) |
||
nwc10 | x86, ELF and glibc have a lot to answer for | ||
11:09
Su-Shee left
|
|||
nwc10 | oh, and ld.so | 11:09 | |
nwc10 will be much HPPAier when the puns are exhausted | 11:10 | ||
jnthn | I gotta teach now, so they should go down like the itanic :) | ||
nwc10 | please give me alpha mo to make another one | 11:11 | |
moritz | like, with overlong movie coverage? | ||
though it wouldn't have gone down with a hull made of Itanium | 11:12 | ||
11:14
Su-Shee_ is now known as Su-Shee
11:37
GlitchMr joined
|
|||
GlitchMr | I hate DoS attacks... | 11:38 | |
11:39
huf left
11:43
huf joined
11:59
kivutar left
12:01
SmokeMac_ left
12:33
dakkar left
|
|||
timotimo | hoelzro: pong | 12:41 | |
hoelzro | ping | 12:46 | |
timotimo: thanks for testing out the highlighter! | |||
I wasn't able to reproduce the issues you saw, though =/ | |||
timotimo | huh? | 12:51 | |
(to be fair, this is nqp code, but it shouldn't matter) | 12:52 | ||
hoelzro | timotimo: well, you said that you saw an issue when highlighting @!foo, right? | ||
12:53
SmokeMachine joined
|
|||
timotimo types some examples for a screenshot | 12:56 | ||
you're right. in isolation it doesn't "break", but i've found something else | 12:57 | ||
hoelzro | ok, good! | 12:58 | |
timotimo | t.h8.lv/hoelzpygment.png | ||
hoelzro | ah, so $!privattr is busted? | 12:59 | |
timotimo | seems so | ||
hoelzro | =/ | ||
well, thanks for the input! | |||
timotimo | you're welcome | 13:00 | |
rakudo/src/Perl6/Optimizer.pm gave me the strange effects, fwiw. starts right near the beginning | |||
hoelzro | timotimo: are you going to keep that screenshot up? or should I make a copy? | 13:01 | |
ok, cool! | |||
timotimo | any way you like. i can also nopaste the code :P | ||
hoelzro | I'll probably just look at the rakudo source, thanks =) | 13:02 | |
timotimo | you're welcome | ||
maybe i should invest some time in proper syntax highlighting, too. vims highlighter has some problems with / ... / i think | 13:03 | ||
hoelzro | timotimo: help on Vim's highlighting would be most welcome! | 13:04 | |
I try to fix bits (for both Perl 5 and 6), but I never seem to find time for it | |||
help on the pygments highlighter for Perl 6 would also be appreciated =) | 13:07 | ||
13:13
SmokeMachine left
|
|||
nwc10 | why is GCD one of the NQP ops? | 13:25 | |
jnthn | Because we do it often enough that we want it fast. | 13:26 | |
(Rat) | |||
timotimo | hoelzro: how does one correctly work on that? would i get the vim sources from whatever repo they have and copypaste the syntax file to my home folder? | ||
moritz | because we need it in Perl 6, and our bigint lib provices it | ||
13:26
GlitchMr left
|
|||
hoelzro | timotimo: here's what I do: I have a clone of github.com/vim-perl/vim-perl in ~/projects/ | 13:27 | |
timotimo | wow, i know english champions verbing nouns, but "provinces"? :D | ||
hoelzro | and I have a branch in my ~/.vim repo called vim-perl-work | ||
jnthn | timotimo: We should province people who do that... | ||
timotimo | i don't even know what that means! | ||
hoelzro | vim-perl-work is a single commit ahead of master, and simply adds a symlink to ~/projects/vim-perl to Vim's runtime path | ||
13:27
SmokeMachine joined
|
|||
hoelzro | so whenver I work on vim-perl, I just cd ~/.vim; git co vim-perl-work | 13:28 | |
timotimo | oh, that's clever | ||
where does the symlink go? could i just do it with pathogen like i do all my other extensions? | 13:29 | ||
hoelzro | timotimo: yeah, mine's under ~/.vim/bundle/vim-perl | ||
13:37
cog_ left,
mtk joined
13:41
SmokeMachine left
13:43
cog_ joined
13:44
krunen left
|
|||
nwc10 | jnthn: aha. I hadn't realised that. Thanks | 13:45 | |
13:46
cog_ left
13:47
am0c joined
13:58
benabik left
14:06
cog joined
14:10
atrodo joined,
balders_1od joined
14:13
balders_dod left,
PacoAir joined
14:19
bluescreen10 joined
14:23
am0c left
14:26
krunen joined
14:36
jas joined
|
|||
arnsholt | Segfault squashed. Onto the next failure! | 14:38 | |
moritz | arnsholt++ # vanquisher of segfaults! | 14:40 | |
arnsholt | Segfaults are generally easier to fix than braindead typos =) | ||
moritz | unless it's the result of a braindead typo :-) | 14:41 | |
14:41
krunen left
|
|||
timotimo | substitute "at least as easy" :P | 14:42 | |
arnsholt | Hmm. This next one seems to be size-related as well | 14:43 | |
14:43
krunen joined,
nnunley joined
|
|||
moritz | .oO( well-sized failures ) |
14:43 | |
14:43
cog left
|
|||
timotimo | what's that, lassie? arnsholt fell into the well? oh boy! | 14:44 | |
arnsholt | Score! | 14:47 | |
Now that I think about it, I think this is one of those that might have always failed on 64-bit | |||
(Due to lack of sized-int support =) | 14:48 | ||
14:50
nnunley left
|
|||
dalek | kudo/dyncall-sized-num: c7fe112 | (Arne Skjærholt)++ | src/Perl6/Metamodel/NativeHOW.pm: Fix braino. NativeHOW sent bad data to the REPR compose. |
14:54 | |
volaj: 20b41e7 | (Arne Skjærholt)++ | t/06-struct. (2 files): Add tests for sized ints in structs. Also tweaks the array member of structs test a bit (and once we have sized ints in arrays it should likely be updated again). |
14:55 | ||
p/dyncall-sized-num: b4e360b | (Arne Skjærholt)++ | src/6model/reprs/ (2 files): Fix two brainos. One in P6int.c; if you're gonna reset the bit value to the default just before returning, you're gonna have a bad time. Another in CStruct.c; ensuring proper alignment wasn't done properly. |
|||
arnsholt | And there we go. Initial support for sized ints in structs | ||
Sized nums and arrays are still to be done, but I think the hard part is mostly done | |||
FROGGS discovered the viv utility right now O.o | 14:56 | ||
timotimo | is there something like ctags for perl6 yet? if not, i would assume something like that could be somewhat easily be built in nqp, no? | ||
FROGGS | ctags? | ||
timotimo | it parses code and creates an index for where objects, methods, subs, variables, ... are defined | 14:57 | |
so that your IDE/text editor can "jump to symbol under cursor" | |||
FROGGS | ahh | ||
would be nice to have, yes | |||
timotimo | don't know if the ctags project would accept nqp code, though :P | 14:58 | |
15:01
kivutar joined
|
|||
arnsholt | Probably not | 15:02 | |
Might be a cool thing to do though | |||
I guess leveraging STD might be a viable approach, and then outputting the proper format | 15:03 | ||
15:10
pmurias joined
15:12
stopbit joined
|
|||
pmurias | timotimo: re ctags for perl6, I don't think there is a good reason to integrate with the officials ctags binary, as it should be possible to the ctags format from a standalone tool | 15:16 | |
timotimo | right | ||
is there more than just ... in perl6? | |||
moritz | well, there is a good reason: several editors already have key bindings for invoking ctags | ||
timotimo: yes, ??? and !!! too | 15:17 | ||
15:17
kaare_ joined
|
|||
timotimo | ah! | 15:17 | |
15:17
GlitchMr joined
|
|||
moritz | doc.perl6.org/!!! | 15:17 | |
timotimo | the syn google search is super useless for these | 15:18 | |
moritz | aye | ||
15:27
SmokeMachine joined
15:30
benabik joined
15:32
fhelmberger left
15:35
SmokeMachine left
15:37
snearch joined
15:41
nnunley joined
15:43
hash_table joined
15:53
kaleem left
16:01
SmokeMachine joined
16:06
SmokeMachine left
|
|||
kresike | bye folks | 16:09 | |
16:09
kresike left
16:10
kaleem joined
16:11
SmokeMachine joined
16:17
decasm joined
|
|||
jnthn | decommute & | 16:17 | |
16:19
b1rkh0ff left
16:24
SmokeMachine left,
FROGGS left
16:26
GlitchMr left
16:35
kaleem left
16:38
GlitchMr joined
16:42
hoelzro is now known as hoelzro|away
|
|||
GlitchMr | .u | 16:46 | |
phenny | U+F8FF (No name found) | ||
GlitchMr | 'Chrome 24.0.1312 on Mac OS X 10.8.2537' | 16:47 | |
I'm almost sure it's Apple logo then. | |||
benabik | I see an Apple on my Apple. | 16:48 | |
GlitchMr | Somebody on certain forum has used that symbol and I was wondering why my font doesn't support it. | 16:49 | |
According to the profile page, he was using Mac OS X... makes sense. | |||
16:49
benabik left,
benabik_ joined
|
|||
[Coke] | m/me readds RFC#101 from timo and is no more enlightened. | 16:50 | |
16:51
kaleem joined
|
|||
[Coke] | er, no, slightly. | 16:51 | |
GlitchMr | duckduckgo.com/?q=%EF%A3%BF | ||
DuckDuckGo somehow shows Apple Inc... | |||
duckduckgo.com/?q=perl6+Int.Str | 16:52 | ||
benabik_ | F8FF is the top of the Private Use section of the Unicode. Apple using it for an apple logo is probably the most common use of it. | ||
16:53
aindilis` joined
16:54
aindilis left
|
|||
timotimo | [Coke]: can i help you? | 16:54 | |
16:55
kaleem left
16:56
benabik_ left,
benabik joined
|
|||
[Coke] | Why the temp var? | 16:58 | |
to avoid issues where reading the value had a side effect? | |||
timotimo | yes, exactly | ||
[Coke] | danke. | ||
timotimo | gerne doch :) | ||
17:01
FROGGS joined
|
|||
FROGGS | jnthn, moritz: do you have an idea where "No such method 'Any' for invocant of type 'Str'" comes from? | 17:02 | |
gist.github.com/9307c7681cfb9ff34d...om_dbg-txt | |||
17:02
SmokeMachine joined
17:06
spider-mario joined
17:08
pmurias left
|
|||
FROGGS | jnthn, moritz: btw, /$( a )/ does complain now about unknown sub &a, like std | 17:10 | |
17:11
GlitchMr left
|
|||
jnthn | FROGGS: Not sure where the error comes from | 17:11 | |
17:13
SmokeMachine left
17:14
SmokeMachine joined
|
|||
FROGGS | jnthn: do you wanna see the QAST dump? | 17:20 | |
jnthn | FROGGS: You seem to have some debugging code. Is it that which leads to the error? | 17:21 | |
FROGGS | the debuggung stuff just prints $/ within the action methods | 17:22 | |
17:23
Chillance joined
|
|||
FROGGS | dont think that this produces the error, since I got the error even without my debug stuff | 17:23 | |
jnthn | ok | ||
I can take a look at the patch | |||
FROGGS | gist.github.com/9307c7681cfb9ff34d...t_dump-txt | ||
the grammar is fine now, since it gets to the tokens similar to STD's viv output | 17:24 | ||
there is just something borken with the AST | |||
jnthn | Yeah, I can read the diff of what you did faster than the QAST dump :) | 17:25 | |
FROGGS | the qast dump is pretty neat, but yes, the diff isnt that heavy | 17:26 | |
jnthn | yeah, something looks wrong... | ||
17:30
adu joined
|
|||
jnthn bbs | 17:30 | ||
17:34
snearch left,
b1rkh0ff joined
17:35
adu left
17:37
MayDaniel joined
17:41
GlitchMr joined
|
|||
moritz | FROGGS: is that error from compiling the setting? | 17:46 | |
FROGGS | no, afterwards | 17:47 | |
I believe it tries to call something on the thing enclosed by '$(' ~ ')' | |||
because the type changes when I do: /$(1)/ and /$("a")/ | 17:48 | ||
moritz | r: /a/ | ||
p6eval | rakudo 9c9d79: ( no output ) | ||
moritz | r: m/a/ | ||
p6eval | rakudo 9c9d79: OUTPUT«No such method 'match' for invocant of type 'Any' in block at /tmp/93Ut_nlQjv:1» | ||
moritz | in method ACCEPTS at src/gen/CORE.setting:10733 | 17:49 | |
which ACCEPTS is that? | |||
FROGGS | the second one is because $_ isnt set, IMO | ||
$_.ACCEPTS( match result ) | 17:50 | ||
brb linch | |||
lunch | |||
moritz | FROGGS: when you're back, please try ./perl6 -e 'say "1" ~~ /$( say .perl )/ | 17:51 | |
FROGGS | moritz: No such method 'Any' for invocant of type 'Bool' | 17:58 | |
but it prints "1" directly before that | 17:59 | ||
[Coke] | r: (say "1").WHAT.say | ||
p6eval | rakudo 9c9d79: OUTPUT«1Bool()» | ||
moritz | FROGGS: so it tries to call the method Any on the return value of the expression | 18:00 | |
FROGGS | so it might be in method metachar:sym<rakvar> | 18:01 | |
moritz | in any at src/gen/BOOTSTRAP.pm:836 | 18:02 | |
usually the format is in sub foo at ... | |||
where 'sub' is lc $routine.^name | 18:03 | ||
so, something gets invoked which is of type Any | |||
r: Any() | |||
p6eval | rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Parcel' in at src/gen/BOOTSTRAP.pm:845 in at src/gen/BOOTSTRAP.pm:839 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/zG8KOzVLWd:1» | ||
moritz | OH | ||
r: Any('foo') | |||
p6eval | rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Str' in at src/gen/BOOTSTRAP.pm:839 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/pPJV8pI1MT:1» | ||
moritz | that's the backtrace you're getting, right? | 18:04 | |
FROGGS | No such method 'Any' for invocant of type 'Int' | ||
in at src/gen/BOOTSTRAP.pm:839 | |||
in any at src/gen/BOOTSTRAP.pm:836 | |||
yes, it is | |||
18:04
b1rkh0ff left
|
|||
FROGGS | r: Any(1) # this | 18:05 | |
p6eval | rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Int' in at src/gen/BOOTSTRAP.pm:839 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/ZVM1ERdYJq:1» | ||
18:06
b1rkh0ff joined
|
|||
moritz | ah, now I see | 18:06 | |
the regex engine tries to invoke the result from the $(...) as a regex | |||
FROGGS: you need to change the codgen to go through method Cursor.INTEROLATE | 18:07 | ||
tadzik | hello hello | ||
moritz | like other variable interpolation in regexes | ||
tadzik tadzik | |||
FROGGS | moritz: I thought it was the same with INTERPOLATE, but will test now | 18:08 | |
18:09
spider-mario_ joined,
spider-mario left
|
|||
FROGGS | moritz: do you think it would be easy to dump out all matched tokens like STD's viv script? | 18:11 | |
moritz | FROGGS: depends on your notion of "easy" :-) | 18:12 | |
not as easy as a single method call | |||
but certainly not very hard | |||
TimToady | .oO(MHF) |
18:13 | |
FROGGS | okay, sounds possible then ;o) | ||
18:13
spider-mario joined
|
|||
FROGGS | mhf? | 18:14 | |
TimToady | Mid Hanging Fruit | ||
FROGGS | ahh | ||
18:14
spider-mario_ left
|
|||
TimToady | maybe we need a Hanging-Fruit-o-Meter | 18:14 | |
FROGGS | and then you know how tall you are in that measurement | 18:15 | |
nwc10 | why does this make me think raw ... not yet ... edible ... wasps are going to get it ... compost | ||
possibly because the pears on my parents tree seemed to quantum tunnel between the 2nd and 4th steps, effortlessly | 18:16 | ||
TimToady | 1 HF == 1 Hckr × 1 Tuit | ||
FROGGS | does that mean that there is nothing to do when there is no hacker? | 18:17 | |
TimToady | no, you just use calculus to multiple 0 Hckr × ∞ Tuit to end up with 1 hanging fruit equivalent | 18:18 | |
*multiply | 18:20 | ||
FROGGS | and I stupid dungbag didnt took a round tuit from the tables from last YAPC :o( | ||
tadzik | I didn't know they're for picking up :| | ||
FROGGS | well, they are lying around... | 18:21 | |
I didnt know too at that time too | |||
tadzik: I would buy them if they would be sold by tpf, but it looks like they weren't sold that way | 18:22 | ||
tadzik | they can be sold by anyone else and I'd buy them anyway :) | 18:23 | |
FROGGS | yes sure, but if I could spend some money to tpf at the same moment that would be better | 18:24 | |
tadzik | let's do a startup | 18:25 | |
then we can say it's Perl6-based | |||
18:26
xenoterracide left,
xenoterracide joined
|
|||
moritz | hey, I've recently come across a service that does custom laser cutting and engraving | 18:32 | |
tadzik | in any material? | 18:33 | |
moritz | not any, but they have a wide selection, and are willing to experiment with more | ||
tadzik | cool beans | ||
[Coke] would love a tuit that was heavy enough to be a card protector. | |||
moritz | but I guess laser-cutting wood isn't a good option :-) | ||
www.formulor.de/ | |||
A friend of mine ordered stuff there, and it was in the order of 25€ or so | 18:34 | ||
tadzik | that's awesome | ||
now to find a use for it... ;) | |||
maybe a nice combo with thegamecrafter | |||
moritz | well, custom tuits :-) | ||
with camelia laser-engraved | 18:35 | ||
tadzik | and a 1:1 camelia model | ||
as it'd probably be too big for a 3d printer | |||
TimToady | in depleted uranium, preferably | ||
moritz | what, you can laser-cut leather? | ||
that's awesome :-) | |||
seems they don't support metal :( | 18:37 | ||
TimToady | just tell 'em that metal is what they've removed from the depleted uranium, so they're good to go | 18:41 | |
.oO("No, that's not metal, it's just thermite.") |
18:43 | ||
FROGGS prefers transparent aluminium | |||
moritz: I get the same result when using the code from method assertion:sym<{ }> | 18:45 | ||
... which calls MAKE_REGEX and then interpolates | 18:46 | ||
moritz | huh, strange | ||
FROGGS | which is: | ||
r: say "abc" ~~ /<{"a"}>/ | 18:47 | ||
p6eval | rakudo 9c9d79: OUTPUT«「a」» | ||
18:47
werwerwer joined
|
|||
timotimo | t.h8.lv/gosper_thinkpad.jpeg <- had this laser-cut into his laptop recently | 18:47 | |
gotta run now | |||
18:48
hoelzro|away is now known as hoelzro
|
|||
hoelzro | damn! | 18:48 | |
FROGGS | timotimo: nice | ||
18:48
mtk left
|
|||
hoelzro | timotimo: don't leave! | 18:48 | |
I just uploaded a new version of the lexer! | |||
someone needs to test it! | 18:49 | ||
tadzik | I'll take the ring to mordor | ||
FROGGS hands out a bag of lembas bread to tadzik | 18:50 | ||
18:50
japhb_ left
|
|||
TimToady | .oO(lambdas bread) |
18:50 | |
tadzik | at least it's pure :) | ||
hoelzro | haha | 18:51 | |
moritz | TimToady: that makes you Galadriel, right? :-) | 18:53 | |
TimToady | that, and the little matter of power-hunger | 18:57 | |
Rule 2: When Galadriel makes a mistake with the One Ring, she's still right. | 18:58 | ||
19:11
sftp left
19:14
arlinius left
19:15
atrodo left
19:19
mwilson_ joined,
mwilson_ left
19:20
sftp joined
19:23
japhb_ joined
|
|||
TimToady | .oO(Santa's elves forge rings for Santa, who then forges his own Ring to let him fly very fast once a year) |
19:34 | |
Santa is really from the South Pole, so he'd have access to Mt Erebus. | 19:35 | ||
dalek | p-jvm-prep: 056979a | jnthn++ | / (2 files): Fix !"string". |
19:38 | |
p-jvm-prep: 4ab9860 | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWBootstrapper.java: Give some boot types a bool spec. |
|||
p-jvm-prep: a712ae4 | jnthn++ | nqp-jvm-cc.nqp: Fix prefix ~ and + compilation thinkos. |
|||
p-jvm-prep: 688ed7f | jnthn++ | t/nqp/ (2 files): Two more passing test files. |
|||
nwc10 | 26% of test files, 21% of tests? | 19:42 | |
TimToady | small test files are easier to pass than large ones :) | 19:43 | |
jnthn | nwc10: heh, I'm not keeping a close watch :) | 19:47 | |
nwc10 | I was just curious. So I tried to do the numbers. | ||
I believe 100%, 100% and a pony (or failing that, a beer) is the goal? | |||
possibly more than one beer? | |||
jnthn | Something like, but note that this is t/nqp and then there's also t/qregex :) | 19:50 | |
benabik | I think the goal is always more than one beer. | ||
TimToady | a cup of non-java? | ||
nwc10 | ah, so this is twenty-muble percent of t/nqp? | ||
19:50
jaldhar left
|
|||
nwc10 | and t/qregex is a whole new counting system? | 19:50 | |
TimToady read that as 'twenty-mule' | 19:51 | ||
nwc10 | hopefully not involving too many Alephs | ||
jnthn | nwc10: yeah, but it's a bit more convoluted 'cus some of the t/nqp also need regex stuff. :) | ||
nwc10 | (got to look on the bright side) | ||
jnthn | nwc10: Also, a couple of t/nqp are Parrot-specific and so meaningless to run. | ||
nwc10 | pass! | 19:52 | |
(actually, that's a pun) | |||
wasn't intended to be | |||
jnthn | :P | ||
19:54
fgomez left
|
|||
arnsholt | jnthn: if without braces is bad style ;p | 19:59 | |
20:00
kivutar left
|
|||
jnthn | arnsholt: And 2 chars less to type! ;) | 20:00 | |
benabik | 3 if you put the closing brace on its own line. (more if you're manually indenting, but who does that?) | 20:02 | |
20:05
fgomez joined
|
|||
dalek | p-jvm-prep: 1b1c969 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement resultchild handling. |
20:07 | |
p-jvm-prep: f241d98 | jnthn++ | t/nqp/ (2 files): Two more passing test files. |
|||
nwc10 | is whatever counts the Karma running on Perl 6, or on something that wraps integers? | 20:08 | |
jnthn | karma jnthn | 20:09 | |
not running :P | |||
tadzik | ENOALOHA | ||
benabik | "seen aloha" is not a very useful command... | ||
20:11
SmokeMac_ joined,
SmokeMac_ left
|
|||
diakopter | seen #perl6 | 20:12 | |
arnsholt | jnthn: Any particular reason there's a repr_get_attr_str, but no corresponding repr_at_pos_str? | ||
(I may have asked this before, come to think of it) | 20:13 | ||
benabik | At any rate, I think aloha is running on P5. | ||
(When it's running) | |||
20:13
hoelzro is now known as hoelzro|away
|
|||
jnthn | arnsholt: NYIness | 20:13 | |
arnsholt | That's a good reason =) | 20:14 | |
20:14
atrodo joined
|
|||
dalek | p-jvm-prep: 063ec8a | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement mod_n. |
20:15 | |
p-jvm-prep: cd1b7f0 | jnthn++ | t/nqp/47-loop-control.t: Another passing test. |
|||
20:15
SmokeMachine left
20:16
benabik left
|
|||
spider-mario | “It had been a decade since Perl 6 was announced, and I figured a full official release must be around the corner. But here we are in 2013, and that day seems even further away. Sure, there are variations considered to be Perl 6, such as Rakudo Perl, which is a specific implementation of Perl 6, but isn't, technically, Perl 6.” | 20:18 | |
if that means that there isn’t a release of Perl6, it means that by definition, there won’t ever be any | |||
which is absurd | 20:19 | ||
( www.infoworld.com/d/data-center/pe...rse-211580 ) | 20:20 | ||
jnthn | hm, sounds like somebody is confused. | ||
And doesn't know the "Perl 6 is the language / spec" thing | |||
spider-mario | hm, it seems that this point has been taken care of on reddit | ||
“That's a little bit like saying "GCC isn't, technically, C." Does he think Rakudo is some kind of ActiveState treatment of Perl 6 or is he genuinely being... disingenuous?” | |||
spider-mario upvotes | 20:21 | ||
nwc10 | A default installation of Red Hat Enterprise Linux today incorporates Perl 5.10, which was released in 2007 | ||
and, um, whose "fault" is that? | |||
spider-mario | www.reddit.com/r/perl/comments/17fk...ses_tiobe/ | ||
PerlJam | Maybe the "perl is dead" story is just what people publish when they've got nothing else. | 20:23 | |
decasm | so, perl is a zombie? | ||
spider-mario | or “I don’t see blog posts about perl so it must be dead” | ||
masak | o/, #perl6 | ||
spider-mario | from people that don’t even look for them | 20:24 | |
o/ masak | |||
20:24
crazedpsyc left,
crazedpsyc joined
|
|||
spider-mario | it’s perfectly understandable that perl users have given up on speaking about perl to non-perl users, considering the feedback they usually get | 20:24 | |
“booh line noise” | |||
“$@&{} is executable in perl” | |||
tadzik | PerlJam: sure. Look at the attention they got :) | 20:25 | |
therefore it's quite reasonable to publish such things | |||
spider-mario | “I used to like perl but I realized I can’t look at the code I wrote 3 days ago.” | ||
tadzik | I'm glad (s)he's not in my team :) | 20:26 | |
20:26
benabik joined
|
|||
dalek | p-jvm-prep: 9108672 | jnthn++ | nqp-src/NQPCORE.setting: Add a cheating NQPMu. In reality, it should be a class, but we don't deserialize P6opaques just yet. |
20:27 | |
p-jvm-prep: 67fa8fd | jnthn++ | t/nqp/ (3 files): 3 more passing test files. |
|||
20:27
erkan left
|
|||
jnthn | Files=23, Tests=197 :) | 20:28 | |
TimToady | The funny thing about naysayers is that, when we eventually succeed, they'll just assume it's because we fixed whatever they were naysaying, just because they naysaid it, and not because we were assiduously non-carborunduming the illigitimi. | 20:29 | |
tadzik | jnthn: you know what it is... ragefac.es/154 ;) | ||
arnsholt | Hmm. Maybe I don't have to do the bits inout argument thing for arrays | ||
jnthn | If it's the obama... | 20:30 | |
bah! :P | |||
tadzik | :P | ||
I'm predictable | |||
arnsholt likes the Obama-not-bad-face | |||
masak | it's not bad :P | 20:31 | |
arnsholt | =D | ||
masak | today's autopun: twitter.com/alyankovic/status/2955...9839594496 | 20:32 | |
tadzik | that fits the situation better: i.imgur.com/4AC7j0n.png | 20:34 | |
20:35
pjcj left,
pjcj joined
20:36
benabik left
20:38
benabik joined
20:39
benabik left
20:41
arlinius joined
|
|||
nwc10 | I don't offhand have a way to check, but presumably a default install of RedHat also comes with Python 2.7, which Guido would rather you didn't use, and Ruby 1.8.7? or 1.8.6? Which is viewed as special biologist word | 20:46 | |
masak | "parasite"? :P | 20:49 | |
arnsholt | My work RHEL6 machine has Python 2.6.6 | 20:50 | |
No Ruby installed, so can't check that =) | |||
Perl is 5.10.1 | 20:51 | ||
nwc10 | gosh. Python 2.6.6 | 20:52 | |
or do they mean Python 2.6.8, but we thought we should keep calling it 2.6.6? www.python.org/getit/releases/2.6.8/ | 20:53 | ||
arnsholt | Who knows with RedHat. They have their own patch backporting thing, IIRC | 20:54 | |
20:54
kivutar joined
|
|||
nwc10 | Dear Infoworld, Python isn't going anywhere either. By your reasoning. | 20:55 | |
(muppets) | |||
20:55
kivutar left
20:56
fgomez left
|
|||
jnthn | Good news never sells... | 20:59 | |
nwc10 | but I've just given them the basis for another story. Surely they want to run that one too? | 21:00 | |
jnthn | Sure, if they're fair and unbiased ;) | 21:03 | |
21:04
balders_dod joined
21:06
hash_table left
21:07
balders_1od left
21:10
fhelmberger joined
|
|||
nwc10 | Why does everyone feel the need to keep restating that Perl is dead, when TCL is dead too, and no-one needs to be reminded about that. Truthiness? | 21:11 | |
[Coke] | hey. | ||
tadzik | hey, chill out :) | 21:12 | |
masak | (chill out, we're dead) | ||
21:12
kaare_ left
|
|||
nwc10 | "... In the long run we are all dead" -- John Maynard Keynes | 21:13 | |
www.tcl.tk/software/tcltk/8.6.html - Latest Release: Tcl/Tk 8.6.0 (Dec 20, 2012) | 21:14 | ||
clearly very dead. | |||
[Coke] | "you first." - Sawyer from Lost. | ||
masak | :) | ||
21:15
hash_table joined
|
|||
timotimo tries out hoelzro++ 's new pygments work | 21:15 | ||
407 changes to 133 files! he's been busy! | 21:16 | ||
does twigil refer to both letters or only the second one | 21:19 | ||
arnsholt | Canonically, the twigil is the character that comes after the sigil | ||
timotimo | is there, in theory, a thrigil? | 21:20 | |
diakopter | you're a thrigil | 21:21 | |
PerlJam | timotimo: and the generalization would be a n-igil ? | ||
timotimo | >_< | ||
jnthn | I think one of the appocalypses promised not to introduce thrigils. | 21:23 | |
dalek | p-jvm-prep: ed07f89 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (3 files): Start to stub in P6opaque deserialization. Funnily enough, since we serialize method caches, we actually survive a surprising amount without actually deserializing the meta-objects attributes. |
||
p-jvm-prep: 5e127ce | jnthn++ | nqp-src/NQPCORE.setting: Uncomment setting's EXPORTHOW; NQPMu is a class. |
|||
p-jvm-prep: c1b6aa1 | jnthn++ | nqp-src/NQPCORE.setting: new/bless/CREATE, and a stub BUILDALL. |
|||
p-jvm-prep: ef24e8b | jnthn++ | t/nqp/25-class.t: We pass 25-class.t. |
|||
colomon | \o/ | 21:25 | |
nwc10 | \o/ | ||
tadzik | whoa | ||
masak | timotimo: from A12: "We do hereby solemnly swear to never, never, ever add tertiary sigils. You have been warned." | ||
tadzik | jnthn: i.imgur.com/4AC7j0n.png | ||
colomon | A12++ | 21:26 | |
nwc10 finds github.com/perl6/nqp/commit/572578...3181049bce and is amused | |||
masak | "# test that a class can start with Q" -- heh, why would we have such a silly t... *remembers* oh. oops. sorry :P | 21:27 | |
21:27
arlinius left
|
|||
nwc10 wasn't aware of the problem at the time | 21:27 | ||
seems to be a "well, d'oh!" sort of bug | |||
masak | as opposed to all those "I meant to do that" sort of bugs. | 21:28 | |
nwc10 | well, I meant that it looks like the sort that make you laugh rather than make you cry | ||
jnthn | My word, PIR code | 21:29 | |
diakopter shudders at length | 21:30 | ||
masak | nwc10: if bugs made me cry, I'd have quit this job long ago :P | ||
nwc10 | nostalgia? | ||
diakopter | "bwahaha I'm an idiot" | 21:31 | |
21:36
fgomez joined
|
|||
jnthn wonders why dalek lost his last commit | 21:43 | ||
diakopter | note: I was quoting myself, above | 21:44 | |
tadzik | stumbled upon a staircase, perhaps | ||
colomon | tadzik++ | 21:45 | |
21:51
hash_table left
|
|||
[Coke] wonders if rakudo should eliminate support for Q:PIR | 21:52 | ||
jnthn | Files=25, Tests=202. Not bad progress :) | ||
[Coke] | (or add Q:Java ;) | ||
tadzik | haha | 21:53 | |
rjbs | jnthn: What're the total counts? 70 and 600? | ||
jnthn | rjbs: There's 65 NQP test files but 3 of them are testing Parrot-specific things. | ||
rjbs: After that there's also the regex test suite... | |||
rjbs | :-) Excellent progress, though. Something like double yesterday, isn't it? | 21:54 | |
jnthn | Yeah; mostly just doing small fixes/additions. | ||
The runtime and QAST -> JVM already supports quite a lot of things. | |||
rjbs | Cool, good luck. Looking forward to seeing how it pans out. | 21:55 | |
21:55
sqirrel left
|
|||
jnthn | Same :) | 21:55 | |
timotimo | i wonder if the meta-tracing jit design of pypy would be of any use to us rakudo users? | 22:01 | |
(meaning: replicating it rather than implementing a qast backend for pypy) | |||
jnthn | Some kind of 6model-aware trace JIT would make sense. | 22:02 | |
Well, that's true even without the "trace" bit. | |||
japhb_ | These days, there's actually a fair number of open-source JITs to look at. Lots of prior art. | ||
timotimo | right. i don't know how to do such a thing, though, so you all would have to do it :P | 22:03 | |
jnthn | "We want to build a good JIT some day" was considered in the 6model design process way back. :) | ||
japhb_ | Even several tracing style ones. (Off the top of my head, TraceMonkey and LuaJIT, and I suspect several more I'm forgetting at the moment.) | ||
timotimo | jnthn: would the jvm JIT do much to improve rakudo run-speed? do perl6 methods/functions get turned into raw jvm bytecode and will those be jitted properly, too? | 22:04 | |
i have no good mental model of all the meta-layers involved in this | |||
jnthn | We compile down to JVM bytecode, so the JIT can help to some degree | ||
I mean, if you + two native ints, it compiles down to what a + of two native ints in Java does. | 22:05 | ||
timotimo | and things that need some dynamicism will end up looking like function calls into the interpreter? like "find_appropriate_method"? i suppose find_lexical would be done at compile time already? | 22:06 | |
jnthn | It tries to avoid looking lexicals up by name at least. | 22:07 | |
For now I'm mostly interested in "make it work" | 22:13 | ||
"Make it fast" can come after that :) | |||
[Coke] | Illegal option --stable-sc | 22:15 | |
(building nqp-jvm-prep with nqp version 2012.12-49-g4084b68 built on parrot 4.10.0 revision RELEASE_4_10_0) | |||
... which I thought was the latest. | |||
diakopter | not anymore | 22:16 | |
[Coke] | with the implied "...as of about 10m ago" | ||
diakopter | oh | ||
[Coke] | (cd rakudo; git rb; perl Configure.pl --gen-parrot --gen-nqp=master --prefix=/Users/willcoleda/sandbox/sixdev/install; make -j3 install) | 22:17 | |
Shouldn't that get me the latest nqp? | |||
jnthn | Should. | 22:18 | |
[Coke] grumbles and sets this up to wipe parrot and nqp directories and suffer a full rebuild each time just in case. | 22:20 | ||
22:21
PacoAir left,
alec__ left
|
|||
jnthn | gist.github.com/4659741 # very unscientific performance comparison; top is cross-compiling to JVM, second is running directly on Parrot. Note, this is early results, there's still room for optimization. | 22:21 | |
tadzik | huhu | 22:22 | |
very impressive, esp. given JVM startup time | 22:25 | ||
say("hi") alone is 3 seconds on my box :) | 22:26 | ||
masak | I for one welcome our new JVM overlords. | ||
japhb_ | Woah. | ||
Very nice, jnthn! | |||
jnthn | oh lol | ||
masak | finally Parrot gets some competition :P | ||
jnthn | yeah, that is 1.27 on mine | ||
[Coke] | (arglebargle. I cannot do this build behind the firewall because I'm not setup for anonymous git to github anymore.) | 22:27 | |
jnthn | Well, thing to remember is that the cross-compiler is doing the cross-comp in NQP on Parrot, spitting out a .dump file, running a JVM process to turn that into a .class file, then spawning the JVM again to run the compiled output. | ||
[Coke] | as a former parrot developer, I'm horrified at those timings. | 22:28 | |
jnthn: you're making it sound like you're doing a lot more work, but still running in a fraction of the time. | |||
japhb_ | ... | ||
[Coke] | r: say 5.36/85.11 | ||
p6eval | rakudo 9c9d79: OUTPUT«0.062977» | ||
[Coke] | or are you not counting the time to cross compile at all? | 22:30 | |
(it's reading like "5s to cross compile and then run on java" vs. "85s to run on parrot") | |||
jnthn | [Coke]: The time I posted there includes the cross-compile and run time. | ||
[Coke]: Well, to compile and run on Parrot. | |||
[Coke] | so, yes, those timings are as horrifying as I thought. ;) | ||
jnthn | It's a microbenchmark; usual disclaimers apply. | 22:31 | |
masak .oO( DOOM DOOM DOOM ) | 22:34 | ||
japhb_ | www.girlswithslingshots.com/comic/gws-1136/ | ||
22:35
alec__ joined
|
|||
tadzik | jnthn: fwiw, on my box this microbenchmark is 11.12s vs 379.93s :) | 22:35 | |
timotimo | where do i have to look for a specification of the POD objects that can be accessed with $=...? or are they just always strings? | ||
tadzik | r: say 11.12/379.93 | ||
p6eval | rakudo 9c9d79: OUTPUT«0.029269» | ||
tadzik | timotimo: nope, they're full-blown objects | 22:36 | |
timotimo | that's good to know | ||
tadzik | and they aren't really spec'd, they only exist on rakudo, and are inspired by S26 | ||
timotimo | mhm, ok | ||
tadzik | they're in github.com/rakudo/rakudo/blob/nom/...ore/Pod.pm | ||
just ask me about anything :) | |||
timotimo just looked at S26 :) | |||
i was just generally curious | 22:37 | ||
tadzik | I'm supposed to know everything about them :) | ||
jnthn | tadzik: Do they prefer caviar or trombones? | ||
tadzik | caviar any time | 22:38 | |
[Coke] | bah. what sane creature would NOT choose trombones? | ||
timotimo | so, @.content will have any mixture of plain text and more complex objects that have their own @.content? | ||
jnthn | Pod block objects, apparently :P | ||
r: say 8.58 / 106.72 | 22:39 | ||
p6eval | rakudo 9c9d79: OUTPUT«0.080397» | ||
tadzik | timotimo: I think they're twines | ||
or not | |||
no, @.content is always Pod objects | |||
except when it's a formatting code | 22:40 | ||
then it's a twine | |||
masak | japhb_: ;) | ||
jnthn | OK, teaching tomorrow, so rest | ||
'night o/ | |||
japhb_ | Sleep well | ||
masak | tadzik: I'm so glad the twine concept was useful to you. it brings back fond memories of Białowieża. | 22:41 | |
tadzik | :) | ||
masak | 'night, jnthn | ||
tadzik | surprise ice rain! | ||
good knight jnthn | |||
masak | tadzik: hahaha | ||
tadzik | "Let's see the place of power!" "RETREEEEEAT" | ||
timotimo | i have no idea what a twine is, tbh | 22:42 | |
tadzik | I remember it took me some time to fully appreciate twines, finally got them around yapc::eu that year | ||
timotimo: it's a data structures for mixing strings with rich content | |||
timotimo | oh, ok | ||
tadzik | it's always odd number of elements, and a string must always be te first and the last element, even if empty | ||
that makes it easy to merge them | 22:43 | ||
masak | timotimo: it's an odd-element array with text<elem>text<elem>text etc | ||
timotimo finds it in his internet | |||
tadzik | it's a pretty simple concept, and it solves plenty of problems actually | ||
timotimo | apparently only in LLVM source code :| | ||
masak | I learned it through one of the XML modules on CPAN. | ||
22:43
hash_table joined
|
|||
tadzik | yeah, that's the only place when I found it back in the days | 22:44 | |
22:47
spider-mario left
22:48
hash_table left
|
|||
masak | 'night, #perl6 | 22:48 | |
timotimo | 'night masak :) | 22:49 | |
japhb_ | o/ | ||
tadzik | g'knight | 22:50 | |
23:02
bluescreen10 left
23:05
Su-Shee left
23:06
Su-Shee joined
23:08
cotto joined
23:13
arlinius joined
23:19
nnunley left
|
|||
FROGGS | the times of the microbenchmark must be wrong | 23:23 | |
23:26
fhelmberger left
23:32
stopbit left,
nnunley joined
|
|||
tadzik | how so? | 23:34 | |
FROGGS | well, it's unbelievable | 23:38 | |
tadzik | :) | 23:39 | |
FROGGS | I do hope the parrot guys dont read this before first coffee ó.ò | 23:40 | |
tadzik | jvm was about 50x faster on my box | ||
if I exclude startup time, then well | |||
r: say 8.12/379.93 | |||
p6eval | rakudo 9c9d79: OUTPUT«0.021372» | ||
tadzik | yeah, about 50x | 23:41 | |
that's just a stupid loop though | |||
FROGGS | ya, of course | ||
does JVM has some nativecall stuff? | |||
23:42
benabik joined
|
|||
timotimo | what microbenchmarks are going on here? | 23:43 | |
nqp on jvm benchmarks? | |||
FROGGS | right | ||
23:48
MayDaniel left
|
|||
timotimo | i'll try running nqp-jvm again | 23:52 | |
FROGGS | I'd need to install first | ||
timotimo | aaw | ||
javac: invalid source release: 1.7 | |||
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/perl6/nqp/jast2bc/JASTToJVMBytecode : Unsupported major.minor version 51.0 - er, huh? | 23:56 | ||
FROGGS | no idea | 23:58 |