Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-11

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 chromatic https://twiki.cern.ch/twiki​/bin/view/Atlas/UsingPahole
00:04 patspam joined #parrot
00:09 mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40480 - Ubuntu 9.04 amd64
00:12 l3t0 mikehh: do you ever run smolder_test ?
00:12 l3t0 i.e. "make smolder_test" ?
00:16 l3t0 mikeh:: you may need to install TAP::Archive
00:27 mikehh yes every run
00:29 mikehh 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:30 mikehh full run starts
00:32 mikehh rakudo (af3efaf) builds on parrot r40480 make test/make spectest (up to 27955) PASS - Ubuntu 9.04 amd64
00:32 tetragon joined #parrot
00:33 dalek cardinal: cc92ac9 | treed++ | t/array/nitems (2 files):
00:33 dalek cardinal: Rename nitems to give it the proper extension.
00:33 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/cc92ac947d5d19c994d78350b9b9c6611bd989cf
00:35 mikehh l3to: this last run generated http://smolder.plusthree.com/app/pu​blic_projects/report_details/26023
00:36 mikehh I actually ran perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace
00:37 mikehh make world 2>&1 | tee make_world.40480.g++.amd64.log
00:38 mikehh and make -k fulltest TEST_JOBS=5 2>&1 | tee fulltest.40480.g++.amd64.log
00:39 mikehh I also do tests with gcc and on amd64 and i386
00:40 kid51 When it comes to smoke testing, mikehh leaves everyone else behind in the dust!
00:42 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:44 kid51 mikehh:  That will be very helpful.
00:44 mikehh mainly related to a wireless connection
01:05 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
01:05 chromatic active branches and kittens
01:13 Whiteknight I'm so close on this stupid lazy GC patch
01:14 chromatic Ah, you can get to it later.
01:14 chromatic When you need it.
01:24 Whiteknight last time I forgot about the stupid pmc_ext pool, it apparently uses the same allocator as PObjs
01:24 Whiteknight but none of the other pool routines are the same
01:27 Whiteknight I am getting close though. I get all the way up to building PGE before it segfaults
01:27 Whiteknight and I think I know why
01:30 Whiteknight unfortunately, that "why" is because the string compactor is shitty
01:31 dukeleto sweet! it looks like there are only the currently active svn branches in github now.
01:31 dukeleto this is kinda funny: http://github.com/leto/parrot/graphs/languages , perhaps we can get the github guys to add Parrot as a language ?
01:31 dukeleto which would match *.pir, *.pbc and *.pasm
01:33 mokurai left #parrot
01:41 rhr joined #parrot
01:55 darbelo left #parrot
02:17 TiMBuS joined #parrot
02:20 Andy joined #parrot
02:35 janus joined #parrot
03:03 japhb joined #parrot
03:20 donaldh joined #parrot
03:43 dukeleto joined #parrot
03:45 dalek rakudo: 11a2934 | (Kyle Hasselbacher)++ | docs/release_guide.pod:
03:45 dalek rakudo: [release_guide] Volunteer to do the next release
03:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​1a2934e67a0a88e9e6e10bf186dbc51ec437362
04:14 mokurai joined #parrot
04:22 dukeleto joined #parrot
04:50 eternaleye joined #parrot
04:59 dukeleto 'ello
05:01 eternaleye joined #parrot
05:02 cotto 'i
05:02 cotto 'ow you doin'
05:04 dukeleto cotto: fuggettaboutit
05:04 * dukeleto is pondering why obscure.ops exists, but writing tests anyway
05:05 cotto it's obscure
05:06 dukeleto ba dump bump
05:07 dukeleto i have read thousands of math papers and I have never seen these functions used. they are truly obscure
05:21 dukeleto does parrot have a builtin constant for pi or do I need to use a trig function to get it?
05:26 cotto There doesn't appear to be a readily available constant.
05:32 dukeleto would there be interest in that? 4*atan(1,1) is fine for me, but what about new users?
05:33 mokurai joined #parrot
05:38 MinorToken joined #parrot
05:40 cotto It seems like a fairly obvious and simple addition.
05:45 dukeleto is there a standard naming convention for constants? would it live in a namespace or be global-but-imported ?
05:46 cotto no idea
05:48 uniejo joined #parrot
05:51 dukeleto yay for deleting copy-pasta
06:07 TonyC joined #parrot
06:11 dalek parrot: r40481 | dukeleto++ | trunk (7 files):
06:11 dalek parrot: [TT #819] Add tests to obscure.ops, un-TODO the related codingstd test and refactor fp_eq_ok into fp_equality.pasm
06:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40481/
06:14 nopaste joined #parrot
06:57 dalek parrot: r40482 | NotFound++ | branches/auto_attrs/src/pmc/string.pmc:
06:57 dalek parrot: set auto_attrs on the String PMC
06:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40482/
07:00 szabgab joined #parrot
07:14 szabgab chromatic, ping # sdl
07:14 dalek parrot: r40483 | dukeleto++ | trunk/t/dynoplibs/obscure.t:
07:14 dalek parrot: [TT #819] Convert obscure.t to PIR, add more tests
07:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40483/
07:20 donaldh joined #parrot
07:34 dalek TT #819 closed by dukeleto++: obscure.ops need tests
07:34 dalek parrot: r40484 | dukeleto++ | trunk (2 files):
07:34 dalek parrot: [TT #819] Add tests for exsec and hav opcodes
07:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40484/
07:36 chromatic pong
07:40 GeJ Hum... Shlomi Fish is aiming at a TPF grant to port ctypes to Perl, with reference to Parrot in his proposal.
07:41 GeJ would that replace NCI?
07:41 chromatic Not in Parrot.
07:41 dalek parrot: r40485 | NotFound++ | branches/auto_attrs/src/pmc (6 files):
07:41 dalek parrot: set auto_attrs on Float, Role and iterators PMCs
07:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40485/
07:41 szabgab chromatic, can you give me commit bit on the sdl part of the svn.perl.org ?
07:42 chromatic I can ask webmaster@perl.org.
07:42 chromatic If you've checked out the code from SVN, you can send me a patch and I can update it directly too.
07:43 szabgab I am sending it now, please ask the webmaster@ to give me commit bit then, my user is 'gabor' there
07:44 chromatic Requested.
07:45 szabgab patch sent, it is really simple just to get the date to be that of todays
07:52 chromatic Hm, maybe I don't have commit access there.
07:54 chromatic I just sent the patch to webmaster@ which has worked before.
07:58 dalek parrot: r40486 | NotFound++ | branches/auto_attrs (5 files):
07:58 dalek parrot: fix several codingstd
07:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40486/
08:05 dalek parrot: r40487 | NotFound++ | branches/auto_attrs (75 files):
08:05 dalek parrot: merge from trunk r40486
08:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40487/
08:17 dalek tracwiki: v3 | trac++ | TracAdmin
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​TracAdmin?version=3&action=diff
08:17 dalek tracwiki: v3 | trac++ | TracUpgrade
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racUpgrade?version=3&action=diff
08:17 dalek tracwiki: v3 | trac++ | TracSyntaxColoring
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Trac​SyntaxColoring?version=3&action=diff
08:17 dalek tracwiki: v3 | trac++ | TracLinks
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​TracLinks?version=3&action=diff
08:17 dalek tracwiki: v2 | trac++ | TracNavigation
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tr​acNavigation?version=2&action=diff
08:17 dalek tracwiki: v3 | trac++ | TracBrowser
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racBrowser?version=3&action=diff
08:17 dalek tracwiki: v2 | trac++ | TracModWSGI
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racModWSGI?version=2&action=diff
08:17 dalek tracwiki: v3 | trac++ | TracPlugins
08:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racPlugins?version=3&action=diff
08:17 dalek tracwiki: v2 | trac++ | TracWorkflow
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racWorkflow?version=2&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracEnvironment
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tra​cEnvironment?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracRoadmap
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racRoadmap?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracNotification
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tra​cNotification?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracInterfaceCustomization
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/TracInte​rfaceCustomization?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracFastCgi
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racFastCgi?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracModPython
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tr​acModPython?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracInstall
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racInstall?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracTicketsCustomFields
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/TracTic​ketsCustomFields?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracPermissions
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tra​cPermissions?version=3&action=diff
08:18 dalek tracwiki: v4 | trac++ | SandBox
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki​/SandBox?version=4&action=diff
08:18 dalek tracwiki: v3 | trac++ | WikiRestructuredTextLinks
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/WikiRest​ructuredTextLinks?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | WikiRestructuredText
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/WikiR​estructuredText?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracStandalone
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Tr​acStandalone?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracTickets
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki/T​racTickets?version=3&action=diff
08:18 dalek tracwiki: v3 | trac++ | TracCgi
08:18 dalek tracwiki: https://trac.parrot.org/parrot/wiki​/TracCgi?version=3&action=diff
08:26 cotto Those obscure ops really live up to the name.
08:35 masak joined #parrot
08:37 payload joined #parrot
08:40 cotto joined #parrot
08:41 HG` joined #parrot
09:02 payload1 joined #parrot
09:19 MoC joined #parrot
09:20 krunen joined #parrot
09:21 cghene joined #parrot
09:26 nopaste joined #parrot
09:43 cotto joined #parrot
09:44 donaldh joined #parrot
09:46 TonyC joined #parrot
09:57 donaldh1 joined #parrot
10:00 bacek joined #parrot
10:58 bkuhn joined #parrot
11:15 dalek parrot: r40488 | NotFound++ | branches/auto_attrs/src/pmc (2 files):
11:15 dalek parrot: set auto_attrs on FileHandle and StringHandle PMCs
11:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40488/
11:19 dalek joined #parrot
11:20 kid51 joined #parrot
11:21 donaldh joined #parrot
11:44 quek joined #parrot
11:46 payload joined #parrot
11:50 NotFound joined #parrot
12:01 HG` joined #parrot
12:09 whiteknight joined #parrot
12:10 whiteknight good morning #parrot
12:11 cono morning
12:12 Infinoid hi :)
12:13 whiteknight hello Infinoid. I tried to get in touch with you this weekend but I guess you were busy
12:15 dalek parrot: r40489 | NotFound++ | branches/auto_attrs/src/pmc/key.pmc:
12:15 dalek parrot: set auto_attrs on Key PMC
12:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40489/
12:16 Andy joined #parrot
12:17 Infinoid whiteknight: Yeah, sorry.  I was in Ithica, helping a friend move
12:17 whiteknight it happens
12:17 moritz Ithica sounds like Greece
12:17 whiteknight I got a lot of work done on another project I've been avoiding, so that was good
12:17 NotFound whiteknight: Have you done some benchmarking of the fixed size allocators?
12:17 Infinoid cool
12:17 whiteknight NotFound: none at all
12:17 Infinoid I'm still vaguely hoping a weekend will happen sometime soon :)
12:18 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:19 NotFound whiteknight: I have the subjective impression that the auto_attrs branch improve speed, but no data to confirm it.
12:20 whiteknight yeah, we need data. I'm not good at benchmarking, but I will see if I can generate any numbers
12:20 whiteknight NotFound: what rev did you merge the branch in?
12:21 NotFound r40486 was the last merge from trunk
12:21 whiteknight oh, the branch hasn't been merged into trunk?
12:22 NotFound I'm waiting for #ps
12:28 whiteknight Infinoid: you have any ability to do some quick benchmarks today?
12:31 Infinoid after work, yes
12:32 Infinoid by "benchmarks" you mean "time for SEQ in `seq 1 100`; do ./parrot foo; done"?
12:32 whiteknight is that how it's done?
12:32 Infinoid it's as good a way as any
12:32 * whiteknight is a benchmarking newbie, and needs a crash course eventually
12:32 Infinoid I guess it depends on what you're benchmarking.
12:33 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 bacek joined #parrot
12:33 Infinoid ok, perhaps choose a random object-heavy file from examples/ and run parrot on that, timing the result
12:33 Infinoid I tend to run 10 or 100 times to reduce the effects of scheduling randomness
12:34 Infinoid but if you make a hundred billion objects, you can probably just run it once and it won't matter as much
12:35 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.
12:35 moritz it's as close as you can get to a real-world benchmark
12:36 NotFound moritz: I can't run rakudo spectest enough times to make something statistically significative.
12:37 NotFound I can't even grant that the system load is more or less constant during just one run.
12:38 moritz hm, that's a fair point
12:53 ruoso joined #parrot
13:38 dalek parrot: r40490 | NotFound++ | branches/auto_attrs/src/pmc (2 files):
13:38 dalek parrot: set auto_attrs on Task and Timer PMCs
13:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40490/
13:51 Coke l3t0: instead of perpetuating the $N in a macro, you should use macro-local vars.
13:57 Coke also dukeleto
14:01 TiMBuS joined #parrot
14:04 ComLock joined #parrot
14:05 ash_ joined #parrot
14:09 Andy joined #parrot
14:20 Coke wow, this talk of extended comments is just really ugly.
14:21 Coke I would be merciless to someone who committed code like: $object\#+{ extended comments }.say;
14:21 Coke what is SO important that you can't wait 5 characters to say it?
14:24 whiteknight The problem has more to do with commenting out lines of existing code
14:24 whiteknight which accidentally turns lines that did start with { into multilne comments
14:31 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:32 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.
14:32 * whiteknight votes for /* */
14:32 Coke I have yet to see an example of using embedded comments that actually helped anything, and /* */ is not a bad idea. =-)
14:32 whiteknight well, it is a bad idea if the whole comment gets passed to the regex engine
14:33 whiteknight :)
14:33 dalek rakudo: 8d7fc7d | moritz++ | docs/ChangeLog:
14:33 dalek rakudo: [docs] updated ChangeLog. Corrections welcome
14:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​d7fc7d4a16b26b4b539de8c08a030cfecfe1bb5
14:33 whiteknight Maybe #/* */#
14:33 whiteknight or better yet, #{/* */}#
14:33 PerlJam the bikeshed is quickly becoming multi-colored  :)
14:33 whiteknight so perfect, I don't know why nobody thought about it before
14:37 * Coke wonders if // is even how you invoke the rules engine anymore.
14:38 moritz it is a way, yes
14:47 * Coke wonders how recent a version of git he needs for 'git svn'
14:50 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.
14:51 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 http://nopaste.snit.ch/17515
14:51 Coke PerlJam: os x. using macports. there is no git-svn package.
14:51 PerlJam weird.
14:52 Coke http://www.macports.org/port​s.php?by=name&substr=git
14:52 ash_ git svn isn't included by default
14:52 Coke ah. there's an svn /variant/ of that. wonder how to install it.
14:52 ash_ sudo port install git-core +svn
14:52 ash_ <-- on a mac
14:53 Coke +1
14:53 purl 1
14:53 ash_ can dynpmc's have multiple inheritance?
14:54 Coke I think MI was removed.
14:54 Coke tcl used to do that, though.
14:54 Coke (but tcl was only using it to avoid some minor code duplication)
14:54 Coke ash_++
14:56 * Coke sees a bash_completion variant also and gives that a try.
14:57 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:58 Coke ash_: no, hadn't enabled it for anything explicitly for ports before.
15:01 ash_ there is a main bash_completion port you'd need for that variant to do anything
15:03 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
15:04 ash_ macport's is fairly smart, not perfect, but i like it
15:07 ash_ if you add "+bash_completion" (no quotes) to /opt/local/etc/macports/variants.conf it will always install the bash completion if available
15:08 ash_ its not bad, it was just really slow on my computer so i turned it off, you might have better luck though
15:09 dukeleto Coke: are you talking about in fp_eq_ok ?
15:10 Coke dukeleto: yup.
15:10 Coke I know you just copied the existing macro, but there's a better way to write that.
15:11 Coke (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
15:11 Coke dukeleto: ah. nevermind.
15:11 Coke =head4 Unique local variables
15:11 Coke B<Note: this is not yet implemented in IMCC>.
15:12 Coke 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
15:12 Coke hurm.
15:12 Coke it says that it's not supported, but the snippet after it indicates it is valid pir.
15:13 Coke worth giving a shot, anyway.
15:13 Coke .macro_local int b
15:13 Coke # ...
15:13 Coke .b = 42
15:13 Coke (if that does work, please update PDD19 to remove the "NYI")
15:13 dukeleto Coke: so it seems that .macro_local needs tests as well, then
15:15 Coke yes, whether it works or not, tests good.
15:15 Coke dukeleto++
15:15 Coke (there is a test in that pod, but only that it compiles, not that it works.)
15:16 Coke 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:17 ash_ yup, thats one of the things that annoys me about it too, it won't automattically upgrade
15:17 ash_ it sees that as conflicting ports, not an upgrade (with new variants)
15:17 Coke if it was going to fail, should have failed up front.
15:18 Coke easy enough to work around.
15:18 ash_ yeah, like i said, its not perfect, but it works
15:18 ash_ just uninstall (if you have any git dependencies you'll need to force it)
15:18 Coke I just deactivated it.
15:18 ash_ if your on OS X, i'd get gitx also
15:18 Coke https://trac.parrot.org/pa​rrot/wiki/git-svn-tutorial seems to want a 'git svn rebase' after the first line there.
15:20 Coke ash_: it's only for 10.5
15:21 donaldh joined #parrot
15:21 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:22 Coke I just did.
15:22 Coke that's where I got the 10.5 requirement notice. =-)
15:23 ash_ yeah, just saw it in the port file, well that stinks
15:26 ash_ there is still gitk though if you want something thats similar
15:26 dukeleto Coke: there is always gitk
15:26 dukeleto where should tests for fp_equality.pasm go?
15:27 dalek tracwiki: v15 | coke++ | git-svn-tutorial
15:27 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git-​svn-tutorial?version=15&amp;action=diff
15:29 Coke dukeleto: t/library ?
15:30 dukeleto fp_equality.pasm lives in runtime, you sure?
15:30 Coke so does our stdlib.
15:31 Coke you can move the t/library around a bit to compensate if you like.
15:31 Coke (if you want to make it mirror the directory structure of the stuff in runtime/parrot/{library,include, etc.}
15:34 davidfetter joined #parrot
15:38 dalek parrot: r40491 | NotFound++ | branches/auto_attrs/src/pmc/schedulermessage.pmc:
15:38 dalek parrot: set auto_attrs on SchedulerMessage PMC
15:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40491/
15:45 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 #parrot
15:52 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:53 dalek cardinal: a82e961 | (Danius Michaelides)++ | t/array/nitems.t:
15:53 dalek cardinal: Remove whitespace that seems to be causing a parse error.
15:53 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/a82e961d412cac622b5d75ebcf990fb5993f1df4
15:59 Coke ash_: what's the question?
15:59 purl somebody said the question was how a _separate_ package could help with the install
16:00 Coke purl: no, the question is <reply>What's Six times Nine?
16:00 purl coke: i don't know
16:02 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:03 Coke pre-1.0 is ancient.
16:03 Coke don't use that. =-)
16:03 ash_ i know i was just referencing it to see what direction you guys were going in originally
16:03 Coke I wouldn't worry about that.
16:04 Coke 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:05 Coke I personally don't think having a Super pmc was a good idea. =-)
16:06 ash_ yeah that seemed odd, i would imagine it would be nice to build it into the basic object
16:07 ash_ are you familiar with C++'s way of calling it vs pythons way?
16:07 Coke nope.
16:10 dalek parrot: r40492 | NotFound++ | branches/auto_attrs/src/pmc/scheduler.pmc:
16:10 dalek parrot: set auto_attrs on Scheduler PMC
16:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40492/
16:11 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:13 ash_ ah, python's super can be called from anywhere, thats why you have to pass it 'self'
16:16 ash_ the nice aspect of C++'s way of doing it is you have to be explicity, there is no MRO involved
16:17 ash_ 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++?
16:17 particle *cough*
16:18 ash_ C++ doesn't have any sort of MRO, it has to be explicitly defined
16:20 particle 3250/242218
16:20 purl 0.0134176650785656
16:22 ash_ do you think it would be better for parrot's super to be able to handle both cases?
16:50 ash_ anyone have any comments?
16:52 NotFound ash_: /* */
16:52 ash_ hehe, i c wut u did thar
17:05 particle coke: were you born on a friday?
17:06 mikehh joined #parrot
17:07 Coke particle: no
17:07 Coke why?
17:08 gaz_ joined #parrot
17:08 gaz_ joined #parrot
17:11 particle you, me, and pmichaud all have birthdays this week
17:11 particle and he and i were born on fridays
17:12 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.
17:12 PerlJam Coke: Happy birthday!  (for when I forget on your actual birthday)
17:12 japhb Happy {early,belated} Birthday to All!
17:13 Coke right back atcha.
17:13 particle today is my first unbirthday as a 36 year-old
17:17 hercynium joined #parrot
17:19 Coke young bastid.
17:20 Infinoid Mine is today. :)
17:21 Topic for #parrotis now HAPPY BIRTHDAY #PARROT! | http://www.parrot.org/ | 1.4.0 | For 1.5: Remove Deprecated Features | http://planet.parrotcode.org/
17:22 mokurai joined #parrot
17:24 whiteknight Infinoid: today is your birthday?
17:25 gaz joined #parrot
17:27 quek left #parrot
17:28 quek joined #parrot
17:29 particle Infinoid: happy birthday!
17:29 purl for (('to you', 'dear '.shift)[0,0,1,0]) { print "Happy birthday $_" }
17:30 particle i find it curious that there are parrot committers with aug 10,11,13,14 birthdays
17:30 gaz joined #parrot
17:30 particle anyone for 12?
17:33 * treed is in september; no dice.
17:34 Patterner joined #parrot
17:34 * 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.
17:35 moritz Coke: cloning a git repo looses the git-svn meta data
17:35 moritz Coke: which is why I transport git-svn packages as tarballs
17:36 Coke moritz: seems to beat having 2 independant git-svn checkouts.
17:36 Coke "independent"
17:37 l3t0 moritz: yeah, git-svn is finicky like that
17:39 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
17:47 whiteknight particle: no 12, I'm 11 too though :)
17:47 particle whiteknight: today?
17:47 purl well, today is pretty close to planting day
17:47 whiteknight today
17:47 Coke small world.
17:47 purl ... but I wouldn't want to paint it.
17:48 PerlJam japhb++ aviary
17:48 particle happy birthday!
17:48 purl for (('to you', 'dear '.shift)[0,0,1,0]) { print "Happy birthday $_" }
17:48 particle criminy.
17:48 * whiteknight hopes you brought enough cake for everybody
17:49 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:50 mikehh dukeleto: ping
17:53 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:56 whiteknight japhb: ...and where do you live?
17:56 mikehh t/dynoplibs/obscure.t is FAILing distro_tests and corresponding tests in codetest
17:56 Coke seen allison?
17:56 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]
17:56 japhb whiteknight: Beautiful Sonoma County, California.
17:57 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 #parrot
17:58 allison Coke: I'm lurking
17:59 l3t0 mikehh: pong
18:00 l3t0 Coke: they don't work from git-svn, so I have to commit first, then run them in an svn tree
18:00 Coke http://code.google.com/p/p​artcl/issues/detail?id=80 - we're covered by the switch to PaFo, neh?
18:01 Coke 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
18:01 allison Coke: so, you can change the copyright and require CLA
18:02 allison Coke: and, if you ever want copyright assigned to another entity, it's straightforward
18:02 Coke Ok.
18:05 l3t0 mikehh: looking into it now
18:05 mikehh l3to: you need to set the svn properties for t/dynoplibs/obscure.t
18:05 Coke hurm. on my git clone of git-svn, I did a commit and a push; now my git-svn is fubar.
18:06 Coke (cannot dcommit with a dirty index).
18:07 l3t0 Coke: did you do "git svn rebase" ?
18:07 l3t0 and what does git status -a say?
18:08 Coke git status -a : shows the push from the git clone.
18:09 Coke how do I say "yes, apply that to my local git repo" ?
18:09 payload joined #parrot
18:10 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 http://nopaste.snit.ch/17517
18:11 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?
18:12 l3t0 coke: so tools/tcl_cvs.pl
18:12 l3t0 ...
18:12 dalek rakudo: 1d75a78 | pmichaud++ | src/ (2 files):
18:12 dalek rakudo: Embedded comments now require backticks.
18:12 l3t0 stays modified even if you commit it?
18:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​d75a78c376b602cbccb2cf701a5e5c76babbdb4
18:13 Coke so if I do a push from a downstream clone, it just updates the repo on the upstream?
18:13 Coke (as if I had edited it by hand?)
18:13 l3t0 Coke: hard to say without knowing what commands you typed and what your .git/config looks like
18:14 Coke I have no .git/config. (I have a .gitconfig)
18:14 Coke downstream I did "git clone <upstream>". edited a file, did a 'git commit -a', then 'git push'.
18:14 Coke upstream (which is a git-svn clone, done using the example on trac).
18:17 l3t0 hmmm
18:17 dalek parrot: r40493 | NotFound++ | branches/auto_attrs/src/pmc/capture.pmc:
18:17 dalek parrot: set auto_attrs on Capture PMC
18:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40493/
18:17 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.
18:17 Coke (git log in /both/ the downstream and the upstream.)
18:18 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 l3t0 Coke: that is odd
18:18 ash_ in pir code are there ever any cases where you have to say obj.'somethingelse'.'method'()
18:19 Coke (@#*&$#@.
18:19 ash_ did you mess up a git command?
18:19 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.
18:20 Coke so I need to first update the upstream repo to get all the pushed commits from downstream.
18:20 Coke how do I do that?
18:21 ash_ where is the downstream repo pushing to?
18:22 Coke my git-svn repo.
18:22 Coke (a) svn -> (b) git-svn clone of (a) -> (c) git clone of (b)
18:22 Coke on c, I did commit/push.
18:23 ash_ and b is not up to date?
18:23 Coke no.
18:23 Coke log shows it, but the dir doesn't.
18:24 Coke s/dir/working copy/
18:26 nopaste "mikehh" at 90.209.117.249 pasted "distro_tests, codetestr failures for t/dynoplibs/obscure.t at r40492" (42 lines) at http://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.
18:27 Coke (I figured it was a manfiest error)
18:27 Coke ash_: I can do a 'git checkout tools/tcl_cvs.pl' - but that will throw out any local changes I have.
18:27 Coke (I don't have any right now.)
18:28 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.
18:28 Coke ash_: I just want 'svn update'. =-)
18:28 ash_ git-svn rebase didn't do that properly?
18:29 ash_ 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.
18:29 Coke (because that file is considered modified.)
18:29 particle japhb: is it time to move your draft to a wiki or committed pod file, so others can contribute better?
18:30 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
18:31 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)
18:32 ash_ sounds complicated
18:32 Coke yah, that's pretty much how I feel about git.
18:33 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
18:33 particle git makes me feel like every problem can be solved by one more layer of complications
18:34 l3t0 particle: or three ;)
18:34 whiteknight #ps in now?
18:34 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.  ;-)
18:35 l3t0 i have heard that git-svn is like shooting rockets through a pea-shooter
18:36 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
18:37 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 Coke which I'm not.
18:39 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 ash_ not that in your current situation you have changes, but for future reference, it will not keep your changes if you have any
18:39 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.
18:40 ash_ ah, got ya
18:41 ash_ is there a use-case in PIR code where you would have to say obj.'something'.'something'() ?
18:42 particle you can't do that in pir
18:42 japhb ash_: AFAIK, that's not reasonable to do
18:42 particle just like you can't do $I0 = 4 + 3 + 5 - 6
18:42 ash_ well i am curious for the case of calling parent class methods
18:43 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'()
18:43 ash_ but that was taken out of the repository i thought
18:43 particle that needs to be broken down into parts
18:44 particle 1) get superclass
18:44 particle 2) call method on superclass
18:44 particle s/call/invoke/
18:44 Coke chained method calls never worked.
18:45 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
18:45 particle NO.
18:46 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
18:47 pmichaud (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
18:48 pmichaud particle:  You can use this when you need to make things clearer:  http://www.thinkgeek.com/tshirts-​apparel/unisex/frustrations/c2dd/
18:48 Coke ash_: note that the PIR syntax not necessary == the PMC syntax, and you started out talking about pmcs.
18:49 pmichaud P6object makes it possible to look up methods directly, though :-)
18:49 pmichaud (by looking them up on the protoobject)
18:49 ash_ ah, sorry, i should of been more specific
18:50 joeri joined #parrot
18:50 ash_ pmichaud: i didn't know that, thanks, i'll look into how that works
18:55 szabgab joined #parrot
18:58 l3t0 https://trac.parrot.org/parrot/report/6 is b0rked
18:58 cghene joined #parrot
19:00 Coke I think they did a trac update to fix the outage earlier.
19:01 NotFound Coke: ENOPARROTSKETCH ?
19:02 petdance joined #parrot
19:02 Coke oya
19:16 Coke my kid broke her arm last week, mainly been dealing with that.
19:17 japhb Good luck to her quick recovery!
19:18 Coke no such luck. surgery, pins. thanks though. =-)
19:19 allison Coke: tree climber or bike rider?
19:19 allison Coke: ooh, ouch
19:19 Coke trampoline/brother
19:20 donaldh joined #parrot
19:22 allison Coke: :)
19:23 allison Coke: creative
19:26 MoC joined #parrot
19:32 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:33 moritz is own need not motiviation enough?
19:33 moritz I can very well imagine others having use for it too
19:34 Coke once again I'm glad that tcl doesn't actually have native OO. =-)
19:34 l3t0 ash_: sounds useful
19:35 Coke ash_: btw:
19:35 Coke http://code.google.com/p/partcl/source/​browse/trunk/src/class/tclconst.pir#259
19:36 Coke which is almost certain not the desired syntax for that, and may only work if your parent class is a PMC.
19:36 Coke "certainly"
19:41 NotFound ash_: maybe all the people interested are working in other things. Don't let lack of response demotivate you.
19:45 ash_ NotFound: just trying to draw on others experience for trying to figure this out thats all
19:47 NotFound ash_: negative experiences may be not very helful.
19:47 NotFound helpful
19:53 allison joined #parrot
19:54 chromatic joined #parrot
20:03 braceta joined #parrot
20:12 joeri left #parrot
20:15 mikehh joined #parrot
20:17 GeJ Good morning everyone.
20:20 * japhb waves happily while rubbing stomach recently filled with lunch
20:20 particle i hope it's your stomach, japhb
20:21 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:23 * 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:24 * particle turns his procrastination beam off of japhb and points it towards himself
20:25 allison japhb: am working on it at the moment
20:25 * cotto doesn't need a beam
20:26 japhb allison: No worries, just trying to avoid working on some credit card processing code.  :-)
20:26 allison heh :)
20:27 bacek joined #parrot
20:32 Coke 1.5?
20:32 purl 1.5 is, like, 2x faster than 1.4
20:32 Coke parrot 1.5?
20:33 Coke parrot 1.5 is due on august 18
20:51 donaldh_ joined #parrot
20:52 japhb Wheee ... desktop box just decided to help procrastinate by throwing HD errors
20:52 AndyA joined #parrot
20:53 Whiteknight joined #parrot
20:53 joeri joined #parrot
20:53 dalek rakudo: 012b1ab | (Kyle Hasselbacher)++ | docs/ChangeLog:
20:53 dalek rakudo: [docs/ChangeLog] Add a line for the embedded comments change
20:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​12b1ab7e128e7fcbfad614b44da6b26881ca6d0
20:55 darbelo joined #parrot
20:55 Whiteknight what is the new P6 syntax for embedded comments?
20:56 moritz Whiteknight: #`(....)
20:56 Whiteknight okay
20:56 cotto allison, make corevm was a very good idea.
20:56 Whiteknight I'm tempted to ask why that particular sequence is used, but I doubt there will be a good answer
20:57 Whiteknight cotto, allison: agreed, corevm++
20:57 particle whiteknight: because ` isn't used for anything else
20:57 Whiteknight yeah, I figured that would be it
20:57 particle it's a good answer.
20:57 moritz right; so if you comment out code you don't accidentally create an embedded comment
20:59 chromatic Like spaghetti?  You'll love the runcores.
21:00 * particle looks for meatballs
21:03 chromatic Meatballs tend to have a sort of encapsulation.
21:03 * cotto is hungry now.
21:03 particle cotto is also a cooked salami
21:03 purl okay, particle.
21:05 dalek rakudo: a5dfe96 | (Kyle Hasselbacher)++ | t/spectest.data:
21:05 dalek rakudo: [spectest.data] unlink.t also regressed due to filetest changes
21:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​5dfe96dbfae85aefefa6b92373611e0fe3cebf3
21:06 chromatic At least we can slim down the interp struct by at least one pointer.
21:06 cotto I never knew that.
21:07 chromatic Maybe we can move interp->sleeping and interp->world_inited into flags too.
21:08 chromatic Even removing 4 bytes from its size drops it to four cachelines from five.
21:11 chromatic That's a task for another day though.
21:11 chromatic (And then we can rearrange the struct members to put the most frequently accessed ones near the start.)
21:13 japhb What CPU is this canonical cacheline size taken from?
21:15 chromatic 32-bit x86
21:15 chromatic Install the dwarf2 (I believe) package from Debian/Ubuntu and run pahole -C parrot_interp_t blib/lib/libparrot.so.1.4.0
21:16 chromatic If it's not dwarf2, search your package cache for pahole.
21:16 hercynium joined #parrot
21:16 japhb Ah yes, I was just reading about that tool yesterday.  Maybe it was mentioned in here, I forget.
21:17 Whiteknight "search your package cache for pahole" sounds like the punchline to a very nerdy, very dirty joke
21:18 chromatic I pasted a link in here.
21:24 nopaste "mikehh" at 90.209.117.249 pasted "PATCH for svn properties on t/dynoplibs/obscure.t (svn diff)" (10 lines) at http://nopaste.snit.ch/17519
21:25 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
21:32 cotto mikehh, it's an easy fix anyway since the test gives you the commands to copypaste.
21:33 Limbic_Region joined #parrot
21:34 l3t0 mikehh: code review approved
21:35 chromatic Who has commit bit granting access for mikehh, by the way?
21:35 l3t0 his CLA is still being verified or something?
21:35 dalek parrot: r40494 | cotto++ | trunk/t/dynoplibs/obscure.t:
21:35 moritz chromatic: meta committers like cotto
21:35 dalek parrot: [distro] file metadata fixes noticed by mikehh++
21:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40494/
21:36 cotto moritz, I'm not a metacommitter.
21:36 moritz erm sorry, meant Coke
21:36 cotto perhaps you meant Coke?
21:36 moritz co<tab> is dangerous
21:36 cotto I'm getting used to it.
21:37 cotto maybe I should change to chotto so I can get confused with chromatic
21:37 chromatic His CLA arrived; he's all set.
21:38 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.
21:40 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 #parrot
21:41 cotto http://www.youtube.com/watch?v=7s-5qi436w4
21:42 chromatic Alright, let's see if that works now.
21:44 chromatic mikehh, I think your SVN credentials match your Trac credentials; can you try committing your change now?
21:45 mikehh chromatic: cotto already committed but let me test some more :-}
21:46 cotto mikehh, you can add your full name to CREDITS if you want to test your shiny new commit bit.
21:57 l3t0 mikehh: congrats, now put it to good use!
22:10 PacoLinux joined #parrot
22:14 mikehh do you do a svn commit -m "commit message" or is there specific procedure?
22:15 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
22:17 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 :-}
22:20 dalek parrot: r40495 | mikehh++ | trunk/CREDITS:
22:20 dalek parrot: adding my full name and email to CREDITS
22:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40495/
22:21 mikehh ok that seems to work
22:22 chromatic cotto's going to have the profiling runcore finished before I get this mess refactored.
22:23 dalek close: r93 | Austin++ | trunk/src/parser/ (2 files):
22:23 dalek close: Moved a bunch of leftover code from actions.pm to parse_utils.pm
22:23 dalek close: review: http://code.google.com/p/close/source/detail?r=93
22:23 dalek close: r94 | Austin++ | trunk/ (2 files):
22:23 dalek close: Added TypeResolutionVisitor
22:23 dalek close: review: http://code.google.com/p/close/source/detail?r=94
22:23 dalek close: r95 | Austin++ | trunk/close.cfg:
22:23 dalek close: Added TypeResolutionVisitor
22:23 dalek close: review: http://code.google.com/p/close/source/detail?r=95
22:25 bacek joined #parrot
22:25 bacek Good morning
22:25 purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
22:25 bacek < purl-- >
22:26 mikehh I just ran make cover on Ubuntu 9.04 i386 - total 68.1 - it gave 64.6 on Ubuntu 9.04 amd64
22:27 l3t0 bacek: 'ello
22:27 l3t0 mikehh: who are the top offenders?
22:28 l3t0 mikehh: congrats on your first commit as well
22:28 bacek l3t0: ELHO
22:30 dalek website: darbelo++ | The last week in decnum-dynpmcs
22:30 dalek website: http://www.parrot.org/conte​nt/last-week-decnum-dynpmcs
22:30 jan joined #parrot
22:31 mikehh src/parrot_debugger.c 0, src/pbc* 0, pbc_to_exe.c 0 some others
22:31 ruoso joined #parrot
22:34 slavorg joined #parrot
22:35 kid51 joined #parrot
22:37 mikehh src/events.c 0, src/exec* 0
22:39 rg joined #parrot
22:40 kid51 Is that after 45 minutes or a full match?
22:42 l3t0 darbelo++ for blogging about gsoc+parrot
22:47 japhb allison: ping
22:48 allison japhb: pong
22:48 japhb I think I'm zeroing in on a difference between our mental pictures of Aviary.
22:48 japhb But I wanted to see if I was right.
22:49 japhb 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
22:49 japhb Because there's no perl there to do 'perl Makefile.PL'
22:50 japhb 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
22:50 japhb It seems like you want Aviary to go 'Oh, you need Strawberry Perl, I'll install that.'
22:50 japhb hmmm.
22:51 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'
22:51 allison you'll kill yourself trying
22:51 japhb Do we implement make in Parrot and call it done?
22:51 allison you mean the dependency on make?
22:51 japhb yes
22:51 allison noooo, we use system make
22:51 japhb But there isn't one on Windows boxen.
22:52 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.)
22:52 allison it may be nmake
22:52 allison it may be mingw-make
22:52 japhb On Windows, Parrot is installed as a binary.
22:52 japhb (By the average user, I mean, not us)
22:52 japhb Likely so on Mac as well.
22:52 allison what i
22:53 allison 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 allison you can't be everything to everyone
22:53 allison so pick one problem you *can* solve, and solve that one
22:54 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"
22:54 chromatic I'd like to avoid the unholy face-eating mess that is ExtUtils::MakeMaker.
22:54 allison chromatic: that too
22:54 japhb You don't like it when your computer eats your face?
22:54 japhb pshaw
22:55 japhb .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
22:55 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.
22:55 chromatic Which, to my mind, suggests NOT relying on make.
22:55 japhb chromatic: I was not suggesting that, I hope it didn't come across that way.
22:55 AndyA joined #parrot
22:55 allison japhb: no, I think he was assuming I was :)
22:56 japhb ah so.
22:56 allison chromatic: what it gets back to is anything Parrot depends on Aviary can depend on
22:56 chromatic Make is the WRONG thing to depend on.
22:56 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.
22:56 allison sure, and we're planning to change that
22:57 allison chromatic: (change the dependency on make) we're just not there yet
22:57 chromatic For Parrot or for Aviary?
22:57 allison chromatic: for Parrot
22:57 allison someday
22:57 chromatic I'm not talking about Parrot.
22:57 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.
22:58 allison but, if a module requires 'make' for it's ordinary install, Aviary shouldn't try to remove that dependency
22:58 allison it just needs to note the dependency
22:58 allison japhb: well, that's a very small set of things, since Parrot is designed to run independently
22:59 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?
22:59 japhb allison: Which is why I think *Parrot* is Aviary's dependency.  We can include all the PBCs we want.  :-)
22:59 allison or a make equivalent
23:00 allison 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.
23:01 japhb 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
23:01 chromatic If reimplementing make in PIR is a tarbaby, encouraging new modules to use make is the entire La Brea Tarpit on fertility drugs.
23:02 japhb OMG ROFL
23:02 allison but, the percentage of those modules compared to preexisting modules in other languages is pretty small
23:02 japhb *breathe* *breathe*
23:03 * 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)
23:04 allison japhb: seems reasonable
23:04 japhb chromatic: thoughts?
23:04 purl Moonlight shines through the dark night / clouds move overhead, casting shadows / dancing in the firelight
23:04 chromatic To make make work reliably across platforms, you have to reinvent a lot of wheels.
23:04 chromatic If 80% of modules just need to move files around, we get a big win avoiding that rathole.
23:05 chromatic 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
23:06 allison and like I said, the pure Parrot case is pretty simple
23:06 allison just copying PIR files or generated PIR files
23:06 allison we already have a test harness
23:06 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.
23:06 japhb heh
23:06 allison (ah, should have mentioned that in the Core Modules list)
23:07 allison chromatic: that I won't do, because that'll lead to the same kind of dead-end lockin as ExtUtils::MakeMaker
23:07 allison Aviary should be install-technique neutral
23:08 allison 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.
23:08 allison (if they don't, they're probably not prepared to support the platform anyway)
23:08 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)".
23:10 allison yah, don't get me started on Perl 5's deficiencies.... :)
23:11 allison japhb: is that more or less the different perspective you saw?
23:11 japhb Yes, I believe so.
23:11 japhb It seems that in general you're a strong proponent of 'simplest thing that could possibly work', at least where Aviary is concerned.
23:12 allison yes, at least to start with
23:12 allison we could spend years getting the perfect module install system working
23:12 allison but what we really need is something working now
23:12 japhb Preaching to the choir on that one.  :-)
23:12 allison and, you won't really know what needs to be refined until people are using it
23:14 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
23:14 allison writeup what you have so far, then dive in
23:15 * japhb is going to take a few minutes to mourn the smoking hardware first.  :-/
23:20 donaldh joined #parrot
23:23 mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40495 - Ubuntu 9.04 i386
23:40 treed dammit, github
23:47 dalek decnum-dynpmcs: r163 | darbelo++ | trunk/ (3 files):
23:47 dalek decnum-dynpmcs: Add a new decTest.originated file, this one tests the suitability of 'pow'(0.5)
23:47 dalek decnum-dynpmcs: as a substitute for the 'sqrt'() METHOD.
23:47 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=163
23:50 AndyA joined #parrot
23:50 mikehh rakudo (a5dfe95) builds on parrot r40495 - make test/make spectest (up to 27963) PASS - Ubuntu 9.04 i386
23:55 chromatic I don't even want to think about what this runcore patch will look like... talk about huge.
23:56 cotto chromatic, if it'd help I'd be happy working in a separate branch.
23:57 chromatic It makes no difference.
23:57 chromatic The problem is a lack of encapsulation of runcores and switching.
23:57 chromatic 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.
23:58 cotto I'll keep doing what I've been doing then.

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced