|
Parrot 1.1.0 Released | parrot.org/ | 325 RTs left | Weekly Priority: Remove Deprecated Items Set by moderator on 28 April 2009. |
|||
| Coke reads chromatic's send. | 00:03 | ||
|
00:07
tetragon joined
00:15
bacek_ joined
|
|||
| bacek_ | hi again | 00:16 | |
| purl | oh, you're back! | ||
| kid51 | Does anyone have any opinion on trac.parrot.org/parrot/ticket/440, i.e., does 'pbc_info' serve any useful purpose? | 00:25 | |
| rg | cotto: it seems like you would want to bump PBC_COMPAT. after svn up, my existing perl6.pbc stopped to work. worked again after rebuild. | 00:26 | |
| kid51 | And, does anyone have complaints/comments about trac.parrot.org/parrot/ticket/577 ? | ||
| rg | kid51: fyi there's also notfound's pbc_checker.cpp in examples/tools. | 00:32 | |
| the difference is that pbc_checker.cpp does not use parrot's code, so it tests that the pbc conforms to spec, whereas pbc_{dump,info} is more of an example how to use the same functions parrot uses (or at least that's my guess). | 00:34 | ||
| kid51 | rg: Hmm, I didn't know it was a 3-way choice. | 00:42 | |
|
00:42
eternaleye joined
|
|||
| kid51 | But if pbc_info ... or any of these executables ... is merely example code, should it really be included in every call to 'make'? | 00:42 | |
| To my untrained eye, pbc_dump did look useful -- whereas pbc_info did not. | 00:43 | ||
|
00:43
Casan joined
|
|||
| rg | i haven't really looked at either of them. i guess since the ticket even suggests moving it to examples, that's fine. i really can't say if there's anything to be learned from it. maybe bacek can tell? | 00:47 | |
| dalek | rrot: r38474 | chromatic++ | trunk/docs/book/ch03_pir.pod: [book] Revised the first quarter of Chapter 3. |
00:50 | |
| rrot: r38475 | jkeenan++ | trunk/config/gen/makefiles/root.in: Reformat inline comment to fit in 78-char screen better. |
01:19 | ||
| kudo: r4d7fe56 | pmichaud++ | src/ops/perl6.ops: Revise d86c014 (NotFound++) a bit so that we're not mixing our types as much. |
01:20 | ||
| mikehh | smolder is reporting an error in uploading even though it does so successfully | 02:03 | |
| rg | mikehh: filed a ticket today. | ||
| mikehh | rg: good - I've been having problems since it went down last weekend and then again this weekend | 02:05 | |
|
02:11
s1n joined
|
|||
| mikehh | also if I click on the download link in the report it sends me to an error page | 02:14 | |
| Error - You shouldn't be here. Consider yourself warned. | 02:15 | ||
| cotto | can anyone confirm that the vtinit merge breaks pbc compatibility? | 02:17 | |
| rg | cotto: you mean anyone else than me? | 02:18 | |
|
02:18
petdance joined
|
|||
| bacek_ | cotto: it shouldn't break it. | 02:19 | |
| petdance | Im' looking at splint's handling of memory leaks | ||
| dalek | rrot: r38476 | chromatic++ | trunk/src/oo.c: [oo] Reduced the number of PMCs created in Parrot_ComputeMRO_C3, which is a |
02:21 | |
| rg | i guess many people here won't keep pbcs around. i only did because my cron job updated parrot for me ;) | ||
| cotto | bacek_, that's what I'm thinking, but rg's evidence suggests otherwise. | 02:32 | |
| Hmm. I'll see if pbc from pre-merge can be used post-merge. | 02:35 | ||
|
02:35
darbelo joined
|
|||
| rg | cotto: i don't think there have been any other significant commits in the previous 8 hours, that's why i'm suspecting the merge. i could be wrong though. | 02:37 | |
| cotto | darbelo, will you want to report at #ps this week? | ||
| darbelo | I might be a bit late for it, but if I am there I'll do it. | 02:39 | |
| cotto | ok | 02:40 | |
| I'll consider it your responsibility from this point on, unless you say otherwise. | 02:43 | ||
| darbelo | ok | 02:45 | |
|
02:54
janus joined
03:00
janus` joined
03:14
petdance joined
|
|||
| dalek | rrot: r38477 | chromatic++ | trunk/src/pmc/class.pmc: [PMC] Revised MRO generation so that the (relatively expensive C3) MRO substantially from any parent's MRO. A class with no parents needs no MRO calculation. A class with one parent can borrow its parent's MRO calculation. |
03:16 | |
| bacek_ | cotto: ping | 03:19 | |
| dalek | rrot: r38478 | chromatic++ | trunk/src/oo.c: [oo] Replaced a method invocation with the equivalent VTABLE invocation when previous optimizations, Rakudo starts up over 10% faster now. |
03:29 | |
| cotto | bacek_, pong | 03:33 | |
| bacek_ | cotto: I want one more commit or tt528 branch :) | 03:40 | |
| cotto | ? | ||
| bacek_ | marking vtable functions as static and remove them from headers | 03:41 | |
| cotto | if it works, I don't see the need to make a branch for that (and the vtinit branch was already merged) | ||
| bacek_ | ok. It doesn't work. Someone calling functions directly. | 03:46 | |
| cotto | That shouldn't be happening anymore. | 03:47 | |
|
03:47
tetragon joined
|
|||
| bacek_ | e.g. line 414 in object.pmc | 03:48 | |
| cotto | easy fix | 03:50 | |
| purl | easy fix is just to change the type to Str | ||
| bacek_ | this one - yes. | ||
| src/pmc_freeze.c. lines 39, 43, 1367, 1753 | |||
| cotto | you got it? | 03:51 | |
| bacek_ | what do you mean? | ||
| cotto | are you going to fix it? | 03:52 | |
| bacek_ | Can do. But I'm at $dayjob now. And going to another meeting... | 03:53 | |
| cotto | ok | 03:54 | |
| I'll let you get it whenever you can. | |||
| afk | |||
| dalek | rrot: r38479 | petdance++ | trunk (10 files): Added some more splint instrumentation in the headerizer |
04:18 | |
| rrot: r38480 | petdance++ | trunk/config/gen/makefiles/root.in: Ignore the splint warning about str*() functions being reserved |
04:47 | ||
| rrot: r38481 | petdance++ | trunk (2 files): Parrot_warn() does nothave to have its function result checked |
|||
| rrot: r38482 | petdance++ | trunk/src/debug.c: use size_t instead of unsigned int in one place |
04:57 | ||
| rrot: r38483 | allison++ | trunk/docs/pdds/draft/pdd30_install.pod: [pdd] Cleaning up install PDD, preparing to launch out of draft. |
05:00 | ||
| rrot: r38484 | allison++ | trunk (1 files): [pdd] Launching install PDD out of draft. |
05:03 | ||
| rrot: r38485 | petdance++ | trunk/config/gen/makefiles/root.in: working on more splint flags |
05:36 | ||
| Infinoid | since we've already released 1.0 and then 1.1, the eventual goal of "Parrot 1.0 release" on www.parrot.org/foundation/grants/nlnet-grant seems a little confusing | 05:37 | |
| cotto | we have a stub security model implementation? | 05:41 | |
| afk_coke | Infinoid: that grant is over. | ||
| dalek | rrot: r38486 | petdance++ | trunk/src/spf_render.c: assign characters to characters |
05:58 | |
|
06:20
uniejo joined
06:21
masak joined
06:52
iblechbot joined
06:53
petdance joined,
petdance__ joined
|
|||
| dalek | kudo: r4d3a38f | (Moritz Lenz)++ | t/spectest.data: run socket tests, mberendes++ |
07:14 | |
| rrot: r38487 | chromatic++ | trunk/src/pmc/class.pmc: [PMC] Fixed a compiler warning introduced by accident in r38477. |
07:26 | ||
| rrot: r38488 | chromatic++ | trunk/src/oo.c: [oo] Removed an unnecessary PMC creation from C3_merge. This is a very modest |
07:39 | ||
| rrot: r38489 | cotto++ | trunk/lib/Parrot/Pmc2c/PMC/default.pm: [pmc2c] avoid a compiler warning by using an int as a PMC id |
07:45 | ||
| l: rb5782d4 | (Francois Perrad)++ | (2 files): check duplicated attributes |
07:59 | ||
|
08:00
cotto joined
08:17
donaldh joined
08:21
elmex joined
08:44
elmex joined
09:03
HG` joined
09:16
donaldh_ joined
09:29
HG` joined
09:55
fperrad joined
10:14
muixirt joined
|
|||
| muixirt | the maximum sub recursion depth is hardwired, will that change? Or is there a command line option to override it? | 10:17 | |
| moritz | muixirt: there was a thread on that by Coke on parrot-dev | 10:22 | |
| muixirt | moritz, ok | ||
| moritz | muixirt: iirc allison answered that it can be changed by a method call on the interpreter object, or so | 10:23 | |
| groups.google.com/group/parrot-dev/...bfe2?fwc=1 | |||
| muixirt | the usage info of parrot --help says something about a --jit-core option that seems to be vanished | 10:25 | |
| a few months ago "./parrot languages/perl6/perl6.pbc did work, but not anymore (for me at least) | 10:29 | ||
| moritz | that's because rakudo doesn't live in languages/perl6/ anymore, I guess | 10:30 | |
| rakudo.org/how-to-get-rakudo | 10:32 | ||
| muixirt | yeah i meant languages/rakudo of course :-) | 10:33 | |
| moritz | so, what's wrong then? | 10:35 | |
| did you update rakudo and did a 'make clean; make' there? | |||
| muixirt | I get: PackFile_unpack: This Parrot cannot read bytecode files with version 3.34. | 10:36 | |
| i try a distclean | |||
| moritz | a clean/realclean/whatever in parrot won't help | 10:37 | |
| you need to chdir to languages/rakudo | |||
| and there | |||
| git pull | |||
| purl | git pull is not slow. | ||
| moritz | make clean | ||
| perl Confingure.pl | |||
| make | |||
| muixirt | i did that (i read the howto) | 10:38 | |
| moritz | then you should be able to run ./perl6 | 10:39 | |
| if that still fails => bugreport | |||
| (assuming your parrot is new enough, compared to build/PARROT_REVSION) | |||
| muixirt | the perl6 executable doesn't accept optimization options (for parrot), right? | 10:41 | |
| moritz | no | 10:42 | |
| but the error you get indicates that rakudo's and parrot's version don't match | |||
| muixirt | so running the perl6 executable gives you bad performance | 10:43 | |
| moritz | so does running a parrot without --optimize | 10:44 | |
| but with optimize it regularly segfaulted for me | |||
| muixirt | i solved it, i ran make distclean in the parrot dir. and rebuilt it, it now works | ||
| moritz | great | 10:45 | |
| muixirt | so, your rant about performance is ... premature? ;-) | 10:46 | |
| moritz | how so? | 10:48 | |
| muixirt switches to #perl6 | 10:49 | ||
| bacek | good evening | 11:05 | |
| moritz | actually rakudo's 'make spectest' works pretty well with an optimized parrot, I've just tried it | 11:14 | |
| muixirt | what do you mean "by optimized parrot"? proper optimizations options while compiling parrot or executing bytecode? | 11:20 | |
|
11:21
donaldh joined
|
|||
| moritz | while compiling parrot | 11:22 | |
|
11:35
HG` joined
|
|||
| jonathan | If any Parrot folks fancy some GC debugging (ya rly) then see rt.perl.org/rt3/Ticket/Display.html?id=65396 :-) | 11:42 | |
| muixirt | command line option for parrot like --jit-core or --fast-core vanished, but they are listed in the usage info | 11:47 | |
| what is the general state of these "cores"? | 11:48 | ||
| moritz | I think you can run them with -R $core_name | 11:49 | |
| moritz recompiles with --jitcapable | 11:50 | ||
| muixirt | moritz, the usage info provided by parrot --help and documentation should reflect that | 11:52 | |
| moritz | muixirt: yes | 12:00 | |
| muixirt: care to open a ticket? | |||
| muixirt | moritz, *innocent looking* I don't know how ... | 12:01 | |
| moritz | muixirt: trac.parrot.org/parrot/newticket (you have to create an account first) | 12:02 | |
|
12:05
ruoso joined
12:10
davidfetter joined
|
|||
| muixirt | moritz, ticket created, please have a look | 12:11 | |
|
12:19
contingencyplan joined
|
|||
| moritz | muixirt: looks good, thank you | 12:20 | |
|
12:31
donaldh left
|
|||
| moritz | $ ./parrot/parrot -R jit perl6.pbc -c -e '3' | 12:39 | |
| Segmentation fault | |||
| purl | (Core dumped) | ||
|
12:39
rg1 joined
|
|||
| muixirt | moritz, :-) | 12:40 | |
| moritz | and 'make testj' in parrot produces lots of errors | 12:43 | |
| and is sloooow | 12:44 | ||
| muixirt wonders where it stuffed that '3' in | |||
| moritz | hm? | ||
| the line above tries the Perl 6 program which consists of a single digit | 12:45 | ||
| muixirt | testj? | ||
| purl | testj is jit? | ||
| moritz | testj is jit. | ||
|
12:45
particle joined
|
|||
| moritz | a normale 'make test', but uses the jit runcore | 12:45 | |
| muixirt | if compiled with --jitcapable? | 12:46 | |
| moritz | yes | ||
|
12:47
Whiteknight joined
|
|||
| muixirt | I reckon straighten out the bugs of jit hasn't a high priority | 12:48 | |
| Whiteknight | Tene: Ping | 12:52 | |
| moritz | and probably no fun | 12:53 | |
| muixirt | moritz, what brings me to what Lars Bak said ... :P | 12:55 | |
| dalek | kudo: rd500f20 | jnthn++ | src/pmc/p6invocation.pmc: More work on P6Invocation. There'll be room for optimization, but this serves well as at least a POC. |
12:57 | |
|
13:01
gryphon joined
|
|||
| Whiteknight | Coke: ping | 13:16 | |
| dalek | kudo: ree10f59 | jnthn++ | (2 files): Method on P6Invocation to check if we have more candidates, and tests for it. |
13:20 | |
|
13:24
Casan joined
13:28
dalek joined
13:34
dalek joined
|
|||
| Infinoid | cotto: There. I know this is the 5th time I've said it in the past week and I've yet to be correct, but dalek should work now | 13:38 | |
| Whiteknight | Infinoid++ | ||
| Infinoid | hi Whiteknight | ||
| Whiteknight | hello | ||
| mikehh | make -k fulltest - codetest and examples-tests failures - Kubuntu Jaunty (9.04) Amd64 - all others PASS | 13:44 | |
| Coke | Whiteknight: pong | 13:46 | |
| messages erase | |||
| Whiteknight | Coke, you can update the list of blogs at planet.parrotcode.org? | ||
| Coke | As I said earlier, yes. | ||
| Whiteknight | Robert gave me access to it, but I can't run the updater on this box | 13:47 | |
| I'm sorry, I didn't know you said that before | |||
| mikehh | apart from copyright test line length failures in docs/book/ch03_pir.pod and pdd30_install.pod | ||
| Tene | Whiteknight: pong | ||
| Whiteknight | Tene: I need the feed URL of your blog posts with the label "Parrot" | 13:48 | |
| I lost it last night | |||
| Coke | I think tene already has a blog in there. | ||
| moment. | |||
| Tene | Coke: yes, but it's grabbing everything, not just parrot-related | ||
| blogs.gurulabs.com/cgi-bin/mt-searc...p;limit=20 | 13:49 | ||
| Coke | now I can't find my planet checkout. | ||
| mikehh | the pdd30_install.pod is a url type - I dont see how to get it down in size | ||
| Coke | [blogs.gurulabs.com/stephen/atom.xml] | 13:52 | |
| name = Stephen Weeks | |||
| mikehh | afk for a bit | 13:53 | |
| Coke | tene, going to go with: blogs.gurulabs.com/cgi-bin/mt-searc...tag=Parrot | ||
|
13:54
PacoLinux joined
|
|||
| Whiteknight | Coke, and can you add this: | 13:54 | |
| [wknight8111.blogspot.com/feeds/posts/-/Parrot] | |||
| name = Andrew Whitworth | |||
| Coke | Whiteknight: "invalid content type: -" | ||
| Whiteknight | shoot, sorry | ||
| [wknight8111.blogspot.com/feeds/post.../-/Parrot] | |||
| I'll decide what is and is not valid | 13:55 | ||
| Coke | Whiteknight: added. | ||
| it'll take a bit to propogate. | |||
| Whiteknight | Coke++ # Thanks! | ||
| Coke | planet? | 13:56 | |
| purl | i heard planet was a universal mystery, methinks. | ||
| Coke | planet parrot? | ||
| purl | planet parrot is probably an aggregate of any parrot-related blogs. | ||
| Coke | planet parrot is also editable by coke | ||
| purl | okay, Coke. | ||
| Coke | planet parrot is also changable with a trac ticket. | 13:57 | |
| purl | okay, Coke. | ||
| Whiteknight | it should also be edited by me eventually, once I get my damn act together | ||
|
14:02
donaldh joined
14:36
particle1 joined
14:51
frodwith joined
15:08
fperrad joined
|
|||
| dalek | kudo: 8009acf | jnthn++ | src/parser/actions.pm: Add lexical slot for dispatcher to store candidate list holder in methods. |
15:10 | |
|
15:12
riffraff joined
15:20
donaldh joined
15:43
iblechbot joined
|
|||
| dalek | rrot: r38490 | NotFound++ | trunk/examples/nci/xlibtest.p6: [examples] more idiomatic perl6 in xlibtest.p6 |
15:55 | |
|
16:01
cognominal joined
16:10
Theory joined,
donaldh left
16:20
uniejo joined
|
|||
| moritz | #ps in 121 | 16:29 | |
| jonathan | I was about to ask how far away that was... | ||
| This probably means dinner before #ps. | |||
| Coke | me wonders why the installed libparrot.1.1.0.dylib has a dependancy on libparrot in the build dir. | 16:30 | |
| particle1 | that's just Wrong. | 16:37 | |
| purl | Fire and brimstone coming down from the skies. Rivers and seas boiling! Forty years of darkness, earthquakes, volcanos. The dead rising from the grave! Human sacrifice, dogs and cats living together... mass hysteria! | ||
| Infinoid | Do we do a test install (into a tmpdir or somesuch) during "make test"? | ||
|
16:40
fperrad left
|
|||
| Infinoid | I don't see such a thing, but it sounds like something we need. I'll see if I can knock something together | 16:41 | |
| dalek | rrot: r38491 | NotFound++ | trunk/src (2 files): [core] fix some external declarations of vtable functions, TT #640 |
16:44 | |
|
16:44
gryphon joined
16:51
gryphon joined
|
|||
| Coke | comedy of errors. | 16:56 | |
| I despair of being able to build partcl against 1.4 | |||
| NotFound | Can I say again that I don't think that rpath usage was a good idea? ;) | 16:57 | |
| Coke | is osx even using rpath? | ||
| particle1 | just use path like normal OSes, mkay? | 16:58 | |
| Coke | rpath seems to be in linux and mebbe solaris. | ||
| NotFound | Coke: I don't know nothing about Mac OS, but looks like we are using some way of fixing the path for the dynamic libs. | 16:59 | |
| Coke | yes, I wrote that. it's post install, a workaround for NOT using rpath. | 17:00 | |
| s/wrote/stole | |||
| dalek | rrot: r38492 | jonathan++ | trunk (2 files): [p6object] Add variants of some meta-class methods that take the object to operate on as the first parameter, as is Perl 6 spec. Move the main implementation to these, have the existing variants forward to them and document them as deprecated. |
||
| Coke | do the build. the build links against everything locally; copy it all out and then switch out the lib deps. | ||
| except that blib/lib/libparrot* seems to depend on itself. | |||
| $ ldd blib/lib/libparrot.dylib | 17:01 | ||
| blib/lib/libparrot.dylib: /Users/coke/research/parrot/blib/lib/libparrot.dylib (compatibility version 0.0.0, current version 0.0.0) | |||
| NotFound | Coke: maybe that is related to the problem mentioned in my last commit? | ||
| Coke | (where ldd is otool -arch all -L $*) | ||
| ldd? | |||
| purl | ldd is another useful thingie that comes with linux or doesn't really do anything on GNU/Linux systems except exec the program with magical environment variables that make the dynamic loader show its dependencies or the Linux Device Drivers book or "otool" on OS X. | ||
| Coke | r38491 ? | 17:02 | |
| NotFound | O'Tool? | ||
| Coke: yes | |||
| Coke | wouldn't libparrot depending on itself be a linking issue? | ||
| Coke ups and rebuilds to check. | 17:03 | ||
| NotFound | Coke: fake declarations can be the cause of linking issues | ||
|
17:03
barney joined
|
|||
| dalek | rrot: r38493 | Infinoid++ | trunk/docs/book/ch03_pir.pod: [cage] Wrap text to pass linelength.t. |
17:03 | |
| Infinoid | There's an additional pdd_format failure in pdd30_install which I'm not sure how to fix. | 17:04 | |
| Coke | jonathan: don't forget to create tickets and add notes to DEPRECATED.pod when deprecating things. | 17:05 | |
| NotFound: no change in ldd blib/lib/libparrot.dylib | 17:06 | ||
| NotFound | Blame Steve Jobs, then ;-) | 17:07 | |
| Infinoid | That's a workaround, not a fix. :) | 17:08 | |
| Coke | alright, on linux, libparrot.so has no such self-referential crap. at least that gives me something to look at. | 17:17 | |
| Whiteknight | is #ps in 5 or 65? | 17:25 | |
| Infinoid | 65 | ||
| Tene | Tue May 5 17:25:26 UTC 2009 | ||
| purl: ps? | |||
| purl | hmmm... ps is postscript or process status or see "parrotsketch" or non-vector?! or annoying. | ||
| Tene | purl: parrotsketch? | ||
| purl | i guess parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch | ||
| Whiteknight | my damn clock here on Windows is broken | 17:26 | |
| the GMT clock says that it's 18:25 right now, which it's obviously not | |||
| NotFound | Whiteknight: there is a registry key to tell windows to use UTC time in the hardware clock. It makes things easier on mixed use machines. | 17:28 | |
|
17:29
estrabd joined
|
|||
| Whiteknight | oh great. I get to monkey around in the registry | 17:29 | |
|
17:30
fperrad joined
17:34
Casan joined
|
|||
| Coke | clock? | 17:39 | |
| purl | Coke: LAX: Tue 10:39am PDT / CHI: Tue 12:39pm CDT / NYC: Tue 1:39pm EDT / LON: Tue 6:39pm BST / BER: Tue 7:39pm CEST / IND: Tue 11:09pm IST / TOK: Wed 2:39am JST / SYD: Wed 3:39am EST / | ||
|
17:44
darbelo joined
|
|||
| darbelo | cotto: ping | 17:51 | |
| cotto | darbelo, pong | ||
| darbelo | I looked at pmc2c. Adding ATTR union whatever * was easier than expected :) | 17:52 | |
| dalek | rrot: r38494 | NotFound++ | trunk/src/dynext.c: [cage] avoid some usages of STRING internals, TT #630 |
17:53 | |
| cotto | Yeah. I'm pretty sure it'd be a 1-line change. | ||
| darbelo | It is. | ||
| cotto | so, no blog yet? | 17:54 | |
| It'd be nice to have something to point to at #ps. | 17:55 | ||
| darbelo | Blog, yes. Posts, no. I was going to post something after #ps. | ||
| cotto | your call | 17:56 | |
| darbelo | is nopaste down? | 17:57 | |
| cotto | nopaste? | ||
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| purl | i heard nopaste was at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) | ||
| cotto | tup | ||
| yup | 17:58 | ||
| darbelo | I'll mail you the patch then. | ||
|
17:59
fperrad joined
|
|||
| cotto | allison, ping | 17:59 | |
| darbelo, send it to the list. I'll see it there and it'll be easier for others to comment. | 18:02 | ||
| darbelo | ok | ||
| Infinoid | I won't be here for #ps, but I didn't do much this week anyway. I'll read the log later | 18:19 | |
|
18:20
chromatic joined
|
|||
| NotFound | What is the reason to have union in ATTRs? How can they be accessed? | 18:21 | |
| darbelo | They're accessed just like any ATTR. Right now you can have "ATTR struct structy *val;", but not "ATTR union uniony *val;" | 18:25 | |
| Whiteknight | I think adding a struct or union definition creates a typedef somewhere, doesn't it? | ||
| oh no, nevermind. You have to previously define the struct/union, but you don't need to typedef it | 18:26 | ||
| NotFound | Right now we have enough unsolved problems with inheritance from PMCs. | ||
| Whiteknight | NotFound: You can't inherit struct/union ATTRs anyway | 18:27 | |
| cotto | Agreed. "Don't do that" is not a good long-term solution. | ||
| although I don't think it affects darbelo's patch either way | 18:28 | ||
| Coke wonders how long it's been since partcl trunk worked as intended. | |||
| NotFound | You don't have to previously define, the struct usage works as a forward declaration,. | ||
| chromatic | #ps in 2 | 18:29 | |
| NotFound | But you probably have headerizer and c generation problems without a declaration. | ||
|
18:29
jderque joined
|
|||
| cotto | allison, unping | 18:32 | |
| allison | Coke: a while, I submited a patch sometime around 0.9.0 that updated it to the current string function names, so at least... 4/5 months? | 18:36 | |
| Coke | allison: it was rhetorical. | 18:37 | |
| allison | Coke: btw, make install works as intended, it's the new make install-dev that's broken | ||
| Coke | ... sorry, yes, install-dev. | ||
| allison | largely because it's installing things that were written as if they'd never run outside the build directory | 18:38 | |
| (which is nutty-pants, but there you go) | |||
| Coke | allison: latest fun. "make" generates a blib/lib/*.dylib that depends on itself. | 18:41 | |
| (on osx) | |||
| allison | Coke: how is that even possible? | ||
| Coke | dunno. I can only assume that the output from otool is not what I expect. | 18:42 | |
| allison | Coke: oh, must be some horrible recursion in the build/link flags? | ||
| Coke | but, when those get installed, the link to the build dir is still there. whee. | ||
| allison | a different link than rpath? | ||
| Coke | osx isn't using rpath. | 18:43 | |
| allison | at all? | ||
| Coke | (just linux and maybe solaris) | ||
| ack -i rpath config tells me no. | |||
| there's an rpath /config/ option, but no -rpath | 18:44 | ||
| allison | that's good | ||
| Coke | which is why the portfile is rewriting the lib paths. | ||
| allison | except that it's keeping a static link to the build directory instead, which is bad | ||
| pmichaud | Util: I'm very eager to see the patch. | 18:48 | |
| NotFound | rakudo make tells me that there is no rule to build parrot, If I try with an installed parrot after renaming the build directory | ||
| pmichaud | NotFound: did you reconfigure rakudo? | 18:49 | |
| NotFound | pmichaud: yeah | ||
| Coke | it, "make install-dev", or the portfile? | ||
| Util | pmichaud: OK, I will post a rough-cut in a few minutes. | 18:50 | |
| Coke | allison: I cannot seem to rewrite the lib deps inside the libs themselves using install_name_tool as we do for the executables. | ||
| NotFound | realclean, git pull, configure, make, same result | ||
| chromatic | pmichaud, runtime/parrot/library/P6object.pir line 226 is the source of half of Rakudo's startup slowness. | 18:51 | |
| jderque | hello ! | 18:54 | |
| Coke | ~~ | ||
| pmichaud | chromatic: parrotclassns.'add_sub'($S0, $P0) | 18:55 | |
| ? | |||
| Tene | chromatic: I'm going to be in Salem, OR next week. | ||
| chromatic | pmichaud, that's the one. | ||
| dalek | rrot: r38495 | coke++ | trunk/ports/macports/Portfile: When installing on OSX, fixup not only the executable library links, but this doesn't address the issues in the actual libparrot.*dylib shared library, though, which seems to still depend on the build directory. |
||
| pmichaud | I wonder why that would be such a big bottleneck. | ||
| chromatic | It trips a lot of "Adding a vtable entry which already exists" and "adding a method which already exists" in the namespace exceptions. | ||
| Salem's about an hour by car. | 18:56 | ||
| Tene | chromatic: I'll have a car, and plenty of time. | ||
| jderque | the following file makes parrot crash : pastebin.com/m59781b65 | ||
| (v 1.0.0 and 1.1.0) | |||
| pmichaud | chromatic: I don't have many ideas at the moment for avoiding it. | 18:57 | |
| cotto | jderque, welcome to parrot | ||
| Whiteknight | jderque: that shouldn't even parse | ||
| Coke | Whiteknight: sure, it's a keyed creation. | ||
| chromatic | It looks like it's doing unnecessary work, but I'm not sure how you use it. | ||
| Coke | Whiteknight: try new ['Integer'] | ||
| Whiteknight | ah | ||
| Coke | jderque: can you open a trac ticket with that? | 18:58 | |
| jderque | sure ! | ||
| Coke | danke. | ||
| good catch. | |||
| Whiteknight | Coke: There should be a difference between a string key and an int key in IMCC | ||
| I'm surprised that there isn't | |||
| pmichaud | chromatic: it's used to enable PIR classes to act like parents of Proxy PMCs | 19:01 | |
| chromatic | Is there any reason it would add subs to the same namespace multiple times? | ||
| particle- | jderque: you need to create a trac account, and respond to the confirmation email before you can post | ||
| Whiteknight | on that note, I'm still not entirely sure why we have Proxy PMCs in the first place? | ||
| pmichaud | chromatic: yes. | 19:04 | |
| I *might* be able to get it to avoid that. | |||
| but essentially, it's having to walk the mro hierarchy and add parent methods, and there could be duplicates there in the hierarchy. | 19:05 | ||
| chromatic | It's flattening all dispatch candidates into a single class? | ||
| jderque | particle-: yeah, i've just registered (but the site is slooooooow) | 19:06 | |
| pmichaud | it's basically "promoting" methods into the ProxyPMC. Yes, it is very Evil, but otherwise there doesn't seem to be a way to 'add_parent' on a Proxy PMC and have it dtrt. | ||
| But I can at least make sure that for any given method name, it does i.... oh, no I can't. Grr.. MultiSubs. | 19:07 | ||
| chromatic | Is this something we can fix in Proxy? | ||
| pmichaud | somehow I doubt it. | ||
| it may end up being avoided at any rate, as we start to refactor the proxy-manipulating evilness out of Rakudo anyway. | 19:09 | ||
| Oh, I know. | |||
| chromatic | I temporarily removed the exception-throwing from the two spots it gets called, and Rakudo starts up over twice as fast. | ||
| pmichaud | I could test for MultiSub-ness first, and then avoid repeats. | ||
| that might help avoid some unnecessary work. | 19:10 | ||
| Of course, more and more rakudo builtins are becoming MultiSubs | |||
|
19:10
Coke left
|
|||
| chromatic | In theory, add_method shouldn't throw an exception if you add another multi variant. | 19:10 | |
| pmichaud | well, the call to 'add_sub' is supposed to be handling that. | 19:11 | |
| Theory | chromatic: bitch what? | ||
| purl is nobody's bitch! | |||
| pmichaud | I think I patched it to work like that sometime last year. | ||
| chromatic | src/pmc/class.pmc:712 | ||
| allison | drat, I needed to ask Coke a question | ||
| pmichaud | although, I wonder if we ever have vtable functions that are also :multi | 19:12 | |
| I think not. | |||
| so if the problem is "adding vtable entry which already exists...", that's not likely to change. | 19:13 | ||
| particle- | vtable functions that are also methods that are :multi? | ||
| pmichaud | particle-: currently all vtable functions have the :method flag, I think. | ||
| particle- | hrmm, to get self? | ||
| pmichaud | (except for VTABLE_invoke) | ||
| Well, there was some talk at one point that :vtable would imply self... but I don't remember how far that got. | 19:14 | ||
| chromatic | Everyone wants it, but no one has done it. | ||
| pmichaud | is there a way (in PIR) to find out if a Sub PMC has its :vtable flag set? | ||
| particle- | seems odd that 'all' vtable functions get :method | ||
| pmichaud | We could avoid adding those. | ||
|
19:15
donaldh joined
|
|||
| particle- | my best guess is something like interpinfo .???_CURRENT_SUB, ??? | 19:15 | |
| chromatic | I'm still not exactly sure I understand the problem P6object is trying to solve here. | 19:16 | |
| pmichaud | chromatic: P6object is attempting to allow Parrot core PMCs to map directly to HLL types. | 19:17 | |
| In Rakudo's case, we want a Parrot Integer to act like a Rakudo Int | |||
| which means that Integer needs to get all of the methods defined on Int | |||
| so, we take all of the methods of Int (and its parent classes) and add them to the Integer PMC | 19:18 | ||
| this is *not* intended to be long term behavior or correct -- it's just to deal with the fact that we can't yet do HLL_map . | |||
| so many times Parrot promots something into an Integer, and Rakudo needs that to act like an Int. | 19:19 | ||
| chromatic | HLL-specific autoboxing of a sort? | 19:20 | |
| pmichaud | Yes. | ||
| Tene | and why can't we do HLL_map ? | ||
|
19:20
donaldh joined
|
|||
| pmichaud | Tene: because we couldn't get .HLL 'Perl6' to work. | 19:20 | |
| thus, no HLL_map. | |||
| But even when we have HLL_map, we may have cases where Parrot types "leak" into the program, so it might be useful to map them somehow (still as a shortcut measure). | 19:22 | ||
|
19:23
donaldh joined
19:35
donaldh left
|
|||
| Util | moritz: thanks | 19:36 | |
| pmichaud: sial.org/pbot/36403 | 19:38 | ||
| pmichaud | Util: so, you're changing the initialization to be string literals instead of array of int ? | 19:39 | |
| moritz | actually I thought about the exact same change a while ago ;-) | 19:40 | |
| chromatic | Me too, but I couldn't get it to work in an hour. | 19:41 | |
| That should cut file size in half. | |||
| Util | pmichaud: Yes, exactly so. Large arrays of chars are slow during GCC compilation, which true C strings are lightning fast. | ||
| pmichaud | Is "hello" " " "world" valid C89? | 19:42 | |
| moritz | iirc yes | 19:43 | |
| two strings in a row are simply concatenated | |||
| Util | FYI, I did get a speedup of the old `255,0,0` technique by saying `program_code[real_size_here]` instead of `program_code[]`, but nowhere near the true C strings speed. | ||
| moritz | (gcc compiles it with --std=c89 -ansi -pedantic) | 19:44 | |
| Util | The patch leaves a empty "" at the end when size%32==0, but that does not seem worth fixing until someone show me a compiler that chokes on it. | 19:45 | |
| chromatic | If VS handles it, I'm not too worried. | 19:46 | |
| pmichaud | anyway, the patch looks good to me. | ||
| jonathan | I'm happy to try it on MS VC++. | 19:47 | |
| Util | With the old technique, perl6's 3MB of PBC took 460MB of rsize. Causes 10 minutes of thrashing on my 1GB MacBook. | 19:48 | |
| jonathan: that would be great! | |||
| jonathan | Util: Is it checked in somewhere in a branch? | ||
| Or did I miss a link to it? | 19:49 | ||
| Util | sial.org/pbot/36403 | ||
| jonathan | Util: trying it | 19:51 | |
| purl | somebody said trying it was quicker than talking on IRC about not trying it ;> | ||
| jonathan | omfg | 19:53 | |
| perl6.c(2051) : fatal error C1091: compiler limit: string exceeds 65535 bytes in length | |||
| moritz | oh my. | ||
| PerlJam | jonathan: that's on windows? | 19:54 | |
| jonathan | yeah | ||
| surprise ;-) | |||
| PerlJam | I think if you just chooose a bigger memory model, that'll go away. | ||
| chromatic | Or we could make an array of strings. | 19:55 | |
| pmichaud | I wonder if there's a way to ... what chromatic said. | ||
| chromatic | All we need is a chunk of adjacent, gapless memory. | ||
| jonathan | PerlJam: I don't see an option for increasing maximum string lenght. :-| | ||
| Util | Another approach is to pre-init many smaller blocks, then at run-time allocate the right-sized chunk, and copy all the small blocks to it. | ||
|
19:55
fperrad left
|
|||
| pmichaud | Ick. | 19:56 | |
| chromatic | Run time copying... sounds slow. | ||
| pmichaud | That sounds like we're moving things from code space into data space. | ||
| Util | Ick, indeed! | ||
| jonathan | I wondered if upgrading my compiler would help...and just read: | 19:57 | |
| "On VC++ 2003 compiler the limit is even smaller, 16 Kb." | |||
| pmichaud | bwahahahaha | ||
| "640K is all the memory you'll ever need." | 19:58 | ||
| davidfetter | 16Kb. wow. just wow. | ||
| um, would that be KB? | |||
| jonathan | I guess. | 19:59 | |
| :-S | |||
| davidfetter recalls an embarrassing incident with gnu units involving millibits per second | |||
| chromatic | 16k strings in an array would still be a lot smaller and simpler than what we have now. | ||
| pmichaud | Agreed, but are we guaranteed that the strings will be gapless/in order in an array? | ||
| chromatic | In a C array? Should be. | ||
| pmichaud | what would the declaration look like? | 20:00 | |
| chromatic | Otherwise char arrays and strings wouldn't work in C. | ||
| Util | pmichaud: especially if all but the last string in sized in large power-of-two | ||
| chromatic | const char const ** [] = { }; | ||
| Util | s/in/is/ | ||
| pmichaud | but with char const ** [] = { "abcdefghijklmnop", "abcdefghijklmnop", ... } | 20:01 | |
| why do the strings have to be contiguous? | |||
| afaict, they don't. | |||
| hey, what about.... | |||
| moritz | because array[a] is the same as *(array + a) | 20:02 | |
| pmichaud | moritz: that doesn't violate what I just said. | ||
| in the case of char ** [], the elements of the arrays are pointers. | |||
| in particular, | |||
| purl | in particular, is that where i should listen to find out if a socket is closed? | ||
| moritz | ah | ||
| now I understand | |||
| purl: forget in particular, | 20:03 | ||
| purl | moritz: I forgot in particular, | ||
| pmichaud | but what about... | ||
| char foo[<>][16] = { "abcdefghijklmnop", "abcdefghijklmnop", ... } | |||
| chromatic | Sure, something like that should work. | 20:04 | |
| pmichaud | replace <> with the number of items in the array (which we can compute from the length of the .pbc) | ||
| that would be contiguous. | |||
| Oh, but null terminators would be an issue. | |||
| dalek | rrot: r38496 | cotto++ | branches/tt528_vtinit: deleting merged tt528_vtinit branch |
20:07 | |
| kudo: cfc5e82 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 379 files, 11011 passing, 0 failing |
20:11 | ||
|
20:28
bsdz joined
|
|||
| particle- grumbles loudly at alester for breaking parrot builds on win32 | 20:42 | ||
| Andy | eek how, I'm sorry! | ||
| what borked? | |||
| purl | rumour has it borked is that a swedish perl | ||
| particle- | SPLINTFLAGS += foo | ||
| nmake doesn't grok += | 20:43 | ||
| Andy | oooh, ooops. | ||
| I'm sorry. | |||
| Y'know, I think I knew that. | |||
| particle- | easy fix | ||
| purl | easy fix is just to change the type to Str | ||
| Andy | now that I think about it. | ||
| how? | |||
| particle- | don't use += ! | ||
| Andy | Well, yeah | ||
| cotto | no, easy fix is <reply> | ||
| purl | okay, cotto. | ||
| Andy | but suggestions on acheieving the effect in the file? | ||
| of building upt he string? | 20:44 | ||
| particle- | i know no method by which to achieve that without stupid-workaround-ery | ||
| cotto | If it's temporary anyway, why not just go with a quick stupid fix? | 20:53 | |
| Andy | It's not temporary | 20:54 | |
| particle-: Just slap it all together, i'll come up with something else. | |||
| Wsorry to mess you up. :-( | |||
| can you ifdef it out or something similar? | |||
| You'll never be able to use the splint stuff anyway | |||
| maybe I just oughta have a cage makefile | |||
| or just a splint makefile, for that matter | 20:55 | ||
| since I really don't need to rerun config every time | |||
| muixirt | hi | 21:04 | |
| purl | what's up, muixirt. | ||
| muixirt | what is the parrot option -R trace good for, and what is the difference between that and option -t|--trace? | 21:05 | |
|
21:09
iblechbot_ joined
|
|||
| Infinoid | Yeah. Splint really needs to act like a separate platform/target/config anyway | 21:12 | |
|
21:12
pfig joined
|
|||
| Infinoid | muixirt: -t lets you define which kind of stuff to trace (the flags argument is a bitmask), and enables the trace runcore internally. -R just lets you set the runcore | 21:14 | |
| without looking at the code, I would think -R trace would be like -t 0 | 21:15 | ||
| muixirt | Infinoid, thanks | ||
| dalek | kudo: 9a1cacd | jnthn++ | (2 files): Add .^methods and .^isa introspection methods. Also bump us up to the Parrot build where I put in the P6object changes that are needed to go with this. |
21:19 | |
| kudo: c77bd19 | jnthn++ | : Merge branch 'master' of git@github.com:rakudo/rakudo |
|||
|
21:22
jderque left
21:35
amoc joined
|
|||
| darbelo | cotto: ping | 21:35 | |
| cotto | darbelo, pong | 21:38 | |
| darbelo | I'm implementing set/get_rounding_mode for decnum PMCs and I want to map decNumber's enum rounding to parrot constants. Is '.macro_const' the only way to do it? | 21:41 | |
| cotto | I think so, but you can write some code to munge C-level #defines or enums into pir-level macros. | 21:43 | |
| darbelo | Once I generate the pasm, how do I tell parrot to load it? | 21:47 | |
| cotto | .include it | ||
| Hmmm. That won't work for just a pmc. | 21:48 | ||
| lemme check some stuff | |||
|
21:52
Whiteknight joined
|
|||
| darbelo | Also, this will probably need some testing on platforms with INTVAL != int32_t. | 21:52 | |
| Infinoid | my sizeof(INTVAL) is 8, how can I help? | 21:56 | |
| cotto | darbelo, it looks like you might be able to hack something out, but the code is obvious not intended for external use. | 21:57 | |
| You should file a feature request on trac for a function to define pir constants at runtime. | 21:59 | ||
| *obviously | |||
| dalek | kudo: 53f7059 | jnthn++ | src/parser/ (2 files): STD tracking: handles trait verb followed by noun, not EXPR. |
||
| particle- | cotto: can you eval them? | 22:00 | |
| darbelo | particle: Don't think so. We're building a dynpmc. | 22:01 | |
| particle- | sorry, you want to define constants in pir at runtime, while building a dynpmc? | 22:02 | |
| that makes no sense. | 22:03 | ||
| purl | Chewbacca! | ||
| Infinoid | I think pir constants are handled at the parser level, not the vm level | ||
| particle- | so eval them! | 22:04 | |
| darbelo | I want to do: $P0.'set_rounding_mode'(.CONSTANT) | ||
| Or maybe I'll just use strings. | |||
|
22:04
tewk joined
|
|||
| particle- | see the open modes in the io pdd | 22:04 | |
| darbelo | Saw them. They're defined in a pasm file. I can generate that from the headers, but can't load it. Or can I? | 22:06 | |
| particle- | huh? | ||
| it's there to be loaded. | 22:07 | ||
| .include | |||
| purl | hmmm... .include is like if you'd just copy and pasted the code from the other file where the .include is. | ||
| cotto | right, but the dynpmc doesn't have any pir or pasm, unless there's a way to make sure such code is loaded at the right time | ||
| Infinoid | maybe it should ship with a bit of pir or pasm which defines the constants *and* loads the dynpmc, so users just include that to get the feature? | 22:09 | |
| (feel free to ignore me, I have no clue how dynpmcs work.) | |||
| cotto | It'd be nice if loadlib could take care of that | 22:10 | |
| particle- | i don't understand. all the examples i've seen are pir code. | ||
| do you want to use these constants in c code? | |||
| cotto | .loadlib | ||
| Infinoid | I'm suggesting maybe the primary interface to get the decnum feature should be .include, not loadlib | 22:11 | |
| cotto | I think he wants them to be defined in PIR/PASM so that PIR-level .FOO_CONFIG is the same as C-level FOO_CONFIG | ||
|
22:11
gryphon joined
|
|||
| particle- | well, for that, you define them in a header file and config generates pasm files from it | 22:11 | |
| then they're available in c and pir/pasm | 22:12 | ||
| darbelo | particle: Also, we're developing out-of tree. We don't have access to anything not installed with parrot. | 22:13 | |
| But I'm liking Infinoids idea. ".include decnum" loadlibs us and defines our constants. | 22:14 | ||
| allison | hmmm... .include means you get a complete copy of the code everywhere it's used | 22:16 | |
| not exactly efficient | |||
| cotto | What if .loadlib looked for appropriately-named pir or pasm files and .included those? | 22:17 | |
| particle- | what's wrong with two statements? | 22:19 | |
| darbelo | The user has to type them both :) Looks less magical. | ||
| cotto | too much work | ||
| particle- | it's an assembler. | 22:20 | |
| create a dynop, if you want a fix. | |||
| then load the dynop lib, so you can load the dynpmc lib in one line :) | 22:21 | ||
| cotto | sounds magically delicious | 22:22 | |
| particle- heads to nyc | 22:23 | ||
| darbelo | Too much work for a throwaway prototype. I'm going with strings. Once we decide on the semanitcs of contexts we can revisit this. | 22:24 | |
| cotto | sounds like a good decision until you know which route you'll go for certain | 22:25 | |
|
22:29
TonyC joined
|
|||
| darbelo | It's temporary. Doing string compares, the way to efficiency, is not. | 22:30 | |
|
22:31
nopaste joined
|
|||
| dalek | rrot: r38497 | pmichaud++ | trunk/compilers/pct/src/PCT/HLLCompiler.pir: [pct]: Fix PCT to evaluate program result for definedness instead of truth. |
22:34 | |
|
22:51
amoc joined
22:53
kid51 joined
23:31
bsdz joined
|
|||
| nopaste | "jonathan" at 85.216.157.73 pasted "example code for pmichaud" (30 lines) at nopaste.snit.ch/16479 | 23:40 | |