Try having a look at http://svn.perl.org/viewvc/parrot/trunk/docs/gettingstarted.pod?view=markup lathos's url is at http://xrl.us/bfyfk cool % peeps[work] has left peeps[work]!~peepsalot@cpe-67-9-161-48.austin.res.rr.com % alvar_ has left alvar_!~alvar@sub87-230-120-57.he-dsl2plus.de hmm, are people still trying to figure out where parrot ends and perl6 begins? thats ok I think the fact that people are discussing it means both projects are very much alive :) % iblechbot has joined #parrot % adu has left adu!~andrew@pool-71-178-230-131.washdc.fios.verizon.net % bgeron has left bgeron!bgeron@toad.stack.nl % barney has joined #parrot r25614 | bernhard++ | trunk: : [docs] : Mention docs/configuration.pod in README. diff: http://parrotvm.org/svn/parrot/revision/?rev=25614 r25615 | bernhard++ | trunk: : [config] : Update copyright notice, add () to method call. r25616 | bernhard++ | trunk: : Set svn:keywords for Makefile.PL % funktio has left funktio!funktio@nefele.fi r25618 | bernhard++ | trunk: : Update copyright notice. diff: http://parrotvm.org/svn/parrot/revision/?rev=25618 r25619 | bernhard++ | trunk: : [config] : Update docs as Parrot::Configure::Options::get_valid_options() has : been replaced by the array valid_option in Conf.pm and Reconf.pm. : Also a couple of minor beautifications. % jq- has joined #parrot % jq has left jq!~jquelin@merlin.mongueurs.net % TonyC has joined #parrot % jq- is now known as jq % leo has joined #parrot % HG` has joined #parrot % jq has left jq!~jquelin@merlin.mongueurs.net % jq has joined #parrot http://www.szabgab.com/blog/2007/08/1187639749.html oops % jq has left jq!~jquelin@merlin.mongueurs.net % ruoso has left ruoso!~ruoso@85.138.239.223 % alvar has joined #parrot % kj has joined #parrot % ruoso has joined #parrot % barney has left barney!~bernhard@p549A1758.dip0.t-ipconnect.de % jq has joined #parrot r25620 | kjs++ | trunk: : [docs] update docs/pct/pct_optable_guide.pod : o add circumfix/postcircumfix section : o some other minor stuff diff: http://parrotvm.org/svn/parrot/revision/?rev=25620 % mj41 has left mj41!chatzilla@pc-jurosz.ro.vutbr.cz r25621 | kjs++ | trunk: : [pynie] remove old TGE file, which is no longer used. : update MANIFEST. diff: http://parrotvm.org/svn/parrot/revision/?rev=25621 r25622 | kjs++ | trunk: : [src] align "=" characters and some declarations. r25623 | kjs++ | trunk: : [src] align "=" characters. diff: http://parrotvm.org/svn/parrot/revision/?rev=25623 r25624 | kjs++ | trunk: : [src] align "=" and declarations. remove some spaces where they don't make sense. diff: http://parrotvm.org/svn/parrot/revision/?rev=25624 r25625 | kjs++ | trunk: : [src] align declarations and operators. diff: http://parrotvm.org/svn/parrot/revision/?rev=25625 r25626 | kjs++ | trunk: : [src] align declarations : and fix some indention in switch statements. r25627 | kjs++ | trunk: : [src] align declarations and assignments. r25628 | kjs++ | trunk: : [src] align declarations and assignments. diff: http://parrotvm.org/svn/parrot/revision/?rev=25628 % alvar has left alvar!~alvar@sub87-230-120-57.he-dsl2plus.de % HG` has left HG`!~wells@user-5af064e4.wfd101.dsl.pol.co.uk % jhorwitz has joined #parrot % Limbic_Region has joined #parrot % HG` has joined #parrot % turrepurre has left turrepurre!~chatzilla@90-229-128-103-no52.tbcn.telia.com % rblackwe_ has left rblackwe_!~rblackwe@where.is.allmydata.net % rblackwe has joined #parrot % alvar has joined #parrot % sjansen has left sjansen!~sjansen@75-169-57-116.slkc.qwest.net % AndyAway has left AndyAway!~AndyL@host3130.follett.com % Andy has joined #parrot % particl1 is now known as particle * jonathan bugs Andy about his rakudo.org account oooh, i'll do that right now. w00t have you ever made comments on a blog entry? On rakudo.org? No. ok preferred email? jnthn@jnthn.net what do you want as a username? ok jonathan it is * :-) jonathan is fine % alvar has left alvar!~alvar@sub87-230-120-57.he-dsl2plus.de try the login and make sure all is well works :-) yay r25629 | petdance++ | trunk: : use new macros diff: http://parrotvm.org/svn/parrot/revision/?rev=25629 % Theory has joined #parrot % alvar has joined #parrot % Theory has left Theory!~Theory@dsl093-038-250.pdx1.dsl.speakeasy.net % Alias has left Alias!adam@CPE-124-188-112-79.nsw.bigpond.net.au % Alias has joined #parrot % zaphod has joined #parrot % sjansen has joined #parrot % jhorwitz has left jhorwitz!~chatzilla@68.163.25.103 r25630 | rblasch++ | trunk: : [src] Added Microsoft's standard source code annotation language (SAL) : annotations to NOTNULL, NULLOK, ARGIN, and others. diff: http://parrotvm.org/svn/parrot/revision/?rev=25630 % Ron has joined #parrot % DarkWolf84 has joined #parrot % kj has left kj!~IceChat7@ip565fd420.direct-adsl.nl % Pabellon has joined #parrot % po_boy has joined #parrot I need some help with parrot's SDL bindings, I need to be able to call SDL_EnableKeyRepeat so it can detect if a key is being press down % Alias has left Alias!adam@CPE-124-188-112-79.nsw.bigpond.net.au brrrr mdiep: Cold? i think Cold is great for jets. dense air -> more lift jonathan: I just saw your rakudo.org blog entry. You could add links to the SVN changesets that would show exactly how you did it moritz: I made mistakes and refactored bits along the way. jonathan: ok, then it's perhaps not that good But if you feel there's interest in how to do it, I'm willing to work on a "how to" for doing OO stuff. I guess other people working with PCT for other languages will need to implement similar things. probably I don't need it right now, but others might Sure, it's a good idea. I'll try and find time to work on that. jonathan: it's 3F outside today. and that's if you don't count the wind. :) % davidfetter has joined #parrot mdiep: Ouch! I'm going to Ukraine in a couple of weeks, but I'm not even sure it will be *that* cold there. % bgeron has joined #parrot I don't know I've ever felt that cold. I'd be curious to. For a *little* while. ;-) it doesn't take long to realize that it's cold when the wind is whipping by your face. That's what made the bit of the UK I used to live in cold. It wasn't really all that cold, but with a cold wind off the north sea, it sure felt it. are their any docs that describe the scoping rules in PIR? Specifically I'm wondering about shadowing lexical variables (having the same var declared in an outer and inner scope) % eternaleye has joined #parrot % eternaleye has left eternaleye!~eternaley@pool-71-112-140-63.sttlwa.dsl-w.verizon.net * Coke preps for his new $JOB tomorrow. zaphod: I don't know of one in particular, no: but I suspect the documentation for the .lex directive might have some pointers. % Ron has left Ron!rblasch@M1709P024.adsl.highway.telekom.at % kj has joined #parrot any cage cleaners around? Andy: ping I found some docs in languages/PIR and in pirc. There is also PDD20. I'm getting an idea about what is going on. you mean PDD19 probably? (just entered, not sure what you're talking about, but I can guess :-) 20 had a bunch about the lexpads. ooh ok. zaphod: you want info on lexpads? I was asking about scoping :) what's about them in pirc and lang/pir? mostly my not looking enough to be able to see PDD19 ehm... parse error :-P what do you mean? I mean that I'm not familiar with the PDDs yet and missed that there is one defining PIR. Thanks for the pointer I'm looking at it now :P ah ok :-) zaphod: if there's anything unclear in pdd19, please poke me * Coke pokes at some coding standard tests. Anyone bored? Setup an RT instance on feather for me to play with. =-) Coke: hi bonjour, kj. kj: hio there's a lot of XXX and stuff in src/* files they should be annoted with RT#'s no? a lot of them are just bare todo's i'm doubting, because there are so many of 'em (in other words, i think I can open like 50 or so tickets ...) ... In general, yes, those should be tickets; specifically, though, someone should actual vet that those are worth saving. And that could be done as you go, rather than opening a ticket and then having someone else decide. ehm, sorry, could you repharse the "vet ... saving"? not quite understand what you mean there *rephrase vet == To subject to thorough examination or evaluation ah :-) so, don't *blindly* turn them into tickets... right, so that could be more troublesome than i thought. Just opening tickets is easy. but it's kinda hard for someone like me to guess whether an XXX is worth doing Yah. I wouldn't bother doing it blindly. aye /usr/bin/ld: Undefined symbols: # _PIO_make_offset often the comments added to an XXX are too cryptic. yupl well, you can always go through them and find the ones that DO make sense. =-) % zaphod has left #parrot whoops. I had some cage cleaning in process I didn't commit. :| i hope it doesn't conflict with some aligning I did this afternoon I did an update first, we should be fine. you know anything about the 100 column coding std thing? for C code, that is aside from "don't do that"? it looks like a lot of C source is written with a 80 column marker in mind well, according to pdd07 we do ... 80-soft limit,100-hard limit, IIRC oooh ok Coke: pdd07 puts it rather liberal: source line width is limited to 100 characters. period. there's no mention of 80 chars afaics r25631 | coke++ | trunk: : [codingstd] : Update recent commits to deal with commas/spaces diff: http://parrotvm.org/svn/parrot/revision/?rev=25631 % davidfetter has left davidfetter!~chatzilla@start.fetter.org % kj has left kj!~IceChat7@ip565fd420.direct-adsl.nl r25632 | chromatic++ | trunk: : [src] Minor incidental cleanups almost not worth checkins on their own. diff: http://parrotvm.org/svn/parrot/revision/?rev=25632 % HG` has left HG`!~wells@user-3e8876c8.tcl114.dsl.pol.co.uk % marmic has left marmic!~chatzilla@89-253-66-101.customers.ownit.se % marmic has joined #parrot % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % buildbot has left buildbot!~buildbot@smtp.matisse.net % buildbot has joined #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-201-180.dynamic.mnet-online.de % adu has joined #parrot % Theory has joined #parrot r25633 | chromatic++ | trunk: : [GC] After the mark phase of a GC run, sweep the STRING/Buffer pools too so : that we can free allocated memory for string contents and reuse allocated : headers. : Maybe our memory use will go down again now. : headers is sort of just a little bit of evil in itself, leading to these kinds hi purl: i remember you from yesterday adu: huh? % LimbicRegion has joined #parrot hi adu hi Tene perl: are you a bot? No, I'm human. purl lies!! http://ninjapants.org/files/LIES!!!.jpg purl: are you a human? i don't know, adu purl: what is 1+1? 42 lol so are there only CIL=>PIR compiler? or are there also PIR=>CIL compiler Tene: so what is your area of concern? % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net % LimbicRegion is now known as Limbic_Region % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net adu: HLL development, mostly. Tene: meaning parrot/languages/* ? or perl6? perl6 is the spec, perl6 and pugs are the implementations. or will destroy the human race: http://xrl.us/bfm3h purl, forget perl6 diakopter: I forgot perl6 perl6? purl, perl6? diakopter: i haven't a clue lol adu: parrot/languages/* purl, perl6 is the spec, rakudo and pugs are two of the implementations. OK, diakopter. perl6? perl6 is the spec, rakudo and pugs are two of the implementations. OK, purl. diakopter: sorry... I'm about to submit a big patch for lolcode. ooo i never heard of rakudo adu: rakudo is languages/perl6 lolol "KTHXBYE" hehehe i can't believe thats a command anyways, I love languages, and I think that parrot is the closest thing there is to a glue that can tie them all together I know there have been VM's before, like JVM and CIL, but they're all too lowlevel purl, rakudo is in languages/perl6 (see http://parrotvm.org/svn/parrot/browse/trunk/languages/perl6) ...but rakudo is The Way Of The Camel. or having some failing tests as of 22JAN08 or Gotta Catch 'Em All... purl, rakudo is also in languages/perl6 (see http://parrotvm.org/svn/parrot/browse/trunk/languages/perl6) okay, diakopter. I think Parrot is in the perfect spot to be something that all major scripting languages can target, and then have the power to target other VMs which are lower-level than parrot below the parrot are droppings on newspaper diakopter lol anyways, I ran the big test and it gave this: http://pastebin.com/m7723455e why would you want to run parrot vm on top of another vm? I would like to help peepsalot: I would never want to, but other people seem dissatisfied with it, I'm not all I'm saying is that for those people who are dissatisfied with Parrot, target Parrot anyways, then work on translation code that will turn PIR=>JVM or something separately, so that we can continue to focus on Parrot, and not worry about other VMs anyways I'm going to start browsing languages/{c99,lisp,m4,pynie,scheme,tcl} and see if there is anything I can do lolcode patch sent. I'm confident that this patch is decent, and 'make test' passes. % rdice has joined #parrot r25634 | chromatic++ | trunk: : [src] Replaced a magic constant about the size of the destination STRING to : preallocate with a much smarter heuristic: the destination has to be at least : the size of the format string, but doubling that size will help us avoid the : first reallocation when substituting into it. % wknight8111 has joined #parrot ok i'm fairly new to parrot and just playing around, but it seems that pbc_merge fails with a segfault for me when i try to use it to merge a pbc that was compiled with .HLL 'Lua', 'lua_group' set, so i guess my question is, have i done something i'm not supposed to or is pbc_merge? pbc_merge not doing something its supposed to* % Pabellon has left Pabellon!~NA@expo-136.socallinuxexpo.org simcop2387: interesting simcop2387: I'm new too, I've never heard of pbc_merge adu: that was my thought too, sounds to me like a bug in pbc_merge and something to test for in the future but i've got no clue how to fix it i'm currently playing around with mixing lua and pir and turning them into an executable for the heck of it, but i've run into this % chromatic has joined #parrot pbc_merge is probably doing something untoward. The best thing to do is run the program under the debugger and post a backtrace to parrotbug@perl.org. thats what i figured, i'll have to figure out why gdb doesn't find any symbols but thats another problem (probably because i did it wrong quickly) ok... it works fine in the parrot directory... segfaults outside of it i'm missing something here... r25635 | chromatic++ | trunk: : [src] Remove string_nprintf(), which is unused except in t/src/sprintf.t. If : we need it later, we can get it out of SVN. Closes RT #44053. diff: http://parrotvm.org/svn/parrot/revision/?rev=25635 Hmm. That lolcode patch I sent hasn't showed up on RT yet. It probably can't load the dynpmc shared library (lua_group.so, right?) and doesn't have a check for it. thats what i'm thinking now What are PMC's, exactly? I'm having a lot of trouble in the code and documentation finding out what they are and what role they play They're the fourth type of primitive in Parrot. The other three primitives are integers, floats, and strings. A PMC is anything that's more complex, including aggregates, objects, coroutines, and threads. There's a standard PMC interface which describes operations that all PMCs must implement; that's the vtable interface we talk about sometimes. The semantics of that interface depend on the PMC, but every PMC supports all of those operations in the sense that you can perform them on the PMC without crashing Parrot. You might get an exception, but you can catch exceptions more easily than segfaults. okay, thanks. That helps a lot You're welcome. chromatic: yep that looks like the problem exactly (symlinked the runtime directory into place where i'm building it and it works fine, i'll file a bug as soon as i figure out a good way to describe it) % kid51 has joined #parrot I'll be sure to take a look at the report. There may be a simple solution. k % Theory has left Theory!~Theory@dsl093-038-250.pdx1.dsl.speakeasy.net wknight8111: so far as I understand them, a PMC is vaugely similar to an IObject interface % Theory has joined #parrot % alvar has left alvar!~alvar@sub87-230-120-57.he-dsl2plus.de thank you % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % ruoso has left ruoso!~ruoso@85.138.239.223 r25636 | jkeenan++ | ports: : This branch was intended to accommodate development of a module for : detecting macports during configuration, but will not be needed. r25637 | jkeenan++ | trunk: : Tag may be deleted because the branch it was marking has been deleted. % adu has left adu!~andrew@pool-71-178-230-131.washdc.fios.verizon.net % slightlyoff has joined #parrot % rdice has left rdice!~richarddi@CPE001217e365c7-CM00159a01d44c.cpe.net.cable.rogers.com % slightlyoff has left slightlyoff!~slightlyo@204.14.154.209 % petdance has joined #parrot weird, I do not know why svnbotl stopped giving diff URLs chromatic: Did you mean to remove string_npsrintf but not do so? I thougth I did. thought you didn't. or didn't comit at least. % Andy has left Andy!~AndyL@host3130.follett.com % petdance is now known as Andy That's OK, I'll do it. Okay, thanks. r25640 | jkeenan++ | trunk: : Applying patches supplied by Alan Rocker documenting more C functions. diff: http://parrotvm.org/svn/parrot/revision/?rev=25640 r25641 | petdance++ | trunk: : add a macro PARROT_HAS_SAL for the SAL annotations in MSC diff: http://parrotvm.org/svn/parrot/revision/?rev=25641 % kid51 has left kid51!~jkeen@pool-68-237-17-25.ny325.east.verizon.net % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net chrmoatic: Maybe you just removed the tests? chromatic: Maybe you just rmeoved the tests? I did. Forgot to commit src/string.c. you gonna commit it or am I? Just did. k Thanks for the check. SO what can we do about all the uninitialized memory usage? r25642 | chromatic++ | trunk: : [src] Actually remove string_nprintf(), which I forgot to do in r25635. diff: http://parrotvm.org/svn/parrot/revision/?rev=25642 we've got 94 unintialized usages, and only 48 leaks sjansen++ # useful feedback, can actually read a spec. r25643 | petdance++ | trunk: : remove a trailing space diff: http://parrotvm.org/svn/parrot/revision/?rev=25643 Mmmm, interesting: By using one of the _zeroed_ macros, I gain a bunch more of uninitialized usages. r25644 | petdance++ | trunk: : use the malloc wrapper macros more diff: http://parrotvm.org/svn/parrot/revision/?rev=25644 Uninitialized how? I'm starting to wonder if those uninitialized uses are coming from the stack scanning code. % Theory has left Theory!~Theory@dsl093-038-250.pdx1.dsl.speakeasy.net r25645 | petdance++ | trunk: : using more wrapper macros diff: http://parrotvm.org/svn/parrot/revision/?rev=25645 chromatic: where's the stack scanning stuff? trace_system_areas() I believe. % DarkWolf84 has left DarkWolf84!~dwolf@89.215.234.147 % keijohz has joined #parrot has anyone tried to use parrot in a game engine environment? or would there be any major obstacles doing it? Prob'ly not The embedding interface isn't entirely mature, but trying it is a good way to help get it mature. and how is the performance comparable to say Mono / Lua / plain C? i guess it will still be optimized, but i just want to have a vague ideia It's slower with Parrot, partly because Parrot's more flexible and partly because we haven't optimized much. My guess is probably a little bit slower than Lua, but not by an order of magnitude. ok thanks Possibly faster in some ways. % paq has left paq!~bot@139.Red-80-36-122.staticIP.rima-tde.net also can we control when garbage collection runs? Yes, from either C or Parrot bytecode. neat. :) huh. NOT calling trace_system_stack() causes a segfault. Yeah, PObjs in registers and on the stack will get collected. CPU registers, that is. You could temporarily comment out the calls to sweep and recollect, if you're debugging what I think you're debugging. I'm just flailing, really I don't get what pobject_lives does. It's the mark part of mark-and-sweep. All of the live GCable objects in the system should be reachable. So it's really "mark_pobject_to_live" Yep. "Don't collect this PMC/Buffer/String during the sweep phase of GC." Sounds like we might use a s/pobject_lives/mark_pobject/g I want to make one more change to the function if we change it. Instead of the if POINTER IS NOT NULL/then pobject_lives I want to move the if POINTER check into pobject_lives. This actually solves a problem that we'd have with a copying collector. % Dave has left Dave!~dave@pool-141-150-16-151.mad.east.verizon.net go ahead We can swap the internals of the macro if we use a copying collector -- in that case, before doing the check on the location where we have the pointer to the PObj, we check to see if something else in the mark phase has copied the PObj to a new pool. If so, we update the pointer to point to the new location. Otherwise, we copy it to the new location and update the old location with the new location. which macro? rumour has it which macro is this? =-) Well whatever pobject_lives is. Macro or function. function i think function is called from all over, including src/ops/io.ops and lib/Parrot/OpLib/core.pm. but I don't think anyone calls the macros except io.c itself. purl, forget function chromatic: I forgot function Thus we get to keep all of our lovely marking code, but we avoid (mostly) the trouble of updating references with a copying/compacting collector. r25646 | petdance++ | trunk: : teeny documentation diff: http://parrotvm.org/svn/parrot/revision/?rev=25646 % Ademan has joined #parrot I'm not entirely sure how it works for pointers in system areas though. % zostay has joined #parrot % zev_ has joined #parrot % MikeJS_ has joined #parrot % Coke_ has joined #parrot % Andy has left Andy!~Andy@64.81.227.163 % buildbot has left buildbot!~buildbot@smtp.matisse.net % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % japhb has left japhb!~geoff@76.191.190.8 % purl has left purl!~purl@209.218.54.66 % simcop2387 has left simcop2387!~simcop238@c-98-192-31-207.hsd1.ga.comcast.net % man_in_shack has left man_in_shack!~shack@87.65.87.203.static.vic.chariot.net.au % Coke has left Coke!~coke@cpe-72-228-52-192.nycap.res.rr.com % SCalimlim has left SCalimlim!ImustDIE@cpe-67-49-40-137.socal.res.rr.com % zev has left zev!~zev@CYBERTRON.MIT.EDU % shamu has left shamu!~krishna@c-67-161-28-111.hsd1.ca.comcast.net % MikeJS has left MikeJS!~mike@sprintf.net % zostay_ has left zostay_!~Hanenkamp@wsip-70-184-233-108.ks.ks.cox.net % arcady has left arcady!~arcady@pants.caltech.edu % diakopter has left diakopter!~diakopter@host01a.appflux.net % TimToady has left TimToady!~larry@host01a.appflux.net % DrForr has left DrForr!drforr@eldwist.darkuncle.net % Andy has joined #parrot % diakopter has joined #parrot % japhb has joined #parrot % simcop2387 has joined #parrot % TimToady has joined #parrot % man_in_shack has joined #parrot oh look, potential null derefs In fact, all-but-guaranteed null derefs ok, I am so pleased for tonight % Andy is now known as AndyAway % uniejo has joined #parrot Down with null derefs. Up with miniskirst. aw it wasn't that clever anyway. SO PLEASED All those "use of uninitialized memory" is really NULL derefs Or rather, all those NULL derefs were "use of uninitialized memory" although clealry the reverse may not be true. r25647 | petdance++ | trunk: : This little || should have been &&. Otherwise, we dereference NULL. : Thanks, splint! : Diff in runs from running valgrind on "hello world": : 4974c2974 Are you *sure* about r25647? AHA % AndyAway is now known as Andy Actually, I've just convinced myself. Some of these are two derefs in succession. It'll complain about dod.c:199 and then dod.c:203 we could probably throw an assert in pobject_lives and go from there. but now, I must head to bed. I'll try that tomorrow. % Andy is now known as AndyAway r25648 | fperrad++ | trunk: : [Lua] : - aligned with Lua 5.1.3 (part 1) diff: http://parrotvm.org/svn/parrot/revision/?rev=25648 % paq has joined #parrot % iblechbot has joined #parrot