Camelia, the Perl 6 bug

IRC log for #parrot, 2008-06-02

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 jonathan OK, need sleep...will review and throw in my airport patches tomorrow.
00:02 Eevee night
00:02 tetragon joined #parrot
00:03 ank joined #parrot
00:05 bacek_ joined #parrot
00:09 AndyA joined #parrot
00:11 bacek_ joined #parrot
00:24 radhios joined #parrot
00:49 japhb Eevee: (what needs doing to get acquainted) Documentation consistency patches.  Several places there are two documents that discuss overlapping topics (typically because they are related but in some sense distinct).  Often, the overlap is inconsistent between the 2+ documents.  It should be factored out, made consistent, or one location should point to the other.  This would get you looking through lots of docs (and having to understand th
00:49 japhb em), and comparing against code to check which of two conflicting things is "right".  That would really get you ready for code patches then.
00:51 japhb For example, someone pointed out a couple days ago that the PDD doc for NCI has an incomplete list of NCI types, compared to the list in config/gen/call_list/core.in and the actual NCI code.  This should be fixed up.
00:52 japhb But that's just my personal hot button.  Any RT for "cage cleaner" work is a good foot-wetting thing to work on as well.
00:58 Whiteknight joined #parrot
01:09 GeJ japhb: isn't NCI worked on by tewk  for gsoc?
01:16 kid51 Eevee:  This search string will show you all RT tickets with the [CAGE] designation:   http://tinyurl.com/4wwnct .
01:17 grim_fandango joined #parrot
01:17 kid51 We can provide similar strings for [PATCH], [BUG], [TODO], etc.  If you let us know what your skill sets are, we can steer you in a good direction.
01:23 japhb GeJ: Yes.  But that A) doesn't help us now, and B) shouldn't prevent us from fixing documentation (especially since good documentation would help tewk as well)
02:37 * Eevee return
02:57 Eevee kid51: thanks, will have a look through these.  re skill sets, uh, I have a large assortment of hats I am comfortable wearing
02:57 Eevee incidentally
02:57 Andy joined #parrot
02:58 Eevee is there any outsider-friendly documentation for p6?  there's a spec, but besides that just seems to be the exegeses, which are full of corrections to themselves and of questionable recency
02:59 kid51 Eevee:  C?  Perl 5?  Other dynamic languages?  Compilers?
02:59 kid51 Specific OSes?
03:00 Eevee aha
03:00 kid51 Parrot:  "I am multitudes."
03:00 Eevee *familiar* with C, but haven't really touched it in years
03:00 Eevee pretty solid with perl 5
03:01 Eevee know a decent bit of python; had a glance at ruby but nothing much
03:01 davidfetter joined #parrot
03:03 Eevee used gcc a bit, mostly on others' code when their makefiles suck, and msvc a handful of times
03:06 kid51 See http://rt.perl.org/rt3/Tic​ket/Display.html?id=48260.  This is one of those tickets that always needs work, because there are always more C functions needing documentation.
03:07 bobwhoops joined #parrot
03:08 * kid51 must sleep
03:08 purl $kid51->sleep(8 * 3600);
03:10 Eevee aha, thanks
03:11 cotto_work joined #parrot
03:14 grim_fandango joined #parrot
04:16 Zaba_ joined #parrot
04:40 Zaba joined #parrot
04:54 dalek r28021 | pmichaud++ | trunk:
04:54 dalek : [rakudo]:
04:54 dalek : * Fix Test.pm so that it reports skipped tests correctly.
04:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28021
05:07 Theory joined #parrot
05:08 jan joined #parrot
05:50 Zaba_ joined #parrot
06:01 bacek_ summon pmichaud
06:01 bacek_ you broke List.map... MMD cant add Failure to Int...
06:02 bacek_ is ~(1,2,3,4).map({ $^a + $^b + $^c + $^d }), "10",  "map() works with 4-ary functions";
06:02 ank joined #parrot
06:04 bacek_ http://www.parrotvm.org/svn​/parrot/revision?rev=28021
06:05 uniejo joined #parrot
06:05 Zaba joined #parrot
06:05 bacek_ very strange changes in lines 81-82...
06:06 Ademan joined #parrot
06:11 bacek_ t/spec/S29-num/roots.............................. All 10 subtests passed
06:11 bacek_ (less 11 skipped subtests: -1 okay)
06:17 moritz pmichaud++ # correct reporting of TODO tests
06:17 bacek_ moritz: but incorrect for skip...
06:18 moritz bacek_: it works for me
06:20 bacek_ moritz: shit... I have to take a brake at work...
06:21 bacek_ it's really works...
06:21 Zaba_ joined #parrot
06:21 bacek_ with current 't/fudge'.
06:22 bacek_ but lines 81-82 should be 'skip(1, ..', not 'proclaim(1,..)'
06:51 iblechbot joined #parrot
06:52 Zaba joined #parrot
06:56 cosimo joined #parrot
07:13 bacek_ joined #parrot
07:13 bacek_ hi again
07:13 purl oh, you're back!
07:18 Zaba_ joined #parrot
07:20 Auzon joined #parrot
07:48 Zaba joined #parrot
07:50 luca_ joined #parrot
08:04 mire joined #parrot
08:53 Zaba joined #parrot
09:29 bacek joined #parrot
09:37 Zaba joined #parrot
09:46 Zaba joined #parrot
09:50 bacek joined #parrot
09:59 Zaba joined #parrot
10:06 Zaba joined #parrot
10:11 bacek joined #parrot
10:18 Zaba joined #parrot
10:23 Whiteknight joined #parrot
10:23 Zaba_ joined #parrot
11:10 rdice joined #parrot
11:19 masak joined #parrot
11:56 pmichaud pong
11:58 moritz d'oh, S29-str/comb.t only passes because all tests are fudged
11:58 jonathan pmichaud: Did you think mutables were enabled in trunk, or disabled?
11:59 jonathan As the value at the top of actions.pm is set to what the comment says it should be to use them.
11:59 jonathan But in reality, they weren't actually being used.
11:59 pmichaud I haven't had a chance to update the comment
11:59 pmichaud why are they not actually being used?
11:59 jonathan Because MMD was dispatching infix:= to Object.pir's one, which did copy.
12:00 pmichaud I'm not using MMD, I'm using method calls.
12:00 jonathan I discovered then when implementing ro, rw, and copy for parameters...
12:00 jonathan Hmm
12:00 pmichaud it's   $target.infix=($source)   instead of infix:=($target, $source)
12:00 masak jonathan: how come `./perl6 -e '$_'` gives the error "too few arguments passed (0) - 1 params expected"?
12:01 jonathan Somehow, we were ending up calling Object.pir's infix:= when it looked like it was a Perl6Scalar invocant.
12:01 pmichaud well, keep in mind that Object.infix:= can be called in some situations, such as values held in arrays
12:01 jonathan Sure
12:02 jonathan It was something in parameter passing though, I think.
12:02 jonathan Or maybe I was confused.
12:02 jonathan I was hunting an GC bug at the time too. ;-)
12:02 jonathan Which I have a patch to fix.
12:02 pmichaud parameter passing doesn't go through infix:= yet -- although it will need to.  That is high on my hit list
12:02 jonathan OK.
12:03 jonathan I will put in my is rw, is ro, is copy stuff for parameters.
12:03 jonathan Got it working nicely here.
12:03 tetragon joined #parrot
12:03 pmichaud excellent
12:03 jonathan Well, on the laptop.
12:03 purl on the laptop is fine.
12:03 jonathan OK, I need to eat lunch.
12:03 masak purl: forget on the laptop
12:03 purl masak: I forgot on the laptop
12:03 jonathan masak: Please submit a ticket about that.
12:04 masak jonathan: oki
12:04 jonathan I'm not sure why you'd usefully want to do what you just suggested. :)
12:04 jonathan But I doubt that you're gettign the error you should be.
12:04 moritz $_ = 1; $_ # gives the same error
12:04 masak jonathan: what I did was the minimal test case I produced
12:05 masak I got the error in a larger script
12:05 moritz > $_ = 1; say $_
12:05 moritz even that is errornous
12:05 pmichaud I think it's that $_ is causing the outer sub to have a parameter
12:05 masak how sinister
12:05 pmichaud yes, it's a rakudo bug
12:05 masak purl: parrotbug
12:05 purl well, parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug"
12:06 masak purl: raukobug
12:06 purl masak: i'm not following you...
12:06 masak ehm
12:06 masak purl: rakudobug
12:06 purl rumour has it rakudobug is mailto:rakudobug@perl.org
12:06 masak rumor has it right
12:12 bacek summon pmichaud
12:12 pmichaud pong
12:12 bacek pmichaud, hi there.
12:12 bacek You broke 'List.map' :)
12:12 bacek mmd cant dispatch __add to Failure
12:12 pmichaud I did?  Or perhaps it was already broken and we just exposed the bug :-)
12:13 bacek No :) We discussed it few days before (using Undef vs Failure in map)
12:13 pmichaud is map using Failure?
12:15 bacek yes...
12:15 bacek 67199850 (pmichaud 2008-05-29 16:23:40 +0000 379)     elem = new 'Failure'
12:15 pmichaud I thought that was used only in the case where we had an insufficient number of arguments
12:16 pmichaud which isn't (shouldn't be) the case in 06:02 <bacek_>  is ~(1,2,3,4).map({ $^a + $^b + $^c + $^d }), "10",  "map() works with 4-ary functions";
12:16 bacek exactly. But MMD can't add 1 and Failure. But it can add 1 and Undef
12:16 jonathan I ran across this the other day
12:16 jonathan more subtle
12:16 jonathan my @a = 1,2,3; my $total; for @a -> { $total += $_ }
12:17 jonathan ok, really eating now :-)
12:17 pmichaud yes, I know about that one.  I'm not sure what to do about Parrot's opcode mmd
12:17 pmichaud I also get similar things with can't concat  Perl6Str, Str
12:17 jhorwitz joined #parrot
12:17 bacek I'm currently deep in mmd dispatcher trying to fix it.
12:18 bacek But it's not-so-easy-to-fix :)
12:18 pmichaud correct --  I'm not sure I understand the intent of Parrot's design there.
12:21 Zaba joined #parrot
12:21 DietCoke joined #parrot
12:21 * DietCoke ~~
12:24 bacek $ ../../parrot perl6.pbc
12:24 bacek > say Failure + 1;
12:24 bacek Segmentation fault
12:24 purl (Core dumped)
12:24 bacek ouch...
12:26 masak bacek: same with most any class I could come up with
12:28 bacek masak, yes... I see...
12:28 bacek mmd--
12:28 masak karma mmd
12:28 purl mmd has karma of -3
12:28 masak mmd--
12:28 bacek :)
12:34 pmichaud hmmmmm
12:35 pmichaud perhaps we need to be using 'add' instead of n_add
12:36 pmichaud still doesn't solve the Failure + 1 problem, though.
12:37 nopaste "pmichaud" at 76.183.97.54 pasted "Failure + 1, small case" (12 lines) at http://nopaste.snit.ch/13144
12:40 pmichaud jonathan: is there a particular reason why $IN, $ERR, $OUT, etc. are created as part of 'main' and not 'onload'   in perl6.pbc ?
12:42 nopaste "bacek" at 202.7.166.175 pasted "workaroung for 'Failure + 1'" (11 lines) at http://nopaste.snit.ch/13145
12:42 dalek r28022 | jonathan++ | trunk:
12:42 dalek : [core] Fix a GC bug. A sub did not cause its current context to be marked, meaning that in turn the outer context wasn't marked. This caused LexPad instances to get collected and the memory re-used, leading to all manner of weird errors in find_name.
12:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28022
12:42 pmichaud (r28022)  wow.  nice catch.   jonathan++
12:42 dalek r28023 | jonathan++ | trunk:
12:42 dalek : [rakudo] Implement smart matching on junctions. Additionally, do some fixes to make say (1|2).WHAT work.
12:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28023
12:43 dalek r28024 | jonathan++ | trunk:
12:43 dalek : [rakudo] Fix name-o.
12:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28024
12:44 bacek pmichaud, btw, about last changes in Test.pm. Should lines 81-82 be actually skip(1, ...) instead of proclaim(1,...)?
12:45 dalek r28025 | jonathan++ | trunk:
12:45 dalek : [rakudo] Make Mutable PMC aware of ro property. Also fix GC and memory leak in it.
12:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28025
12:45 pmichaud bacek:  yes.
12:46 bacek pmichaud, fix it please :)
12:46 pmichaud and I think it should really be   skip($reason, 1)    instead of skip(1, $reason) .... but I need to check with particle for that.
12:46 dalek r28026 | jonathan++ | trunk:
12:46 dalek : [rakudo] Make is ro, is rw and is copy work on subroutine parameters. The default is now is ro, so trying to assign to a parameter not declared is rw or is copy will be an error.
12:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28026
12:48 jonathan pmichaud: ($*IN and friends) Not that I can think of, though it must happen after the IO type has been created.
12:48 pmichaud maybe it should be part of IO initialization then?
12:48 jonathan OK, that's all my airport patches checked in. :-)
12:48 pmichaud i.e., 'onload' in IO.pir ?
12:48 jonathan Yes, that would work too.
12:49 moritz segfault with r28026 in /00-parrot/04-op-cmp.t
12:50 pmichaud bacek: r28027
12:50 dalek r28027 | pmichaud++ | trunk:
12:50 dalek : [rakudo]:
12:50 dalek : * Fix optional argument forms of skip() in Test.pm.  (bacek++)
12:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28027
12:51 pmichaud jonathan: (junction .ACCEPTS)    why isn't    foo ~~ (2|3)   simply the same as   (foo ~~ 2) | (foo ~~ 3)     ?
12:51 masak btw, I noticed that 'grammars' was both in the ROADMAP (as things yet to be done) and STATUS (as things implemented by the compiler). if someone provides a clarifying statement about what is implemented and what isn't, I can turn it into a patch
12:52 pmichaud for ROADMAP I think we need some way of marking progress for each of the items on the roadmap
12:52 pmichaud i.e., perhaps ROADMAP and STATUS should be combined to show both.
12:52 masak yes.
12:53 jonathan pmichaud: It should be
12:54 pmichaud your patch seems to booleanify it
12:54 jonathan Oh?
12:54 jonathan Smart-match doesn't return a boolean?
12:54 pmichaud no.
12:54 jonathan OK, that's news to me.
12:54 jonathan What should it return?
12:54 pmichaud smart match may be used in boolean context, but it's not always a boolean return value
12:55 pmichaud (I think)
12:55 jonathan OK
12:55 particle jonathan: have you built parrot lately?
12:55 avar joined #parrot
12:56 jonathan I think the trunk I just checked in a patch against was from Saturday.
12:56 jonathan Had no connection yesterday, and been doing other stuff so far today.
12:56 particle ..\..\parrot.exe ..\..\runtime\parrot\library\PGE\Perl6Grammar.pir  --output=PGE\builtins_gen.pir PGE\builtins.pg
12:56 particle Null PMC access in invoke()
12:56 particle current instr.: 'parrot;PGE::Perl6Grammar::Compiler;compile' pc 200 (..\..\runtime\parrot\librar​y\PGE\Perl6Grammar.pir:157)
12:56 particle i can't build with HEAD
12:57 particle since about saturday sometime
12:57 jonathan Ouch.
12:57 jonathan On Win32?
12:57 particle gotta start work now, so can't look for a bit
12:57 particle yep
12:57 jonathan OK, ouch indeed.
12:58 jonathan I can't look right now either - need to do a bit of $DAYJOB before heading off to the Vienna.pm meeting.
12:58 particle ok, i'll look as soon as i have time
12:59 pmichaud jonathan: you may be right about smartmatch returning a boolean
12:59 pmichaud (just looking at the table)
13:01 jonathan pmichaud: BTW, any votes for what day I do my Rakudo day this week?
13:01 pmichaud all my days are open at the moment.
13:01 jonathan OK
13:02 jonathan I can't do tomorrow, other than that Wed/Thu/Fri are all fine.
13:02 pmichaud although wed-fri may be less desirable because kids will be home (school ends wednesday noon)
13:02 pmichaud :-)
13:02 dalek r28028 | allison++ | pdd25cx:
13:02 dalek : [pdd25cx] Move PGE off of bsr/ret.
13:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28028
13:02 pmichaud but I think wed-fri will work fine.
13:02 jonathan Maybe Friday? The novelty of the kids not being at school maybe wears off by then? ;-)
13:02 DietCoke pmichaud: that commit message from allison: did she coordinate that with you?
13:03 pmichaud DietCoke: no, but it's in a branch, and I'm looking at it now.
13:04 pmichaud it looks pretty innocuous.
13:04 pmichaud I would start to be concerned about the pdd25 branch diverging from trunk... but that's allison's problem at the moment :-)
13:04 pmichaud I also hope that taking continuations isn't much slower than the existing bsr/ret
13:05 pmichaud the whole reason for using bsr/ret was speed.
13:06 particle well, luckily, it's a drop-in replacemnet
13:06 particle even when spelled correctly
13:06 dalek r28029 | allison++ | pdd25cx:
13:06 dalek : [pdd25cx] Fix vtable call in branchcc op.
13:06 particle so it should be easy to bounce back and forth and benchmark
13:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28029
13:09 pmichaud it may all end up being re-done in C anyway.
13:09 jhorwitz hm, t/00-parrot/05-var-array and t/00-parrot/05-var hang for me
13:10 jhorwitz repeated calls to mark_context() at src/sub.c:65, then dies at pobject_lives()
13:11 jonathan Oh, ouch.
13:11 jonathan Hmm.
13:11 jhorwitz jonathan: x86_64, will paste backtrace
13:11 jhorwitz nopaste?
13:11 clunker3 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/
13:11 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
13:12 jonathan Thanks.
13:12 particle pmichaud: have a minute to replicate my pge build bug?
13:12 pmichaud particle: I can try, yes.
13:12 nopaste "jhorwitz" at 96.245.16.45 pasted "jonathan: test backtrace" (16 lines) at http://nopaste.snit.ch/13146
13:12 particle cd compilers/pge
13:13 particle rm PGE/builtins_gen.pir
13:13 DietCoke (diverge) she's been keeping it relatively updated to trunk. moreso than I have with the type_ids branch. =-)
13:13 particle ../../parrot --runcore=gcdebug ../../runtime/parrot/library/PGE/Perl6Grammar.pir --output=PGE/builtins_gen.pir PGE/builtins.pg
13:15 pmichaud particle: okay, finished.
13:15 particle no Null PMC access in invoke() ??
13:15 pmichaud particle: no
13:15 particle aargh!
13:15 gryphon joined #parrot
13:16 pmichaud do I need to svn up or something?  Although I did that this morning (but not after jonathan's latest patches)
13:16 particle no, it's been happening for a few days
13:16 particle maybe you need to have less of parrot built? iunno
13:17 particle i'm booting ubuntu to check
13:17 pmichaud jonathan:  if (!PMC_IS_NULL(ro) && VTABLE_get_integer(INTERP, ro) != 0)
13:17 pmichaud perhaps the second part should be VTABLE_get_bool ?
13:17 particle get_bool++
13:17 iblechbot joined #parrot
13:18 jonathan pmichaud: Yes, probably.
13:18 purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
13:18 masak purl, forget probably
13:18 purl masak, I didn't have anything matching probably
13:18 masak purl, forget yes, probably
13:18 purl masak, I didn't have anything matching yes, probably
13:19 jonathan jhorwitz: Looks related to the GC fix I did, but that issue didn't show up here.
13:19 jonathan Will have a closer look later.
13:19 jhorwitz k
13:20 Whiteknight joined #parrot
13:30 jhorwitz jonathan: seems to me that this code in mark_context(): "if (ctx->caller_ctx) mark_context(interp, ctx->caller_ctx);" would recurse infinitely
13:31 dalek r28030 | Whiteknight++ | gsoc_pdd09:
13:31 dalek : [gsoc_pdd09] updating to trunk r28029
13:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28030
13:34 pmichaud I'm getting infinite loop in make spectest_regression, also.
13:34 moritz and I'm getting segfaults before that
13:34 Zaba joined #parrot
13:35 pmichaud t/spec/S02-literals/autoref has been running for over a minute now.
13:35 * bacek getting segfaults too...
13:36 jhorwitz pmichaud: based on the backtrace i guess my stack is getting smashed after X iterations (X being very large)
13:36 bacek I'm suspect r28026
13:37 jonathan OK, rip it out.
13:37 jonathan I'll work out something better that doens't loop.
13:38 jonathan The real work was in figuring out why we had the GC problem, not the patch...
13:38 pmichaud which one should be reverted?
13:38 pmichaud r28026 seems to be the ro/rw/copy patch, so I don't think that's it.
13:38 jhorwitz i believe it's r28022
13:39 pmichaud yeah, that seems likely.  I'll try that.
13:39 jonathan pmichaud: The GC one.
13:39 pmichaud the GC bug in sub?  (as opposed to GC in mutable?)
13:39 jonathan Yes
13:40 jonathan r28022
13:40 jhorwitz is there a way to test if the context has been marked already?
13:40 pmichaud okay, reverted, building, testing, then committing.
13:40 jonathan jhorwitz: No...they're not GC'able objects.
13:41 jhorwitz crap
13:41 jhorwitz why is nothing easy?  ;-)
13:41 * jonathan hopes this isn't going to be the start of a very nasty discovery about context handling.
13:43 particle don't make me wake chromatic
13:43 particle ...please!
13:43 jonathan particle: I'll have another look when I get time.
13:44 jonathan I understand the GC bug part of the problem, if not the context part yet.
13:44 pmichaud it *might* end up being a non-issue in allison's pdd25 branch
13:44 pmichaud since a lot of that stuff is being reworked/re-examined.
13:44 particle ooh, allison is up, bet we could summon her
13:45 pmichaud after reverting r28022, I get a ton of "cannot morph Perl6Scalar" errors in spectest_regression
13:46 jonathan pmichaud: That's a result of some copy rather than assign operations, though I didn't think I'd checked in the patch that actually caused this to show.
13:47 pmichaud looks like it did.
13:47 pmichaud what should i do?
13:48 jonathan s/copy/assign/ in a few places, like the undefine sub for one.
13:48 jonathan It may be the new paramter handling that caused this to show.
13:50 pmichaud unfortunately, I have to take a break in a few minutes.
13:50 pmichaud (a break from rakudo, that is.)
13:50 jonathan OK, I have to leave for Vienna.pm meeting in like 5 mins.
13:50 pmichaud grph.
13:51 * jonathan didn't expect his patches to break *this* much. :-(
13:51 Zaba_ joined #parrot
13:51 dalek r28031 | pmichaud++ | trunk:
13:51 dalek : [core]:
13:51 dalek : * Revert r28022 from jonathan, which was causing rakudo to get caught
13:51 dalek :   in infinite loops.  We'll need to revisit this patch later.
13:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28031
13:52 pmichaud well, I need to skip out for a bit, but can probably look at it again in 30-45 minutes from now.
13:52 bacek jonathan, fortunately there is many people that can blame you in couple of minutes after commit :)
13:55 cognominal jonathan, did the rest of your trip back went well?
13:56 jonathan cognominal: Not really...there were delays, meaning I missed last bus back from the airport...and nobody around to suggest what to do.
13:56 jonathan Note it was the bus by the company who did the flight. So they had to know there were people arriving late.
13:56 jonathan So ended up having to get a taxi back. Which was...none-cheap.
13:59 cognominal ouch
13:59 jonathan Next time, I'll just take the train.
13:59 avar joined #parrot
14:00 jonathan OK, time to go to Vienna.pm meeting...
14:00 cognominal well, I got to spend more time with you and learning more about rakudo
14:00 jonathan Yes, true. And I got to write some patches...that have broken lots. :-(
14:00 jonathan OK, best go...don't want to miss the train!
14:00 cognominal good luck
14:00 purl good luck is all I can say.
14:07 IllvilJa joined #parrot
14:08 avar joined #parrot
14:18 Zaba joined #parrot
14:20 * DietCoke grumbles at the build system.
14:22 Whiteknight what don't you like about the build system?
14:23 DietCoke at the moment, that I am unable to merge in changes from trunk to a branch. =-)
14:23 DietCoke (it breaks the build.)
14:25 DietCoke (this is regarding generating the ops.num file)
14:25 DietCoke I think I found a dance that lets me continue. whee.
14:26 Zaba_ joined #parrot
14:29 DietCoke hurm. I bet the pure PIR tests we have are never being tested in any core other than the default.
14:31 Whiteknight Yes, I've discovered that merging from trunk to a branch is a total pain
14:31 pmichaud I tend to not do it.
14:31 pmichaud but I'm in a situation where I don't have to :-)
14:32 pmichaud I didn't get to write about this in the email, but what I'll sometimes do is
14:32 pmichaud svn co trunk
14:32 pmichaud cd languages/perl6
14:32 pmichaud svn switch branches/mybranch/languages/perl6
14:32 DietCoke well, the problem isn't the merging, perse, it's that I did one thing in the branch, something else in the trunk, and the tools that regenerate the generated file don't seem to cope with doing both.
14:33 pmichaud that way languages/perl6 is coming from the branch, while the rest of my working copy is from parrot trunk
14:33 DietCoke In general, I don't find merging painful at all. but the fact that we keep generated files checked in confuses things, and the fact that we don't have an easy, consistent way to regen them all exacerbates it.
14:35 Whiteknight pmichaud, that's actually a very novel solution! Since most of my work is happening in include/Parrot/ and src/gc/, that would save me a lot of hassle
14:35 DietCoke (which is why I want --maintainer to update *all* generated files that are checked in)
14:35 Whiteknight especially since most of my merge conflicts occur in the overly-active languages/perl6
14:35 DietCoke the problem with that approach is that no one else can easily work on your branch.
14:35 DietCoke (unless they follow the same convention)
14:35 DietCoke at that point, why not just make your branch be the languages/perl6 dir?
14:36 davidfetter joined #parrot
14:37 pmichaud Whiteknight: yes, in your case you could do a checkout of your branch, and then   svn switch trunk/languages
14:37 Tene overly-active?  maybe we need to rate-limit pmichaud?  ;)
14:38 rdice joined #parrot
14:38 pmichaud but yes, that does mean that languages/ in the branch is not up-to-date, if anyone else tries to work in the branch.  For most branches there are only 1 or 2 people working in the branch so coordination isn't always an issue.
14:38 pmichaud hey, I'm not the only committer to languages/perl6 !
14:39 dalek r28032 | coke++ | type_ids:
14:39 dalek : svn merge -r26989:27250
14:39 dalek : from trunk into the type_ids branch
14:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28032
14:39 DietCoke ... that commit hasn't finished yet. annoying.
14:39 DietCoke (from my perspective)
14:40 * DietCoke starts up the next merge chunk.
14:41 DietCoke (sorry to do that in two chunks, but I needed to resolve my ops.skip problem and i wanted to do it with a smaller merge.)
14:42 pmichaud commits are cheap.
14:43 Zaba joined #parrot
14:44 particle DO NOT rate limit pmichaud!!! :)
14:45 particle i don't understand why you have any merge conflicts in languages, Whiteknight, unless you're making changes there in your branch
14:45 jhorwitz you cannot stop pmichaud's commits.  you can only hope to contain them.
14:45 dalek r28033 | pmichaud++ | trunk:
14:45 dalek : [rakudo]:
14:45 dalek : * Temporarily revert r28026 so that trunk works while I refactor
14:45 dalek :   parameter handling in a branch.
14:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28033
14:47 particle pmichaud: in runtime/parrot/library/PGE/Perl6Grammar.pir ~line 157:
14:47 particle .local pmc stmtrule
14:47 particle stmtrule = get_hll_global ['PGE::Perl6Grammar'], 'statement'
14:47 particle stmt_loop:
14:47 particle match = stmtrule(match)
14:47 particle Null PMC access in invoke
14:47 particle why would stmtrule be null?
14:48 davidfetter Those comments are out there. They can't be bargained with!  They can't be reasoned with!  They doesn't feel pity, or remorse, or fear. And they absolutely will not stop, ever...
14:49 pmichaud stmtrule would be null if ['PGE::Perl6Grammar'], 'statement' doesn't exist.
14:49 particle yes, obviously. that's the question i should have asked
14:49 particle i'd like to have a sensible error message for the case when statement doesn't exist
14:49 particle i'm compiling TGE/builtins.pg here
14:49 pmichaud but that shouldn't happen.
14:49 particle so, something's funky.
14:50 particle right
14:50 pmichaud have you tried with -G?
14:50 particle yes, no effect
14:51 pmichaud windows or linux?
14:51 particle and it doesn't fail for you even with gcdebug
14:51 particle windows
14:51 particle a much better platform for finding gc and null bugs
14:51 particle ...don't ask me why...
14:52 NotFound Why?
14:52 particle i'll do the svn update -r dance now
14:52 * jhorwitz loves/hates x86_64 for finding all his bugs
14:52 Andy joined #parrot
14:53 particle x86_64 sucks/rocks
14:53 pmichaud particle:  Perl6Grammar.pir:119 is the one that establishes the 'statement' rule and symbol.
14:53 bacek joined #parrot
14:53 pmichaud that's part of the 'onload' sub.
14:54 pmichaud so, either that call is not working, or 'onload' isn't onloading, or something else is clearing out the 'statement' rule by the time the other code executes
14:56 particle unless null $P0 goto not_null
14:56 particle say "WTF!?!?!?!? 'statement' is NULL"
14:56 particle not_null:
14:56 particle doesn't trigger that line
14:56 particle so, $P0 isn't null after the call to p6regex
14:57 pmichaud ...$P0 ?
14:57 particle $P0 = p6regex($S0, 'grammar'=>'PGE::Perl6Grammar', 'name'=>'statement', 'w'=>1)
14:57 pmichaud oh, you could still be getting a value back for $P0
14:57 particle ah. hrm
14:58 pmichaud try testing ['PGE::Perl6Grammar'], 'statement' at that point.
14:58 Theory joined #parrot
14:59 Zaba_ joined #parrot
14:59 particle yep, it's null
14:59 dalek r28034 | pmichaud++ | trunk:
14:59 dalek : [rakudo]:
14:59 dalek : * Temporarily switch off of using Perl6Scalar until we figure out
14:59 dalek :   the assign/morph issue.
14:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28034
14:59 pmichaud okay, if it's null there, that means that p6regex isn't doing its job
15:00 pmichaud try adding 'target'=>'pir' to the set of options, and then say $P0
15:00 pmichaud so
15:00 pmichaud $P0 = p6regex($S0, 'grammar'=>'PGE::Perl6Grammar', 'name'=>'statement', 'w'=>1, 'target'=>'pir')
15:00 pmichaud say $P0
15:00 particle blank line
15:00 purl blank line is one that containt nothing but s
15:00 pmichaud try displaying $S0 before the call
15:01 particle $S0 contains the heredoc text
15:01 particle ...beforehand, and $P0 blank after
15:02 pmichaud so.... for some reason p6regex isn't compiling the regex properly
15:02 particle but it's still returning non-null $P0
15:02 particle that seems fishy to me
15:02 pmichaud normally p6regex compiles all the way down to bytecode
15:03 pmichaud i.e., it compiles to PIR, then runs the PIR compiler on that
15:03 pmichaud the 'target'=>'pir' _should_ have caused it to stop at the PIR step, and then displayed the PIR that was generated
15:03 particle i can try parse
15:04 pmichaud to display the parse you'll need to call _dumper($P0)
15:04 pmichaud instead of say
15:04 particle gotta load_bytecode, too
15:04 particle what should i load, PGE/Dumper.pbc?
15:05 pmichaud yes, and dumper.pbc
15:05 particle parse exists, moving on to PAST
15:06 particle "VAR1" => PMC 'Eval' { ... }
15:06 particle does that mean it worked?
15:06 pmichaud that means that 'target=parse' didn't.
15:07 pmichaud oh, sorry, missed "parse exists"
15:07 pmichaud PGE doesn't compile to PAST
15:07 pmichaud try target=exp
15:07 particle ah, right
15:07 particle exp, okay
15:07 particle "VAR1" => PMC 'Eval' { ... }
15:08 pmichaud checking.
15:08 purl checking is not the hard part here. ;-)
15:08 pmichaud target='pge::exp'
15:08 pmichaud (I'll be glad when I can refactor PGE to be more hllcompiler-like)
15:08 * particle too
15:09 particle ok, i get a tree back for pge::exp
15:09 particle next step?
15:09 purl next step is PROFIT.
15:09 particle sorry, couldn't resist :)
15:09 pmichaud target='pir', but leave it as _dumper
15:10 particle "VAR1" => ""
15:10 pmichaud that is seriously bogus.
15:10 particle can i give you any nopasted output to help?
15:11 pmichaud how about turn on tracing just before the call to p6regex?
15:11 pmichaud might be a big long, though.
15:11 pmichaud s/big/bit/
15:11 particle 'tis
15:11 particle will do
15:12 particle seems likely to overflow my buffer (9999 lines)
15:12 pmichaud maybe email it to me, or post it somewhere?
15:12 particle yo want the whole trace?
15:12 pmichaud I'm thinking
15:13 pmichaud is this particular error blocking your build (because it won't build TGE?)
15:13 particle yes
15:13 particle i can't work on rakudo or mk_language_shell
15:14 pmichaud you're realcleaned and up-to-date on everything?
15:14 particle unless i revert to saturday's build
15:14 particle ayep
15:14 pmichaud so, something broke on saturday
15:14 particle i'm looking at the logs
15:14 pmichaud do we know which .... right.  It would help to know which item broke the build.  I'll look too for candidates.
15:15 particle svn log -r {20080530}:HEAD --verbose | gvim -
15:17 pmichaud try r27970
15:18 particle config/building now
15:23 pmichaud that should pass.  If it doesn't, that's a huge clue.
15:24 pmichaud fwiw, nothing has changed in PGE itself since 20080530
15:24 particle yeah, i know :(
15:25 pmichaud my next guess would be chromatic's changes on early sunday   --- so try r27988
15:25 pmichaud (er, that would be "late Saturday" for your timezone)
15:25 pmichaud ("early Sunday" in mine :-)
15:26 particle 27970 failed
15:26 pmichaud okay, that's a huge clue.
15:26 pmichaud do you know what revision number succeeds?
15:27 particle no, i'm gonna try 33 now
15:27 particle if that doesn't work, i'll go back to friday
15:27 pmichaud not a lot happened on friday, either.
15:28 pmichaud I mean, -r '{20080530}:head'  includes any commits that were made on Friday
15:28 particle ah
15:28 particle well, 33 is from friday, thoun
15:28 particle er. then.
15:28 pmichaud correct.
15:28 pmichaud r27933 | pmichaud | 2008-05-29 23:35:34 -0500 (Thu, 29 May 2008) | 3 lines
15:29 particle seems to still fail
15:29 pmichaud 33 fails?
15:29 particle i didn't do a realclean
15:29 pmichaud you almost _have_ to do a realclean for this
15:29 NotFound Some of that changes are patches from me.
15:29 particle yeah, am doing now
15:32 jan joined #parrot
15:36 pmichaud I'm going to need lunch soon :-(
15:37 Whiteknight hear hear!
15:37 particle here here! :)
15:38 pmichaud particle: are you doing realclean on 33 or 70?  Did you do realclean on 70 before?
15:38 dalek r28035 | pmichaud++ | rakudoparam:
15:38 dalek : [rakudo]:
15:38 dalek : * New branch for refactoring parameter variables.
15:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28035
15:38 particle i did realclean 70
15:38 pmichaud okay, so my "big clue" stands.
15:38 particle just realcleaned 33 and got failure
15:38 particle "VAR1" => ""
15:38 particle WTF!?!?!?!? 'statement' is NULL
15:38 particle Null PMC access in invoke()NMAKE : fatal error U1077: '
15:39 pmichaud you didn't revert the P6Grammar stuff?
15:39 particle no, should i?
15:39 particle statement is still null
15:39 pmichaud does 'svn status' show that as the only modified file?
15:39 pmichaud (in all of trunk?)
15:39 particle yes
15:39 particle except languages/perl6/t/harness
15:39 pmichaud okay, that should be safe.
15:40 particle but that's totally unrelated
15:40 pmichaud so, how far back should we go?
15:40 particle i'll try 27900
15:41 particle that only changes the class and object pmcs
15:42 pmichaud that could be it, though.
15:42 pmichaud (scanning log)
15:43 pmichaud you did a commit on r27921, so presumably it was working for you then
15:43 pmichaud also r27932
15:43 pmichaud er, r279*23*
15:44 pmichaud but nothing of significance changed from r27923 to r27930
15:44 pmichaud er,
15:44 pmichaud but nothing of significance changed from r27923 to r27933
15:46 pmichaud well, I had better get some lunch -- haven't eaten since early yesterday
15:46 particle ~~
15:47 pmichaud bbiaw
16:08 DietCoke has someone changed imcc recently?
16:11 Whiteknight I changed it a while back with the ".namespace []" thing.
16:11 DietCoke nevermind, another merge related issue with generated files. =-)
16:11 DietCoke (had to delete imclexer.c to get it to regen.)
16:14 DietCoke ... worse, had to re-touch the .l and .y files to insure those changes were more fresh than the other changes brought in from the merger.
16:20 Zaba joined #parrot
16:20 dalek r28036 | Whiteknight++ | gsoc_pdd09:
16:20 dalek : [gsoc_pdd09] updating to trunk r28035. A number of merge conflicts that I wanted to tackle today and not leave until tomorrow.
16:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28036
16:20 Whiteknight yeah, i had to do the same when I regenerated those files, had to touch them to ensure they were newer, so make would operate on them
16:23 DietCoke one of the reasons I'd like --maintainer to just regen _everything_ when we use it. =-)
16:24 particle that imcc problem is very old, if not well-known
16:24 DietCoke I'll be happy if we can remove them as build dependencies. =-)
16:25 particle create a replacement for imcc that doesn't use .l and .y files, and we can do that
16:30 dalek r28037 | coke++ | type_ids:
16:30 dalek : svn merge -r27251:28031
16:30 dalek : Merge from trunk to the type_ids branch
16:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28037
16:37 cjfields joined #parrot
16:44 cjfields pmichaud: regarding Str and trans(), I have noticed in PDD28 that trans() may be deprecated
16:44 cjfields http://www.parrotcode.org/docs/​pdd/pdd28_strings.html#Methods
16:46 ambs joined #parrot
16:46 pmichaud cjfields: no problem, we can always roll our own if we need it
16:47 moritz actually that's one of the things that could easily be implemented in perl 6
16:47 moritz so I'll wait until that's possible, then I'll have a go at it
16:47 cjfields That's what I'm thinking.  Probably will be ... d'oh moritz beat me to it
16:47 moritz cjfields: or you do it then, and I'll try to implement currying instead
16:48 moritz cjfields: I don't think we'll have a shortage of things to be implemented in pure perl ;)
16:49 cjfields Okay.  I have toyed with adding it in PIR (via Str.pir).  Where would we add it in perl6?
16:49 * moritz starts a list of things that can easily be implemented in Perl 6
16:49 pmichaud I don't have that worked out yet
16:50 pmichaud but I'm getting very close.
16:50 moritz cjfields: it's not yet possible to write runtime/prelude in perl 6
16:51 pmichaud I just need MD5 or some sort of uuid generator that PCT can use.
16:51 pmichaud I might break down and use Digest::MD5 as it is now rather than wait for a cleaner version.
16:51 pmichaud could always clean it up or fix it later.
16:52 cjfields I have already started a simple p6 version of trans() so it wouldn't be too hard to add it in
16:52 pmichaud I'd say go with the p6 version if we have one
16:53 pmichaud we might want to implement the 'yada' soon.
16:59 cjfields agree, the 'yada' would be nice
17:07 DietCoke whee. pdd25cx is now dying with a segfault building PGE.
17:07 AndyA joined #parrot
17:25 barney joined #parrot
17:28 * DietCoke rants about the metadata failures in the merges in the type_ids branch in languages/perl6
17:28 DietCoke There's a good reason to do them as one commit. :P
17:30 spinclad purl, literal probably.
17:30 purl spinclad: probably. =is= <reply> Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
17:30 spinclad purl, literal probably.
17:30 purl spinclad: probably. =is= <reply> Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
17:30 spinclad purl, forget probably.
17:30 purl spinclad: I forgot probably.
17:31 * DietCoke imagines all the other purl users on this server are quite unhappy with our mods.
17:33 spinclad no more snarks! no more character!
17:33 DietCoke even better, the property failure I'm getting isn't a result of the last few merges. which means i missed a merge somewhere.
17:34 * DietCoke grumbles.
17:34 Zaba joined #parrot
17:37 spinclad i could reinstate probably. ...
17:37 cotto_work seen allison
17:37 purl allison was last seen on #parrot 12 days and 21 hours ago, saying: I've seen that, Infinoid++,  [May 20 13:48:40 2008]
17:38 spinclad surely that would help with merge problems...
17:48 pmichaud ....sigh... big pct addition coming up
17:48 * pmichaud takes a short walk first.
17:48 slightlyoff joined #parrot
17:48 autarch joined #parrot
17:49 autarch left #parrot
17:49 slightlyoff left #parrot
18:02 sjansen joined #parrot
18:15 TimToady joined #parrot
18:16 * DietCoke wonders if TimToady is a poisonous toad.
18:17 TimToady .oO(ribbit)
18:18 * particle tapes a "lick me" sign on TimToady's back
18:19 ambs DietCoke, done :-P
18:25 DietCoke ambs, thanks. =-)
18:25 DietCoke Coke is also a pest.
18:25 purl okay, DietCoke.
18:26 DietCoke particle: ewwwwwwwwwwww
18:26 pmichaud DietCoke: must be a west coast sort of thing.  :-)
18:36 ambs DietCoke, a big pest! :-P
18:37 particle pmichaud: a fresh co of parrot builds. go figure.
18:37 Theory joined #parrot
18:37 pmichaud something was out of whack then :-)
18:40 particle i wish i knew what.
18:42 particle coke: what do you think about a script that generates MANIFEST from svn??
18:42 particle could we use it to remove MANIFEST?
18:43 pmichaud don't we already have one?
18:43 pmichaud isn't that what mk_manifest_and_skip does?
18:43 DietCoke yes.
18:44 pmichaud particle has a good point then -- why not just do that at release time instead of in every ci?
18:44 DietCoke I think particle might mean as a post-commit hook.
18:44 particle not post-commit hook
18:44 DietCoke don't ask me. I already opened the MANIFEST must die ticket years ago.
18:44 particle svn del MANIFEST
18:44 * barney never understood what MANIFEST in the repos is used for
18:44 pmichaud I think we do a MANIFEST check only if DEVELOPING doesn't exist.
18:44 pmichaud (in configure)
18:44 DietCoke no, the manifest check is done all the time.
18:45 DietCoke it's VERY noticable on windows, for example. =-)
18:45 pmichaud right, I think we *should* do a MANIFEST check only if DEVELOPING doesn't exist.
18:45 pmichaud otoh, having a manifest check is nice to make sure you got a complete svn checkout
18:45 particle how about a makefile target to generate MANIFEST if it doesn't exist
18:46 pmichaud particle:  still skipping the configure check?
18:46 pmichaud because at the time Configure.pl runs, Makefile doesn't exist.
18:46 particle yes, but reconfigure could check it
18:46 pmichaud how about if Configure generates a MANIFEST, and makefile checks it
18:47 pmichaud or Configure generates a MANIFEST if it doesn't exist
18:47 pmichaud and then does a normal manicheck
18:47 pmichaud or....
18:47 particle if perl Configure.pl --release generated MANIFEST, and make release checked it, that'd be great
18:47 pmichaud particle:  there have been sometimes where MANIFEST has let me know that some needed file is missing from my repository
18:48 barney pmichaud: I'm happy with 'svn status', showing the state of the checkout
18:48 pmichaud s/repository/working copy
18:48 pmichaud barney:  sure, but if I'm doing make realclean; perl Configure.pl; make    and some file is missing from the repo, I might not notice it.
18:48 particle pmichaud: there have been times when MANIFEST has let me know that somebody has added a file to his working copy but hasn't checked it in yet after they regenerated MANIFEST
18:48 pmichaud otoh, something probably wouldn't build, either, so...
18:49 particle there are false positives and false negatives
18:49 pmichaud particle: in other words, you're saying that someone added a file to working copy, regenerated MANIFEST, and checked in MANIFEST but not the other file
18:50 particle yes
18:50 particle i'm working on two changes
18:50 pmichaud yes, I have that situation too.
18:50 particle one, i'm ready to commit
18:50 particle yep
18:50 pmichaud what can't "make release" generate MANIFEST ;-)?
18:50 pmichaud i.e., why would perl Configure.pl --release have to do it?
18:51 particle in order to do the config checking
18:51 * pmichaud checks 'make release'
18:51 particle but, heck, make release can run reconfigure --step=manicheck
18:51 particle or whatever it's called
18:51 particle some tests do rely on MANIFEST being around, iirc
18:52 particle so there will be breakage, but it should be fixable
18:52 pmichaud okay, I suggest a different approach
18:53 pmichaud simply have the Configure.pl step make a MANIFEST if DEVELOPING exists
18:53 pmichaud but leave MANIFEST in the repo
18:53 particle huh?
18:54 pmichaud the only time that MANIFEST is a really a problem is when using Configure.pl
18:54 particle we need manifest when developing *doesn't* exist
18:54 pmichaud *make* a manifest
18:54 pmichaud not check it
18:54 pmichaud you just said that some tests do rely on MANIFEST being around
18:54 pmichaud so, let Configure.pl create it if we're in an svn checkout
18:54 DietCoke MANIFEST is used for a ton of things, yes.
18:54 pmichaud that way it'll be up-to-date
18:55 pmichaud and it'll get committed at the next ci
18:55 DietCoke (distro tests, coding standard tests...)
18:55 pmichaud (if there are any changes)
18:55 particle well, it means that you can't do 'make test' reliably without Configure.pl
18:55 pmichaud but it won't carp if someone is working from an SVN repo and the current MANIFEST is incorrect
18:55 particle because MANIFEST will be out
18:55 particle out-
18:55 particle aargh
18:55 DietCoke we also have to consider whether or not we're supporting dev outside of svn.
18:55 particle *out of date
18:56 DietCoke http://rt.perl.org/rt3/Tic​ket/Display.html?id=41386
18:56 * ambs . o O ( spammers )
18:56 DietCoke so if you want to resurrect this thread, actually resurrect *this thread*. =-)
18:59 pmichaud the following tests appear to depend or use manifest
18:59 pmichaud 6 tests in t/configure/
18:59 pmichaud doc/pod.t
18:59 pmichaud native_pbc/number.t
19:00 pmichaud all of the tests in t/manifest/
19:00 pmichaud t/codingstd/gmt_utc.t
19:00 pmichaud t/codingstd/pod_todo.t
19:00 pmichaud t/codingstd/linelength.t
19:00 pmichaud t/codingstd/perlcritic.t
19:00 pmichaud codingstd/filenames.t
19:01 pmichaud t/distro/manifest.t  t/distro/file_metadata.t
19:01 pmichaud a couple of tests in t/steps/
19:01 pmichaud that's all.
19:04 DietCoke google++
19:12 ambs google++ # units conversion
19:14 nopaste "barney" at 84.58.148.48 pasted "weird difference between say and print" (17 lines) at http://nopaste.snit.ch/13147
19:17 DietCoke does one have a newline? <duck>
19:17 DietCoke yup. given the completely different code paths there, that's not entirely surprising.
19:18 DietCoke i'd open a ticket on it, though, because it still seems wrong.
19:25 braceta joined #parrot
19:27 davidfetter joined #parrot
19:36 * barney created ticket RT#55196
19:44 smash joined #parrot
19:44 smash hello everyone
19:44 davidfetter oi, smash
19:57 smash wasn't Configure.pl suposed to pick up and create Makefiles for new languages added via tools/dev/mk_language_shell.pl ?
19:58 DietCoke it creates the root.in; you might have to rerun the config step to gen the actual makefile. mebbe.
19:58 DietCoke "should"
19:59 purl "should" is, like, maybe putting it a little strongly, but who cares
19:59 smash correct
19:59 smash i did all that, still no makefile
20:00 pmichaud no, Configure.pl doesn't do that
20:00 pmichaud mk_language_shell.pl doesn't do anything to modify the Configure.pl system
20:00 DietCoke configure.pl doesn't create a makefile? when did that change?
20:01 pmichaud Configure.pl only creates makefiles for the languages it's told to create makefiles for
20:01 pmichaud as given by config/gen/makefiles/languages.in, I think
20:01 pmichaud mk_languages_shell doesn't modify that list.
20:02 smash last time i used mk_language_shell.pl i only had to rerun Configure.pl and make on the new language
20:02 DietCoke oh. the shell is deficient and doesn't update the global lgnaugaes target?
20:02 pmichaud well, I could be wrong about that, then.
20:02 pmichaud I don't think the shell should update the global languages target.
20:03 smash pmichaud: i'm not 100% sure either
20:03 pmichaud not unless we know that the newly created language is also going to be committed into the repo
20:04 pmichaud the last step in mk_language_shell is      system("$reconfigure --step=gen::languages --languages=$lclang");
20:04 pmichaud that cause the Makefile to be automatically created
20:04 pmichaud but it doesn't cause Configure.pl to do it if re-run again.
20:04 pmichaud (I don't think it does that.)
20:05 pmichaud similarly, using mk_language_shell to create a language and then executing "make realclean" from Parrot root doesn't realclean the language shell, because Parrot's Makefile doesn't know about it.
20:05 pmichaud this all comes from a philosophy that there should be less coupling between Parrot's build system and the languages, not more.
20:06 DietCoke yes, but fixing it in pieces is confusing.
20:06 DietCoke the coupling is already there, and we're not hooking into it.
20:06 pmichaud because the hooks are very fragile/poor
20:06 pmichaud mk_language_shell just gets you a directory and gets you started
20:06 pmichaud it does not add the directory to the repo
20:06 pmichaud it does not add files to MANIFEST
20:07 pmichaud it does not update the Configure.pl targets (because then we'd want an equivalent abandon_language_script)
20:07 pmichaud (and we don't want a "svn commit" to accidentally check in Configure.pl that contains targets for a language that is not in the repo)
20:08 sjansen joined #parrot
20:08 smash bah
20:09 smash if you specify the language path it *won't* create you the makefile
20:09 smash that system line is under an unless ($ARGV[1]) {
20:10 pmichaud right, because the gen::languages step is useless unless the directory is languages/something
20:10 dalek r28038 | Whiteknight++ | gsoc_pdd09:
20:10 dalek : [gsoc_pdd09] added some basics for a dod run function. Mostly comments explaining what I would like to do and what I don't know how to do.
20:10 pmichaud gen:languages doesn't know how to do anything else.
20:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28038
20:10 DietCoke putting all the steps necessary to add it to the repo seems like a good idea, even if we disagree about when it should be run.
20:11 smash yes, but you can alwasy specify languages/something
20:11 smash *always
20:11 pmichaud you're welcome to improve the script.  Just don't break it.  :-)
20:11 smash hehe
20:12 smash better way to run it is plain: $ perl tools/dev/mk_language_shell.pl Foo
20:12 smash that way you get the makefile and are good to go
20:12 DietCoke if I don't make it back for PS tomorrow, one of the usual suspects please stand in for me.
20:14 smash "After populating the language directory, the script attempts to
20:14 smash run tools/dev/reconfigure.pl "
20:14 barney I won't make it to PS tomorrow, Frankfurt.pm meeting,   Nothing to report.
20:14 smash _only_ if you don't specify the 2nd argument !!
20:16 cjfields joined #parrot
20:16 dalek r28039 | bernhard++ | trunk:
20:16 dalek : #54148: [NEW] Add tools/util/dump-pbc.pl (weave PIR source and PBC disassembly)
20:16 dalek : Add testscript tools/util/dump_pbc.pl with a sanity test.
20:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28039
20:24 dalek r28040 | smash++ | trunk:
20:24 dalek : [dev/tools]
20:24 dalek :  * don't wonder why makefiles are not created no more
20:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28040
20:28 * smash &
20:35 cjfields_ joined #parrot
20:39 jan joined #parrot
20:51 Auzon joined #parrot
20:59 rdice joined #parrot
21:36 davidfetter joined #parrot
21:40 Zaba_ joined #parrot
21:54 japhb joined #parrot
22:08 cjfields joined #parrot
22:23 kid51 joined #parrot
22:35 Limbic_Region joined #parrot
22:39 * jonathan is back from Vienna
22:43 kid51 jonathan:  Do you sometimes wake up and wonder which country you're in?
22:43 jonathan kid51: Yes.
22:44 jonathan However, Vienna is only 1 hour from here...I live very near to the Austrain border.
22:44 kid51 ... and where do you live, so to speak?
22:44 jonathan Bratislava, capital of Slovakia.
22:44 kid51 Ah, but IIRC you're from the UK?
22:45 jonathan Yes.
22:45 kid51 Well, then you're the first Slovak I've ever met
22:45 jonathan First person living in Slovakia. ;-)
22:45 teknomunk joined #parrot
22:46 jonathan But yeah, it's a less usual place to go and live.
22:46 kid51 Did you originally move there for work?
22:47 * kid51 has reached the point in life where he's beginning to regret having worked in only one country.
22:47 kid51 ... and, for the most part, in one city.
22:47 kid51 But we don't have EU passports here.
22:47 jonathan I work from home, so I can live pretty much wherever, though being outside of Europe would be tricky for time-zone reasons.
22:47 Limbic_Region well, I have lived and worked in various places in the US - but only lived/worked outside the US in S. Korea (1.5 years)
22:48 jonathan Here is well located for getting to a lot of the rest of Europe.
22:48 jonathan I've generally been quite fond of central/east europe, fancied trying to learn a Slavic language and was pretty taken by Bratislava when I visited, so I figured I'd come hre for six months and see how it goes.
22:49 jonathan If I get to like it, I'll likely stay for a while.
22:49 jonathan And yes, EU makes it very easy to do things like this. :-)
22:49 Limbic_Region what is the work visa situation - do you have to pay local taxes?
22:49 * Limbic_Region should have waited
22:49 kid51 jonathan:  Yes, particularly since the east-to-west span of what is thought of as 'Europe' has expanded so much since 1989
22:51 Eevee that is definitely cool
22:51 jonathan There's no work visa, since it's all EU.
22:51 Eevee although alas you are the *second* person living in slovakia I know of
22:52 jonathan Taxes - gets fun, but the countries are all in tax agreements such that if the UK and Slovakia thought they should tax me, then I can count the smaller tax bill paid in one country as a write-off against the other.
22:52 kid51 Anyone on channel now who was a Mac with 10.5 on intel?
22:54 jonathan pmichaud: ping
23:02 Zaba joined #parrot
23:03 mire joined #parrot
23:12 tetragon joined #parrot
23:19 scrottie joined #parrot
23:26 scrottie pmichaud, if you don't mind, /msg me or find me on #moose if you wake up and see this.
23:35 rdice joined #parrot
23:50 Theory joined #parrot

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

Parrot | source cross referenced