»ö« 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! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
lue | what's the em dash for? | 00:00 | |
tylercurtis | std: my $x = -> { my Int $c=10; return { say $c— } }(); $x(); $x(); | 00:01 | |
p6eval | std a194beb: OUTPUT«===SORRY!===Confused at /tmp/8CFndbP3_T line 1:------> $x = -> { my Int $c=10; return { say $c⏏— } }(); $x(); $x(); expecting any of: POST bracketed infix infix or meta-infix postfix | ||
..postfix_prefix_meta_operator statement modifier l… | |||
tylercurtis | std: my $x = -> { my Int $c=10; return { say $c-- } }(); $x(); $x(); | ||
p6eval | std a194beb: OUTPUT«ok 00:01 123m» | ||
00:01
flatwhatson_ joined
00:08
ash_ left
|
|||
MindosCheng | lue: One way to tell Perl 6 that is a closure. *I guess* | 00:09 | |
rakudo: $x -> { say $c— }; $x(); $x(); | 00:10 | ||
p6eval | rakudo 015d77: OUTPUT«===SORRY!===Confused at line 22, near "$x -> { sa"» | ||
tylercurtis | MindosCheng: There's no postfix:<—> operator in Perl 6. | ||
You want postfix:<--> | 00:11 | ||
(although, of course, one could define a postfix:<—> operator) | |||
MindosCheng | rakudo: my $x = -> {say $c— }; $x(); $x(); | ||
Wrong syntax... | 00:12 | ||
tylercurtis | rakudo: my $x = -> {say $c-- }; $x(); $x(); | ||
MindosCheng | rakudo: my $c=10; say $c—; say $c—; | 00:13 | |
tylercurtis: You meant $c— part? | 00:14 | ||
tylercurtis | MindosCheng: indeed. | ||
sorear | Where did you read about this syntax? | 00:16 | |
p6eval | rakudo 015d77: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | 00:17 | |
rakudo 015d77: OUTPUT«===SORRY!===Symbol '$c' not predeclared in <anonymous> (/tmp/_xFryqqvOH:22)» | |||
rakudo 015d77: OUTPUT«===SORRY!===Confused at line 22, near "say $c\u2014; s"» | |||
MindosCheng | I think the IRC client changed the minus minus. | 00:23 | |
00:24
risou left
00:27
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
sorear | I think you'll have fun with the sub foo(Bar:D $x) {} syntax | 00:29 | |
00:30
QinGW joined
|
|||
MindosCheng | sorear: Don't know yet... | 00:31 | |
00:31
p6eval left
00:38
p6eval joined,
ChanServ sets mode: +v p6eval
00:46
p6eval left
00:50
MindosCheng joined
|
|||
MindosCheng | rakudo: my $c = 10; say $c--; say $c--; | 00:51 | |
Have to go. Bye. | 00:53 | ||
MindosCheng & | |||
00:54
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
MindosCheng | rakudo: my $c = 10; say $c--; say $c--; | 00:54 | |
p6eval | rakudo 015d77: OUTPUT«109» | 00:55 | |
00:56
MindosCheng left
00:57
MindosCheng joined
00:58
MindosCheng left
00:59
p6eval left
01:00
p6eval joined,
ChanServ sets mode: +v p6eval
01:15
p6eval left
01:27
drbean joined
01:31
anick joined,
anick left
01:33
p6eval joined,
ChanServ sets mode: +v p6eval
01:44
redicaps joined
01:46
PhatEddy joined
01:48
redicaps left
|
|||
PhatEddy | rakudo: my @a ||= @a; say qq/{@a}/; | 01:51 | |
p6eval | rakudo 015d77: OUTPUT«(timeout)» | ||
PhatEddy | rakudo: my @a ||= @a; say qq/{@a}/; | ||
p6eval | rakudo 015d77: OUTPUT«maximum recursion depth exceeded in 'Array::at_pos' at line 2963:CORE.setting in 'Array::at_pos' at line 2963:CORE.setting in 'Any::postcircumfix:<[ ]>' at line 1725:CORE.setting in 'Any::join' at line 1432:CORE.setting in 'Any::join' at line 1437:CORE.setting in | ||
..'List:… | |||
diakopter | interesting | 01:52 | |
PhatEddy | rakudo: my @a ||= 1, 2; say qq/{@a}/; | ||
p6eval | rakudo 015d77: OUTPUT«1» | ||
PhatEddy | rakudo: my @a = 1, 2; say qq/{@a}/; | ||
p6eval | rakudo 015d77: OUTPUT«1 2» | ||
PhatEddy | Am a bit of a novice - is the ||= case OK? | 01:53 | |
with 1,2 .. | |||
sorear | I suspect you need parens | 01:56 | |
but why would you want to do such a thing | |||
std: my @a ||= 1, 2 | |||
p6eval | std a194beb: OUTPUT«ok 00:01 122m» | 01:57 | |
01:57
ash_ joined
|
|||
PhatEddy | rakudo: my @a ||= (1, 2); say @a.perl | 01:57 | |
p6eval | rakudo 015d77: OUTPUT«[(1, 2)]» | 01:58 | |
PhatEddy | rakudo: my @a = 1, 2; say @a.perl | ||
p6eval | rakudo 015d77: OUTPUT«[1, 2]» | ||
PhatEddy | Unless some objection will probably file the my @a ||= @a one since it blows and leave others ... | 02:02 | |
rakudo: my @a = (1 ,2); say @a.perl | 02:05 | ||
p6eval | rakudo 015d77: OUTPUT«[1, 2]» | ||
02:08
mindos1 joined
|
|||
PhatEddy | rakudo: my $a = my ($b, $c) = 1, 2; say $a | 02:09 | |
p6eval | rakudo 015d77: OUTPUT«1 2» | ||
sorear | what you're doing doesn't make a whole lot of sens | 02:25 | |
02:34
ch3ck3r joined
02:37
kanishka joined
02:46
PhatEddy left
02:52
ash_ left
02:53
alester joined
02:57
agentzh joined
03:04
dalek joined,
ChanServ sets mode: +v dalek
03:13
scottdware joined,
scottdware left
03:15
satyavvd joined
|
|||
dalek | ecza: c4c533a | sorear++ | lib/JSYNC.cs: [jsync] Fix parsing of hex escapes |
04:04 | |
ecza: 17d8d1b | sorear++ | lib/JSYNC.cs: [jsync] Check character set of anchors |
|||
04:14
leprevost joined
04:23
leprevost left
|
|||
dalek | ecza: c877daa | sorear++ | lib/JSYNC.cs: [jsync] Implement reading of encapsulated documents |
04:25 | |
04:27
plobsing joined
04:46
kaare joined,
kaare is now known as Guest4737
|
|||
dalek | ecza: 0c5d47e | sorear++ | / (3 files): [jsync] Implement thawing of object data |
05:02 | |
05:27
nymacro joined
05:40
redicaps joined,
frettled joined
05:45
pnu joined
05:49
hax joined
05:51
LionMade0fLions joined
06:25
satyavvd left
|
|||
moritz_ | good morning | 06:37 | |
phenny: tell masak your strangelyconsistent atom feed contains <name>$author</name> | 06:38 | ||
phenny | moritz_: I'll pass that on when masak is around. | ||
sorear | hi moritz_ | 06:39 | |
06:39
tylercurtis left
|
|||
dalek | : fdd4c7a | moritz++ | misc/perl6advent-2010/articles/main-sub.pod: [perl6advent] add an article about MAIN subs |
06:42 | |
06:42
alester left
|
|||
sorear | Didn't we do MAIN last year? | 06:43 | |
sorear wonders exactly what the goal for these articles is | |||
moritz_ | sorear: just multis in general | ||
sorear: the goal is to enthuse and educate people about Perl 6 | 06:44 | ||
06:58
wtw joined
|
|||
dalek | ecza: 1d78ea1 | sorear++ | / (2 files): Add &spew |
06:59 | |
ecza: 8628f27 | sorear++ | / (2 files): Add JSYNC.pm6 |
|||
moritz_ | phenny: ask jnthn to please re-test gen_parrot.pl. I think your fix was RONG, and the code that it fixed was RONG too (I forgot to update it) | 07:08 | |
phenny | moritz_: I'll pass that on when jnthn is around. | ||
dalek | kudo: d1ca2e3 | moritz++ | build/gen_parrot.pl: remove a fossile in gen_parrot.pl; needs re-testing under windows |
07:09 | |
07:12
rodarmor joined
|
|||
rodarmor | Hi there :) | 07:12 | |
sorear | Hi! | ||
Welcome. | |||
rodarmor | Haha, I like this channel already. | ||
I'm trying to install rakudo-star-2010.10 on my mac, and it's segfaulting. | |||
Am I hosed? | |||
sorear | How are you trying to install it? | 07:13 | |
rodarmor | (rakudo isn't segfaulting gmake is segfaulting) | ||
perl Configure.pl --gen-parrot --prefix=/opt/rakudo | |||
and then | |||
gmake | |||
sorear | and then gmake crashes!? | ||
rodarmor | haha, I'm probably still being inaccurate | 07:14 | |
the exact error is: | |||
whoop's irc doesn't like my slashes | |||
Can I quote something in IRC? | |||
(so that it doesn't get interpreted as IRC commands) | |||
sorear | / /stuffwithslashes | 07:15 | |
but it's better if you not paste long stuff; use pastie.com or something like that | |||
>3 lines | |||
rodarmor | ah, sweet, thx | 07:16 | |
pastie.org/1298983 | |||
Do you know if other mac users have successfully compiled/installed rakudo-star-2010.10? | 07:17 | ||
sorear | oh, so it *is* Rakudo segfaulting | ||
that makes more sense than gmake doing it :D | |||
what kind of mac? ppc, ppc64, amd64, x86? | |||
rodarmor | You'd be surprised, I've had some weirdo gmake bugs. | ||
It's a first generation macbook pro | |||
so it's x86 32 bit, about 4 years old | 07:18 | ||
sorear | uname -m? | ||
a | |||
ah | |||
rodarmor | i386 | ||
moritz_ | rodarmor: yes, some of our developers are mac users | 07:19 | |
rodarmor | moritz_: good to know! | ||
moritz_ | rodarmor: how much free memory do you have on that machine? | 07:20 | |
rodarmor | I don't know how accurate it is, but Activity Monitor is showing 784MB free | ||
Plus 425MB inactive | 07:21 | ||
moritz_ | that should be enough | ||
rodarmor: you could try to build the latest rakudo from source, following the instructions on rakudo.org/how-to-get-rakudo | 07:22 | ||
that way you just get the compiler, not the distribution | |||
but there's hope that you at least get *something* :-) | |||
rodarmor | I was a little nervous about that. What else do I need to have the distribution, and what's missing? | 07:23 | |
moritz_ | the distribution also contains some mdoules | 07:24 | |
which you can probably install with github.com/tadzik/neutro/ once you've got Rakudo running | 07:25 | ||
rodarmor | will perl6 itself be complete though, without the modules? | 07:26 | |
moritz_ | yes | 07:27 | |
rodarmor | Okay, sweet :) | 07:28 | |
I'll give that a shot. | |||
although I'm going back on my never-try-to-build-bleeding-edge-packages-from-source policy... | |||
07:30
_xiaomo_ joined
07:31
rodarmor1 joined,
rodarmor left
|
|||
rodarmor1 | wow, this time it actually took down my whole box :) | 07:32 | |
07:34
kanishka left
|
|||
sorear | any luck? | 07:41 | |
07:43
rodarmor joined,
rodarmor1 left
|
|||
rodarmor | I really hate computers sometimes :P | 07:43 | |
i'm trying to compile the latest from github now | 07:44 | ||
macports provides parrot 2.6.0, is that good enough for the latest version of rakudo? | 07:46 | ||
07:48
gaww\w joined
|
|||
mindos1 | rodarmor: I use brew instead of Macports. I can build successfully. | 07:52 | |
07:53
rodarmor left
|
|||
mindos1 | rodarmor: I am using OS X Server 10.5.6 | 07:54 | |
07:56
rodarmor1 joined
|
|||
rodarmor1 | brew looks pretty cool | 07:56 | |
how does the package selection compare to macports? | |||
well, the actual compilations seem to be crashing my computer :( | 08:01 | ||
I think I'm going to give up for now. | |||
man do i want to try out perl6 though! | |||
08:08
rodarmor1 left
|
|||
mindos1 | rodarmor1: You can try /msg p6eval perl6: say "hello world" | 08:09 | |
08:10
gaww\w left
08:12
flatwhatson_ left
|
|||
mindos1 | rodarmor1: I am new here. But I think perl6 uses its own parrot. When build, you will get that parrot on local, too. | 08:15 | |
08:16
ascent_ joined
|
|||
moritz_ | there's exactly one rakudo release that works with parrot 2.6.0 | 08:17 | |
dukeleto | moritz_: how is rakudo on parrot.git working? noticing any bugs? | 08:25 | |
moritz_ | dukeleto: nothing git specific so far | ||
but yes, it's full of bugs... just take a look at RT :-) | 08:26 | ||
dukeleto | moritz_: i am sure you will have the appropriate amount of fun | 08:28 | |
moritz_ | :-) | ||
08:36
fhelmberger joined
08:37
cjk101010 joined
|
|||
dukeleto | moritz_: perlgeek.de/blog-en/perl-6/pvc-perl...coach.html looks like something that could be a good Google Code-In task | 08:40 | |
moritz_: such as writing up docs for it | |||
moritz_ | might be | ||
dukeleto | moritz_: or even just a blog post about perl 6 applications and libraries written in the last year | 08:41 | |
moritz_ | so, code-ins are really small pieces of work? | 08:42 | |
dukeleto | moritz_: yes. leto.net/perl/2010/11/parrot-founda...de-in.html | ||
moritz_: trac.parrot.org/parrot/wiki/GoogleC...n2010Tasks | |||
moritz_: small "tasks" which are specific sets of "work", which can be many things in addition to code | |||
dalek | kudo: 3131a2a | moritz++ | README: expunge subversion references from README |
08:43 | |
kudo: 9ca0de5 | moritz++ | docs/ (2 files): [docs] fix a few links |
|||
09:01
mavrc joined
|
|||
flussence | I think I found a bug in rakudo's .gitignore, "/parrot" and "/parrot_install" probably shouldn't have those leading /'s because git clean doesn't remove them, even though it says it does. | 09:06 | |
(and the other lines with leading slash in them...) | 09:07 | ||
moritz_ | flussence: my 'git status' doesn't show parrot | 09:08 | |
otoh it doesn't hurt to remove leading slashes | 09:09 | ||
flussence | huh, it seems to ignore stuff with its own .git subdir... | ||
moritz_ | it didn't show parrot_install either | 09:10 | |
09:11
redicaps left
|
|||
flussence | strace says git-clean prints the "Removing" line, then straight away it checks for a .git/ and does nothing if that's there. I suppose it's intentional behaviour, but their manpage doesn't say it'll do that... :/ | 09:14 | |
moritz_ | then submit a doc patch | 09:15 | |
sorear | Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different git repository, it is not removed by default. Use -f option twice if you really | ||
want to remove such a directory. | |||
flussence | Oh... that's that then. | 09:17 | |
.oO(I really shouldn't be messing with this stuff first thing in the morning) |
|||
moritz_ wonders what happens if you put a complete svn checkout under git version control | 09:18 | ||
09:27
dakkar joined
|
|||
dalek | ecza: 626548d | sorear++ | v6/ (2 files): [v6] Implement symbol dumping |
09:28 | |
09:37
QinGW left
|
|||
sorear out | 09:38 | ||
09:43
wamba joined
09:45
lucs left
|
|||
moritz_ | sorear was right about people being disturbed by github outage: www.reddit.com/r/programming/commen...d_between/ :-) | 09:46 | |
09:48
_xiaomo_ left
09:56
daxim joined
|
|||
szbalint | "ARGH the centralized HUB of my decentralized version control system is down! Now I can't get work done because I can't route around the failure with my decentralized version control system. | 10:05 | |
10:08
meppl joined,
wallberg joined
10:20
plobsing left
10:29
masonkramer left,
masonkramer joined
|
|||
colomon | szbalint: to be fair, having github down makes all of the current p6 module installers useless, for instance. Just because all the source is still out there and safe doesn't mean losing your hub is painless... | 10:41 | |
szbalint | I realise that. I had to postpone a new module release because I couldn't sync changes from github myself. It's still funny though :) | 10:47 | |
sort of like "making backups doesn't mean they work" | |||
10:48
tzhs joined
|
|||
moritz_ | but when somebody accidentally deleted the parrot repo on github (was an admin, shouldn't haven been), somebody else just re-pushed his local copy. | 10:49 | |
I find it awesome that such things work | |||
10:51
bbkr joined,
Chillance joined
11:02
Chillance left
|
|||
mathw | You can be as distributed as you like, but when it's working having a central hub as the definitive place for things is the easiest way to work | 11:02 | |
and github doesn't go down very often, after all | |||
11:05
Chillance joined
11:07
tzhs left
11:11
agentzh left
11:23
ggoebel joined
11:26
kanishka joined
11:34
ch3ck3r left
11:35
ch3ck joined
11:36
ggoebel left,
jfried joined
11:38
daxim left
11:40
daxim joined
11:54
ggoebel joined
11:58
_xiaomo_ joined
12:04
masonkramer left
12:10
tzhs joined
12:20
kanishka left
12:28
orafu joined
12:30
mariano__ joined
12:33
pnu left
12:35
kanishka joined
12:58
mindos2 joined
12:59
mindos2 left
13:02
MindosCheng joined
13:07
Guest4737 left
13:18
PhatEddy joined
13:21
takadonet joined
|
|||
takadonet | morning all | 13:21 | |
PhatEddy | rakudo: my (@a, @b); @a = (1, 2); say @a.perl; @b ||= (1, 2); say @b.perl | ||
p6eval | rakudo 015d77: OUTPUT«[1, 2][(1, 2)]» | ||
PhatEddy | sorear: ping - last night you complained I wasn't making sense - I partially agree but with this example not completely ... | 13:22 | |
mathw | o/ | 13:23 | |
colomon | \o | 13:24 | |
MindosCheng | o// | ||
13:25
MayDaniel joined
|
|||
mathw | yay people | 13:28 | |
everywhere seems very quiet today | |||
13:34
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
PhatEddy | phenny: tell sorear to check back here in irc when he has chance ... irclog.perlgeek.de/perl6/2010-11-15#i_2995501 | 13:34 | |
phenny | PhatEddy: I'll pass that on when sorear is around. | ||
13:37
MayDaniel left
|
|||
jnthn | o/ | 13:44 | |
phenny | jnthn: 07:08Z <moritz_> ask jnthn to please re-test gen_parrot.pl. I think your fix was RONG, and the code that it fixed was RONG too (I forgot to update it) | ||
jnthn | moritz_: Can do when I get home. | 13:45 | |
moritz_ | no hurry, should just be before the release | 13:46 | |
13:47
_kaare joined
13:51
mariano__ left
13:52
mariano__ joined,
pnu joined
13:53
timbunce joined
|
|||
colomon is looking at this, and thinking he wants it for Perl 6: pdf.cx/6gc94 | 13:55 | ||
dalek | kudo: c766295 | moritz++ | build/gen_parrot.pl: [gen_parrot.pl] git fetch in the right directory |
13:57 | |
kudo: 89b9544 | moritz++ | build/gen_parrot.pl: [gen_parrot.pl] avoid redundant fetching directly after git clone |
|||
13:57
timbunce left
13:58
timbunce_ joined
14:00
_xiaomo_ left
14:02
timbunce_ left,
mariano__ left,
mariano__ joined
14:05
PhatEddy left,
mariano__ left
14:10
timbunce joined
|
|||
moritz_ | colomon: fast evaluation in CPU would be a decent first step :-) | 14:12 | |
colomon | that's not sexy, it's just necessary. ;) | 14:14 | |
dalek | ast: c941342 | (Kodi Arfer)++ | S03-metaops/hyper.t: [hyper.t] Added a test for a bug fixed in Rakudo f0e270f. |
14:16 | |
kudo: f0e270f | KodiB++ | src/core/metaops.pm: [metaops] Don't itemize the result of a recursive call to &hyper. |
14:18 | ||
14:22
mariano__ joined
14:31
kanishka left
14:32
timbunce left
14:38
KyleHa joined
|
|||
moritz_ | pack.t fails one test | 14:39 | |
14:48
gavv\w joined
14:49
alester joined
14:51
PacoLinux joined
14:53
icwiener joined
|
|||
tadzik | o/ | 14:58 | |
colomon | \o | 14:59 | |
tadzik | moritz_++ # advent calenar work | 15:00 | |
colomon | do you have a quick link for that? | 15:03 | |
15:03
kanishka joined
|
|||
moritz_ | mu repo misc/perl6advent-2010/ | 15:03 | |
15:04
sftp joined
15:06
kanishka1 joined
15:07
kanishka left
|
|||
colomon | moritz_++ | 15:15 | |
not that that was a quick link, but it got me to get off my arse and download mu, so it's an all-around win. | |||
woah, you've actually got an article done already!?! | 15:16 | ||
err... why does add.pl with no arguments return 7? | 15:17 | ||
15:17
silug joined
|
|||
slavik1 | colomon: that's a bug, it should return 42 :P | 15:19 | |
15:20
MayDaniel joined
15:21
kanishka1 left,
wamba left
15:23
tzhs left
|
|||
tadzik | yay REPL | 15:26 | |
colomon: default params? | 15:27 | ||
err, values | |||
ah, I see what you mean | 15:28 | ||
15:31
mkramer joined
15:32
oyse joined,
masak joined
|
|||
masak | oh hai, #perl6! | 15:33 | |
phenny | masak: 06:38Z <moritz_> tell masak your strangelyconsistent atom feed contains <name>$author</name> | ||
masak | moritz_: thanks, fixed. | ||
jnthn | o/ masak | 15:34 | |
masak: Journey home work out OK? | |||
masak | jnthn: \o | ||
yes. :) | |||
jnthn | yay :) | ||
masak | it was... a weird experience. | ||
jnthn | Oh? | 15:35 | |
masak | sleep was fitful, and I think I spent something like three hours packing and closing up my backpack :) | ||
flat tire on the bike. just as well, I might have been too tired to ride it. | 15:36 | ||
bed looked too attractive when I got home. crashed and slept for six hours. | |||
jnthn | :) | ||
So now you're...really out of sync! | 15:37 | ||
masak | I have no idea when I'll fall asleep tonight. :) | ||
yes. my sleep is now disjunct from Standard Sleep. | 15:38 | ||
15:39
Axius joined
|
|||
masak | on the plus side, I've now read through the whole DOM API specification. | 15:39 | |
jnthn | \o/ | ||
You've set up your brain the DOM. :) | |||
masak | yeah :) | 15:40 | |
well, someone did. | |||
tadzik | masak: o/ | 15:41 | |
15:42
wtw left
|
|||
masak | tadzik: greetings. | 15:42 | |
15:46
Axius left
|
|||
masak | interesting bit of community musings: blog.laufeyjarson.com/2010/11/ugly-old-perl/ news.ycombinator.com/item?id=1906070 | 15:47 | |
he starts out complaining that Perl 5 people aren't always paying attention to improvements in the language. | |||
15:47
echoprinter joined
|
|||
masak | then he ends suggesting that both Perl 5 and Perl 6 should change their names for PR reasons. | 15:48 | |
15:50
risou joined
|
|||
tadzik | wtf PR | 15:52 | |
bah, phenny should have that feature | |||
Public Relations? | |||
masak | I'd be disinclined to support the introduction of a command 'wtf' on the channel. we tend to use that when we're seeing highly unexpected p6eval output. | 15:53 | |
in general, I think the need for infobot functionality on a channel is a community design smell. | |||
frettled | Such things can be supported by the user doing /msg infobot, and infobot doing /notice user | 15:54 | |
(and should) | 15:55 | ||
masak | ooh | ||
and /topic could give info on how to get started. | |||
frettled | Best practice for IRC bots states that bots should never send PRIVMSG themselves, not even to a channel. | ||
tadzik | so what's PR? | ||
:) | |||
frettled | Also, bots shall not respond to NOTICE. | ||
tadzik: public relations. | |||
15:56
oyse left
|
|||
frettled | Bonus: bot responses are all the more visible when they use /notice to a channel than regular msg; it's far easier to see that it comes from a bot. | 15:56 | |
masak | tadzik: basically, it's how the external world perceives your project/company/organization. | 15:57 | |
tadzik | mhm | ||
masak | frettled: sounds nice. | ||
flussence | irssi's "/help notice" is pretty informative in this case | 15:58 | |
16:02
rvrgs joined
|
|||
masak | oh! petdance++ has already covered that blog post: perlbuzz.com/2010/11/progressing-vs...gging.html | 16:02 | |
16:05
justatheory joined
16:07
wamba joined
16:08
hercynium joined
16:11
MindosCheng left
|
|||
alester | You mean alester? :-) | 16:17 | |
16:19
pmb joined
|
|||
ch3ck | hi pmb | 16:20 | |
pmb | hi ch3ck | ||
masak | alester: oh, right :) | 16:21 | |
16:23
mariano__ left
|
|||
ch3ck | morrn masak | 16:24 | |
masak | :) | ||
well, it's not that bad, but almost. | |||
planning to go swimming soon. | 16:25 | ||
TimToady blurs into existence in a vague sort of way | |||
masak | TimToady: fuzzy greetings. | ||
16:30
sftp left
16:31
sftp joined
16:35
mariano__ joined
16:39
masak left
16:42
_xiaomo_ joined
|
|||
dalek | : 536f6ab | (Solomon Foster)++ | misc/perl6advent-2010/topic-brainstorming: Couple more ideas. |
16:46 | |
16:51
mila__ joined
16:52
_xiaomo_ left
17:19
pyrimidine joined
|
|||
takadonet | pyrimidine: hey | 17:19 | |
pyrimidine | o/ | ||
17:27
Bzek joined
|
|||
TimToady | colomon: GPU support depends mostly on getting S09 implemented someday | 17:30 | |
17:31
timbunce joined
17:36
timbunce left,
mkramer left
17:37
stkowski joined
17:38
impious joined
17:42
cdarroch joined,
cdarroch left,
cdarroch joined,
envi left
17:43
mkramer joined
17:54
MayDaniel left
17:56
sirhc left
18:05
dakkar left
18:11
rvrgs left
18:28
wallberg left
|
|||
frettled | Mellow greetings, citizen. What seems to be your boggle? | 18:32 | |
moritz_ | TimToady: seems that jnthn++ is working on it :-) | 18:33 | |
18:37
plobsing joined
|
|||
dalek | kudo: 248bab6 | moritz++ | .gitignore: remove leading slashes from .gitignore, since flussence++ reported that those slashes can cause problems |
18:48 | |
kudo: 9256321 | moritz++ | docs/ChangeLog: [docs] update ChangeLog |
|||
18:51
nymacro left
18:54
arnsholt joined
18:57
jfried left
19:06
hercynium_ joined,
hercynium_ left,
hercynium_ joined
19:10
hercynium left,
hercynium_ is now known as hercynium,
ederksen joined
19:11
ederksen left
19:22
echoprinter left
19:25
nomad1 joined
19:26
nomad1 left
19:31
MayDaniel joined
19:32
nomad1 joined
19:34
justatheory left
19:35
justatheory joined
19:37
fhelmberger left
19:45
hercynium left
19:46
hercynium joined
19:50
fhelmberger joined
19:51
rgrau joined
19:53
masak joined
|
|||
masak | ahoy! | 19:53 | |
diakopter | chips! | ||
colomon | fish! | 19:56 | |
sjohnson | & | 19:57 | |
moritz_ | Kartoffelpuffer! | 19:58 | |
uplaoad.wikimedia.org/wikipedia/com...puffer.jpg FYI | |||
diakopter | upload.wikimedia.org/wikipedia/comm...puffer.jpg | 19:59 | |
19:59
meraxes joined
|
|||
colomon | Yum! | 19:59 | |
daxim | because it's chrimas time: hu.wikipedia.org/wiki/L%C3%A1ngos | 20:00 | |
20:07
nothingmuch joined
|
|||
masak | nothingmuch! \o/ | 20:07 | |
huf | i can never eat a whole langos, it's too oily | ||
nothingmuch | masak: ? | ||
20:07
impious left
|
|||
masak | nothingmuch: hi!!1! | 20:08 | |
:) | |||
nothingmuch | i mean, it's quite nice to be greeted so enthusiastically, but I don't know that I deserve it ;-) | ||
masak | of course you do. :) | ||
nothingmuch | were you just talking about me or something? i swear it wasn't my fault | ||
masak | no, I tend to greet people that way on this channel. | ||
20:08
daxim left
|
|||
nothingmuch | ah | 20:09 | |
masak | informal research indicates it lifts the mood. :) | ||
nothingmuch closed irssi for the first time in months today, i guess that's whY i'm not used to it =) | |||
masak | nothingmuch: on the topic of whether you deserve arms raised in greeting: to the extent that you were/are involved in the development in Moose and KiokuDB -- thank you. | 20:11 | |
nothingmuch | =) | 20:12 | |
masak | moritz_: I made Raggmunk/Kartoffelpuffer the other day! :) | 20:15 | |
20:16
risou left
|
|||
colomon | I just finished cleaning up some dead code from one of my $work projects: 1200 lines of code deleted! | 20:17 | |
whoops, 2200 lines of code deleted! | |||
takadonet | colomon: which language? | ||
masak | wow. | ||
colomon | C++ | ||
takadonet | nice | ||
colomon | that's more than half. | ||
(in that source file) | |||
20:20
impious joined
20:21
pyrimidine left,
pyrimidine joined
20:23
fhelmberger left
20:27
MayDaniel left
20:30
nothingmuch left
20:34
masak left
20:38
mavrc left,
zby_home_ joined
20:39
molaf joined
20:44
[particle] joined
20:50
stkowski left
20:52
stkowski joined
20:59
dual joined
21:13
simcop2387 joined
21:20
nomad1 left
21:22
y3llow_ joined
21:23
pothos joined
21:24
y3llow_ is now known as y3llow
21:25
simcop2387 left
21:27
simcop2387 joined,
KyleHa left
21:29
KyleHa joined
21:33
broquaint joined
21:35
icwiener left
21:36
icwiener joined
21:37
timbunce joined
21:38
colomon joined,
mariano__ left
21:41
justatheory left,
colomon left
21:44
alester left
21:50
alester joined
21:52
alester left,
icwiener left
21:55
alester joined
21:56
masak joined
|
|||
masak | o/ | 21:56 | |
22:02
justatheory joined,
muixirt joined
|
|||
muixirt | hi folks, how is the parrot git transition going w.r.t. rakudo (star)? | 22:03 | |
sjohnson | masak! | ||
jnthn | lolitsmasak | 22:04 | |
moritz_ | muixirt: rakudo now builds from parrot-on-git | ||
haven't looked at star yet | |||
sleep & | |||
muixirt | good n8 moritz_ | 22:05 | |
22:05
mariano__ joined
|
|||
masak | "n8"? doesn't that expand to "neight"? | 22:06 | |
sjohnson | heh | ||
jnthn | how h8ful | ||
sjohnson | nite nite m8 | 22:07 | |
mkramer | unless you have a thick cockney accent | ||
masak | I imagine "good n8" is what horses would say, could they form words. | ||
muixirt | n8 == the bus line for moritz_ | ||
mkramer | then it's good noight | ||
Tene | .u 🚄 | ||
phenny | U+1F684 (No name found) | ||
jnthn | I 8 a gr8 pl8 of noms quite l8. | 22:08 | |
masak | might as well go with the Yiddish "good noyt". | ||
Tene briefly entertains the idea of the following as an alternative to '==>' www.fileformat.info/info/unicode/ch.../index.htm | |||
jnthn puts a bullet through the idea | 22:09 | ||
;) | |||
Tene | masak: I've mostly seen germans use 'n8', iirc. Might be a dialect variation. | ||
masak | Tene: the Unicode Consortium needs to be stopped. | ||
jnthn | Or some training on what characters to include... | 22:10 | |
...before they go totally off the rails. | |||
masak | Tene: that makes sense because de:'ei' is pronounced en:/eye/ | ||
muixirt | Tene: right, from German to German :-) | ||
Tene | jnthn: they've really run away with this | 22:11 | |
masak | /aɪ/ | ||
Tene | I just don't see the track they used to get here | ||
masak | maybe they lost their train of thought. | ||
22:12
mariano__ left
|
|||
mkramer | whatever happened to their engineers? | 22:13 | |
Tene | Are we really all aboard this? Who's checking their ticket? | ||
mkramer | the tyrannical addition of pointless codepoints is really not fare | 22:14 | |
jnthn | It's a signal of bad things to come. | ||
muixirt | jnthn: that is the minimum requirement for a vm (bytecode interpreter) for rakudo to be a worthy target for a backend? | 22:15 | |
diakopter | muixirt: a thoroughly integrated GC with value & reference types | 22:16 | |
muixirt | diakopter: "a thoroughly integrated GC" | ||
diakopter | sorry, badly worded | 22:17 | |
muixirt | a vm built around "a thoroughly integrated GC"? | ||
22:17
justatheory_ joined,
justatheory left,
justatheory_ is now known as justatheory
|
|||
jnthn | muixirt: Is that "minimum to possibly make it work" or "minimum for me to consider it interesting"? :) | 22:17 | |
muixirt | jnthn: both would be interesting to me :-) | 22:18 | |
jnthn | muixirt: I'd generally want it to have decent GC, support for native types, support for dynamic library loading and runtime code-gen... | ||
Tene | jnthn: I'm curious about the difference. | ||
22:19
justatheory_ joined,
justatheory left,
simcop2387 left,
justatheory_ is now known as justatheory
|
|||
muixirt | jnthn: GC? Your wished might be to much formed be parrot, I meant it more the general way ... | 22:19 | |
22:20
_kaare left
22:21
zby_home_ left
22:22
colomon joined
|
|||
muixirt | Decent GC? Ok. Native types? Ok, too. Dynamic library loading? Where is that solved in a perfect way? Runtime code generation? | 22:22 | |
diakopter | runtime code generation/loading like in the JVM or CLR | 22:23 | |
jnthn | Right. | ||
What they provide (JVM through the ClassLoader, CLR through...whatever it was I used...Assmbly Loader) is sufficient. | 22:24 | ||
diakopter | also, it doesn't need to be a bytecode "interpreter" _per_se_ to be a sufficient VM | 22:25 | |
it can load programs by reading bytecode but JIT them to native, of course. | |||
22:26
KyleHa left
|
|||
diakopter | or do any number of optimizations or pessimizations or frivolous transformations along the way :D | 22:26 | |
muixirt | diakopter: well some people like (Tene?) don't make a difference between bytecode and a VM | 22:27 | |
diakopter | the "virtual" aspect in the term "virtual machine" is just that the operations/code that is executed is controlled tightly by the runtime; it doesn't need to be an interpreter to do that | 22:28 | |
Tene | muixirt: Eh? | ||
mkramer | What of this is LLVM missing? | 22:29 | |
jnthn | muixirt: From my point of view at the moment, I want to make stuff work and want to understand performance. The graphical debugger in Visual Studio, and the RedGate profiler, mean a lot to me and make .Net dev quite pleasant, for example. | ||
muixirt | but "backend" is likely to be some immediate representation (aka bytecode) | ||
diakopter | mkramer: the GC | ||
jnthn | muixirt: I'm also very keen to explore the bits of the Perl 6 spec that are less explored, especially concurrency and parallelism. | ||
22:29
simcop2387 joined
|
|||
colomon | jnthn++ | 22:29 | |
diakopter | mkramer: and the runtime code generation/loading bindings... (you'd have to do yourself) | 22:30 | |
jnthn | muixirt: So being intersting to me at the present is muchly about toolchain, good threading support and stability. | ||
muixirt | Tene: once I said that I hate bytecode and you argued that virtually everything is a VM (== bytecode?) | ||
22:32
stkowski left
|
|||
muixirt | jnthn: well that means only the JVM and CLR are worthwhile. Or do I miss something? | 22:32 | |
diakopter | muixirt: I'm guessing that ghc & lua & PLTScheme & plenty others would be... | 22:34 | |
muixirt | Tene: I have had the impression that you think bytecode and a VM are interchangeable terms (from a discussion some weeks ago) | ||
diakopter: ok, you seem be more knowledgable than me, please explain | 22:35 | ||
concurrency and parallelism | 22:36 | ||
22:37
donaldh joined,
justatheory left
|
|||
muixirt | jnthn: last time I checked concurrency and parallelism were somewhat vague in the specs, did that change? | 22:37 | |
jnthn | muixirt: IN the Perl 6 specs? | 22:38 | |
muixirt: In which case - yes, that's why they desparately need an implementation we can play around with so the spec can go somewhere concrete. | 22:39 | ||
muixirt | jnthn: or is that totally clear for implementors? | ||
diakopter | muixirt: I just mean, I thought those VM/compilers provided all of those requirements | ||
muixirt | jnthn: a somewhat vicious circle ;-) | ||
mkramer | diakopter: thanks, interesting | 22:40 | |
22:40
XaRDaX joined
|
|||
jnthn | muixirt: Yes, but history shows that implementations tend to be the best chance of breaking it :) | 22:40 | |
22:40
KyleHa joined
|
|||
muixirt | jnthn: good luck :-) | 22:40 | |
masak | rakudo: "foo" ~~ /f(o)o/; say "$0" | 22:43 | |
p6eval | rakudo 015d77: OUTPUT«o» | ||
masak | rakudo: "foo" ~~ /f(o)o/; say "$0li" | ||
p6eval | rakudo 015d77: OUTPUT«===SORRY!===Method 'ast' not found for invocant of class 'Undef'» | ||
masak | std: "foo" ~~ /f(o)o/; say "$0li" | ||
p6eval | std a194beb: OUTPUT«ok 00:01 123m» | ||
masak | std: "foo" ~~ /f(o)o/; say "$totally_made_up_variable" | ||
p6eval | std a194beb: OUTPUT«===SORRY!===Variable $totally_made_up_variable is not predeclared at /tmp/PIxrbeCoU3 line 1:------> /f(o)o/; say "$totally_made_up_variable⏏"Check failedFAILED 00:01 123m» | ||
masak submits rakudobug | 22:44 | ||
diakopter | mkramer: I just don't know enough to know whether or how well existing GC engines can be hooked into a compiler using llvm. | ||
masak | oh; it's already in there: rt.perl.org/rt3/Ticket/Display.html?id=74180 | ||
22:45
KyleHa left
|
|||
diakopter | mkramer: for all I know, it's very easy, or it would take an enormous amount of work. I have no idea. | 22:45 | |
22:46
wamba left
|
|||
Tene | muixirt: having both a VM and bytecode doesn't mean that they're the same thing. If I always have a paper every time I use a pen, that doesn't mean that paper==pen. | 22:50 | |
muixirt | Tene: exactly. Bytecode as an "API" is what bothers me. Looking forward to projects that generate machine code while compiling p6 code. | 22:53 | |
It seems that route wasn't thought of, right? | 22:54 | ||
Tene | Perl 6 isn't natively representable as x86 machine code. You need higher-level abstractions that aren't present in x86 machine code. | ||
muixirt | Tene: well at the end you need a system that executes machine code, x86 or any other cpu. | 22:55 | |
Tene | muixirt: Yes, I know. | ||
masak | muixirt: that's not the same as saying you can compile down to it. | 22:56 | |
22:57
whiteknight joined
|
|||
muixirt | well, of course that generated machine code isn't like anything an assembly coder would write. | 22:58 | |
masak | muixirt: you reply tells me you don't understand. | ||
s/you/your/ | |||
Tene | It could be that I'm horribly off-base. I certainly don't claim to be exhaustively-informed, but as far as I can think of, you'll always have a significant runtime operating on and manipulating a representation of a Perl 6 program at a higher level than x86 bytecode. | ||
muixirt | I'm not saying it is "as easy" like compiling C code to assembly | ||
masak | muixirt: Tene (and I) tell you it can't be done. | 22:59 | |
as in, impossible. | |||
Tene | It *may* be possible to write a compiler that could recognize those Perl 6 programs that can have an x86-machine-code representation, and produce that code for those programs or sections of programs, and do something else (larger runtime layer, fail) for those programs that can't. | 23:00 | |
The approach most people here are taking is to first write a full compiler/runtime, and then work on doing exactly that, through JIT or other methods. | 23:01 | ||
'say "OMG HAI"' certainly does have a compact x86 machine code representation. | |||
muixirt | masak: I'm really interested in *what* I don't understand, please tell me (and I mean that) | 23:02 | |
masak | muixirt: I'll try. let me know how I'm doing. | ||
muixirt | ok | 23:03 | |
Tene | muixirt: Perl 6 has features not compactly representable in x86 machine code. Consider complex OO with roles being applied at runtime. | ||
masak | muixirt: both Perl 5 and Perl 6 have parts that are sufficiently dynamic and too abstracted to be compiled down to machine code. | ||
Tene | Consider what the x86 code would look like to dispatch to a multimethod on an object that has had a role applied to it at runtime. | ||
masak | whar Tene said. | ||
s/whar/what/ | 23:04 | ||
Tene | You'll have to have a significant runtime library operating on abstract representations of these things. | ||
23:04
stkowski joined
|
|||
Tene | Consider the case like: if (random() < 0.5) { $foo does RoleA } else { $foo does RoleB }; | 23:05 | |
masak | and the runtime library will equal the VM. | ||
Tene | Even if some simple cases can be proven to not require complex manipulation at runtime, others do need it. | ||
masak | and you have to build the compiler for the general case. | ||
Tene | You still need *something* to determine what code to execute there. | 23:07 | |
It's certainly possible and desirable to have a compiler that only loads those things needed for the program at hand. Right now, we're primarily focused on getting all of those things implemented at all, before worrying about choosing what to load and when. | 23:08 | ||
muixirt | Tene: one problem might be that you think too much of egde cases, if someone does something like your if (random() < 0.5) example I'm happy that the compiler generates megabytes of bloated and slow machine code | 23:11 | |
flussence | would it be a useful idea to implement bits of perl6 as native libs, like libpcre exists for p5? | 23:12 | |
Tene | muixirt: That's not so much an edge case, actually. There are plenty of legitimate examples of applying roles based on information not available to the compiler, such as user input. | ||
muixirt | to be more precise: perl6 lacks of well engineered (production) code, so it is easy to think about lots of edge cases | ||
Tene | muixirt: consider iterating over lines in a file, and constructing an object for each line, applying roles based on the data in each line. | ||
That's a very normal sort of thing to do. | |||
muixirt | and as jnthn points out, perl6 is in a stage were it has to break that vicious circle: implemetation vs. specsw | 23:13 | |
Tene | muixirt: so your proposed method of doing that is to ask for a dramatically more sophisticated and complex compiler? | 23:14 | |
I don't see how that's related? | |||
masak | muixirt: I, and others, are writing as much code as we can, and edge cases from that code is indeed finding bugs in Rakudo. we're thinking of building the whole known code base nightly to (semi-)automate the bug finding. | 23:18 | |
muixirt | Tene: well the point is that if you target parrot your compiler *is* dramatically complex, the parrot building bricks aren't that sophisticated to circumvent the complexity of perl6 | ||
masak | muixirt: but I would argue that the cases towards the more dynamic end of the spectrum are actually not that uncommon. | ||
as soon as you start doing OO, you're way over in dynamic-land. | 23:19 | ||
Tene | muixirt: It's certainly worth looking at, but I really expect that you have a dramatically inaccurate sense of where the complexities lie here if you think that *discarding* a VM is going to *decrease* the scope and complexity of the project. | 23:21 | |
masak | +1 | ||
Tene | The things that a VM does are things that actually need to be done. If we're not using a VM to do them, *we* need to write that code to handle them instead. | ||
masak | essentially reinventing the VM, poorly. | 23:22 | |
23:22
justatheory joined
|
|||
Tene | You can look at the rakudo source. It's primarily Perl 6, with some VM-specific parts. You can look at what those VM-specific parts do. It's mostly the files named *.pir in the rakudo repo. | 23:22 | |
They're mostly simple OO, setting up foundations for the Perl 6 parts. | 23:23 | ||
muixirt | Tene: It's primarily pir and c, and Perl6 code that contains a lot of Q:PIR and pir::something | 23:24 | |
Tene | The Perl 6 execution model isn't trivial. You've got exceptions, resumable exceptions, lazy lists, gather/take, lexically-scoped return. That's not trivially-representable in x86 machine code in the general case, and handling it requires manipulating an abstract representation of the flow of execution. Significant pieces of Perl 6 rely on this. | 23:26 | |
23:26
envi joined
|
|||
Tene | You're going to have to reimplement all of that and add a GC just to get started, and then you have the object model, which is similarly-complex. | 23:27 | |
That has to happen *somewhere*. If we don't use a VM for that, we have to reimplement that ourselves, and that's not a trivial task. How is that going to *reduce* the scope and complexity? | 23:28 | ||
23:28
rindolf joined
|
|||
rindolf | Hi all. | 23:28 | |
Tene | hi rindolf | 23:29 | |
rindolf | src/gen/core.pm > src/gen/core.pir is taking a lot of time and RAM with rakudo-trunk. | ||
It's already up to 17.4% of my 3+3 GB of RAM. | |||
x86-64. | |||
Tene: hi. | |||
masak | hi rindolf | 23:30 | |
muixirt | Tene and masak: thanks for the explanations. | ||
rindolf | masak: hi. | ||
masak | muixirt: thank you. hope it made some sense. | ||
23:30
timbunce left
|
|||
jnthn | sleep & | 23:31 | |
Tene | muixirt: I think I'm really missing your point here, and I want to understand what you're saying. All I'm getting from you is "I don't understand what a VM does, so it must not be important. Can't you just discard it and go faster?" | ||
muixirt | masak: if it doesn't it's completely my fault | ||
Tene | It's kind of like noticing that the engine in a car is very heavy, and asking if you can throw it out to go faster, because then you'll weigh less. :) | ||
masak | muixirt: I wish it was more like you think it is. that would mean we had a shot at creating a much lighter-weight compiler. | ||
diakopter | Tene: here's the benefit-of-the-doubt route | ||
masak | Tene: best metaphor so far :P | 23:32 | |
diakopter | Tene: if all aspects of the VM code (the "runtime") could be inlined (or just statically linked) along into the target executable (whether in memory only or on disk as well), there wouldn't be a "VM" :) see, magic! | ||
muixirt | Tene: well let's look at the neighbours. Spidermonkey has a bytecode interpreter and a runtime. | 23:33 | |
the bytecode interpreter is small, the runtime is large | |||
rindolf | OK, it finished now. | 23:34 | |
Still it took a long time. | |||
And consumed a lot of RAM. | |||
muixirt | so why not get rid of the bytecode and its interpreter. And that is what the V8 engine did | 23:35 | |
diakopter | muixirt: sure, and what all the other JS engines did, including Mozilla's | ||
rindolf | PackFile_unpack: This Parrot cannot read bytecode files with version 9.1. | 23:36 | |
Should I delete something? | |||
Tene | rindolf: you have files installed from an older version of Parrot. | ||
rindolf | Tene: ah. | ||
23:36
mariano joined
|
|||
rindolf | Well, I'm going to sleep. | 23:37 | |
23:37
rindolf left
|
|||
diakopter | muixirt: now you're talking about the use of a "JIT" compiler targetting machine-code... and yes that's what lots of VMs do. | 23:37 | |
parrot did that for years | |||
dukeleto | and will again, soon. | 23:38 | |
Tene | muixirt: javascript is dramatically simpler than Perl 6, and V8 does have a significant runtime component that manipulates abstract representations of language elements. | ||
muixirt | p-code sytems got extinct, but Gosling thought: what a wunderful idea, and Microsoft thought: they get a huge share in the mindset of developers, let's reinvent such a p-code system and call it dotnet | 23:39 | |
Tene | "If the object's hidden class does not match the cached hidden class, execution jumps to the V8 runtime system that handles inline cache misses and patches the inline cache code. If there is a match, which is the common case, the value of the x property is simply retrieved." | ||
etc. | |||
muixirt | but it is a dead end, and all those jits and trace based compiler efforts prove that | ||
Tene | muixirt: are you quoting something? | 23:40 | |
diakopter | muixirt: what? most of the JVMs and the CLRs (including .NET) use JITs and traces | ||
Tene | -- code.google.com/apis/v8/design.html#mach_code | ||
diakopter | muixirt: your statement is dead wrong, see what I wrote above | ||
Tene | muixirt: URL? | ||
muixirt: "p-code"? | 23:41 | ||
muixirt | diakopter: well V8 has no jit, it's more a load-and-go compiler (pretty classic one) | ||
masak | November now compiles on Rakudo master. \o/ | ||
flussence | yay | ||
masak | Tene: p-code was introduced by Pascal, I think. | 23:42 | |
Tene | muixirt: That's false. V8 *does* have dynamically-modified code sections. See the section I quoted. | ||
muixirt | Tene: en.wikipedia.org/wiki/P-code_machine | ||
colomon | masak++ | 23:43 | |
masak | p-code seems to mean "VM bytecode". | ||
colomon: it doesn't run yet, though. more in the upcoming today's blog post. | |||
muixirt | diakopter: well the jvm and clr have to support the bytecode legacy | ||
diakopter | muixirt: why? | 23:44 | |
muixirt | diakopter: why what? | ||
diakopter | why must they always interpret every bytecode one-by-one | ||
without any optimization/analysis | 23:45 | ||
muixirt | jaegermonkey is no less complex than the V8 engine. | 23:48 | |
Tene | muixirt: In that case, we're using a VM because we're more-interested in a complete and correct Perl 6 soon than we are in investing a huge amount of effort to reimplement what we're already getting for free from a VM, for uncertain and unreliable benefit. | 23:50 | |
muixirt | Tene: fair enough | 23:52 | |
Tene | muixirt: Someday you certainly may see a V8-style compiler for Perl 6. You certainly will if you work on one. There's nobody involved in Perl 6 right now that believes that they can reimplement everything required better, more-accurately, and more-performantly than current VM offerings on the same time-scale as getting a more-complete Perl 6. | ||
muixirt: If we had significantly more resources, you might see that equation change, but for right now, the work that seems to be getting the most beenfit for current contributors is working on completeness and correctness. | 23:53 | ||
So, the alternate answer is "insufficient resources". | 23:54 | ||
Implementing everything we'd need for a Perl 6 runtime better than current VM offerings is a huge investment. | 23:55 | ||
muixirt | Tene: as always (at least in this universe) | ||
masak | for me, it makes a lot of sense to pour resources into Rakudo, because Rakudo has been the spec-driving implementation for the past two-three years. | ||
muixirt | Tene: as always (at least in this universe) --> "insufficient resources" | ||
masak | sure, we need performance, but we need to clarify and refine the spec as well. | 23:56 | |
muixirt | masak: that's right, I don't argue about that | ||
Tene | muixirt: look at how much work has been put into Parrot, .Net, or the JVM. I *may* be able to do better than that, but not in this lifetime, on my own. | ||
muixirt: The effort of the perl6-related people to implement that *is* Parrot. I have been contributing to Parrot. It's making slow but steady progress. | 23:57 | ||
masak | what diakopter and sorear are doing seems to be more geared towards performance, but I cannot write programs in their Perl 6 implementations. | ||
muixirt | too slow: I don't argue about that: "for me, it makes a lot of sense to pour resources into Rakudo, because Rakudo has been the spec-driving implementation for the past two-three years." | 23:59 |