Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-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 pmichaud Null PMC access in invoke almost always refers to trying to call a non-existing function
00:01 obra is there a faq for this sort of stuff?
00:02 pmichaud we could create one.  But I don't know where to put it.
00:02 particle wiki
00:02 patspam joined #parrot
00:02 pmichaud actually, one probably already exists.  But I don't know where it is.
00:02 pmichaud fwiw, it's not specific to rakudo -- it really exists for Parrot and for PCT
00:03 pmichaud in PIR,  "foo"(1)  gives "Null PMC access in invoke()"  if foo doesn't exist.
00:05 TonyC joined #parrot
00:05 pmichaud reporting sane line numbers is RT#43629 and RT#53082
00:06 obra and there's no way to find out what the missing sub being called was/
00:06 obra ?
00:07 pmichaud I'm looking up the RT ticket for that one :-)
00:07 obra Ticket # won't help me much ;) it's all fine
00:07 wknight8111 sane line numbers? I vote for that one!
00:07 pmichaud RT#49972 explains why it doesn't work.
00:07 pmichaud I'm pretty sure I'll need to update PCT to report missing subs
00:08 pmichaud since I don't think Parrot will do it anytime soon
00:10 obra is there a way to tell rakudo to keep running after a parrot failure?
00:10 zarchne joined #parrot
00:11 pmichaud ... try ?
00:11 pmichaud fudge allows
00:11 pmichaud $?rakudo try [num] 'reason'
00:11 * obra was pondering whether p6 gives us enough rope to make ok() insert an inner frame that wraps a try in there.
00:11 pmichaud which puts 'try' blocks around the tests that follow
00:12 obra ok
00:12 pmichaud it's very useful to read the fudge code at the beginning
00:12 obra Sorry. I'm very much a newbie at this
00:12 pmichaud http://svn.pugscode.org/pugs/t/spec/fudge
00:13 pmichaud in truth, we all are.  Even I'm having to look up the items as you ask for them :-)
00:13 * obra nods
00:13 obra #? rakudo [num] try 'reason'
00:13 particle and i keep giving wrong answers
00:13 pmichaud no space between #? and rakudo
00:14 pmichaud yes, I typoed above
00:14 TimToady obra: I've tried all sorts of such tricks, and the preprocessing is by far the most straightforward
00:15 obra TimToady: understood
00:15 obra it's also the most likely to work early on
00:15 TimToady but the main advantage of the fudge approach is that it is completely obvious when you aren't using it
00:15 obra Even if we'll be able to do sick things once we have a fully operational death star.
00:15 obra er. Perl 6 implementation
00:15 TimToady whereas all sorts of niggly hooks, you don't know if they're turned on or off
00:16 pmichaud I really like the fudge impl, fwiw.  TimToady++ and particle++
00:16 TimToady with fudge, just *don't do it*, and if it works, you're golden
00:16 TimToady the disadvantage of fudge is that you have to be a little disciplined in how you write individual tests
00:17 pmichaud discipline in a specification test suite is probably a good thing, though.
00:17 particle discipline for the masses! freedom for all!
00:17 obra Is my discipline obviously lacking in this: http://paste.husk.org/11313 ?
00:18 pmichaud obra: you may be the first person to try 'try' in fudge :-)
00:19 particle obra: s/\#\$\?/#?/
00:19 TimToady you don't have to put the number if it's 1
00:19 pmichaud oh yes, I had the number in the wrong position in my examples.
00:20 pmichaud Apparently tonight I'm only good for general pointers, not for exact syntax :-|
00:20 TimToady that's why the number is where it is, so it's easy to tell if it's missing
00:20 obra particle: you win
00:20 TimToady pointers...are those kinda like references, whatever those are?
00:20 obra except, no
00:20 obra adding a second test of ok(1); reports two failures
00:21 obra or maybe I have another typo
00:21 pmichaud obra: you may be the first person to try 'try' in fudge :-)   :-)
00:21 pmichaud or in rakudo, for that matter.
00:21 particle it works in rakudo
00:21 particle we have sanity tests for try, iirc
00:21 * obra nods
00:21 pmichaud no, I meant fudge's try in rakudo
00:22 particle ah, mebbe
00:22 pmichaud I know that try { ... }  "works" in rakudo.
00:22 TimToady it's easy enough to look at the .rakudo file and see what fudge did with it
00:23 TimToady the thing about try is that it can't really tell how many tests ran inside a block before it failed
00:23 TimToady (if you use the block syntax)
00:23 * pmichaud gives the whole thing a try.
00:23 pmichaud er
00:23 TimToady presumably that sort of thing gets caught by the "planned" number
00:23 obra #?rakudo 1 try 'i hate this'
00:23 obra (try { is( 2147483647 + 2147483647, 4294967294); }) // fail('i hate this')
00:24 obra I would expect a trailing ;
00:24 obra Is that my p5 showing through?
00:24 TimToady could be a buglet
00:26 obra also, it looks like there's no sub fail defined.
00:26 pmichaud aha
00:26 pmichaud that's likely
00:26 obra should that  be 'flunk'?
00:26 obra or is flunk something else?
00:26 pmichaud what's the p6 def for fail()?
00:27 TimToady fixed the ;
00:27 pmichaud (i.e., where is it defined?)
00:27 particle fail is for grammars
00:27 pmichaud just for grammars?
00:27 particle well, probably not
00:27 particle but it's likely that's why flunk exists
00:27 pmichaud fail() is mentioned in S04
00:28 TimToady okay, fixed that too
00:28 obra TimToady++ # fast enough turnaround that I didn't manage to get into fudge
00:28 TimToady should be flunk in any case, since fail would return an exception instead of continuing
00:29 pmichaud is flunk() a Test.pm function?
00:29 particle not yet
00:29 pmichaud I mean in pugs
00:30 pmichaud we need to add flunk() to Test.pm
00:30 TimToady yes, pugs has flunk, I believe
00:30 pmichaud Test/lib/Test.pm
00:30 pmichaud 261:sub flunk (Str $desc?, :$todo, :$depends) returns Bool is export {
00:30 pmichaud (in pugs)
00:30 * obra needs to wander home. thanks for the intro help
00:30 pmichaud thanks, obra!
00:30 TimToady obra++
00:31 obra with luck I'll manage to get this far enough along to move arith.t into spec over the next couple days and write about it
00:31 particle obra++
00:37 nopaste "chromatic" at 69.71.189.252 pasted "[proposed PATCH] Throw Exception when invoke()ing NULL PMCs" (26 lines) at http://nopaste.snit.ch/12871
00:38 obra http://paste.husk.org/11314
00:38 obra that's a first, bad stab at "make fudge's flunk work"
00:39 pmichaud looks pretty good to me
00:40 pmichaud although could even simply do     proclaim(0, $reason)
00:40 particle it's two separate patches, but it looks pretty good
00:40 pmichaud having "flunk" there does make it clearer
00:40 pmichaud two separate patches?
00:40 obra the two changes are not tightly coupled
00:40 particle sure, one is to fix proclaim to include the description
00:41 particle it's worth applying
00:41 * obra wonders if he actually has a commit bit to Parrot
00:41 pmichaud I'm confused... doesn't proclaim already include a description?
00:41 pmichaud obra:  if no, I'll apply in just a second
00:41 patspam left #parrot
00:41 pmichaud (also dealing with kids and students in other windows)
00:42 particle if it's todo, it includes only the todo reason from fudge
00:42 obra if $todo is defined, that was clobbering the reason
00:42 particle not the individual test reason
00:42 obra er. which seemed kind of subpar
00:43 pmichaud applying.
00:43 Zaba joined #parrot
00:43 obra thanks
00:44 pmichaud r27279.
00:44 dalek r27279 | pmichaud++ | trunk:
00:44 dalek : [rakudo]:
00:44 dalek : * Add flunk() function to Test.pm .
00:44 dalek : * Patch courtesy Jesse Vincent  (obra++)
00:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27279
00:49 pmichaud (chromatic's patch) .... doesn't Parrot already throw an exception when invoking a NULL PMC?  I don't see the purpose of the patch.
00:51 particle it makes the invokecc op throw an exception before trying to invoke a PMCNULL
00:51 particle rather than having the Null PMC throw an exception when the invoke vtable function is called
00:52 pasty joined #parrot
00:52 particle at least it has a type, GLOBAL_NOT_FOUND, that you can catch
00:52 pmichaud that seems... wrong
00:52 pmichaud How do we know that the Null PMC is due to a global not found?
00:52 pmichaud it could've come from a variety of sources
00:53 particle i agree.
00:53 particle the exception should be thrown in find_global
00:53 pmichaud I don't want an exception there, either
00:53 particle hey, you're looking for something to invoke, and i can't find the thing you're looking for
00:54 pmichaud did you mean find_name?
00:54 pmichaud or get_global?
00:54 pmichaud in either case, how do you know that the thing you're looking for was something to invoke ?
00:54 particle i'm too far removed to know the exact name
00:54 pmichaud we use get_global and find_name to get things other than subs
00:54 pmichaud and "null" is the standard way we have to determine that the thing doesn't exist.
00:55 pmichaud if parrot is going to try to solve this problem, it needs to do so in the code it generates for a symbolic sub call invoke
00:55 pmichaud i.e., instead of generating
00:55 pmichaud $P0 = find_name 'foo'
00:56 pmichaud $P0(...args...)
00:56 pmichaud it needs to generate
00:56 pmichaud $P0 = find_name 'foo'
00:56 pmichaud unless null $P0 goto label
00:56 pmichaud throw "cannot invoke 'foo'"
00:56 pmichaud label:
00:56 pmichaud $P0(...args...)
00:57 pmichaud bbiab -- kid request
00:58 slavorg joined #parrot
00:59 pmichaud ...but I'm thinking I can do the equivalent in PCT without having to modify Parrot
00:59 * Tene debates between cardinal, lolcode, and naptime.
00:59 Coke pmichaud: tcl is currently doing the latter.
01:00 particle tcl is doing naptime?
01:01 Coke if there's a shortcut, that'd be nice, but the various languages might not deal with it the same.
01:01 Coke no, but I am.
01:02 pmichaud I think I'll add it as a flag or option to PCT
01:03 Coke tempting to to put that in an opcode. invoke_by_name
01:03 pmichaud no, because we have to do calling conventions
01:04 Coke hurm. find_or_die, then. =-)
01:05 Coke (but that's probably not worth it.)
01:10 pmichaud it would be nice to have find_name with an optional flag to decide whether to throw the exception or not
01:10 pmichaud but that's just another form of find_or_die I guess.
01:10 particle we've previously discussed compiler pragmata
01:11 Coke yah. I'm fine with it either way. I don't like pragmata at the assembly level.
01:11 particle .failure_mode 'throw'
01:11 particle .failure_mode 'null'
01:11 particle whatever.
01:11 Coke perhaps some PIR sugar to automatically throw an exception, though. that I could get behind.
01:12 particle $P0($P1, $I2) :throw
01:12 Coke I was thinking it would go on the find_name.
01:13 particle easy enough if you make that a method on the namespace
01:14 particle just need to update NameSpace PMC to use PCCMETHODs more fully
01:14 * particle needs food &
01:28 Tene Wow, I forgot how slow cardinal was.
01:29 nopaste "tene" at 67.111.53.82 pasted "cardinal is really slow" (30 lines) at http://nopaste.snit.ch/12872
01:30 Tene 10s just to call a couple of functions.
01:30 Tene most of it is just parsing.
01:34 Tene --target=parse is 9s
01:37 grim_fandango joined #parrot
01:48 pmichaud parsing is still the slow part of things, yes.
01:48 pmichaud that's why I'm looking at revising pge
01:49 pmichaud (looking at cardinal's grammar to see if there's anything obvious)
01:50 pmichaud although it shouldn't take 9s to parse that relatively small program.
01:51 pmichaud ohhhhh
01:51 pmichaud probably ought to memoize the <ws> rule
01:51 pmichaud it's almost worth creating a subrule just for that
01:52 pmichaud I think pct should provide a memoize function for <?ws>
01:53 Tene clever
01:57 obra how would one define an lvalue .sub for a rakudo core function?
01:57 Tene obra: what are you looking to make?
01:58 obra undefined
01:58 purl i guess undefined is false, but so are some defined values
01:58 obra er
01:58 obra undefine
02:09 pmichaud lvalue sub... I suspect one just puts a sub on the lhs of an assignment
02:10 pmichaud but I'm not sure it will store the value anywhere
02:10 pmichaud that's not exactly something we've done yet :-)
02:10 pmichaud what is undefined?
02:10 purl well, undefined is false, but so are some defined values
02:10 pmichaud er, undefine?
02:11 pmichaud oh, you're just looking for something that is rw?
02:12 pmichaud .sub 'undefine'
02:12 pmichaud .param pmc x
02:12 pmichaud $P0 = new 'Undef'   # this isn't real p6, but it works
02:12 pmichaud copy x, $P0
02:12 pmichaud .end
02:13 obra something that modifies its argument
02:13 obra I'm digging for where in the syns I saw the spec for undefine.
02:13 obra or whether I'm hallucinating
02:15 obra I see it in Perl6/Spec/Functions.pod and throughout the tests
02:16 obra but only a single reference in http://dev.perl.org/perl6/doc/design/syn/S04.html
02:18 obra (copy was the bit I hadn't figured out)
02:20 Tene I'm trying to recall what the problem was with persuading cardinal to allow function calls as arguments.
02:20 Tene I had it all figured out, but didn't get around to fixing it before I forgot it, quite a while back.
02:20 obra so, assuming that undefine is supposed to be a core function, I have the patch, with test
02:21 Tene It's recursive somehow...
02:26 rdice joined #parrot
02:26 Tene I don't know if the parse tree for foo(1) in cardinal is funny or scary.
02:28 obra hey rdice
02:28 rdice ahoy!
02:29 pmichaud undefine is probably not in the synopses yet
02:29 pmichaud that's true for a lot of the builtin functions.  Spec/Functions.pod is essentially the draft of S29, iirc
02:29 * obra nods
02:29 obra do you want an undefine? ;)
02:30 pmichaud if the spec doesn't cover something, then Spec/Functions.pod is the next-best-thing for now
02:30 pmichaud sure!
02:30 pmichaud patches welcome.
02:30 purl That's swahili for "Put up or shut up."
02:30 obra Pasted to: http://paste.husk.org/11315
02:30 obra next question:
02:30 purl it has been said that next question: is the source sensible?
02:30 pmichaud in this case it's english for "If you send me a patch I'll be very happy and give you a karma point."  :-)
02:31 obra I'd guessed ;)
02:31 Tene karma++
02:31 obra my $a;
02:31 obra $a++
02:31 obra BOOM
02:31 pmichaud rakudo needs help with its Undef work
02:31 pmichaud technically P6 no longer has an Undef
02:31 pmichaud so we have to define  the Failure type
02:31 pmichaud and then define the increment operation on it
02:32 pmichaud and I think we just haven't quite gotten around to that yet
02:32 Tene I wonder how much this grammar could be condensed without losing anything important...
02:32 pmichaud Tene:  I think that memoizing <.ws> will save a ton of parsing time
02:32 pmichaud after that, ltm will be the best bet.  I didn't see any obvious grammar condensations in my quick perusal of it
02:32 Tene pmichaud: I'm looking for sanity in trying to fix it, not for speed.
02:33 Tene the current grammar allows foo(1), but not foo(foo(1))
02:33 pmichaud *that's* odd
02:33 pmichaud I thought you were talking about something like   foo(bar)   where 'bar' is another function
02:34 Tene It appears that all you need to do is add <command> to basic_primary, but that loops forever.
02:34 pmichaud (working on applying obra patch, but also need to svn up parrot so will take a few mins)
02:35 obra pmichaud: no worries.
02:35 Tene the things I'm looking at cleaning up are some of the multiple-variants-on-the-same-name which all call each other.
02:35 obra is there a right place for failing tests of incrementing from undef?
02:35 pmichaud good question.  I'd guess somewhere in S03 (operators)
02:35 Tene Oh!  I should make a graph!  Where's the grammar-to-graphviz script, I wonder...
02:35 pmichaud probably whatever is testing the increment operator itself
02:36 pmichaud I think there's already an autoincrement.t in t/spec/03-*
02:36 davidfetter joined #parrot
02:37 pmichaud tene:  adding command to basic_primary is probably correct, but you have to make sure it gets tested before other things that might be a subset
02:42 dalek r27280 | pmichaud++ | trunk:
02:42 dalek : [rakudo]:
02:42 dalek : * Add 'undefine' function and a simple test.
02:42 dalek : * Patch courtesy Jesse Vincent (obra++).
02:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27280
02:42 pmichaud also, anything that can be converted from 'rule' to 'token' would probably speed things up a bit also
02:42 pmichaud so as to avoid all of the extra calls to <.ws>
02:42 obra I can't actually find anywhere in S03 that says we should coerce an undefined value to 0 for autoinc
02:43 pmichaud it likely falls under the "anything not mentioned is still like p5"
02:43 pmichaud otoh, S04 says that if we try to do something with a Failure value, then it throws an exception
02:44 pmichaud so.... I dunno.  At this point I'd probably ask p6c, p6l, TimToady, or #perl
02:44 pmichaud er, #perl6
02:44 Tene http://pleasedieinafire.net/~tene/cardinal.png
02:45 pmichaud or pugs.  :-)
02:46 obra bah. my pugs commit bit appears busted.
02:46 obra Pasted to: http://paste.husk.org/11316
02:47 obra anyone with a pugs bit easily able to add those to autoincrement tests cribbed from the syn?
02:47 pmichaud I've got one -- just a sec
02:48 pmichaud note that there was recently some dicussion on postfix:<++> on p6l; I don't know that anything made it into the spec.
02:49 * obra nods
02:49 obra all I've done is added the weird examples from the syn
02:49 pmichaud well, the weird examples were the things being discussed.  :-)  But I'm pretty sure the changes you made are still spec-compatible.  Besides, we should write to what's written in the spec, not what's discussed on list. :-)
02:50 pmichaud r20354 (pugs)
02:51 Tene rules like the <mrhs> rule in cardinal make me nervous.
02:51 pmichaud seems reasonable
02:52 pmichaud they've just chosen to handle ',' as a syntactic element outside of an opp
02:52 obra pmichaud: thank you.
02:52 pmichaud (operator precedence parser)
02:52 * obra -> sleep
02:52 pmichaud obra++ # many nice patches
02:52 obra maybe tomorrow, I'll try to get arith.t to pass
02:52 obra oh. last question
02:52 Tene Why have <mrhs> that just calls <args>, though?
02:52 obra rakudo appears to require () on function calls at this point.
02:52 pmichaud (I'll be travelling much of tomorrow... but others will be around to help)
02:53 obra I also have a ton of actual work I need to do ;)
02:53 pmichaud NQP requires (), but rakudo doesn't
02:53 pmichaud er, rakudo shouldn't.
02:53 Tene Even the method is just: make $( $<args> );
02:53 obra hm. I wonder why it flips out when I don't have () for ok and for undefine
02:53 pmichaud ok '1';   # fine in rakudo
02:53 Tene > say "foo";
02:53 Tene foo
02:53 purl bar
02:53 Tene yeah, works fine.
02:54 obra Syntax error at line 10, near "undefine $"
02:54 obra current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)
02:54 pmichaud interesting.
02:54 obra hm.
02:54 pmichaud nopaste source?
02:54 obra maybe it's just undefine.
02:54 pmichaud even undefine should work.
02:55 pmichaud ah
02:55 obra Pasted to: http://paste.husk.org/11317
02:55 pmichaud I suspect the grammar is stopping at 'undef'
02:55 obra heh
02:55 obra got it
02:55 obra ok. kaia has just appeared. I really need to run
02:55 pmichaud if so, easily fixed.
02:57 nopaste "pmichaud" at 76.183.97.54 pasted "results after fixing 'undef' (and also 'self')" (19 lines) at http://nopaste.snit.ch/12873
02:58 pmichaud fixed in r27281.
02:59 pmichaud Tene: (mrhs)  Grammar authors often create "stub" rules to clarify things in the grammar
02:59 dalek r27281 | pmichaud++ | trunk:
02:59 dalek : [rakudo]:
02:59 dalek : * Make sure that 'undef' and 'self' aren't prefixes of a larger identifier.
02:59 dalek : * Bug reported by Jesse Vincent (obra++)
02:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27281
02:59 pmichaud for example, I've see things like  (p6 equivalent)    token then { 'then' }
03:00 pmichaud you're correct that in this case it could be eliminated, since <mrhs> is only called in one location ( <assignment> )
03:00 Tene The <mlhs> thing is a bit weird...
03:00 pmichaud it's "multiple left hand side", yes?
03:00 Tene Yeah.
03:01 Tene Essentially: rule mlhs { <lhs> | '(' <mlhs> ')' }
03:02 pmichaud they might not have been easily able to write a self-recursive rule
03:03 pmichaud (I'm just pulling at straws... )
03:03 Tene Please note: this isn't significant questioning, just idle chatter while I try to swap this whole grammar in.
03:03 pmichaud right
03:03 pmichaud same here
03:03 pmichaud (while I do other stuff, such as close the 20+ windows I've managed to open over the past 90 minutes)
03:15 tetragon Hrm... When is the symbol '_environ' defined?
03:17 Tene pmichaud: s/rule/token/ in several places reduced the time to 4.1s for me.
03:17 pmichaud tene:  yes, that's pretty significant.  If I get a few free tuits tonight I might quickly add memoize to PCT::Grammar and try that
03:20 Tene Really, <primary> should be calling <command>, not the other way around...
03:20 petdance joined #parrot
03:25 Tene Wait, why does Cardinal's grammar have both infix:= and an assignment rule?
03:25 Tene wtf?
03:25 Tene oh, multiple assignment, I guess.
03:25 pmichaud hmmm?
03:25 pmichaud that would be odd
03:25 wknight8111 cardinal is ruby-ish, right?
03:25 pmichaud I suspect infix:= is extra
03:25 pmichaud multiple assignment is within the assignment rule
03:26 wknight8111 purl cardinal?
03:26 purl cardinal is http://mail.freesoftware.fsf​.org/pipermail/cardinal-dev/ or the Ruby-on-Parrot project. or http://xrl.us/uyz3
03:26 Tene I wonder if there would be problems if I just implemented infix:, instead
03:26 pmichaud is the current comma handling causing an issue?
03:26 pmichaud I think you're probably better off keeping commas out of the opp, for most languages
03:27 Tene not really, but it looks like it would possibly simplify some things.
03:27 pmichaud (I could be wrong about that, but that'd be my first guess)
03:28 pmichaud actually, I suspect that cardinal is currently using infix:= where it should be using <assignment>
03:28 pmichaud (in terms of generated code)
03:28 Tene nodnod
03:28 Tene me too
03:32 pmichaud afk for a while
03:37 tetragon Got parrot to compile/link on OS X without '-undefined dynamic_lookup' set
03:37 tetragon (Including OpenGL)
03:46 tetragon With -fvisibility=hidden removed from the flags (and not using -j2), there were two points that I encountered difficulty
03:48 tetragon 2) The GLUT callbacks needed to be pointed at libparrot to before they could link
03:50 tetragon 1) When linking libparrot, I needed to add '-Wl,-U -Wl,_environ' for it to work as pmc/env.c refers to the undefined symbol char **environ
03:51 tetragon (That linker flag allows the specified symbol to be undefined)
03:58 Tene Ack, the precedence is all off in cardinal
03:58 Tene Or possibly not precedence...
03:59 Tene n + 1 parses as n( 'infix:+'( 1 ) );
04:01 japhb joined #parrot
04:01 Zaba_ joined #parrot
04:01 Tene Allowing a full <primary>:: or <primary>. before a call?  That doesn't sound right.
04:02 Tene That would allow a call on 'if's and function defs and such.
04:05 Infinoid tetragon: the "environ" symbol is provided by the C library, on linux.  yours doesn't?
04:05 Tene 1 + 1 parses, but 1 - 1 doesn't?
04:05 Tene Weird.
04:05 Infinoid a comment in the source says it is specced in POSIX.1, but if that were the case, we could probably just #include something, rather than declaring it directly
04:06 tetragon The symbol is declared in env.c, but the linker wants the symbol
04:06 Infinoid well, its declared as extern, so it is looking for the actual implementation of it somewhere else
04:06 Infinoid (the code assumes its provided by the C library)
04:07 tetragon haha, libSystem.dylib doesn't define a symbol "environ"
04:07 Infinoid do you have an environ manpage?
04:08 tetragon It's there
04:08 Infinoid on linux, its apparently considered part of the execve() API, so its listed on that manpage, and apparently declared by unistd.h
04:08 tetragon Complete with the same declaration line that's in env.c
04:08 Infinoid k, so what do you have to link against to get it? :)
04:09 Infinoid % nm /lib/libc.so.6 | grep environ
04:09 Infinoid 00000000000335c0 t __add_to_environ
04:09 Infinoid 00000000003449f0 B __environ
04:09 Infinoid 00000000003449f0 V _environ
04:09 Infinoid 00000000003449f0 V environ
04:09 Infinoid 0000000000343240 b last_environ
04:09 tetragon That's not how it's done on OS X
04:09 tetragon "Shared libraries and bundles don't have direct access to environ" (from environ(7))
04:09 Infinoid well, that's not POSIX-compatible
04:10 Infinoid so be it.  we should rework env.pmc to handle OS X in a different way
04:10 tetragon The manpage tells how to access it
04:10 Tene oh, it's trying 'is equal' instead of 'is equiv'
04:11 tetragon I'll have to add in some changes to use _NSGetEnviron() in crt_externs.h to get environ's address
04:12 tetragon (And hope that someone out there has an OS X 10.5 Intel Mac available for testing.  I've noticed differences from time to time between the i386 and ppc OS X ports)
04:12 tetragon Be back in a few minutes
04:12 Infinoid you could probably work around it by declaring a parrot global named Parrot_environ, that goes into the parrot executable, and is initialized to environ
04:16 Tene Hm.... infix:< doesn't work.
04:22 tetragon joined #parrot
04:25 tetragon Bah, the i386 (10.4) environ manpage makes no mention of any issues such as those on the (10.5) ppc.
04:26 Theory joined #parrot
04:27 Infinoid really.  so does it work?
04:27 Infinoid the _NSGetEnviron() hack looks pretty easy to implement, in any case...
04:27 tetragon http://devworld.apple.com/DOCUMENTATION/Dar​win/Reference/ManPages/man7/environ.7.html
04:27 shorten tetragon's url is at http://xrl.us/bj3qd
04:28 tetragon That appears to be the same as is on my 10.5 box
04:30 Infinoid I was reading http://developer.apple.com/documentation/Da​rwin/Reference/ManPages/man7/environ.7.html
04:30 shorten Infinoid's url is at http://xrl.us/bj3qh
04:30 dalek r27282 | infinoid++ | trunk:
04:30 dalek : [rakudo] Fix trailing whitespace in named-unary.pir.
04:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27282
04:30 Infinoid ...which looks identical.
04:30 tetragon The manpage on my 10.4 box is almost identical to that of recent FreeBSD
04:30 tetragon You'd almost think that Apple has multiple paths to the exact same data
04:31 Infinoid what's something I can #ifdef for, for OSX fixes?
04:31 Infinoid maybe their site is just case insensitive...
04:32 tetragon By default, HFS+ is case insensitive
04:32 tetragon But with some of the documents, there really are multiple possible paths
04:32 Infinoid well, the leading directories are definitely case-insensitive
04:33 Infinoid http://devworld.apple.com/dOcUmEnTaTiOn/Dar​win/Reference/ManPages/man7/environ.7.html
04:33 shorten Infinoid's url is at http://xrl.us/bj3qd
04:33 tetragon And I can 'use DaTa::DUMper' just fine in Perl 5 here
04:34 Infinoid devworld.apple.com is an alias for developer.apple.com
04:34 Infinoid (a CNAME in DNS)
04:34 Infinoid lucky you, I guess :)
04:34 tetragon (Although, the warnings that can occur as a result of a miscapitalised package name are rather tedious)
04:35 Infinoid I bet it causes weird %INC mismatches.
04:35 Infinoid so... what can I #ifdef for, to detect OS X?
04:36 Infinoid can I just "#ifdef darwin"?
04:38 Tene It's real slow, but I can run a simple fibonacci series now with cardinal.
04:38 Infinoid ooo, Tene++
04:38 Tene A few hacks, and swiping some stuff from rakudo without checking the ruby spec, but it seems to work okay.
04:39 tetragon I've used __APPLE_CC__ in the past
04:40 Infinoid I see "darwin" being used elsewhere
04:40 Infinoid src/events.c:115:#if defined(linux) || defined(darwin)
04:40 Theory joined #parrot
04:41 tetragon I think that one's parrot-specific
04:42 tetragon But I can see
04:42 Infinoid I'm ok with that
04:42 nopaste "Infinoid" at 75.28.78.127 pasted "tetragon: how about something like this?" (63 lines) at http://nopaste.snit.ch/12874
04:42 Infinoid (that'll probably fail c_indent.t)
04:44 tetragon Failed
04:46 tetragon Couldn't find _environ
04:46 tetragon I'm trying with __APPLE_CC__ for now
04:47 tetragon Works with the check switched to #ifdef __APPLE_CC__
04:48 Infinoid both checks, I'm guessing
04:48 Infinoid thanks
04:48 Infinoid are any other compilers available on OS X other than Apple's?
04:48 Infinoid (intel-cc for example?)
04:49 tetragon Looks like xlc (IBM's C compiler) is available
04:50 tetragon But xlc does come with a gcc compatibility mode (at least on AIX)
04:50 Infinoid well, this probably won't work for that compiler then... dunno how much we care
04:50 tetragon I'm not sure if that extends to OS X and Apple's changes to gcc
04:50 Infinoid seems unlikely
04:51 Infinoid then again, without supporting bundles and frameworks, I doubt it would be very useful at all on OS X
04:51 tetragon xlc supports all that
04:51 Infinoid ok.  well, if we want to support xlc builds in parrot at some point in the future, these #ifdefs might need to be extended
04:51 Psyche^ joined #parrot
04:51 tetragon I'm just not sure about __APPLE_CC__ or how commonly used xlc is
04:53 * tetragon wonders why darwin's hints file sets ld to 'c++'
04:53 Infinoid mingw does that too.  it's kinda annoying... takes more memory for (apparently) no reason
04:56 nopaste "Infinoid" at 75.28.78.127 pasted "Current rev of patch, doing final testing on linux prior to checkin" (62 lines) at http://nopaste.snit.ch/12875
04:57 tetragon PARROT_OS_NAME is 'DARWIN' on my box
04:57 Infinoid (only things changed in this patch version are #ifdef name, and preprocessor token indentation)
04:58 Infinoid uck, I'm tired.  s/token/command/
05:00 tetragon Builds and links
05:00 tetragon Is there any specific test that would be affected by environment variables?
05:01 Infinoid probably t/pmc/env.t
05:01 Infinoid unfortunately, that one is failing some tests here after the patch
05:02 tetragon Started failing here, too
05:02 Infinoid ... makes me wonder if class_init() didn't actually get called
05:02 tetragon But I do have the stacktrace of an interesting case
05:02 Infinoid oh, did it crash?
05:02 Infinoid it just reports bad values here
05:03 tetragon Test 6 tried to allocate 4GB
05:03 Infinoid awesome!
05:03 purl it has been said that awesome is not that word
05:03 Infinoid purl, it has been said that purl is a tard.
05:03 purl OK, Infinoid.
05:03 tetragon I'll paste it and a trace
05:04 Infinoid purl, it has been said that you?
05:04 purl it has been said that i am a tard.
05:04 * Infinoid pats purl
05:04 * purl pats Infinoid back, harder
05:04 nopaste "tetragon" at 216.126.67.44 pasted "Test 6 of t/pmc/env.t on OS X after the patch" (184 lines) at http://nopaste.snit.ch/12876
05:05 Tene Anyone interested in reviewing a few cardinal patches before I commit?
05:06 Infinoid I wouldn't have a clue, sorry
05:06 * Infinoid <-- lowlevel guy
05:06 Infinoid tetragon: that backtrace makes sense if my_environ was never initialized
05:07 iblechbot joined #parrot
05:12 Infinoid unfortunately, if class_init() isn't being called, the reason why is a bit beyond me.
05:12 Infinoid more later.  goodnight
05:13 tetragon All this line number switching is making gdb a bit... interesting...
05:13 Infinoid just imagine, we're going to be doing exactly the same thing, once we fix up the .pbc file format a little more :)
05:14 Infinoid you'll not only have line numbers from multiple files, you'll have them from multiple languages!
05:15 tetragon Yay, finally reached the point of interest
05:16 tetragon And my_environ ended up as "$2 = (char **) 0x7004"
05:17 Infinoid what do you get when you call _NSGetEnviron() directly?
05:17 Infinoid and what do you get when you print *((char***)0x7004) ?
05:18 Infinoid (I don't know if its returning the value of the environ pointer, or the address of it.)
05:18 Infinoid (it looks suspiciously like the address.)
05:18 tetragon Same value
05:19 tetragon And the manpage does specify that it is the address of environ
05:19 Infinoid ok, so if you put a * before the call to _NSGetEnviron(), it might work
05:19 Infinoid ...but this doesn't explain why it fails on linux.
05:23 dalek r27283 | tene++ | trunk:
05:23 dalek : Replace several 'rule's with 'token's.
05:23 dalek : Decreases parsing time by more than 50%.
05:23 dalek : Start cleaning up some strange parsing rules.
05:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27283
05:23 dalek r27284 | tene++ | trunk:
05:23 dalek : Rearrange the cardinal grammar to reduce breakage.
05:23 dalek : Change 'equal' to 'equiv' in the optable.
05:23 dalek : Comment out some stuff.
05:23 dalek : Steal some comparison ops from rakudo.
05:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27284
05:23 dalek r27285 | tene++ | trunk:
05:23 dalek : Add a simple fib test to 02-functions.t.
05:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27285
05:23 dalek r27286 | tene++ | trunk:
05:23 dalek : "print" doesn't have a newline in ruby.
05:23 dalek : "puts" is the ruby version of "say".
05:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27286
05:25 tetragon DIdn't stop the test from failing, but it doesn't crash
05:27 tetragon It seems like a number of other people simply #define _environ (*_NSGetEnviron())
05:30 * tetragon yawns
05:40 jjore joined #parrot
06:06 Infinoid tetragon: the tests are failing because apparently environ is moving around at runtime.  (if I had to guess, I'd say it might be a side effect of spawning a thread)
06:06 Infinoid the #define you mentioned above seems to work better.
06:07 nopaste "Infinoid" at 75.28.78.127 pasted "tetragon: Testing this now." (22 lines) at http://nopaste.snit.ch/12877
06:09 Infinoid seems like a similar issue to one we ran into with thread-specific "errno" in glibc, a couple years ago
06:10 Infinoid old code that just declared "extern int errno" suddenly stopped working
06:11 Infinoid All tests successful on linux/amd64.  if it works for you too, I'll check it in.
06:20 grim_fandango joined #parrot
06:22 dalek r27287 | tene++ | trunk:
06:22 dalek : Fix metadata on new file.
06:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27287
06:23 uniejo joined #parrot
06:31 desertmax joined #parrot
06:34 desertmax What does VTABLE_morph do, when getting a NULL/PMCNULL-pointer?
06:41 desertmax Okay, I've found the macro. This would be really dumb.
07:19 Zaba joined #parrot
07:24 dalek r27288 | fperrad++ | trunk:
07:24 dalek : [pcre]
07:24 dalek : - detabify
07:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27288
07:59 desertmax joined #parrot
08:48 nopaste joined #parrot
09:02 iblechbot joined #parrot
09:11 rotty` joined #parrot
09:20 TonyC joined #parrot
10:27 ambs joined #parrot
10:27 * ambs is back
11:06 rdice joined #parrot
11:15 Coke joined #parrot
11:35 wknight8111 joined #parrot
11:45 mj41 http://developers.slashdot.org/​article.pl?sid=08/04/19/0259236  Hackontest — 24h Open Source Coding Marathon
11:51 Jonathan That sounds...RSI-inducing.
11:53 desertmax_ joined #parrot
12:00 tetragon Infinoid: All tests in t/pmc/env.t pass with the simple #define patch
12:10 mj41 and on Google OS blog http://google-opensource.blogspot.com​/2008/05/happy-hacking-real-time.html
12:10 shorten mj41's url is at http://xrl.us/bj3xx
12:15 dalek r27289 | jkeenan++ | trunk:
12:15 dalek : Applying patch submitted in RT 53592.  Touch-ups to config/auto/pcre.pm and
12:15 dalek : two files of unit tests for that config step class.
12:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27289
12:27 muixirt joined #parrot
12:27 dalek r27290 | infinoid++ | trunk:
12:27 dalek : [pmc] env.pmc wants to use **environ directly, which isn't possible on OSX.
12:27 dalek : * Fix it to look up the address of environ at runtime, on OS X.
12:27 dalek : * Other architectures should be unaffected.
12:28 dalek : * tetragon++ for reporting, discussing and testing.
12:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27290
12:33 Infinoid tetragon: thanks
12:33 Infinoid what else was on your linker failure list?
12:34 * Coke skips review.
12:34 ruoso joined #parrot
12:34 tetragon With -fvisibility=hidden removed from the flag lists, the OpenGL callbacks
12:34 Coke Infinoid: env was working on my osx platform. did you break it? =-)
12:34 tetragon They needed to by pointed at libparrot
12:34 Coke (or did I miss an intermediate patch that changed something.)
12:35 tetragon I did a run that threw errors on undefined symbols instead of looking them up dynamically
12:35 tetragon (at runtime)
12:36 tetragon environ is not defined when linking shared libraries
12:36 Infinoid out of curiosity, does that mean tests failed before?
12:36 tetragon No
12:37 tetragon I think what was happening then is that it would look _environ up dynamically at runtime
12:37 tetragon (It being dyld)
12:37 tetragon And it would be found
12:39 Infinoid I vaguely remember that this is leading up to removing some other, bigger breakage, but I can't remember the details
12:40 tetragon If parrot weren't linked against libparrot (and libparrot was only found through dynamic lookup) I think failure would have been more likely
12:45 Infinoid fortunately, that isn't very likely :)
12:45 tetragon I think I'll do another -undefined=error (the default) build tonight, this time without removing all references to -fvisibility=hidden
12:46 Infinoid ok
12:47 Infinoid I don't understand what needs to be done to the opengl callbacks, so some more details, or a patch, would help there
12:47 tetragon I got it to go with editing a single line in Makefile
12:47 tetragon (Although that is only for testing purposes)
12:48 Infinoid (oh, that's the breakage I was remembering!  -undefined dynamic_lookup.)
12:48 tetragon In the rule for $(LIBGLUTCB_SO), I added -lparrot to the list of arguments to $(LD)
12:49 tetragon (and it's dependency list really should have libparrot added to it)
12:51 tetragon Anyway, I'm off
12:54 Ademan_ joined #parrot
12:57 janus joined #parrot
13:09 Juerd joined #parrot
13:18 mire joined #parrot
13:23 Coke purl, 68+709+88
13:23 purl 865
13:25 Zaba purl, nine eleven times two thousand three hundred and fifty six!
13:25 purl Zaba: huh?
13:34 rdice joined #parrot
13:35 Coke purl, msg chromatic http://news.perlfoundation.org/20​08/05/2008q2_grant_proposals.html :: look for the text "A Perl 6-dependent project."
13:35 purl Message for chromatic stored.
13:35 shorten Coke's url is at http://xrl.us/bj3v3
13:40 * Coke is down to < 50 tcl tickets left in the parrot queue.
13:43 obra coke++
13:43 obra (rt-tickets)--
13:43 ambs :D
13:44 rdice_ joined #parrot
13:50 Infinoid holodeck programs?  ouch.
13:51 Coke I'm just moving them out of perl's RT into partcl's issue tracker.
13:51 Coke sorry, obra. =-)
13:53 obra what is partcl using?
13:53 Coke I opened a googlecode project.
13:54 obra is articl going to use gcode svn as well?
13:54 obra er. "parcl"
13:54 Coke Just recently, with the impending 1.0 boot from the repository, and the fact that tcl's 80 tickets were crowding the parrot RT queue.
13:54 Coke "partcl" =-)
13:54 obra I managed to get a _different_ subset of jerry's name.
13:54 obra it's early. i can't type. or something
13:54 Coke partcl ain't particle.
13:54 obra I know it. I just can't type.
13:55 Coke it's leaving the repo. mdiep wants github; I think the svn repo in gcode would be fine.
13:55 Coke but for now, it's still hanging out here.
13:55 * obra nods
13:58 Andy left #parrot
14:05 rdice joined #parrot
14:11 gryphon joined #parrot
14:13 * ambs moderates a bunch of more MT comments...
14:39 Zaba joined #parrot
14:42 ambs lol@partcl and particle!
14:45 Tene perhaps I should rename "cardinal" to "carticle"
14:46 * particle wonders where the popularity of his nick came from
14:46 Coke rubicule
14:49 cotto_home phpicle
14:49 Tene particle: you're just such a sexy man.
14:49 Infinoid par-tickle!
14:50 * particle isn't ticlish
14:50 * Infinoid isn't tclsh either :)
14:50 particle er, tclish?
14:50 particle darned muscle memory
14:50 Infinoid hehe
14:51 Tene lots of lab time in class today, any requests on what I should work on?
14:52 particle converting pugs/t/ to t/spec/
14:53 Tene Hm.  I don't have a copy of pugs on my laptop, and no internet connection except on my phone.
14:54 particle i wouldn't co all of pugs, it'll take a week and a day
14:54 particle just svn co http://svn.pugscode.org/pugs/t pugs/t
14:55 Tene no internet connection on the laptop.
14:55 particle ah. i see. you can't connect your laptop to the internet via your phone
14:56 Eevee if you *can* I'd love to know how
14:57 Tene I could, but the docs on doing that are all online, and I never remember to try when I do have a net connection
14:58 Eevee haha, same
14:58 * particle almost has it figured out
14:58 particle pmichaud does have it working, via bluetooth
14:58 Eevee figuring it out via a 3"x3" screen is a little harder
15:00 particle http://www.pmichaud.com/sandbox/gprs.txt
15:01 Infinoid I can connect my laptop to the internet via my phone
15:01 Infinoid its a mess of rfcomm, bluetooth, and ppp, but it works :)
15:02 * Tene goes to check out of the hotel
15:02 paco solaris10-sparc-gcc : make test: Failed 1/581 test programs. 1/11005 subtests failed.
15:02 * particle wants to use his usb connector, so he can charge the phone simultaneously
15:02 Eevee oh right I have linux on my laptop now
15:02 Eevee linux can wire anything into anything
15:02 particle which test, paco?
15:03 particle on windows, the gprs modem Just Works
15:04 paco #   Failed test 'atan, part 2' #   at t/op/trans.t line 380. #          got: 'not 0.000000ok 1 # ' #     expected: 'ok 1
15:04 Eevee from my previous attempt I seem to recall something about bluetooth intertubes being half-disabled on the treo 700p
15:09 Infinoid there's an AT command that I had to use, to tell it how to connect to AT&T
15:09 Infinoid there's an array of connection types, and mine was missing the entry it needed
15:19 Eevee sounds like how far I got
15:20 Eevee except that didn't actually work
15:20 * particle can connect, but immediately gets SIGHUP
15:21 Eevee of course
15:21 Eevee my laptop battery is completely dead at the moment
15:21 Eevee that might be a more useful problem to solve
15:21 Infinoid :)
15:22 * particle wonders what it would take to implement the CALLER package in rakudo
15:24 Infinoid hmm.  I'm having rfcomm issues at the moment.  thinking about implementing the bluetooth stack in rakudo while we're at it :)
15:25 particle what's the perl 6 socket api look like?
15:27 obra particle: pugs has tests
15:28 particle pugs/t> ack socket
15:28 particle >
15:28 Eevee ack++
15:30 Infinoid rfcomm issues solved by rebooting phone.
15:31 Eevee technology sure has progress
15:31 Eevee now we can even reboot our phones
15:31 Eevee I can't wait until I have to reboot my toaster
15:32 Eevee or patch it to fix a remote execution vulnerability
15:32 Infinoid I'm looking forward to rebooting my toothpaste dispensor
15:32 Eevee whoops, s/progress/progressed/
15:33 Infinoid and running seti@home on my toaster
15:34 Eevee if they built f@h in, they could claim that their toaster cures cancer
15:34 Infinoid New And Improved!  Cures Cancer!  Real Soon Now.
15:35 * Infinoid re-reads parrotbyte.pod
15:35 Eevee * may not cure cancer
15:36 Infinoid in the future, toaster heating elements will be made by Intel
15:37 Eevee the dial will be labeled "1 2 3 3.99999823565 5"
15:38 Infinoid Black & Decker toaster oven commercials will tell you to look for the Intel Inside logo
15:38 Eevee then Apple will release their own line of toasters that only toast Apple bread
15:38 Infinoid ...but have seamless itunes integration, of course
15:38 Eevee you can toast in time with your music!
15:39 Eevee * for a nominal fee on top of the cost of the song
15:39 Infinoid it can waggle the toast to the beat
15:39 Eevee I can imagine the commercials now
15:39 Eevee toast silhouette dancing around
15:49 davidfetter joined #parrot
15:49 dalek r27291 | infinoid++ | trunk:
15:49 dalek : [cage] set svn:mime-type on t/steps/auto_pcre-02.t
15:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27291
16:06 sjansen joined #parrot
16:17 pmichaud pong
16:18 Theory joined #parrot
16:19 particle donkey kong
16:19 * pmichaud seriously considers registering itoast.com
16:20 pmichaud looks like it's taken.  how about itoaster?
16:20 particle it burns an apple logo into your bread
16:20 pmichaud heh
16:21 dalek r27292 | ambs++ | trunk:
16:21 dalek : Make version number be printed consistently with other tests.
16:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27292
16:32 paco solaris10-Sun C 5.9 SunOS_sparc : parrot compiles Ok, make perl6 says : Hello, world. :)
16:32 paco making tests
16:32 purl making tests is probably more of the advocatus diaboli side of coding for me :)
16:37 itz joined #parrot
16:38 pmichaud afk # flight
16:56 gryphon joined #parrot
16:57 barney joined #parrot
17:25 paco solaris10-Sun C 5.9 SunOS_sparc : make test : All tests successful. Files=581, Tests=10996
17:27 Theory joined #parrot
17:32 * Coke imagines most six letter .com domain names are taken (review)
17:33 * Jonathan sees most of the backscroll seems to be about toasters
17:34 * Coke gets toasted
17:35 davidfetter The Online Attribute Storage System?
17:37 Coke s/System/Technique/!
17:40 davidfetter d'oh
17:41 cotto_work joined #parrot
17:43 particle Two-sided Object Application of Scorching Technique
17:46 * Eevee applauds
17:50 Jonathan May or may not have time for Parrot/Rakudo stuff this weekend...either way, will do another Rakudo Day next week. :-)
17:50 itz_ joined #parrot
17:51 Coke ... what does ticket 31151 mean?
17:51 Coke Automate string vtable generation"
17:52 Coke I vote close the ticket. =-)
17:52 * Coke will hit the list.
17:52 Jonathan Doesn't mean that much to me...maybe check...yes, that's right. :-)
17:57 Infinoid could it mean autogenerating src/vtable.tbl?
17:58 Jonathan But...what from?
17:58 Infinoid I guess pmc2c could do that, but it doesn't seem like a very good idea
18:00 Infinoid and I don't know what it has to do with strings
18:14 ambs joined #parrot
18:15 dalek r27293 | bernhard++ | trunk:
18:15 dalek : [Eclectus]
18:15 dalek : Put library functions into src/builtins/all.pir
18:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27293
18:21 slightlyoff joined #parrot
18:21 rillian is c99 supposed to pass its tests?
18:22 ambs someday
18:22 ambs :D
18:23 * Jonathan -> dinner
18:23 AndyA joined #parrot
18:23 rillian t/spi....Method 'get_scalar' not found for invocant of class 'Undef'
18:23 rillian I've made PCT do that
18:23 rillian :)
18:23 rillian ambs: so running codec source through it is a little ambitious of yet?
18:24 Infinoid Coke: your "Automate string vtable generation" was in TODO in subversion r26, 2001-09-10
18:24 ambs rillian, in fact, I was kidding, but I really think c99 is not yet in a stable point to pass its tests.
18:25 ambs Infinoid, are you training for archeologist?
18:25 japhb joined #parrot
18:25 Infinoid no, just looking for good excuses to use my shiny new svn-bisect tool :)
18:25 ambs lol
18:29 particle rillian: check the svn log on languages/c99/ for hints
18:29 rillian well, c99 parses 'hello world' and even gets the string into PIR, but fails to call 'say' on it
18:30 dalek r27294 | bernhard++ | trunk:
18:30 dalek : [Eclectus]
18:30 dalek : No need to recompile driver_nqp.pir for every script invocation.
18:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27294
18:30 rillian particle: thanks
18:31 rillian btw, I had a NQP questions
18:31 rillian question
18:31 particle i *knew* we had a reason for commit messages :)
18:31 ambs particle, we have?
18:31 rillian when you say $<else>=<block> in a rule, why does $<else> end up an array instead of a single result, even when there's only one of them?
18:32 particle because in the grammar, else has a question mark after it
18:32 particle so it's an array that contains either 0 or 1 value
18:32 grim_fandango_ joined #parrot
18:32 particle + makes an array of 1 or more
18:32 particle * 0 or more
18:33 rillian particle: aha, thanks. that makes sense finally
18:33 rillian not used to the language doing so much thinking for me :)
18:38 ruoso_ joined #parrot
19:08 Theory joined #parrot
19:19 rdice joined #parrot
19:21 cotto_work barney, ping
19:22 cotto_work seen barney
19:22 purl barney was last seen on #parrot 3 days and 1 hour ago, saying: I think that whiteknight wrote some new content  [Apr 29 11:21:48 2008]
19:29 Ademan_ joined #parrot
19:31 dalek r27295 | bernhard++ | trunk:
19:31 dalek : [Eclectus]
19:31 dalek : Keep the generated *.nqp files.
19:31 dalek : Fix some test names, avoid whitespace.
19:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27295
19:35 barney cotto_work: pong
19:36 cotto_work what are you using as a grammar for the pct version of plumhead?
19:38 cotto_work is there something known to work from an acceptable license that you're copying?
19:39 particle[ventus] joined #parrot
19:43 barney It's been a while. As far as I remember I copied from grammars in Parrot repos. Starting from scratch for PHP specific stuff.
19:43 cotto_work nuts
19:44 cotto_work it'd be nice if there were a way to steal/modify the grammar from the reference implementation without messing up licensing issues
19:44 barney Also an article from ANTLR 'Island grammars',
19:46 barney I'd suggest to collaborate with the PHC guys, even though PHC is currently not very active.
19:46 paco hi, I am trying to make a 64 bit parrot executable in solaris10-sparc but - perl Configure.pl --ccflags=m64 - gives me a 32bit executable. any idea ? - my kernel is 32bit but I can make and execute 64 bit binaries : hello64:        ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped
19:47 particle[ventus] paco: likely you'll need to experiment and modify config/hints/solaris.pm
19:47 cotto_work is there any reason not to try to get the PHP guys to relicense the (two) relevant files in PHP
19:47 cotto_work 's source?
19:47 particle[ventus] if you ask on the mailing list, andy dougherty may be able to help. he's never in #parrot, though
19:48 paco ok, i can experiment.., I only ask  because I dont know if there is interest ..
19:49 particle[ventus] yes, there is definitely interest
19:49 particle[ventus] 64bit++
19:49 paco ok, thanks particle
19:49 particle[ventus] i'd love to get 64bit compiles working on windows, too
19:50 barney cotto_work: Nothing speaking against it. I never talked to PHP guys, as I don't really know PHP.
19:53 barney found my PHP references:  "PHP kurz&gut" from O'Reilly   and   PHP GE-PACKT from mitp-Verlag
19:53 cotto_work cool.  I'll coordinate with allison and find out what would be needed.  It would certainly take away some of the guesswork to be able to copy the upstream implementation with impunity.
19:54 Coke (licensing) Or you could move the language out of the parrot repo and avoid any licensing issues.
19:54 Coke s/any/many/
19:54 barney cotto: Sounds good
19:54 purl i seem to remember a line from "The Italian Job" about that.... ;)
19:54 Coke I need to ask allison about getting out of the parrot repo.
19:55 particle[ventus] what do you need to ask?
19:55 cotto_work Coke: that's also a possibility, but it's nice to have all the code in one place
19:58 barney Having it in the Parrot repos is also nice for sharing modules between languages implementations
20:00 Coke cotto_work: all the languages are getting booted by 1.0
20:01 Coke particle[ventus]: primarily if the TPF will cede the copyright, or how that'll work.
20:01 Eevee Coke: where are they going?
20:01 Coke Eevee: "elsewhere"
20:01 cotto_work Coke, true, but I expect parrot to have stabilized by that time
20:01 cotto_work (somewhat)
20:01 Coke by 1.0? one can hope. =-)
20:02 Coke ... We need to have a release party, btw.
20:02 cotto_work having it there in the meantime would help keep it from bitrotting
20:02 Coke (perhaps at one of the yapc's, whenever it happens)
20:02 Coke cotto_work: sure, just trying to help avoid a licensing kerfuffle.
20:03 cotto_work I appreciate it
20:04 barney cotto_work: How are your licensing woes with MS ?
20:05 cotto_work no word yet, and my boss is out for the day so I can't ask him
20:13 mire joined #parrot
20:15 Psyche^ joined #parrot
20:18 davidfetter joined #parrot
20:32 spinclad Tene: re anyone speak ruby, check with mncharity on #perl6, maybe   # old backlog, i know
20:45 ruoso__ joined #parrot
20:47 davidfetter boa tarde, ruoso__
20:47 davidfetter vc em brasil?
20:48 ambs davidfetter, PT
20:48 ambs :)
20:48 * davidfetter finds this very confusing
20:48 davidfetter ruoso__ (~ruoso@201009044136.user.veloxzone.com.br) has joined #parrot
20:48 * ambs can't guarantee, in fact
20:48 Coke was verwirrend ist?
20:48 Tene spinclad: I just asked the ruby repl instead
20:53 ruoso__ joined #parrot
21:01 * Coke idly wonders if any parrot folk have done a medi-fast diet.
21:03 dalek r27296 | bernhard++ | trunk:
21:03 dalek : [Eclectus]
21:03 dalek : Keep the *.pir files generated during 'make test'.
21:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27296
21:07 dalek r27297 | bernhard++ | trunk:
21:07 dalek : [Eclectus]
21:07 dalek : Clean up generated *.pbc files.
21:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27297
21:12 barney Is there an example for calling a sub written in NQP from PIR ?   Without dumping NQP to PIR first.
21:13 ambs Coke, yes, I need a diet.
21:13 particle[ventus] the nqp needs to be compiled to a pbc, barney
21:16 barney To a *.pbc file ? Or is there a HLLCompiler stage 'compile to pbc and load it' ?
21:16 particle[ventus] to a *.pbc file
21:17 barney OK. That's what I have now. Besides that I compile to PIR, in order to make debugging easier.
21:28 IllvilJa joined #parrot
21:43 dalek r27298 | bernhard++ | trunk:
21:43 dalek : [Eclectus]
21:43 dalek : Fix dependency of driver_nqp.pbc
21:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27298
21:52 contingencyplan joined #parrot
21:55 wknight8111 joined #parrot
22:05 ambs left #parrot
22:37 Limbic_Region joined #parrot
22:47 mire joined #parrot
22:52 lidden joined #parrot
23:05 braceta joined #parrot
23:07 tetragon joined #parrot
23:08 * tetragon grumbles at the relative instability of OS X 10.5 on her iBook
23:12 Infinoid relative to?
23:13 tewk joined #parrot
23:13 tetragon 10.4
23:13 tetragon I went from no crashes to at least two panics in the past month
23:14 Infinoid hmm
23:14 Infinoid hope they fix that soon
23:14 Infinoid airport &
23:14 purl That doesn't look right. Try 'airport code for CITY' or 'airport name for CODE' instead.
23:16 tetragon Actually, it was two in the past week
23:17 Tene ouch
23:17 Tene airport name for SFO
23:18 purl KSFO is SAN FRANCISCO INTERNATIONAL AIRPORT, SAN FRANCISCO, California USA
23:18 tetragon And in both cases, I'm busy recovering data from vim recovery files
23:18 tetragon airport name for YTZ
23:18 purl CYTZ is TORONTO/CITY CENTRE AIRPORT, TORONTO, Ontario Canada
23:18 Tene qwhois tetragon
23:18 tetragon Bah, that one is known as "Toronto Island Airport" (its old name).
23:19 Tene airport name for SLC
23:19 purl KSLC is SALT LAKE CITY INTERNATIONAL AIRPORT, SALT LAKE CITY, Utah USA
23:24 Limbic_Region airport name for DIA
23:24 purl I can't find an airport for KDIA.
23:25 Limbic_Region really - it is a small airport in south america
23:25 Limbic_Region airport name for DEN
23:25 purl KDEN is DENVER INTERNATIONAL AIRPORT, DENVER, Colorado USA
23:27 tetragon airport name for YKZ
23:27 purl CYKZ is BUTTONVILLE AIRFIELD, TORONTO, Ontario Canada
23:28 tetragon airport name for YOO
23:28 purl CYOO is OSHAWA AIRPORT, OSHAWA, Ontario Canada
23:31 tetragon airport name for CNU8
23:31 purl I can't find an airport for CNU8.
23:46 Theory joined #parrot

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

Parrot | source cross referenced