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