|
Parrot 3.9.0 "Archaeopteryx" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 19 October 2011. |
|||
| dukeleto | whiteknight: have we updated api.yaml with all the changes from the green_threads merge? | 00:07 | |
| dalek | rrot: 6078766 | dukeleto++ | DEPRECATED-branch.pod: Remove DEPRECATED-branch.pod which came in on the green_threads merge |
00:08 | |
|
00:49
benabik joined
|
|||
| ingy | hi dukeleto | 01:14 | |
| dukeleto | ingy: wazzup | 01:55 | |
| ingy | dukeleto: nuttin hunnee | 01:57 | |
| dukeleto: I volunteered to speak at the Dec pdx.pm | |||
| but I'll get to pdx before then | 01:58 | ||
| dalek | rrot-libgit2: 1dfe1d8 | dukeleto++ | / (4 files): Get closer to fixing #8 |
02:30 | |
|
02:34
benabik joined
03:03
nbrown_ joined
03:07
contingencyplan joined,
tewk joined
03:22
tewk joined
04:29
tewk joined
04:41
tewk___ joined
05:17
benabik joined
|
|||
| bubaflub | msg dukeleto i have some spare time, i can help with libgit2 if ya need it. feel free to shoot me an email or message with where you want me to look | 05:21 | |
| aloha | OK. I'll deliver the message. | ||
| benabik | ~~ | ||
|
06:33
tewk_ joined
|
|||
| dalek | kudo/nom: 36d8299 | moritz++ | tools/build/NQP_REVISION: bump NQP revision to get a parrot with green threads (just for testing) |
07:14 | |
| snarkyboojum | there is only one test for day04 for advent2010? | 09:33 | |
| or one enabled test... | |||
| dalek | kudo/role_diamond: 2f2a5b7 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.pm: try to fix role diamond compsition: a method should never conflicit with itself. Regresses the RT #72856 tests in t/spec/S14-roles/composition.t |
09:35 | |
| snarkyboojum | perhaps a requirement for this year's advent calendar would be to write a test suite first *ducks* | 09:37 | |
|
09:38
fperrad joined
|
|||
| snarkyboojum | I wonder if macros will make it into such a thing ;) | 09:40 | |
| moritz | snarkyboojum: (wrong channel, should be #perl6) | 10:07 | |
| snarkyboojum | moritz: whoops | ||
| moritz | snarkyboojum: I don't think that adding a barrier to contribution is a good thing | ||
|
10:15
jsut joined
|
|||
| dalek | rrot: 874cd8f | moritz++ | MANIFEST: update MANIFEST, DEPRECATED-branch.pod is gone |
10:22 | |
|
10:45
mj41 joined
10:59
nbrown joined
11:02
fperrad joined
11:15
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:25 | |
| nine | good morning, whiteknight | 11:31 | |
| whiteknight | hello nine. How are you doing today? | 11:32 | |
| nine | Just fine, ready for action | ||
| whiteknight | awesome. I like action | 11:33 | |
| you got your new threads branch on github? | |||
| nine | I do | ||
|
11:38
Psyche^ joined
|
|||
| dalek | p/bigint: dfd536f | moritz++ | src/ops/nqp_bigint.ops: wrap more libTomMath subs in dynops |
12:05 | |
| p/bigint: 93dc058 | moritz++ | src/PAST/NQP.pir: add nqp::<matop>_I opcodes for bigints |
|||
| p/bigint: 05755ba | moritz++ | src/ (3 files): add bigint comparison ops; load nqp_bigint_ops by default |
|||
| p/bigint: 879b700 | moritz++ | src/NQP/SymbolTable.pm: set up bigints at startup |
|||
| nine | whiteknight: I synced my green_threads branch with master and backported the patch moving enable_preemption and enable_scheduling to private flags (slipping in a fix for your codingstd violation) | 12:20 | |
| whiteknight: there's now a Parrot_cx_preemption_enabled for consistency | 12:21 | ||
| dalek | p/bigint: f3d73f0 | moritz++ | t/nqp/60-bigint.t: add bigint test file -- 5/9 fail |
12:24 | |
| p/reprapi2: 1167c9f | jnthn++ | src/6model/sixmodelobject.h: Extend the REPR API a little in preparation for supporting inlining of more complex types in objects. Most immediately this is for bigint support, but it's also the basis for compact structs, and later compact arrays and nested structs in NCI. |
12:26 | ||
| p/reprapi2: adaffcc | jnthn++ | src/ (15 files): First small step of the move to a new REPR API. This splits out instance_of out into allocate and initialize, and starts to make the differentiation between full objects and one object flattened into another's body. Various other updates so we can build/pass NQP test suite still. |
|||
| p/bigint: a5a450c | moritz++ | src/ops/nqp_bigint.ops: save a GCable in nqp_bigint_div, jnthn++ |
13:22 | ||
|
14:21
bluescreen joined
14:24
nbezzala joined
|
|||
| dalek | p/reprapi2: bea2110 | jnthn++ | src/ (12 files): This step of the representation refactor switches [get|set]_[int|num|str] over to the new API. We temporarily lose a few error checks, which will get moved elsewhere. Also P6opaque needs further updates to handle these in a more delegatory fashion. Builds and passes NQP tests. |
14:27 | |
|
14:36
JimmyZ joined
|
|||
| dalek | p/reprapi2: 4035569 | jnthn++ | src/6model/ (8 files): We'll use a common way, encased by a couple of macros, to flag type-object-ness now. This introduces them and makes a start at ensuring sure we consistently flag type objects as being so. |
14:52 | |
| p/reprapi2: 065622f | jnthn++ | src/ (12 files): Eliminte defined from the REPR API; now it's all done through the IS_CONCRETE macro. |
|||
| umage: 587eea2 | fperrad++ | src/lib/Plumage/NQPUtil.nqp: fix after merge branch 'green_threads' |
15:04 | ||
| p/reprapi2: 52e8a70 | jnthn++ | src/ (9 files): Update GC marking to new API. For the representations, this is a simplification; they don't have to duplicate marking the common bits. Some lose their mark routines entirely. |
15:11 | ||
| p/bigint: b2263f6 | moritz++ | src/ (2 files): lcm, gcd |
15:21 | ||
| p/bigint: 216ecda | moritz++ | tools/build/Makefile.in: [build] missing dependency on P6bigint.{c,h} |
|||
| p/bigint: cbd6c19 | moritz++ | / (2 files): make P6bigint {set,get}_int accept negative numbers For some reason the get_int variant doesn't seem to work (returns only positive numbers), though I don't understand why |
|||
| p/reprapi2: 2c9bafd | jnthn++ | src/ops/nqp.ops: Re-instate the checks to make sure we don't try and unbox type objects, but this time at the op level (so it needn't be factored in to every single repr). |
15:23 | ||
| p/reprapi2: 4f25688 | jnthn++ | src/ (9 files): Rename repr data marking functions to actually be clear about what they do. |
15:30 | ||
| p/bigint: 46221b1 | moritz++ | t/nqp/60-bigint.t: fix some of the bigint tests |
15:33 | ||
| p/reprapi2: 5cb979a | jnthn++ | src/ (9 files): Replace all value type attribute lookups with a common approach; this means we'll be able to use it for getting hold of more complex nested value types too. |
16:07 | ||
| p/reprapi2: fcd3f85 | jnthn++ | src/ops/nqp.ops: Get ops to check they're not looking up attributes in a type object, so we don't have to spread this over all the reprs. |
|||
| p/reprapi2: 815ede2 | jnthn++ | src/6model/reprs/ (2 files): Remove a couple of now unrequired checks. |
|||
|
16:10
whiteknight_ joined
|
|||
| whiteknight_ | good afternoon, #parrot | 16:11 | |
| nine | whiteknight_: good afternoon. Read my message from 12:20 UTC? | 16:12 | |
| whiteknight_ | nine: okay, nice | 16:15 | |
| Like I said, flags do save us a pointer dereference. Of course, they're a little bit less obvious and require lots of documentation, etc | |||
| nine: the Sub PMC is a great example of a PMC that uses flags but they aren't well documented | 16:16 | ||
| nine | whiteknight_: do you see any reason why the headerizer would completely ignore this function? paste.scsys.co.uk/154970 | 16:19 | |
| whiteknight_ | nothing obvious | ||
| can you try putting a newline between static and PMC*? | 16:20 | ||
| or moving the * closer to the PMC? | |||
| (i'm taking wild guesses) | |||
| nine | Unfortunately no success. Strangely enough the definition looks almost identical to: | 16:21 | |
| PARROT_CAN_RETURN_NULL | |||
| static PMC * | |||
| Parrot_thread_make_local_copy(PARROT_INTERP, ARGIN(Parrot_Interp from), ARGIN(PMC *arg)) | |||
| which was no problem | |||
| Oh, I think it's not ignoring the function, but the file | 16:26 | ||
| benabik | o/ #parrot | 16:29 | |
| whiteknight_ | nine: if it's ignoring the entire file, that's probably a makefile issue | 16:31 | |
| nine | Good evening, benabik | ||
| whiteknight_ | the headerizer rule in the makefile takes a list of .o files from one of the makefile variables | ||
| hello benabik | 16:33 | ||
| nine | whiteknight_: Makefile looks sane, srv/thread.o is listed. But the headerizer can't read it if it's not there because the file does not compile because of the missing forward reference... | 16:35 | |
|
16:36
bluescreen joined
|
|||
| benabik | nine: Add the reference manually and then run headerizer? | 16:37 | |
| nine | benabik: did that just now. It worked in so far as the headerizer processing the file again. But it just removes my manual additions | 16:38 | |
| whiteknight_ | headerizer is a fickle mistress | 16:47 | |
| she giveth, and she taketh away | |||
| moritz | when is @cc_o_out@ in the parrot Makefile set to something non-empty? | 17:55 | |
| whiteknight_ | moritz: I have no idea. Ask kid51 or Coke | 17:56 | |
| all that configure/makefile stuff is like a foreign language to me | 17:57 | ||
| moritz | oh | 18:00 | |
| it's the '-o' that you need tell the compiler where to put files | |||
| dalek | p/bigint: 2f16a24 | moritz++ | src/6model/reprs/P6bigint.c: fix C89 violation |
18:50 | |
| p/bigint: 1bede84 | moritz++ | tools/build/Makefile.in: [build] separate rules for libtommath files That way unnecessary rebuilds of .o files are avoided, and we can parallelize the build process with `make -j3` etc. |
|||
| p/bigint: 04fbeb4 | moritz++ | tools/build/Makefile.in: [build] I should not use variables that I do not understand :-) |
19:07 | ||
| p/bigint: 154d613 | moritz++ | src/ops/nqp_bigint.ops: fix nqp_bigint_to_str (was adding \\0 at the end) |
19:27 | ||
| p/reprapi2: b40e7bc | jnthn++ | src/ (10 files): Switch to new API for looking up boxed attributes. Note that P6opaque needs to handle it a bit smarter, but this is a start. |
19:42 | ||
| kudo/role_diamond: 8e75858 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.pm: add missing sigil, jnthn++. Sadly it does not fix the problems with composition.t |
19:51 | ||
| p/reprapi2: 0fd5c74 | jnthn++ | src/6model/sixmodelobject.h: Add new copy_to operation to the REPR API. |
20:22 | ||
| p/reprapi2: 337cd40 | jnthn++ | src/6model/reprs/ (7 files): Implement copy_to methods for all the reprs; untested. |
|||
| NotFound | ~~ | 20:40 | |
| cotto | ~~ | 20:48 | |
|
20:55
contingencyplan joined
|
|||
| nine | benabik: finally I found the source of my headerizer problem | 20:59 | |
| benabik | nine: Oh? | 21:00 | |
| nine | benabik: a single space in an empty line preceeding the function. | ||
| tadzik | eek | ||
| benabik | ... | ||
| :-P | |||
| nine | benabik: the funny thing is that I even configured my vim to mark these in blood red but for some reason it just didn't do it for this file | 21:01 | |
| benabik: should I patch the headerizer to ignore these or at least warn about them? The warning would trigger on quite a few files though | 21:03 | ||
| benabik | nine: Feels like a bug in headerizer to me. | 21:05 | |
| nine: If you can make it work in that case, do it. :-) | |||
| nine | I think it's both a bug in the headerizer and bad style to leave trailing whitespace... | ||
| benabik | I think there's supposed to be a test for that in codingstd | 21:06 | |
| dalek | p/reprapi2: 0225bd8 | jnthn++ | src/6model/reprs/P6opaque. (2 files): Start refactoring the way P6opaque handles flattened in attributes; mostly this prepares for getting box/unbox righter and storing s-tables of flattened in things. |
21:09 | |
| p/reprapi2: 648845a | jnthn++ | src/6model/reprs/P6opaque. (2 files): Box/unbox operations in P6opaque now delegate to the representation managing that flattened attribute. |
|||
| nine | benabik: paste.scsys.co.uk/155170?tx=on&...rmat+it%21 | 21:13 | |
| tadzik | this headerizer does not look very whitespace-friendly | ||
| nine | tadzik: whitespace is only one of the problems... | 21:14 | |
| cotto | there's a codingstd test for trailing space, but you wouldn't think to run it when debugging headerizer specialness | ||
| *spaces | 21:15 | ||
| nine | cotto: I run fulltest before every commit. But I can't test if I cannot compile and cannot compile till the headerizer did its work... | ||
| cotto | nine, exactly | ||
| a patch to headerizer wouldn't raise any eyebrows. everyone gets scars from dealing with it | |||
| +1 if you were annoyed enough to write one | 21:18 | ||
| nine | cotto: paste.scsys.co.uk/155170?tx=on&...mat+it%21+ | 21:19 | |
| cotto: paste.scsys.co.uk/155170?tx=on&...rmat+it%21 | |||
| NotFound | -1 for special-casing common mistakes in headerizer. | 21:24 | |
| It's already ugly enough. | |||
| nine | NotFound: this cost me three hours and a lot of motivation. The trailing space would have been cought later on by a coding std test anyway. Do you really think it's better to waste so much instead of adding a trivial patch to the regex? | 21:26 | |
| NotFound | nine: if you have a time machine and send the patch back in time, fine. If not, your time is already wasted. | 21:28 | |
| benabik | NotFound: So the next person who screws up trailing whitespace can do the same? | ||
| nine | NotFound: and you think this will be the only time that someone tries to copy&paste code out of a patch and only removes the +- but forgets about space in the first column? | ||
| NotFound | The next person may watse its time because of unexpected consequences of a too quick fix. | 21:29 | |
| We all know that headerizer is a ugly beast. IMO, write a better one or leave it alone. | 21:30 | ||
| nine | NotFound: I just improved it. | ||
| NotFound | It that space is wrong, leaving it pass without any error or warning is not an improvement for me. | 21:32 | |
| nine | NotFound: a better headerizer is one that can deal with more things that C allows. C allows trailing space. My patch allows the headerizer to deal with trailing space. | 21:33 | |
| NotFound: but of course if its more important to you to waste hours and frustrate programmers, feel free to just ignore the patch and keep waiting for a perfect headerizer. | 21:34 | ||
| NotFound: I for one will not waste any more time on Parrot today. | |||
| NotFound | nine: a generic headerizer for C, maybe. This one is just for parrot. | ||
| nine | msg whiteknight sorry for wasting your time with my headerizer problem. Was a trailing space on an empty line and my copy & paste fault. Trivial patch in paste.scsys.co.uk/155170?tx=on&...rmat+it%21 could have prevented it, but its usefulness for Parrot seems to be controversial. | 21:40 | |
| aloha | OK. I'll deliver the message. | ||
| Coke | I don't think letting headerizer ignore coding standard violations is a problem. That's not it's job. | 21:56 | |
| (didn't read patch) | |||
|
21:59
nbrown joined
|
|||
| dalek | p/reprapi2: 281bfbf | jnthn++ | src/ (11 files): Make allocate operation more consistent with the rest of the API. Get P6opaque's get_attribute_boxed handle the flattened case (untested yet, but probably rightish). |
22:05 | |
| p/reprapi2: 8f536de | jnthn++ | src/ (9 files): Switch binding of natively typed attributes over to the new REPR API. Seems to work fine. |
|||
| NotFound | Coke: I'm not going to say even one more word about that. | 22:08 | |
| dalek | rrot: f71e980 | jkeenan++ | src/pmc/task.pmc: [codingstd] No space before open paren. |
22:13 | |
|
22:17
kid51 joined
|
|||
| dalek | rrot: 847615f | jkeenan++ | src/pmc/task.pmc: Merge branch 'master' of git@github.com:parrot/parrot |
22:18 | |
| p/reprapi2: a76cd8b | jnthn++ | src/ (10 files): Switch normal attribute binding over to the new REPR API. |
22:31 | ||
|
22:37
jsut_ joined
|
|||
| dalek | p/reprapi2: b446492 | jnthn++ | src/ (9 files): Update hint_for for consistency with the rest of the REPR API. |
22:44 | |
| whiteknight | nine: I configure my editor to automatically remove trailing whitespace when I save a document. Not all editors do that, but I greatly enjoy it | 22:52 | |
| dalek | p/reprapi2: 7218de5 | jnthn++ | src/ (9 files): Update is_attribute_initialized to be consist with the rest of the REPR API. |
22:53 | |
| whiteknight | lots of nqp action today | 22:54 | |
| the more important change to headerizer would be to say *why* certain function definitions were rejected. Of course, Headerizer doesn't parse. It uses brain-dead regexes so such diagnostics are not likely | 22:56 | ||
| headerizer is what it is, and if we're serious enough about fixing the shortcomings we're going to have to rewrite it eventually | |||
| sorear | but we have a C parser now | ||
| whiteknight | sorear: for some value of "C parser" and "we have" | 22:57 | |
| the C parser would need to be expanded, would need to be taught a lot more about macros (I can't imagine our current parser is going to handle PARROT_INTERP and ARGIN()/ARGMOD() macros, etc) | 22:59 | ||
| or ASSERT_ARGS(), which by convention should *not* be followed by a semicolon unlike most other C statements | |||
| (and ASSERT_ARGS is also expected to come before variable declarations, despite C89 requiring that no code comes before the declarations) | 23:00 | ||
| dalek | Heuristic branch merge: pushed 17 commits to parrot/threads by Whiteknight | 23:08 | |
| whiteknight | msg nine I am mirroring your threads branch on parrot/parrot. I'll follow along from there. | ||
| aloha | OK. I'll deliver the message. | ||
|
23:22
alester joined
23:36
rfw joined
|
|||