|
www.parrot.org/ | Parrot 1.4.0 "Mundo Cani" Released! | For 1.5: Remove Deprecated Features | Planet Parrot planet.parrotcode.org/ Set by moderator on 4 August 2009. |
|||
| chromatic | twiki.cern.ch/twiki/bin/view/Atlas/UsingPahole | 00:04 | |
|
00:04
patspam joined
|
|||
| mikehh | All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40480 - Ubuntu 9.04 amd64 | 00:09 | |
| l3t0 | mikehh: do you ever run smolder_test ? | 00:12 | |
| i.e. "make smolder_test" ? | |||
| mikeh:: you may need to install TAP::Archive | 00:16 | ||
| mikehh | yes every run | 00:27 | |
| my ful runsats with make realclean, svn update, perl Configure (with options), make world, make html, make smoke (same as smolder) make nqp_test, make fulltest | 00:29 | ||
| full run starts | 00:30 | ||
| rakudo (af3efaf) builds on parrot r40480 make test/make spectest (up to 27955) PASS - Ubuntu 9.04 amd64 | 00:32 | ||
|
00:32
tetragon joined
|
|||
| dalek | rdinal: cc92ac9 | treed++ | t/array/nitems (2 files): Rename nitems to give it the proper extension. |
00:33 | |
| mikehh | l3to: this last run generated smolder.plusthree.com/app/public_pr...ails/26023 | 00:35 | |
| I actually ran perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace | 00:36 | ||
| make world 2>&1 | tee make_world.40480.g++.amd64.log | 00:37 | ||
| and make -k fulltest TEST_JOBS=5 2>&1 | tee fulltest.40480.g++.amd64.log | 00:38 | ||
| I also do tests with gcc and on amd64 and i386 | 00:39 | ||
| kid51 | When it comes to smoke testing, mikehh leaves everyone else behind in the dust! | 00:40 | |
| mikehh | I am trying to set up a virtual machine so I can include some other testing platforms - but am having a few problem,s at the moment | 00:42 | |
| kid51 | mikehh: That will be very helpful. | 00:44 | |
| mikehh | mainly related to a wireless connection | ||
| l3t0 | mikehh: sounds like you are on the ball. might not be a bad thing for you to document your smoking practices on the wiki | 01:05 | |
| l3t0 is deleting dead svn branches on github, should only be left with active svn branches in a few minutes | |||
| chromatic | active branches and kittens | ||
| Whiteknight | I'm so close on this stupid lazy GC patch | 01:13 | |
| chromatic | Ah, you can get to it later. | 01:14 | |
| When you need it. | |||
| Whiteknight | last time I forgot about the stupid pmc_ext pool, it apparently uses the same allocator as PObjs | 01:24 | |
| but none of the other pool routines are the same | |||
| I am getting close though. I get all the way up to building PGE before it segfaults | 01:27 | ||
| and I think I know why | |||
| unfortunately, that "why" is because the string compactor is shitty | 01:30 | ||
| dukeleto | sweet! it looks like there are only the currently active svn branches in github now. | 01:31 | |
| this is kinda funny: github.com/leto/parrot/graphs/languages , perhaps we can get the github guys to add Parrot as a language ? | |||
| which would match *.pir, *.pbc and *.pasm | |||
|
01:33
mokurai left
01:41
rhr joined
01:55
darbelo left
02:17
TiMBuS joined
02:20
Andy joined
02:35
janus joined
03:03
japhb joined
03:20
donaldh joined
03:43
dukeleto joined
|
|||
| dalek | kudo: 11a2934 | (Kyle Hasselbacher)++ | docs/release_guide.pod: [release_guide] Volunteer to do the next release |
03:45 | |
|
04:14
mokurai joined
04:22
dukeleto joined
04:50
eternaleye joined
|
|||
| dukeleto | 'ello | 04:59 | |
|
05:01
eternaleye joined
|
|||
| cotto | 'i | 05:02 | |
| 'ow you doin' | |||
| dukeleto | cotto: fuggettaboutit | 05:04 | |
| dukeleto is pondering why obscure.ops exists, but writing tests anyway | |||
| cotto | it's obscure | 05:05 | |
| dukeleto | ba dump bump | 05:06 | |
| i have read thousands of math papers and I have never seen these functions used. they are truly obscure | 05:07 | ||
| does parrot have a builtin constant for pi or do I need to use a trig function to get it? | 05:21 | ||
| cotto | There doesn't appear to be a readily available constant. | 05:26 | |
| dukeleto | would there be interest in that? 4*atan(1,1) is fine for me, but what about new users? | 05:32 | |
|
05:33
mokurai joined
05:38
MinorToken joined
|
|||
| cotto | It seems like a fairly obvious and simple addition. | 05:40 | |
| dukeleto | is there a standard naming convention for constants? would it live in a namespace or be global-but-imported ? | 05:45 | |
| cotto | no idea | 05:46 | |
|
05:48
uniejo joined
|
|||
| dukeleto | yay for deleting copy-pasta | 05:51 | |
|
06:07
TonyC joined
|
|||
| dalek | rrot: r40481 | dukeleto++ | trunk (7 files): [TT #819] Add tests to obscure.ops, un-TODO the related codingstd test and refactor fp_eq_ok into fp_equality.pasm |
06:11 | |
|
06:14
nopaste joined
|
|||
| dalek | rrot: r40482 | NotFound++ | branches/auto_attrs/src/pmc/string.pmc: set auto_attrs on the String PMC |
06:57 | |
|
07:00
szabgab joined
|
|||
| szabgab | chromatic, ping # sdl | 07:14 | |
| dalek | rrot: r40483 | dukeleto++ | trunk/t/dynoplibs/obscure.t: [TT #819] Convert obscure.t to PIR, add more tests |
||
|
07:20
donaldh joined
|
|||
| dalek | TT #819 closed by dukeleto++: obscure.ops need tests | 07:34 | |
| rrot: r40484 | dukeleto++ | trunk (2 files): [TT #819] Add tests for exsec and hav opcodes |
|||
| chromatic | pong | 07:36 | |
| GeJ | Hum... Shlomi Fish is aiming at a TPF grant to port ctypes to Perl, with reference to Parrot in his proposal. | 07:40 | |
| would that replace NCI? | 07:41 | ||
| chromatic | Not in Parrot. | ||
| dalek | rrot: r40485 | NotFound++ | branches/auto_attrs/src/pmc (6 files): set auto_attrs on Float, Role and iterators PMCs |
||
| szabgab | chromatic, can you give me commit bit on the sdl part of the svn.perl.org ? | ||
| chromatic | I can ask webmaster@perl.org. | 07:42 | |
| If you've checked out the code from SVN, you can send me a patch and I can update it directly too. | |||
| szabgab | I am sending it now, please ask the webmaster@ to give me commit bit then, my user is 'gabor' there | 07:43 | |
| chromatic | Requested. | 07:44 | |
| szabgab | patch sent, it is really simple just to get the date to be that of todays | 07:45 | |
| chromatic | Hm, maybe I don't have commit access there. | 07:52 | |
| I just sent the patch to webmaster@ which has worked before. | 07:54 | ||
| dalek | rrot: r40486 | NotFound++ | branches/auto_attrs (5 files): fix several codingstd |
07:58 | |
| rrot: r40487 | NotFound++ | branches/auto_attrs (75 files): merge from trunk r40486 |
08:05 | ||
| tracwiki: v3 | trac++ | TracAdmin | 08:17 | ||
| tracwiki: trac.parrot.org/parrot/wiki/TracAd...ction=diff | |||
| tracwiki: v3 | trac++ | TracUpgrade | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracUp...ction=diff | |||
| tracwiki: v3 | trac++ | TracSyntaxColoring | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracSy...ction=diff | |||
| tracwiki: v3 | trac++ | TracLinks | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracLi...ction=diff | |||
| tracwiki: v2 | trac++ | TracNavigation | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracNa...ction=diff | |||
| tracwiki: v3 | trac++ | TracBrowser | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracBr...ction=diff | |||
| tracwiki: v2 | trac++ | TracModWSGI | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracMo...ction=diff | |||
| tracwiki: v3 | trac++ | TracPlugins | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracPl...ction=diff | |||
| tracwiki: v2 | trac++ | TracWorkflow | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracWo...ction=diff | 08:18 | ||
| tracwiki: v3 | trac++ | TracEnvironment | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracEn...ction=diff | |||
| tracwiki: v3 | trac++ | TracRoadmap | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracRo...ction=diff | |||
| tracwiki: v3 | trac++ | TracNotification | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracNo...ction=diff | |||
| tracwiki: v3 | trac++ | TracInterfaceCustomization | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracIn...ction=diff | |||
| tracwiki: v3 | trac++ | TracFastCgi | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracFa...ction=diff | |||
| tracwiki: v3 | trac++ | TracModPython | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracMo...ction=diff | |||
| tracwiki: v3 | trac++ | TracInstall | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracIn...ction=diff | |||
| tracwiki: v3 | trac++ | TracTicketsCustomFields | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracTi...ction=diff | |||
| tracwiki: v3 | trac++ | TracPermissions | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracPe...ction=diff | |||
| tracwiki: v4 | trac++ | SandBox | |||
| tracwiki: trac.parrot.org/parrot/wiki/SandBo...ction=diff | |||
| tracwiki: v3 | trac++ | WikiRestructuredTextLinks | |||
| tracwiki: trac.parrot.org/parrot/wiki/WikiRe...ction=diff | |||
| tracwiki: v3 | trac++ | WikiRestructuredText | |||
| tracwiki: trac.parrot.org/parrot/wiki/WikiRe...ction=diff | |||
| tracwiki: v3 | trac++ | TracStandalone | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracSt...ction=diff | |||
| tracwiki: v3 | trac++ | TracTickets | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracTi...ction=diff | |||
| tracwiki: v3 | trac++ | TracCgi | |||
| tracwiki: trac.parrot.org/parrot/wiki/TracCg...ction=diff | |||
| cotto | Those obscure ops really live up to the name. | 08:26 | |
|
08:35
masak joined
08:37
payload joined
08:40
cotto joined
08:41
HG` joined
09:02
payload1 joined
09:19
MoC joined
09:20
krunen joined
09:21
cghene joined
09:26
nopaste joined
09:43
cotto joined
09:44
donaldh joined
09:46
TonyC joined
09:57
donaldh1 joined
10:00
bacek joined
10:58
bkuhn joined
|
|||
| dalek | rrot: r40488 | NotFound++ | branches/auto_attrs/src/pmc (2 files): set auto_attrs on FileHandle and StringHandle PMCs |
11:15 | |
|
11:19
dalek joined
11:20
kid51 joined
11:21
donaldh joined
11:44
quek joined
11:46
payload joined
11:50
NotFound joined
12:01
HG` joined
12:09
whiteknight joined
|
|||
| whiteknight | good morning #parrot | 12:10 | |
| cono | morning | 12:11 | |
| Infinoid | hi :) | 12:12 | |
| whiteknight | hello Infinoid. I tried to get in touch with you this weekend but I guess you were busy | 12:13 | |
| dalek | rrot: r40489 | NotFound++ | branches/auto_attrs/src/pmc/key.pmc: set auto_attrs on Key PMC |
12:15 | |
|
12:16
Andy joined
|
|||
| Infinoid | whiteknight: Yeah, sorry. I was in Ithica, helping a friend move | 12:17 | |
| whiteknight | it happens | ||
| moritz | Ithica sounds like Greece | ||
| whiteknight | I got a lot of work done on another project I've been avoiding, so that was good | ||
| NotFound | whiteknight: Have you done some benchmarking of the fixed size allocators? | ||
| Infinoid | cool | ||
| whiteknight | NotFound: none at all | ||
| Infinoid | I'm still vaguely hoping a weekend will happen sometime soon :) | ||
| whiteknight | This weekend was the perfect storm for me because my wife's family was in town and she had a bridal shower, so she was busy all weekend and I was on my own | 12:18 | |
| NotFound | whiteknight: I have the subjective impression that the auto_attrs branch improve speed, but no data to confirm it. | 12:19 | |
| whiteknight | yeah, we need data. I'm not good at benchmarking, but I will see if I can generate any numbers | 12:20 | |
| NotFound: what rev did you merge the branch in? | |||
| NotFound | r40486 was the last merge from trunk | 12:21 | |
| whiteknight | oh, the branch hasn't been merged into trunk? | ||
| NotFound | I'm waiting for #ps | 12:22 | |
| whiteknight | Infinoid: you have any ability to do some quick benchmarks today? | 12:28 | |
| Infinoid | after work, yes | 12:31 | |
| by "benchmarks" you mean "time for SEQ in `seq 1 100`; do ./parrot foo; done"? | 12:32 | ||
| whiteknight | is that how it's done? | ||
| Infinoid | it's as good a way as any | ||
| whiteknight is a benchmarking newbie, and needs a crash course eventually | |||
| Infinoid | I guess it depends on what you're benchmarking. | ||
| whiteknight | the auto_attrs branch streamlines the way PMCs are allocated, so I guess we want something that puts a lot of pressure on the GC | 12:33 | |
|
12:33
bacek joined
|
|||
| Infinoid | ok, perhaps choose a random object-heavy file from examples/ and run parrot on that, timing the result | 12:33 | |
| I tend to run 10 or 100 times to reduce the effects of scheduling randomness | |||
| but if you make a hundred billion objects, you can probably just run it once and it won't matter as much | 12:34 | ||
| moritz | run rakudo's 'make spectest' on both setups | 12:35 | |
| NotFound | A lot of basic types have already the auto flag, so almost anything will benchmark it. | ||
| moritz | it's as close as you can get to a real-world benchmark | ||
| NotFound | moritz: I can't run rakudo spectest enough times to make something statistically significative. | 12:36 | |
| I can't even grant that the system load is more or less constant during just one run. | 12:37 | ||
| moritz | hm, that's a fair point | 12:38 | |
|
12:53
ruoso joined
|
|||
| dalek | rrot: r40490 | NotFound++ | branches/auto_attrs/src/pmc (2 files): set auto_attrs on Task and Timer PMCs |
13:38 | |
| Coke | l3t0: instead of perpetuating the $N in a macro, you should use macro-local vars. | 13:51 | |
| also dukeleto | 13:57 | ||
|
14:01
TiMBuS joined
14:04
ComLock joined
14:05
ash_ joined
14:09
Andy joined
|
|||
| Coke | wow, this talk of extended comments is just really ugly. | 14:20 | |
| I would be merciless to someone who committed code like: $object\\#+{ extended comments }.say; | 14:21 | ||
| what is SO important that you can't wait 5 characters to say it? | |||
| whiteknight | The problem has more to do with commenting out lines of existing code | 14:24 | |
| which accidentally turns lines that did start with { into multilne comments | |||
| PerlJam | whiteknight: I don't know ... if I'm commenting out a {, it's likely that I really do want to comment out the entire block and if not, what's so hard about typing "# " ? | 14:31 | |
| whiteknight | hey, I don't want to get involved in this mess of a discussion, just sharing what I know | 14:32 | |
| Coke | whiteknight: I understand that problem. embedded comments are still ugly. | ||
| whiteknight votes for /* */ | |||
| Coke | I have yet to see an example of using embedded comments that actually helped anything, and /* */ is not a bad idea. =-) | ||
| whiteknight | well, it is a bad idea if the whole comment gets passed to the regex engine | ||
| :) | 14:33 | ||
| dalek | kudo: 8d7fc7d | moritz++ | docs/ChangeLog: [docs] updated ChangeLog. Corrections welcome |
||
| whiteknight | Maybe #/* */# | ||
| or better yet, #{/* */}# | |||
| PerlJam | the bikeshed is quickly becoming multi-colored :) | ||
| whiteknight | so perfect, I don't know why nobody thought about it before | ||
| Coke wonders if // is even how you invoke the rules engine anymore. | 14:37 | ||
| moritz | it is a way, yes | 14:38 | |
| Coke wonders how recent a version of git he needs for 'git svn' | 14:47 | ||
| PerlJam | 1.5.6 has it, but i'd get 1.6.something as there have been lots of improvements. | 14:50 | |
| Coke | I have 1.6.4. no love. | ||
| PerlJam | What OS? there may be a separate package for git-svn | 14:51 | |
| nopaste | "coke" at 72.228.52.192 pasted "no love" (8 lines) at nopaste.snit.ch/17515 | ||
| Coke | PerlJam: os x. using macports. there is no git-svn package. | ||
| PerlJam | weird. | ||
| Coke | www.macports.org/ports.php?by=name&...substr=git | 14:52 | |
| ash_ | git svn isn't included by default | ||
| Coke | ah. there's an svn /variant/ of that. wonder how to install it. | ||
| ash_ | sudo port install git-core +svn | ||
| <-- on a mac | |||
| Coke | +1 | 14:53 | |
| purl | 1 | ||
| ash_ | can dynpmc's have multiple inheritance? | ||
| Coke | I think MI was removed. | 14:54 | |
| tcl used to do that, though. | |||
| (but tcl was only using it to avoid some minor code duplication) | |||
| ash_++ | |||
| Coke sees a bash_completion variant also and gives that a try. | 14:56 | ||
| ash_ | do you have bash_completion? i hate it in OS X its so slow, it makes opening new bash windows super slow, (if you want it there is a way to make it automattically be turned on if a port has it) | 14:57 | |
| Coke | ash_: no, hadn't enabled it for anything explicitly for ports before. | 14:58 | |
| ash_ | there is a main bash_completion port you'd need for that variant to do anything | 15:01 | |
| Coke | one would think that it would be a requirement of the variant. | 15:03 | |
| ash_ | it is, it will install it if you set the flag | ||
| macport's is fairly smart, not perfect, but i like it | 15:04 | ||
| if you add "+bash_completion" (no quotes) to /opt/local/etc/macports/variants.conf it will always install the bash completion if available | 15:07 | ||
| its not bad, it was just really slow on my computer so i turned it off, you might have better luck though | 15:08 | ||
| dukeleto | Coke: are you talking about in fp_eq_ok ? | 15:09 | |
| Coke | dukeleto: yup. | 15:10 | |
| I know you just copied the existing macro, but there's a better way to write that. | |||
| (the pir book doesn't cover macros?) | 15:11 | ||
| dukeleto | Coke: i refactored copy-pasta into one place, actually. But yes, I will attempt to fix that. It was actually the first time I touched a PIR macro | ||
| Coke | dukeleto: ah. nevermind. | ||
| =head4 Unique local variables | |||
| B<Note: this is not yet implemented in IMCC>. | |||
| might be worth bumping those numbers up to $N9999 or something, though, to make it less likely. =-) | 15:12 | ||
| dukeleto | hmmm, that sounds distinctly hackish | ||
| Coke | hurm. | ||
| it says that it's not supported, but the snippet after it indicates it is valid pir. | |||
| worth giving a shot, anyway. | 15:13 | ||
| .macro_local int b | |||
| # ... | |||
| .b = 42 | |||
| (if that does work, please update PDD19 to remove the "NYI") | |||
| dukeleto | Coke: so it seems that .macro_local needs tests as well, then | ||
| Coke | yes, whether it works or not, tests good. | 15:15 | |
| dukeleto++ | |||
| (there is a test in that pod, but only that it compiles, not that it works.) | |||
| ash_: macports just installed a TON of dependent modules for the git-svn and bash_completion, and THEN told me it couldn't install git-core because there was already another verison installed. =-) | 15:16 | ||
| ash_ | yup, thats one of the things that annoys me about it too, it won't automattically upgrade | 15:17 | |
| it sees that as conflicting ports, not an upgrade (with new variants) | |||
| Coke | if it was going to fail, should have failed up front. | ||
| easy enough to work around. | 15:18 | ||
| ash_ | yeah, like i said, its not perfect, but it works | ||
| just uninstall (if you have any git dependencies you'll need to force it) | |||
| Coke | I just deactivated it. | ||
| ash_ | if your on OS X, i'd get gitx also | ||
| Coke | trac.parrot.org/parrot/wiki/git-svn-tutorial seems to want a 'git svn rebase' after the first line there. | ||
| ash_: it's only for 10.5 | 15:20 | ||
|
15:21
donaldh joined
|
|||
| ash_ | really? thats stinks, i didn't know that, its a really good tool for seeing a visual of whats going on in git... have you tried installing it from macports? it doesn't like darwin 9 as platform requirement | 15:21 | |
| Coke | I just did. | 15:22 | |
| that's where I got the 10.5 requirement notice. =-) | |||
| ash_ | yeah, just saw it in the port file, well that stinks | 15:23 | |
| there is still gitk though if you want something thats similar | 15:26 | ||
| dukeleto | Coke: there is always gitk | ||
| where should tests for fp_equality.pasm go? | |||
| dalek | tracwiki: v15 | coke++ | git-svn-tutorial | 15:27 | |
| tracwiki: trac.parrot.org/parrot/wiki/git-sv...ction=diff | |||
| Coke | dukeleto: t/library ? | 15:29 | |
| dukeleto | fp_equality.pasm lives in runtime, you sure? | 15:30 | |
| Coke | so does our stdlib. | ||
| you can move the t/library around a bit to compensate if you like. | 15:31 | ||
| (if you want to make it mirror the directory structure of the stuff in runtime/parrot/{library,include, etc.} | |||
|
15:34
davidfetter joined
|
|||
| dalek | rrot: r40491 | NotFound++ | branches/auto_attrs/src/pmc/schedulermessage.pmc: set auto_attrs on SchedulerMessage PMC |
15:38 | |
| Coke | seen packy? | 15:45 | |
| purl | packy was last seen on #parrot 6 days, 22 hours, 7 minutes and 5 seconds ago, saying: I've got some info on branching I could add, but IME git branching is less collaborative when everybody's communicating through a SVN back end. [Aug 4 17:31:56 2009] | ||
|
15:45
rdice joined
|
|||
| ash_ | so, i was going to try to look into getting super (or a super like functionality) work in PMC objects, i was told there was an implementation that was made during around the 1.0 release (i found it from the repo) and was hoping to talk to some people that have worked a bit more with parrot about it | 15:52 | |
| dalek | rdinal: a82e961 | (Danius Michaelides)++ | t/array/nitems.t: Remove whitespace that seems to be causing a parse error. |
15:53 | |
| Coke | ash_: what's the question? | 15:59 | |
| purl | somebody said the question was how a _separate_ package could help with the install | ||
| Coke | purl: no, the question is <reply>What's Six times Nine? | 16:00 | |
| purl | coke: i don't know | ||
| ash_ | well, the implementation from the repo (pre-1.0) has a super object you'd have to instantiate, then call, which seems odd to me, you could do it like python or like C++ though, really i was wondering what people would feel is more appropriate to parrot, its really a question of calling semantics | 16:02 | |
| Coke | pre-1.0 is ancient. | 16:03 | |
| don't use that. =-) | |||
| ash_ | i know i was just referencing it to see what direction you guys were going in originally | ||
| Coke | I wouldn't worry about that. | ||
| a lot of stuff in parrot was historically done as a placeholder implementation; doesn't mean anyone today thinks it's the right way to go. | 16:04 | ||
| I personally don't think having a Super pmc was a good idea. =-) | 16:05 | ||
| ash_ | yeah that seemed odd, i would imagine it would be nice to build it into the basic object | 16:06 | |
| are you familiar with C++'s way of calling it vs pythons way? | 16:07 | ||
| Coke | nope. | ||
| dalek | rrot: r40492 | NotFound++ | branches/auto_attrs/src/pmc/scheduler.pmc: set auto_attrs on Scheduler PMC |
16:10 | |
| ash_ | in python you do super(ParentClass, self).method() (i personally think its odd that you have to have self but thats fine) then in C++ you would directly call ParentClass::method() if your inside a class method, or if your outside a class method you can cast the object to its parent class and call it that way | 16:11 | |
| ah, python's super can be called from anywhere, thats why you have to pass it 'self' | 16:13 | ||
| the nice aspect of C++'s way of doing it is you have to be explicity, there is no MRO involved | 16:16 | ||
| however, i can see where there would be times when you'd want to rely on MRO (like if your dynamiclly changing a class at runtime) | 16:17 | ||
| particle | dynamic? c++? | ||
| *cough* | |||
| ash_ | C++ doesn't have any sort of MRO, it has to be explicitly defined | 16:18 | |
| particle | 3250/242218 | 16:20 | |
| purl | 0.0134176650785656 | ||
| ash_ | do you think it would be better for parrot's super to be able to handle both cases? | 16:22 | |
| anyone have any comments? | 16:50 | ||
| NotFound | ash_: /* */ | 16:52 | |
| ash_ | hehe, i c wut u did thar | ||
| particle | coke: were you born on a friday? | 17:05 | |
|
17:06
mikehh joined
|
|||
| Coke | particle: no | 17:07 | |
| why? | |||
|
17:08
gaz_ joined
|
|||
| particle | you, me, and pmichaud all have birthdays this week | 17:11 | |
| and he and i were born on fridays | |||
| Coke | so does my daughter. she was. | 17:12 | |
| japhb | particle: and mine, my cousin's, and a friend from a mile away are all on the same day next week. | ||
| PerlJam | Coke: Happy birthday! (for when I forget on your actual birthday) | ||
| japhb | Happy {early,belated} Birthday to All! | ||
| Coke | right back atcha. | 17:13 | |
| particle | today is my first unbirthday as a 36 year-old | ||
|
17:17
hercynium joined
|
|||
| Coke | young bastid. | 17:19 | |
| Infinoid | Mine is today. :) | 17:20 | |
| moderator | HAPPY BIRTHDAY #PARROT! | www.parrot.org/ | 1.4.0 | For 1.5: Remove Deprecated Features | planet.parrotcode.org/ | 17:21 | |
|
17:22
mokurai joined
|
|||
| whiteknight | Infinoid: today is your birthday? | 17:24 | |
|
17:25
gaz joined
17:27
quek left
17:28
quek joined
|
|||
| particle | Infinoid: happy birthday! | 17:29 | |
| purl | for (('to you', 'dear '.shift)[0,0,1,0]) { print "Happy birthday $_" } | ||
| particle | i find it curious that there are parrot committers with aug 10,11,13,14 birthdays | 17:30 | |
|
17:30
gaz joined
|
|||
| particle | anyone for 12? | 17:30 | |
| treed is in september; no dice. | 17:33 | ||
|
17:34
Patterner joined
|
|||
| Coke sets up git-svn on feather, and then clones that back to his os x box. | 17:34 | ||
| Coke wonders how this is gonna work. | |||
| moritz | Coke: cloning a git repo looses the git-svn meta data | 17:35 | |
| Coke: which is why I transport git-svn packages as tarballs | |||
| Coke | moritz: seems to beat having 2 independant git-svn checkouts. | 17:36 | |
| "independent" | |||
| l3t0 | moritz: yeah, git-svn is finicky like that | 17:37 | |
| Coke | there shouldn't be problems if I do svn -> git -> git ; if I just treat the last clone as a regular git checkout and just commit/push/pull from there, neh? | 17:39 | |
| moritz | Coke: agreed | ||
| whiteknight | particle: no 12, I'm 11 too though :) | 17:47 | |
| particle | whiteknight: today? | ||
| purl | well, today is pretty close to planting day | ||
| whiteknight | today | ||
| Coke | small world. | ||
| purl | ... but I wouldn't want to paint it. | ||
| PerlJam | japhb++ aviary | 17:48 | |
| particle | happy birthday! | ||
| purl | for (('to you', 'dear '.shift)[0,0,1,0]) { print "Happy birthday $_" } | ||
| particle | criminy. | ||
| whiteknight hopes you brought enough cake for everybody | |||
| Coke | we're going to the cheesecake factory on thursday for my daughter. Think I'll convince them to do sushi on friday for me. | 17:49 | |
| mikehh | dukeleto: ping | 17:50 | |
| japhb | I'm doing a combined birthday this weekend for myself and two of my kids. Each gets their own desert, so there will be two completely different cakes plus copious ice cream. And it will be a small party. So I'll have some to share. :-) | 17:53 | |
| whiteknight | japhb: ...and where do you live? | 17:56 | |
| mikehh | t/dynoplibs/obscure.t is FAILing distro_tests and corresponding tests in codetest | ||
| Coke | seen allison? | ||
| purl | allison was last seen on #parrot 3 days, 17 hours, 54 minutes and 30 seconds ago, saying: japhb: I'm comfortable with collecting module metadata rather than building our own distribution system [Aug 7 23:56:11 2009] | ||
| japhb | whiteknight: Beautiful Sonoma County, California. | ||
| Coke | dukeleto: that's probably you and is probably fixable by running tools/*/mk_mani* | 17:57 | |
| whiteknight | so I guess I won't be stopping by for cake | ||
|
17:57
quek left
|
|||
| allison | Coke: I'm lurking | 17:58 | |
| l3t0 | mikehh: pong | 17:59 | |
| Coke: they don't work from git-svn, so I have to commit first, then run them in an svn tree | 18:00 | ||
| Coke | code.google.com/p/partcl/issues/detail?id=80 - we're covered by the switch to PaFo, neh? | ||
| allison: (so we can change all the copyrights to PaFo, and require a parrot CLA for commiters) | 18:01 | ||
| allison | Coke: yes, you're covered by the switch to PaFo | ||
| Coke: so, you can change the copyright and require CLA | |||
| Coke: and, if you ever want copyright assigned to another entity, it's straightforward | 18:02 | ||
| Coke | Ok. | ||
| l3t0 | mikehh: looking into it now | 18:05 | |
| mikehh | l3to: you need to set the svn properties for t/dynoplibs/obscure.t | ||
| Coke | hurm. on my git clone of git-svn, I did a commit and a push; now my git-svn is fubar. | ||
| (cannot dcommit with a dirty index). | 18:06 | ||
| l3t0 | Coke: did you do "git svn rebase" ? | 18:07 | |
| and what does git status -a say? | |||
| Coke | git status -a : shows the push from the git clone. | 18:08 | |
| how do I say "yes, apply that to my local git repo" ? | 18:09 | ||
|
18:09
payload joined
|
|||
| l3t0 | can you pastebin what "git status -a" is? git rebase is bascially "git svn fetch && git merge svn/trunk", which should be what you want | 18:10 | |
| nopaste | "coke" at 72.228.52.192 pasted "leto" (10 lines) at nopaste.snit.ch/17517 | ||
| Coke | that's after doing a git commit/git push on the downstream git repo. | 18:11 | |
| l3t0 | mikehh: r40484 is passing codingstd_tests for me, can you pastebin your output? | ||
| coke: so tools/tcl_cvs.pl | 18:12 | ||
| ... | |||
| dalek | kudo: 1d75a78 | pmichaud++ | src/ (2 files): Embedded comments now require backticks. |
||
| l3t0 | stays modified even if you commit it? | ||
| Coke | so if I do a push from a downstream clone, it just updates the repo on the upstream? | 18:13 | |
| (as if I had edited it by hand?) | |||
| l3t0 | Coke: hard to say without knowing what commands you typed and what your .git/config looks like | ||
| Coke | I have no .git/config. (I have a .gitconfig) | 18:14 | |
| downstream I did "git clone <upstream>". edited a file, did a 'git commit -a', then 'git push'. | |||
| upstream (which is a git-svn clone, done using the example on trac). | |||
| l3t0 | hmmm | 18:17 | |
| dalek | rrot: r40493 | NotFound++ | branches/auto_attrs/src/pmc/capture.pmc: set auto_attrs on Capture PMC |
||
| Coke | my working copy of tools/tcl_cvs.pl in the git-svn checkout has the change, git log shows the commit, but git diff --name-status shows the file as modified. | ||
| (git log in /both/ the downstream and the upstream.) | |||
| l3t0 | I don't know if I have tried that workflow yet. I usually commit from my git-svn clone to the parrot svn repo, or from my github mirror back to github | 18:18 | |
| Coke: that is odd | |||
| ash_ | in pir code are there ever any cases where you have to say obj.'somethingelse'.'method'() | ||
| Coke | (@#*&$#@. | 18:19 | |
| ash_ | did you mess up a git command? | ||
| Coke | the git log shows the right thing in both places; the git-svn repo is updated, but my local copy on the upstream is the OLD version, not the new version. | ||
| so I need to first update the upstream repo to get all the pushed commits from downstream. | 18:20 | ||
| how do I do that? | |||
| ash_ | where is the downstream repo pushing to? | 18:21 | |
| Coke | my git-svn repo. | 18:22 | |
| (a) svn -> (b) git-svn clone of (a) -> (c) git clone of (b) | |||
| on c, I did commit/push. | |||
| ash_ | and b is not up to date? | 18:23 | |
| Coke | no. | ||
| log shows it, but the dir doesn't. | |||
| s/dir/working copy/ | 18:24 | ||
| nopaste | "mikehh" at 90.209.117.249 pasted "distro_tests, codetestr failures for t/dynoplibs/obscure.t at r40492" (42 lines) at nopaste.snit.ch/17518 | 18:26 | |
| Coke | if leto's running in a git-svn checkout, he's not going to see the svn keywords tests. | ||
| (I figured it was a manfiest error) | 18:27 | ||
| ash_: I can do a 'git checkout tools/tcl_cvs.pl' - but that will throw out any local changes I have. | |||
| (I don't have any right now.) | |||
| ash_ | thats a hard reset, to force it back to the original copy in the git-repo | 18:28 | |
| Coke | I suppose I should have a git-svn that I don't use as a working copy, and then a git clone on both machiens. | ||
| ash_: I just want 'svn update'. =-) | |||
| ash_ | git-svn rebase didn't do that properly? | ||
| i don't know git-svn very well... i am pretty comfortable with git but not git-svn | 18:29 | ||
| Coke | I can't run that. | ||
| (because that file is considered modified.) | |||
| particle | japhb: is it time to move your draft to a wiki or committed pod file, so others can contribute better? | ||
| japhb | particle: I was going to bring that up in #ps, but my personal opinion is 'yes' | 18:30 | |
| ash_ | do a git-reset --hard HEAD and it will reset your working directory to your last checkout | ||
| particle | that's my opinion, to. jfdi! | 18:31 | |
| Coke | I think intead of SVN -> GIT-SVN (a) -> GIT (b), I'm going to want SVN -> GIT-SVN(a) -> GIT (a), GIT(b) | ||
| ash_ | sounds complicated | 18:32 | |
| Coke | yah, that's pretty much how I feel about git. | ||
| particle | yep | 18:33 | |
| ash_ | git by itself isn't bad, once your familiar with the commands, but this fancy git-svn stuff is not my cup of tea, i just use plain old git | ||
| particle | git makes me feel like every problem can be solved by one more layer of complications | ||
| l3t0 | particle: or three ;) | 18:34 | |
| whiteknight | #ps in now? | ||
| japhb | git-svn is essentially an attempt to hack around damage, just like SVK was in its day. Unfortunately, non-D VCS is just a little too damaged. ;-) | ||
| l3t0 | i have heard that git-svn is like shooting rockets through a pea-shooter | 18:35 | |
| japhb | mmmm, potato cannon | 18:36 | |
| ash_ | Coke: git-reset can undo your changes, if you need to keep any of them but you don't want to commit then you can do git-stash, but what i do normally is branch, finish up my changes, then merge the branch into the master, it keeps things much more simple | ||
| Coke | if I do a git stash, rebase, and then reapply the stash, it looks like I'm trying to undo the change. | 18:37 | |
| which I'm not. | |||
| ash_ | then do a git-reset --hard that will reset all the stuff to the last commit, this will cause you to loose changes so be careful | 18:39 | |
| not that in your current situation you have changes, but for future reference, it will not keep your changes if you have any | |||
| Coke | ash_: I hear you. that is not what I want, and I've already changed my checkout topology to avoid the issue in the future. | ||
| ash_ | ah, got ya | 18:40 | |
| is there a use-case in PIR code where you would have to say obj.'something'.'something'() ? | 18:41 | ||
| particle | you can't do that in pir | 18:42 | |
| japhb | ash_: AFAIK, that's not reasonable to do | ||
| particle | just like you can't do $I0 = 4 + 3 + 5 - 6 | ||
| ash_ | well i am curious for the case of calling parent class methods | ||
| particle | that's what the Super PMC is/was for | 18:43 | |
| ash_ | i was wondering if that syntax was used already, so you can do child.'Parent'.'method'() | ||
| but that was taken out of the repository i thought | |||
| particle | that needs to be broken down into parts | ||
| 1) get superclass | 18:44 | ||
| 2) call method on superclass | |||
| s/call/invoke/ | |||
| Coke | chained method calls never worked. | ||
| ash_ | my point was more along the lines of, is the syntax available to add that kind of behavior, which seems like a no | 18:45 | |
| pmichaud | keep in mind that identifying (parent) classes by string should be a no-no | ||
| particle | NO. | ||
| ash_ | so, in the Super PMC use-case, would you want to be explicit about the parent class or let MRO handle the super call? | 18:46 | |
| pmichaud | if you want to be explicit about the parent class, one should do a direct lookup | ||
| (Parrot doesn't provide a way to do that, but that's what should be done :-) | 18:47 | ||
| ash_ | pmichaud: i noticed, thats why i am bringing this up | ||
| pmichaud | particle: You can use this when you need to make things clearer: www.thinkgeek.com/tshirts-apparel/u...ions/c2dd/ | 18:48 | |
| Coke | ash_: note that the PIR syntax not necessary == the PMC syntax, and you started out talking about pmcs. | ||
| pmichaud | P6object makes it possible to look up methods directly, though :-) | 18:49 | |
| (by looking them up on the protoobject) | |||
| ash_ | ah, sorry, i should of been more specific | ||
|
18:50
joeri joined
|
|||
| ash_ | pmichaud: i didn't know that, thanks, i'll look into how that works | 18:50 | |
|
18:55
szabgab joined
|
|||
| l3t0 | trac.parrot.org/parrot/report/6 is b0rked | 18:58 | |
|
18:58
cghene joined
|
|||
| Coke | I think they did a trac update to fix the outage earlier. | 19:00 | |
| NotFound | Coke: ENOPARROTSKETCH ? | 19:01 | |
|
19:02
petdance joined
|
|||
| Coke | oya | 19:02 | |
| my kid broke her arm last week, mainly been dealing with that. | 19:16 | ||
| japhb | Good luck to her quick recovery! | 19:17 | |
| Coke | no such luck. surgery, pins. thanks though. =-) | 19:18 | |
| allison | Coke: tree climber or bike rider? | 19:19 | |
| Coke: ooh, ouch | |||
| Coke | trampoline/brother | ||
|
19:20
donaldh joined
|
|||
| allison | Coke: :) | 19:22 | |
| Coke: creative | 19:23 | ||
|
19:26
MoC joined
|
|||
| ash_ | is there currently any motivation for implementing a super like functionality to the current object model of PIR objects? i feel like i might be the only one interested in that functionality | 19:32 | |
| moritz | is own need not motiviation enough? | 19:33 | |
| I can very well imagine others having use for it too | |||
| Coke | once again I'm glad that tcl doesn't actually have native OO. =-) | 19:34 | |
| l3t0 | ash_: sounds useful | ||
| Coke | ash_: btw: | 19:35 | |
| code.google.com/p/partcl/source/bro...st.pir#259 | |||
| which is almost certain not the desired syntax for that, and may only work if your parent class is a PMC. | 19:36 | ||
| "certainly" | |||
| NotFound | ash_: maybe all the people interested are working in other things. Don't let lack of response demotivate you. | 19:41 | |
| ash_ | NotFound: just trying to draw on others experience for trying to figure this out thats all | 19:45 | |
| NotFound | ash_: negative experiences may be not very helful. | 19:47 | |
| helpful | |||
|
19:53
allison joined
19:54
chromatic joined
20:03
braceta joined
20:12
joeri left
20:15
mikehh joined
|
|||
| GeJ | Good morning everyone. | 20:17 | |
| japhb waves happily while rubbing stomach recently filled with lunch | 20:20 | ||
| particle | i hope it's your stomach, japhb | ||
| japhb | particle: Well if it wasn't, it would probably be my wife's, so I think that's still in the realm of propriety. ;-) | 20:21 | |
| japhb focuses mind control rays on allison so that she will reply to the aviary thread and I can continue to procrastinate with a clear conscience ... | 20:23 | ||
| particle turns his procrastination beam off of japhb and points it towards himself | 20:24 | ||
| allison | japhb: am working on it at the moment | 20:25 | |
| cotto doesn't need a beam | |||
| japhb | allison: No worries, just trying to avoid working on some credit card processing code. :-) | 20:26 | |
| allison | heh :) | ||
|
20:27
bacek joined
|
|||
| Coke | 1.5? | 20:32 | |
| purl | 1.5 is, like, 2x faster than 1.4 | ||
| Coke | parrot 1.5? | ||
| parrot 1.5 is due on august 18 | 20:33 | ||
|
20:51
donaldh_ joined
|
|||
| japhb | Wheee ... desktop box just decided to help procrastinate by throwing HD errors | 20:52 | |
|
20:52
AndyA joined
20:53
Whiteknight joined,
joeri joined
|
|||
| dalek | kudo: 012b1ab | (Kyle Hasselbacher)++ | docs/ChangeLog: [docs/ChangeLog] Add a line for the embedded comments change |
20:53 | |
|
20:55
darbelo joined
|
|||
| Whiteknight | what is the new P6 syntax for embedded comments? | 20:55 | |
| moritz | Whiteknight: #`(....) | 20:56 | |
| Whiteknight | okay | ||
| cotto | allison, make corevm was a very good idea. | ||
| Whiteknight | I'm tempted to ask why that particular sequence is used, but I doubt there will be a good answer | ||
| cotto, allison: agreed, corevm++ | 20:57 | ||
| particle | whiteknight: because ` isn't used for anything else | ||
| Whiteknight | yeah, I figured that would be it | ||
| particle | it's a good answer. | ||
| moritz | right; so if you comment out code you don't accidentally create an embedded comment | ||
| chromatic | Like spaghetti? You'll love the runcores. | 20:59 | |
| particle looks for meatballs | 21:00 | ||
| chromatic | Meatballs tend to have a sort of encapsulation. | 21:03 | |
| cotto is hungry now. | |||
| particle | cotto is also a cooked salami | ||
| purl | okay, particle. | ||
| dalek | kudo: a5dfe96 | (Kyle Hasselbacher)++ | t/spectest.data: [spectest.data] unlink.t also regressed due to filetest changes |
21:05 | |
| chromatic | At least we can slim down the interp struct by at least one pointer. | 21:06 | |
| cotto | I never knew that. | ||
| chromatic | Maybe we can move interp->sleeping and interp->world_inited into flags too. | 21:07 | |
| Even removing 4 bytes from its size drops it to four cachelines from five. | 21:08 | ||
| That's a task for another day though. | 21:11 | ||
| (And then we can rearrange the struct members to put the most frequently accessed ones near the start.) | |||
| japhb | What CPU is this canonical cacheline size taken from? | 21:13 | |
| chromatic | 32-bit x86 | 21:15 | |
| Install the dwarf2 (I believe) package from Debian/Ubuntu and run pahole -C parrot_interp_t blib/lib/libparrot.so.1.4.0 | |||
| If it's not dwarf2, search your package cache for pahole. | 21:16 | ||
|
21:16
hercynium joined
|
|||
| japhb | Ah yes, I was just reading about that tool yesterday. Maybe it was mentioned in here, I forget. | 21:16 | |
| Whiteknight | "search your package cache for pahole" sounds like the punchline to a very nerdy, very dirty joke | 21:17 | |
| chromatic | I pasted a link in here. | 21:18 | |
| nopaste | "mikehh" at 90.209.117.249 pasted "PATCH for svn properties on t/dynoplibs/obscure.t (svn diff)" (10 lines) at nopaste.snit.ch/17519 | 21:24 | |
| cotto | There's some interesting stuff in the "dwarves" package in addition to pahole. | 21:25 | |
| mikehh | I don't know if this would work as a patch or you have to svn propset | ||
| cotto | mikehh, it's an easy fix anyway since the test gives you the commands to copypaste. | 21:32 | |
|
21:33
Limbic_Region joined
|
|||
| l3t0 | mikehh: code review approved | 21:34 | |
| chromatic | Who has commit bit granting access for mikehh, by the way? | 21:35 | |
| l3t0 | his CLA is still being verified or something? | ||
| dalek | rrot: r40494 | cotto++ | trunk/t/dynoplibs/obscure.t: [distro] file metadata fixes noticed by mikehh++ |
||
| moritz | chromatic: meta committers like cotto | ||
| cotto | moritz, I'm not a metacommitter. | ||
| moritz | erm sorry, meant Coke | ||
| cotto | perhaps you meant Coke? | ||
| moritz | co<tab> is dangerous | ||
| cotto | I'm getting used to it. | ||
| maybe I should change to chotto so I can get confused with chromatic | 21:37 | ||
| chromatic | His CLA arrived; he's all set. | ||
| cotto | chromatic, you're listed as a metacommitter in RESPONSIBLE_PARTIES. Is that not accurate? | 21:38 | |
| chromatic | It might be, but I have no idea what to do with it. | ||
| moritz | in trac you should be able to change some options on his user account | 21:40 | |
| chromatic | I'm fiddling with Trac now. | ||
|
21:41
bacek joined
|
|||
| cotto | www.youtube.com/watch?v=7s-5qi436w4 | 21:41 | |
| chromatic | Alright, let's see if that works now. | 21:42 | |
| mikehh, I think your SVN credentials match your Trac credentials; can you try committing your change now? | 21:44 | ||
| mikehh | chromatic: cotto already committed but let me test some more :-} | 21:45 | |
| cotto | mikehh, you can add your full name to CREDITS if you want to test your shiny new commit bit. | 21:46 | |
| l3t0 | mikehh: congrats, now put it to good use! | 21:57 | |
|
22:10
PacoLinux joined
|
|||
| mikehh | do you do a svn commit -m "commit message" or is there specific procedure? | 22:14 | |
| NotFound | mikehh: you must pay a beer for all first | 22:15 | |
| mikehh | ha - well just drop in to my local and you will get one | ||
| chromatic | If the tests pass and you're willing to watch the smokes and bug reports for the revision, commit away. | 22:17 | |
| mikehh | anyone of you all who comes to Aberdeen - I will certainly treat to a beer otr two :-} | ||
| dalek | rrot: r40495 | mikehh++ | trunk/CREDITS: adding my full name and email to CREDITS |
22:20 | |
| mikehh | ok that seems to work | 22:21 | |
| chromatic | cotto's going to have the profiling runcore finished before I get this mess refactored. | 22:22 | |
| dalek | ose: r93 | Austin++ | trunk/src/parser/ (2 files): Moved a bunch of leftover code from actions.pm to parse_utils.pm |
22:23 | |
| ose: r94 | Austin++ | trunk/ (2 files): Added TypeResolutionVisitor |
|||
| ose: r95 | Austin++ | trunk/close.cfg: Added TypeResolutionVisitor |
|||
|
22:25
bacek joined
|
|||
| bacek | Good morning | 22:25 | |
| purl | Here I am, brain the size of a planet, and all they say is 'Good Morning' | ||
| bacek | < purl-- > | ||
| mikehh | I just ran make cover on Ubuntu 9.04 i386 - total 68.1 - it gave 64.6 on Ubuntu 9.04 amd64 | 22:26 | |
| l3t0 | bacek: 'ello | 22:27 | |
| mikehh: who are the top offenders? | |||
| mikehh: congrats on your first commit as well | 22:28 | ||
| bacek | l3t0: ELHO | ||
| dalek | website: darbelo++ | The last week in decnum-dynpmcs | 22:30 | |
| website: www.parrot.org/content/last-week-decnum-dynpmcs | |||
|
22:30
jan joined
|
|||
| mikehh | src/parrot_debugger.c 0, src/pbc* 0, pbc_to_exe.c 0 some others | 22:31 | |
|
22:31
ruoso joined
22:34
slavorg joined
22:35
kid51 joined
|
|||
| mikehh | src/events.c 0, src/exec* 0 | 22:37 | |
|
22:39
rg joined
|
|||
| kid51 | Is that after 45 minutes or a full match? | 22:40 | |
| l3t0 | darbelo++ for blogging about gsoc+parrot | 22:42 | |
| japhb | allison: ping | 22:47 | |
| allison | japhb: pong | 22:48 | |
| japhb | I think I'm zeroing in on a difference between our mental pictures of Aviary. | ||
| But I wanted to see if I was right. | |||
| Let's say you're on a Windows box, and you've got Parrot installed, but nothing else. You want to install a pure-Perl CPAN module. How does Aviary do it? | 22:49 | ||
| allison | yeah, I got a deeper understanding of the difference too | ||
| japhb | Because there's no perl there to do 'perl Makefile.PL' | ||
| I was imagining 'we have the manifest; we put the files in the right place; done'. | 22:50 | ||
| allison | so you store "@perl@ Makefile.PL", and substitute the Parrot implementation of Perl, if you want to | ||
| japhb | It seems like you want Aviary to go 'Oh, you need Strawberry Perl, I'll install that.' | ||
| hmmm. | |||
| allison | japhb: you're never going to be able to eliminate all the system dependencies of a module | 22:51 | |
| japhb | OK. What about 'make; make test; make install' | ||
| allison | you'll kill yourself trying | ||
| japhb | Do we implement make in Parrot and call it done? | ||
| allison | you mean the dependency on make? | ||
| japhb | yes | ||
| allison | noooo, we use system make | ||
| japhb | But there isn't one on Windows boxen. | ||
| allison | there is, because it was used to build parrot | 22:52 | |
| japhb | (Yes, you can install one, but it's not there by default.) | ||
| allison | it may be nmake | ||
| it may be mingw-make | |||
| japhb | On Windows, Parrot is installed as a binary. | ||
| (By the average user, I mean, not us) | |||
| Likely so on Mac as well. | |||
| allison | what i | ||
| what I'm trying to say is that you can't solve the problem of being the one true distribution system for Parrot modules | 22:53 | ||
| you can't be everything to everyone | |||
| so pick one problem you *can* solve, and solve that one | |||
| japhb | Sure, I get that. But I'd like to avoid forcing the multiplication because we're designing it (again) from a unix-centric viewpoint. | 22:54 | |
| allison | that is "provide the information on where to find modules and how to install them" | ||
| chromatic | I'd like to avoid the unholy face-eating mess that is ExtUtils::MakeMaker. | ||
| allison | chromatic: that too | ||
| japhb | You don't like it when your computer eats your face? | ||
| pshaw | |||
.oO( I don't like it when my computer eats its HD, dangit ) |
22:55 | ||
| allison | if people want to build binaries of windows modules, they can, but that's not the problem Aviary is solving | ||
| chromatic | I don't like trying to generate platform-neutral shell scripts by running regular expressions and reimplementing POSIX utilities to run across various platforms that may not even have a make-like utility installed. | ||
| Which, to my mind, suggests NOT relying on make. | |||
| japhb | chromatic: I was not suggesting that, I hope it didn't come across that way. | ||
|
22:55
AndyA joined
|
|||
| allison | japhb: no, I think he was assuming I was :) | 22:55 | |
| japhb | ah so. | 22:56 | |
| allison | chromatic: what it gets back to is anything Parrot depends on Aviary can depend on | ||
| chromatic | Make is the WRONG thing to depend on. | ||
| japhb | And I was not suggesting we build binaries of windows modules that are not intrinsically so by way of needing a C compiler to build. | ||
| allison | sure, and we're planning to change that | ||
| chromatic: (change the dependency on make) we're just not there yet | 22:57 | ||
| chromatic | For Parrot or for Aviary? | ||
| allison | chromatic: for Parrot | ||
| someday | |||
| chromatic | I'm not talking about Parrot. | ||
| japhb | allison: But I don't think that's precisely true. Aviary cannot depend on something needed to *build* Parrot, only things needed to *run* Parrot. | ||
| allison | but, if a module requires 'make' for it's ordinary install, Aviary shouldn't try to remove that dependency | 22:58 | |
| it just needs to note the dependency | |||
| japhb: well, that's a very small set of things, since Parrot is designed to run independently | |||
| japhb | OK, so you're suggesting for foreign modules (CPAN, PEAR, etc.), we just note their dependency on make -- but what about modules written with Parrot in mind. I don't think we should say that *new* modules should be built with make as a requirement. | 22:59 | |
| allison | so you want to rewrite make in PIR? | ||
| japhb | allison: Which is why I think *Parrot* is Aviary's dependency. We can include all the PBCs we want. :-) | ||
| allison | or a make equivalent | ||
| sounds like a tarbaby | 23:00 | ||
| japhb | allison: I didn't say that. I just said there should be a way for the *common case* module not to need any form of make. Only the modules that are complex to build, or grandfathered in because of the broken thinking of 1995. | ||
| But perhaps I have misjudged the relative size of those two pools going forward .... | 23:01 | ||
| allison | well, the pure Parrot case is a set of PIR modules, or a PGE/PCT source file dumped to PIR | ||
| chromatic | If reimplementing make in PIR is a tarbaby, encouraging new modules to use make is the entire La Brea Tarpit on fertility drugs. | ||
| japhb | OMG ROFL | 23:02 | |
| allison | but, the percentage of those modules compared to preexisting modules in other languages is pretty small | ||
| japhb | *breathe* *breathe* | ||
| allison discourages reinventing wheels on general principles | 23:03 | ||
| japhb | Hmmmm. So we make a trivial PIR file installer, and just have that be one of the supported ways to install modules (perhaps even to the point of saying it has to be declared like any other install method in the metadata) | ||
| allison | japhb: seems reasonable | 23:04 | |
| japhb | chromatic: thoughts? | ||
| purl | Moonlight shines through the dark night / clouds move overhead, casting shadows / dancing in the firelight | ||
| chromatic | To make make work reliably across platforms, you have to reinvent a lot of wheels. | ||
| If 80% of modules just need to move files around, we get a big win avoiding that rathole. | |||
| Look at the CPAN's Module::Install for a good example; you don't have to do much there. | 23:05 | ||
| allison | new modules can use any install system they want | ||
| and like I said, the pure Parrot case is pretty simple | 23:06 | ||
| just copying PIR files or generated PIR files | |||
| we already have a test harness | |||
| chromatic | Let's make that work, support it, and promote it as The One You Really Want To Use If At All Possible, We Mean It. | ||
| japhb | heh | ||
| allison | (ah, should have mentioned that in the Core Modules list) | ||
| chromatic: that I won't do, because that'll lead to the same kind of dead-end lockin as ExtUtils::MakeMaker | 23:07 | ||
| Aviary should be install-technique neutral | |||
| if the module authors already have a cross-platform installation system, it makes no sense to mess with it | 23:08 | ||
| chromatic | The dead-end lockin of EUMM is because everyone copied and pasted truly horrible code that no one understood and by the time there was a good replacement, there were several dozen slightly incompatible cargo cults ensconsed in the rest of the toolchain. | ||
| allison | (if they don't, they're probably not prepared to support the platform anyway) | ||
| chromatic | I point you to "Why Version Numbers in Perl 5 Make No Sense and How Come You Have to eval() Them To Get Them To Work Reliably (In Some Cases)". | ||
| allison | yah, don't get me started on Perl 5's deficiencies.... :) | 23:10 | |
| japhb: is that more or less the different perspective you saw? | 23:11 | ||
| japhb | Yes, I believe so. | ||
| It seems that in general you're a strong proponent of 'simplest thing that could possibly work', at least where Aviary is concerned. | |||
| allison | yes, at least to start with | 23:12 | |
| we could spend years getting the perfect module install system working | |||
| but what we really need is something working now | |||
| japhb | Preaching to the choir on that one. :-) | ||
| allison | and, you won't really know what needs to be refined until people are using it | ||
| japhb | I'm mostly focused on trying to find the right moment to switch from iterating initial design to creating first mockup. My gut says that moment is coming soon. | 23:14 | |
| allison | yup, I'd agree | ||
| writeup what you have so far, then dive in | |||
| japhb is going to take a few minutes to mourn the smoking hardware first. :-/ | 23:15 | ||
|
23:20
donaldh joined
|
|||
| mikehh | All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40495 - Ubuntu 9.04 i386 | 23:23 | |
| treed | dammit, github | 23:40 | |
| dalek | cnum-dynpmcs: r163 | darbelo++ | trunk/ (3 files): Add a new decTest.originated file, this one tests the suitability of 'pow'(0.5) |
23:47 | |
|
23:50
AndyA joined
|
|||
| mikehh | rakudo (a5dfe95) builds on parrot r40495 - make test/make spectest (up to 27963) PASS - Ubuntu 9.04 i386 | 23:50 | |
| chromatic | I don't even want to think about what this runcore patch will look like... talk about huge. | 23:55 | |
| cotto | chromatic, if it'd help I'd be happy working in a separate branch. | 23:56 | |
| chromatic | It makes no difference. | 23:57 | |
| The problem is a lack of encapsulation of runcores and switching. | |||
| I could work in much, much smaller steps, but keeping it compiling at every point would be either hundreds of tiny commits or huge, huge commits. | |||
| cotto | I'll keep doing what I've been doing then. | 23:58 | |