Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: review experimental features for promotion or removal, fix 'make html', pre-release testing.
Set by moderator on 8 July 2010.
cotto ~ 00:23
sorear Null PMC access in 'get_str'
cotto You lie. 00:25
purl would NEVER do such a thing to you, cotto!
cotto That wouldn't even parse. ;) 00:26
00:40 LoganLK joined 01:03 rurban_ joined 01:07 jsut joined 01:18 contingencyplan joined
cotto literal you lie. 01:45
purl cotto: you lie =is= <ACTION> would NEVER do such a thing to you, $who!
02:04 LoganLK joined 02:36 janus joined 02:37 snarkyboojum joined 03:00 JaphMalik joined 03:01 ash_ joined 04:24 JaphMalik joined, LoganLK joined 04:25 ash_ joined 04:56 fperrad joined
cotto seen khairul 05:34
purl khairul was last seen on #parrot 3 days, 24 minutes and 52 seconds ago, saying: see privmsg [Jul 7 05:09:29 2010]
tcurtis cotto++ # for linking that Piumarta and Warth paper. 05:38
05:48 PerlJam joined
cotto wonders why people pick gitorious when github is around. 05:59
sorear because said people have been burned by github in the past 06:02
github used to have uptime figures of around 15%
and I do mean *up*time, not downtime
cotto once burned twice shy, I guess 06:05
It's certainly not for the UI. 06:06
dalek rrot: r48063 | khairul++ | branches/gsoc_instrument (4 files):
Added generator for vtables.
cotto Oh good. I was hoping he'd add that.
dalek rrot: r48064 | khairul++ | branches/gsoc_instrument (2 files):
Make generated code pass codetest.
06:23
06:36 cognominal joined 08:18 TiMBuS joined 09:04 rurban_ joined 10:38 eiro joined
bacek ~~ 11:00
seen fperrad
purl fperrad was last seen on purl 5 hours, 58 minutes and 36 seconds ago, saying: <private message>
bacek msg fperrad How I can override "builder" in distutils? E.g. I want to build some PBCs with pirate instead of parrot. 11:01
purl Message for fperrad stored.
dalek r: ec15896 | bacek++ | src/PIR/Grammar.pm:
Cache top-level .include. Comment out <process_heredocs> rule. It's O(n2) in
11:24
r: 2aeb7c3 | bacek++ | (2 files):
Fix POSTing of non-boolean sub modifiers.
r: 9940486 | bacek++ | src/POST/Compiler.pm:
Skip non-subs in POST::Compiler.enumerate_subs - .include can produce empty
r: 9179ce1 | bacek++ | src/PIR/Actions.pm:
Improve or remove various checks in Actions. They should be in POST::Compiler
r: ac4a6c3 | bacek++ | t/post/subs.txt:
Update test.
r: f77d81d | bacek++ | t/post/sub-modifiers.txt:
Fix test
r: eb2dfd4 | bacek++ | src/PIR/Actions.pm:
Decouple POSTing of $P0() from $P0.$S0()
r: 033ec2b | bacek++ | src/PIR/Actions.pm:
Put validate_labels back.
r: c0be8a3 | bacek++ | (3 files):
Handle $P0[$P1] Keys properly.
r: f174020 | bacek++ | src/PIR/Actions.pm:
Relax test for PIR register in call:sym<pmc> - it can be invoked little bit
r: 6f7e239 | bacek++ | t/test_post.pir:
Add ability for todoing POST tests
11:35 s1n left
bacek msg tcurtis I merged your pirate branch into master. Just because it's needed for self-hosted pirate :) 11:36
purl Message for tcurtis stored.
11:39 khairul joined
dalek r: 33bc387 | bacek++ | (10 files):
Merge branch 'post-optimizations'
11:41
bacek tcurtis++ for actual work
11:46 eiro_ joined 11:51 khairul joined
dalek r: b75e472 | bacek++ | (5 files):
Support .get_results syntax sugar for exceptions handling
11:58
12:04 kid51 joined 13:17 lucian_ joined
dalek r: 13a758f | bacek++ | (2 files):
Add sketch of swapping gt/ge with lt/le 'optimization'
13:18
bacek msg tcurtis Can you take a look at commit 13a758f in Pirate?
purl Message for tcurtis stored.
nopaste "fperrad" at 192.168.1.3 pasted "bacek [Pirate] a patch for setup.pir" (68 lines) at nopaste.snit.ch/21922 13:25
bacek fperrad, hooray! Thanks! 13:26
fperrad bacek, pirate is just like an another HLL
bacek fperrad, it is. 13:31
How I can make pirate_build optional?
nm, found it 13:34
dalek r: 9b6825f | bacek++ | pirate.pir:
Add (future) self-hosted version of pirate.
13:35
r: ad3ed77 | bacek++ | setup.pir:
Add target for self_hosted pirate. fperrad++
13:40 tcurtis joined
dalek r: 98ce250 | bacek++ | setup.pir:
Fix building with pirate
13:40
13:41 TiMBuS joined
tcurtis bacek: regarding 13a758f, shouldn't it be POST::Op.new(:pirop($new_op), $/[0].orig, $/[2].orig, $/[1].orig)? 13:46
bacek tcurtis, erm... I don't think so. [2] is label
tcurtis oh. right. 13:47
tcurtis was thinking of isgt/isge.
bacek I changed POST::Pattern to P::P::Value in next commit. Let me push it 13:48
dalek r: f985b3a | bacek++ | src/PIR/Compiler.pm:
Use POST::Pattern::Value to swap_gtge optimization
13:52
nxed: r540 | NotFound++ | trunk/token. (2 files):
tiny refactor of stage 0 tokenizer
13:54
r: 8f28302 | darbelo++ | setup.pir:
Add a few metadata entries for the plumage JSON file.
14:03
r: cdfe40d | darbelo++ | src/PIR/Compiler.pm:
Merge branch 'master' of github.com:bacek/pir
r: ab24417 | bacek++ | setup.pir:
Made pirate_clean independent step. Use OrderedHash for pirate_build to preserve
14:09
purl build order is fixed from a clean archive, so there's no need for build-time calculation.
14:25 Mokurai joined
tcurtis bacek: do you know how to turn a PAST::Op(:pasttype<call>) node with the sub in the name to a PAST::Op(pirop<tailcall>)? 14:26
dalek r: ee5dcf2 | bacek++ | src/PIR/Compiler.pm:
Fix swap_gtge - match on whole opname. Before we can wrongly rewrite "isgt",
bacek tcurtis, it's POST::Call. Just change .calltype to tailcall
tcurtis bacek: not in PIRATE's POST; in PAST. 14:28
bacek tcurtis, erm... no idea.
darbelo bacek: I just added pirate to plumage. 14:29
bacek I'm not sure that there is such thing as "tailcall" in PAST.
darbelo, thanks!
tcurtis bacek: there is. But it's a value for .pirop instead of .pasttype. 14:30
And, unlike call, it doesn't take the sub from the name attribute.
darbelo I didn't add any dependencies information, since I'm not sure what the deps are now, and how to specify them in setup.pir 14:31
bacek tcurtis, POST/Compiler.pir line 214
darbelo, tree-optimizations is only dependency. 14:32
dalek r: ac53b1f | darbelo++ | setup.pir:
Remove accidentaly doubled 'git://' from project metadata.
rrot-plumage: 6c19cdf | darbelo++ | metadata/pirate.json:
Add metadata for PIRATE.
14:36
bacek anyway, it's bed time 14:39
see you
tcurtis bacek: I'll hopefully be able to work on PIRATE more in the next few days. Finally got tail-call elimination kinda-working in PAST. 14:40
Good night.
Yay! Tail-call elimination for function calls that don't store the function in the .name attribute of the PAST::Op node, also requiring that you use an explicit return! 14:45
14:47 patspam joined
darbelo tcurtis: Did you hand-hack the JSON for tree-optimization? 15:10
tcurtis darbelo: Yes. Is there an automatic way to create it? 15:11
darbelo Yep. If you put that same data on your setup.pir it'll do it for you.
see github.com/bacek/pir/commit/8f28302...f591d6751c 15:12
Running "parrot setup.pir plumage" will output the JSON file to ports/plumage/{projectname}.json IIRC 15:13
tcurtis darbelo: fperrad++ sent me a cleaned up version of my setup.nqp. I added the description field I had in the plumage metadata and pushed it. Want me to generate the JSON and nopaste it for you? 15:28
darbelo tcurtis: Sure. 15:32
nopaste "tcurtis" at 192.168.1.3 pasted "darbelo: here it is" (64 lines) at nopaste.snit.ch/21924 15:36
dalek rrot-plumage: ed56f1b | darbelo++ | metadata/tree-optimization.json:
Update the tree-optimization metadata file.
15:42
rrot: r48065 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] add a link to a good example of setup.nqp (in tree-optimization)
15:54
tcurtis thanks, darbelo. 16:16
and thank you, as well, fperrad, for cleaning up my setup.nqp.
16:20 theory joined
dalek rrot: r48066 | khairul++ | branches/gsoc_instrument (4 files):
Added generator for gc stubs.
17:00
17:01 patspam1 joined 17:02 rurban_ joined 17:05 darbelo left
dalek rrot: r48067 | khairul++ | branches/gsoc_instrument (2 files):
Fix typo/bug in src/pmc/pointer.pmc.
17:33
17:41 davidfetter joined 17:46 mberends joined 17:57 LoganLK joined 18:34 hercynium joined 19:47 eternaleye joined 21:03 lucian joined 21:10 mtk joined
dalek kudo: 7579f7a | masak++ | src/core/Buf.pm:
[Buf] infix:<eqv> for Bufs now uses eqv internally
21:11
21:16 whiteknight joined 21:41 whiteknight joined
tcurtis pmichaud: ping 21:54
22:19 mtk joined
Coke ISTR pmichaud is on vacation or travelling atm. 22:19
tcurtis Ah, right. 22:22
whiteknight good afternoon, #parrot 22:24
tcurtis god afternoon, whiteknight.
s/god/good/
whiteknight Hello tcurtis
I have had internet access all week, but strangely haven't been able to log on to irc.parrot.org until now 22:25
purl msg kid51 As far as I am aware that blog post should have been on planet.parrot. I republished it to see if that fixes anything 22:31
purl Message for kid51 stored.
22:38 muixirt joined
muixirt hi whiteknight 22:38
your latest blog article isn't labeled with "PARROT" :-) 22:39
whiteknight Ah, that would be the problem. I see it now. I was missing a comma 22:42
hello muixirt, by the way
how are you today?
muixirt well, thanks for asking 22:43
22:56 Mokurai joined
mikehh whiteknight: just read your blog, sounds good to me 23:00
whiteknight mikehh: thanks!
mikehh whiteknight: I agree that taking too minimalist an aproach will be counter-productive 23:01
whiteknight mikehh: if we wanted to go for absolute minimalism, I've seen designs for hardware platforms that only have like 2-3 ops
tcurtis whiteknight: there are several Turing-complete single opcode sets. 23:02
of course, that doesn't handle I/O.
mikehh whiteknight: in theory you just need one op sub and bracch equal or something like that
whiteknight tcurtis: yes, I've seen those. at that point it really depends on what your definition of an "op" is
a single "op" which has mode flags to perform different behaviors is really multiple ops 23:03
muixirt i'm for minimalism, let Chuck Moore design and implement lorito
NotFound We can use brainfuck as a model X-) 23:04
mikehh all you need is a bumch of nand gates (or nor)
One of the first computers I worked on was the CDC 6600 series - The CPU did not handle I/O at all - separate PP's did that 23:06
23:09 mtk joined
sorear IIRC, the Apple AirPort router uses a one-instruction processor (not even with flags) 23:11
move memory to memory w/ memory mapped hardware & ALU
sorear wants to build an OISC meets LGP-30 computer someday 23:12
s/OISC/URISC/
whiteknight: there is one very important current CPU where integers and pointers are (sort of) different sizes 23:15
amd64
whiteknight sorear: do tell
sorear pointers are 64 bit, 64 bit integers are well supported, but maximum efficiency integers are still 32 bit 23:16
whiteknight depends what register set you're using
sorear because you can fit more of them into a cache line
whiteknight true
but parrot, for instance, doesn't build unless we define INTVAL to be the same as the size of a pointer
or, it builds but doesn't pass tests
sorear IMHO that's a (low severity) bug 23:17
23:18 mtk joined
sorear I'm guessing Parrot will die horribly on hppa(?), where sizeof(void(*)()) > sizeof(void *) 23:18
23:19 mtk joined
arnsholt Buh? The joys of portable code 23:21
sorear Be glad so many of the other /fun/ architectures of the past are dead 23:23
whiteknight sorear: I think it used to work on HPPA, but I don't know how long ago or whether it would still work 23:28
I highly, highly doubt it 23:29
cotto It's something to keep in mind when writing Lorito. 23:42
particle seems to think that it's important on 64-bit windows too. 23:44
23:55 Psyche^ joined