|
Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere Set by moderator on 18 May 2010. |
|||
| whiteknight | oh shit, typo | 00:00 | |
| should be _n, not _s | |||
| cotto_work | just checking that it wasn't anything worse | ||
| whiteknight | if we had git, I could amend that but.... | ||
| dalek | rrot: r47034 | whiteknight++ | branches/ns_func_cleanup (3 files): Parrot_store_global_s -> Parrot_ns_store_global. This function is heavily underused (only used twice, in the same file where it's defined) so we might eventually want to make it go away |
00:02 | |
| whiteknight | Is there anybody around here who can provide a test for the intended behavior in TT #1223? | 00:14 | |
| tcurtis | pmichaud: ping | ||
| whiteknight | I know around here I should probably be using perl, but for these kinds of jobs sed -i is my friend | 00:17 | |
| dalek | rrot: r47035 | whiteknight++ | branches/ns_func_cleanup/DEPRECATED.pod: add another function to TT #1660 |
00:19 | |
| rrot: r47036 | whiteknight++ | branches/ns_func_cleanup (5 files): Parrot_find_global_op -> Parrot_ns_find_global_from_op |
|||
| bacek_at_work | whiteknight, you can use Parrot_find_global_s now (I think) | 00:22 | |
| #443 | |||
| whiteknight | bacek_at_work: nobody uses it. I don't want to rename it, I want to delete it | 00:23 | |
| MURDER DEATH KILL, john spartan | |||
| darbelo | KILL 'EM ALL | 00:24 | |
| purl | i heard KILL 'EM ALL was great | ||
| darbelo has a totally crazy idea. | 00:26 | ||
| pmichaud | tcurtis: pong | ||
| darbelo | No. Wait. | ||
| pmichaud | cotto_work: ping | 00:27 | |
| darbelo realizes it won't work. | |||
| Dammit. | |||
| tcurtis | pmichaud: should PASTs have cycles? nopaste.snit.ch/20638 | ||
| pmichaud | tcurtis: they can, yes. | ||
| sometimes an inner operation needs to be able to refer to an outer block | |||
| tcurtis | Is that limited to the attributes or can there be cycles in the array part of the nodes? | 00:28 | |
| pmichaud | I can't think of anywhere that there might be cycles in the array part.... but so far PAST hasn't made any declarations to the effect that it's not allowed. | 00:29 | |
|
00:29
kid51 joined
|
|||
| dalek | kudo: 4293e07 | jonathan++ | src/Perl6/Actions.pm: Implement auto-currying at compile time of infix, prefix and postfix operators. construction a little less ugly. |
00:30 | |
| kudo: b0ec2da | jonathan++ | src/Perl6/ (2 files): Give Perl6::Compiler::Signature a nicer constructor, to allow neater code in the |
|||
| kudo: 06a4af5 | jonathan++ | src/Perl6/Compiler/Parameter.pm: Give Perl6::Compiler::Parameter a better constructor so we can write cleaner |
|||
| kudo: edb448f | jonathan++ | src/Perl6/Actions.pm: Use new parameter and signature constructors to do some cleanups. |
|||
| kid51 | Any branch need a quick smoke? | ||
| pmichaud | with some upcoming changes that I'm about to put in place it's definitely possible that a single node could appear multiple times in the tree (even if it doesn't create a cycle) | ||
| (i.e., the container node would choose between two possible subtrees -- the subtrees might have duplicate nodes instead of requiring copies) | 00:31 | ||
| darbelo | tcurtis: What if you only copy the nodes you modify? Then you don't have to worry about subtrees (subgraphs?) that you don't touch? | 00:33 | |
| pmichaud | speaking of "copy" -- did the shallow clone for hashes ever get implemented or brought into trunk? | ||
| I ran into a place again yesterday where the deep clone semantics of Hash required a significant workaround | 00:34 | ||
| darbelo | Is that plobsing's shallow_clone vranch? | ||
| whiteknight | I don't know what the deprecation limitations of that branch are | ||
| we are probably limited by time | |||
| dalek | rrot: r47037 | whiteknight++ | branches/ns_func_cleanup (7 files): Parrot_store_sub_in_namespace -> Parrot_ns_store_sub |
00:35 | |
| pmichaud | anyway, another +1 from me to get rid of the evil deep clone semantic | 00:36 | |
| I have more +1's in storage too for that | |||
|
00:37
theory joined
|
|||
| tcurtis | darbelo: that gets tricky with cycles. I was doing that, but my implementation didn't work with cyclical PASTs. | 00:39 | |
| whiteknight | The whole "PMCs can do whatever they want" mentality is fine, until semantics among core PMCs are completely non-standard | ||
| Sure the flexibility will always be there, but among core PMCs some things like shallow-clones should have just been standard | 00:40 | ||
| tcurtis | Perhaps there should be separate shallow_clone and deep_clone vtables. | 00:49 | |
| cotto_work | pmichaud: pong | ||
|
00:52
plobsing joined
|
|||
| dalek | rrot: r47038 | whiteknight++ | branches/ns_func_cleanup (5 files): [namespace] This is going to create problems on mergeback, I can feel the chill running down my spine. Rename src/global.c -> src/namespace.c, and include/parrot/global.h -> include/parrot/namespace.h |
00:52 | |
| rrot: r47039 | whiteknight++ | branches/ns_func_cleanup/src/namespace.c: remove the flag DEBUG_GLOBAL. It was only used in two places and didn't seem to have a lot of utility. If we need to do serious debugging in this area in the future, we can add a new flag and new diagnostics |
|||
| darbelo | tcurtis: With the right default vtables, a freeze/thaw cycle can stand in for deep clone, any day. | ||
| cotto_work | whiteknight seems to be feeling either brave or foolish | 00:54 | |
| darbelo | Or both... | 00:55 | |
| plobsing | look what you've done now | ||
| darbelo | Ah. He'll get over it. | 00:56 | |
| cotto_work | I scared off whiteknight and pmichaud won't return my pongs. | ||
| ;) | |||
|
00:57
abqar joined
|
|||
| tcurtis | darbelo: ah. That would be slower than a custom deep clone, though. | 00:57 | |
| plobsing | darbelo: I actually implemented about half of a deep clone using those very vtables | ||
| except without using any intermediary string | |||
| it's still sitting in a branch somewhere | 00:58 | ||
| do we actually have a good use for a deep clone? I might be motivated to finish that if we did. | |||
| pmichaud | cotto_work: sorry, I got sidetracked in another chan | 01:05 | |
| cotto_work | still alive | ||
| pmichaud | it's nothing urgent. I just wanted to let you know how immensely pleased I am that you and others were able to write ops2c in nqp. | 01:06 | |
| that really makes me feel good about nqp | |||
| cotto_work | you can thank bacek for the majority of the work, but I'm immensely happy about it too. | ||
| thanks | 01:07 | ||
| even more excited about PIRATE | |||
| I'm sure patches will be forthcoming soon after nqp supports multis. | 01:10 | ||
| pmichaud | that's coming very soon now | 01:14 | |
| I'm at the point where I see multi support as an important feature for nqp | |||
| just have to explore the mental design space a bit more | |||
| cotto_work | pmichaud, in your cft, could you take a look at LoritoRoadmap and edit or comment on anything that jumps out at you? | 01:15 | |
| dalek | website: tcurtis++ | PAST::Transformer and the Foundation for PAST Optimization | 01:16 | |
| website: www.parrot.org/content/pasttransfor...timization | |||
| pmichaud | cotto_work: I looked at it briefly a week or so ago, and it looked reasonable to me but seemed like we weren't very far along yet | 01:17 | |
| but I'll identify the "jumps out at me" in the next day or so | |||
| cotto_work | ok. I think the reason we're not very far along is that there hasn't been a well-defined plan to follow. | ||
| thanks | 01:18 | ||
| cotto_work goes home | 01:35 | ||
|
01:35
tetragon joined
01:36
davidfetter joined
01:39
diakopter joined
01:40
diakopter left
|
|||
| dalek | tracwiki: v7 | cotto++ | LoritoRoadmap | 01:40 | |
| tracwiki: incoprorate feedback from allison++, other small changes | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff | |||
| cotto | ~~ | 01:50 | |
|
01:54
ash_ joined
|
|||
| ash_ | ping plobsing | 01:55 | |
| dalek | kudo: 972ae69 | jonathan++ | docs/ROADMAP: We've been able to import module symbols into current lexical scope for a while, |
||
| kudo: 982e8e3 | jonathan++ | src/Perl6/Actions.pm: Fix $obj.Foo::bar in the case that Foo is lexically scoped. |
|||
| plobsing | ash_: pong | ||
| ash_ | hey, sorry i am late, I am moving into my new apartment | 01:56 | |
| just got done with the last load of stuff | |||
| plobsing | it's cool | ||
| dalek | rrot: r47040 | tcurtis++ | branches/gsoc_past_optimization (1 files): Move t/library/pastcompare.pir so that make clean doesn't delete it. |
01:57 | |
| plobsing | so status (from where I stand): you've put it to the list, it has settled without any major objections. I'd say go for it. | ||
| dalek | rrot: r47041 | tcurtis++ | branches/gsoc_past_optimization (3 files): Add PAST::Walker::Dynamic. |
||
| rrot: r47042 | tcurtis++ | branches/gsoc_past_optimization/t/library/pasttransformer.t: Fix inclusion of pastcompare.pir after its move. |
|||
| plobsing | one thing that occurred to me that might make your life easier: make the new signatures distinguishable from the old ones so you can tell what's been ported over to the new system easily. | 01:58 | |
| eg: by initially prefixing with a marker character | |||
| which you get rid of later | |||
| ash_ | plobsing: i have gotten started with configuration stuff, and some tests for the configuration | ||
| plobsing | how far along on that are you? | 01:59 | |
| ash_ | but i had a question about how to mix in the code, i wanted to keep parts of the current NCI system incase people don't have libffi, but I wasn't sure of the best way to mix the two code sets, i'd rather not fill the file with #ifdef 's since that seems harder to maintain | ||
|
01:59
mj41_ joined
|
|||
| ash_ | well, in theory, it looks for: 1) "pkg-config libffi", if that fails, it looks for some system dependent headers, like OS X has libffi 2.0.9 installed by default, if it finds the headers it makes a simple test program and compiles it to verify it works properly | 02:01 | |
| plobsing | ash_: keep them separate! | ||
| ash_ | s/in theory// | ||
| plobsing | be nice, have a flag too | 02:02 | |
| ash_ | github.com/ashgti/parrot/blob/gsoc_.../test_c.in is the test file, i call puts with libffi, and check it worked | 02:03 | |
| that all works fine, my tests aren't great but they do some simple things, like check if you called config with --without-libffi and verify it won't try to configure it | 02:04 | ||
| plobsing | a --with-libffi might be nice too to catch cases where autodetection fails | ||
| maybe | |||
| although if compiling that file fails, I doubt parrot would find libffi at build time anyways | 02:05 | ||
| ash_ | so, configuration stuff seems good, or good enough for now, once i get a bit further I'll probably ask someone with like windows to check that all of this still works there, i don't have a windows computer though | 02:07 | |
| plobsing | alas, parrot has a shortage of windows devs | 02:08 | |
| tcurtis | plobsing: perhaps --with-libffi-libs=/foo/bar/lib/ and --with-libffi-includes=/foo/bar/include/ | ||
| ash_ | so, if i have 2 files, one the current nci things and one for libffi, do i need a gen step? | 02:09 | |
| plobsing | tcurtis: Actually, if it came to that, I'd prefer environment vars. I dislike config option bloat | ||
| ash_: it depends. I needed a gen step because I needed to auto-wrap a bunch of functions to be called with libjit | |||
| you'd likely need this for llvm as well | |||
| but libffi's model is slightly different. You probably don't need to wrap functions, so I doubt you'll need a gen step | 02:10 | ||
| ash_ | alright | 02:11 | |
| then how would i get it to select which file at compile time? | |||
| plobsing | ash_: makefile ifdefs. check out config/gen/makefiles/root.in | 02:12 | |
| ash_ | ah, okay, thanks | ||
| ah, i see, thanks | 02:13 | ||
| plobsing | you'll probably want to plug some code into global init as well (src/interp/inter_create.c) | ||
| other than that, I'm pretty sure your code can live on its own | 02:14 | ||
| ash_ | kk | 02:16 | |
| plobsing | is there anything else we should discuss? | 02:17 | |
| ash_ | my plan is to get the libffi ball rolling soon, but i have not had much spare time to get as much done as I would like. There is a robotics project I have been working on (since last May) and our competition is next week, i was planning on splitting my time between GSoC and it, but it's been sucking up more time than I would of liked, hopefully i'll be able to manage it better this next week, after the competition i am free of distraction | 02:18 | |
| summer (well planned ones) | |||
| i can't think of any other issues that come to mind | |||
| plobsing | ok. meeting adjourned | 02:19 | |
| btw, is that robotics project associated with any orginization? | 02:20 | ||
| ash_ | my school? umm its the ion robotics lawnmower competition www.ion.org/satdiv/alc/ basically you make an autonomous lawnmower | 02:21 | |
| plobsing | cool | 02:24 | |
| ash_ | its pretty fun, the system we are programming it with is called ros, (for robotics operating system, but its not an OS, it runs on linux) my plan after th GSoC is over is to add a library to parrot for the ros core libraries, so you can use it as one of the programming languages, right now it supports C++ and python, with limited support of octive, lisp and java, but i think it would be worth the effort | 02:26 | |
| s/octive/octave/ | |||
|
02:27
bubaflub joined
|
|||
| kid51 must sleep | 02:28 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| ash_ | ros is found at www.ros.org/wiki/ if your interested | ||
| its all open source, under a bsd license | 02:29 | ||
| plobsing | thanks. that might come in handy sometime | 02:30 | |
| ash_ | i like robotics, thats one of my pastimes is working with robotics, that and programming in general, anyway, ima try to make some progress with libffi | 02:31 | |
|
03:12
GodFather joined
|
|||
| cotto | plobsing, when are you planning on merging ops_massacre? | 03:18 | |
| plobsing | cotto: tonight if all goes well | 03:20 | |
| I'm currently working my way through the a later half of fulltest | 03:21 | ||
| and I already have a fix for nqp-rx sitting on my github | |||
| cotto | what's broken? | ||
| purl | well, broken is always relative | ||
| plobsing | It uses pir::tell, pir::open, pir::close, etc | ||
| cotto | more setting stuff then? | 03:22 | |
| nm. they're dynops in the branch | |||
| plobsing | yes, but because we bootstrap with nqp-rx, nqp-rx can't use those dynops | ||
| they become methods on FileHandle | |||
| FileHandle.new().open(), FileHandle.tell(), etc | 03:23 | ||
| It looks cleaner IMHO | |||
| cotto | not sure why those shouldn't be core ops, but I don't mind as long as File I/O is possible. | 03:25 | |
| plobsing | cotto: I'm following the ticket to the letter. Also, file I/O fits naturally in OO. | 03:27 | |
| urg. hitting the "loading PBCs with different dynop dependencies" issue. | 03:29 | ||
| guess that bug jumps the queue | 03:30 | ||
| cotto | sounds... ouch | ||
| what happens? | |||
| plobsing | the dynop gets interpreted as the core op of equivalent number | 03:32 | |
| not exactly sure why *that* happens | |||
| but I knew something bad would happen | |||
| segfaults ensue as the ops take differing numbers and types of regs | 03:33 | ||
| cotto | no surprise there | ||
| plobsing++ | |||
| plobsing | for breaking things? | ||
| cotto | Nah. you're just finding that they're broken. | ||
| not that you wouldn't get karma for breaking things too | |||
|
03:38
LoganLK joined
|
|||
| cotto | I hope there's a good fix for that issue. | 03:38 | |
| plobsing | cotto: I've suspected this to be an issue for a while (ever since I saw ParrotInterpreter.freeze) | 03:39 | |
| there is a fix, it just means creating a new packfile segment for dynamic library dependencies | 03:40 | ||
| not sure if I can shoehorn that onto one of the existing packfile segment types | |||
| cotto | There's nothing wrong with another segment. | 03:41 | |
| plobsing | I supose it couldn't hurt too much to do it right the $nth time | 03:43 | |
| cotto | I might add one just for kicks and giggles. | ||
| HalibutPackFileSegment //added just for the halibut | |||
|
03:47
Hunger joined
|
|||
| plobsing | PickledPepperPackFileSegment | 03:48 | |
| cotto | Are dynpmcs immune? | 03:50 | |
| plobsing | no. they suffer the same issue. but dynpmc numbers are much less likely to be found in PBC than are dynop numbers | ||
| I intend to fix both at the same time though | |||
| cotto | that's what I was thinking | ||
| plobsing | it would also make freeze/thaw on dynpmc a little closer to possible | 03:51 | |
| cotto | generic fixup table for dynamic thingies | ||
| plobsing | fixup is a good word for it. I was going to call it dyndeps, but that's a little cryptic | 03:52 | |
| dalek | rrot: r47043 | tcurtis++ | branches/gsoc_past_optimization (4 files): Add accessors for PAST::Walker::Dynamic attrs and a test for PAST::Walker::Dynamic. |
03:53 | |
| cotto | would it be possible to stick that info into the fixup table without causing too much collateral churn? | ||
| plobsing | collateral churn? | ||
| cotto | messing up other code | 03:55 | |
| plobsing | it *will* change the format of PBC. | ||
| cotto | sure | ||
| we do that all the time anyway | |||
| plobsing | but by adding it as another section, tools that only work on existing sections will continue to work | ||
| unless of course they hit dynamic thinigs | |||
| s/thinigs/thingys/ | |||
| which I hope becomes more common (eg: frozen rakudo setting requires a lot of dynpmcs) | 03:56 | ||
| cotto | I'm certain it will. | ||
| plobsing | cotto: do you have a commit bit on the nqp-rx repo? | 03:58 | |
| cotto | I don't think so. | ||
| plobsing | who does? | ||
| cotto | pmichaud is a likely suspect | 03:59 | |
| bacek might | |||
| github.com/perl6/nqp-rx/contributors | 04:00 | ||
|
04:00
Khisanth joined
|
|||
| cotto | actually, it'd be pretty easy to add dynop and dynpmc fixups to the fixuptable | 04:01 | |
| It's got a constant for the type of fixup and currently 0x1 and 0x2 are used. | |||
| bytecode fixup might be less fun | 04:02 | ||
| plobsing | yes. the reading side of things is the tricky part | ||
|
04:02
parthm joined
|
|||
| cotto | At least a fix exists, even though it's not looking like an easy one. | 04:03 | |
| plobsing | prove t/distro/file_metadata.t 2>&1 | perl -ple '/^#\\s*(svn ps.*)$/ and print $1 && system($1)' | 04:06 | |
| ^^^ we should have a tool to do this ^^^ | |||
| cotto points at mikehh | 04:07 | ||
| If you can put off caring long enough, we'll have made it a moot point by switching to git. | 04:08 | ||
| plobsing | when will it be git o'clock? | 04:09 | |
| cotto | most likely late August, after GSoC is done and we've got some time to let things settle before the next stable release | 04:10 | |
| dalek | rrot: r47044 | plobsing++ | branches/ops_massacre (8 files): fix library_tests |
04:11 | |
| cotto | if certain people *cough*cotto*cough* can get a good Trac/git demo site working. | ||
| plobsing | do any of our GSoC students actually *enjoy* working with svn? | ||
| mine uses git | |||
| cotto | I've asked khairul to use svn to avoid the impedance mismatch, but I felt bad about it. | 04:12 | |
| I'd still rather not change things up while our students are working. If they all say they don't care, that might change. | 04:15 | ||
| plobsing | I ask because I've heard that argument before and it sounds a lot like putting words in other people's mouths | 04:16 | |
|
04:17
ash_ joined
|
|||
| sorear | plobsing: I have a nqp-rx commit bit | 04:17 | |
| ash_ | i rather prefer git, i might use svn since everyone else is, and it would be nice if everyone could more easily find my work, but i like git | ||
| sorear | they're pretty easy to get, you don't even need a CLA | ||
| (though out of common courtesy please don't make huge breaking changes on master) | 04:18 | ||
| plobsing | sorear: I have a fix for nqp-rx already. I'm just looking for someone to commit it. | 04:19 | |
| sorear | send it to me | 04:20 | |
| plobsing | git://github.com/plobsing/nqp-rx.git | 04:21 | |
| it makes nqp-rx work after ops_massacre | |||
|
04:22
Hunger joined
|
|||
| sorear | will it break un-massacred? | 04:23 | |
| plobsing | probably. I had to add some methods on FileHandle to replace functionality lost in ops | 04:25 | |
| massacred will be landing soon (working through examples_tests) | 04:26 | ||
| dalek | rrot: r47045 | plobsing++ | branches/ops_massacre (13 files): fix codetests |
04:27 | |
| rrot: r47046 | plobsing++ | branches/ops_massacre/examples/benchmarks (2 files): fix examples tests |
|||
| bacek_at_work | who called my name? | 04:28 | |
| sorear | bacek_at_work: you are no longer useful here | 04:29 | |
| plobsing: passes tests on r47014 | 04:30 | ||
| sorear ships it | |||
| oops, it crashes if I try to do untested things | 04:31 | ||
| cotto | sorear, that's a pretty bold statement | 04:32 | |
| dalek | p-rx: f60fcfe | plobsing++ | src/ (5 files): fix with respect to ops_massacre parrot branch |
04:34 | |
| plobsing | wohoo! sorear++ | 04:35 | |
|
04:39
davidfetter joined
|
|||
| cotto | That code is a little nicer. | 04:39 | |
|
05:23
aukjan joined
|
|||
| dalek | rrot: r47047 | plobsing++ | branches/ops_massacre (34 files): fix many examples |
05:34 | |
| plobsing | so many examples and so much documentation. much of which is subtly broken or outdated. | ||
| I almost wish I had the time (and motivation) to update it all. or at least remove the horribly broken and wrong parts. | 05:35 | ||
|
05:36
parthm joined
05:43
parthm left
05:44
Hunger joined
05:57
TiMBuS joined,
Hunger joined
|
|||
| cotto | could a regex catch most of it? | 06:00 | |
| plobsing | I've alredy fixed it wrt ops_massacre. when I say horribly broken, I mean in general compared to how things are usually done in parrot now | 06:01 | |
| the only thing I broke and didn't fix was the quine. mostly because I'm not smart enough | |||
| for example: we shouldn't be giving examples in pasm. | 06:02 | ||
| cotto | as far as I'm concerned, we should be doing anything im pasm. | 06:03 | |
| plobsing | I think it is a usefull notation for the compiler to spit back at people. That's about it. | ||
| cotto | It would be if it did what it said on the box. | ||
| i.e. if we could round-trip it with pbc and pir | 06:04 | ||
| plobsing | I have a fix for PBC constants in PASM (which is 90% of the incompatiblility AFAICT) | ||
| I just need tuits. | |||
|
06:05
uniejo joined
|
|||
| plobsing | one problem with bootstrap I just ran into hard: merge conflicts in generated files | 06:10 | |
|
06:10
parthm joined
|
|||
| cotto | I usually ignore those and regenerate post-merge | 06:11 | |
| for core_ops.c and friends you should be fine as long as you have one of the checked-in versions. | 06:12 | ||
| plobsing | so long as noone deletes an op and the supporting core function while another branch is out of sync | 06:13 | |
| cotto | It does make things a bit more brittle. | ||
|
06:14
Hunger joined
|
|||
| plobsing | how do I get the latest nqp-rx into the parrot repo? | 06:17 | |
| moritz | plobsing: see docs/bootstrap* in nqp-rx | 06:19 | |
| dalek | rrot: r47048 | plobsing++ | branches/ops_massacre (66 files): sync with trunk |
06:22 | |
| cotto | plobsing, merging time? | 06:26 | |
| plobsing | almost | 06:27 | |
| add nqp-rx and then merge | |||
| this merge took too much out of me. I'm tempted to simply do all my development on trunk (good practice be damned!) | 06:28 | ||
| cotto | For massive ops nuking, I would have just done it on trunk. | 06:31 | |
| plobsing | the most destabilizing, destructive operations are the hardest to merge | 06:32 | |
|
06:32
jjore joined
|
|||
| dalek | rrot: r47049 | cotto++ | trunk/compilers/opsc/src/Ops/File.pm: [opsc] add number of ops parsed to verbose ops2c output |
06:39 | |
| rrot: r47050 | plobsing++ | branches/ops_massacre/ext/nqp-rx/src/stage0 (4 files): grab latest nqp-rx |
|||
| plobsing | cotto++ # opsc ops counting | 06:40 | |
|
06:53
fperrad joined
06:56
fperrad_ joined
|
|||
| cotto | that'll make updating the tests much less annoying | 06:57 | |
|
07:00
janus joined
07:02
khairul joined
|
|||
| cotto | khairul, ping (see privmsg) | 07:05 | |
| parthm | hello. i am trying to add a simple 'if' conditional handling to create_language generated grammar but i seem to be doing something really wrong (and possibly stupid as i am new to perl and parrot). | 07:17 | |
| dalek | tracwiki: v20 | cotto++ | CottoTasklist | ||
| tracwiki: opsc tasks are done for now, more are welcome | |||
| tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff | |||
| parthm | i get the error 'ast' not found for 'undef'. nopaste.snit.ch/20657 ... any ideas? | 07:18 | |
|
07:18
viklund joined
|
|||
| sorear | I'm suprised create_language still works. | 07:18 | |
| Especially since we just got rid of NQP... | 07:19 | ||
| parthm | sorear: should i be using create_language or mk_language_shell? | ||
| moritz | parthm: maybe try if $<else>[0] { ... } | ||
| sorear | Which one uses NQP-rx? | ||
| oh | 07:20 | ||
| your grammar is in a .pm file | |||
| you are using NQP-rx, nevermind | |||
| parthm | moritz: doesnt seem to work. i am just trying 'if (1) { say("hello"); }' so its avoiding the else. is $<EXPR>.ast and $<statementlist>.ast valid? | 07:21 | |
| moritz | parthm: if the action methods of both call make(), yes | 07:22 | |
| parthm: you can insert say() statements to find out which invocation actually causes the error | 07:23 | ||
| nopaste | "parthm" at 192.168.1.3 pasted "statementlist" (6 lines) at nopaste.snit.ch/20658 | 07:25 | |
| parthm | mortiz: it seems its statementlist thats producing the error. it seems to have 'make $past' at the end. | 07:26 | |
| s/producing the error/failing at .ast/ | |||
| plobsing | ops_massacre is synced with latest trunk, so why does trunk give all sorts of conflicts on mergeback? | ||
| moritz | it's svn. | 07:27 | |
| plobsing | using svn's everything is just a directory model, can I simply overwrite trunk with a branch that contains all changes on trunk? | ||
| moritz | that might work, unless somebody else does a commit in the mean time | 07:28 | |
| moritz not an svn expert | |||
| parthm: no idea, sorry | |||
| parthm: if nobody else here can help you and you get stuck, you can still try the mailing list(s) | 07:29 | ||
| parthm | mortiz: np :) ... will dig around some more. mailing list sounds like a good idea. | ||
|
07:37
Hunger joined
|
|||
| parthm | changing <statementlist> in the rule to <main=statementlist> and doing $<main>.ast did the trick .. now stuck a little later :( | 07:45 | |
| nopaste | "cotto" at 192.168.1.3 pasted "odd nqp semantics or bug: you be the judge" (17 lines) at nopaste.snit.ch/20659 | 07:46 | |
| cotto | moritz, are you any good with nqp? | 07:47 | |
| moritz | cotto: I'm good with Perl 6, not not really with nqp | 07:48 | |
| cotto | ok | ||
| sorear | cotto: not a bug | 07:49 | |
| moritz | cotto: in Perl 6 if you write your own .new, you have to call self.bless to actually create a new instance | ||
| sorear | if you override new like that, you don't get new instances | ||
| moritz | otherwise you end up returning the type object | ||
| cotto | sorear, how do I get a new instance then? | 07:50 | |
| moritz | full Perl 6 has other mechanisms for initilializing attributes | ||
| sorear | cotto: call the superclass's new, or don't override new | 07:52 | |
| parthm tried to understand PAST::Op.new | 07:53 | ||
| where can i find docs/code for the class PAST? | |||
| sorear | docs/pdd/*ast*.pod | 07:54 | |
| parthm | sorear: thanks :) | 07:56 | |
| cotto | khairul, I'm off to bed. | 07:58 | |
| sorear, thanks. | |||
| khairul | cotto: sure, thanks. i'll look into it. | ||
|
08:02
JimmyZ joined
08:17
parthm left
|
|||
| dalek | parrot: 3a96e63 | dukeleto++ | plparrot.c: Don't imcc_initialize |
08:47 | |
| parrot: 93d4a76 | dukeleto++ | (2 files): Fix return values in PL/ParrotU |
|||
| plobsing | svn-- # can't even do a *fast-forward* merge properly | 08:53 | |
| ttbot | Parrot trunk/ r47051 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328130.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 08:54 | |
| dalek | rrot: r47051 | plobsing++ | failed to fetch changeset: merge ops_massacre |
||
| bacek | aloha | 09:00 | |
|
09:08
clinton joined
|
|||
| bacek | seen mj41 | 09:09 | |
| purl | mj41 was last seen on #parrot 9 days, 22 hours, 51 seconds ago, saying: back, it was a short one [May 17 11:08:31 2010] | ||
| bacek | seen mj41_ | ||
| purl | mj41_ was last seen on #parrot 175 days, 15 hours, 10 minutes and 46 seconds ago, saying: to dukeleto :-) [Dec 2 17:58:43 2009] | ||
| mj41 | bacek: pong :-) | ||
| bacek | mj41, :) | 09:10 | |
| JimmyZ | collect2: ld returned 1 exit status | ||
| ttbot | Parrot trunk/ r47052 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328198.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| JimmyZ | make: *** [runtime/parrot/dynext/debug_ops.dll] Error 1 | ||
| bacek | mj41, how much _your_ effort required to made TapTinder to capable build HLL's on top of parrot? | ||
| JimmyZ | I can't build parrot ... | ||
| bacek | JimmyZ, win32? | ||
| JimmyZ | Yeah | 09:11 | |
| dalek | rrot: r47052 | plobsing++ | trunk/PBC_COMPAT: bump pbc compat |
||
| bacek | JimmyZ, so TapTinder. plobsing slightly broke win32 build with ops_massacre | ||
| mj41 | bacek: HLLs on Subversion repos easier then on Git :-). | 09:12 | |
| bacek | mj41, I did read tt wiki :) | ||
| mj41, so Git support + dependent projects support. Roughly? | 09:13 | ||
| mj41 | yes. DB schema is probably ready to dependent projects. But code not. | 09:14 | |
| bacek | mj41, c'mon! Give me numbers :) | 09:15 | |
| mj41 | I have some free time again. I'm not sure about Git support, but can do dependent projects support during two weeks. I hope :-). | 09:17 | |
| mikehh | plobsing: sorry I was not around earlier, any I do have a sort of tool available to fix the svn properties, similar to what you posted | 09:18 | |
| bacek | mj41, pledgie.com/campaigns/9495. I do want dependent projects done :) | 09:20 | |
| mj41 | bacek: ... join #taptinder and ping me every day ... I need to be motivated by great hacker :-). | 09:22 | |
| bacek | mj41, which network? freenode? | ||
| mj41 | irc://irc.freenode.net/#taptinder | ||
| ttbot | Parrot trunk/ r47053 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328246.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 09:24 | |
| dalek | rrot: r47053 | chromatic++ | trunk/compilers/imcc/pbc.c: [IMCC] Fixed a compilation warning, localized a variable, and tidied some code. |
09:27 | |
|
09:43
IllvilJa joined
|
|||
| mikehh | g++ fails to build/ quite a few test failures with gcc (packfile and some others) - Ubuntu 10.04 amd64 | 09:46 | |
| some tests fail in make corevm/make coretest thet pass make test | 09:47 | ||
| bacek | karma g | 10:34 | |
| purl | g has karma of 1192 | ||
| bacek | g++ deserve it :) | ||
|
10:57
Hunger joined
|
|||
| moritz | c-- | 11:34 | |
|
11:52
sorear joined
11:57
whiteknight joined
11:58
atrodo joined
|
|||
| bacek | opbots names | 12:15 | |
| opbots trust mj41 | |||
| slavorg | Ok | ||
| slavorgn | Ok | ||
| bacek | opbots trust ash_ | 12:17 | |
| slavorgn | Ok | ||
| slavorg | Ok | ||
| bacek | opbots trust GeJ | ||
| slavorgn | Ok | ||
| slavorg | Ok | ||
|
12:19
jsut_ joined
|
|||
| bacek | opbots trust timbus | 12:19 | |
| slavorgn | Ok | ||
| slavorg | Ok | ||
| pmichaud | ...I think the changes to src/setting/IO.pm in nqp-rx are likely to not work. | 12:34 | |
| (in commit f60fcf) | |||
| pmichaud tests. | 12:35 | ||
| moritz | oh | 12:38 | |
| .loadlib 'io_ops' | |||
| ... | |||
| printerr "hello" | |||
| gives a syntax error with an installed parrot | |||
| but works fine with the 'parrot' binary in the source dir | 12:39 | ||
| let me guess.... .loadlib fails silently? | |||
| yes it does | 12:40 | ||
| great</sarcasm> | |||
| pmichaud | yes, loadlib fails silently. | ||
| moritz writes a mail to parrot-dev | 12:41 | ||
|
12:41
parthm joined
|
|||
| nopaste | "pmichaud" at 192.168.1.3 pasted "spew() no longer works in nqp-setting" (15 lines) at nopaste.snit.ch/20661 | 12:42 | |
| pmichaud | the likely problem is that there's no FileHandle type object for .new to operate on | 12:46 | |
| parthm | hello. i am trying to extend the create_language.pl language to support 'if' but i seem to be failing miserably. could anyone tell me what i am doing wrong in this basic change? pastebin.com/PvCpuaeM | 12:47 | |
| pmichaud | parthm: were you able to get it working without the 'else' clause stuff? | 12:51 | |
| sometimes I start a little smaller and see if I can get that working | |||
| parthm | pmichaud: i put some prints the if ast seems to be getting created fine. i.e. if i put a say just before "make $past" in if its printed. this seems to be failing after that sometime. | 12:52 | |
| s/if/'if'/ | |||
| pmichaud | hmmm, okay. | ||
| your pastebin doesn't show where <if_statement> gets added into the grammar | 12:53 | ||
| parthm | pmichaud: sorry i missed that in paste. i have put it along with statement. pastebin.com/77dt0qa9 | 12:54 | |
|
12:54
ruoso joined
|
|||
| pmichaud | aha | 12:55 | |
| since you changed the statement rule, you have to change the statement action as well | |||
| much easier would be to include it as part of statement_control | |||
| moritz | .oO( or you proto regexes ) |
||
| pmichaud | i.e., to use rule statement_control:sym<if> instead of rule if_statement | 12:56 | |
| then you don't need to change rule statement | |||
| parthm | pmichaud: i get it now ... thanks :) | ||
| parthm starts typing hoping to fix his grammar | 12:57 | ||
|
12:59
gbacon joined
|
|||
| pmichaud is once again struck at the numerous mechanisms Parrot uses for introspection of its core features | 13:00 | ||
| 1. sometimes we use a method -- e.g. $P0 = getinterp; $P1 = $P0.'stdhandle'(1) | 13:01 | ||
| parthm | pmichaud: that worked, thanks :) ... so --target=past works fine. but running it doesn't produce any output. how do i specify the meaning of "if". i noticed say and print are in Runtime.pm but i suppose 'if' is something more primitive. | ||
| pmichaud | 2. sometimes we use the keyed interface -- e.g. $P0 = getinterp; $P1 = $P0['sub'] | ||
| moritz | parthm: there's a Past::Op representing 'if' | ||
| pmichaud | parthm: what you had before for the if statement node looked correct-ish | 13:02 | |
| 3. sometimes we use the getattrribute interface: $P0 = getinterp; $P1 = $P0['context']; $P2 = getattribute $P1, 'lex_pad' | |||
| parthm | so basically, the ":pasttype('if')" argument to PAST::Op.new should take care of it? | ||
| pmichaud | parthm: yes. | ||
| 4. sometimes we use the 'inspect' opcode | 13:03 | ||
|
13:03
masak joined
|
|||
| parthm | hmm. weird ... nothing gets printed for 'if (1) { say("hello"); } else { say("world"); }' | 13:03 | |
| pmichaud | parthm: can I see the output of --target=past ? | 13:04 | |
| parthm | pmichaud: sorry to trouble you with basic questions. i am new to both parrot and perl :P ... the past output pastebin.com/K68WLmTf | 13:05 | |
| pmichaud | parthm: no problem. it's my own fault for not having written the nqp and past tutorial yet. | ||
| :-) | |||
| hmmm, for some reason the past node for the if statement isn't making it into the tree | 13:06 | ||
| parthm | i am using parrot 2.4.0 in case it matters. | ||
| pmichaud | if you changed the name of the rule to be statement_control:sym<if>, did you also change the name of the action method as well? | 13:07 | |
| parthm | pmichaud: silly me ... yes that was it :) ... its great to see "hello" printed now. | 13:08 | |
| pmichaud: thanks :) | |||
| pmichaud | \\o/ | ||
| I really should come up with some sort of debugging capability to warn on missing action methods | |||
| parthm | pmichaud: that would definitely help noobs like me | 13:09 | |
| pmichaud: one thing i noticed. if in the grammar pastebin.com/PvCpuaeM ... i use <statementlist> instead of <main=statementlist> for the first clause and update the action to use $<statementlist>.ast it fails. | 13:13 | ||
| the second one is still <else=statementlist>. is this expected? | |||
| pmichaud | ah, yes. | 13:14 | |
| the problem is that $<statementlist> becomes an array | |||
| because it appears twice in the list | |||
| it would be fixed if you change the second one to <else=.statementlist> | |||
| (which then captures to <else> but not <statementlist>. currently it's capturing to both.) | 13:15 | ||
| parthm | oh. ok. so the dot starts a second capture? | ||
| pmichaud | prevents a second capture, actually | ||
| <abc> captures to $<abc> | 13:16 | ||
| <.def> doesn't do a capture | |||
| <abc=.def> captures to $<abc> but not $<def> | |||
| <abc=def> captures to both $<abc> and $<def> | |||
| parthm | pmichaud: i get it now. thanks for explaining it. | ||
| moritz | perlcabal.org/syn/S05.html contains the specification | 13:17 | |
| nqp-rx doesn't implement all of it | |||
| but a good part of it | |||
| purl | i guess a good part of it is that it "works" | ||
| moritz | purl: forget a good part of it | ||
| purl | moritz: I forgot good part of it | ||
| parthm | mortiz: thanks. | ||
| moritz | is my name actually *that* hard to spell? :-) | ||
| pmichaud | for once, I actually agree with something purl says. but the stupid bot should still learn to keep quiet unless spoken to. | ||
| moritz: it's about as hard as "rakduo" :-P | 13:18 | ||
| moritz | pmichaud: yeah, but you can tab-complete names :-) | ||
| erm, nicks | |||
| parthm | moritz: ... oops. sorry :) | ||
| pmichaud | moritz: so, do we need someone logged in as "rakudo" on the chan? maybe an alias to p6eval? ;-) | ||
| moritz | pmichaud: maybe we should add a no-op bot named 'rakudo' so that we can tab-complete it :-) | ||
| heh | |||
| pmichaud | "Jinx!" | ||
| afk for a bit, need more nap | 13:19 | ||
| masak | two people suggest it at the same time. must be a good idea. :) | ||
| PerlJam | and at least one lurker (me) agrees :) | ||
| moritz | the lurker gets to write the bot | 13:20 | |
| masak | that's only fair. | 13:21 | |
| moritz | PerlJam: that would be *you*, just to be clear and unambiguous | 13:22 | |
|
13:27
Coke joined
|
|||
| Coke | anyone working on the rakudo bug? | 13:27 | |
| PerlJam | "the" rakudo bug? :) | ||
| moritz | the parrot bug exposed by rakudo, and discussed on parrot-dev just now :-) | 13:28 | |
| Coke | moritz: I have a patch in progress. building... | 13:34 | |
| A lot of these HLL-only bugs would be caught if we tested against our install. | 13:35 | ||
| (which many folks have brought up recently) | |||
| moritz: you also need bit_ops... | 13:43 | ||
| moritz | Coke: ok | 13:45 | |
| Coke: btw do you have a rakudo commit bit? | |||
| Coke | moritz: sure. | ||
| moritz | great | ||
| Coke | I can just fixup rakudo if you like. | ||
| bump parrot_rev, do at least a 'make test' to make sure.. | |||
| moritz | I was mainly asking because of the next rakudo release | 13:46 | |
| but sure, go ahead | |||
| Coke | moritz: ... sys_ops.... =-) | 13:47 | |
|
13:49
patspam joined
|
|||
| Coke | built, running test... | 13:49 | |
| dalek | kudo: e40ee42 | Coke++ | (2 files): track the move of some ops to dynamic op libraries, bumping parrot revision. |
13:53 | |
| Coke | moritz: done. | 13:54 | |
| moritz | Coke: danke | ||
| Coke | de nada. simple fix. | ||
| ttbot | Parrot trunk/ r47054 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328371.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| Coke | uhoh. | 13:55 | |
| dalek | rrot: r47054 | fperrad++ | trunk/t/harness.pir: fix readline (opcode -> method) |
||
| Coke | oh, good, that was plobsing. | ||
| rrot: r47055 | coke++ | trunk/MANIFEST.generated: Install all the new dynoplibs. |
|||
|
13:56
Andy joined
|
|||
| parthm | i am using parrot 2.4.0 but noticed in the announcement suggests the svn repo. should i be using the trunk instead? parrot.org/news/2010/Parrot-2.4.0 | 13:58 | |
| Coke | parthm: depends on what you're doing. | 13:59 | |
| svn trunk is not /entirely/ stable, but it's close. | |||
| ttbot | Parrot trunk/ r47055 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328398.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 14:00 | |
| parthm | Coke: i am working on an HLL. | ||
| Coke | parthm: I would probably recommend using a release, but don't get more than a release behind. =-) | 14:01 | |
| (you can achieve the same effect, really, by using svn and only updating every so often.) | |||
|
14:01
davidfetter joined
|
|||
| parthm | Coke: sounds like a good idea. i will probably use the trunk then and update once a month :) | 14:02 | |
|
14:02
ruoso joined
|
|||
| parthm | Coke: thanks. | 14:02 | |
| Coke | parthm: np. | ||
| you working on porting an existing language or something new? | |||
| parthm | Coke: i am working on creating a new language. parrot seemed the most suited. but i am new to perl so still have a bit of learning to do. | 14:04 | |
| the folks on irc have been very helpful :) | |||
|
14:04
JimmyZ joined
|
|||
| Coke | glad ot hear it. | 14:04 | |
| *to | |||
| parthm | Coke: if i have something substantial in a month or two will probably announce it on parrot-user. | 14:05 | |
| Coke | RFC: Manifest generated shouldn't list all possible extensions, but just the @ext@'s from the makefile syntax. | ||
| parthm: looking forward to it. | |||
|
14:09
bubaflub joined
|
|||
| Coke goes back to lurking. | 14:10 | ||
|
14:10
Coke left
|
|||
| dalek | TT #1661 created by reezer++: Parrot crashes when clicking on Preferences | 14:29 | |
| TT #1661: trac.parrot.org/parrot/ticket/1661 | |||
|
14:30
JimmyZ_ joined
14:31
jsut joined
14:32
parthm left
14:36
Coke joined
|
|||
| ttbot | Parrot trunk/ r47056 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328509.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 14:41 | |
| NotFound | <sarcasm>I like our deprecation policy. We can't change broken things because some unknown thing may be using it, but we can change the most used ops and break anything without any problem.</sarcasm> | 14:42 | |
|
14:43
plobsing joined
|
|||
| dalek | rrot: r47056 | fperrad++ | trunk/runtime/parrot/library/LWP/Protocol.pir: [LWP] fix after ops_massacre |
14:44 | |
| whiteknight | NotFound: you don't have to tell me, I've always argued for an opt-in system | 14:50 | |
| NotFound | So now there isn't any way of output something to standard output without loading a lib? | 14:57 | |
| Coke | NotFound: print and say should still be there. | 14:58 | |
| NotFound | And to stderr? | ||
| Coke | printerr was moved. | 14:59 | |
| (this is why I asked him to ping the list regarding the (very old) ticket about moving all those ops to dynops. | |||
| ) | |||
| The original ticket was very broad and vague. | 15:00 | ||
| NotFound | julian@sparx:~/parrot$ cat p.pir | 15:02 | |
| .loadlib 'io_ops' | |||
| .sub main | |||
| printerr "Hi\\n" | |||
| .end | |||
| julian@sparx:~/parrot$ ./parrot -o p.pbc p.pir | |||
| julian@sparx:~/parrot$ ./pbc_disassemble p.pbc | |||
| Unknown opcode type | 15:03 | ||
| Now we can't disassmble even the more simple progs. | |||
| Coke | NotFound: "holy crap, we have a disassembler?!" | ||
| NotFound | Sort of. | 15:04 | |
| Coke | clearly not so much now. Seriously, though, i'd open a ticket on that. I'm sure if we had test for that sort of thing, it wouldn't have broken on mergeback. | ||
| NotFound | Coke: we don't have mechanics for that, so no big surprise. | 15:05 | |
| Coke | presumably, it's not just that dynop that fails but all dynops, so the mergeback just would have kept the original todo'd test. but you know what I mean. | 15:06 | |
| I'm more ticked that partcl has been dead for some time. =-) | |||
| NotFound | Coke: you can be happy, now almost al must be dead, you're not alone. | 15:07 | |
|
15:10
dmalcolm joined
15:14
tcurtis joined
15:17
ash_ joined
15:24
theory joined
|
|||
| ttbot | Parrot trunk/ r47057 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328587.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 15:46 | |
| dalek | rrot: r47057 | fperrad++ | trunk (3 files): since r46922 (merge ops_pct), these files are in MANIFEST |
15:50 | |
|
15:51
ruoso joined
|
|||
| Coke | NotFound: yah, doesn't really help. | 15:58 | |
| at least rakudo's still working. | |||
|
16:05
lucian joined
16:15
aukjan1 joined
|
|||
| pmichaud | 14:59 <Coke> (this is why I asked him to ping the list regarding the (very old) ticket about moving all those ops to dynops. | 16:36 | |
| I thought about protesting the loss of printerr, but ultimately decided the tide was against us on that one. | |||
| I do know that allison++ has been musing that we should eliminate 'say', which I'd really feel bad about losing. | 16:38 | ||
| (or perhaps I've misread what she's written on the topic -- see the ticket.) | |||
| afk again | |||
| dalek | rrot: r47058 | tcurtis++ | branches/gsoc_past_optimization (7 files): Regen manifest, add PAST::Transformer::Dynamic and example, and set props. |
16:40 | |
| dukeleto | 'ello | 16:41 | |
|
16:56
bluescreen joined
|
|||
| cotto_work | ~~ | 17:01 | |
|
17:02
cotto_work left
17:18
cotto_work joined
|
|||
| Coke | I can see eliminating say from PIR if you hold that humans shouldn't write PIR. | 17:26 | |
| cotto_work | I don't think we're there yet. | 17:27 | |
| Coke | I am leaning towards that more now, but for some time, I had a fairly large collection of hand-rolled PIR. | ||
| cotto_work | I'd certainly agree that there shouldn't be a Lorito say op. | 17:36 | |
| PerlJam | indeed. | ||
| Tene | I'm not really fond of IO ops. It seems to me that those should be methods on IO objects instead. | 17:44 | |
| Can anyone explain to me why we'd prefer to use ops for that? | |||
| cotto_work | Then you're happy with the merge? | ||
|
17:45
jsut_ joined
|
|||
| Tene | I haven't actually been following anything closely enough to know what's going on at all. I'm just responding to the discussion above. | 17:45 | |
|
17:46
gbacon joined
|
|||
| Coke | the /practical/ answer is that "ops are fast, methods are slow" | 17:48 | |
| but no, it makes sense to me to have those be methods. | |||
| Tene | I guess that with an op, you don't have to keep using getstdout. | 17:49 | |
| s = getstdout; s.'say'("OMGLOL"); | 17:50 | ||
| seems fairly reasonable to me. | |||
|
18:10
whiteknight joined
|
|||
| ttbot | Parrot trunk/ r47059 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328677.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 18:17 | |
| dalek | rrot: r47059 | fperrad++ | trunk (2 files): [win32] fix build of dynops debug |
18:19 | |
| Coke | msg plobsing - looks like r47051 broke windows. tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ | 18:21 | |
| purl | Message for plobsing stored. | ||
| Coke | msg plobsing - but then it magically worked 47059 for one of them, so Iunno. | 18:22 | |
| purl | Message for plobsing stored. | ||
|
18:34
tcurtis joined
|
|||
| tcurtis | pmichaud: ping | 18:36 | |
|
18:54
whiteknight joined
18:56
joeri joined
|
|||
| dalek | nxed: r479 | julian.notfound++ | trunk/README: note about parrot r47050 strictly required |
18:57 | |
|
18:58
IllvilJa joined
|
|||
| pmichaud | tcurtis: pong | 19:02 | |
| tcurtis | pmichaud: I was just wondering what the reasoning behind using P6metaclass for PCT was. | 19:03 | |
| pmichaud | so that PCT objects would be able to support p6-like behaviors | 19:04 | |
| in particular, nqp relies on that ability | 19:05 | ||
| otherwise things like PAST::Op.new(...) won't work in NQP | |||
| there's still the article at www.parrotblog.org/2008/05/p6object...arrot.html | 19:07 | ||
| tcurtis | Thanks. I think I'll use it for at least the ::Dynamic subclasses of PAST::Walker and PAST::Transformer. Possibly for the parent classes as well. | 19:13 | |
| pmichaud | certainly if we want nqp authors to be able to use the classes they'll need to be p6object based | 19:15 | |
| (although it's possible to turn non-p6objects into p6objects if needed; we do that for the builtin PMCs) | 19:16 | ||
| tcurtis | Indeed. I'm leaving home for a bit, and I'll work on switching them over to p6object when I get back. | 19:20 | |
|
19:30
davidfetter joined
|
|||
| darbelo | Hm, can someone on i386 run mk_native_pbc? We broke pbc compat, again. | 19:54 | |
|
19:55
LoganLK joined
|
|||
| darbelo wants portable PBC. | 19:56 | ||
| Tene | Hmm. I can give you an account on an i386 linux box, if you'd like. | 19:59 | |
| I'm a bit too busy with work ATM to do it. | |||
| darbelo | It's not *that* urgent. I can get my hands on a i386 box if it's really needed. | 20:00 | |
| I could even reasonably switch my main box back to 32 bits if the need arises... | 20:02 | ||
| mikehh | darbelo: I've really got to get my box running a VM (OS type) soon, otherwise I just have to reboot from amd64 to i386 | 20:03 | |
| Coke | unfortunateyl, I can only update the _4_ series pbcs. | ||
| email the list. | 20:04 | ||
|
20:04
patspam1 joined
|
|||
| mikehh | bacek is usually good for that, dunno if he is around | 20:05 | |
| clock? | |||
| purl | mikehh: LAX: Thu 1:05pm PDT / CHI: Thu 3:05pm CDT / NYC: Thu 4:05pm EDT / LON: Thu 9:05pm BST / BER: Thu 10:05pm CEST / IND: Fri 1:35am IST / TOK: Fri 5:05am JST / SYD: Fri 6:05am EST / | ||
| mikehh | 6am a bit early | 20:06 | |
| BTW getting additional failures with make corevm/make coretest that pass make test | 20:08 | ||
| cotto_work | Looks like someone reads whiteknight's blog. He's on the development of LWN's weekly edition with a quote of the week: lwn.net/Articles/388517/ | 20:18 | |
| moritz | (subscriber-only link :( ) | 20:19 | |
| darbelo | Subscription required for that link, though. | ||
| cotto_work | lwn.net/Articles/388747/ | 20:20 | |
| moritz | thanks | 20:22 | |
| darbelo | cotto++ | ||
| cotto_work | There was also a quote a couple weeks ago from pmichaud | 20:24 | |
| darbelo | ZOMG! We are being watched! | 20:25 | |
| cotto_work | Yeah. It's kinda nice to see that the outside world cares. | ||
|
20:25
bluescreen joined
|
|||
| GeJ | Good morning everyone. | 20:28 | |
| cotto_work | msg whiteknight Somebody's watching you: lwn.net/Articles/388747/ | 20:30 | |
| purl | Message for whiteknight stored. | ||
| masak | I added a simple Str.encode to Rakudo today. it's actually from the alpha branch, where I'd added it before. github.com/rakudo/rakudo/commit/276...e7ad39da4b | 20:41 | |
| I was wondering, if I want to do the reverse, a Buf.decode, how should I go about it? how do I create an UTF-8 string from a list of ints in Parrot? | 20:42 | ||
| Coke | use chr in a loop instead of ord? | 20:43 | |
| Coke whips up a sample. | |||
| masak | Coke++ | ||
| moritz | seen Infinoid | 20:45 | |
| purl | Infinoid was last seen on purl 4 days, 7 hours, 47 minutes and 35 seconds ago, saying: <private message> [May 23 12:58:02 2010] | ||
|
20:45
NotFound joined
20:48
cotto_work joined
20:49
mikehh_ joined
|
|||
| Coke | er, nopaste.snit.ch/20667 | 20:50 | |
| masak | Coke: thanks! | ||
| Coke | that prints: `8Ч here | ||
| masak | I'll use it right away. | ||
| Coke | whee! | 20:51 | |
| s/String/StringBuilder/ also works, and is probably better/faster. | |||
| (at least for big lists.) | |||
| masak | ok, correcting course. | 20:52 | |
| Coke | (you can get a real string at the end by $S0 = sb) | ||
| masak | ok, great. | 20:53 | |
|
20:54
mikehh joined,
dalek left,
dalek joined
|
|||
| cotto_work | seen bacek | 20:55 | |
| purl | bacek was last seen on #parrot 8 hours, 35 minutes and 34 seconds ago, saying: opbots trust timbus | ||
| cotto_work | seen bacek_at_work | ||
| purl | bacek_at_work was last seen on #parrot 16 hours, 27 minutes and 5 seconds ago, saying: who called my name? | ||
| cotto_work | looks like the opsc tests need some love after the ops_massacre merge | ||
| bacek appears from nowhere | 20:56 | ||
| darbelo | bacek: you on i386? | ||
| bacek | darbelo, amd64... | ||
| pbcs are broken? | 20:57 | ||
| cotto_work | I think he emulates everything in his mind. | ||
| looks like it | |||
| purl | No it doesn't, shut your hole! | ||
| Coke | HIS ROBOT MIND. | ||
| bacek | mikehh, are you on i386 today? | 20:58 | |
| mikehh | bacek: not at the moment - amd64 | 20:59 | |
| bacek | sigh, can we have _portable_ bytecode? | 21:00 | |
| mikehh really has to work on getting a VM (OS type) on my box | |||
| cotto_work | yo dawg | 21:01 | |
| NotFound | Can we have portable tests? | ||
|
21:02
preflex joined
|
|||
| darbelo | Not without portable bytecode ;) | 21:02 | |
| bacek | #385 afaik | ||
| Coke has paid for his netbook now WHERE IS IT!? | 21:03 | ||
| Coke sighs. | |||
| NotFound | We have the native_tests skipped because of that, but we have other tests that use that same files for no particular reason. | ||
| bacek | #357 and #600 actually | 21:04 | |
| NotFound | At least I fail to understand the reason, if there is any. | ||
| dalek | nxed: r480 | julian.notfound++ | trunk/winxedst0.cpp: hardcode value of .ITERATE_FROM_START to avoid .include |
||
| Coke | "because they were there." | ||
| and now we're suffering the same failures that we skipped the originals for. | |||
| NotFound | Coke: I said reason, not excuse ;) | ||
| bacek | Reason is I was need something to test Packfile* PMCs :) | 21:12 | |
| Now fixed. | |||
|
21:13
whiteknight joined
21:20
cotto_work2 joined
|
|||
| ttbot | Parrot trunk/ r47061 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328756.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 21:20 | |
| dalek | rrot: r47060 | bacek++ | trunk/docs/tests.pod: Indent code properly |
21:21 | |
| rrot: r47061 | bacek++ | trunk (5 files): Separate PBCs used for Packfile* PMC testing from "native" PBCs. |
|||
| cotto_work2 | bacek++ | 21:27 | |
| ttbot | Parrot trunk/ r47063 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328821.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 21:34 | |
| mikehh | ok that fixed the opsc tests | 21:35 | |
| darbelo updates PBCs | 21:36 | ||
| That took a *long* time to get done. | 21:37 | ||
| bacek | darbelo, I updated them already. | ||
| in r47061 | |||
| darbelo | Really? Then something else was broken for me... | 21:38 | |
| dalek | rrot: r47062 | bacek++ | trunk/t/compilers/opsc (3 files): Fix opsc tests after ops_massacre merge. |
21:39 | |
| rrot: r47063 | mikehh++ | trunk/MANIFEST: re-generate MANIFEST |
|||
| rrot: r47064 | darbelo++ | trunk/t/native_pbc (2 files): native_pbc platform updates |
|||
| nxed: r481 | julian.notfound++ | trunk/ (3 files): work again with parrot trunk, at some cost |
|||
| darbelo wonders if Lorito will make portable bytecode easier... | 21:46 | ||
| mikehh | still is | 21:47 | |
| ttbot | Parrot trunk/ r47064 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328862.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| mikehh | broke taht is | ||
| that | |||
| darbelo | Oh. Wait. I know what happened. I think. | 21:48 | |
| mikehh: r47065 fixes it? | |||
|
21:53
davidfetter joined
|
|||
| bacek | Do we have FreeBSD 6.2 testers? bacek.livejournal.com/354911.html?t...1#t3019871 | 21:55 | |
| darbelo | It doesn't. But I think I know what happened. This time for sure. | ||
| bacek | (Russian link, but error is clear) | ||
| darbelo, ? | |||
| purl | darbelo, is probably there anything in config_lib.pasm that gives us enough information? | ||
| bacek | purl, forget darbelo | ||
| purl | bacek: I forgot darbelo | ||
| dalek | rrot: r47065 | darbelo++ | trunk/t/native_pbc (4 files): native_pbc platform updates |
21:56 | |
| rrot: r47066 | bacek++ | trunk/include/parrot/platform_interface.h: Decorate Parrot_gmtime_r, localtime_r and asctime_r with PARROT_EXPORT for consistency with implementation. |
|||
| darbelo | bacek: GeJ is on FreeBSD, I think he's on 8.0, but I could be wrong. | ||
| bacek | GeJ, is on 8.0 | ||
| GeJ | darbelo, bacek : 7 @work, and 8 @home. | ||
| darbelo | bacek: you wanted to make purl forget "darbelo," with the coma. | ||
| me? | 21:57 | ||
| GeJ | However, I may have a lappy with a 6.something at home. | ||
| Need to check. | |||
| ttbot | Parrot trunk/ r47065 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328894.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| bacek | GeJ, I've got report that Parrot is broken on 6.2 | ||
| GeJ | for the record 6.2 is EOL and the whole 6-branche is going to be retired pretty soon. | ||
| But I'll try it tonight when I get home nevertheless. | 21:58 | ||
| bacek | GeJ++ | ||
| One of my first unixes was FreeBSD 2.2.2 :) | |||
| darbelo | mikehh: Can you check r47067 ? | 22:00 | |
| If that doesn't fix it... I'm officially out of tricks. | 22:02 | ||
| bacek | bah, did I forgot to add suffixless pbcs? | 22:03 | |
| darbelo | That's my guess. | ||
| bacek | it is... | ||
| purl | Oh no it isn't! | ||
| GeJ | bacek: A friend told me about FreeBSD after seeing me hit a freshly installed Linux box that had crashed for the 5th time that morning. Gave it a try (it was a 3-something back then). Never looked back. | 22:05 | |
|
22:06
eternaleye joined
|
|||
| bacek | GeJ, I switched to linux totally at 4.0. Threads implementation in FreeBSD was way too terrible to handle. | 22:07 | |
| darbelo | bacek: I'm told they got better. | 22:09 | |
| mikehh | great: make test now passes and g++ works agaiin | ||
| GeJ | Ah threads... That almost got me out as well. Not that I was using them directly, but it seemed like a pain for the ports collection. However since 6.0 and the new thread lib, everything seems to be fine again. | 22:10 | |
| mikehh | however, make corevm/make coretest has a bunch of failures | ||
|
22:11
lucian joined
|
|||
| bacek | mikehh, erm. linux/amd64? | 22:12 | |
| darbelo | GeJ: OpenBSD's threads still suck, but the routing and firewall tools are just too good for me to give up on them. | ||
| dalek | rrot: r47067 | darbelo++ | trunk/t/native_pbc (3 files): Add native_pbcs |
||
|
22:13
cotto_work joined
|
|||
| cotto_work | ohai | 22:15 | |
| darbelo | o/ | ||
| nopaste | "mikehh" at 192.168.1.3 pasted "make corevm/make coretest failures at r47067" (28 lines) at nopaste.snit.ch/20671 | 22:16 | |
| mikehh | also make -j corevm is failing the first attempt | 22:17 | |
| make -j2 corevm works | 22:18 | ||
| darbelo | "Something is missing a dep somewhere". That's about as much of a diagnostic as I can conjure up right now. | 22:19 | |
| cotto_work | I'll try a bunch of parallel builds and see if anything splodes. | 22:21 | |
| GeJ | darbelo: PF >> * | ||
| mikehh | checkdepend.pl fails 21 tests out of 181 | ||
| ttbot | Parrot trunk/ r47068 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328994.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 22:22 | |
| darbelo | GeJ: And, particularly after the last year of work, pf-on-openbsd >> pf-everywhere-else. It just keeps getting better! | 22:24 | |
| GeJ | darbelo: A colleague tried to teach me iptables. I tried, I really did. I never got to make it work the way I want. | ||
| mikehh | GeJ: I have run into similar problems - probably why I can't get a VM (Os type) to work | 22:26 | |
| darbelo | I was fairly good at making iptables bend sideways to do what I wanted, but I still saw right away that pf was a step up. | 22:27 | |
| GeJ | bacek: are referenced in sayperl.org ? | 22:29 | |
| bacek | GeJ, ? | ||
| purl | i think GeJ, is on 8.0 | ||
| dalek | rrot: r47068 | NotFound++ | trunk/t/pmc/resizablepmcarray.t: tests for pop/unshift from empty RPA |
||
| GeJ | bacek: sorry, bad case of morning fingers. I was wondering if your posts were showing on sayperl.org/ (it seems not). | 22:35 | |
| Having your posts in russian be automatically translated would be a nice addition for those lazy ass like me. :) | |||
| dalek | rrot: r47069 | tcurtis++ | branches/gsoc_past_optimization (5 files): Use P6object so NQP doesn't have to do Q:PIR { %r = new ['PAST'; 'Walker'] } or such. |
22:46 | |
| rrot: r47070 | NotFound++ | trunk/src/pmc/resizablepmcarray.pmc: [cage] some cleaning of ResizablePMCArray, no functional changes |
|||
|
22:47
kid51 joined
|
|||
| nopaste | "cotto" at 192.168.1.3 pasted "dependency-related parallel build failure" (34 lines) at nopaste.snit.ch/20672 | 22:48 | |
|
22:52
whiteknight joined
23:00
Psyche^ joined
|
|||
| bacek_at_work | GeJ, ah. ok. | 23:01 | |
|
23:05
dukeleto joined,
Util_ joined
23:09
dalek joined
|
|||
| cotto_work | same failure again | 23:09 | |
|
23:10
pmichaud joined,
PerlJam joined
|
|||
| dalek | rrot: r47071 | mikehh++ | trunk/tools/dev/mk_packfile_pbc: set svn properties |
23:12 | |
| rrot: r47072 | mikehh++ | trunk/MANIFEST: re-generate MANIFEST |
|||
| tracwiki: v5 | jkeenan++ | Lorito | 23:13 | ||
| tracwiki: Incorporating definition of Lorito derived from Allison's post on parrot-dev 2010-05-27 | |||
| tracwiki: trac.parrot.org/parrot/wiki/Lorito?...ction=diff | |||
|
23:18
jimk joined
23:19
eternaleye joined
23:21
cognominal joined,
cognominal_ joined
23:25
cognominal joined
23:26
cognominal joined
|
|||
| dalek | rrot: r47073 | mikehh++ | trunk/include/parrot/interpreter.h: run make headerizer (which now removes old lines) |
23:28 | |
| tcurtis | Is there a way to do PIR .includes in NQP? | 23:30 | |
| darbelo | Not that I know of. What are you trying to do? | 23:31 | |
| ... Other than .include PIR onto NQP, abviously. | 23:32 | ||
| bacek_at_work | Q:PIR< .include "foo.pasm" > | ||
| darbelo | bacek_at_work: That works? Really? | 23:33 | |
| bacek_at_work | darbelo, it should work afaik | ||
| tcurtis | bacek_at_work: i get a syntax error on .namespace and .sub from IMCC when I do that. | 23:34 | |
| whiteknight | I don't think it will work | ||
| Q:PIR creates a sub, the .include would do text substitutin into the sub | 23:35 | ||
| bacek_at_work | .include do literal include of file. Inside generated sub | ||
| darbelo | tcurtis: you might want to look into loading a compiled bytecode. | ||
| bacek_at_work | It does work, guys. | 23:36 | |
| whiteknight | I think that's a pmichaud question, but it's common enough that there should be an answer | ||
| bacek_at_work: but doesn't it include into the sub? | |||
| bacek_at_work | whiteknight, it does. But it's "legal" | 23:37 | |
| nopaste? | |||
| purl | nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or paste.scsys.co.uk or www.extpaste.com or gist.github.com or App::Nopaste or codepeek.com/paste/ or (: pastebot) | ||
| whiteknight | bacek_at_work: I don't doubt that it's legal. better question is whether it's useful | ||
| darbelo | Unless you are trying to get at PASM .macros (which NQP can't handle anyway) loading the bytecode is probably better. | ||
| whiteknight | the problem is, .include is an IMCC compiler directive, so supporting it directly in NQP would be a huge hassle | 23:38 | |
| plus, what darbelo said | |||
| darbelo | tcurtis: What's your use case here. Maybe we can come up with something for you. | ||
| nopaste | "bacek" at 192.168.1.3 pasted ".include in nqp" (15 lines) at nopaste.snit.ch/20673 | 23:40 | |
| darbelo reads the nopaste. | |||
| bacek_at_work | and +1 for darbelo | ||
| tcurtis | Well, I had a pir file in runtime/parrot/include as a helper for testing PAST::Transformer that overrides is_equal for the PAST::Node subclasses. I suppose I'll adapt it to something more generally useful and put it in parrot/runtime/library somewhere. | 23:41 | |
| darbelo | bacek_at_work: That's ... kind of brittle. Isn't it? | 23:42 | |
| Tene | darbelo: yes. | ||
| tcurtis: yes, you should load_bytecode that instead | |||
| bacek_at_work | darbelo, it is. But my point was "it works" :) | ||
| darbelo | More like "it \\"works\\"" ;) | 23:46 | |
| pmichaud | using Q:PIR { .include "abc.pasm" }; has been known to work; several parts of Rakudo make use of it | 23:48 | |
| whiteknight | pmichaud: wouldn't you need a specially-formed abc.pasm, since it will be included into a sub | 23:49 | |
| pmichaud | it would be really nice to have some sort of feature that enables NQP to be able to convert .pasm files into local constants... but I haven't thought of a good way to do that yet. | ||
| whiteknight | ? | ||
| pmichaud | whiteknight: well, normally we just use it to get constants | ||
| e.g., Q:PIR { .include "interpinfo.pasm" } | |||
| and cclass.pasm | |||
| etc. | |||
| that seems to work okay. No, it wouldn't work if the .pasm contained subs or other executable code | 23:50 | ||
| (and that's not something nqp aspires to have work) | |||
| darbelo | If you want to get technical about it, PIR has the same problem. | ||
| tcurtis | darbelo: PIR just allows you to have your ".include foo" outside of any subs. | 23:51 | |
| pmichaud | what I'd really like to have is something like "use cclass;" and then afterwards the cclass constants appear as NQP constants in my program | ||
| PIR allows .include inside of subs, as long as it's just constant macro definitions | |||
| cotto_work | +1 | ||
| purl | 1 | ||
| sorear | pmichaud: the solution here is probably pseudo namespaces | ||
| pmichaud | the other thing that would be useful is to have a way to get at the constants by string instead of just by macro | ||
| darbelo | tcurtis: Yes. But using .include inside a sub can blow up in the same ways as NQP. | 23:52 | |
| sorear | pasm::cclass::FOO | ||
| pmichaud | sorear: that's a bit too Parrot-specific for what I'd like at the moment, though. | ||
| sorear | this causes 1. cclass to be included (once) 2. a FOO to be spit out | ||
| pmichaud | definitely too parrot-specific | ||
| sorear | pmichaud: the symbolic constants are only used for interacting with Parrot | ||
| pmichaud | sure | ||
| sorear | so I don't see the problem | ||
| pmichaud | anyway, that's lowish on my priorities at the moment, since it's not on the critical path for R* | 23:53 | |
| in general PAST really wants to have a cleaner way to deal with .include anyway -- that's missing also | 23:54 | ||
| as well as some of the other directives | |||
| cotto_work | If Rakudo depends on Q:PIR{ .include "x.pasm" }; it sounds like it's safe (if hacky) to use and that such a use won't be deprecated without a plausible replacement. | ||
| pmichaud | it should work as long as .include works in PIR :-) | 23:55 | |
| it's still a bit painful to try to work constants in. I'm growing to like sorear++'s pir::cclass::CONSTANT suggestion, though. | |||
| er, pasm:: | |||
| darbelo ponders ways to remove some .directives altogether. | 23:56 | ||
| sorear | pmichaud: presumably, there would be a set of nqp::CONSTANT values to use with the nqp::op functions | 23:58 | |
| and they would alias the corresponding pasm:: | |||
| pmichaud | sorear: yes, I like that also | ||
| I like that much better, in fact. | |||
| sorear | you would only have to drop down to pasm:: if you're also dropping down to pir:: | ||
| pmichaud | I'd be far more likely to do nqp::CONSTANT than pasm::.... | ||
| dalek | TT #1662 created by whiteknight++: Should NameSpace entries be available through a hash-like interface? | 23:59 | |
| TT #1662: trac.parrot.org/parrot/ticket/1662 | |||