|
www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha" Set by moderator on 17 September 2008. |
|||
|
00:01
ruoso joined
|
|||
| pmichaud | tene: no, we don't need to change compreg. | 00:05 | |
| Tene nods. | |||
| Tewk is coming over shortly to hack on Cardinal. | 00:07 | ||
| pmichaud | no problem, I'll work on pge a bit more later | ||
| I think we can have it running tonight, based on progress so far. | |||
| the hard part is just getting things to compile in the first place. | |||
| Tene | nodnod | 00:09 | |
|
00:10
AndyA joined
|
|||
| dalek | r31726 | tene++ | hllmagic: | 00:12 | |
| : [rakudo]: Update some namespaces | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31726 | |||
|
00:16
purl joined
|
|||
| dalek | r31727 | pmichaud++ | hllmagic: | 00:23 | |
| : [pge]: use p6metaclass protoobject instead of creating one. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31727 | |||
|
00:30
bennett joined
01:15
notbenh joined
|
|||
| dalek | r31728 | tene++ | trunk: | 01:40 | |
| : [cardinal] | |||
| : * Convert block arguments to use a named parameter for the calling conventions foo | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31728 | |||
| r31729 | pmichaud++ | hllmagic: | 01:50 | ||
| : [pge]: Fix namespace syntax, new object creation. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31729 | |||
| r31730 | pmichaud++ | hllmagic: | 01:51 | ||
| : [tge]: Fix calling conventions to PGE. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31730 | |||
|
02:11
petdance joined
|
|||
| dalek | r31731 | tene++ | trunk: | 02:26 | |
| : [cardinal]: Yield now works. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31731 | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "ARRRRGH: trace level changes output?!?! (trunk, r31731)" (64 lines) at nopaste.snit.ch/14244 | 02:38 | |
| dalek | r31732 | tene++ | hllmagic: | 02:47 | |
| : [pge]: Update namespace usage in examples/pge/simple | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31732 | |||
| r31733 | pmichaud++ | hllmagic: | 02:49 | ||
| : [pge]: Fix subrule calls of form <Foo::Bar::regex>. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31733 | |||
| Tene | pmichaud: are you also seeing a hang in t/compilers/pge/pge_globs.t ? | 02:51 | |
| pmichaud | yes. | ||
| Tene | Right, that's why you were tracing, I suspect. | 02:52 | |
| pmichaud | no, I was working on PGE::Hs | ||
| Tene | Ah, okay. | ||
| pmichaud | I'm working on PGE::Glob now, having given up on PGE::Hs | ||
| but it's *really* annoying that turning on tracing changes the results like that. | |||
| Tene | Rather. | ||
| pmichaud | the hangup in PGE::Glob is that something is calling new_class with an empty string name | 02:54 | |
| that's resulting in calling "newclass" opcode with the parrot root namespace as its argument | |||
| and Parrot locks up there. | |||
| or, potentially, the tracing locks up there. | 02:56 | ||
| Tene | Curious. | 02:57 | |
| purl hands Tene a dead cat | |||
| Tene | :( | 02:59 | |
| It's not dead, it's pining for the... cat-place. | |||
|
03:00
s1n left
03:05
Ontolog joined
|
|||
| pmichaud | I'm getting a weird error in p6object | 03:08 | |
| I'll go ahead and commit the change (it causes PGE to not build) and maybe you can find it from there. | |||
| Tene | pge_globs_28.pir ends up calling into PGE::Exp | 03:10 | |
| on PGE/Exp.pir:97 new_class is called with an empty argument | |||
| pmichaud | right | ||
| that's what I'm working on now. | 03:11 | ||
| Tene | Sure, I'll look at the p6object error. | ||
| pmichaud | r31734 | 03:12 | |
| dalek | r31734 | pmichaud++ | hllmagic: | 03:13 | |
| : [pge]: avoid calling new_class with empty grammar name. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31734 | |||
| Tene | What's the p6object error? | ||
| ah, there it is. | |||
| pmichaud | get_string() not implemented in class 'ResizableStringArray' | 03:14 | |
| current instr.: 'parrot;P6metaclass;new_class' pc 715 (runtime/parrot/library/P6object.pir:431) | |||
| afaict new_class is being called with PGE::Perl6Grammar | |||
| oh, hrm. | 03:15 | ||
| I wonder what happens if we call new_class with the name of an existing class? | |||
| I bet that's it. | 03:16 | ||
| yes, that's it. | 03:17 | ||
| now I just need a good way to be able to see if a class has already been created or not. :-) | |||
| Tene | get_class? | 03:18 | |
| purl | it has been said that get_class is looking up a class. it's more like implmenting a 'find_class' | ||
| pmichaud | but we can't do get_class on a string. | ||
| (that contains ::) | |||
| Tene | but P6object.pir:431 you're calling newclass on an RSA, not a string | 03:19 | |
| pmichaud | no | ||
| look at the debug trace -- newclass is being given a NameSpace | |||
| Tene | oh, right. | ||
| pmichaud | this fixes it for now. | ||
| dalek | r31735 | pmichaud++ | hllmagic: | 03:20 | |
| : [pge]: Handle the case when new_class get called multiple times. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31735 | |||
| Tene | Only one failing test now. | 03:21 | |
| Now pct, eh? | 03:22 | ||
| pmichaud | That's the one that I was having trouble with trace. | ||
| yes, pct should be next. | |||
| but I think I need a break. :-| | |||
| Tene | I don't! I should take one to cook dinner, though. | 03:23 | |
| I don't think I will for a while, though. | |||
| Are you also annoyed by inconsistent use of " and ' ? | |||
| dalek | r31736 | tene++ | hllmagic: | 03:26 | |
| : [pct]: Update the HLLCompiler test | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31736 | |||
| Tene | pmichaud: do we need to care about :: in multi sigs? | ||
| pmichaud | no, I'm not annoyed by that. | 03:29 | |
| yes -- in multi sigs we have to convert 'PAST::Var' to ['PAST';'Var'] | |||
| Tene | What about bare PAST::Whatever with no quotes? | ||
| pmichaud | it needs to be ['PAST';'Whatever' | 03:30 | |
| ] | |||
| Tene | Okay. | ||
| pmichaud | essentially, there are no more Parrot class names with colons | ||
| dalek | r31737 | tene++ | hllmagic: | ||
| : [pct]: Update NameSpace usage in PAST::Compiler and POST::Compiler | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31737 | |||
| pmichaud | so anywhere that we have :: in PIR code or to Parrot opcodes, it has to be changed to be pre-split. | ||
| dalek | r31738 | tene++ | hllmagic: | 03:31 | |
| : [pct]: Oops, missed one. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31738 | |||
| Tene | There, all pct tests successful with 31739 | 03:34 | |
| dalek | r31739 | tene++ | hllmagic: | 03:35 | |
| : [pct]: Update the post test file | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31739 | |||
| pmichaud | the pct tests don't test much more than loading of pct | 03:36 | |
| Tene | nqp comes next? | ||
| pmichaud | the real test for pct is nqp. | ||
| Tene | nqp should use P6object, or no? | 03:39 | |
| pmichaud | yes, it should. it's not? | 03:40 | |
| Tene | src/Grammar/Actions.pir | ||
| line 5 | |||
| pmichaud | convert it to P6object if you can -- shouldn't be difficult. | ||
| purl | I don't know how to convert it to P6object if you can -- shouldn't be difficult.. | ||
| Tene | Should be, I was just surprised to see that it wasn't already. | 03:41 | |
| pmichaud | I probably missed it when I created p6object | ||
| since nqp pre-dates that. | |||
| dalek | r31740 | tene++ | hllmagic: | ||
| : [nqp]: Many NameSpace updates. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31740 | |||
| Tene | ah. | ||
| dalek | r31741 | tene++ | hllmagic: | 03:47 | |
| : [nqp]: More NameSpace fixes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31741 | |||
| Tene | Now I need to fix HLLCompiler's parsegrammar and parseactions. | 03:48 | |
| get_hll_global apparently understand strings, keys, and arrays of strings, but not namespaces | 03:53 | ||
| pmichaud | correct | ||
| if you have a namespace, you can just do namespace[key] | |||
| Tene | So I change hllcompiler to store namespaces and look up that way instead. Okay. | 03:54 | |
| dalek | r31742 | pmichaud++ | hllmagic: | 03:56 | |
| : [tge]: Update TGE to look in correct spot for parser. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31742 | |||
| Tene | Do we want to support PGE::Match.new(grammar=>NameSpace) ? | 04:08 | |
| pmichaud | ...in NQP, or? | 04:18 | |
| oh, you mean passing a namespace as the :grammar option | |||
| I hadn't been planning on it, but it could make sense. | 04:19 | ||
| the :grammar option will likely go away at some point anyway. | |||
| afk for a while. | 04:22 | ||
| dalek | r31743 | tene++ | hllmagic: | 04:23 | |
| : [pct]: Store namespaces instead of strings for several attributes | |||
| : [pge]: Allow passing a namespace as a grammar | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31743 | |||
| Tene | It's either that, or re-stringify in HLLCompiler. | 04:26 | |
| Okay, time to cook dinner. | |||
|
04:27
johbar joined
04:34
tetragon joined
04:53
s1n joined
05:04
Zaba_ joined
|
|||
| Tene | Habanero raspberry stir fry. Mmm. | 05:24 | |
|
05:28
Bzek joined
05:36
iblechbot joined
05:58
nopaste joined
06:16
uniejo joined
07:15
allison joined
07:35
cosimo joined
|
|||
| dalek | r31744 | allison++ | trunk: | 08:25 | |
| : [pmc2c] Rip out the duplicate code for transforming the 'SELF.vtable_name()' | |||
| : syntactic sugar, because it does the wrong thing. 'SELF.vtable_name()' should | |||
| : always make a regular vtable function call, just like | |||
| : 'VTABLE_vtable_name(INTERP, SELF)'. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31744 | |||
|
08:28
Ontolog joined
08:29
barney joined
|
|||
| dalek | r31745 | kjs++ | trunk: | 09:16 | |
| : [pirc/heredoc] It seems that without freeing memory, everything works fine. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31745 | |||
|
09:25
kj joined
09:27
viklund joined
10:18
Bzek joined
|
|||
| dalek | r31746 | fperrad++ | trunk: | 10:21 | |
| : [WMLScript] pdd27mmd | |||
| : - first step : rewrite wmls.ops | |||
| : (156/355 subtests failed) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31746 | |||
|
10:27
tomyan joined
|
|||
| dalek | r31747 | allison++ | calling_conventions: | 10:50 | |
| : Creating branch for calling conventions refactor. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31747 | |||
| r31748 | allison++ | trunk: | 11:17 | ||
| : [cage] Catch a missed VTABLE_morph call in the subtract vtable function for | |||
| : the Integer PMC. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31748 | |||
| r31749 | allison++ | trunk: | 12:44 | ||
| : [cage] Eliminate morphing from Complex PMC. Shift from 'pmc->vtable->base_type' | |||
| : to 'VTABLE_type(interp, pmc)' which gives the same answer in 99% of cases, but | |||
| : now gives the correct answer for Object and Class PMCs. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31749 | |||
|
12:57
gryphon joined
|
|||
| dalek | r31750 | pmichaud++ | trunk: | 13:10 | |
| : [rakudo]: spectest-progress.csv update: 205 files, 4363 passing, 74 failing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31750 | |||
|
13:32
dmknopp joined
|
|||
| dalek | r31751 | dmknopp++ | trunk: | 13:50 | |
| : tests for collect, empty, fill, and grep on Array | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31751 | 13:51 | ||
|
13:51
iblechbot joined
|
|||
| moritz | dmknopp: please prefix your commit messages with [cardinal] if the changes only affect cardinal | 13:51 | |
| dmknopp: and welcome as a commiter ;) | 13:52 | ||
| dalek | r31752 | allison++ | trunk: | 14:01 | |
| : [cage] Test is supposed to be for i_add (checking that it correctly blocks | |||
| : inplace math modification of the read-only value), but it's written for | 14:02 | ||
| : add_p_p_i instead. Fix. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31752 | |||
|
14:02
davidfetter joined
|
|||
| dalek | r31753 | pmichaud++ | trunk: | 14:03 | |
| : [core]: Add (failing) test from RT #59630 to t/pmc/complex.t | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31753 | |||
| r31754 | allison++ | trunk: | |||
| : [cage] Mark the inplace math operations as ':write' so they will properly | |||
| : generate read-only vtable function variants. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31754 | |||
|
14:07
GeJ_ joined
|
|||
| kj | allison: (branch for calling conventions) what kind of changes are planned for the calling conventions? | 14:10 | |
|
14:13
NotFound joined
|
|||
| pmichaud | kj: nothing incompatible with the current ones. | 14:22 | |
| kj | pmichaud: ok, so it's basically a cleanup then? | 14:23 | |
| hi, btw :-) | |||
| pmichaud | that's part of it, but there are also some new options being added | ||
| such as :lookahead | |||
| kj | ah yes, istr some discussion about that recently | ||
| ok, thanks for enlightening me | |||
| pmichaud | that's my guess on things, based on previous conversations with allison. | 14:24 | |
| I don't know exactly what will be happening. | |||
|
14:24
ruoso joined
|
|||
| particle | pmichaud: i'm working on the ? twigil | 14:28 | |
| the first var i'm trying to implement is $?OS, which can be baked in | |||
| pmichaud | particle: ok | 14:29 | |
| particle | so, in perl6.pir, i'm adding it to 'init' | ||
| pmichaud | no. | ||
| globals.pir, probably. | |||
| particle | ah, wasn't aware of that | ||
| kj | pmichaud: what's the status for PCT's support of other control constructs than 'return', for instance, 'break', 'continue', 'goto'? | 14:30 | |
| pmichaud | ...but $?OS really isn't a global variable. | ||
| moritz | particle: there's a patch for $*OS iin the RT, iirc | ||
| particle | right. | ||
| pmichaud | kj: we have some support for 'for' loops, but I'm looking at a refactor now. | ||
| most $? support needs to be done in actions.pm, I suspect. | |||
| particle | pmichaud: basically, it's a read-only lexical, correct? | ||
| pmichaud | particle: no, it's a compile-time variable. | ||
| the best way to think of things is with something like $?LINE | 14:31 | ||
| particle | i just don't know how to implement it--i'm at a loss | ||
| kj | sorry, wasn't talking about control structures, more on special program-flow things (that use exceptions underneath). So for instance, is it possible to implement 'break' or 'continue' ? | ||
| particle | yes, right, i started with $?OS because it's much easier than $?LINE | ||
| pmichaud | if we assume that $?OS will only be used in string context, then any instance of $?OS that is found in the source should be replaced with a PAST::Val node that is the stringification of $*OS | 14:32 | |
| particle | ah | 14:33 | |
| pmichaud | kj: I tend to think of 'break' and 'continue' only in terms of loops. | ||
| rephrasing what I said above -- we have some support in PCT for 'continue' loops inside of 'for' loops, but I'm looking at refactoring that. | 14:35 | ||
| s/'continue' loops/'continue' statements/ | |||
| kj | ok, thanks. | 14:37 | |
|
14:43
jhorwitz joined
14:44
gmansi joined
14:55
dalek joined,
wolverian joined
|
|||
| allison | kj: Calling Conventions task list: www.parrot.org/wiki/calling-conventions-tasklist | 14:55 | |
|
15:00
Juerd_ joined,
Coke joined
|
|||
| dalek | r31755 | allison++ | trunk: | 15:05 | |
| : [pdd] New introduction for Overview PDD. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31755 | |||
|
15:05
hercynium joined
|
|||
| pmichaud | allison: are you working on RT #59630 at all (complex pmc), or should I look into it? | 15:09 | |
|
15:10
Theory joined
|
|||
| allison | pmichaud: I've been working on it a step at a time | 15:13 | |
| pmichaud | okay. | ||
| allison | pmichaud: with my latest changes to Complex PMC and to src/vtable.tbl, you'll see that the error has shifted to a completely different one | 15:14 | |
| (still an error, but not the same error) | |||
| pmichaud: it's now a segfault on VTABLE_get_string | 15:15 | ||
| pmichaud | last I checked (pre src/vtable.tbl) I was getting a segmentation fault when calling get_string on the | ||
| right. | |||
| that's what I'm seeing as well. | |||
| allison | pmichaud: so, I've resolved the causes I identified in the ticket, but now tracking down the cause of the new error | 15:16 | |
| dalek | r31756 | coke++ | trunk: | ||
| : [tcl] update MMD to match new style. Eliminate one path which behaves fine in our parent type. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31756 | |||
| allison | pmichaud: feel free to dig into it and let me know what you find, I'll keep digging | ||
| pmichaud | okay. I just wanted to make sure someone was still looking at it. :-) | ||
| I'll dig a bit further, also. | |||
| I'm curious if these should be returning the same type as VTABLE_type(INTERP, SELF), though. | 15:18 | ||
| there might be an argument to be made that it should always return 'Complex' | |||
| NotFound | allison: I'm testing a way to get rid of string_cstring_free by using a pmc that takes care of free the C string when garbage collected. Will be an acceptable design? | 15:19 | |
| jhorwitz | NotFound: what if an embedded program wants to hold onto the string? i guess we should document that it's the embedder's responsibility to make a copy if it wants the string to persist past a GC run... | 15:26 | |
| NotFound | jhorwitz: in that case, they just not use this pmc | 15:27 | |
| jhorwitz | so this is a purely lazy PMC? i like. :) | ||
| NotFound | The idea is that instead of a direct call of string_to_cstring you create the PMC from the string and use get_pointer on it. | 15:28 | |
| O course, it must be clearly documented that the life expectation of the c string is the same of that of the pmc. | 15:29 | ||
| s/O/Of | |||
| jhorwitz | ok, so you'd create the PMC from an existing parrot string. | 15:30 | |
| NotFound | Clearly means 'not writen in my peculiar english' X-) | ||
| jhorwitz | :) | ||
| NotFound | jhorwitz: yes, by using pmc_new followed by set_string_native, or with a helper function that does the same. | 15:31 | |
| pmichaud | allison: it looks to me as though the RE(SELF), RE(value), IM(SELF), IM(value), etc. macros don't work when SELF or value are subclasses of Complex | ||
| NotFound | pmichaud: I looked at that point, and after revising the docs I think is right, they must not be written that way. | 15:33 | |
| SELF_ATTR and GET_ATTR takes care of refering to the pir child when appropriate, and RE and IM as they are now used directly the attribute struct | 15:36 | ||
| pmichaud | I'll try redefining RE and IM, then. | 15:39 | |
| oh, that's not quite so easy. :( | 15:40 | ||
| NotFound | pmichaud: yes, I keep these macros when converting the pmc to ATTR beacuse other way will be very verbose, or requires the help of more macro wizardry that I'm able to spell. | 15:43 | |
| But no problem, I can rewrite it the verbose way. | 15:44 | ||
| pmichaud | I wonder why this "worked" prior to the mmd merge, though. | ||
| allison | pmichaud: yes, that makes sense, those macros wouldn't work on subclasses | 15:45 | |
| NotFound | pmichaud: maybe they were just not enough tested between the pmc refactoring and the merge | 15:46 | |
| pmichaud | NotFound: except that Rakudo was using them heavily. | 15:47 | |
| allison | pmichaud: previously they snuck through by being invoked on a proxy Complex object stored within the subclass of Complex | 15:48 | |
| pmichaud | afk, errands | 15:55 | |
| nopaste | "NotFound" at 213.96.228.50 pasted "StringZ PMC proposal to get rid of most usages of string_cstring_free" (379 lines) at nopaste.snit.ch/14245 | 15:56 | |
| NotFound | This patch contains the pmc, a helper function, and his usage in a few places | 15:57 | |
|
16:18
gryphon joined
16:20
Theory joined
16:35
Wknight8111 joined
16:40
pyrimidine joined
|
|||
| Tene | pmichaud: please review r31743. I'm unsure if I should do that or if I should be splitting it up on ::s explicitly when HLLCompiler looks for TOP in the grammar namespace. | 16:40 | |
| dalek | r31757 | particle++ | trunk: | 16:43 | |
| : [rakudo] [perl #59570] $*OS and $*EXECUTABLE_NAME globals initial implementation | |||
| : ~ add support for $*OS, $*OSVER, $*EXECUTABLE_NAME | |||
| : modified and expanded from azawawi++'s original code | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31757 | |||
| Tene | particle++ | ||
| Zaba_ | Is defining a subroutine that takes an anonymous subroutine with syntax 'name { subroutine }' (a la perl5) possible with perl6? | 16:54 | |
| PerlJam | Zaba_: anything is possible with perl 6 :-) | ||
| moritz | Zaba_: 'name { subroutine }' doesn't make sense to me in Perl 5 | 16:55 | |
| PerlJam | moritz: { ... } is interpreted as a sub if it's the first arg. | ||
| moritz | Zaba_: in Perl 6 you'd write sub takes_a_sub(&my_sub) { ... my_sub() } | ||
| PerlJam | so you can make you're own grep-a-like or map-a-like | ||
| moritz | PerlJam: only with & prototype | ||
| Zaba_ | well yes | 16:56 | |
| PerlJam | moritz: right, that's what I think he's getting at | ||
| moritz | ah | ||
| Zaba_ | but I meant that 'name { sub }' is the syntax of calling the sub | ||
| not defining :) | |||
| moritz | ah, if you write 'name { block }' it starts to make sense in Perl 6 | ||
| Zaba_ | Okay. | 16:57 | |
| But well it is possible. | |||
| PerlJam | Zaba_: btw, how do you think for and if work in perl 6? | ||
| moritz | PerlJam: for and if are special cased by the grammar | ||
| PerlJam | moritz: and that's what I'm getting at ;) | ||
| Zaba_ | I would think so too.. | ||
| dalek | r31758 | particle++ | trunk: | ||
| : [rakudo] silly me (particle--), i forgot to create a new string every time | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31758 | |||
| PerlJam | (i.e., the grammar is mutable) | 16:58 | |
| or subclassable | |||
| or redefinable | |||
| Tene | purl: karma particle | ||
| purl | particle has karma of 1388 | ||
| Zaba_ | I think all this language redefining thing allows for even better obfuscated programs... | ||
| moritz | PerlJam: you don't need ot change the grammar. See S04/Slurpy block/ | ||
| s/ot/to/ | |||
| dalek | r31759 | particle++ | trunk: | 16:59 | |
| : [rakudo] refactor package definition exit code based on feedback from pmichaud++ | |||
| PerlJam | moritz: indeed. I'm just providing options. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=31759 | ||
|
17:01
Lorn_ joined
|
|||
| pmichaud | Tene: I'm thinking we might want a "get_protoobject" method for P6metaclass | 17:07 | |
| it could take a string, class, etc. and return the appropriate protoobject | |||
| analogous to what we do now for get_parrotclass | |||
| Tene | Certainly might be useful. | 17:08 | |
| pmichaud | ultimately I'm wanting to be able to write the main routines for compilers in NQP | ||
| particle | yay | ||
| Tene | That's a very nice goal. | ||
| pmichaud | and there it seems to make more sense to have self.'parsegrammar'(Language::Grammar) than self.'parsegrammar'('Language::Grammar') | ||
| but if that's the case, then the argument is a protoobject and not a string. | 17:09 | ||
| Tene | Can we go from a proto-object to a namespace? | ||
| Zaba_ is so far from understanding the architecture of parrot.. Or actaully any bytecode interpreter/compiler. | 17:10 | ||
| pmichaud | ...do we need a namespace? | ||
| (short answer: yes, we can make that happen.) | |||
| Tene | pmichaud: to get TOP from | ||
| pmichaud | I would think we'd use find_method for that | ||
| Tene | Oh. | ||
| pmichaud | TOP is a method, not a sub. | ||
| Tene | Clever. | ||
| pmichaud | that's also better for inheritance. :-) | 17:11 | |
| some of the stuff in HLLCompiler is left over from before we had good structures for many of these things. | |||
| Tene | Okay, that's very doable. | ||
| dalek | r31760 | Whiteknight++ | trunk: | ||
| : [Charset] Add function-level documentation for src/charset/unicode.c, at least for the functions that I understand. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31760 | |||
| Tene | Can you add some #XXX comments in HLLCompiler about it? | ||
| presumably in the branch. | 17:12 | ||
| pmichaud | what sort of #XXX comments? | ||
| I'd just say to switch it over to use find_method :-) | |||
| Tene | I want to at least get everything working first. | ||
| pmichaud | I'd expect the parsegrammar attribute to either be a protoobject or a string (if a string, then we use the string to look up the protoobject) | ||
| Tene finally gives in and starts getting dressed for work. | 17:13 | ||
| Okay, I'll implement that tonight. | 17:15 | ||
| nopaste | "particle" at 98.232.28.49 pasted "is export() code for review" (67 lines) at nopaste.snit.ch/14246 | 17:19 | |
| particle | pmichaud: could you review that patch? | ||
| it's not working, but it's close | |||
| especially the creation/binding of export namespace | 17:20 | ||
| pmichaud | looking now | ||
| does $?NS exist now? | 17:21 | ||
| particle | $?NS is used elsewhere in actions.pm | ||
| pmichaud | hrm. | ||
| particle | $?PACKAGE doesn't seem to be working, though | ||
| pmichaud | what's the difference between those two, I wonder? | 17:22 | |
| particle | good question... | ||
| purl | Yeah, it is. I'm stumped. | ||
| moritz | are there anonymous packages in perl 6? | ||
| particle | no reference to NS in spec | ||
| pmichaud | if we have anonymous classes, I suspect we also need anonymous packages. :-| | 17:23 | |
| particle: NS looks kinda bogus to me in actions.pm | 17:24 | ||
|
17:24
Khisanth joined
|
|||
| particle | yeah, it's been a while since i've been in this file, and things don't look very clean | 17:25 | |
| does nqp have support for 'require'? | |||
| pmichaud | no. | ||
| particle | it'd be nice to move the helpers out to another file | ||
| pmichaud | I think we have too many helpers. | ||
| particle | the file is 3400 lines, much too big to fit in my head | 17:26 | |
| PerlJam | increased entropy is the price you pay for multiple committers. :) | ||
| pmichaud | by way of comparison, STD.pm is 4000+ lines. | 17:27 | |
| particle | STD.pm seems to require a package name | ||
| pmichaud | okay, that works for me then. | ||
| moritz | PerlJam: that's not the only reason. NQP isn't as expressive as perl 5 or perl 6 | ||
| particle | i suspect actions.pm will be >10k after we get serious about implementing STD | ||
| pmichaud | I don't think it'll change all that much. | 17:28 | |
| PerlJam | particle: depends on how much things like LTM simplify the code you *need* to write. | ||
| particle | there's a lot in STD we haven't implemented yet | ||
| and many, many corner cases | |||
| pmichaud | anyway, the way to break actions.pm up into smaller files will be to use 'cat' | 17:29 | |
| TimToady | the new viv program produces an AST (of sorts) just using an autoloader, though of course there's no PIR there | ||
| pmichaud | TimToady: so, given the progress you're making on STD.pm and viv and all of these other things, should we be abandoning what we're doing now? | ||
| particle | well, we can add AST (of sorts) compiler to HLLCompiler that emits PAST | 17:30 | |
| pmichaud | I have to say that I'm a little disheartened about the way things are progressing. | ||
| particle | what's disheartening? rakudo isn't well factored? we can't keep up with STD changes? | 17:34 | |
| pmichaud | if viv is producing ASTs, then there seems to be much less need for PAST | 17:35 | |
| TimToady | I imagine there's still a fairly large impedance mismatch there | 17:36 | |
| pmichaud | I agree, which makes me wonder if putting a lot of effort into PAST isn't all that valuable. | ||
| particle | i imagine viv will be limited by its choice of implementation language | ||
| TimToady | well, at the moment it's in p5, but eventually when we're bootstrapped presumably p6 is easy | 17:37 | |
| PerlJam | pm: so you think it'll be less work to just hack viv into shape as compared with what you're doing? | ||
| pmichaud | pj: that's not exactly it, no | ||
| pj: I'm just thinking that Perl 6 is going to pass Parrot and PAST by | |||
| moritz | pmichaud: probably depends on whether perl 6 is your only target | ||
| dalek | r31761 | Whiteknight++ | trunk: | 17:38 | |
| : [Charset] Write function-level documentation for src/charset/iso-8859-1.c, at least the functions that I understand. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31761 | |||
| pmichaud | in particular, the "when we're bootstrapped" part seems to imply that Parrot really isn't a part of that bootstrapping. | 17:39 | |
| TimToady | I seriously doubt whether Perl 6 hosted on top of Perl 5 will every be fast | ||
| *ever | |||
| and it will be just as interoperable with other languages as Perl 5 :/ | |||
| pmichaud | so, is viv producing an AST that is really meant only for p5? | 17:40 | |
| TimToady | no, it's basically just a parse tree with the grotty bits omitted and the nodes blessed into appropriate classes | ||
| so you could walk in OO-wise easily | 17:41 | ||
| pmichaud | that sounds a lot like PAST | ||
| TimToady | much like gimme5 does in a chewing gum and bailing wire fashion | ||
| pmichaud | although perhaps PAST is a bit more abstract than that | ||
| TimToady | hence my "impedance mismatch" comment | ||
| it's enough AST to rewrite gimme5, in other words, but not much more abstract than that | 17:42 | ||
| pmichaud | I just have difficulty seeing where rakudo fits in to all of this | ||
| i.e., we're spending a ton of time on actions.pm to be able to go from a parse tree to an abstract syntax tree (i.e., the compiler), but there's a different one being created. | 17:43 | ||
| PerlJam | pm: no one else has implemented that part for any of the other languages that target parrot. | 17:44 | |
| pmichaud | pj: I don't understand. | ||
| PerlJam | perhaps I'm wrong in thinking that what TimToady is working on is very perl6-centric and not too applicable to the other languages. | 17:45 | |
| pmichaud | PerlJam: assuming that viv is very perl6-centric, fine. But my goal for all of this was to build Perl 6 (and incidentally tools for other languages), not to build tools for languages other than Perl 6. | 17:46 | |
| i.e., if PAST and PCT are used for pynie, cardinal, etc.... that's great, but that's not really why I'm in this. | 17:47 | ||
| PerlJam | pm: so you're not happy with *an* implementation of Perl 6 because it's not "the standard" implementation of Perl 6? | ||
| pmichaud | PerlJam: I don't want to constantly be playing catch-up with a different implementation that is considered "standard" | 17:48 | |
| PerlJam | gotcha | ||
|
17:48
kj joined,
PacoLinux joined
|
|||
| moritz | pmichaud: I don't think that actions.pm will become all useless when STD.pm starts to emit an AST, because it does much stuff stuff that any AST processing backend must do, like emitting code for class creation etc. | 17:48 | |
| pmichaud | moritz: I don't disagree with that. But if there's another ast that is going to become a standard, I'd rather write to that standard than write a throwaway duplicate. | 17:49 | |
| particle can't think of another language with a standard ast across all implementations | 17:51 | ||
| s/another/a/ | |||
| TimToady | VAST is still quite P6-centric | ||
| pmichaud | particle: yes, but in this case we're specifically talking about "bootstrapping" the perl 6 compiler. | ||
| i.e., a perl 6 compiler written in Perl 6. | |||
| anything that doesn't use that same model is always likely to be "out of spec" | 17:52 | ||
| moritz | I don't see why anything but the grammar needs to be in Perl 6 | ||
| from a spec point of view | |||
| pmichaud | moritz: I think that dynamic languages aren't quite so clear-cut into "grammar", "parse", "compile", "emit" phases. | 17:53 | |
| there's generally some interplay between the phases and components, and that implies interfaces. | 17:54 | ||
| again, I'm just having difficulty seeing where all of this is headed | |||
| and I'd prefer (1) not to be an obstacle, and (2) not to write a bunch more code that becomes obsolete. | |||
| moritz | right, and these interfaces are not-yet-specced because no two implementations ever got that far | 17:55 | |
|
17:55
mberends joined
|
|||
| PerlJam wishes IRC had more bandwidth sometimes. | 17:56 | ||
| pm: If rakudo were the standard implementation what parts would you be working on? If there were a tool to convert VAST to PAST , what would you be working on? | 17:57 | ||
|
17:58
Ivatar joined
|
|||
| pmichaud | pj: those questions don't feel right, but I'll give my best shots | 17:58 | |
| first, if rakudo were the standard implementation, I'd be doing the same things I'm focusing on now -- namely trying to get more pieces of the spec in place so that we can get less PIR code and more Perl 6 code | |||
| if there were a tool to convert VAST to PAST, then I'd say the compiler is "finished". | 17:59 | ||
| (granted, VAST and PAST are incomplete...) | |||
| dalek | r31762 | particle++ | trunk: | 18:01 | |
| : [rakudo] make branch explicit in 'variable' action method | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31762 | |||
| kj | does anybody know whether IRC is no longer logged? | ||
| #parrot, that is | |||
| moritz | irclog.perlgeek.de/parrot/today | 18:02 | |
| kj | oh ok, thanks. I was looking at the old link | ||
| pmichaud | irclog? | ||
| particle | it *should* be logged in two places | ||
| pmichaud | purl, irclog is irclog.perlgeek.de/parrot/today | ||
| purl | OK, pmichaud. | ||
| kj | the last log is sept 22 on the old location | ||
| particle | but the bot doesn't seem to be around | ||
| polly? what's its name? | 18:03 | ||
| moritz | that was Piper | ||
| particle | ah, piper | ||
| email admin@perl.org about that, i suppose | |||
|
18:04
chromatic joined
|
|||
| PerlJam | pm: So, if there is another "more standard" implementation of Perl 6 than rakudo, what would you like to work on? | 18:05 | |
| pmichaud | pj: I don't know. Probably getting that other implementation to work on Parrot. | ||
| moritz | if I were pmichaud, my consequence would be to work on LTM, because that's what a STD.pm backend will need anyway - but that's planned anyway, right? | 18:07 | |
| pmichaud | moritz: unless LTM and the rules engine ends up being written in (a) Perl 6 | ||
| in which case my version of LTM would probably be superfluous. | |||
| TimToady | so write it in Perl 6 | 18:08 | |
| :) | |||
| pmichaud | well, I'm thinking of doing just that, but I'm not sure I (or the tools) are quite ready for that | ||
| PerlJam | pm: or write that VAST->PAST tool and consider yourself done :) | ||
| TimToady | with VAST -> PAST, you'd just about be there | 18:09 | |
| heh | |||
| Infinoid | just how vast is VAST? | ||
| TimToady | and I'd be delighted if I could rewrite Cursor in Perl 6 and translate it to PAST | ||
| particle | omg! sailing season must be over. | ||
| PerlJam | Infinoid: really really vast. Can't you see that it's in all caps? | ||
| particle | P = V - 6 | 18:10 | |
| TimToady | the VAST for STD.pm is 9952153 bytes | ||
| (in yaml) | |||
| moritz | 9952153 / 10242 | ||
| purl | 971.700156219488 | ||
| moritz | 9952153 / 1024 | ||
| purl | 9718.8994140625 | ||
| moritz | 9952153 / 1024 / 1024 | 18:11 | |
| purl | 9.49111270904541 | ||
| moritz | could be worse | ||
| purl | Could be Monday | ||
| particle | it's monday somewhere, purl | ||
| purl | particle: huh? | ||
| TimToady | though I'm currently trying to clean out all the useless "in" nodes, which is why we got this newfangled ~ thingie | 18:12 | |
| PerlJam | That ~ thingie is strange. It doesn't quite have that "string" feel that the other uses of ~ have | 18:14 | |
| pmichaud | pj: so, by writing VAST->PAST, we're effectively done, and the work done thus far on Rakudo is for naught? | ||
| PerlJam | pm: No. Unless you had foreknowledge that that was The Right Path | ||
| TimToady | well, ~~ is not really stringy either | 18:15 | |
| moritz | pmichaud: no. You still need many parts of actions.pm for VAST->PAST | ||
| likewise many of the builtins | |||
| PerlJam | pm: Also, consider that there are other people who may well want to continue rakudo as another perl 6 implementation. | 18:16 | |
| pm: the work done so far is a good bootstrap for them :) | |||
| pmichaud | pj: that sounds a fair bit like Pugs. | 18:17 | |
| PerlJam | How so? | ||
| TimToady | and the faked up regex engine that STD is using really needs to be replaced with something more efficient | ||
| pmichaud | Pugs (the haskell version) would be a good bootstrap for someone wanting to continue it as another perl 6 implementation | ||
| TimToady | which will be some kind of melding of PGE and Cursor | ||
| particle | so adding Cursor to parrot would help STD a good deal? | 18:18 | |
| pmichaud | particle: I think that's misstated | ||
| writing Cursor.pm in Perl 6 and then having implementations of it available for Parrot would be a help. | 18:19 | ||
| particle | yeah, that's better. thanks. | ||
| ruoso | in fact, I would argue that every builtin type being written in Perl 6 would be of great help for everybody | ||
| pmichaud | ruoso: I don't disagree, but I don't think that every builtin type can be written in Perl 6. | ||
| perhaps I'm wrong about that. | |||
| moritz | neither should it, for efficiency sake | 18:20 | |
| ruoso | pmichaud, in theory it can... as the type system is being bootstrapped... | ||
| TimToady | ruoso: but we're not trying to argue with pm today, because he's being lugubrious. :) | ||
| pmichaud | :) | ||
| moritz | #ps in 9 | 18:21 | |
| TimToady | (I like it that smart people can nearly always be cheered up by going "meta") | ||
| ruoso | well... even if in some places it say 'our multi map ( Code $expr, *@value ) is export ::= placeholder_for_lowlevel_thingy' | ||
| because even if some parts of that types needs to be implemented in low-level... | 18:22 | ||
| pmichaud | ruoso: "placeholder_for_lowlevel_thingy" is the part that isn't written in Perl 6 :-) | ||
| ruoso | pmichaud, but is the method dispatching written in Perl 6? or the sub dispatch? | ||
| all the built-in types need to be able to get instantiated as p6opaque or other reprs | 18:23 | ||
| which mean... they need to be written in Perl 6 somehow | |||
| pmichaud | ruoso: I don't know. We'd have to wait and see if method dispatch and sub dispatch get specced (or written) in Perl 6 | ||
| TimToady | I don't care what the standard dispatchers are written in, really, since they have to be *very* fast | 18:24 | |
| even if specced in Perl 6 pseudo-code... | |||
| ruoso | my point is that Perl 6 has too many polymorphisms... in the end, the dispatcher needs to be in the same level as the rest of the code... | ||
| TimToady | or just needs to be made to appear that way most of the time | 18:25 | |
| but you have to break it somewhere | |||
| ruoso | yeah... sure... by special casing some situations... | ||
| TimToady | and where you break it is VM-dependent | ||
| ruoso | but the general process need to be in p6 | ||
| TimToady | we will guarantee some things and not others | 18:26 | |
| where that boundary is drawn must be negotiated among the implementations | |||
| and that's hard work | |||
| but I think it's worthwhile work | |||
| ruoso | optimizations can come inside later, but the general algorithm needs to be drawn in Perl 6 itself | 18:27 | |
| pmichaud | and what I continually hear from people on #perl6 is (paraphrasing) "if it's not completely in Perl 6 (or P5), then it's not valid." | ||
| moritz | ruoso: "optimizations later" is what killed kp6 (among other things) | ||
| ruoso | moritz, no... kp6 was killed because it's simply not possible to have an acceptable performance emulating p6 runtime on top of p5 runtime | 18:28 | |
| moritz | pmichaud: most of the time that's an allusion of rakudo having parts in PIR and C | ||
| pmichaud: there's a big misconception about how large that part is (or actually small) | |||
| chromatic | #ps in 3 | ||
| ruoso | moritz, pmichaud, not really... not really... it's not about being in PIR, in C or whatever... | 18:29 | |
| moritz | pmichaud: which is why people question you when you say that rakudo is mostly written in Perl 6 | ||
|
18:29
rurban joined
|
|||
| ruoso | is about being compatible with P6 concepts... | 18:29 | |
| TimToady | pmichaud: you don't hear it from me, though I admit I kina like Perl 6 | ||
| *kinda | |||
| pmichaud | TimToady: yes, I don't hear it from you. :-) | ||
| TimToady: and I appreciate it, truly. | |||
| I like Perl 6 also, and I _really_ want to get things on Parrot to that point. | 18:30 | ||
| chromatic | Funny, I thought the debate had ended with "The Curious Cult of Bootstrapping", or whatever I called it. | ||
| TimToady | ruoso: I am not going to bake anything into the definition of standard Perl 6 that inhibits platform independence | 18:31 | |
| ruoso | you're getting me wrong... | ||
| I'm not saying you should... | |||
| I'm saying having *A* implementation in Perl 6 would be very much of help | |||
| to catch many corner cases... | 18:32 | ||
| specially because in the end, it needs to support all the features as if it were implemented in Perl 6 | |||
| TimToady | except that in the interests of platform independence we probably have to decide not to catch some of those corner cases | ||
| ruoso | one way or another, it's important to realize which are those... | 18:33 | |
| *which corner cases | |||
| PerlJam | ruoso: having *A* implementation of Perl 6 would help greatly too. | ||
| TimToady | no question about that; I wish I were smarter... | ||
| PerlJam | right now we have many incomplete implementations of perl 6 and that doesn't help our already poor marketing department. | ||
| particle | i don't care if you're smarter, just wish you were faster ;) | 18:34 | |
| our marketing department is poor. that's a problem, yes. | |||
| moritz | our marketing would be much better if we had a working implementation ;) | 18:35 | |
| particle | chromatic: got some sign-mismatch warnings for you | 18:36 | |
| chromatic | IMCC? | ||
| purl | i heard IMCC was the c of parrot or the problem or the intermediate code compiler | ||
| particle | oh, good, you're still working on it. i noticed src/pmc/default today | ||
| chromatic | Interesting; I thought I cleaned that one up all the way. | 18:37 | |
| particle | i'll rebuild now | ||
| chromatic | There may be some string-type warnings about width. I can't figure those out. GCC approaches GHC's level of inscrutability for these warnings. | ||
| jhorwitz, I'll try to fix RT #58368 for you. | 18:42 | ||
| jhorwitz | chromatic++ | ||
| hopefully my simple test cases are reproducable | |||
| chromatic | *try* | ||
| jhorwitz | call it "good faith" karma. ;-) | 18:43 | |
| chromatic | Tene's name in #ps is in light gray. | ||
| Tene | Oh, I'm set as away | ||
| jhorwitz | quantum tene is both here and not here | 18:44 | |
| particle | how fast is he moving? | ||
| chromatic | Away AND invisible to chromatics | ||
| Wknight8111 | Tene, don't eat the catfood, it could be poison! | ||
| chromatic | jhorwitz, I can't reproduce the original segfaults in the ticket. | 18:49 | |
| jhorwitz | hm | ||
| chromatic | Which example can you still reproduce? | ||
| particle runs off for ~1h | |||
| jhorwitz | is it finding the module ok? | 18:50 | |
| Tene quantam teleports to a different everett branch. | |||
| chromatic | Seems to be. | ||
| particle | src\\pmc\\default.c | ||
| .\\src\\pmc\\default.pmc(245) : warning C4018: '>=' : signed/unsigned mismatch | |||
| .\\src\\pmc\\default.pmc(255) : warning C4018: '<' : signed/unsigned mismatch | |||
| chromatic | No errors anyway. | ||
| jhorwitz | this fails for me: ../../parrot perl6.pbc -e 'use Apache::Foo;' | ||
| chromatic | Can't find ./Apache/Foo in @INC | 18:51 | |
| jhorwitz | set PERL6LIB | ||
| and create a valid module | |||
| chromatic | I don't have it installed. | ||
| jhorwitz | what installed? | 18:52 | |
| purl | installed is easy as well. | ||
| chromatic | mod_perl6 | ||
| purl | hmmm... mod_perl6 is happy with it too | ||
| jhorwitz | you don't need it | ||
| create an Apache/Foo.pm in the @INC path | |||
| just put "1;" in there so it's valid | |||
| chromatic | ../../parrot perl6.pbc -e 'use Apache::Foo;' | ||
| Hello from Apache::Foo | |||
| jhorwitz | grr | 18:53 | |
| chromatic | I'm at r31703. | ||
| jhorwitz | ok. let me try undoing my subroutine namespace interpolation patch. it shouldn't matter for "use", but let's see. | 18:54 | |
| chromatic: i still get the segfault as of yesterday's svn up. i'll try against HEAD. | 18:59 | ||
| chromatic | jhorwitz, no problems for me on 32-bit Linux as of HEAD. | 19:02 | |
| jhorwitz | k | ||
| building now | |||
| Coke finds he's left a window open. | 19:08 | ||
| dalek | r31763 | moritz++ | trunk: | ||
| : [NEWS] more rakudo news | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31763 | |||
| Coke wants to write code, not do infrastructurey things like setup a mailing list. :| | 19:09 | ||
| jhorwitz | chromatic: works in HEAD. this must've gotten fixed in the last 24 hours! | 19:31 | |
|
19:31
rdice joined
|
|||
| chromatic | Fantastic! | 19:31 | |
|
19:31
sjansen joined
|
|||
| jhorwitz | does the original problem in that ticket work now? | 19:31 | |
| chromatic | Seems to. | 19:32 | |
| jhorwitz | you want to resolve? | ||
| chromatic | Will do. | 19:33 | |
| jhorwitz | gracias | ||
| good work, btw. ;-) | 19:34 | ||
| chromatic | Thanks to whomever fixed it! | ||
| Coke populates partcl's new svn repo. | 19:39 | ||
| chromatic | ... which reminds me, we could profile the ops and put the most commonly used ones toward the top of the switched core. | ||
| NotFound | And exit at the bottom ;) | 19:41 | |
| Or die | 19:42 | ||
| confound profiles everyone with a @ | 19:44 | ||
| chromatic | Great, now I can't get on a plane again. | ||
| NotFound | "put exit at bottom or die" is valid perl6? | 20:05 | |
| moritz | it's just a string literal ;) | 20:06 | |
| NotFound | moritz: don't take it too literay | ||
| literaly | |||
| Infinoid | metaphors are very literary. | 20:10 | |
| particle | i never met a phor i didn't like (or is) | 20:14 | |
| chromatic | I never metamodel not obsessed with reflection. | ||
| pmichaud | particle: overall the 'is export' patch looks like it's on the right track. | 20:16 | |
| NotFound | chromatic: CONST_STRING_GEN must be always generated or can be in source? | 20:18 | |
| pmichaud | particle: I'm not sure what to do about $?NS at this point. | 20:19 | |
| chromatic | In source, you should always be able to use CONST_STRING. | ||
| NotFound | chromatic: then there is a bug in object.pmc | ||
| chromatic | CONST_STRING_GEN has to be somewhat more careful not to collide with other line numbers. | ||
| NotFound | chromatic: yes, that's how I find it, having a lot of bizarre error messages | 20:20 | |
| particle | pmichaud: i've just tried to convert $?NS to $?PACKAGE, and am testing now | 20:21 | |
| likely it needs more than i did, but tests will tell... | |||
| dalek | r31764 | julianalbo++ | trunk: | 20:23 | |
| : change CONST_STRING_GEN to CONST_STRING in two places of object.pmc | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31764 | |||
| chromatic | I wish I could reach parrotvm.org to look at those diffs. | 20:29 | |
| Tene | Sure would be nice. | ||
| moritz | is that trac? | 20:30 | |
|
20:30
rdice joined
|
|||
| particle | yep | 20:31 | |
| pmichaud | oh, of course! | ||
| $?PACKAGE should always be the current package. | |||
| particle | right | ||
| pmichaud | its namespace would be in $?PACKAGE.namespace() | 20:32 | |
| particle | i need to implement $?PACKAGE, then | ||
| didn't know about .namespace(), that's nice | |||
| pmichaud | well, $?PACKAGE is just a block that has a .namespace() attribute for PAST | 20:33 | |
| at least, that's what it should be. | |||
| particle | s/NS/PACKAGE/ ~~ 236-74 failures | ||
| pmichaud | but yes, I think that PACKAGE hasn't been implemented properly. | ||
| particle | ok, well, i have $*VARs now, but still no $?VARs | ||
| pmichaud | (or CLASS, or MODULE, or GRAMMAR) | ||
| particle | right | ||
| i'm not quite sure how | |||
| method variable handles the twigils | 20:34 | ||
| pmichaud | no | ||
| you don't have to worry about that in actions.pm | |||
| we're talking about the compile-time variables, not runtime. | |||
| i.e., these are the ones that appear in actions.pm | |||
| the twigils have already been taken care of for you (by NQP's grammar) | |||
| particle | does nqp handle $?vars? | 20:35 | |
| pmichaud | sure, whre do you think those $?vars in actions.pm are being handled? ;-) | ||
| particle | ah, right. sorry, my blood is in my stomache | ||
| er | |||
| pmichaud | there's a small difference between seeing $? in a perl6 source program and seeing it in actions.pm | ||
| particle | yes, you're right | 20:36 | |
| pmichaud | to the compiler (actions.pm), $? looks like a runtime variable. | ||
| particle | of course, i need them both | ||
| pmichaud | for *this* you don't need $? vars at runtime of the source being compiled. | ||
| particle | i need $?PACKAGE in perl 6 to test | ||
| pmichaud | that's going to be a lot of work, though. | ||
| and it really doesn't tell you anything about what is happening at compile time. | 20:37 | ||
| (well, not as much as you might want.) | |||
| jhorwitz | crap, HEAD completely breaks mod_perl6 (nasty 1000 line backtrace when loading perl6.pbc). backtracking to see if it's the mmd branch merge or something simpler | 20:38 | |
| Infinoid | hmm. has anyone looked into the busted SVN::Web on feather? | ||
| particle | i hate the busted svn::web on feather | ||
| ruins my day | |||
| jhorwitz | i asked Juerd for a feather account, he never responded... | ||
| Infinoid | I have one, just was wondering if anyone else has already looked at it | 20:39 | |
| cotto | it'd be very nice to have that working again | ||
| particle | pmichaud: ok, i'll leave $?PACKAGE alone for now | ||
| i can test &Foo::bar =:= &Foo::EXPORT::ALL::bar | |||
| ...rather than using $?PACKAGE | 20:40 | ||
| Infinoid | hmm | 20:41 | |
| apache2: /tmp/buildd/subversion-1.5.1dfsg1/subversion/libsvn_ra/ra_loader.c:977: svn_ra_get_log: Assertion `*path != '/'' failed. | |||
| [Tue Oct 07 22:38:27 2008] [notice] child pid 32737 exit signal Aborted (6) | |||
| moritz | Infinoid: that's what I just found out as well | ||
| Infinoid | moritz: any idea how to fix it? | 20:42 | |
| Infinoid googling | |||
| purl | rumour has it googling is not very helpful | ||
| Infinoid | rumour has it purl is not very helpful. | ||
|
20:42
Theory joined
|
|||
| Infinoid | rumour has it purl? | 20:42 | |
| purl | rumour has it i am wrong or chock full of inside jokes or a strange little girl. or a naughty nanny eater or kind of hard of hearing or a liar and a dirty factoid whore or a dirty bot or lacking a purple happy pill or funny or not drunk, yet or a smart monkey or "special" | ||
| moritz | Infinoid: googling told me that a German guy had this problem solved by commenting out the AuthzSVNAccessFile line in his config | 20:43 | |
| Infinoid: but that's already commented out in mods-available/dav_svn.conf | |||
| but he had only a single repo, whereas we have many | |||
| but we no dav_svn.authz file either | |||
| ruoso trying to learn some lessons on how parrot implements multi dispatch... could anyone provide some pointers on where should I look? | 20:45 | ||
| particle | ruoso: see the design doc first | ||
| moritz | ruoso: perl 6 multi dispatch is handled differently from parrots | ||
| s/s$/'s/ | |||
| Infinoid: bugs.launchpad.net/bzr-svn/+bug/234010 | 20:47 | ||
| pmichaud | particle: I think we'll have to get namespaces fixed first before we can use &Foo::EXPORT::ALL::bar in Perl 6 source | ||
| particle | so, i have no way to test that is export() works. *sigh* | 20:48 | |
| pmichaud | could look at the PIR output :-) | ||
| particle | yeah, i thought of that, but it's pretty sneaky | ||
| pmichaud | ...but given that both you and jhorwitz and others are blocking on namespace support, I might do that tonight. | ||
| Infinoid | moritz: bugs.debian.org/cgi-bin/bugreport.c...=493570#17 | ||
| particle | in fact, that's how i developed is export() | ||
| pmichaud | I'd probably feel pretty good to get the namespace stuff cleared up, since it's a bit messy in actions.pm at the moment. | 20:49 | |
| but, afk for a while | |||
| particle | ../../parrot perl6.pbc --target=past -e "package Foo { sub bar is export() { say 'hi'; } } &Foo::EXPORT::ALL::bar ::= &bar; }" | 20:50 | |
| reverse engineer this to actions.pm | |||
| is := or ::= proper there? | |||
| moritz | Infinoid: so the bug in git-svn-import is fixed. Does that help us? | 20:52 | |
| does SVN::Web run git-svn-import? | 20:53 | ||
| Infinoid | no, I think SVN::Web needs a similar tweak | ||
|
20:54
johbar joined,
pyrimidine joined
|
|||
| Infinoid | hmm... this issue seems really familiar to me. I've fixed this somewhere before. | 20:59 | |
| moritz | SVN/Web/Revision.pm:214: $ra->get_log(['/'], $rev, $rev, 1, 1, 1, | ||
| SVN/Log.pm:197: $r->get_log (['/'], $start_rev, $end_rev, 0, 1, 0, | |||
| that's the only suspicous instances of get_log that a quick ack found | 21:00 | ||
| Infinoid | I am looking at the copy in /usr/share/perl5/SVN, which does not have that Log.pm instance. | 21:01 | |
| that's the path given to me by the "pmpath" command, but I'm not really sure it's the right one | |||
| moritz | oh, I was looking iin /usr/local/share/perl/5.8.8/, which is probably not even used | 21:02 | |
| particle | perldoc -l SVN::Log | ||
| Infinoid | oh, nice trick | 21:04 | |
| added some warnings, found the culprit | |||
| chromatic | Perl Hack #2 | ||
| Infinoid | $path = / at /usr/share/perl5/SVN/Web/action.pm line 244. | ||
| moritz | s/warn/confess/ | 21:06 | |
| or simply $path = '' if $path eq '/'; ? | 21:07 | ||
| Infinoid | did that, didn't work | 21:08 | |
| $ra->get_log([$path eq '/' ? '' : $path], $rev, 1, 1, 0, 1, | |||
| sub { @log_result = @_; }); | |||
| still crashed. | 21:09 | ||
| moritz | Infinoid: not all instances of the assertion failures are preceeded by that warning | ||
| is get_log defined in XS? | 21:10 | ||
| Infinoid | funny, I added it to all the ones I could find which took a variable or hardcoded '/' | ||
| moritz | uhm, maybe I'm looking at the wrong part of the logs | ||
| did you remove the warnings again? | |||
| Infinoid | no | ||
| they are at action.pm:244, View.pm:137, Log.pm:217 and Log.pm:226 | 21:11 | ||
| moritz | Revision.pm:214 | 21:12 | |
| that's the one I see when I call www.parrotvm.org/svn/parrot/revision?rev=30851 | 21:13 | ||
|
21:13
TiMBuS joined
|
|||
| Infinoid | oh, interesting. the one I fixed was elsewhere, perhaps the fix was good after all | 21:15 | |
| changed that one to '' | 21:16 | ||
| I've just been trying to get www.parrotvm.org/svn/parrot to load | |||
| moritz too | |||
| ok, that changeset works again | |||
| particle | oh, hey, while you're at it... any way to get parrotvm.org/ to point to parrot.org? | 21:17 | |
| but still have the svn/ links point to feather | |||
| moritz | particle: that's probably a DNS things... | ||
| particle: does parrot.org have an SVN::Web interfaces at /svn/ already? | |||
| particle | i have control of that, just have no idea how | ||
| no | |||
| parrot.org does not have SVN::Web | |||
| moritz | particle: then build one first, otherwise the redirect will break stuff | ||
| particle | actually... svn.parrot.org/parrot/ | 21:18 | |
| Infinoid | parrotvm.org is an alias for perlcabal.org I think | ||
| moritz | yes | ||
| Infinoid | but yeah, dns is the important bit | ||
| particle | parrotvm.org has been transferred to parrot foundation ownership | 21:19 | |
| moritz | I think Juerd_ is the one ask about DNS stuff | ||
| particle: still it would be nice not break these www.parrotvm.org/svn/parrot/revision?rev=30851 links | |||
| particle | yes, i don't want to break those | ||
| Infinoid | oh cool, they work | 21:20 | |
| moritz++ | |||
| particle | i only want www.parrotvm.org/ to point to www.parrot.org/ | ||
| moritz | and Infinoid++ | ||
| particle | moritz++ Infinoid++ | ||
| moritz | the DNS is not handled on feather, so I can't help you with that, particle :/ | 21:21 | |
| or if it is, I didn't find it | |||
| particle | i can change the cname stuff | ||
| so, i'd have to change that, then have something at parrot.org redirect to feather, i suppose | 21:22 | ||
| moritz | you could rewrite all /svn/ links to perlcabal.org | ||
| particle | right | ||
| moritz | on the feather side they are aliased anyway | ||
| particle | i'm just not klooful enuff to do it | 21:23 | |
| moritz | RewriteRule ^(/syn/.*)$ perlcabal.org$1 [R=301,L] | 21:24 | |
| the apache part isn't that hard ;) | |||
| Infinoid | s/syn/svn/ | 21:27 | |
| recursive regexes :) | |||
| moritz | erm, yes | ||
|
21:41
Theory joined
21:47
ruoso joined
21:49
pyrimidine joined
|
|||
| particle | of course, i'd need access to apache for that, which i don't have as far as i know | 22:02 | |
| Infinoid | well, what do ya have? | 22:03 | |
| oh. who runs the server? | 22:04 | ||
| particle | osuosl | 22:07 | |
| i could put in a request with them | |||
| we have a virtual machine there iiuc | |||
| Infinoid | cool | ||
| oh, man. lots of merging to do to get branches/pdd13pbc relevant again | 22:08 | ||
| particle | ick. i'm sure. | ||
|
22:09
Lorn joined
|
|||
| Juerd_ | re hosting things on feather - note that there's a Xen virtual machine available for important things that mustn't go down when someone upgrades or screws up feather1 | 22:10 | |
|
22:21
cognominal joined
22:25
Whiteknight joined
|
|||
| Infinoid commits a big merge (-r30079:31764) to the pdd13pbc branch | 22:37 | ||
| dalek | r31765 | infinoid++ | pdd13pbc: | 22:42 | |
| : [pdd13] Merge changes from trunk (-r30079:31764) into pdd13pbc branch. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31765 | |||
|
22:51
tetragon joined
23:16
purl joined
23:23
purl joined
23:35
purl joined
23:45
Theory joined
|
|||
| dalek | r31766 | pmichaud++ | hllmagic: | 23:52 | |
| : [tge]: Update to use ['TGE';'Parser']. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31766 | |||
|
23:58
rblackwe joined
|
|||