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