|
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 12 June 2012. |
|||
|
00:09
whiteknight joined
00:11
kjs_ joined
|
|||
| whiteknight | good evening, #parrot | 00:14 | |
| kjs | good evening | 00:26 | |
| well, there is good news, and there's bad news | |||
| the good news is that multi dimensional arrays seem to work, I don't dare to test more compelx cases than x[1][2] = 3; y = x[1][2]; print(y) // prints 3! | 00:27 | ||
| the bad news is that half the tests break now. | |||
| I'll leave that for another day. | |||
|
00:43
kid51 joined
|
|||
| dalek | rrot: fb9b5ba | jkeenan++ | config/gen/makefiles/root.in: Enter comment as to why we have to use suffix rules rather than pattern rules. |
01:17 | |
| rrot: 78e570c | jkeenan++ | config/gen/makefiles/root.in: Restore one comment, to be consistent with other suffix rules. |
01:36 | ||
| rrot: 8e59342 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Begin to write POD for Emitter.pm. |
02:10 | ||
| rrot: 85ea384 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Begin to document and refactor text(). FAILING TO BUILD. |
|||
| rrot: 380d597 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Revert "Begin to document and refactor text(). FAILING TO BUILD." This reverts commit 85ea38423a6c09772d35e372cef8b3c4ef8280cf. |
|||
| rrot: 6bed7f1 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Start to add documentation to Parrot::Pmc2c::Emitter in POD format. |
|||
| rrot: dc9baac | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Simplify syntax of new(). |
|||
| rrot: a1965e0 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Simplify text() along same lines as new(). |
|||
| rrot: e9b024c | jkeenan++ | lib/Parrot/Pmc2c/PMC.pm: Correct spelling of method in its declaration and single instance. |
|||
| rrot: 500836e | jkeenan++ | lib/Parrot/Pmc2c/P (2 files): In Parrot::Pmc2c::PCCMETHOD, change $self to $method to make clear that these are subroutines (with other class's objects as arguments) rather than methods of this package. |
|||
| rrot: 95e6f6c | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: Write preliminary documentation in POD format for find(), subst() and replace().. |
|||
| rrot: a608886 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm: pmc2c.pl is in tools/build/, not tools/dev. |
|||
| rrot: e25901d | jkeenan++ | / (2 files): Update branch with recent config system updates in master. |
|||
| rrot: 5bd740f | jkeenan++ | / (20 files): Update branch from master, then resolve some merge conflicts in PCCMETHOD.pm. |
|||
| rrot: 3292295 | jkeenan++ | lib/Parrot/Pmc2c/Pmc2cMain.pm: Add documentation identifying where each method is tested. |
|||
| rrot: 998cd1c | jkeenan++ | lib/Parrot/Pmc2c/ (4 files): Merge branch 'pmc_emitter_document' |
|||
|
04:57
crab2313 joined
06:31
dduncan joined
06:45
kuku joined
08:17
brrt joined
08:38
rich joined,
JimmyZ joined
08:44
rich left
09:16
kjs joined
09:59
brrt joined
10:04
lucian joined
10:12
JimmyZ joined
10:22
whiteknight joined
|
|||
| dalek | d_parrot: c2833c4 | (Bart Wiegmans)++ | / (6 files): Halfway through adding reading |
10:24 | |
| d_parrot: 1f456ee | (Bart Wiegmans)++ | / (6 files): Reading is unreliable, but kind of works |
|||
| whiteknight | good morning, #parrot | 10:26 | |
| kjs | hi whiteknight | ||
| dalek | : 5db27cc | kjs++ | src/gencode.c: multi-d arrays seem to work. in process of recovering tests. |
10:27 | |
| whiteknight | hello kjs | 10:29 | |
| dalek | : 6b6f6be | kjs++ | / (3 files): more cleaning up and fixes for assignments. fix some warnings too. |
11:10 | |
| whiteknight | okay, I think I've got my socket issues figured out | 11:23 | |
| finding a good, non-hack fix for it is harder | |||
|
11:25
PacoAir joined
|
|||
| dalek | : c83dc1c | kjs++ | src/gencode.c: add a bit of comments and remove wrapper functions. |
11:28 | |
| : cbd4fd7 | kjs++ | src/gencode.c: cleanups, refactoring and replacement. |
11:39 | ||
| rrot/whiteknight/io_cleanup1: 7ee3530 | Whiteknight++ | / (6 files): Fix socket tests, though I'm not happy with this fix. If we do a recv for X bytes but only receive Y (Y < X), we shouldn't try to recv again to get more because recv can hang if there's no data incoming. Notice that this 'fix' fails for very large reads where we fill the buffer and could legitimately recv more bytes but do not. |
11:41 | ||
|
11:41
JimmyZ_ joined
|
|||
| kjs | JimmyZ: pig | 11:43 | |
| eh | |||
| ping | |||
| JimmyZ_ | kjs: pong | 11:44 | |
| kjs | JimmyZ_: I made a bunch of changes. I think/hope for the good | ||
| assigning and multi-dimensional array access is a pain | |||
| broke a bunch of tests; strings is broke because types are not hanlded correclty, and structs are broken because I refactored the code for multi-dim access. | 11:45 | ||
| JimmyZ_ | kjs: yeah, I saw it. multi-dimensional is a real pain | ||
| kjs | i think i got it but don't dare to test beyond 2 dimensions :- | ||
| :-) | |||
| it might blow up | |||
| JimmyZ ->afk, dinner& | 11:46 | ||
|
11:48
birdwindupbird joined
|
|||
| dalek | : 2d2e797 | jimmy++ | src/gencode.c: fixed test t/struct.m1 |
12:56 | |
|
12:57
JimmyZ joined
|
|||
| dalek | : ddb6411 | jimmy++ | src/gencode.c: a bit clean up |
13:02 | |
| JimmyZ | kjs: hmm, I may broke multi-dimensional array | 13:05 | |
|
13:09
Psyche^ joined
|
|||
| kjs | JimmyZ: with what code does it fail? | 13:31 | |
|
13:31
dduncan joined
|
|||
| kjs | JimmyZ: code clean up is best done /after/ it works ;-) | 13:32 | |
|
13:37
JimmyZ joined
|
|||
| JimmyZ | kjs: yeah, with that code it fails | 13:37 | |
| kjs | structs or strings/ | ||
| eh | |||
| arrays | |||
| ? | |||
| JimmyZ | kjs: struct.m1 | 13:38 | |
| kjs | by fixing structs you broke multi-d arrays? | ||
| that's separate code, no? | |||
| JimmyZ | kjs: don't know, I don't have multi-d arrays test | 13:39 | |
| kjs | sorry. i thought you just said "I may broke mult-dimensional array"... | ||
| JimmyZ | kjs: I'm not good at enlish enough, I'm Chinese ;) | 13:40 | |
| kjs | your english is fine I think ;-) | ||
| I'll have a look | 13:41 | ||
| JimmyZ | kjs: thanks | ||
| dalek | : 498d225 | kjs++ | t/multidimarray.m1: add simple test for multi dim arrays. |
13:43 | |
| : 5230aac | kjs++ | / (2 files): add simple struct test. this runs. |
13:51 | ||
| kjs | JimmyZ: t/struct works for me | 13:53 | |
| dont have nested structs yet. that mightn't work | |||
| JimmyZ | kjs: there a unused instruction in t/struct.m0 | 13:57 | |
| kjs | unused instruction? | ||
| as in, dead code? | |||
| JimmyZ | kjs: yeah | ||
| kjs | leave it :-) | ||
| which one? | |||
| we can optimize later. | |||
| JimmyZ | deref I3, I0, I2 # dead code | ||
| set_ref I0, I2, I1 | |||
| kjs | getting it to work is hard enough | ||
| JimmyZ | kjs: aye | 13:58 | |
| kjs | i suspected that already that the deref generated in gencode_obj() for OBJECT_FIELD case is not necessary | ||
| that's the one! | |||
|
14:00
JimmyZ_ joined
|
|||
| dalek | : 1681400 | jimmy++ | src/gencode.c: clean up unused code |
14:03 | |
| JimmyZ | kjs++, who did/do the most hard work | 14:04 | |
| dalek | : 155c856 | kjs++ | / (3 files): update basic struct test. remove comments. |
14:07 | |
| : 789e16f | kjs++ | src/gencode.c: fix conflict |
|||
| : 2acf1f8 | kjs++ | src/gencode.c: remove unused code that jimmy++ already had removed. I don't know what happened. |
14:13 | ||
|
14:45
zby_home joined
|
|||
| dalek | : 57ed238 | kjs++ | / (3 files): implement bitwise not in terms of -x -1. add a test for this. |
14:46 | |
|
14:48
brrt joined
|
|||
| brrt | ping whiteknight | 14:48 | |
| whiteknight | pong | 14:51 | |
| brrt | good :-) i am in need of advice | 14:52 | |
| about io, even | 14:53 | ||
| point made very simply, i'm implementing an input handle | |||
| that uses NCI and PtrBuf and ByteBuffer and all that to fetch data from the apache layer into parrot | 14:54 | ||
| which works! hurray | 14:55 | ||
| but now I'm at the point of either (A): implementing some buffering mechanism and supporting readline() or (B) not do it | |||
| dalek | : b3f0d4f | kjs++ | docs/TODO.txt: Update TODO file with status. |
14:56 | |
| brrt | and since I read your blog post and I know you are working on getting 'generic buffers' to work.. what should you think? | ||
| (i'm strongly leaning to 'don't bother readline()' camp, by the way) | 14:58 | ||
| whiteknight | readline isn't too big an issue at the PIR level | 15:03 | |
| ByteBuffer should automatically set you up with codepoint logic, so you can get a string from your ByteBuffer and search for a delimiter | |||
| then substr that | |||
| if you want | 15:04 | ||
| dalek | : a83c607 | kjs++ | src/m1.y: minor improvements in parser. |
||
| brrt | hmm | ||
| that is probably not a good idea in my current setup | 15:05 | ||
| because my current setup involves no buffers at all | |||
| (except one for apache to write in) | 15:08 | ||
| whiteknight | okay, then don't worry about it | 15:09 | |
| if users start begging for readline, we can set that up later | |||
| brrt | i doubt it, really, its for POST data | ||
| but true enough | |||
| whiteknight | ok | 15:10 | |
| brrt | hows the rewrite going? | 15:14 | |
| oh, much more importantly | 15:16 | ||
| i need to copy a subet of the bytebuffer to a string | |||
| not the whole thing | |||
| .. never mind, i've found it :-) | 15:17 | ||
| get_chars will do | |||
| dalek | : 111b5a1 | kjs++ | / (3 files): implement array constructors. int x[10] = {1, 2, 3}; add test. |
15:18 | |
| brrt | blegh, this stuff is hard | 15:21 | |
| ... ah, thats much better | 15:22 | ||
| whiteknight | brrt: The rewrite is going very well. I've got only a handful of failing tests left, which appear to mostly deal with errors in reading multi-byte characters | 15:23 | |
| brrt | oh, thats very nice | 15:24 | |
| whiteknight | I know the build is going to be broken on windows too, since I renamed some platform-specific functions | 15:25 | |
| JimmyZ | kjs: ping | 15:32 | |
| dalek | : 91bdbf0 | jimmy++ | src/gencode.c: improve mult-dimensional array code generation |
||
| kjs | JimmyZ: poing | 15:33 | |
| JimmyZ | kjs: I got some idea about mult-dimensional array code generation | ||
| kjs: I think we can flat mult-dimensional array to a single-dimensional array at compiling time | 15:35 | ||
| kjs: sorry, I'm wrong, if index is dynamic | 15:36 | ||
|
15:36
jashwanth joined
|
|||
| kjs | JimmyZ: it /is/ flattened | 15:37 | |
| not sure if that's what you mean, but see gencode_obj(); there's an explanation there. | 15:38 | ||
| JimmyZ | kjs: I meant at compiling time, but that's a later optimization | ||
| JimmyZ always wants premature feture :P | 15:39 | ||
| dalek | rrot/whiteknight/io_cleanup1: ef77aa2 | Whiteknight++ | t/pmc/io.t: Fix a test in t/pmc/io.t. The test was asking to read 7 characters, but then testing that we only received 6. The new (correct) behavior is to ask for 6 characters and get 6 characters. |
15:42 | |
| whiteknight | I couldn't understand why this test was failing, because it was doing read(7) and getting 7 characters | ||
| but, it turns out that the test only wanted 6 characters | 15:43 | ||
| AWESOMENESS LEVEL 100 | |||
| JimmyZ | hmm, mult-dimensional is still tricky, I think I commit wrong code | 15:44 | |
| kjs | JimmyZ: I'm ntot sure what you mean by flattening at compile time; that is already done. | 15:46 | |
| JimmyZ: does that latest commit of yours break any tests? | |||
| JimmyZ | kjs: nope, | 15:47 | |
|
15:47
brrt1 joined
|
|||
| dalek | rrot/whiteknight/io_cleanup1: 94edbda | Whiteknight++ | t/pmc/io.t: Fix a UTF16 IO test in the same way. The test was doing .read(9) and expecting to only get back 5 characters. The expectation, I think, is that the 9 is a number of bytes and the internal read routines will automatically round up to get the next full multi-byte character. This is nonsensical. In the new system, when you ask for 9 characters, you get 9 characters with no magic. |
15:48 | |
| kjs | JimmyZ: I don't understand the code that is removed. | ||
| it doesnt seem to make much sense to me | |||
| whiteknight | brrt: See my last two commits for an idea of the kinds of problems I'm seeing | ||
| JimmyZ | kjs: me too. | ||
| kjs | JimmyZ: I don't think its a good idea, because there's still some hacks there. | 15:49 | |
| I understand what you want now; for each dimension it adds another number | |||
| and you want to do that in 1 go | |||
| but that's should be done separately, by an optimizer, otherwise the code generator becomes to messy | |||
| JimmyZ | kjs: so I always want premature feture | 15:50 | |
| kjs | well it's good to optimize | ||
| but it's not even working without optimization :-) | |||
| whiteknight | The old IO code is so wrong at almost every level | ||
| kjs | it's better to revert that latest commit | ||
| JimmyZ | *feature | 15:51 | |
| dalek | : ce95615 | jimmy++ | src/gencode.c: Revert "improve mult-dimensional array code generation" This reverts commit 91bdbf0a1878bbb8918edbd9f59c8cbf6f1ced60. |
||
| kjs | JimmyZ: there are no proper tests yet for multi-dimensional. It works at the moment, but I'm not convinced it does for the more general case | 15:52 | |
| there's a hack in there, but it takes a few hours to get that sorted. dont' have the tuits for that now | |||
| JimmyZ | kjs: aye | ||
| JimmyZ prepares sleeping | |||
| kjs | JimmyZ: thanks for the efforts, though :-) | 15:53 | |
| JimmyZ did nothing :( | |||
| whiteknight | hmmm....I think the io dynops are deprecated, aren't they? | 16:10 | |
|
16:26
lucian joined
|
|||
| dalek | d_parrot: c0f8bdd | (Bart Wiegmans)++ | / (4 files): Added direct post reading with NCI, and it works, too |
16:44 | |
| whiteknight | brrt++ | 16:48 | |
| dalek | : 2f3e875 | kjs++ | / (6 files): Work in progress; Move struct members into a symbol table to unify the code in gencode_obj(). Doesn't work well yet, more to come later. |
16:51 | |
| brrt1 | it reduces code size, too, so that makes me happy | 16:52 | |
|
17:01
PacoAir_ joined
|
|||
| cotto | seen dukeleto | 18:25 | |
| aloha | dukeleto was last seen in #parrot 1 days ago saying "+1 to setting a timeout on child interps". | ||
| dalek | rrot/whiteknight/io_cleanup1: 9041126 | Whiteknight++ | src/ (2 files): Update a few of the IO dynops |
18:58 | |
| rrot/whiteknight/io_cleanup1: 75e2d71 | Whiteknight++ | / (3 files): Change most instances of IO_VTABLE* to const IO_VTABLE*. Add function-level documentation to src/io/api.c |
|||
|
18:59
brrt1 left
19:54
kuku joined
20:01
contingencyplan joined
20:12
lucian joined
20:33
kjs joined
20:37
kjs joined
21:09
perlite joined
|
|||
| dalek | : 836f3b0 | kjs++ | / (8 files): Refactored structs and pmcs; they're now using symbol tables. Mostly works now. |
22:01 | |
| : 02a3faa | kjs++ | src/m1.y: fix minor bug to properly calculate offsets of struct members. |
22:32 | ||
| : e780f6c | kjs++ | src/ (2 files): various updates to semcheck. few comments to parser |
22:53 | ||
| : db023f4 | kjs++ | src/ (3 files): refactored pmc attribute AST nodes. Added handling of extends clause of PMCs, AST only. |
23:11 | ||
| : f5962c8 | kjs++ | src/ (3 files): more handling of PMC methods. AST level only. |
23:21 | ||
| : cf042f0 | kjs++ | src/m1.y: minor refactoring in parser. Also disallow array constructors to be used too often; only allowed in decls of arrays. |
23:30 | ||
|
23:31
brambles joined
23:32
brambles_ joined
23:36
brambles joined
|
|||
| dalek | : 037f2af | kjs++ | / (3 files): Make built-in print statement accept multiple arguments. Add a test for this as well. Fix up order of arguments in AST. |
23:37 | |
| : c55a542 | kjs++ | src/ (2 files): params and args are for now best left in reverse order. Consider this in mult-arg print; go recursively to the end, then emit code to print them. |
23:48 | ||
| rrot/whiteknight/io_cleanup1: 9b419fc | Whiteknight++ | / (2 files): Add function-level documentation to src/io/buffer.c. A few small fixes along the way |
23:53 | ||
| rrot/whiteknight/io_cleanup1: 55621fe | Whiteknight++ | src/io/ (2 files): Function-level documentation and a few small fixes to src/io/utilities.c |
|||
| rrot/whiteknight/io_cleanup1: d48b17a | Whiteknight++ | src/io/ (2 files): Function-level documentation and some fixes for src/io/filehandle.c |
|||