% teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % purl has left purl!purl@sentient.life % Ademan has left Ademan!~dan@h-68-164-169-20.snfccasy.dynamic.covad.net % magnachef has joined #parrot % Ademan has joined #parrot % KVirker has joined #parrot % KVirker has left #parrot % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % stupidbot has joined #parrot % bacek has joined #parrot r28999 | fperrad++ | trunk: : [install] pipp diff: http://www.parrotvm.org/svn/parrot/revision?rev=28999 % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au r29000 | fperrad++ | trunk: : [smoke] add pipp : - remove plumhead : - remove trailing space : - add Perl coda diff: http://www.parrotvm.org/svn/parrot/revision?rev=29000 % jan has left jan!~chatzilla@89-253-66-101.customers.ownit.se r29001 | fperrad++ | trunk: : [Pipp] recursive count is not implemented diff: http://www.parrotvm.org/svn/parrot/revision?rev=29001 % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % stupidbot has left stupidbot!bacek@123-243-38-218.tpgi.com.au r29002 | fperrad++ | trunk: : [Pipp] complete ctype diff: http://www.parrotvm.org/svn/parrot/revision?rev=29002 % stupidbot has joined #parrot % MeGaMiC has joined #parrot % MeGaMiC has left MeGaMiC!~megamic@ppp59-167-49-196.lns2.cbr1.internode.on.net % bacek has joined #parrot % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % bacek has joined #parrot evening everyone good localtime() bacek ;) moritz: :) rt #56214 Error calling said() for rt: Malformed RT response received from http://rt.perl.org/rt3/ stupid bot... I've disable this function for now... message pmichaud index2.diff from RT#56214 waiting for your opinion purl? s/message/msg/ maybe? purl, messages? ENOPURL % barney has joined #parrot % rurban has joined #parrot Shouldn't contain the languages/*/Makefile a install target? I'd need it for the examples and docs % gmansi_ has left gmansi_!~gmansi@190.55.35.246 % kj has joined #parrot % vhold has joined #parrot They probably should have an 'install' target. But nobody bothered yet. r29003 | bernhard++ | trunk: : [Pipp] : Add a TODO test for contants. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29003 % Whiteknight has joined #parrot % davidfetter has joined #parrot % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % contingencyplan has joined #parrot % kid51 has joined #parrot % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % contingencyplan has joined #parrot % rdice has joined #parrot cygwin needs to add an import lib. How does mingw does that? in root.in I'd need just to add something like after LIBPARRTO_SHARED LD : #CONDITIONED_LINE(win32): ----out-implib libparrot.dll.a \ The problem is just the ldflags line in pkgconfig and config_lib.pasm. -lparrot linking to a dll alone works fine, but this would need to change those two settings. Generating the import lib seems to be easier. All assumed from a packaged version via reallyinstall. % confound_ is now known as confound r29004 | bernhard++ | trunk: : [Pipp] : Implement define() and constant(). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29004 BTW: does #CONDITIONED_LINE(win32) contain cygwin also? nope. barney: There was a message posted to list requesting that commit messages contain more than just the subsystem -- that they include some description as well. (Some problem with a git tool.) rurban you can ask ./parrot_config win32 kdi51: do you mean int the first line of the message ? that's what the git tools expect, yes barney: I only got cygchkdll for cygwin. good enough. I see % acalhoon has left acalhoon!~acalhoon@74-131-25-177.dhcp.insightbb.com % tetragon has joined #parrot barney: Yes. See a post by G Broadwell in past day. (Just passing the message along; I have no preference, myself.) * kid51 only started to indicate a subsystem in commit messages in the past few days :-) kid51: At some point in the near future, I'll be temporarily unable to do any PPC testing. (near future is defined as when Apple can ship an LCD panel to Toronto without damaging it) Thanks for the update. I've been nudging people who participated in buildfest at YAPC to try out all your patches, but am experiencing the herding cats problem. r29005 | bernhard++ | trunk: : [Pipp PHC] Add support for constants. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29005 I'm half-tempted to check the boxes at the Apple store for Xcode and do 10.5 Intel testing there bacek: are you around? moritz: little bit for.t? bacek: with your latest index() patch, will the returned failure be a StrPos? not yet. actually I thinks that StrPos is redundant... (Int|Failure) junction is enough for any use-cases... perl6: my Int $a = 0; say defined $a; OUTPUT[1␤] * barney is going to enjoy the sun at the Isar bacek: only as long as we don't implement character levels barney: Munich? so, for index() we need something like my $p = $b.index(foo); if defined $p ... Yes bacek: I'm going to apply your patch and extend the tests a bit % barney has left barney!~bernhard@p549A1F58.dip0.t-ipconnect.de r29006 | moritz++ | trunk: : [rakudo] implement Str.index, patch curtesy by bacek++ (Vasily Chekalkin) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29006 r29007 | moritz++ | trunk: : [rakudo] add S29-str/index.t to spectest_regression. : bacek++ for implementing diff: http://www.parrotvm.org/svn/parrot/revision?rev=29007 % kid51 has left kid51!~jkeen@pool-70-107-7-97.ny325.east.verizon.net % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % skv has joined #parrot % allison has left allison!~chatzilla@ppp-71-139-37-118.dsl.snfc21.pacbell.net % TiMBuS has left TiMBuS!~Hurf@123-243-167-27.static.tpgi.com.au r29008 | pmichaud++ | trunk: : [rakudo]: coding stds in src/classes/Str.pir . diff: http://www.parrotvm.org/svn/parrot/revision?rev=29008 % rdice has joined #parrot parrot doesn't seem to implement complex log() function it's possible. I tried to cargo-cult a log(Complex) impelementation in the same way that exp() is done, and it still returns 0 always oh wait, it does seem to be implemented and it seems to be correct (at least from a glance at the src/pmc/complex.pmc file) nopaste diff ? "moritz" at 89.13.212.252 pasted "complex log() and log10() for rakudo - not working" (53 lines) at http://nopaste.snit.ch/13453 log10 doesn't appear to be implemented in complex.pmc yes, but if parrot is clever enough it just dispatches to log(x)/log(10) I don't think parrot is that clever that would explain whay log10 doesn't work, but what about log()? btw I fear the complex log10 tests are a bit wrong ;) % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com ... not anymore ;) what test file? % tetragon has left tetragon!~seneca@76-10-148-120.dsl.teksavvy.com spec/S29-num/log.t "pmichaud" at 76.183.97.54 pasted "log on complex seems to work" (14 lines) at http://nopaste.snit.ch/13454 log10 fails "pmichaud" at 76.183.97.54 pasted "log10 fails" (15 lines) at http://nopaste.snit.ch/13455 I'm not sure why your patch doesn't work, unless it's due to Parrot MMD somehow. is ln an opcode or a method dispatch? (method dispatch is going away) it's a pseudo-opcode that does method dispatch DietCoke: do you plan to replace it with a real opcode, or eliminate it entirely? nothing in core was using it. in the no_builtin_methods branch, it's just gone. I can add opcodes for anything that was a builtin for which an opcode is needed. but I didn't want to bother adding opcodes for things that weren't used. adding an opcode might be tricky and I'd be initially against that approach as am I. Good. switch to explicit methods. =-) (may be why the log10 isn't working, that may not be in the list in src/builtin.c on trunk. log10 isn't implemented in complex.pmc ah. (yah, it's in the list, so that'd do it.) so far, the only opcodes I added were the 4 say variants. if we write an opcode for 'ln', we also have to do opcodes for "abs", "neg", "not", "fact", "sqrt", "ceil", "floor" "acos", "asec", "asin", "atan", "cos", "cosh", "exp", "ln", "log10", "log2", "sec", "sech", "sin", "sinh", "tan", "tanh", "fact" yup. note that I think most of those already have _n_n variants. and that seems like a horribly lot of opcodes to generate if they're just going to be turned into method calls I'll all for dropping them, no arguments here. okay I was only considering it on the off chance you were going to ask for them. right now I'm on a "get rid of unneeded opcodes" bias You can switch over to the method syntax now. (if you want, you can try out the branch and see what breaks in perl6 there. (this whole thing, btw, is just to help me kill the getclass opcode. =-) I'm trying to focus on $_ handling today I was going to do it yesterday but family events kept me from really getting into it moritz: instead of a = ln a try a = a.'ln'() that switches it from being an opcode to a method call % Whiteknight has joined #parrot pmichaud: no luck here hrm I suspect mmd issues then pmichaud: but focus on $_ first, that's much more important atm ;) I agree * DietCoke has about a dozen checkouts of parrot on feather. Oy. r29009 | coke++ | no_builtin_methods: : Remove targets related to src/builtin.c : Add in some -j protection from trunk. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29009 % davidfetter has left davidfetter!~chatzilla@start.fetter.org what generates this line in src/gen_builtins.pir for perl6: .sub 'exp' :multi(Complex) DietCoke: that's from src/classes/Complex.pir gen_builtins.pir seems to be the concatenation of src/classes/* and src/builtins/* % rurban has left rurban!~rurban@212-183-58-223.adsl.highway.telekom.at % rurban has joined #parrot ok. with a small change to Complex, all internal tests pass. checking the regression tests... "coke" at 65.91.151.194 pasted "Use explicit method syntax..." (22 lines) at http://nopaste.snit.ch/13456 r29010 | pmichaud++ | trunk: : [rakudo]: spectest-progress update: 83 files, 1365 passing tests diff: http://www.parrotvm.org/svn/parrot/revision?rev=29010 (though looking at that, I'm wondering why I passed the argument in one case, and not the other. presumably I'll find out if something fails in the regression. =-) should _not_ be passing the argument, I suspect. eh, these methods are wierd, at least on the base float. we aren't calling the methods on the base float, though. rakudo's floating point sqrt currently uses sqrt_n_n ok. are these getting called on the root Complex object? probably not looks like it's a subclass of Complex ok. with that small patch, no problems with assuming any other builtins. excellent. DietCoke++ Coke++ so, just figure out which PMC is actually getting those invoked to figure out if you need to pass it. if it's like Complex in core, you don't need 'em. (just to get all the karmas in the right slots :-) Float requires that it be passed? that's.....odd and perhaps even wrong. ah, no. I was confusing it with the string methods. okay (some of which require you pass IN a string to work on.) (even though, clearly, you've already got one.) okay, I'm going to focus on $_ for a while, so I might not answer unrelated questions :-) I might not even make any snide remarks :-) snide remarks = sneaky side remarks? ;-) % rdice has joined #parrot $_ particle: implicit remark? ;-) .that_would_be_this pmichaud: you lost ;) I said *might* besides, $_ is clearly on topic :-) i'm just encouraging conversation about the current topic r29011 | pmichaud++ | rakvar: : drop branch to re-sync it with trunk diff: http://www.parrotvm.org/svn/parrot/revision?rev=29011 r29012 | pmichaud++ | rakvar: : Recreate branch from trunk diff: http://www.parrotvm.org/svn/parrot/revision?rev=29012 % rjbs has left #parrot % confound has left confound!~hdp@glaive.weftsoar.net % confound has joined #parrot % gmansi has joined #parrot % Ontolog has joined #parrot r29013 | fperrad++ | trunk: : [Pipp] file_get_contents & readfile diff: http://www.parrotvm.org/svn/parrot/revision?rev=29013 oh cool I'm logged publicly? http://irclog.perlgeek.de/parrot/today and http://irclog.perlgeek.de/perl6/today for #perl6 % AndyAway is now known as Andy r29014 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] changes to header allocators. Better separation between aggregate and non-aggregate types diff: http://www.parrotvm.org/svn/parrot/revision?rev=29014 % crapuleux is now known as cognominal r29015 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] updating to trunk r29014 diff: http://www.parrotvm.org/svn/parrot/revision?rev=29015 I've prepared now a patch which renames pdb to parrot_pdb - conflicts with existing pdb binaries. (python, ...) feather going down shortly. hard disk failure save early save oftne. commit often. (wait, that doesn't help if the svn repo is on feather... ;-) is the repo mirrored anywhere? % leo has left leo!lt@feather.perl6.nl % PerlJam has left PerlJam!duff@193.200.132.135 % Juerd has left Juerd!juerd@193.200.132.135 % pmichaud has left pmichaud!pmichaud@feather.perl6.nl % jonathan has left jonathan!jonathan@feather.perl6.nl % dalek has left dalek!dalek@feather.perl6.nl % polyglotbot has left polyglotbot!~evalbot@feather3.perl6.nl I didn't think the svn repo was on feather % wolverian has left wolverian!wolverian@feather.perl6.nl ours isn't, no. pugs repo is on feather so, no spectest updates for a while i hope moritz can deal with that :) particle: I'm writing the "how to add tests" howto, it'll take some time to finish before I want to commit it ;) moritz, are you putting something about make cover in there to see what still needs to be tested? cotto_home: Perl 6 spectest, not parrot tests :/ gotcha unless cotto_home has developed a coverage testing engine for perl 6... no such luck % cjfields has joined #parrot % james has joined #parrot % rob has joined #parrot % jan has joined #parrot % magnachef has left magnachef!~magnachef@cpe-74-78-109-88.buffalo.res.rr.com % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % wolverian has joined #parrot % dalek has joined #parrot % leo has joined #parrot % polyglotbot has joined #parrot % cosimo has left cosimo!~cosimo@pat-tdc.opera.com % pmichaud has joined #parrot % PerlJam has joined #parrot % rob has left #parrot % Whiteknight has joined #parrot % Ademan has left Ademan!~dan@h-68-167-207-191.snfccasy.dynamic.covad.net how can I easily do a diff of "stuff I've changed on branch foo as compared to trunk". do a reverse merge then an svn diff of my work dir? % Ontolog has left Ontolog!~cdavaz@121.235.241.215 % Ontolog has joined #parrot you wanna diff against head, or base? welp, I was thinking base originally,but since it would have to be applied against head... I'll just do it this way. =-) % Juerd has joined #parrot okie, that'll work hurm. annoying. I want -all the changes on that branch-, but I still have to specify start/end revisions. svn log --stop-on-copy that'll get you the rev number for branch creation I can get it, it's just annoying that svn merge isn't doing that -for- me. =-) * DietCoke tells himself "this is still better than CVS." =-) DietCoke: that's one of the many reason why SVN sucks % james has left #parrot r29018 | Whiteknight++ | vtable_self: : Creating branch to work giving vtable functions the self keyword diff: http://www.parrotvm.org/svn/parrot/revision?rev=29018 hurm. now the merge seems to be picking up things it shouldn't. in a check out of trunk, I was running: svn merge -r28930:HEAD https://svn.perl.org/parrot/branches/no_builtin_methods/ . where 28929 is the revision that created the branch. moritz: in this case, most of the suck could be handled by a small wrapper script. DietCoke: or by native support for branches ;) % Casan has joined #parrot % sjansen has joined #parrot % Casan has left Casan!~IceChat7@users163.kollegienet.dk DietCoke: then why didn't you use 28929 in the merge? % Ademan has joined #parrot % jonathan has joined #parrot see docs/project/committer_guide.pod % magnachef has joined #parrot r29019 | Whiteknight++ | vtable_self: : [vtable_has_self] uploading initial patch to IMCC grammar. Modification to one test for desired behavior. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29019 % Theory has joined #parrot % barney has joined #parrot % Theory has left Theory!~Theory@72-254-45-237.client.stsn.net % Theory has joined #parrot particle: doesn't seem to impact the update in the merge of wrong stuff. U runtime/parrot/library/CGI/QueryHash.pir (If that was ever changed on branch, it was only because i merged changes from trunk.) Thank you, kid51 and moritz, for speaking up on behalf of git tools in the wee hours today. DietCoke: I think you're beginning to see why adherents to other source controls say that SVN merge is insane .... I'm ready now with my cygwin perl package and will update the Bug#56544 with the final install_files.pl patch. % DietCoke has left #parrot % kj has left kj!~IceChat7@193.1.100.105 rurban++ we will see how useful the layout will be. I just put all the languages with the exe's and the docs and examples into one big parrot-languages package just parrot-perl6 is seperate. I didn't like it to be named as in fedora: "parrot-rakudo" % Theory has left Theory!~Theory@72-254-45-237.client.stsn.net r29020 | pmichaud++ | rakvar: : [rakudo] implicit part 1 : * Eliminate incorrect declarations from statement_block : * Add declare_implicit_var to allow controlled addition of implicit vars diff: http://www.parrotvm.org/svn/parrot/revision?rev=29020 r29021 | bernhard++ | trunk: : [Pipp PHC] Fiddle with the SEA-rule. Pass hello_11.php. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29021 % tco has joined #parrot r29022 | pmichaud++ | rakvar: : [rakudo]: implicit vars #2 : * Eliminate __MAYBE_NEED_TOPIC_FIXUP diff: http://www.parrotvm.org/svn/parrot/revision?rev=29022 r29023 | pmichaud++ | rakvar: : [rakudo]: implicit vars #3 : * Anything that parses with a signature goes into $?BLOCK_SIGNATURED, : even if the signature is empty or non-existent diff: http://www.parrotvm.org/svn/parrot/revision?rev=29023 % desertmax has joined #parrot r29024 | bernhard++ | trunk: : [Pipp PCT] Use correct sub for string concatenation. : Pass two more test cases in hello.t diff: http://www.parrotvm.org/svn/parrot/revision?rev=29024 % masak has left masak!~user@130.238.45.242 % AndyA has left AndyA!~andy@ca93nt.hexten.net r29025 | pmichaud++ | rakvar: : [rakudo]: implicit vars #4 : * Change routine_def to initialize $_, $/, $! to be scalars : * $! and $/ in pblocks default to OUTER::<$!> or OUTER::<$/> diff: http://www.parrotvm.org/svn/parrot/revision?rev=29025 r29026 | bernhard++ | trunk: : [Pipp PCT] use correct subs for string comparison. : Pass some more TODO tests. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29026 % silug has left silug!~steve@ppp-70-225-32-179.dsl.covlil.ameritech.net pmichaud: how do you specify unlimited outer? i suggest either 0 or '*' 0 would allow max to stay an int it's strictly internal at this point it will either be MAX_INT or -1, though because 0 will be used to indicate "search caller's scope" % nnunley_ is now known as nnunley i thought 1 was caller's scope hrmm 1 is caller's outer scope yeah, took another read to see that I don't have the params in yet for it (because don't want to add them if I don't need them), but the idea will be that !OUTER can specify the min and max depths ## start with caller's outer scope (i.e., outer depth is 2) .local int depth depth = 2 with default of both being 1 that's a confusing comment % peepsalot has joined #parrot the current scope is inside of !OUTER depth 1 is the caller's scope depth 2 is the caller's outer scope yes, i see that. however, the api comment refers to caller's immediate outer scope as 1 ...api comment? oh, right C parameter specifies the maximum outer to search -- the default value of 1 will search the caller's immediate outer scope and no farther. so you have a magic number of 1 inside the sub % slightlyoff has joined #parrot you add to depth when I do '!OUTER'('$foo', 3) it means that I want to search up to 3 outer scopes from the current one which means I search up to 4 outer scopes from within !OUTER % slightlyoff has left #parrot I can change depth to read depth = min+1 yes, that's what i'd like :) also, does it make sense to rename BLOCK_SIGNATURED to ROUTINE? the first isn't a very clear name, but i'm not certain the second is precise not every signatured block is a Routine for example, -> $a { ... } has a signature but isn't a routine yeah, that's what i was thinking :( % cjfields has left #parrot and POINTY_OR_ROUTINE is ugly too and what I'm really getting at is that a PAST::Block has already been started, because we parsed a signature as opposed to creating a new PAST::Block at this point (e.g., for a bare curly) r29027 | pmichaud++ | rakvar: : [rakudo]: implicit vars #5 : * Change comment and definition of depth in !OUTER, per particle++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29027 thanks, pmichaud++ Hmm... I should push this stuff up before I forget about it. r29028 | tene++ | trunk: : [lolcode] : * Store params in $?BLOCK symtable. : * Store subs in $?BLOCK symtable. : * Start building a parse tree for expressions at compile time. : * Minor PCT typo fix. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29028 pmichaud: I was looking into examining the lexical environment to find vars and subs that the compiler doesn't know about for lolcode, and I realized that in normal cases, the compiler is already running in the same environment that the compiled code will run in, so I can just do normal lookups instead of passing something in, afaict. Can you confirm or deny that this is a sane plan? I cannot see jesse. I cannot mail to parrotbug@parrotcode.org from seamonkey my latest cygwin realinstall fixes. Not with attachments and not without. Should I just send them to the -porters list instead? Tene: looks not sane to me, that way the code will no work same way when running a generated pbc. rurban: yes Tene: it depends on the structure of the compiler particle, ping However, in some cases it is reasonable for the compiler to look at the existing environment for hints for example, things like eval() can do that the meeting is cancelled I'm really sorry to do that, but one Anandeep is sick and needs to be there cotto-work: ack! oh, well then i can start my vacation earlier > > Thanks. > > -Daniel > > ________________________________ > > From: Stephen Weeks [mailto:sweeks@gurulabs.com] > Sent: Wed 7/2/2008 11:14 PM > To: Daniel Lyman > Subject: Re: RE : [Fwd: RE: fooru kernel module problem in GL250] > > > % Tene has left #parrot ...? Wrong paste target? seems like ;) % Tene has joined #parrot r29029 | Whiteknight++ | vtable_self: : [vtable_has_self] added some comments around to help me find my way through this IMCC mess. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29029 * Tene fail. Whiteknight++ # gsoc_pdd09 branch builds cleanly moritz: does it run, though? I thought he said it didn't run yet. it builds!?! I mean, it didn't last time I checked Tene: it doesn't, "make test" segfaults on PGE.pbc okay, that's more like it. That's it's been doing for me Whiteknight: I just updated, 'make realclean; perl Configure.pl && make -j 2', and it compiled ;) what platform are you guys one? s/one/on/ Debian (32 bit i386) holy crap, same as me * Whiteknight has to go try it again now from a cross-platform development POV it's a boring platform because all the platform dependent failures happen on other OSses ;) moritz: or at least, we do don't know if the problems we have are platform dependant, we fix anyway. moritz, you're saying that it compiled all the way through? did it build PGE.pbc? r29030 | pmichaud++ | rakvar: : [rakudo]: implicit vars #6 : Make subroutines to handle implicit vars in immediate blocks (e.g., 'if') : and in function blocks (e.g., 'for'). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29030 Whiteknight: I think that the last output from 'make' was not an error Whiteknight: then I did a "make test", and it complained about PGE.pbc I'm double-checking now. but if it works then it's a miracle trying again to confirm no error message in the last few lines, but 'make' had an exit status of 2 yeah, the -j hides the failure on PGE.pb scroll up a bit and you can see the segfault * moritz tries again without -j2 and without ccache pmichaud: this refactor and enhancement is looking really good so far pmichaud: when you're done with your branch the autounfudge tool will really help ;-) moritz: svn diff exists on windows, can you use that instead of diff? particle: don't think so, the files are not under version control You can get GNU diff for Win32. particle: (unless you find a way to hijack svn diff for arbitrary files) r29031 | bernhard++ | trunk: : [Pipp PCT] Start to use optok parsing. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29031 i have diff on win32, but it's hard to make that a requirement particle: is it worse than requiring Algorithm::Diff and a custom workaround? yes, it's worse cpan requirements are better than non-cpan from my pov. don't know how patrick feels ok, I'll see if I can find some tuits to work around it write a diff util in rakudo :) % DietCoke has joined #parrot Or in lolcode. * DietCoke tries to summon dietcoke lolcode doesn't have IO yet. Even better ;) * DietCoke tries to summon dietcoke, one more time. What's Pipp? Is that the new name for plumhead? Yes. cool moritz: I got now enough tuits to send email to parrotbug :) pipp is Pipp is Parrot's PHP moritz: problem was the missing -- bla --- bla markers purl, pipp is Pipp is Parrot's PHP purl-- % DietCoke has left DietCoke!~coke@cpe-72-228-52-192.nycap.res.rr.com I have to package the new clisp-2.46 now, and come then back to parrot. I believe some there are still some dynlib problems with wrong dll names for cygwin. * particle heads for the rain forest. happy fourth! & take pictures! r29032 | fperrad++ | trunk: : [Pipp] add PMC PhpResource diff: http://www.parrotvm.org/svn/parrot/revision?rev=29032 r29033 | bernhard++ | trunk: : [Pipp PCT] Add bitwise ops to optok parsing. : However readded tests are still TODO. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29033 barney, does fperrad know that I've got an out-of-tree phparray implementation? I'd hate for there to be duplication on something like that cotto: I don't know. Maybe we should do a #pippsketch getting him to hang out on #parrot would be sufficient That's right. do you know why he doesn't? His English seemed fine over email. Probably simply personal taste cotto-work: why out-of-tree? :) there's no accounting for taste I wrote some of it during working hours and need to get the legal dep't to clear it before I can commit oh. yeah * barney is calling it a day % barney has left barney!~bernhard@p549A1F58.dip0.t-ipconnect.de % iblechbot has joined #parrot Is there a way to determine whether a given PMC has an overridden Invoke vtable method? or, whether it's invoke vtable is defined in PIR? Hmm... I wonder if I committed something I shouldn't have committed. ...now to see how much of spectest_regression is broken with my changes. r29034 | tene++ | trunk: : [lolcode] : * Oops, left some debug statements in. Remove them. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29034 will the find_method vtable function find a vtable method if it exists, or will it only find methods? it only finds methods is there something I can do to look up a vtable method then, given it's name? vtable methods aren't callable directly from pir, unless they're indicated via :method or are otherwise treated as a sub What is the consequence of running load_bytecode on the same pbc multiple times? tene: if it's the same pathname each time, only the first load occurs. Later ones are short-circuited. Fantastic. okay, I think i'm thinking about the wrong problem parrot doesn't distinguish between 'foo.pir' and 'foo.pbc' (those would each be loaded) and likely 'path/to/foo.pbc' and 'foo.pbc' would cause a double-load also we had some discussion years ago about embedding a uuid into the .pbc files to detect it based on the file..... but that didn't happen Whiteknight: if I define a vtable method in PIR as .sub 'foo' :method :vtable('get_boolean') then I can only get to it as a method by using $P0.'foo' er then I can only get to it as a method by using $P0.'foo'() --- i.e., find_method will only find the 'foo' entry "tene" at 67.137.148.11 pasted "handle :lang in eval()" (47 lines) at http://nopaste.snit.ch/13457 pmichaud, I'm trying to fix invokations of the type $P0(), which calls the invoke vtable method Whiteknight: yes, I remember those being somewhat broken. :-| That's a bit hackish, but it works until we actually have a registry solution of some sort. ...but I thought they were fixed now. at least when I tested it a couple of months ago it seemed to do what I wanted I think IMCC generates a callmethod opcode for that, and I think I can implement the solution directly in the opcode itself if I can figure out what I need it probably works now, I'm trying to implement a patch where :vtable functions have the "self" keyword ....why would $P0() generate a callmethod opcode? that seems....wrong maybe it generates an invoke opcode, I'm having trouble reading this IMCC source invoke opcode would be correct, yes. either way, I'll figure it out Whiteknight++ * pmichaud gets a stunned look ....spectest_regression passed with my changes on the first attempt. Nice. pmichaud++ that's.... scary. pmichaud: does it pass *more* tests, though? good scary, but still scary. % rurban_ has joined #parrot Tene: if I remove a few 'skip' markers it might :-) pm: clearly your changes weren't broad and sweeping enough :) I guess not. I guess I need broader and sweepier changes. % rurban_ has left rurban_!~chatzilla@212-183-48-21.adsl.highway.telekom.at pmichaud: will you have tuits to look at that eval patch for me? % allison has joined #parrot % rurban has left rurban!~rurban@212-183-58-26.adsl.highway.telekom.at Seems to work fine with lolcode, but cardinal gives me some weird errors I need to look at. what if the name of the compiler doesn't match the name of the pbc? perhaps rakudo should have a registry of :lang values, at least short-term. That's too architectural for me to propose. philosophical question: Instead of treating the "self" of a method as just the first in a list of arguments, could we create an interp->arg_self field and pass it in there separately? tcl gives me 'Null PMC access in find_method' and cardinal gives me "push_pmc() not implemented in class 'Sub'" * Tene tries lua I really like the fact that self is the first argument it fits well for Rakudo and PGE r29035 | moritz++ | trunk: : [rakudo] added S03-operators/arith.t to spectest_regression. Auzon++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=29035 r29036 | fperrad++ | trunk: : [Pipp] fopen, fclose & fpassthru diff: http://www.parrotvm.org/svn/parrot/revision?rev=29036 okay lua gives me "Unknown PMC type to thaw 0" okay, let me ask from a different angle. If I overwrite the invoke vtable of the Sub pmc, what does that look like internally? How does parrot know whether to call the PIR method or the C method? APL works, except for encoding issues. I don't think you can overwrite 'invoke' of the Sub pmc, except via a subclass of Sub that's like saying "how can I overwrite the get_integer vtable of the Integer pmc" oh, I see what you are saying, so you cant have both a PIR and a C version of the same vtable method in the same class? That makes a little bit more sense I'm not even sure it's possible to overwrite a vtable method of a PMC class (from PIR) ...but if you can, then it would seem to replace any existing vtable method for that PMC class okay, so that's only possible for PIR-defined classes and subclasses? I think so. I'm not the architect, but that's my expectation. % AndyA has joined #parrot okay, so would you know if, at the C level, that there is a way to determine whether a particular vtable method is defined in C or PIR? Ooo... I get "continuation jumping runloops" trying to eval php from rakudo. Tene: I suspect that :lang on eval may need to wait on pdd25cx, then if not for rakudo (and others) to start using .HLL Whiteknight: I'm sure there's a way to find out if a vtable method is defined in C or PIR, but it seems like one shouldn't need to check that % desertmax has left desertmax!~markus@62-47-167-219.adsl.highway.telekom.at pmichaud, you would think so. PIR-defined vtable methods need to be passed the "self" argument, whereas C-defined versions already have it "invoke methods" ...but wouldn't this be the same code that is already handling :method flags? no. $P0() calls the invoke opcode, not the callmethod one let me put it another way currently if I do .sub 'foo' :method :vtable('get_boolean') and then later do $I0 = istrue $P0 then my 'foo' method gets invoked, and self is properly set to $P0 note that there's no "callmethod" opcode here. so _something_ is already handling this. okay, I think I'm explaining it wrong I'm talking about the "invoke" vtable method only, not get_boolean or any others if I have ".sub invoke :vtable", without the :method, the invoke function should have a "self" argument ...but if you wrote ".sub invoke :vtable :method" it would work, right? probably, yes that's what I mean "it's the same code that is already handling :method flags" we just want it to happen for :vtable even when :method isn't present. i.e., ":method" is in some sense redundant here --- every :vtable effectively implies :method exactly. But IMCC can't determine whether "$P0()" calls a custom vtable override, however I don't think IMCC is what should be determining that. that seems like it's part of the vm itself But IMCC sets up the code to pass the arguments, including the "self" argument ohhhhhhhh so, based on syntax, if I call "foo.bar()" IMCC passes "foo" as the first argument to "bar" this gets back to my point earlier $I0 = istrue $P0 but If I call "$P0()" It won't pass $P0 as the first argument to it's invoke vtable IMCC doesn't have to know that $P0 is to be the first argument to 'foo' -- something else is doing that. same goes for $P0() IMCC shouldn't be responsible for passing the additional argument Right, which is why I'm trying to find a more appropriate place to do it instead, the invoke opcode needs to be smart enough to say "oh, I'm going to a PIR vtable method, so pass the thing being invoked as its first argument." Exactly, and if the invoke vtable method is a PIR function, we need to pass the invoked object as the "self" parameter first currently, this is not happening, unless we do :method too and if .sub 'invoke' :vtable :method already works, then the 'invoke' opcode already has the logic for doing that (otherwise it wouldn't work.) let me test quickly that it actually does work as I am expecting... yes, it's entirely possible that it doesn't work. no, it doesnt work nopaste? http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ okay, so it's the invoke opcode that likely needs work but IMCC should always generate the same code for $P0() (since IMCC can't know what $P0 is) right, that's the conclusion I'm slowly arriving at Yeah, I spent a lot of time reading through IMCC before I realized that ....actually, it's not even the opcode that needs to do it it's the invoke vtable method that needs to do it just a sec http://rafb.net/p/nCAxGE45.html this shows you what I'm trying to do, basically i have the basics up and running in branches/vtable_has_self I get "invoke() not implemented in class 'Foo'" ah, missing a namespace "tene" at 67.137.148.11 pasted "parrot dies on loading perl6.pbc and cardinal.pbc" (8 lines) at http://nopaste.snit.ch/13459 okay, now I get "too few arguments" so :method doesn't help here right, it's attempting to slurp up "self" as the first argument, but a self was never passed in C, it's always called self->vtable->invoke(interp, self, next_addr), so it has the self. I think the culprit is src/pmc/object.pmc:528-529 % AndyA has left AndyA!~andy@ca93nt.hexten.net it could also be the invoke vtable method in Sub is "object.pmc" a top-level class? yes. it's the base class for all PIR-class objects I've been hunting for this kind of thing all day and you find it in like 30 seconds I have a few years advantage in parrot also, I was recently in the invoke code when trying to figure out the lexical issues a couple of weeks ago :-) so if I push on another argument in that place you pointed out, you think that will solve (or approximately solve) my problem? % AndyA has joined #parrot I'm not sure. I'm thinking maybe not. well, I'm going to try it anyway there's got to be another step involved here somewhere why do you say that? I'm trying to figure out how the 'istrue' opcode manages to set 'self' istrue just becomes a call to the get_bool vtable method and somehow that vtable method manages to set self when calling a PIR-based method does is_true have self in trunk? lost me there. IMCC currently doesnt parse the keyword "self" unless the :method tag is on a sub right, I mean when :method is present it works somehow and I don't mean from the IMCC perspective okay I mean from the vtable activation perspective somehow when the get_boolean vtable method is activated, it manages to pass the PMC as the first argument to the corresponding PIR sub (which IMCC then picks up as :self because of the :method flag) er, s/:self/self/ so the question is, how does istrue pass that first argument? more precisely, how does get_boolean do it. (or get_integer, or get_pmc_indexed_keyed, or any of the other vtable methods besides 'invoke') the 'invoke' vtable method seems to be the only one that isn't passing a first argument as 'self' I think it's because of the way IMCC parses it nononononono you're too fixated on IMCC, I think :-) That has to be a component of if (easy to do :-) or, problems in IMCC lead to workarounds elsewhere all that IMCC needs to do is recognize that when :vtable is present that it needs to recognize self in the same way that it does for :method but that doesn't change at all the way the vtable methods are *invoked* well, it does that now in my branch because IMCC doesn't invoke vtable methods in particular, IMCC has no control over what arguments are sent to vtable methods -- all it does is say what to do with them when they're received I think I see your point so then it does come down to a problem with the invoke vtable method not passing it's "self" correctly correct do we have an example of an 'invoke' vtable method written in PIR that works? (either with or without :method?) well, no. well, there ya go. :-) all current tests are written using the "vtable doesnt have self" rule, so all the tests for it break when we add it because there aren't enough arguments floating around getting IMCC to recognize :self with :vtable is probably a separate issue from getting the invoke vtable method to properly pass self. ...they are? whoa * pmichaud checks % AndyA has left AndyA!~andy@ca93nt.hexten.net Yeah, t/pmc/parrotobject.t has about 3 or 4 tests that die when we enable "self" parsing t/pmc/namespace.t has one also oh, but that's not "all current tests" most of the tests in t/ for :vtable have :method also, which means that they recognize 'self' ack ':vtable' t pmichaud: is it that .HLL works fine but isn't used by most HLLs, or is .HLL not fully implemented? Most are testing the "init" vtable, all the ones testing the invoke vtable without :method fail Tene: it's that PCT isn't HLL aware yet, and we have to work out the symbol export/import issues Hmm. Okay. Whiteknight: I think the first goal should be to get :vtable to be able to pass the present set of tests (that are currently passing) without requiring :method So now I need to learn about .HLL Tene: in particular, when a language adds .HLL, then all of its symbols appear in a namespace separate from other HLLs pmichaud, that's what I'm working on now. But without proper "self" passing, all the tests don't get enough arguments. Whiteknight: right, so it's just a matter of getting imcc to recognize that :vtable should cause self but those tests that aren't currently passing (such as invoke :vtable) probably won't start passing because of that I have that done already. IMCC recognizes self in :vtables in my branch but allowing the keyword isn't the same as making sure a value gets passed for it pmichaud: would making PCT be .HLL-aware be a pretty significant redesign of PCT, or just a modification? % AndyA has joined #parrot Tene: significant -- I'll explain in a second * Tene can wait. :) Whiteknight: I think we're in pretty close agreement (more) I'm saying that having :vtable work without :method for the existing tests that pass is worth committing. I'm also saying that getting self to work on those vtable methods where it's not presently working is probably a separate bug/issue in other words if I can write .sub 'foo' :vtable('get_boolean') # note, no :method and have the istrue opcode dtrt and that 'foo' has a self symbol locally defined, then that's really what the original ticket was trying to address ok I don't like committing things that break tests though! which tests break? I guess that's the part I don't quite understand. pmichaud: how's your rakvar branch going? r29037 | moritz++ | trunk: : [rakudo] add S04-statements/repeat.t to spectest_regression diff: http://www.parrotvm.org/svn/parrot/revision?rev=29037 t/pmc/parrotobject.t and t/pmc/namespace.t moritz: very well. All of the spectest_regression tests still pass. Whiteknight: ohhhhhhhhhhhh i get it, i get it I can help there I think, just s ec pmichaud: Woot! moritz: yes, I'm a little taken aback and surprised. I've had to double-check to make sure I'm not accidentally running spectest_regression from trunk :-) moritz: once I get .implicit_invocant working I'll merge back to trunk. pmichaud++ Whiteknight: for the :vtable test in t/pmc/namespace.t, I will argue that the test itself is incorrect. It should require a string parameter. yes, I've modified that one in my branch already. It's the ones in t/pmc/parrotobject.t that are eluding me okay, let me look at those. ...what ticket started this whole mess again? ;_) % clunker3__ has joined #parrot #47674 okay I think allison sent you down a false trail in trying to look at expand_pcc_sub_call % iblechbot has left iblechbot!~iblechbot@ppp-62-216-197-27.dynamic.mnet-online.de I could be wrong about that, but that's my guess % clunker3 has left clunker3!~IRC@procura.xs4all.nl % allison has left allison!~chatzilla@68-248-62-131.ded.ameritech.net yes, it was a bit of a false trail. It looked enticing, but it just wasn't correct % teknomunk has joined #parrot % clunker3__ is now known as clunker3 % tco has left tco!~ToddOlson@purrr.cit.cornell.edu sorry, got interrupted here I think I have it mostly figured out, I can't determine how to push a new argument onto the argument list, however vtable arguments are fixed no, I mean the arguments passed to the PIR vtable method oh, that. yeah, I don't know how that happens either. anyway, I think we're well beyond the edge of my knowledge now -- hope I didn't throw you onto any more false trails looking at the seg_args and get_params opcodes, I still can't figure out how it's okay, I think I'm going to have to send Allison an email about it % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com Tene: (HLL) Parrot has a number of HLL namespaces right now PCT and PGE both live in the 'parrot' HLL namespace (and that's where they're likely to remain) * Tene listens. but things like rakudo and tcl and lolcode and the like should really live in their own namespaces Right. which means that when we got to look up a symbol like PAST::Op, we have to either (1) know to go look for it in the 'parrot' HLL namespace, because that's where PCT lives, or (2) import the PCT symbols into the current HLL namespace s/got/go/ same for PGE and P6object in fact, with P6object, when we go to create a new class, we want the protoobjects for that new class to be created in the caller's HLL namespace, not in P6object's as well as any methods that get created or imported for the choice between (1) and (2) above, currently I'm thinking the best option will be to import the PCT symbols into the current HLL namespace but I'd like to have a way of doing that which doesn't require each HLL to specify all of the symbols that ought to be imported % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com morning everyone * Tene nods. I'm planning to create a branch to get rakudo into its own HLL -- that might actually be a good task for as soon as I get the lexicals worked out at the same time we could play with getting other languages into their own HLL as well (and do it in the same branch) pmichaud: is there currently a way to get the caller's HLL namespace? I suspect via getinterp there may be. It's one of those things I need to look at. if you wanted to figure that out it'd be a big help :-) although it wouldn't surprise me if Tcl already does it :-P (Tcl being the best example of using .HLL that we have to date) $P0 = getinterp ns = $P0['namespace'; 1] in tcl Let's see what's in there. does that get namespace or hll namespace? we really want/need the hll namespace _alternatively_ we could pass the hllnamespace to p6object and it would just store it there. Oh, true. That might be nice as an option anyway. yes. but somehow I still think it's useful if p6object is hll aware Looks like no. Someone has at hand some pir that fails because of gc problem? pmichaud: getinterp['namespace'].get_name()[0] ha sit s/ha sit/has it/ % Ademan has left Ademan!~dan@h-68-167-207-191.snfccasy.dynamic.covad.net Tene++ afk for a while # going out for dinner However, that's the *current* namespace, not of the caller. * Tene finds of caller % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com getinterp['namespace';1].get_name()[0] has caller's nopaste? http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ "bacek" at 202.7.166.165 pasted "infix:xx= implementation for moritz/pmichaud (S03-operators/repeat.t is #pure after this patch)" (22 lines) at http://nopaste.snit.ch/13461 afk # $dayjob->accept($self) % Ademan has joined #parrot that patch leads us to the question: should we implement all those combined infix + asignment operators manually, or should we wait for another big refactor and generated them automatically? % peepsalot has left peepsalot!~peepsalot@bwext.kpimdp.com % silug has joined #parrot * moritz temporarily retires to his bed * Tene go home now. % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % slightlyoff has joined #parrot % slightlyoff has left #parrot % AndyA has left AndyA!~andy@ca93nt.hexten.net % rdice has joined #parrot % tetragon has joined #parrot % AndyA has joined #parrot (implement combined ops): I think for ops that we have specific (and likely used) tests for, we can go ahead and generate the manually. But I wouldn't make any special effort to generate them all, as eventually they'll be done automagically. % bacek_ has joined #parrot pmichaud: Will the automatic generation for op/assign just create "A = A op B"? If so, that's an efficiency problem. Nice as a fallback, but not what I'd want for the standard set .... automatic generation will create A = A op B for those ops that aren't already previously defined. i.e., it'll be a fallback % AndyA has left AndyA!~andy@ca93nt.hexten.net % Casan has joined #parrot % AndyA has joined #parrot % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % clochette has joined #parrot % clochette has left clochette!~clochette@212-198-248-33.rev.numericable.fr % nopaste has joined #parrot % Casan has left Casan!~IceChat7@users163.kollegienet.dk % Coleoid has joined #parrot % kid51 has joined #parrot I'm trying to build parrot on win32, and it's dying on 'stack_common.o: no such file or directory'. I was getting further, earlier, say last week, when I could create a working rakudo exe... But I svn upped, and now it stops here, even after a make clean. Any ideas, anyone? % Theory has joined #parrot Here's an idea that probably *won't* apply in this case: 'make realclean' before 'svn up'. 'realclean' removes files created during both configuration and build; 'clean' only deletes files built during build. That being said, I suspect your problems are more rakudo-specific and/or more win32-specific -- and I'm not expert on either. Well, thanks--I'll take even ideas that (probably) won't apply here... I'm learning, so it all goes in the hopper. So are there tricks to 'perl Configure.pl' that might help me out? Let me ask something more specific: Is your failure occuring during Parrot's 'make' or during make perl6? During parrot's make. Oh, then I misunderstood. But in that case, I would first try: make realclean;svn up;perl Configure.pl;make ... if only to rule out possibility that your error was caused by some transient bug that has been fixed by an updated commit. * kid51 is now following his own advice -- but on Linux Where's that nasty bot purl? purl, make? Taking a very long weekend? No she's not there. Wasn't there this morning IIRC. Nothing new when I updated... Rebuilding... * kid51 successfully configured and built on Linux -- but then I'm successful 99% of the time there. If you get a make error, paste it. Which paste is preferred here? If purl were here, she'd list all of them. :D Try http://nopaste.snit.ch (our 'nopaste' bot's home) Even after 'make', I have no file with name matching 'stack_common' on Linux. Hey, the make succeeded, big smile. Now 'make test'. Or more literally, "mingw32-make test", but same thing. Except to my carpal tunnels, who lodge a faint protest. googling for 'stack_common.o' shows that it is a Parrot-related file. It was mentioned in RT 56012 on Jun 19. So your 'realclean' suggestion may have been the ticket. stack_common.c was removed this week from the build ... you need to svn update to get the most recent version, and then make realclean to delete the old makefile * bacek_ wander why S29-str/uc.t not in spectest_regression. ...so that Configure.pl will create one without the obsolete ref to stack_common? yes, exactly 'make test' failed. Whiteknight beat me to it. Mostly successful. Which tests failed? You can post those. "Coleoid" at 76.251.83.159 pasted "'make test' parrot failure on win32" (21 lines) at http://nopaste.snit.ch/13463 These were the only clear failures. Whiteknight: Based on latest post, you may be able to resolve http://rt.perl.org/rt3/Ticket/Display.html?id=53394 Others had 'skipped' comments. ... that is, unless what Coleoid just posted re t/examples/pir.t is relevant to that ticket. Coleoid: Glad you posted that, since one of those tests I just committed last night! :D I'm glad to post more about my config, or try to tweak it. Can you paste the output of perl -V ... and your SVN revision number? I've pasted your paste into http://rt.perl.org/rt3/Ticket/Display.html?id=43334 "bacek" at 211.29.157.151 pasted "Fix exporting sqrt/exp in Complex (for pmichaud/moritz)" (14 lines) at http://nopaste.snit.ch/13464 "Coleoid" at 76.251.83.159 pasted "Coleoid 'perl -V'" (48 lines) at http://nopaste.snit.ch/13465 ... SVN revision number. I was at 1.4.6. I'll double-check. Now that there's a prebuilt 1.5.0 out for win32, I'm happy to upgrade... No, I meant Parrot's version number. Also, when you ran perl Configure.pl, what was the output for the following step: Determining whether ICU is installed................................... How do I get parrot's version #? Among other ways, it should appear in your Configure.pl output immediately ahead of the step I just mentioned. Also: svn up or svn info "Coleoid" at 76.251.83.159 pasted "Coleoid 'perl Configure.pl'" (90 lines) at http://nopaste.snit.ch/13466 "Coleoid" at 76.251.83.159 pasted "SVN up and SVN info" (14 lines) at http://nopaste.snit.ch/13467 okay, so you're at HEAD and you don't have ICU installed. I will try to diagnose. Having ICU complicates? No, that configuration step probes your system to see if ICU is installed. There are various command-line options you could have specified as well, but I assume that you did not. So the tests in t/steps/auto_icu*.t are designed to exercise all the nooks and crannies of that code, e.g., to see if we can reach all of the return points. So if you don't have ICU installed, the tests mock both installed and not-installed cases. If I've written the tests correctly, they should pass on *any* OS. For example, I do not have ICU on my iBook. So the actual configuration step reports "no" -- just like yours. But the test of the mocked situation passes on my iBook, but fails on your win32. See http://thenceforward.net/parrot/coverage/configure-build/config-auto-icu-pm.html for coverage results I have to get some dinner BBL % kid51 is now known as kid51_at_dinner purl? she's gone... Good summary. So the test is reporting 'no' in each case, but in mine it's failing with an unexpected "expected: 'failed'", pmichaud: moritz: I've created correct patch for Complex.sqrt|exp. Attached to RT #56230 Which sounds like a test-framework issue. bacek_: She's off at an early beach party. drinking with Bender again... :D Working on her 'I hate humans' levitator speech. % Ademan has left Ademan!~dan@h-67-101-101-92.snfccasy.dynamic.covad.net % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % stupidbot has left stupidbot!bacek@123-243-38-218.tpgi.com.au % stupidbot has joined #parrot % Ademan has joined #parrot % Coleoid has left Coleoid!~Coleoid@adsl-76-251-83-159.dsl.bltnin.sbcglobal.net % bacek has joined #parrot % Coleoid has joined #parrot Coleoid: Can you try the following: perl Configure.pl --verbose-step=auto::icu % kid51_at_dinner is now known as kid51 Sure--a moment... r29038 | pmichaud++ | rakvar: : [rakudo]: implicit vars #7 : Refactor a bit. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29038 "Coleoid" at 76.251.83.159 pasted "win32 'perl Configure.pl --verbose-step=auto::icu'" (93 lines) at http://nopaste.snit.ch/13468 Success. The make' succeeded too. make test running. Well, it doesn't actually address the problem you reported. That problem will not impede 'make' (which is, of course, a good thing). Is this specifically for the 'got no, expected failed' problem? Because that recurred, though 'make test' isn't finished yet. "Coleoid" at 76.251.83.159 pasted "win32 still failing ICU test" (8 lines) at http://nopaste.snit.ch/13469 Sorry. :/ "kid51" at 71.247.42.135 pasted "Coleoid: Try this patch for config/auto/icu.pm (re-run perl Configure.pl --verbose-step=auto::icu" (15 lines) at http://nopaste.snit.ch/13470 trying... To diagnose and cure this test failure, you don't need to run 'make test'. It's a test of the configuration system, which exists before 'make' creates the parrot executable. Wait, that patch is actually insufficient. Okay, applied patch, waiting for another. "kid51" at 71.247.42.135 pasted "Better diagnostic patch for config/auto/icu.pm" (15 lines) at http://nopaste.snit.ch/13471 Do svn revert config/auto/icu.pm before applying 2nd patch. I'm eyeballing/handpatching--I undid the earlier as I pasted in the newer. So having altered the icu.pm, I should Configure.pl again? Yes, with --verbose-step=auto::icu as command-line option ((It's grievous, I know, but if I wait until I get all the tools, I'll be here 'til I'm fifty before I contribute.)) * kid51 by definition > 50 :D By definition != kid? 'patch' is *very* useful, albeit imperfect. You can probably get a GNUWin32 version. http://gnuwin32.sourceforge.net/packages/patch.htm I expect so. Or I may already have one, given I've installed mingw32 and cygwin. % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au Well, IIUC, cygwin is like a different environment. I would expect it to have a 'patch' program. But I wouldn't necessarily expect GNUwin32 'patch' to work inside cygwin. But, then, I haven't used cygwin in > 5 years. % stupidbot has left stupidbot!bacek@123-243-38-218.tpgi.com.au "Coleoid" at 76.251.83.159 pasted "Configure.pl, after realclean and patched icu.pm" (97 lines) at http://nopaste.snit.ch/13473 % stupidbot has joined #parrot Kicked off 'make' in the meantime. Back in a minute. % Ademan has left Ademan!~dan@h-67-101-146-23.snfccasy.dynamic.covad.net % bacek has joined #parrot % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com make without errors. "kid51" at 71.247.42.135 pasted "config/auto/icu.pm: Take 3" (49 lines) at http://nopaste.snit.ch/13474 Now you said ' make test' wasn't useful, here? I'll apply patch 3... * Coleoid examines patch 3, boggles quietly. Okay, so how do I use 'patch'? :D No. The fact that t/steps/auto_icu-04.t is an element of 'make test' is something of an artifact. All the tests in t/configure and t/steps should, in principle, be run *before* Configure.pl (which, in turn, is of course run before 'make'). You can do that with perl Configure.pl --test=configure. patch -p0 config/auto/icu.pm < /path/to/patch Thanks. Attempting. Of course, you should do svn revert before applying ... because I'm pulling the patch against HEAD. Will do. or perhaps on Win32: patch -p0 config/auto/icu.pm < C:\\path\to\patch applied as 'patch -p0 config\auto\icu.pm ...grrr. Including a bit more context, as it looks a bit odd all around: "Coleoid" at 76.251.83.159 pasted "Configure.pl, after patch 3." (41 lines) at http://nopaste.snit.ch/13475 That was with the '--test=configure' argument. Ah, I perhaps you should have said: perl Configure.pl --test=configure --verbose-step=auto::icu To save time, can you just re-run: perl Configure.pl --verbose-step=auto::icu % TiMBuS has joined #parrot % Theory has left Theory!~Theory@207.102.78.66 "Coleoid" at 76.251.83.159 pasted "Post patch3 of icu.pm, 'perl Configure.pl --verbose-step=auto::icu'" (102 lines) at http://nopaste.snit.ch/13476 Thanks for all of your help so far. I hope this gets the error unraveled. Out now, LMK if I can help later. r29039 | jkeenan++ | trunk: : TODO-ing test based on error report from Coleoid. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29039 r29040 | pmichaud++ | rakvar: : [rakudo]: implicit vars #8 : * Move '.*', '.?', '.+' into Object : * Enable .implicit_method . diff: http://www.parrotvm.org/svn/parrot/revision?rev=29040 pmichaud++ # And go sleep! It's late/early! :) % kid51 has left kid51!~jkeen@pool-71-247-42-135.nycmny.east.verizon.net only 23:10 here. and I'm wanting to merge the branch back to trunk pmichaud: ok... My math ability faded... % cotto_home has left cotto_home!~cotto@96-26-202-243.sea.clearwire-dns.net % Ademan has left Ademan!~dan@h-67-101-44-52.snfccasy.dynamic.covad.net r29041 | pmichaud++ | trunk: : [pct]: merge from rakvar branch : * Allow the name attribute for 'call' and 'callmethod' nodes : to contain a PAST tree, which is then evaluated to produce : the name of the sub/method to be invoked. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29041 r29042 | pmichaud++ | trunk: : [rakudo]: merge rakvar branch into trunk : * Better handling of $_, $!, $/ initialization in blocks and routines. : * Refactor and : * .implicit_method now works : * Move .?, .*, .+ handlers into Object. : * all spectest_regression tests still pass diff: http://www.parrotvm.org/svn/parrot/revision?rev=29042 pmichaud++ # one ++ is not enough for this commit :) % Ademan has joined #parrot % Ademan has left Ademan!~dan@h-67-101-43-99.snfccasy.dynamic.covad.net % Ademan has joined #parrot perl6: say -1.abs; OUTPUT[Method 'abs' not found for invocant of class 'Int'␤current instr.: '_block11' pc 31 (EVAL_10:17)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:469)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1088 (src/PCT/HLLCompiler.pir:598)␤called from Sub ..'parrot;PCT::HLLCompiler;command_line' pc 1267 (src/P... % tetragon has left tetragon!~seneca@76-10-148-120.dsl.teksavvy.com yes, I'm working on it now. as soon as my spectest runs I'll commit. lots of the builtins need refactoring now. I'm also going to change the file structure a bit % Psyche^ has joined #parrot % Patterner has left Patterner!~Psyche@e177225010.adsl.alicedsl.de % Psyche^ is now known as Patterner pmichaud: BTW, mutating_listops are evil... We can't implement 'true lazy lists' if we want them... what do you mean by 'mutating listop' and 'true lazy lists' ? map { $_=2*$_ } @list; list is something like (1..100000); oh, that's no problem 'map' is just a gather/take sequence without mutating lisops we can just clone Range and iterate over it. r29043 | pmichaud++ | trunk: : [rakudo]: : * Update C function and method : * Start refactoring builtin methods and functions diff: http://www.parrotvm.org/svn/parrot/revision?rev=29043 "bacek" at 211.29.157.151 pasted "Failing spectest_regression." (17 lines) at http://nopaste.snit.ch/13477 t/spec/S12-methods/calling_syntax.t did you rebuild parrot, or at least pct? that looks like pct wasn't updated. bbiab pmichaud: probably no... shame on me... pmichaud: http://rt.perl.org/rt3/Ticket/Display.html?id=56230 (there proper fix for Complex.sqrt and exp). r29044 | pmichaud++ | trunk: : [rakudo]: : * move more builtins into src/builtins/num.pir diff: http://www.parrotvm.org/svn/parrot/revision?rev=29044 r29045 | pmichaud++ | trunk: : [rakudo]: update Complex.exp and Complex.sqrt diff: http://www.parrotvm.org/svn/parrot/revision?rev=29045 % Ademan has left Ademan!~dan@h-67-101-46-173.snfccasy.dynamic.covad.net % barney has joined #parrot % barney has left barney!~bernhard@p549A0443.dip0.t-ipconnect.de % masak has joined #parrot r29046 | pmichaud++ | trunk: : [rakudo]: More builtin method refactors. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29046 % Ademan has joined #parrot