|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
| dalek | rrot: 6b46960 | jkeenan++ | config/gen/makefiles/root.in: Add to test-clean target *.pbc files created under t/compilers/imcc/reg/. |
00:14 | |
| rrot: 6c22780 | jkeenan++ | config/gen/makefiles/root.in: Add files to test-clean or prog-clean targets. |
|||
| rrot/whiteknight/io_cleanup1: 9ce3625 | Whiteknight++ | / (7 files): Several cleanups and codestd. Remove a few unnecessary entries from the io vtable. Improved implementations of readline, peek and a few other things. |
01:51 | ||
| rrot/whiteknight/io_cleanup1: 8ec293c | Whiteknight++ | src/ (11 files): Start cleaning up sockets. Move API routines from src/io/socket.c to src/io/api.c. Rename them. Implement most socket IO_VTABLE routines. Rename functions in src/platform/xxx/socket.c to Parrot_io_internal_ to match conventions. Implement the new get_pointer_keyed_int and set_pointer_keyed_int vtables for most handle types |
|||
| whiteknight | Cleaning up this much funk is exhausting | ||
| ...off to bed | 01:53 | ||
| Coke | aloha: tell whiteknight you closed trac.parrot.org/parrot/ticket/783 as a wishlist, but it's causing the memory leak in rt.perl.org/rt3/Ticket/Display.html?id=77644 | 03:05 | |
| aloha: mgs whiteknight you closed trac.parrot.org/parrot/ticket/783 as a wishlist, but it's causing the memory leak in rt.perl.org/rt3/Ticket/Display.html?id=77644 | |||
| aloha: msg whiteknight you closed trac.parrot.org/parrot/ticket/783 as a wishlist, but it's causing the memory leak in rt.perl.org/rt3/Ticket/Display.html?id=77644 | |||
| aloha | Coke: OK. I'll deliver the message. | ||
|
03:36
kurahaupo joined
04:00
kurahaupo joined
04:27
kurahaupo joined
|
|||
| dalek | kudo/nom: d0b9784 | moritz++ | src/core/ (2 files): typed exception for unsupported inheritance |
06:27 | |
|
06:37
kjs joined
|
|||
| cotto | hio kjs | 07:15 | |
|
07:15
brrt joined
|
|||
| cotto | and he's gone | 07:16 | |
| like the wind | |||
|
07:33
brrt left
07:42
lucian joined
07:52
kjs joined
|
|||
| dalek | kudo/nom: 3029a84 | moritz++ | src/core/ (2 files): typed exception for "is export" name clash |
07:52 | |
| kudo/nom: 197e0bd | moritz++ | src/core/ (2 files): typed exception when non-dwimmy hyperop has lists of unequal length |
08:20 | ||
|
08:23
lucian_ joined
08:30
brrt joined
|
|||
| dalek | p: db80a11 | diakopter++ | src/QRegex/ (2 files): get %/%% working for real this time. all nqp and rakudo spectests pass. extremely ugly code. terrible, even. but there is a lot of unexpected behavior here that I can't explain if I change little things here and there, attepmting to optimize. This ugly hot mess is the best I can do safely. apologies. |
08:42 | |
| p: 2aee15e | diakopter++ | src/QRegex/ (2 files): Merge branch 'nfaquant' |
|||
| d_parrot: b19cbbf | (Bart Wiegmans)++ | mod_parrot (2 files): Fixed CGI names for HTTP headers |
09:12 | ||
|
09:16
brrt joined
09:32
schm00ster joined
|
|||
| dalek | : 382e010 | (kj, kjs)++ | m1_gencode.c: implement == operator |
10:03 | |
| : eb50e33 | (kj, kjs)++ | eq.m1: add test for == operator |
|||
| : eacb4f5 | (kj, kjs)++ | / (2 files): implement != operator and add test for this |
10:07 | ||
|
10:10
crab2313 joined
|
|||
| dalek | : 73135e1 | (kj, kjs)++ | / (2 files): refactor code just checked in, update TODO |
10:16 | |
|
10:43
whiteknight joined
|
|||
| dalek | : 68879ea | (kj, kjs)++ | m1. (2 files): add other assignops |
10:48 | |
|
10:50
JimmyZ joined
|
|||
| whiteknight | good morning, #parrot | 11:05 | |
|
11:06
JimmyZ_ joined
|
|||
| dalek | : 7ceda91 | (kj, kjs)++ | m1_gencode.c: fix problem with ++/-- |
11:10 | |
| : c852133 | (kj, kjs)++ | / (2 files): update todo and remove unnecessary code |
11:12 | ||
| : 7b30981 | (kj, kjs)++ | TODO.txt: add a how to help section to TODO |
11:22 | ||
| JimmyZ | blog.fallingsnow.net/2008/05/23/sim...with-llvm/ # this code is very like the m0 :P | 11:34 | |
| dalek | rrot/whiteknight/io_cleanup1: 2dbddd8 | Whiteknight++ | src/ (6 files): Add a mark routine for buffers, since they may hold a PMC reference. Start updating PMCs to use the new API calls in a standard way instead of implementing things themselves. Fill in the StringHandle vtable with existing logic and new never-before-supported operations. |
11:59 | |
|
12:08
crab2313 joined
12:20
kjs joined
|
|||
| kjs | JimmyZ++ # thanks for link | 12:25 | |
| That seems like an excellent idea to do for M0! | |||
| JimmyZ | kjs :P | 12:26 | |
| kjs | I'd be very interested in getting that running for M0. | 12:27 | |
| JimmyZ | that's a good step | 12:28 | |
| at least a good prototype | |||
| kjs | M0's interpreter in C is fairly straightforward, and as you said looks a bit like this example in the article. Might be worthwhile to investigate. | 12:29 | |
| JimmyZ | aye | 12:30 | |
|
12:35
woosley joined,
woosley left
12:36
eternaleye joined
12:46
crab2313 joined
12:56
PacoAir joined
|
|||
| kjs | I found that it was difficult to find libjit that actually compiles on mac. This is a link to an article that explains how to d/l and build, works for mac. | 13:00 | |
| www.google.com/url?sa=t&rct=j&a...D-43mku20w | |||
| (for those who's interested) | |||
|
13:07
Psyche^ joined
|
|||
| JimmyZ | well, libjit seems latest version is 2008 ? | 13:11 | |
| kjs | yeah but if it still works | 13:14 | |
| might be useful to try both llvm and libjit and compare | |||
| JimmyZ | what's what most people want, I think | 13:18 | |
| *that's | 13:19 | ||
|
13:19
brrt joined
13:32
not_gerd joined
|
|||
| not_gerd | kjs: libjit is maintained by Aleksey Demakov: demakov.com/projects/ | 13:32 | |
| kjs | not_gerd: thakns for pointer. seems libjit is still at v 0.1.2 | 13:35 | |
| not_gerd | kjs: last I tried, the git version was + | 13:36 | |
| kjs | + means good? :-) | ||
| not_gerd | reasonably stable | ||
| no, mistype ;) | |||
| kjs | that doesnt sound _very_ convincing for a production system... | ||
|
13:37
JimmyZ joined
13:38
crab2313_ joined
|
|||
| not_gerd | kjs: afaik Aleksey just publishes the changes he made while using it in production | 13:39 | |
|
13:40
kid51 joined
|
|||
| kjs | not_gerd: it seems to be used by some people alright. I think it would be good to try to use it for M0 | 13:40 | |
| dalek | d_parrot: a97b976 | (Bart Wiegmans)++ | mod_parrot_run.c: Add network parameters to script options |
||
| kjs | ... so we can see how much performance will improve. | ||
| brrt | also, i should figure out how to make dalek believe it is my nick, i want my pluspluses :-p | ||
| karma Bart Wiegmans | 13:41 | ||
| kjs | I'm missing out on all of them! :-( | ||
| aloha | Bart Wiegmans has karma of 0. | ||
| brrt | kjs, do you need setup infomration? | ||
| i have it somewhere | |||
| kid51 | karma kid51 | ||
| aloha | kid51 has karma of 98. | ||
| kid51 | karma jkeenan | ||
| aloha | jkeenan has karma of 668. | ||
| kid51 | Split personality | ||
| brrt | karma whiteknight | 13:42 | |
| aloha | whiteknight has karma of 2707. | ||
| brrt | karma moritz | ||
| aloha | moritz has karma of 3185. | ||
| brrt | wow | ||
| not_gerd | kjs: I'm planning to port the M0 C interpreter to LLVM IR once it has stabilized | ||
| you can't really write fast interpreters in C, but thanks to blockaddress and indirectbr, you can in LLVM IR | |||
| proof of concept: github.com/gerdr/x3 | |||
| kjs | not_gerd: it's stable, it's stable! :-) | ||
| whiteknight | karma brrt | 13:43 | |
| aloha | brrt has karma of 7. | ||
| kjs | not_gerd: awesome, btw, looking forward to it | ||
| brrt: setup information? | |||
| whiteknight | brrt: dalek reads the CREDITS file and should automatically convert commit pluspluses under that name to your nickname | ||
| kjs | whiteknight: ah, I'll change the credits file so | ||
| not_gerd | btw, you also need different ops for signed and unsigned integer div and mod | 13:44 | |
| whiteknight | kjs: it's an inexact science | ||
| not_gerd | that's missing from both M0 spec and implementation | ||
| kjs | not_gerd: ok. well those details are kindof beyond my expertise, though I suppose I should add the "unsigned" keyword to M1 :-) | 13:45 | |
| JimmyZ still wants typed regeisters | |||
| registers | |||
| not_gerd | kjs: in two's complement, most integer ops are identical for signed and unsigned - however, anything which depends on division is not | ||
| kjs | not_gerd: ah ok. btw; there was a link earlier to an example of using llvm. you might be interested in that | 13:46 | |
| JimmyZ | blog.fallingsnow.net/2008/05/23/sim...with-llvm/ | ||
| dalek | rrot: a9b7258 | jkeenan++ | CREDITS: Add an alias. |
13:47 | |
| not_gerd | kjs, JimmyZ: I saw the link in the log | ||
| kid51 | Let's see if this works. | ||
| karma jkeenan | |||
| aloha | jkeenan has karma of 668. | ||
| kid51 | karma kid51 | ||
| aloha | kid51 has karma of 98. | ||
| kid51 | Doesn't seem to have made a difference. | 13:48 | |
| not_gerd | the planning to do an actual interpreter first, though (ie there's still be a runloop) | ||
| brrt | i see | ||
| (from whiteknights comments) | |||
| not_gerd | s/^the/I'm7 | ||
| brrt | i think the (initial) c part is shaping up nicely enough | ||
| kjs | the C impl of M0 is there.. | ||
| not_gerd lots of typing fail today | |||
| kjs | that seems to be quite clean code. | 13:49 | |
| brrt | but still a lot to do | ||
| kid51 | I didn't really expect dalek to pick up on that; after all, the string 'whiteknight' does not occur in the CREDITS | ||
| brrt | configuration, for one thing, needs to be thought out | ||
| whiteknight | kid51: All I know is the theory, not the reality | ||
| JimmyZ | and there was a m0 debuger: github.com/nbrown/parrot/tree/m0-debugger | ||
| whiteknight | I think dalek is case-insensitive | ||
| JimmyZ | kjs: you may like it | 13:50 | |
| kjs | not_gerd: do you think you can start with the C impl of M0? | ||
| JimmyZ: does it work? :-) | |||
|
13:51
not_gerd_ joined
|
|||
| JimmyZ | kjs: yep, for simply debug | 13:51 | |
|
13:55
not_gerd joined
13:57
not_gerd joined
|
|||
| not_gerd | kjs: porting it to LLVM IR or implementing the missing bits? | 13:57 | |
| kjs | not_gerd: porting | ||
| not sure if there's many bits missing... | |||
| I'd say there might be a few things that are missing, but implementing those would be straightforward I think. Once the majority of ops can be implemented on llvm, basically get things running, then it's easy to make complete, i expect. | 13:59 | ||
| not_gerd | kjs: I could start a port, yes | 14:01 | |
| kjs | I believe going depth-first with this system would give good insights into the feasibility | 14:02 | |
| dalek | Heuristic branch merge: pushed 23 commits to parrot/m0-debugger by zhuomingliang | ||
| kjs | so if we have an interpreter M0, a JIT for M0, and a HLL M1 that compiles down to M0, we have a basic infrastructure that could be tested and optimized. | 14:03 | |
| dalek | : 567a434 | (kj, kjs)++ | m1. (2 files): add unsigned keyword in anticipation of a JIT |
14:07 | |
|
14:13
bluescreen joined
|
|||
| not_gerd | is there a reason why the segment structures aren't flattened into the chunk structure in m0_mob_structures.h | 14:22 | |
| kjs | I believe cotto++ worked on M0. I have little knowledge of that. | 14:24 | |
| not_gerd | git blames chromatic | 14:25 | |
| it's not really important, but I just wondered if there's a need for all these seperate allocations | 14:26 | ||
|
14:28
JimmyZ joined
|
|||
| kjs | no idea. I would expect that at some point the memory allocation bits would be improved anyway. Currently, gc_alloc op is an alias for malloc. | 14:28 | |
| dalek | d_bart: 3bd2b3b | (Bart Wiegmans)++ | / (4 files): Compiler API example (winxed) |
14:40 | |
|
14:40
brrt left
15:11
benabik joined
15:18
Hunger joined
|
|||
| dalek | nxed: 94ebe06 | NotFound++ | winxedst (2 files): fix nargs usage in builtin substr const evaluation |
15:28 | |
| nxed: c1241c1 | NotFound++ | winxedst1.winxed: delete remaining of float literals in stage 1 |
|||
| nxed: d3fa0b7 | NotFound++ | winxedst1.winxed: drop optimization in Ifstatement.emit from stage 1 |
|||
| rrot: 94629c3 | benabik++ | src/pmc/key.pmc: Key: Add method to introspect type of value Returns an integer based on PCC's type flags. I'd rather not expose Key's flag values to the outside world, so let's rely on values already exposed for simplicity/consistency. |
15:32 | ||
| CT: b5b757b | benabik++ | src/disasm.winxed: Use call_bits.pasm, not hand-rolled constants |
|||
| CT: 1e6d6ac | benabik++ | src/disasm.winxed: Use new key methods to introspect keys Now we can actually display keys instead of just giving up. whiteknight++ |
|||
| rrot/whiteknight/io_cleanup1: 171d85d | Whiteknight++ | / (15 files): Update Makefile, MANIFEST. Several fixes so that we can run headerizer, then I ran it. |
15:40 | ||
| rrot/whiteknight/io_cleanup1: 2599900 | Whiteknight++ | / (4 files): fix headerization. Headerizer behaves very badly in the presence of C++-style comments so remove some of those and replace them with the much more verbose and padded Parrot-style comments. |
|||
| rrot/whiteknight/io_cleanup1: b22b7d7 | Whiteknight++ | / (7 files): Several fixes. Add a new API method to easily set up buffering on an existing handle. |
|||
| whiteknight | benabik: Did those key methods work for you? I haven't really tested them at all | ||
| actually, no time to hear the answer, have to go! | 15:43 | ||
|
15:50
crab2313 joined
|
|||
| dalek | : 9d67918 | (kj, kjs)++ | CREDITS: update nick in credits file |
15:51 | |
| JimmyZ | kjs: I think you want to update this one: github.com/parrot/parrot/blob/master/CREDITS | 15:53 | |
| kjs | JimmyZ: I don't have commit access I think to that one. not sure | ||
| JimmyZ | kjs: you have | 15:55 | |
| kjs | i tried to git push the change | 15:56 | |
| but didn't work | |||
| JimmyZ | kjs: you may clone the readonly url | 15:57 | |
| kjs: right one is git@github.com:parrot/parrot.git | |||
| kjs | it says: You can't push to git://github.com/parrot/parrot.git | 15:58 | |
| Use git@github.com:parrot/parrot.git | |||
| JimmyZ | kjs: git://github.com/parrot/parrot.git is readonly url | ||
| kjs | ok. what should i type or do to commit? | 15:59 | |
|
15:59
kurahaupo joined
|
|||
| JimmyZ | git remote add origin git@github.com:parrot/parrot.git | 15:59 | |
| to replace the readonly one | 16:00 | ||
| kjs | remote origin already exists. | ||
| JimmyZ | try git remote rm origin first :) | 16:02 | |
| kjs | ok that works. thanks! | 16:03 | |
| JimmyZ sleeps | |||
| cotto | kjs, would you be happy with adding isgt and isge to the m0 spec? | 16:19 | |
| kjs | cotto: yes can do | 16:20 | |
| do you want me to add it? | |||
| cotto | let's go with that then. It doesn't matter. I have a few minutes. | ||
| kjs | cool thanks. it solves a small piece in the M1 puzzle | 16:21 | |
| I believe not_gerd indicated interest in doing llvm port of M0, once it's stable | 16:22 | ||
| cotto | I saw that. not_gerd++ | 16:28 | |
| dalek | rrot/m0: 44c0b79 | cotto++ | / (2 files): add some comparison ops to the spec (no implementations or tests yet) |
16:31 | |
|
16:31
kurahaupo joined
|
|||
| cotto | kjs++ for agitating about those | 16:31 | |
| kjs | cotto++ for taking timely action :-) | 16:32 | |
| cotto | are you interested in adding an implementation and some tests? | 16:37 | |
| kjs | I'm coding it into M1 as we speak | 16:38 | |
| cotto | it won' | ||
| t do much good until one of the m0 implementations supports it | 16:39 | ||
| kjs | for the M0 C code, I can give it a try once I have a bit more time | ||
| (leaving in a bit) | 16:40 | ||
|
16:44
not_gerd joined
|
|||
| cotto | apparently I haven't run m0 since upgrading to 12.04 a few days ago | 16:45 | |
| not_gerd | cotto: are m0 callframes variably-sized? | ||
| if so, the config value CFGCFSZ doesn't make much sense | |||
| not_gerd reading m0 spec | |||
| cotto | I'd like to make it possible, since they'll usually not need all 255 registers | 16:46 | |
| kjs | cotto: I suppose I should do a proper review of the spec, but one thing , before I forget it again, is that i was wondering about the "types" of regs (I, N, S, P), if in fact they can be all used alike. | 16:47 | |
| if you can store ints in S registers, why have the types as all, as you may run out of I register ,and then spill those, whereas you might as well use S regs as well. | 16:48 | ||
| not_gerd | as I understand it, the register types are just by convention (ie syntactic sugar of the assembler) | ||
| that doesn't play well with variably-sized callframes though - it might a good idea to annotate callframe allocations with the number of INSP registers so you could have custom mappings | 16:50 | ||
| dalek | rrot/m0: a2cb0ea | cotto++ | / (6 files): add untested implementations of the comparison ops to c-m0 and p5-m0 |
16:58 | |
| : d17445f | (kj, kjs)++ | m1_gencode.c: first bits of lt, gt, etc. ops. needs more work |
16:59 | ||
|
18:13
bluescreen joined
18:22
bacek_at_work joined
18:27
aloha joined
18:39
benabik joined
|
|||
| benabik | ~~ | 18:41 | |
|
19:22
lucian joined
19:30
pjcj joined
19:50
isBEKaml joined
20:24
isBEKaml joined
|
|||
| dalek | p: 6aef784 | diakopter++ | src/QRegex/NFA.nqp: implement NFA builder for ranged quantifiers. npq/rakudo spectest all green. |
20:47 | |
|
21:39
dngor joined
23:01
kid51 joined
23:16
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:33 | |
|
23:43
kurahaupo joined
|
|||
| sorear | hello, whiteknight. | 23:44 | |
| whiteknight | hello sorear | ||
| sorear: I hadn't realized it, but I wasn't following you or Niecza on github until yesterday. I didn't realize what I was missing! | 23:54 | ||
| I don't normally give the feed of changes more than a quick glance, but I still want to follow along with such important projects | 23:55 | ||