Camelia, the Perl 6 bug

IRC log for #parrot, 2008-10-07

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced