|
Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis) Set by moderator on 21 July 2010. |
|||
| dalek | rrot: r48243 | pmichaud++ | trunk/runtime/parrot/library/P6object.pir: Revert "Avoid creating a PMC here, rely on autoboxing instead." .ACCEPTS here is supposed to always return a boolean value; this causes it to return an integer instead. Rakudo fails t/spec/S02-builtin_data_types/bool.t unless this commit is reverted. |
00:03 | |
|
00:15
preflex joined
|
|||
| whiteknight | where is the source for P6metaclass? | 00:33 | |
| nevermind, I think I found it in P6object.pir | 00:34 | ||
| jnthn | whiteknight: Yeah, ti's in there. | ||
| whiteknight: Looking for anything in particular? | 00:35 | ||
| whiteknight | jnthn: I'm getting a very vague error "Parent isn't a class" in P6metaclass.add_parent, but it doesn't give me any information about what Parent is, or which class it is trying to modify so I can track down where the error is happening | ||
| so I might beef up that error message a bit | 00:36 | ||
| jnthn | whiteknight: I think that may be thrown from Class.pmc, but my memory of that lot is a tad hazy. | ||
| dalek | izkost: f978c3b | (Tadeusz Sośnierz)++ | build/Makefile.in: Added Q&D DESTDIR support |
||
| chromatic | Class.pmc sounds like the culprit. | ||
| whiteknight | yeah, that's what it's looking like from here | ||
| jnthn | Kill it with fire! | 00:37 | |
| Oh, wait... | |||
| whiteknight | okay, that's better. I'm much more comfortable messing with the C code than the P6metaclass code | ||
| Okay, this is odd. NQP is attempting to add Null as a Parent of one of my classes which doesn't have any parent types specified | 01:13 | ||
| so that makes me happy | |||
| my definition for it is a vanilla "class Program;" and I get that error | 01:15 | ||
|
01:20
rurban_ joined
01:45
contingencyplan joined
|
|||
| whiteknight | in P6, what's the syntax for accessing a field? | 01:46 | |
| if my class "has $!foo", do I access it as "self.$!foo"? | 01:47 | ||
| or "$!self.foo" in a more PHP style? | |||
| ...or something else entirely? | |||
| sorear | you access it simply as $!foo | 01:48 | |
| whiteknight | okay. How do I do it for something that isn't self? | ||
| sorear | I don't beleive you can. | 02:07 | |
| Best to ask in #perl6 for that | |||
| whiteknight | okay, I'll do it tomorrow. Thanks sorear++ | 02:12 | |
| GeJ | whiteknight: I believe the ! twigil is to mark the attribute private. | ||
| dammit! | |||
|
02:12
TiMBuS joined
|
|||
| GeJ | clock ? | 02:12 | |
| purl | GeJ: LAX: Sat 7:12pm PDT / CHI: Sat 9:12pm CDT / NYC: Sat 10:12pm EDT / LON: Sun 3:12am BST / BER: Sun 4:12am CEST / IND: Sun 7:42am IST / TOK: Sun 11:12am JST / SYD: Sun 12:12pm EST / | ||
| dalek | kapo: 9ab2c72 | whiteknight++ | s (7 files): a few fixes and changes. I think if I refocus my efforts on making the method injection work, I can get much of this code working again |
02:16 | |
| kapo: ac16da8 | whiteknight++ | src/ (2 files): some fixes to the build |
|||
| kapo: a140f5d | whiteknight++ | src/ (3 files): fix a few more things. Runtime failure with null pmc in invoke() during the common-methods stuff |
|||
| kapo: 1ff6cd4 | whiteknight++ | src/Pmc/common-methods.nqp: I think I've fixed the method injection mechanism for the Common methods. |
|||
| kapo: 16992dd | whiteknight++ | src/ (18 files): slightly more progress |
|||
| kapo: 4f6d3c4 | whiteknight++ | (13 files): some more progress. All the initialization routines run and I can get some of the test programs (notably t/Program.nqp) to start, but things go badly inside UnitTest::Loader, which I haven't tracked down yet |
|||
|
02:42
janus joined
03:55
snarkyboojum joined
04:23
LoganLK joined
04:35
chromatic joined
04:39
plobsing joined
04:56
petdance joined
05:40
leprevost joined
|
|||
| dalek | TT #1723 created by pmichaud++: [bug] linked lists result in segfaults | 06:27 | |
| TT #1723: trac.parrot.org/parrot/ticket/1723 | |||
| chromatic | Guess: recursive GC blows the stack. | 06:31 | |
| sorear | You're only now figuring this out? | 06:32 | |
| chromatic | If you have an algorithm to diagnose tickets before someone files them, I'm listening! | 06:37 | |
| sorear | Well, people have complained about the issue before the ticket was filed | 06:38 | |
| Most recently irclog.perlgeek.de/perl6/2010-07-29#i_2630063 | |||
| pmichaud | I think it's fair to say that some of us do not read every line of every channel. | 06:39 | |
| dalek | rrot: r48244 | pmichaud++ | trunk/t/library/p6object.t: [p6object]: Add tests that .ACCEPTS return a boolean result. |
06:40 | |
| rrot: r48245 | pmichaud++ | trunk/runtime/parrot/library/P6object.pir: [p6object]: Use pre-allocated true/false Boolean values for .ACCEPTS results; this should get a comparable speedup to r48242 (avoiding creating a new PMC) while preserving bool semantics. |
|||
| chromatic | pmichaud, we're probably going to have to stall that ticket until we can land a GC which doesn't recurse in C. | 06:41 | |
| pmichaud | chromatic: fair enough. I figured it was worth filing the ticket so the parrot folks knew about the issue (and it could be prioritized appropriately) | ||
| also to provide a baseline test case | 06:42 | ||
| chromatic | Definitely a good test case. | ||
| pmichaud | seems like it wouldn't be too hard to write a non-recursive version, though. | 06:44 | |
| (might need a very large block of memory to store some PMC addresses; otoh, the maximum size of the block is likely knowable also) | |||
| chromatic | Sweep-free can be non-recursive. | 06:45 | |
| pmichaud | oh, I get it. the recursion is in the mark phase. | ||
| chromatic | I *think* bacek said the modified GC we didn't land for 2.6 was or could easily be non-recursive. | ||
| I could take the GC book upstairs to read before I sleep... but I won't. I commented on the ticket instead. | 06:48 | ||
| pmichaud | works for me | 06:54 | |
|
07:02
snarkyboojum joined
07:19
fperrad joined
07:22
snarkyboojum left
07:39
bacek joined
07:41
robin-gvx joined
08:06
tommyd joined
08:12
[1]Casan joined
08:22
bacek joined
|
|||
| cxreg | is lorito still entirely theoretical? | 08:26 | |
| sorear | lorito is still entirely nebulous | 09:00 | |
| cxreg | seems like a good idea, but smells like the deep end of the pool :) | 09:09 | |
|
09:10
alin joined
|
|||
| cotto | cxreg, it's in the early planning and prototyping stage | 09:16 | |
| cxreg | i was reading the wiki pages, wasnt sure if anything was implemented yet | ||
| cotto | a couple experimental prototypes exist but neither is far along enough to be called anything like "official" | 09:17 | |
| lorito? | |||
| purl | well, lorito is "little parrot" in spanish or xkcd.org/707/ or github.com/atrodo/lorito or trac.parrot.org/parrot/wiki/Lorito or github.com/ekiru/yalp-asm | ||
| cxreg | github? o_O do i smell a parrot git migration? | ||
| cotto | It's in the works, but it's only a coincidence that the Lorito prototypes live there | 09:19 | |
| cxreg | fair enough | ||
.oO(I wonder how that GSoC git-svn improvement dealy is going?) |
|||
| cotto | I'm glad to say that a git migration is pretty certain at this point. | ||
| the schedule isn't | |||
|
09:20
rurban_ joined
|
|||
| sorear | atrodo and tcurtis are both git fans | 09:20 | |
| cxreg | it's quite the popular thing to do these days, fedora just did it and postgres is about to | ||
| sorear | so it's no wonder that their semi-private not-branch parrot stuff is hosted on git | ||
| cxreg | right | ||
| sorear | mono did it last week | ||
| that git clone pulled down 200MB of packfiles, quite some migration... | 09:21 | ||
| cxreg | heh | ||
| dalek | tracwiki: v16 | cotto++ | LoritoDesignQuestions | 09:30 | |
| tracwiki: minor fixes | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff | |||
| cxreg | (trac's highlighting)++ | 09:32 | |
| cotto | it's handy for changes like that | 09:35 | |
| dalek | tracwiki: v1 | cotto++ | NewObjectModel | 09:47 | |
| tracwiki: excerpts from #parrot | |||
| tracwiki: trac.parrot.org/parrot/wiki/NewObje...ction=diff | |||
|
10:01
lucian joined
10:31
whiteknight joined
11:17
preflex joined
11:22
ocharles joined,
hudnix joined
|
|||
| ocharles | Hi, from what I can see Rakudo* doesn't have a "getprotobyname" sub, and I want to add that - so I think I need to implement getprotobyname in Parrot first - does that sound right? | 11:23 | |
|
11:31
gbacon joined
11:34
azawawi joined
|
|||
| azawawi | hi | 11:34 | |
| purl | que tal, azawawi. | ||
| azawawi | any idea how to debug a silently failed loadlib opcode? | ||
|
11:43
azawawi left
11:44
rurban joined
|
|||
| rurban | I just released parrot-2.0.6 for cygwin (waited to test rakudo-star) | 12:08 | |
| ocharles | Hrm, so I'm hacking on this getprotobyname thing. getprotobyname returns a struct - so I guess I need a pmc to represent the struct. Unlike sockaddr_in (which I'm basing this on), calling getprotobyname creates the structure, so does this mean by init() method doesn't need to do anything really? | 12:18 | |
| My understanding atm is that I'd do *protoent = Parrot_pmc_new(...), then later call set_pointer on this protent object (how to do that is my next challenge :)) | 12:20 | ||
|
12:24
jsut_ joined
|
|||
| ocharles | \\o/ patch done, where should I submit it? | 13:06 | |
|
13:09
kid51 joined
|
|||
| ocharles | nvm, doc/submissions is clear - sorry | 13:13 | |
|
13:17
ambs joined
|
|||
| dalek | TT #1724 created by ocharles++: Add getprotobyname to Socket PMCs | 13:20 | |
| TT #1724: trac.parrot.org/parrot/ticket/1724 | |||
|
13:27
tommyd joined
13:48
lucian joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#35206), fulltest) at r48245 - Ubuntu 10.04 i386 (g++) | 14:08 | |
| t/op/exit.t - TODO passed: 6 in testf | |||
| why the exit op should exhibit different behaviour with (pasm) to in the fast core on i386 platform is a mystery to me, (it does not on amd64 platform) | 14:18 | ||
| s/to in/with/ | 14:20 | ||
|
14:25
clinton joined
|
|||
| ambs | TPF Grant Proposals are there waiting for your comments: news.perlfoundation.org/2010/08/201...l-for.html | 14:27 | |
|
14:33
jan joined
|
|||
| ocharles | How do I get my dynoplib into parrot? I've added it to dynoplib/Rules.in, reconfigured and everything, but it still doesn't get into my builds... | 14:34 | |
| aha, it has to go in src/dynoplib/Defines.in too | 14:37 | ||
|
15:09
snarkyboojum joined
|
|||
| mikehh | kid51: ping | 15:12 | |
|
15:20
jsut joined
|
|||
| kid51 | msg bacek You should probably comment on news.perlfoundation.org/2010/08/201...l-6-b.html | 15:42 | |
| purl | Message for bacek stored. | ||
| kid51 | mikehh pong | ||
| mikehh | kid51: regarding missing pod - I ran make headerizer yesterday and it reports quite a few functions missing pod (not tested in codetest?) | 15:48 | |
| thought it might solve a problem with the g++ build (didn't it was something else) but I did notice that it reported a lot of missing pod | 15:52 | ||
| in things like bigint etc IIRC | 15:54 | ||
| kid51 | mikehh: Have to be afk for a while. Can you send email? Or post to list? Thanks. | 15:56 | |
| mikehh | kid51: 'k - have to re-boot as well - brb | 15:57 | |
| pmichaud | part of me would be very disappointed to see tpf fund that grant. | ||
| it would mean the translator is paid more than the original book authors. | 15:58 | ||
| kid51 | pmichaud: That's certainly a valid point. I think the question for this grant -- and, really, for all TPF grants -- is: Would it work as seed money for accomplishing some larger Perl objective? | 16:18 | |
|
16:35
tommyd joined
16:38
mikehh joined
16:39
tcurtis joined
|
|||
| tcurtis | Good morning, #parrot. | 16:39 | |
|
16:48
theory joined
16:53
macroron joined
|
|||
| tcurtis | Hmm... why don't the GC benchmarks in examples/benchmarks work in gc_massacre branch? All the data except for time is 0... | 16:56 | |
|
17:05
ambs joined
17:19
kid51 joined
17:20
rurban_ joined
17:48
eternaleye joined
|
|||
| dalek | TT #1725 created by jkeenan++: tools/build/headerizer.pl: documentation is confusing | 18:00 | |
| TT #1725: trac.parrot.org/parrot/ticket/1725 | |||
| mikehh | kid51: I have been quite confused by make headerizer oftem | 18:06 | |
| often | 18:07 | ||
| kid51 | Yeah, when I called perldoc I thought I was seeing double | ||
| Let me ask a related question | 18:08 | ||
| ... which is probably a perl 5 misunderstanding on my part ... | |||
| ambs | is there any place where we can send suggestiong for the perl6-book? (like, something that is not easy to understand as it wasn't explained before) | 18:09 | |
| kid51 | When I call: find . -type f -name '*.o' | cat | perl tools/build/headerizer.pl | ||
| ... why do I get: No files specified. at tools/build/headerizer.pl line 314. ?? | |||
| Have I not specified the files to use? | |||
| ambs: I think that would be the Rakudo folks' call (even if they're many of the same people as Parrot folks) | 18:10 | ||
| You could ask in #perl6 on freenode. Probabaly either to rakudobug@perl.org or to perl6-compilers list. | 18:11 | ||
| my guesses | |||
| mikehh | kid51: you either need to run make hgeaderizer (which specifies the files) or give a list of files to headerizer.pl | 18:12 | |
| ambs | hmms, freenode? why not irc.perl :-| oh dear | ||
| mikehh | headerizer | ||
| purl | i guess headerizer is a big jerk. If I format function headers wrong it just ignores them and doesn't even tell me it's doing so. | ||
| kid51 has only begun to hang out on freenode #perl6 since Rakudo* came out, so is not very familiar with Rakudo SOPs | |||
| mikehh | kid51: running make headerizer gives a whold bunch of files missing POD, mostly .pmc files, one .y and 3 .c from compilers/pirc/src | 18:13 | |
| kid51 | mikehh: Well, then that's another point that needs clarifying in the headerizer.pl docs. | ||
| 'make headerizer' does not appear in headerizer.pl's docs | 18:14 | ||
| mikehh | kid51: just a make target to run headerizer.pl :-} | ||
| kid51: it needs to be run when there are api type changes - it generates .h files from the .c and .pmc | 18:15 | ||
| kid51 | mikehh: t/codingstd/c_function_docs.t as yet only measures .c and .h files for POD. | 18:16 | |
| An inline comment explicitly disavows .ops and .pmc "for now" | |||
| mikehh | kid51: yes - we need to add to the test or have another test for .pmc files | ||
| kid51: and probably the ops as well (those definately would need documentation) | 18:17 | ||
| kid51 | So, IIUYC, we need both documentation in these .pmc files, but we also need a test for the presence of such documentation -- correct? | 18:18 | |
| mikehh | kid51: I think so yes, I was quite shocked looking at the output of make headerizer and seeing missing POD :-} | 18:19 | |
| kid51 runs 'make headerizer' for the first time ever | 18:20 | ||
| mikehh | kid51: it's mostl;y.pmc files | ||
| mostly | |||
| kid51 | hmm, I see what you mean | 18:21 | |
| mikehh | kid51: and from what I checked it is valid | ||
| kid51 pauses to commit on a different issue | |||
| mikehh | kid51: I do do a svn diff to make sure it hasn't changed anything :-} | 18:22 | |
|
18:25
theory joined
|
|||
| dalek | rrot: r48246 | jkeenan++ | trunk (3 files): Make sure tools/dev/pprof2cg.pl gets installed -- but not as an executable. |
18:26 | |
| kid51 | okay, that's done | 18:29 | |
| mikehh: Can you open a TT for this? Or maybe two: one to write the POD; one to extend c_function_docs.t to cover these files? | 18:30 | ||
| mikehh | kid51: 'k will do (one to start with anyway) | 18:31 | |
| kid51 | Thanks. afk | 18:32 | |
| dalek | TT #1726 created by mikehh++: Missing POD in .pmc files (and a couple of others) | 19:07 | |
| TT #1726: trac.parrot.org/parrot/ticket/1726 | |||
| kid51 | mikehh: What is a '.y' file supposed to be? | 19:18 | |
| Austin | yacc grammar | ||
| (or bison) | |||
| Probably looks like C, with some weird crap at the top and a bunch of percent signs | 19:19 | ||
| kid51 | So it appears that headerizer.pl has some way of identifying whether functions in .pmc files have POD or not. | 19:21 | |
| Austin | Sure. All the checks for correctly formatted comments rely on it. | 19:23 | |
| whiteknight: ping | |||
| See $_PARROT/lib/Parrot/Docs/File.pm | 19:25 | ||
| Sorry | |||
| kid51: See $_PARROT/lib/Parrot/Docs/File.pm | |||
| kid51 | Thanks. | 19:26 | |
| Austin | There's a sub called "check_pod" | ||
|
19:32
wtgee joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#35212), fulltest) at r48246 - Ubuntu 10.04 amd64 (g++ with --optimize) | 19:45 | |
|
20:29
eternaleye joined
20:37
eternaleye_ joined
20:50
tommyd joined
21:21
plobsing joined
22:11
chromatic joined
22:25
jsut_ joined
|
|||
| cxreg | heh | 23:32 | |
| parrot_split_path_ext appears to be "stemming" libgtk-x11-2.0 and then failing to load it | |||
| whiteknight | Austin: pong | 23:35 | |
| Austin | Whiteknight!! | ||
| purl | whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/ | ||
| whiteknight | Austin! | ||
| Austin | purl, i hayte you | ||
| purl | Austin: i'm not following you... | ||
| Austin | purl, i hate you | ||
| purl | Austin: huh? | ||
| Austin | Bummer | ||
| Dude, what have you done to Kakapo? | |||
| whiteknight | ...broke it? | 23:36 | |
| Austin shrugs. | |||
| I'm asking - that wasn't a rhetorical device. | |||
| whiteknight | everything I've been doing was on my github branch though | ||
| oh, so this isn't an accusatory "wtf were you thinking?" kind of thing? | |||
| Austin | Have you been following the design stuff for Lorito? | 23:37 | |
| whiteknight | yeah, as well as I am able | ||
| Austin | If I ever want to scream "wtf were you thinking" it won't be at you. | ||
| :) | |||
| Anyway, you keep making noises like you're not having *any* of the problems I'm having... | 23:38 | ||
| whiteknight | and you keep making noises like you're having all sorts of problems I'm not having | ||
| Austin | I guess | 23:39 | |
| whiteknight | what problems are you having? | ||
| Austin | All the pmc method stuff doesn't work. | 23:40 | |
| How did you get around that? | |||
| whiteknight | I have found a few problems as I've looked. The ordering of class definition code and stuff seems to be happening at a different time, screwing up all the initload stuff | 23:41 | |
| the export stuff also seems broken with namespace/methods being changed, so I've been removing it instead of trying to fix it with Tene's patch like I should | |||
| it also seems like NQP has proper has... syntax now, instead of using the has() method | 23:42 | ||
| Austin | Wow. | ||
| The very first of those problems has been a total showstopper for me. | |||
| whiteknight | I've also added "fixed" install_method() mechanisms into Array and common-methods, which seems to do proper method injection now | 23:43 | |
| Austin | I'm wading through the initload stuff, slowly but very slowly. | ||
| Okay. I fixed that, too. | |||
| whiteknight | I didn't even try to fix it, mostly because I didn't really understand it and I didn't take the time to map out all the dependencies | ||
| Austin | The has thing is a yes/no situation, or at least it was. | ||
| There's "has foo" and "has( <foo> )" and they're subtly different. | 23:44 | ||
| whiteknight | but, since most of the initload stuff was using export/using/has, which I was removing anyway, I just removed all the initload stuff entirely | ||
| Austin | Heh. | ||
| Okay. | |||
| whiteknight | the has(<foo>) didn't seem to work | ||
| Austin | I haven't got there yet. | ||
| whiteknight | causes a runtime error for me any time I tried | ||
| Austin | So I won't comment. But it probably can't work unless you get the other stuff working. | ||
| (All the initload crap) | |||
| The difference is important primarily in that "has()" can actually "fix" things, instead of just declaring them. | 23:45 | ||
| That is, "has( 'foo' )" will actually go in and force an attribute named 'foo', and create accessors, and so forth. | |||
| whiteknight | okay | 23:46 | |
| Austin | Which made it good for fixing up things that should have been done right, but weren't. | ||
| whiteknight | there's a bunch I didn't understand about Kakapo, and a whole hell of a lot that I don't know about P6object/P6metaclass/etc. Anything I don't understand I've been basically ignoring or removing so I can get to problems I do understand | ||
| not exactly the textbook way to debug a complex system, but whatever | |||
| Austin | While "has foo;" is nqp syntax, and tells nqp to generate the attribute declaration and so forth. So if you're coding a new class, you use "has foo" but if you're trying to fix up something coded in pir or whatever, you may have to use "has()" | 23:47 | |
| whiteknight | okay. where is has() defined? | ||
| Austin | I saw you asking about how to access $other.attribute last night. Did you ever get that? | ||
| whiteknight | the answer I got was "might not be possible" | ||
| which I think is plausible in a dynamic language (I can't be bothered to look through the synopses to try and find the answer myself) | 23:48 | ||
| Austin | Well, there wasn't a syntax for it - IDK if that's still true. So you'd call "get_attribute" in pir. | 23:49 | |
| whiteknight | I figured. Unlike a strongly-typed language, you can't ever really know that $other is a member of the current class | ||
| Austin | Or you'd use has(), and/or auto_accessors. | ||
| It's not an excusable omission. Don't try to justify it. It's just not there yet. | 23:50 | ||
| Hell, it may be there by now. | |||
| $foo.att | |||
| or something. | |||
| Anyway, all your changes are on the 'master' branch on github, yes? | 23:52 | ||
| fyi: has() is in src/classes/p6metaclass.nqp or p6object, can't remember which. | |||
| But in classes/ | |||
| whiteknight | yeah, only have that one branch I think | ||
| Austin: ah, okay. So I probably haven't fixed injecting has() into the root namespace, which is why it wasn't working like I expected | 23:53 | ||
| Austin | I checked tene's patch, and it seems to do what he suggested it would. | ||
| whiteknight | Off topic, have you ever seen the comic "Basic Instructions"? The guy in that comic reminds me of you | ||
| Austin | That said, I didn't actually test if code with :nsentry on the sub methods was more or less good - I know there's a crapload of subs that should be declared 'our' but have nothing right now. | 23:54 | |
| Basic Instructions? Not that I recall. | |||
| whiteknight | basicinstructions.net/ It's hit-or-miss, but the guy does remind me of you | 23:55 | |
| chromatic | Half Austin, half Coke. | ||
| Austin | I'll be the bald guy with the goatee. Which half is Coke? | 23:56 | |
| whiteknight | uh, the crazy sexual-harasser? | ||
| is Coke bald too? | 23:57 | ||
| I've never met him in person | |||
| Austin | I DON'T WANT TO KNOW!!! | ||
| Tene | I don't actually know how to import nqp from the repo into parrot. | 23:58 | |
| I expect there's documentation somewhere, but I haven' tlooked. | |||
|
23:58
Psyche^ joined
|
|||
| Austin | I think you just copy <something> into the appropriate ext/ dir in parrot. | 23:58 | |
| But it could be all svn'ed up | 23:59 | ||
| jnthn | make boostrap-files in nqp or some such | ||
| Austin | LOL | ||
| jnthn | And then copy the stage0 directory | ||
| (the pir files in it) | |||