|
Parrot 4.3.0 "In Which..." | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 25 April 2012. |
|||
| cotto | ~~ | 00:03 | |
|
00:13
whiteknight joined
00:17
nbrown joined
00:18
schmooster joined,
GodFather joined
|
|||
| nbrown | cotto: good evening | 00:24 | |
| i see you were working on m0 args stuff today | 00:25 | ||
| msg cotto I don't think that the fact that I didn't convert the argv string to an m0 string should have been the issue. I was using the constant as an m0 string and the arg as a c string | 00:28 | ||
| aloha | OK. I'll deliver the message. | ||
| nbrown | msg cotto but kudos for converting the args, it definitely needed to get done now that I think about it | 00:29 | |
| aloha | OK. I'll deliver the message. | ||
| cotto | no need to msg me | 00:32 | |
| I use an irc proxy, so I don't miss anything unless it mysteriously goes offline | 00:33 | ||
| the cm0 build is very noisy on x86. It looks like that's the next thing to fix. | 00:34 | ||
| nbrown | cotto: ok, I won't do that anymore | ||
| as for the noisy build, I don't know how to make a certain class of them go away | |||
| how can you make the int to pointer of a different size (and the reverse) not cause a warning? | 00:35 | ||
| benabik | ~~ | ||
| cotto | that's a problem we'll need to figure out | ||
| 'evening, benabik | |||
| whiteknight | blah, the worst part about a new OS is having to reinstall all the old libraries and parrot build dependencies | ||
| cotto | x86 cm0 also skips every other arg because of the pointers size difference | 00:36 | |
| wheee | |||
| whiteknight | I may never submit another smoke report, if I have to go through cpan hell again to get all the prereqs | ||
| nbrown | ok, we'll need to do a better job of knowing the size of ints, pointers, etc of the current system | ||
| cotto | clearly | 00:37 | |
| I continue to not like that m0 will do a bunch of otherwise-unnecessary 64-bit math of 32-bit platforms. | 00:38 | ||
| nbrown | btw, is the interpreter data described in the spec supposed to describe the m0b file or the computer running the interpreter? | ||
| cotto | so many holes to plug | 00:39 | |
| nbrown | yeah, but that's fun | ||
| cotto | there's a lot of overlap. The spec is largely concerned with the serialized m0b data. | 00:40 | |
| nbrown | true | 00:42 | |
| did you have any thoughts on how to fix the 64 bit math issue? | |||
| cotto | nothing comes immediately to mind | 00:43 | |
| nbrown | ok, me neither | ||
| cotto | well, nothing elegant | ||
| nbrown | everything I can think of is very messy | ||
| alright, well I think I'm gonna pull your c-args branch and see how it works while I think about eliminating those warnings | 00:44 | ||
| cotto | ok | 00:46 | |
| nbrown | if you can think of something else that you'd like me to work on or think about, feel free to let me know | ||
| I'm willing to work on whatever you think is best | 00:47 | ||
| cotto | a tiny spring appears to have fallen out of my laptop. I hope it's not important. | ||
| I'll definitely be thinking about both the immediate issues and what the long-term plan should look like. | 00:48 | ||
| nbrown | me too, that would be terrible | ||
| cotto | and thanks again for jumping in! | ||
| nbrown | I'm trying to as well, but I'll admit I'm a little muddled right now | 00:49 | |
|
02:00
JimmyZ joined
02:24
jashwanth joined
|
|||
| nbrown | cotto: checkout my last two commits to github.com/nbrown/parrot/tree/m0-c-args-fix | 02:25 | |
| cotto: it fixes the every other arg problem | 02:26 | ||
| cotto | don't mind if I do | ||
| nbrown | the issue was the test was expecting the elements of the argv array to be 64 bits each | 02:27 | |
| cotto | nbrown++ | ||
| yeah | |||
| nbrown | we probably should free the memory in interp_free, but at least it accesses the args correctly | 02:28 | |
| cotto | that patch leaves a couple spots for uninitialized memory to creep it | 02:29 | |
| (the earlier one) | 02:30 | ||
| nm | |||
| nbrown | really? | ||
| ok | |||
| dalek | rrot/m0-c-args-fix: 6811dd3 | nbrown++ | src/m0/c/m0_interp.c: Use 32 bit integers for the string length and encoding |
02:32 | |
| rrot/m0-c-args-fix: c571a65 | nbrown++ | src/m0/c/m0_interp.c: Make interp_argv be uint64_t* instead of char** make m0_args_basic access the correct argument. |
|||
| nbrown | awesome | 02:33 | |
| cotto | the pointer thing is trickier. The problem as I see it is that we need to cleanly separate the concept of the underlying system's pointers from M0's internal pointers. | 02:36 | |
| nbrown | I agree | 02:37 | |
| I'll be honest, I'm not sure how to do that | |||
| cotto | it probably means something like a runtime data segment that M0 programs can treat like main memory | 02:38 | |
| s/segment/area/ | 02:39 | ||
| no pointers to anything outside that from within m0 code | 02:40 | ||
| nbrown | ok | ||
| cotto | (apart from ffi, etc) | ||
| nbrown | that make sense | ||
| cotto | the perl code's about to get meaningfully weirder | ||
| nbrown | that's a great phrase, it made me laugh | 02:41 | |
| cotto | though to be fair, this whole project is an exercise in abusing perl | ||
| nbrown | yeah, I find some of the perl to be head scratchingly interesting | ||
| cotto | that's a very diplomatic way of putting it. I don't think we're doing what larry had in mind. | 02:42 | |
| nbrown | it's a pretty impressive twisting of the language | ||
| cotto | perl5 m0 is still much easier to work with than the C implementation | 02:43 | |
| nbrown | I actually think I've spent more time with the C implementation and find it clearer, but the pointer manipulations are a pain | 02:44 | |
| cotto | that's the part I don't like | ||
| nbrown | me neither | ||
| cotto | if the data segment becomes part of m0b, we're getting dangerously close to smalltalkland | 02:45 | |
| except for all the other smalltalkey things | |||
| nbrown | I keep being tempted to write some macros to abstract it out, but I'm not that great at C macros | ||
| I don't really know smalltalk | |||
| cotto | If you can write a macro that results in cleaner and/or more understandable code, go for it! | 02:46 | |
| nbrown | random question, is m0 supposed to be C89 or C99? | 02:48 | |
| cotto | as much of c99 as msvc supports | 02:50 | |
| it seems to be the limiting factor | |||
| nbrown | ok | ||
| benabik | I have a lot of issues apparently. | 02:51 | |
| dalek | nxed: 2c37d51 | NotFound++ | winxedst2.winxed: use some more binders and algorithms |
||
| benabik | Hey, that syntax works better when I actually write it properly. | 02:56 | |
| NotFound++ | |||
| winxed++ | |||
| The inline syntax in winxed is pretty smart. | |||
| *inline PIR | 02:57 | ||
| cotto | benabik, what issues? | ||
| As your mentor, I feel obligated to be at least as confused as you. | |||
| NotFound | benabik: what syntax? | ||
| benabik | cotto: I've been generating work for NotFound. Thought I had found something new, but it worked once I got the syntax right. | ||
| Oh, wait, no... I misread the result. | 02:58 | ||
| NotFound: I'm trying to use defined_i_p_k | |||
| NotFound: I thought ${ defined ret, obj[key] }; had done it, but I mis-read the output. | 02:59 | ||
| NotFound | benabik: no, the operands of pirops are parsed and handled as expresions. | 03:02 | |
| So that is the same as: { var temp = obj[key]; ${ defined ret, temp }; } | |||
| benabik | So I realized. The $P2[$S1] perfectly lined up with the defined $I1, $P3 underneath. | 03:04 | |
| Uhm. If that made any sense. | |||
| NotFound: Is there a good way to use keyed opcodes? | 03:05 | ||
| NotFound | benabik: yes: using the appropiate winxed syntax for each use ;) | 03:06 | |
| In that case: ret = defined obj[key]; | |||
| benabik | Huh. Didn't see that browsing through the code... | 03:08 | |
| dalek | nxed: 007e6a8 | NotFound++ | winxedst (2 files): rename getlexnum to generatelexnum for clarity |
||
| benabik | Yeah. That doesn't seem to parse. | 03:09 | |
| NotFound | Uh, sorry.... | 03:10 | |
| benabik | exists is there, but not defined. | ||
| NotFound | Yes, I was planning to add it at the same time, but delayed don't remember why. | 03:11 | |
|
03:17
JimmyZ joined
|
|||
| NotFound | benabik: I'm afraid the only way right now is if (exists obj[key] ) ${ defined ret, obj[key] }; else ret = false; | 03:21 | |
| benabik | :-( | ||
| nbrown | cotto: I just fixed the m0_args test to treat argv[1] as an m0 string. It passes for me now. Let me know if it works for you | 03:39 | |
| JimmyZ | nbrown++ | 03:42 | |
| nbrown | thanks JimmyZ | ||
| JimmyZ | :P | ||
| nbrown | JimmyZ: how's your branch coming along? | 03:43 | |
| JimmyZ | nbrown: stopped, I don't like forks. there are too many forks in the linux community :P | 03:44 | |
| benabik | JimmyZ: Branches != forks | ||
| JimmyZ | benabik: my branch are different goal | 03:45 | |
| *is | |||
| nbrown | awww, I was curious where it would go next. It seemed interesting | ||
| JimmyZ | divergence | 03:46 | |
| nbrown: parrot already use type register :) | |||
| uses | |||
| cotto | nbrown++ | 03:47 | |
| nbrown, how much longer are you online tonight? | |||
| nbrown | I know, but m0 wasn't laid out that way originally and I was curious how it would work that way | ||
| cotto: not much, I'm EST based and starting to get sleepy | |||
| cotto | ok | 03:48 | |
| nbrown | why? | ||
| got anything else you want me to think about? | 03:49 | ||
| cotto | I'm thinking about m0's memory layout | ||
| nbrown | yeah, that might be a conversation for another time | 03:50 | |
| cotto | there are three ways that constants data can go | ||
| do you have more or less than 15 minutes? | |||
| nbrown | probably 20ish | 03:51 | |
| cotto | I'll type fast then | ||
| nbrown | nice :) | ||
| cotto | first, each entry in the consts segment is fixed width and can either be a fixed-width value or a pointer to main memory, not unlike what we have now | ||
| nbrown | right | ||
| cotto | the second is similar, except that the pointers are offsets to a later point in the constants segment | 03:52 | |
| nbrown | which is what you suggested yesterday | ||
| cotto | the third is that all values are inline and that constants aren't always fixed-width | ||
| nbrown | so in the third case, how would you know where the 3rd constant is? walk the constant table? | 03:53 | |
| cotto | the second is the least magical and surprising | 03:54 | |
| yes. it'd require some smarts on the part of the interp | |||
| which is why I don't like it | |||
| nbrown | and probably a dedicated load_const op | ||
| I'd tend to lean toward the second. It would also work with the memory model you were talking about before | 03:55 | ||
| cotto | Since we're going to need some rw memory too, that could live either in its own segment or be appended to the consts data (with a ro barrier to keep constants data from getting clobbered). | 03:56 | |
| anything that doesn't fit into a register goes there and the VM would be largely self-contained | |||
| there'd need to be separate ops for dealing with physical memory (or a special case in deref, which isn't preferable), but this might cause fewer problems than it solves | 03:58 | ||
| nbrown | how would we choose how much memory to allocate for the VM? And how would we handle an overflow situation? | ||
| cotto | it'd start with a fixed size area and would have to manually request more. | ||
| nbrown | why would the physical memory ops need to be special? | 03:59 | |
| ok, that makes sense | |||
| cotto | different word size, potentially | ||
| nbrown | ok, but it would only have to be deref, right? | 04:01 | |
| cotto | I think so. not 100% sure | 04:02 | |
| nbrown | yeah, me neither. I'm trying to think it through | ||
| I see the potential need for a different sized deref, but I'm not sure about the others | 04:03 | ||
| so in summary, our current method is probably the simplest. The second is nice for mmap and I'll bet it will have security benefits if we do it carefully. And the third will require some ops to walk the constant segment | 04:06 | ||
| cotto | It feels good to run into fundamental design problems early in the process. | ||
| nbrown | It's so much better than late | ||
| cotto | the current method is the simplest from a naive implementation perspective. The second is probably simpler overall. | 04:07 | |
| nbrown | fair enough, I can see that argument too | ||
| I feel like the second has the fewest special cases | 04:09 | ||
| cotto | M0 should have as few of those as possible. | 04:10 | |
| nbrown | I think we should sketch it out and then try it out in a branch | 04:11 | |
| I agree 100% | |||
| cotto | that's my plan for the next few days | ||
| sketch it out a bit, sleep on it and go from there | |||
| It's nice to realize that even if writing m0 directly is hairy, it'll be almost 100% generated in the end. | 04:12 | ||
| nbrown | let me know where you put it. I'd love to look at it | ||
| cotto | definitely | ||
| nbrown | yeah, that's why I don't stress about how easy/hard it is to write | ||
| but I worry about special cases because those are hard to generate | |||
| cotto | exactly | 04:13 | |
| nbrown | Ok, I'm beat. It's bedtime for me. Talk to you later | 04:16 | |
| cotto | 'night | ||
|
04:41
dukeleto joined
05:44
particle joined
|
|||
| dalek | rrot/m0-c-args-fix: 6618c48 | cotto++ | t/m0/integration/m0_args_basic.m0: remove bogus test. m0_args tests this more effectively |
07:24 | |
|
07:31
fperrad joined
07:53
JimmyZ joined
08:04
brrt joined
08:12
lucian joined
|
|||
| dalek | rrot/coke/rm_pasm: 187f2a3 | jimmy++ | t/pmc/orderedhash.t: change t/pmc/orderedhash.t to pir |
08:54 | |
| moritz | JimmyZ++ | ||
| dalek | rrot/coke/rm_pasm: 6c659be | jimmy++ | t/pmc/ (2 files): change t/pmc/coroutine.t to pir |
09:05 | |
| rrot/coke/rm_pasm: 2d16eaa | jimmy++ | t/pmc/sub.t: attempted to change t/pmc/sub.t to pir, test failed |
09:23 | ||
| rrot/coke/rm_pasm: d0a06e6 | jimmy++ | t/pmc/sub.t: change invokecc $P0 to $P0() in t/pmc/sub.t to pir |
09:27 | ||
|
09:31
PacoAir joined
|
|||
| dalek | rrot/coke/rm_pasm: b39ed59 | jimmy++ | t/op/jit (2 files): removed t/op/jitn.t and t/op/jit.t |
09:33 | |
| rrot/coke/rm_pasm: 4274277 | jimmy++ | MANIFEST (3 files): removed jit from MANIFEST.* |
09:40 | ||
|
09:47
prologic left
|
|||
| dalek | rrot/coke/rm_pasm: 8302da7 | jimmy++ | t/pmc/iterator.t: attempt changed t/pmc/iterator.t to pir |
09:51 | |
| p: 480d22d | (Arne SkjƦrholt)++ | src/6model/reprs/CArray.c: [CArray] Refactor bind_pos_boxed/at_pos_boxed. Since we've added child_objs, we can cache the generated String objects as well, and eliminate the need for at/bind_pos_complex. |
10:00 | ||
| p: 3776cef | (Arne SkjƦrholt)++ | src/ (2 files): Check argument objects for changes after a C language call. Some refactoring of CArray to fit in with the write barriering. |
|||
| p: e99865a | (Arne SkjƦrholt)++ | src/ops/nqp_dyncall.ops: No need to write barrier non-concrete objects. |
|||
| p: 2fb45b9 | (Arne SkjƦrholt)++ | src/ops/nqp_dyncall.ops: Handle non-concrete objects properly in write barriers. |
|||
| p: bcf4b25 | (Arne SkjƦrholt)++ | src/6model/reprs/CArray.c: [CArray] Handle non-concrete objects correctly in bond_pos_boxed. |
|||
| p: ab59c7d | moritz++ | src/ (2 files): Merge remote branch 'origin/dyncall-wb' |
|||
| p: b5fe71a | moritz++ | tools/lib/NQP/Configure.pm: [configure] automatically configure push urls when cloning NQP or Parrot, automatically add an ssh-based pushurl, to make contributions easier for those with commit bits |
|||
| p: 0dde8f3 | moritz++ | tools/lib/NQP/Configure.pm: [configure] automatically configure push urls when cloning NQP or Parrot, automatically add an ssh-based pushurl, to make contributions easier for those with commit bits |
10:04 | ||
| rrot/coke/rm_pasm: f71f8b1 | jimmy++ | t/op/spawnw.t: attempt changed t/pmc/spawnw.t to pir |
10:15 | ||
| rrot/coke/rm_pasm: 0b9731d | jimmy++ | t/op/spawnw.t: fix t/pmc/spawnw.t, test passed |
10:19 | ||
| kudo/nom: 5552804 | moritz++ | docs/ChangeLog: fill in some ChangeLog entries |
10:27 | ||
| rrot/coke/rm_pasm: ba2d72a | jimmy++ | t/pmc/ (3 files): fixed some test in t/pmc/*.t |
|||
| rrot/coke/rm_pasm: 38a473b | jimmy++ | t/op/string_cs.t: convert t/op/string_cs.t to pir |
10:35 | ||
| JimmyZ | removing pasm is a big project! | 10:39 | |
| moritz | aye | 10:41 | |
| which is why it's good to have helpers | |||
| JimmyZ++ | |||
| JimmyZ | yep, it's a manual labor | 10:42 | |
| :P | |||
| Coke++ | 10:43 | ||
|
10:49
jashwanth joined
|
|||
| dalek | rrot/coke/rm_pasm: 4af6103 | jimmy++ | t/pmc/freeze.t: convert t/pmc/freeze.t to pir |
10:59 | |
|
11:05
brrt left
|
|||
| dalek | p: 480d22d | (Arne SkjƦrholt)++ | src/6model/reprs/CArray.c: [CArray] Refactor bind_pos_boxed/at_pos_boxed. Since we've added child_objs, we can cache the generated String objects as well, and eliminate the need for at/bind_pos_complex. |
11:16 | |
| p: 3776cef | (Arne SkjƦrholt)++ | src/ (2 files): Check argument objects for changes after a C language call. Some refactoring of CArray to fit in with the write barriering. |
|||
| p: e99865a | (Arne SkjƦrholt)++ | src/ops/nqp_dyncall.ops: No need to write barrier non-concrete objects. |
|||
| p: 2fb45b9 | (Arne SkjƦrholt)++ | src/ops/nqp_dyncall.ops: Handle non-concrete objects properly in write barriers. |
|||
| p: bcf4b25 | (Arne SkjƦrholt)++ | src/6model/reprs/CArray.c: [CArray] Handle non-concrete objects correctly in bond_pos_boxed. |
|||
| p: 2bfa3a5 | (Arne SkjƦrholt)++ | / (3 files): Merge branch 'master' of github.com:perl6/nqp |
|||
| p: 4db3ed0 | (Arne SkjƦrholt)++ | / (3 files): Merge branch 'master' into dyncall-wb |
|||
|
11:50
benabik joined
11:54
jashwanth joined
|
|||
| dalek | p/toqast: 07ab3c7 | jnthn++ | src/QAST/ (2 files): Sketch out 'bind' op; since it's sensitive to the variable type, the real work on this will be done by the QAST::Var processor. |
11:58 | |
| p/toqast: d8fd160 | jnthn++ | src/QAST/Compiler.nqp: Implement lookup of and binding to locals; handles natively typed ones right off (which PAST never did). |
|||
| p/toqast: b67c3b8 | jnthn++ | t/qast/qast.t: Some very basic tests for binding to a local of the various native types, and ensuring a bind works as an rvalue too (e.g. we return the bound value). |
|||
| kudo/nom: e9d0bbb | tadzik++ | src/core/terms.pm: Fix %*ENV regressions |
12:15 | ||
|
12:20
jwilliams joined
|
|||
| dalek | kudo/nom: 4c241c8 | moritz++ | / (3 files): implement -I command line option |
12:21 | |
|
12:22
brrt joined
|
|||
| Coke | JimmyZ++ # ooh, thanks for the pasm help! | 12:22 | |
| brrt | i just realised something | ||
| winxed is the java of parrot | |||
| low level, object oriented, matched to the underlying vm | |||
| benabik | I tend to think of it as the C to PIR's assembly | 12:23 | |
|
12:23
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:23 | |
| benabik | o/ whiteknight | ||
| jwilliams | is parrot vm based on csp model? | 12:25 | |
| brrt | morning | 12:27 | |
| benabik | jwilliams: What is this csp model? It uses CPS (Continuation Passing Style) | ||
| whiteknight | good morning benabik | ||
| jwilliams | benabik: Sorry. My fault. It should be CPS model, not csp. | 12:36 | |
| I came across to read that parrot is based on CPS model, but I can't find that article right now. | |||
| So just want to make sure. | |||
| moritz | yes, it is. | ||
| benabik | jwilliams: 'salright. There are so many acronyms that I can't assume typos. :-) | ||
| JimmyZ | jwilliams: www.linux-mag.com/id/4197/ | 12:37 | |
| jwilliams | Thanks for the article. That's useful. : ) | 12:41 | |
|
12:46
JimmyZ_ joined
|
|||
| dalek | p/toqast: 28c8f73 | jnthn++ | t/qast/qast.t: Make sure simple lookups of locals work too. |
12:54 | |
| rrot/coke/rm_pasm: cb3a7ed | jimmy++ | t/compilers/imcc/reg/alloc.t: removed some pir/pasm test which is not really useful |
13:00 | ||
| rrot/coke/rm_pasm: dea6133 | jimmy++ | t/op/interp.t: convert t/op/interp.t to pir |
13:08 | ||
| Coke | JimmyZ++ # woot! | 13:15 | |
| dalek | rrot/coke/rm_pasm: b773a23 | jimmy++ | t/op/basic.t: convert t/op/basic.t to pir |
13:16 | |
| rrot/coke/rm_pasm: 16f74a2 | jimmy++ | t/op/exit.t: removed some pir/pasm test from t/op/exit which is not really useful |
13:19 | ||
| lucian | int3.github.com/doppio/about.html | 13:20 | |
|
13:22
alvis` joined
|
|||
| dalek | rrot/coke/rm_pasm: 89f681f | jimmy++ | t/pmc/signal.t: convert t/op/signal.t to pir |
13:22 | |
| Coke | lucian: heh. neat. | 13:23 | |
| dalek | rrot/coke/rm_pasm: 07912e1 | jimmy++ | t/op/exceptions.t: convert t/op/esceptions.t to pir |
13:26 | |
| lucian | Coke: indeed | 13:27 | |
| Coke | down to 17 failing test files in branch. JimmyZ++ moritz++ | 13:30 | |
| moritz, JimmyZ: gist.github.com/2567909 | |||
| dalek | rrot/coke/rm_pasm: 78d07b5 | jimmy++ | t/pmc/bignum.t: convert t/op/bignum.t to pir |
13:32 | |
|
13:34
whiteknight joined
|
|||
| dalek | rrot/coke/rm_pasm: a4d7c4e | jimmy++ | t/ (2 files): fixed plan and s/pasm/pir/g |
13:36 | |
| JimmyZ | :) | ||
|
13:37
nbezzala joined
|
|||
| Coke | 16... | 13:40 | |
| 121 instances of "pasm" in t/ left. | 13:42 | ||
| whiteknight | you guys are kicking butt | 13:43 | |
| dalek | rrot/coke/rm_pasm: f81f7b4 | jimmy++ | t/pmc/nci.t: convert t/pmc/nci.t to pir |
||
| rrot/coke/rm_pasm: 5a31b97 | jimmy++ | t/pmc/nci.t: s/pasm/pir/g in t/pmc/nci.t |
13:44 | ||
| rrot/coke/rm_pasm: 2d8802a | jimmy++ | t/pmc/exception-old.t: convert t/pmc/exception-old.t to pir |
13:52 | ||
| JimmyZ stopped converting | 13:53 | ||
|
13:55
alvis` left
13:56
jwilliams left
13:57
lateau joined
|
|||
| JimmyZ | Coke: there are some test I don't know how to fix, most about .include | 14:02 | |
| Coke: fixing it means more tests passing | 14:03 | ||
| Coke | JimmyZ: example? | 14:04 | |
| looks like "t/compilers/imcc/syn/file.t | 14:06 | ||
| JimmyZ | Coke: .include "interpinfo.pir" in t/pmc/sub.t | ||
| Coke notes that the include.*pasm tests in imcc/syn/file.t can just be deleted, since we already test including pir. | 14:07 | ||
| JimmyZ: I think those just need to be moved outside of a .sub | |||
| dalek | rrot/coke/rm_pasm: f5a6c21 | jimmy++ | t/pmc/bignum.t: removed a test which is not really useful |
14:09 | |
| rrot/coke/rm_pasm: ba010c6 | jimmy++ | t/pmc/signal.t: s/pasm/pir/g in t/pmc/signal.t |
14:11 | ||
| rrot/coke/rm_pasm: 02c6281 | jimmy++ | t/pmc/io.t: convert t/pmc/io.t to pir |
14:13 | ||
| Coke | hurm. actually, that doesn't seem to matter. include from inside a sub is fine. | ||
| JimmyZ: do the initial conversion, show me the code, and how it fails. | |||
| benabik | JimmyZ: Have you rebuilt on the branch? It should generated the appropriate .pir files during build. | 14:14 | |
| JimmyZ | benabik: nope .. | ||
| benabik | Nope you didn't rebuild, or no it didn't generate the files? | ||
| JimmyZ | benabik: I didn't rebuild, I just build a master | 14:15 | |
| benabik: and installed | |||
| Coke | JimmyZ: ah! | ||
| benabik | JimmyZ: interpinfo.pir and the other runtime/parrot/include/*.pir files are built during the build process. If you only built on master, then it won't be able to find them. | ||
| Coke | benabik++ - you need to run the tests against a parrot build on the branch. | 14:16 | |
| also, shouldn't need to install to run the tests. | 14:22 | ||
| dalek | rrot: 2af81f0 | petdance++ | tools/dev/pbc_to_exe.pir: consted a local var |
14:30 | |
| JimmyZ sleeps | 14:35 | ||
| benabik | Hm. Winxed internals are... somewhat opaque. | 14:43 | |
| Pretty organized, but it takes some figuring to determine what's what. | |||
| NotFound | benabik: What are you looking for? | 14:44 | |
| benabik | NotFound: I'm poking around at a defined operator for fun and lack of profit. | ||
| NotFound: Also, do you ever sleep or work? It seems like any time I discuss Winxed you're here. ;-D | 14:46 | ||
| NotFound | benabik: these last days I've been doing bizarre sleep times. | 14:47 | |
| benabik: I'm going to add it | 14:50 | ||
| benabik | NotFound: I figured I'd try to do something myself for once instead of just making a pile of work for you. :-) | 14:53 | |
| NotFound: But if you beat me to it, yay. | |||
|
14:53
lateau joined,
fperrad joined
14:55
fperrad joined
|
|||
| NotFound | benabik: delete and exists have common parts, and adding defined to the bunch can benefit from some refactor, so I prefer to do it myself. | 14:56 | |
|
14:57
dmalcolm joined
|
|||
| benabik | NotFound: Fair enough. I'll continue poking around though. It is fairly cleanly designed, just not documented. Makes for a bit of a learning curve. | 15:10 | |
| dalek | nxed: c8cabac | NotFound++ | winxedst2.winxed: operator defined - experimental |
15:25 | |
| benabik | woo, I was writing something similar. | 15:26 | |
| Which I guess means I was doing something right. | 15:27 | ||
| dalek | kudo/named_pod_vars: a2db837 | tadzik++ | src/Perl6/ (2 files): First attempt at implementing Pod variables like $=data, $=SYNOPSIS etc |
15:33 | |
|
16:21
whiteknight joined
|
|||
| dalek | p/cstr: eee0fa5 | (Arne SkjƦrholt)++ | / (4 files): First cut of handling explicitly managed strings. |
16:24 | |
| whiteknight | hmmm... that reminds me, I really wish our own handling of C strings was improved | 16:27 | |
| dalek | nxed: 55d24bc | NotFound++ | winxedst2.winxed: fix inline of var declarations and subblocks |
||
|
16:27
brambles joined
|
|||
| whiteknight | of course, I'm not prepared to fix it myself yet | 16:29 | |
| NotFound | whiteknight: fix what? | 16:31 | |
| whiteknight | I wish that we cached generated C strings, I wish that we could work with them more cleanly through NCI | 16:32 | |
| NotFound | I think a generic caching of generated C string is too error prone. | 16:35 | |
| whiteknight | can be, yes. But repeatedly reproducing C strings for a STRING is very inefficient | ||
| benabik | It shouldn't be too error prone with immutable strings. | 16:36 | |
| Although I suppose they can be altered when we hand them off. :-/ | |||
| NotFound | Caching them may lead to always copying it just in case it gets unexpectedly freed. | 16:37 | |
| Anyway, I like better using a ByteBuffer than str_to_cstring | 16:40 | ||
| The ByteBuffer is garbage collected. | |||
| whiteknight | if ByteBuffer had a way to extract a C-string from a STRING and cache that, that would be good | ||
| NotFound | Cache where? In the STRING? | 16:41 | |
| whiteknight | in the ByteBuffer | 16:44 | |
| NotFound | ByteBuffer already does it, but you may need to reencode before. | 16:46 | |
| And adding the NUL terminator | 16:47 | ||
| whiteknight | right, we need something that does those things automatically, because C strings are so common to use in NCI and other places | 16:48 | |
| We need it to be much easier to work with C strings at the user-level | 16:49 | ||
| NotFound | whiteknight: you can't automatically know what each use needs. | 16:51 | |
| whiteknight | NotFound: Maybe not, but we can provide much easier tools for various cases | 16:52 | |
| NotFound | Yeah, that's doable. | ||
| whiteknight | An easier interface to get a cached constant, an easier interface to get a copy. An easy way to say whether it should be freed automatically or freed manually, etc | ||
| Coke | interesting. "t/steps/auto/icu-01.t" fails in coke/pasm when running "perl Configure.pl --test" | 17:08 | |
| er, coke/rm_pasm | 17:18 | ||
| msg petdance - getting several warnings in the build on OSX 10.7.3, gcc 4.2.1 | 17:21 | ||
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot/m0-c-args-fix: 5140899 | cotto++ | src/m0/c/m0_ops.c: macroize op invocations to make debugging a bit less painful |
||
|
17:30
jashwanth joined
|
|||
| cotto | ~~ | 17:51 | |
|
17:56
jashwanth joined
|
|||
| benabik | Heh. Apparently Facebook has bots on an internal IRC channel to monitor code and releases and they maintain karma for their developers. | 18:00 | |
| arstechnica.com/business/news/2012/...mpaign=rss | 18:01 | ||
|
18:20
brrt joined
|
|||
| dukeleto | ~~ | 18:29 | |
| dalek | kudo/named_pod_vars: eee338b | tadzik++ | src/Perl6/Actions.pm: Remove some leftover debugging output |
18:34 | |
| kudo/named_pod_vars: 641e6b7 | tadzik++ | src/Perl6/Actions.pm: Make the compiler not whine about undeclared $= variables, and vivify them to Any |
|||
| nxed: f6c2c61 | NotFound++ | winxedst2.winxed: allow try modifiers in inline |
18:35 | ||
| nxed: 30b6a24 | NotFound++ | winxedst2.winxed: some fixes in argument modifiers and don not ignore them when inlined |
18:56 | ||
|
19:01
alvis joined
|
|||
| dalek | p: 446badf | moritz++ | src/PAST/NQP.pir: nqp::die as alias for pir::die |
19:02 | |
| p: d498216 | moritz++ | / (2 files): allow single-letter command line options without spaces between option and value also allow grouping of options that take arguments. Now -Ilib and -pes/// should work |
|||
|
19:03
mdupont joined
|
|||
| dukeleto | mdupont: welcome | 19:04 | |
| dalek | nxed: 765b6bb | NotFound++ | winxedst2.winxed: tiny refactor of modifier lost cloning |
19:24 | |
|
19:30
alester joined
|
|||
| Coke | there #ps today? | 19:50 | |
| dukeleto | Coke: i think so | 19:51 | |
| nine: ping | |||
| whiteknight | oh crap, I completely forgot about #ps | 19:57 | |
| NotFound | Uh.... | ||
| whiteknight | I've got the long-term memory of a fruit fly | 19:58 | |
| dalek | nxed: 3fd0e6b | NotFound++ | winxedst2.winxed: do not ignore var modifiers in inline |
20:02 | |
| brrt | what is basically the cross-platform way to include parrot api files?\\ | ||
| also, apxs is pretty nice | 20:03 | ||
| whiteknight | brrt: What do you mean, parrot api files? | 20:04 | |
| NotFound | brrt: tricky question: the C standard says that #include <> looks for files in a platform dependant way, and #include "" in other platform dependant way. | ||
| brrt | header files, i mean | 20:05 | |
| i know there was a 'trick' for it, just can't recall it | 20:06 | ||
| whiteknight | -Iparrot/include | 20:07 | |
| I think that's what you're talking about | |||
| Also, there's a parrot_config program which contains all the configure-time key/value pairs | |||
| dalek | p/cstr: abef7b9 | (Arne SkjƦrholt)++ | src/6model/reprs/CStr.c: Handle encoding parameter for CStr representation. |
20:08 | |
| whiteknight | so something like "parrot_config include_dir" will return what I think you are asking for | ||
| brrt | ok, tn | ||
| x | |||
| parrot_config includedir actually | 20:13 | ||
| but.... the header files are installed in a versioned directory | |||
| also, is there a way to make gmake run... slower? | 20:14 | ||
| whiteknight | ....slower? | 20:15 | |
| brrt | yes, otherwise my laptop overheats\\ | ||
| used to do so only on flash, now also on compiles | |||
| whiteknight | wow, that's not a problem I've had before | ||
| You try opening that hog up and cleaning out the dust? | 20:16 | ||
| benabik | De-dusting and a cooling tray would be my recommendations. | ||
| whiteknight | I think emacs has a key combination to do that | ||
|
20:18
brrt1 joined
|
|||
| brrt1 | so, back | 20:21 | |
|
20:21
lucian joined
|
|||
| brrt | my current solution is to hit ^Z once in a while | 20:25 | |
| whiteknight | brrt: We might be able to get you set up with an account on feather or something else like that | 20:26 | |
| benabik | You could replace gcc with a script that does (sleep 1; /usr/bin/gcc) | ||
| whiteknight | oh yes, that's a good idea | ||
| and definitely use ccache. Not compiling a file is much less intensive than compiling it | |||
| Anyway, I've got to run catch a train. Talk to you cats later | 20:28 | ||
| brrt | bye! | ||
| brrt likes ssh, also; nice idea for the script | |||
| dukeleto | brrt: hola | 20:30 | |
| brrt: you need an account somewhere for testing? | |||
| brrt | dukeleto: i can get away without, but i'd like one nevertheless :-) | 20:31 | |
| dukeleto | Attention GSoC students: this will help you: github.com/leto/Util/blob/master/bin/new_parrot | ||
| brrt: gcc.gnu.org/wiki/CompileFarm | 20:32 | ||
| brrt: send them your ssh key and tell them your are a GSoC student for Parrot | |||
| brrt | i will | 20:33 | |
| cotto | blargh | 20:44 | |
| long meeting is long | |||
| brrt | where can i link to for the parrot license? | 20:52 | |
| github of course | |||
| cotto | github.com/parrot/parrot/blob/master/LICENSE | ||
| brrt | so, mail was send | 20:55 | |
| sent | |||
| see you all tomorrow | 20:58 | ||
|
20:58
brrt left
21:23
contingencyplan joined
21:42
alvis joined
|
|||
| dukeleto | ~~ | 22:30 | |
| cotto | hi dukeleto | 22:33 | |
| how goes the crazy? | |||
| dukeleto | cotto: exceedingly crazy | 22:42 | |
|
23:06
kid51 joined
23:17
benabik joined
23:55
whiteknight joined
|
|||