Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-31

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 cognominal joined #parrot
00:08 Zaba_ joined #parrot
00:10 AndyA joined #parrot
00:14 cognominal joined #parrot
00:36 bacek joined #parrot
00:39 bacek morning...
00:42 rdice joined #parrot
00:46 japhb msg NotFound Glad to hear triangle spins in c++ build!  What platform/compiler are you using?
00:46 purl Message for notfound stored.
00:48 root joined #parrot
00:53 AndyA joined #parrot
01:06 Zaba joined #parrot
01:28 Whiteknight joined #parrot
01:31 ank joined #parrot
01:31 cognominal joined #parrot
01:32 Zaba_ joined #parrot
01:33 Whiteknight purl message?
01:33 purl Perhaps you mean "messages", or "message nickname blah blah", or "messages help", or.. eh, just forget it.
01:34 Whiteknight message ewilhelm Hey eric, I don't think the psoc aggregator is working: it hasn't updated since the 25th, and I know i've been blogging almost daily since then.
01:34 purl Message for ewilhelm stored.
01:40 braceta joined #parrot
01:56 kid51 joined #parrot
02:00 Zaba joined #parrot
02:04 tetragon kid51: Have you seen #55074? It's related to an OS X configuration issue (namely that not everyone uses darwinports).
02:28 pmichaud joined #parrot
02:31 kid51 tetragon:  Yes, I'm preparing it for application now.
02:33 dalek r27951 | jkeenan++ | codetests:
02:33 dalek : Implementing suggestion by pmichaud in
02:33 dalek : http://rt.perl.org/rt3/Tic​ket/Display.html?id=54992:  --code option to
02:33 dalek : t/harness to run file metadata and basic coding standards tests, rather than
02:33 dalek : separate script.
02:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27951
02:35 pmichaud kid51++
02:36 dalek r27952 | pmichaud++ | mutamerge:
02:36 dalek : [mutamerge]:
02:36 dalek : * Fix up VTABLE_isa and VTABLE_does for Mutable PMCs.
02:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27952
02:43 japhb kid51: What OS X variants (CPU/bits/version) do you have?  I'm feeding the bot.
02:47 davidfetter joined #parrot
02:53 kid51 10.4 ppc
02:54 kid51 I take it you mean what type of Mac I have myself?
02:54 kid51 ... or do you mean the darwin variants we need to test particular RTs?
02:55 kid51 ... such as http://rt.perl.org/rt3/Tic​ket/Display.html?id=52214
02:56 kid51 purl nopaste?
02:56 purl well, nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
02:57 nopaste "kid51" at 70.107.13.195 pasted "My Mac" (2 lines) at http://nopaste.snit.ch/13121
03:01 tetragon My i386: http://pgbuildfarm.org/cgi-bin/show_log.p​l?nm=jackal&dt=2008-05-30%2012:21:03
03:01 shorten tetragon's url is at http://xrl.us/bmauq
03:01 nopaste "tetragon" at 69.196.141.26 pasted "My PPC" (12 lines) at http://nopaste.snit.ch/13122
03:10 kid51 joined #parrot
03:10 dalek r27953 | jkeenan++ | trunk:
03:10 dalek : Applying patch submitted by Seneca Cunningham in
03:10 dalek : http://rt.perl.org/rt3/Tic​ket/Display.html?id=55074:  directory variable truth
03:10 dalek : check in handle_darwin_for_macports().  Add tests to
03:10 dalek : t/steps/auto_readline-01.t to cover this condition.
03:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27953
03:16 Zaba joined #parrot
03:18 Theory joined #parrot
03:42 bacek pdd09?
03:42 cognominal_ joined #parrot
03:42 bacek stupid bot...
03:42 purl it has been said that stupid bot is http://www.terrybisson.com/meat.html
03:42 bacek pdd?
03:42 purl it has been said that pdd is the Perl Developer's Dictionary, clintp's latest project and at http://www.amazon.com/exec/obidos/ASIN/0672320673 or Parrot Design Document, found in docs/pdds
04:11 Zaba_ joined #parrot
04:29 tetragon joined #parrot
04:30 davidfetter joined #parrot
05:48 cotto_home particle, ping
05:50 cotto_home nm
05:53 Zaba joined #parrot
06:07 cotto_home mke?
06:22 dalek r27954 | pmichaud++ | mutamerge:
06:22 dalek : [mutamerge]:
06:22 dalek : * Keep getprop, setprop, etc. properties with the mutable itself.
06:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27954
06:23 dalek r27955 | pmichaud++ | mutamerge:
06:23 dalek : [mutamerge]:
06:23 dalek : * Clean up some variable, trait, and type handling in actions.pm .
06:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27955
06:26 bigal joined #parrot
06:46 bacek pmichaud, why latest commit in branch?
06:48 pmichaud I'm working on merging jonathan++ 's mutables work into trunk.  But I'm doing the merge in a branch in case it doesn't work out.
06:49 bacek ok
06:58 jonathan morning all
06:58 purl afternoon, jonathan
07:01 pmichaud good morning, jonathan
07:02 jonathan Just about to leave for the venue.
07:13 kdc joined #parrot
07:28 * jonathan arrives
07:28 jonathan pmichaud: If you are using setprop etc to set the type on the mutable, why are you then having them forwarded?
07:29 pmichaud I'm not having them forwarded.
07:29 pmichaud they were being forwarded before my change in r27954
07:29 jonathan r27945 looked that way...let me look again.
07:30 jonathan Oh man, are you relying on my hacky Perl script's stupidity to not know about comments?!
07:30 pmichaud so far, yes.  :-)
07:30 jonathan :-O
07:30 jonathan That's sick.
07:30 jonathan :-)
07:31 pmichaud I do some sick things from time to time.
07:31 pmichaud I'm still getting a variety of segfaults
07:31 jonathan Even with -G?
07:31 pmichaud so what I thought I would do is to complete the merge, but with a simple switch so that we can use either the existing non-Perl6Scalar version or the Mutable
07:32 pmichaud then we can keep playing with Mutable in trunk, without that being the default
07:32 jonathan OK
07:32 jonathan Hmm
07:32 jonathan How many are you getting, and where?
07:32 pmichaud just a sec, I'll try spec_regr  again
07:33 pmichaud "make test" still passes.
07:34 jonathan Weren't we down to just one failing test earlier?
07:34 pmichaud I think I'm still at one failing test (the same one)
07:34 pmichaud but things fail when we start doing    my Int $a;
07:34 pmichaud (which spectest_regression isn't doing much of.)
07:35 jonathan Grrr.
07:35 pmichaud Grrr?
07:35 purl woof!
07:35 jonathan I had got that to work nicely in my original branch.
07:36 jonathan To the point that with roles and constraints it was more correct than trunk.
07:36 jonathan Hmm
07:36 pmichaud I haven't changed *that* much of the code.
07:36 jonathan Your hack is too evil.
07:36 jonathan perl6scalar.obj : error LNK2001: unresolved external symbol _Parrot_Mutable_setp
07:37 jonathan rop
07:37 jonathan Breaks the build on Win32
07:37 jonathan Unless you have uncommitted fixes?
07:37 pmichaud not for that.
07:38 pmichaud ...how could we end up with an unresolved extern?
07:38 pmichaud unless it shows up in the .h file but not the .c
07:38 pmichaud make clean, perhaps?
07:39 jonathan yeah, sorry, didn't do make clean
07:39 jonathan works now
07:40 jonathan OK, you switched to storing the type with setprop
07:40 jonathan ?
07:40 jonathan Rather than giving a parameter to new that provided the init into?
07:40 jonathan s/into/info/
07:40 pmichaud yes, for a variety of reason
07:40 pmichaud s
07:41 jonathan OK, where to properties get put now?
07:41 pmichaud getprop and setprop :-)
07:41 jonathan Which sticks them....?
07:41 pmichaud in a hash
07:41 pmichaud every PMC has a properties hash
07:41 pmichaud (or _can_ have one, if setprop is used)
07:42 jonathan OK, so ATTR PMC *properties; is now redundant and we should be doing lookups through a vtable call now?
07:42 jonathan the problem you're running into
07:42 jonathan Is that init_pmc sets up various things
07:42 jonathan But you're providing the type info too late now.
07:42 pmichaud oh, I have a change for that.
07:42 pmichaud (uncommited)
07:43 jonathan ok
07:43 pmichaud here, I'lll commit.
07:43 jonathan ok, thanks, I'll have a look
07:43 dalek r27956 | pmichaud++ | mutamerge:
07:43 dalek : [mutamerge]:
07:43 dalek : * More conversions for 'type' property and Mutable initialization.
07:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27956
07:44 pmichaud (I get quite a few failures in the mutablerakudo branch, fwiw)
07:44 jonathan Sure, there were 4-5 spectest_regression that failed
07:44 jonathan I wasn't sure how much of that was being behind on changes to trunk, though.
07:44 pmichaud about 8 now.  Right.
07:45 pmichaud the PMC parameter to 'new' is now the initial value for the Mutable
07:45 pmichaud as opposed to a properties hash
07:46 jonathan Ah, OK
07:47 jonathan That un-does the "is it a proto-object" logic, but I can put that back later.
07:47 pmichaud well, I know when it's called that we have a proto-object, at least at this point.
07:48 pmichaud I haven't figured out when we end up with a Junction of types.
07:48 pmichaud (i.e., what Perl 6 code produces it)
07:48 jonathan $( $<typename>[0] ) - might be a role or subset too
07:48 jonathan In which case we need to store an undef
07:49 jonathan Oh, you took out the junction stufff?
07:49 pmichaud it's easy to put back
07:49 jonathan Sure.
07:49 pmichaud (it's still there at the bottom)
07:49 jonathan OK
07:49 jonathan It's for
07:49 jonathan my Mouse Explosive $danger_mouse;
07:49 jonathan Like, it has to be an instance of Mouse and do the Explosive role. :-)
07:50 pmichaud and in that case it's initialized to undef also?
07:50 jonathan It's <typename>* in the grammar to let you have many
07:50 jonathan Yes
07:50 jonathan If the thingy isa proto-object, it's initialized to that.
07:50 pmichaud okay.  I think we should do that logic in actions.pm instead of Mutable
07:50 jonathan Yeah, eventually it needs to interact with a class registry too.
07:50 jonathan So for that it needs to be in actions.pm.
07:51 jonathan I just stuck it in the pmc_new for the time being, since it was easy. :-)
07:51 pmichaud I think Mutable should simply initialize to a value, or be undef.
07:51 jonathan If you have my Foo $x, and Foo is a proto-object, it initializes to that.
07:51 jonathan Otherwise, it's undef.
07:52 pmichaud I'm also wondering if perhaps Mutable shouldn't initialize value at all, but simply keep track of the initial type somewhere to use if it's accessed before assigned
07:52 jonathan I'm pretty sure that was the upshot when I asked for clarifications on p6l about this.
07:52 jonathan Could be an optimization, yes.
07:52 pmichaud well, I'm not sure it's an optimization
07:52 pmichaud since basically every vtable method has to check to see "am I initialized?"
07:52 jonathan Hmm, true.
07:52 jonathan Yeah, you're right.
07:52 jonathan Maybe we shouldn't do that. :-)
07:53 jonathan BTW, the changes to VTABLE assign method are a tiny bit suboptimal.
07:53 pmichaud what would be really cool would be to have an object that replaces itself upon initialization :-)
07:53 jonathan Because if you have an untyped variable, it goes to the properties hash every time.
07:54 jonathan But let's get the semantics right first, anyways.
07:54 pmichaud yes, I hadn't quite worked out how I wanted to get around that.
07:54 jonathan Well, it makes typed variables more efficient than untyped. ;-)
07:55 pmichaud well, not really :-)
07:55 pmichaud because a typed variable calls DOTYPECHECK
07:55 jonathan True. :-)
07:55 pmichaud and I guarantee that's likely to take longer than the property lookup :-)
07:55 jonathan Also true. :-)
07:55 pmichaud we could possibly make a NULL vs. PMCNULL distinction
07:56 jonathan Mwahaha.
07:56 purl mwahaha is probably at http://jerkcity.com/jerkcity1983.gif
07:56 pmichaud i.e., initialize it to NULL, then on first assign change it to PMCNULL
07:56 jonathan Evil. :-)
07:56 jonathan But I like it.
07:56 jonathan It's fine by me, provided we put a comment in explaining.
07:56 pmichaud it's nice to have so many sentinels to choose from :-)
07:58 jonathan OK, so how far do you feel we are off mergning?
07:58 jonathan I know it will break stuff in trunk (parameter type checking etc) that I want to demonstrate in my talk this morning.
07:58 pmichaud is the stuff in trunk currently working?
07:58 pmichaud i.e., after the changes I did the past couple of days?
07:58 jonathan And I'm going to be inviting people to check out trunk and make their own Rakudo.
07:58 jonathan Yeah. With -G. :-S
07:59 pmichaud weird.
07:59 pmichaud well, that's gotta be all parrot bugs then, because trunk isn't using any custom PMCs beyond perl6str
07:59 jonathan Oh, hmm
07:59 jonathan It was yesterday.
07:59 pmichaud it's not working now?
08:00 jonathan yeah, but I didn't remember doing svn up
08:01 pmichaud (merge, long story):
08:01 bacek PHP is a minor evil perpetrated and created by incompetent amateurs,
08:01 bacek whereas Perl is a great and insidious evil, perpetrated by skilled
08:01 bacek but perverted professionals.
08:01 pmichaud I'm not sure how long it will take us to chase down the various segfaults.  It could be simple, but it could also be a while
08:01 jonathan OK
08:01 jonathan I'm not sure, where they are happening
08:01 pmichaud so that's why I was aiming towards the "easily switch between Mutable and non-Mutable implementation" approach
08:02 jonathan Oh, I see the breakage - Perl6Str does odd things with ACCEPTS
08:03 jonathan sub foo(Int $x) { say "ok" }
08:03 jonathan foo(42)
08:03 jonathan ok
08:03 jonathan foo(4.2)
08:03 jonathan Parameter type check failed
08:04 jonathan It's some issue specific to string type.
08:04 pmichaud I'm not seeing where strings enter in to this.
08:04 jonathan foo("hi") # incorrectly works
08:04 jonathan Ah, my original example was with foo("hi")
08:04 * bacek just read gc_gms_*...
08:05 jonathan I think let's see why the segfaults
08:05 jonathan Try and find them quickly, if possible.
08:05 cognominal joined #parrot
08:05 pmichaud okay.  I was going to go ahead and finish up my Mutable switch.
08:06 jonathan I'm scared, of breaking trunk then telling people to check it out. ;-)
08:06 pmichaud well, I'm not in rush to merge right now
08:06 jonathan OK
08:06 jonathan Which tests are segfaulting?
08:06 pmichaud it can wait a day or so
08:06 jonathan Or simple test case?
08:06 jonathan Ok, great. I can work on the segfault between talks.
08:06 pmichaud no tests are segfaulting (more)
08:07 pmichaud > my Int $a;  say $a.WHAT;
08:07 pmichaud Int
08:07 pmichaud > my Int $a;  $a = 3;  say $a.WHAT;
08:07 pmichaud [oops; continuation 0x83375a8 of type 22 is trying to jump from runloop 571 to runloop 50]
08:07 pmichaud Unknown PMC type to thaw 0
08:07 pmichaud >
08:08 pmichaud (segfaulting being a generic term for  "totally unexpected behavior")
08:09 jonathan Oh, not realy segfault.
08:10 pmichaud well, I see those from time to time also.
08:10 jonathan Ugh.
08:10 jonathan It's still there with -g?
08:10 jonathan er, -G
08:10 pmichaud I'm running with -G now, and yes, still there with -G
08:10 jonathan ok, at least it's not just GC bug then
08:11 pmichaud hmmmm
08:11 pmichaud > my Int $a;  _dumper($a);
08:11 pmichaud "VAR1" => PMC 'Int' { ... } with-properties: Hash { "type" => PMC 'Int' { ... }
08:11 pmichaud }
08:11 pmichaud okay, that's what I expect.
08:11 pmichaud but
08:11 pmichaud > my Int $b;  $b = 3;  _dumper($b);
08:11 pmichaud "VAR1" => PMC 'Int' { ... }
08:11 pmichaud >
08:11 pmichaud is not what I expect.  The properties disappeared.
08:12 jonathan Odd
08:12 iblechbot joined #parrot
08:13 pmichaud oh, it's not doing the :multi(Perl6Scalar, _) like it was earlier
08:15 jonathan Ah, OK
08:15 jonathan I just went through the properties code in default to check that it doesn't call any vtable functions we are forwarding.
08:16 pmichaud it doesn't, does it?
08:16 pmichaud (I looked it over, but didn't think about those having vtable calls of their own)
08:18 jonathan No, it doesn't from what I can see.
08:18 jonathan It would have been a logical source of the problem (e.g. it was setting the props on the value), but it seems to not be that.
08:18 pmichaud actually, I think dumper is lying to me
08:18 pmichaud that it's still a Scalar
08:19 pmichaud and still has properties
08:19 jonathan Ah
08:19 jonathan How so?
08:20 pmichaud just a sec
08:20 pmichaud (preparing nopaste)
08:21 jonathan ok
08:22 pmichaud oh
08:22 pmichaud I got a segfault
08:23 pmichaud actually, a failed assertion.
08:23 nopaste "pmichaud" at 76.183.97.54 pasted "failed assertion" (48 lines) at http://nopaste.snit.ch/13124
08:25 pmichaud it's somewhere in _dumper.
08:25 jonathan $P2 = new 'String'
08:25 jonathan $P2 = 'xyz'
08:25 jonathan setprop $P0, 'type', $P2
08:25 jonathan That looks bogus.
08:26 pmichaud how so?
08:26 jonathan type is not expected to be the name of the type
08:26 jonathan It's meant to be a proto-object, role or subset type
08:26 pmichaud ohhhhh
08:26 pmichaud duh
08:26 jonathan $( $<typename> ) gives those :-)
08:26 pmichaud you're right
08:26 pmichaud I was testing something different
08:26 pmichaud (which won't work)
08:26 jonathan All the same, it shouldn't fail that nastily.
08:27 pmichaud and it shouldn't fail prior to the assign.
08:27 pmichaud (which it does.)
08:27 pmichaud because all I'm doing is setting a property.
08:27 jonathan yeah
08:27 pmichaud we don't actually *do* a typecheck until the assign.
08:27 jonathan Right.
08:27 jonathan So it shouldn't matter until then.
08:28 pmichaud I think it's a bug in dumper, actually
08:28 nopaste "pmichaud" at 76.183.97.54 pasted "failed assertion trace" (23 lines) at http://nopaste.snit.ch/13125
08:29 pmichaud "clone S1, S0"?!?
08:29 pmichaud oh, I see where it's coming from.  something's null.
08:30 jonathan get_params PC13 (3), P2, S0, P1  PC13=FixedIntegerArray=PMC(0x837f180) P2=PMCNULL S0="(null)" P1=PMCNULL
08:30 jonathan That's wrong wrong wrong.
08:30 jonathan Yes.
08:30 pmichaud oh
08:30 jonathan Should be PMCNULL
08:30 pmichaud that's the same problem I was seeing earlier
08:30 pmichaud and that we have with the one failing spectest
08:30 pmichaud callmethodcc loses the arguments.
08:30 jonathan No
08:30 jonathan set_args PC25 (3), P0, S1, P1    PC25=FixedIntegerArray=PMC(0x837eec4) P0=Object(Data::Dumper::Default)=PMC(0xb747e12c) S1="(null)" P1=Undef=PMC(0x83370c0)
08:31 jonathan S1 was null going into the call
08:31 pmichaud oh.
08:31 jonathan Unless it lost them some way back
08:31 jonathan Look a bit further back in the trace
08:31 pmichaud looking
08:31 jonathan Oh, it's S1, not P1, so wouldn't be PMCNULL
08:32 bacek joined #parrot
08:34 jonathan OK, giving 2 hour Perl 6 tutorial starting in a few mins.
08:34 jonathan So will be away for a bit.
08:34 pmichaud okay.  I should probably get some sleep.
08:35 jonathan yeah!
08:35 jonathan it's late where you are
08:35 pmichaud 03h35
08:35 AndyA joined #parrot
08:49 barney joined #parrot
08:53 dalek r27957 | pmichaud++ | mutamerge:
08:53 dalek : [mutamerge]:
08:53 dalek : Fix .ACCEPTS method in P6object so it doesn't over-eagerly
08:53 dalek : match strings.
08:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27957
09:50 pmichaud I'm not the only evil code writer :-)
10:04 AndyA joined #parrot
10:11 dalek bernhard.schmalhofer@gmx.de | Plumhead:
10:11 dalek link: http://www.perlfoundation.or​g/parrot/index.cgi?plumhead
10:14 dalek r27958 | pmichaud++ | mutamerge:
10:14 dalek : [mutamerge]:
10:14 dalek : * Finish the 'switch between Mutable and non-Mutable'.
10:14 dalek : * This commit is not using Mutable, although the code
10:14 dalek :   remains close to the same.  Modify the $?PERL6SCALAR
10:14 dalek :   variable in src/parser/actions.pm to switch between
10:14 dalek :   them.
10:14 dalek : * All spectest_regression tests pass with this version.
10:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27958
10:22 dalek r27959 | pmichaud++ | mutamerge:
10:22 dalek : [mutamerge]:
10:22 dalek : * ....and this version works when using Mutables for Scalars.
10:22 dalek : * All spectest_regression tests pass.
10:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27959
10:22 pmichaud jonathan:  r27959 in the mutamerge branch passes all spectest_regression tests.
10:23 pmichaud ...off to bed...
10:25 dalek r27960 | bernhard++ | trunk:
10:25 dalek : [Plumhead]
10:25 dalek : Add test for case sensitivity of variable names.
10:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27960
10:25 Whiteknight joined #parrot
10:26 cognominal applauses for jonathan++
10:37 allison joined #parrot
10:46 dalek r27961 | bernhard++ | trunk:
10:46 dalek : [Plumhead]
10:46 dalek : Add a TODO-test for string interpolation.
10:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27961
10:55 masak joined #parrot
11:23 dalek r27962 | allison++ | pdd25cx:
11:23 dalek : [pdd25cx] Allow pragma subs to resume after a handled exception by returning to
11:23 dalek : an outer runloop.
11:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27962
11:34 Zaba joined #parrot
11:39 bgeron joined #parrot
11:46 cognominal joined #parrot
11:46 barney From which PCT-based language can I steal string interpolation? Perl6 looks too involved. Cardinal seems to have no variable interpolation.
11:47 jonathan pmichaud++ # mutamerge :-)
11:47 NotFound joined #parrot
11:48 NotFound Hello.
11:48 jonathan bonjour
11:48 purl hey, jonathan.
11:49 NotFound japhb: ping
11:51 dalek r27963 | bernhard++ | trunk:
11:51 dalek : [ecmascript]
11:51 dalek : Arguments to subrules need to be quoted.
11:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27963
12:17 dalek r27964 | bernhard++ | trunk:
12:17 dalek : [Plumhead]
12:17 dalek : Allow digits in variable names.
12:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27964
12:20 iblechbot joined #parrot
12:22 dalek r27965 | bernhard++ | trunk:
12:22 dalek : [Plumhead]
12:22 dalek : Simplify the IDENT rule
12:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27965
12:24 kid51 joined #parrot
12:30 AndyA joined #parrot
12:36 ambs joined #parrot
12:41 kid51 joined #parrot
12:51 jimk joined #parrot
12:55 davidfetter joined #parrot
12:56 cognominal joined #parrot
13:04 dalek r27966 | bernhard++ | trunk:
13:04 dalek : [Plumhead]
13:04 dalek : Add todo test for references.
13:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27966
13:09 Ademan_ joined #parrot
13:17 IllvilJa joined #parrot
13:21 dalek r27967 | jkeenan++ | codetests:
13:21 dalek : Eliminate all instances of  from this file only.
13:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27967
13:22 jimk That was $(PARROT_ARGS) that was eliminated from that file.
13:23 kid51 joined #parrot
13:32 Ademan_ joined #parrot
13:44 pmichaud good morning
13:44 purl and a lovely morning to you too, pmichaud
13:44 jonathan morning
13:44 * jonathan has survived all of his talks
13:44 jonathan bar a lightning talk
13:44 pmichaud running commentary was that the talks were excellent
13:45 jonathan They were fun to give.
13:45 pmichaud "jaws are dropping"  :-)
13:45 jonathan I haven't had chance to look at the segfaulting fun yet.
13:45 pmichaud it might not be there any more :-)
13:45 jonathan Just built the latest of the mutamerge branch
13:45 jonathan Oh
13:46 jonathan So did you do the merge yet?
13:46 pmichaud no -- wanted to give you a chance to play with it first and see what errors you could find
13:46 pmichaud (I"m like you -- I don't like breaking too much in trunk because then people who check it out may be disappointed)
13:47 jonathan Let me run the tests on Win32 to make sure they pass consistently for both of us.
13:47 pmichaud but most of the tests I ran were doing fine
13:48 jonathan I need to write more tests for some of the features we don't yet test in spectest_regression.
13:48 jonathan But that work.
13:49 jonathan (Like subset.)
13:49 pmichaud > my Int $a;   $a = 'hi';
13:49 pmichaud Type mismatch in assignment.
13:50 jonathan (And type checking. And .*, .+...)
13:50 jonathan Ah, good. :-)
13:50 jonathan That was broken in trunk, I think.
13:50 pmichaud yes, the default .ACCEPTS method in P6object was a little overeager :-)
13:50 jonathan hehe
13:50 pmichaud "It's a string!  Okay!"
13:50 jonathan You did check your changes, didn't break matching grammars.
13:50 jonathan ?
13:51 jonathan Something else, I fear we have no test for, but should work.
13:51 jonathan Let me run my Perl 6 RPN calculator in the mutamerge branch...that'll soon tell us.
13:51 pmichaud I didn't check that.  But I was thinking that matching grammars might in fact be an overload of infix:<~~> and not something that .ACCEPTS does
13:52 jonathan That'd be a cunning stunt.
13:53 pmichaud I was thinking that we could create an t/03-misc/  directory where we can throw tests that aren't yet ready for t/spec/
13:53 jonathan Cool
13:53 jonathan I throw them there, and @aother spec-test-ifies them. :-)
13:53 jonathan Delegation!
13:53 purl it has been said that delegation is the handler chain
13:54 jonathan And second pair of eyes, more importantly.
13:54 pmichaud well, we could perhaps get Auzon++ to look at them as a source of tests for his work, too.
13:55 jonathan Aye.
13:55 jonathan OK, all testsw pass here.
13:55 pmichaud yay!
13:55 * pmichaud celebrates.
13:56 jonathan But geck. My RPN evaluator is br0ked. :-(
13:56 jonathan I suspect, on grammar matching.
13:56 pmichaud nopaste?
13:56 purl rumour has it nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
13:58 nopaste "jonathan" at 194.167.199.29 pasted "un-rpn" (46 lines) at http://nopaste.snit.ch/13126
13:58 jonathan Just try 3 5 +
13:59 jonathan But minimal test case is this:
13:59 jonathan grammar Test { rule TOP { \d+ } }
13:59 jonathan if "42" ~~ Test { say "ok" }
13:59 jonathan Doesn't print ok
13:59 pmichaud okay, I'll fix that.
14:00 jonathan Awesome
14:00 jonathan (BooK is giving too amusing talk to concentrate on code!)
14:11 tetragon joined #parrot
14:16 Whiteknight joined #parrot
14:16 Zaba joined #parrot
14:41 allison joined #parrot
14:45 jonathan pmichaud: Back now, from coffee + lightning talk slide hacking.
14:55 pmichaud okay.  I'm reworking .ACCEPTS a bit.
14:56 pmichaud (also taking a short break for breakfast :-)
14:56 NotFound A fast break ;)
15:04 Limbic_Region joined #parrot
15:10 particle joined #parrot
15:12 jonathan pmichaud: I found that using roles as type names doesn't work, but I don't think this is a result of the Mutable branch, but rather earlier work in trunk.
15:12 jonathan I will fix this after the merge.
15:12 pmichaud okay
15:12 pmichaud I suspect you're correct.
15:13 pmichaud I suspect it's the P6object stuff that broke it.
15:14 jonathan It's maoning about a missing .item in fact.
15:14 pmichaud oh, then it's the changes to support list/hash/scalar context
15:14 jonathan Aye man.
15:14 jonathan Well, I will be having a good look a role composition in a week or two.
15:14 jonathan getting attributes right and so forth.
15:20 pmichaud I'm planning to do an 'add_attribute'  method to P6object that takes care of the create-a-new-class-object
15:20 pmichaud (and adjusts protoobjects and so forth)
15:21 pmichaud don't know if that will impact role composition, but I figure we'll need it at some point.
15:21 jonathan Just a wrapper around addattribute op?
15:21 pmichaud essentially, yes.
15:21 jonathan Adding them to roles will be a similar process.
15:21 pmichaud metaclass.'add_attribute'('$.foo')
15:22 jonathan no, $!foo
15:22 pmichaud right
15:22 jonathan But yes, that's fine with me.
15:22 pmichaud (some other language could use $.foo !)
15:22 jonathan :-)
15:23 pmichaud BTW, I found Grammar in the smart match table :-)
15:23 jonathan Oh/
15:23 jonathan I thought it was only mentioned in S05.
15:24 pmichaud $Larry is evil.
15:25 nopaste "pmichaud" at 76.183.97.54 pasted "Grammar in S03" (15 lines) at http://nopaste.snit.ch/13127
15:25 jonathan Argh!
15:25 pmichaud =-)
15:25 pmichaud which tells me this has to be done using .ACCEPTS, which is just as well because :multi on infix:~~ wasn't working out anyway.
15:27 jonathan Yeah, I figured it needed to be on ACCEPTS
15:27 jonathan It's just how. :-)
15:28 pmichaud got it covered :-)
15:28 jonathan Nice.
15:28 jonathan Give grammars an auto-generated ACCEPTS method>
15:28 jonathan ?
15:28 pmichaud make it possible for classes to tell P6object which class methods override the protoobject ones
15:28 pmichaud I was already doing that for 'new' -- I've just generalized it into a list.
15:28 jonathan Ah, cunning.
15:29 jonathan :-)
15:29 pmichaud $ cat x
15:29 pmichaud grammar Test { rule TOP { \d+ } };
15:29 pmichaud if "42" ~~ Test { say "ok"; }
15:29 pmichaud $ ./parrot perl6.pbc x
15:29 pmichaud ok
15:29 jonathan Nice.
15:29 jonathan OK, I can't find any mutable-specific breakage now.
15:29 jonathan Go ahead and commit
15:29 jonathan erm, merge
15:30 pmichaud $ ./parrot perl6.pbc rpn
15:30 pmichaud 3 5 +
15:30 pmichaud 8
15:30 jonathan If you're happy with it.
15:30 jonathan :-)
15:30 jonathan cool
15:30 pmichaud I think so.
15:30 pmichaud I need to get a fresh drink and then do the merge.
15:30 silug joined #parrot
15:30 pmichaud should be pretty straightforward now, since most of the issues have been taken care of and I don't think trunk changed in any of the relevant files.
15:31 NotFound ./mutable.c:1974: error: invalid conversion from 'void (*)(parrot_interp_t*, PMC*)' to 'void (*)(parrot_interp_t*, PMC*, PMC*)'
15:31 jonathan I did one or two tiny fixes since the branch, I don't think they touched the same files either.
15:31 NotFound Building with c++
15:32 jonathan NotFound: what's on that line?
15:32 pmichaud NotFound: and are you in the branch or in trunk ?
15:32 NotFound Parrot_default_visit, inside temp_base_vtable
15:33 NotFound pmichaud: in trunk
15:33 pmichaud okay, we're about to redo that.
15:33 pmichaud (i.e., it'll be replaced on merge)
15:33 jonathan Try again after we merge.
15:33 NotFound Ok.
15:35 dalek r27968 | pmichaud++ | mutamerge:
15:35 dalek : [mutamerge]
15:35 dalek : * Add ability for P6object to specify which class methods override
15:35 dalek :   P6protoobject ones.
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27968
15:35 cognominal I bought 25 euros with 30 euros at the perl auction
15:35 jonathan ...
15:35 dalek r27969 | Whiteknight++ | gsoc_pdd09:
15:35 dalek : [gsoc_pdd09] updating to trunk r27967
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27969
15:36 jonathan I wondered what on earth you were buying.
15:36 pmichaud just goes to show that 30 euros aren't worth what they used to be.
15:36 jonathan ...says the guy with the US dollars... ;-)
15:37 pmichaud ("but these are 'Special FPW Edition' euros!")
15:37 pmichaud I used to have a Swiss bank account.  :-)
15:37 pmichaud that was cool.
15:37 cognominal the last tshirt auction with many of them
15:38 pmichaud okay, svn ups, realcleans, rebuilds, tests, then merge
15:38 dalek r27970 | pmichaud++ | mutamerge:
15:38 dalek : [mutamerge]:
15:38 dalek : * Get Grammar (and subclasses) to use Grammar.ACCEPTS instead of
15:38 dalek :   the P6protoobject one.
15:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27970
15:38 NotFound Try with monopoly money.
15:38 jonathan pmichaud: Doing here too.
15:38 Theory joined #parrot
15:39 * pmichaud prepares to give his Dual-core Intel a serious workout.
15:40 pmichaud compiling two parrots and running a variety of 'make test' targets in parallel.
15:40 pmichaud (evil laugh)  FRY, MOTHERBOARD, FRY!
15:40 * pmichaud hears the fan spinning up on his workstation.
15:41 NotFound pmichaud: Are you trying a new implementation of hcf?
15:41 pmichaud lol
15:42 pmichaud hey, don't we need a 'lol' opcode?
15:42 japhb NotFound: you rang?
15:43 japhb pmichaud: no need -- we have a whole language for that
15:43 NotFound japhb: g++ 4.2.3-2ubuntu7
15:43 jonathan VIZIBLE "LOL"
15:43 cognominal will auction lol, but they want to stay aftre 1.0
15:44 NotFound I will vote for a PLASE opcode.
15:44 japhb NotFound: Which Ubuntu release is that?
15:44 jonathan ?
15:44 NotFound PLEASE
15:44 jonathan PLASE?
15:44 jonathan Oh
15:44 jonathan I pondered proposing object oriented extensions to lolcode.
15:44 NotFound To help Intercal implementations.
15:45 NotFound japhb: 8.04
15:45 japhb Objects would be called "KITTEHZ" and Classes would be "BREEDZ"?
15:45 NotFound The ubuntu7 thing is a packet id, I think.
15:45 japhb NotFound: do you usually install the latest release?
15:45 jonathan IIRC, KTHXBYE is already taken in lolcode syntax
15:46 japhb jonathan: yeah, end of program
15:46 NotFound japhb: usually not, this time yes.
15:47 japhb NotFound: What CPU/arch?
15:48 NotFound model name      : Intel(R) Pentium(R) M processor 1.73GHz
15:48 japhb NotFound: thank you.  Mind if I feed the bot?
15:48 NotFound Do.
15:49 japhb parrot platforms?
15:49 purl it has been said that parrot platforms is Win32/MSVC: particle, Ron; Win32/Cygwin: Limbic_Region, donaldh (Vista); Win32/MinGW: Limbic_Region; Mac OS X: kid51 (PPC/10.4), tetragon (Intel/10.4/32-bit, PPC/10.5/32-bit), DietCoke (Intel/10.4); Debian Linux/i386: japhb; AIX: paco
15:50 japhb grrrr.  It refused to take your C++ use, because "karma must be done in public!"
15:50 japhb no, parrot platforms is Win32/MSVC: particle, Ron; Win32/Cygwin: Limbic_Region, donaldh (Vista); Win32/MinGW: Limbic_Region; Mac OS X: kid51 (PPC/10.4), tetragon (Intel/10.4/32-bit, PPC/10.5/32-bit), DietCoke (Intel/10.4); Debian Linux/i386: japhb; Ubuntu Linux/i386/g++: NotFound; AIX: paco
15:50 japhb parrot platforms?
15:50 purl i heard parrot platforms was Win32/MSVC: particle, Ron; Win32/Cygwin: Limbic_Region, donaldh (Vista); Win32/MinGW: Limbic_Region; Mac OS X: kid51 (PPC/10.4), tetragon (Intel/10.4/32-bit, PPC/10.5/32-bit), DietCoke (Intel/10.4); Debian Linux/i386: japhb; AIX: paco
15:50 NotFound karma g
15:50 purl g has karma of 427
15:50 japhb grrrr
15:50 NotFound :D
15:51 jonathan lol
15:51 NotFound karma c
15:51 purl c has karma of 6947
15:51 jonathan ...
15:52 japhb parrot platforms?
15:52 purl it has been said that parrot platforms is Win32/MSVC: particle, Ron; Win32/Cygwin: Limbic_Region, donaldh (Vista); Win32/MinGW: Limbic_Region; Mac OS X: kid51 (PPC/10.4), tetragon (Intel/10.4/32-bit, PPC/10.5/32-bit), DietCoke (Intel/10.4); Debian Linux/i386: japhb; Ubuntu Linux/i386/g_plus_plus: NotFound; AIX: paco
15:52 japhb finally
15:52 NotFound karma chameleon
15:52 purl It comes and goes.
15:52 pmichaud okay, mutamerge branch fails coding tests but I'll fix those in trunk.  so..... MERGE!
15:52 jonathan YAAAY!
15:52 jonathan Getting passes on Win32 as well.
15:53 pmichaud no conflicts in the merge.  now rebuild and test.
15:53 jonathan :-)
15:53 * jonathan is happy to see this go in
15:54 jonathan pmichaud++ for doing the hard part
15:54 pmichaud I'm really happy we have this in too , and that things like  my @a = 1;  dtrt
15:54 pmichaud and that hash() works, and list() works, and...
15:55 pmichaud btw, while working on list context I figured out that lazy lists are going to be pretty easy to put together.  I was half-tempted to go ahead and try it.
15:55 jonathan and now you can work on protoregexes ;-)
15:55 pmichaud (actually, more than half-tempted)
15:55 jonathan I was pondering working on that soon.
15:55 jonathan But if you've figured it out...
15:55 NotFound Some good soul can try #55050 ?
15:56 jonathan Or alternatively, the explain what you were thinking and I turn it into code approach, so you can hack on the protoregexes. ;-)
15:56 pmichaud it's pretty straightforward, actually
15:56 jonathan I already started getting a Range class in place.
15:56 jonathan That is a lazy iterator.
15:56 pmichaud essentially, a List simply keeps all of its elements lazily
15:57 pmichaud but we override keyed access, shift, etc to flatten as needed
15:57 jonathan And an Array has the lazy part, and an evaluated part?
15:57 jonathan erm, list
15:57 jonathan OK
15:57 pmichaud right.  but the evaluated parts are just elements of the underlying ResizablePMCArray
15:57 jonathan Sounds good.
15:57 jonathan How do we keep track of what's evaluated and unevaluated?
15:57 pmichaud for optimization we just need to keep track of how much is already flat
15:57 jonathan Just add an extra counter?
15:57 jonathan Right.
15:58 pmichaud well, I was thinking of adding a variable.... but now that I've committed to getprop and setprop I might do that :-)
15:58 pmichaud s/variable/attribute
15:58 jonathan variable => attribute?
15:58 jonathan ok
15:58 pmichaud since the "already flat" part is supposed to be somewhat hidden anyway
15:59 pmichaud for an iterator, a list just returns a clone of itself
15:59 jonathan That's what I did already for Range.
16:00 jonathan well, not a clone
16:03 jonathan Hah. I just won something in an auction by bidding 42 EUR.
16:03 pmichaud 43!  dollars!
16:03 AndyA joined #parrot
16:04 * jonathan now has a some plush smileys. :-)
16:05 jonathan Will help make my new appartment more geeky.
16:11 dalek r27971 | pmichaud++ | trunk:
16:11 dalek : [p6object]: Merge changes from mutamerge branch
16:11 dalek : * Add PROTOOVERRIDES to say which class methods
16:11 dalek :   override protoobject methods.
16:11 dalek : * Clean up .ACCEPTS to do class/role-based smart
16:11 dalek :   matching (i.e., isa + does).
16:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27971
16:12 pmichaud Done.  r27972.
16:13 pmichaud tests welcomed.
16:13 dalek r27972 | pmichaud++ | trunk:
16:13 dalek : [rakudo]:
16:13 dalek : * Merge mutamerge + mutablerakudo branches into trunk.
16:13 dalek : * All spectest_regression tests pass.
16:13 dalek : * jonathan++ jonathan++ for Mutable implementation and merge help.
16:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27972
16:15 pmichaud jhorwitz++   # mod_perl6 Registry Scripts  http://www.smashing.org/jeff/node/35
16:16 NotFound ./perl6scalar.c:517: error: 'Parrot_Mutable_delprop' was not declared in this scope
16:16 iblechbot joined #parrot
16:17 NotFound Same for getprop, getprops and setprop
16:17 pmichaud did you make clean or make realclean?
16:17 NotFound Mmmmm... please, wait.
16:17 pmichaud those were defined in the previous version of mutable, but are no longer there.
16:17 pmichaud so I think a library / header is out of date.
16:18 pmichaud (and possibly a makefile dependency.)
16:22 NotFound ./perl6 -e"say 'Hello, world.'"
16:22 NotFound Hello, world.
16:22 purl rm -fr /
16:22 NotFound :)
16:22 NotFound pmichaud++
16:25 NotFound ./perl6str.pmc: In function 'FLOATVAL Parrot_Perl6Str_get_number(parrot_interp_t*, PMC*)':
16:25 NotFound ./perl6str.pmc:91: warning: switch missing default case
16:25 NotFound Just this warning.
16:26 dcat_ joined #parrot
16:29 tetragon joined #parrot
16:29 teknomunk joined #parrot
16:32 pmichaud NotFound++
16:33 dalek r27973 | pmichaud++ | trunk:
16:33 dalek : [rakudo]:
16:33 dalek : * Fix "switch missing default case" warning reported by NotFound++ .
16:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27973
16:36 pmichaud okay, time for a break.
16:37 pmichaud then maybe lunch.
16:37 pmichaud then journal posts.
16:37 pmichaud then dinner, soccer, and hopefully more hacking.
16:45 cognominal joined #parrot
16:57 jonathan Yay, we has merge!
17:02 pmichaud it's been a good couple of weeks.  :-)
17:03 pmichaud afk for a while
17:18 jonathan Ugh. I get a failure in instantiate.t in trunk.
17:19 jonathan oh, not rakudo bug. svn issue
17:20 kid51 joined #parrot
17:20 jonathan works, my bad.
17:46 DietCoke joined #parrot
17:46 * DietCoke ~~
17:46 Coke ~~
17:47 DietCoke jpahb?
17:47 DietCoke japhb?
17:47 purl japhb is probably Geoffrey Broadwell, mailto:geoff@broadwell.org
18:16 japhb DietCoke: here, for just a second
18:16 pmichaud I think he just wanted your name and address for an introductory letter to parrot-porters.
18:16 DietCoke <nod>
18:16 japhb pmichaud: Ah, cool, thanks
18:17 japhb Thanks again, DietCoke.
18:17 * pmichaud suggests "/msg purl japhb?"  :-)
18:17 DietCoke If everyone else did that, I'd be happy to follow their lead. :|
18:17 * japhb has taken to just keeping a purl tab open in his IRC client
18:17 pmichaud how do you know we aren't doing that?  ;-)
18:17 DietCoke clearly -everyone- isn't. =-)
18:18 japhb DietCoke: sometimes you *want* your purl conversation to be in public
18:18 pmichaud I use /msg purl selectively.  :-)
18:18 lichtkind joined #parrot
18:18 japhb pmichaud: ditto that
18:20 TimToady you shouldn't have to autogenerate an ACCEPTS method if it just gets inherited from Grammar
18:21 pmichaud correct, however, we run into a bit of a tricky issue wrt protoobjects
18:22 pmichaud i.e.,   $x ~~ Foo    means something slightly different if Foo is a Grammar protoobject as opposed to another type
18:23 pmichaud ("Grammar protoobject"  =>  protoobject of something inheriting from Grammar)
18:23 TimToady why does it mean something different?
18:23 pmichaud $x ~~ Dog    #  is $x a Dog?
18:24 TimToady ah
18:24 pmichaud $x ~~ MyGrammar    #  match against MyGrammar's TOP rule
18:24 TimToady then lets not use ~~ at all for grammar matching
18:24 pmichaud that's okay with me... but what instead?
18:24 pmichaud $x.match(MyGrammar) ?
18:25 pmichaud MyGrammar.TOP($x)   ?
18:25 TimToady the way it works out in STD5 is Dog.new("string").TOP()
18:25 pmichaud where Dog is a Grammar?
18:26 TimToady yes, sorry, not awake yet
18:26 TimToady histamine/antihistimine inspired jetlag...
18:26 pmichaud I can do that as well, but I like one of the .match or MyGrammar.TOP forms better.
18:27 pmichaud I don't have a strong opinion.  At any rate, as it turns out we end up not autogenerating methods, but instead have something to control when a protoobject retains its protoobject sense over its class sense
18:27 pmichaud (and that gets used pretty rarely.)
18:27 TimToady well it needs to know when to generate an initial match state against which grammar and which string, but other than that I'm not picky about syntax
18:28 TimToady that sounds hacky
18:28 pmichaud oh, it's not too bad, actually.
18:28 TimToady well, it's too bad if every other implementation settles on a differnt hack... :(
18:28 pmichaud it's not really visible to the P6 programmer -- it's kinda internal to Parrot/Rakudo
18:29 TimToady these things have a way of leaking...
18:29 pmichaud but yes, the   $x ~~ Type  vs.  $x ~~ Grammar   conflict is probably worth resolving
18:29 pmichaud (leaking)  -- yes, I know.  If we fix $x ~~ Grammar then it's one less thing to leak.  :-)
18:30 pmichaud anyway, it works for now until the synopsis changes.  Also, I always thought it was kinda strange that TOP was described in S03 and not S05.
18:32 TimToady possibly we need a defined grammar object that is a match factory
18:35 TimToady actually, .ACCEPTS is distinguishing undefined vs defined all over the place, Regexp, Junction, etc
18:35 pmichaud yes, I thought about that as well
18:35 pmichaud but couldn't quite make it work with Grammar
18:35 pmichaud (conceptually, that is)
18:36 pmichaud essentially the way we do it now is that protoobjects have a slightly different .ACCEPTS method from their normal instances
18:36 pmichaud i.e., they do type-matching instead
18:36 TimToady so that argues that a Grammar match should be against a Grammar.new
18:37 pmichaud I'm warming up to that very quickly, yes.
18:37 pmichaud so!!!
18:37 pmichaud $x ~~  Grammar     #  is $x a Grammar?
18:37 pmichaud $x ~~ Grammar.new     #  match against Grammar
18:37 pmichaud ?
18:38 Andy joined #parrot
18:38 TimToady that might help straighten out current parser bookkeeping too in the compiler
18:38 pmichaud yes
18:38 pmichaud that's what I was liking about .new
18:39 pmichaud because then we know we have an actual instance of a Grammar instead of a potentially shared one
18:39 TimToady and maybe a grammar could then be somewhat mutable without always resorting to inheritance to modify it
18:40 pmichaud yes
18:40 TimToady which might make it easier to track subs and such
18:40 pmichaud yes
18:41 TimToady lemme think about that s'more wrt STD...
18:41 pmichaud sure thing
18:41 pmichaud what I have now works and will be easy to modify
18:41 pmichaud and I'm at least a day or two away from any significant PGE refactoring that would depend on this
18:42 pmichaud (and even if it takes longer than that, it shouldn't be hard to adapt)
18:43 TimToady when I see all the different responses to a perl6: query on #perl6, it worries me when I see such different responses.  I wonder when (if ever) we'll even agree on what error messages to emit...
18:43 DietCoke ... you can always agree for us.
18:43 DietCoke =-)
18:43 particle let the test suite decide.
18:43 Zaba_ joined #parrot
18:43 TimToady no, I can't, because I just don't have time to agree on everything
18:44 TimToady so I have to have faith in the larger community to work it out
18:44 pmichaud I think it will work out
18:44 TimToady and I think [particle] is correct that the test suite is the locus of that negotiation
18:44 pmichaud agreed.
18:44 pmichaud totally.
18:44 purl GAG ME WITH A SPOON!!1!
18:44 DietCoke agreed.
18:45 DietCoke I would, however, give you the 20 dollar bill I have left in my wallet if you'd take a full time "agree-er" position. =-)
18:45 * pmichaud grabs a spoon and proceeds to...<deleted>
18:46 tetragon Eat gelato?
18:46 TimToady DietCoke: well, I did that for about four years once, and it set me back about $250k...
18:46 pmichaud the fact that the perl6:  queries evoke different responses is at least partially due to evolutions in the spec, I think
18:46 pmichaud as well as our evolving understanding of Perl 6
18:46 DietCoke ... ok, 25$.
18:46 DietCoke purl, 250000 / 25
18:46 purl 10000
18:46 DietCoke yahhh.
18:46 pmichaud now if we only had 10,0....   coke beat me to it.
18:47 gmansi joined #parrot
18:47 TimToady pmichaud: yeah, I actually think the perl6: query is a healthy thing to keep the democratic process alive
18:48 pmichaud I _really_ like that query.
18:48 particle 9999 coders with $25 in their pockets, 9999 coders with money, ask one for money for larry, pass it to him, 9998 coders with $25 in their pockets
18:48 pmichaud it shows what other developers are thinking, it also shows the questions and problems that non-developers are encountering
18:49 pmichaud a lot of times I look at the scrollback to find things to fix or implement :-)
18:49 particle i wish we had an off-channel (like run.pugscode.org) version
18:49 pmichaud (or decide to fix/implement it because of something I saw in scrollback)
18:49 TimToady but part of the value is its in-your-face-ness
18:49 pmichaud yes, I like it on-channel
18:49 particle there's room for both
18:50 pmichaud there are some times when I want to issue queries without flooding the channel -- otoh it's nice to see everyone else's queries
18:50 TimToady eek, a heterogenous opinion!!! shoot it!!!
18:50 pmichaud timtowtqi?
18:50 gryphon joined #parrot
18:51 TimToady maybe there's a way to log the query and a summary of how much agreement was achieved on one line
18:51 TimToady with a link to the actual results
18:51 pmichaud well, "log the query" can be the irclogs :-)
18:52 TimToady the summary could usefully give the shortest non-null response, and which engines returned that answer
18:52 TimToady and a list of the dissenting engines
18:53 radhios joined #parrot
18:55 particle "writing the dissenting opinion is pugs, which has in past debate often been held as a persuasive authority" --npr coverage
18:55 slightlyoff joined #parrot
18:55 diakopter particle: you can message the evalbot directly and it will reply just to you
18:57 DietCoke yay, finished some `official parrot business' I had to do. Now I can actually hack on something.
18:58 DietCoke ... this is going to suck, I'm going to have to bring a windows laptop to yapc!
18:58 * particle shakes his house &
19:05 pmichaud DietCoke: you're right, that sucks.  I'll give you the 20 dollar bill left in my wallet and a Kubuntu disk so you can fix it.  :-)
19:06 * pmichaud prepares to make his first-ever parrotblog post
19:06 AndyA joined #parrot
19:07 DietCoke when merging, what does "skipped" mean? (I know I've already looked this up once...)
19:07 pmichaud I don't know -- never encountered that.
19:28 DietCoke to verify, 'svn merge -rRev1:Rev2 <url to trunk> .' from inside a pristine, updated working copy of the branch?
19:28 Tene svn really doesn't track any of that for you?  Huh.
19:29 braceta joined #parrot
19:46 lichtkind has perl 6 __END__ tokem?
19:46 lichtkind token
19:46 slightlyoff left #parrot
20:00 TimToady lichtkind: no
20:02 lichtkind TimToady: so all token are gone good
20:02 TimToady use =begin END instead, is the current recommendation, though we'd have to special case it not to complain about a missing =end END
20:02 lichtkind but how can i say to parser stop parsing to ignore large POD sections?
20:03 TimToady S02 lists where various __FOO__ tokens have gone
20:04 lichtkind i see thanks
20:05 lichtkind TimToady: but so i have to put POD in seperat pod file if i want to prevent reading by parser?
20:06 TimToady in general, yes, but =begin END might be a special case
20:08 TimToady afk &
20:08 lichtkind thanks
20:08 lichtkind TimToady++
20:20 slightlyoff joined #parrot
20:25 ambs joined #parrot
20:29 Zaba joined #parrot
20:32 slightlyoff left #parrot
20:36 AndyA joined #parrot
20:39 pmichaud article posted to http://www.parrotblog.org/ .   That was far more painful than writing ever should be.
20:39 pmichaud (because of the way blogger handles formatting)
20:40 pmichaud but at least now I have a tool for (re)formatting my text into something acceptable for Blogger.
20:46 mire joined #parrot
20:54 Ademan joined #parrot
21:05 AndyA joined #parrot
21:15 lichtkind pmichaud: is P6object inspired by smop?
21:17 AndyA joined #parrot
21:31 Ademan joined #parrot
21:33 AndyA joined #parrot
22:01 jisom joined #parrot
22:14 davidfetter joined #parrot
22:15 zev joined #parrot
22:36 allison joined #parrot
22:46 pmichaud lichtkind: (inspired by smop)  no, it's inspired by Perl 6 and Synopsis 12
22:47 lichtkind pmichaud: ah
22:51 lichtkind pmichaud: what are the greatest benefits for newcomers you think (beside from constant sigils, say, signatures and the oop :) )
23:02 pmichaud regularized syntax
23:02 pmichaud even beyond constant sigils
23:02 pmichaud purl, rakudopost?
23:02 purl bugger all, i dunno, pmichaud
23:02 pmichaud rakudo.org ?
23:02 purl rakudo.org is, like, http://rakudo.org
23:04 pmichaud ugh.  blogging software is so.... stupid
23:05 pmichaud I'd like to post an article to rakudo.org.  I have it all written.  But I can't find the stupid "add post" link anywhere.
23:09 pmichaud yay, irc logs.
23:09 Limbic_Region pmichaud - chances are, you have to login
23:09 pmichaud I'm logged in, yes.
23:10 pmichaud but nowhere from rakudo.org is there a "post new article" link.
23:10 Limbic_Region pmichaud - it is oh, then it should be pretty straight forward
23:10 Limbic_Region are you familiar with mt ?
23:10 pmichaud You just have to know the magic url  (http://rakudo.org/cgi-bin/mt/mt.cgi)
23:10 pmichaud and I'm not good at remembering that url
23:10 Limbic_Region heh, the default
23:11 Limbic_Region ok, so when you log in - up in the upper left hand corner
23:11 Limbic_Region there should be two tabs
23:11 Limbic_Region one says "write entry"
23:11 Limbic_Region ?
23:12 pmichaud if I log in through the normal "rakudo.org" comments section, those links don't appear
23:12 Limbic_Region well, I don't have an account for rakudo.org - I use MT for my own home page
23:12 Limbic_Region and I never login through comments :-)
23:12 pmichaud right
23:13 pmichaud I don't have an MT home page
23:13 pmichaud I already have too many "home pages"  :-P
23:13 Limbic_Region well - I needed something to put up pictures of my daughters since the nearest relative is like 600 miles away
23:13 Limbic_Region the furthest is literally half way round the world
23:14 Limbic_Region I hired audreyt to do it
23:14 pmichaud I'm using picasaweb for mine.  Very impressive stuff.
23:14 Limbic_Region she integrated photo blogging into it so I have a single CMS
23:15 Limbic_Region I was too lazy to do it myself and told her to use whatever tools she felt comfortable with
23:24 pmichaud okay, done writing posts for now.
23:24 pmichaud time to go to dinner with my lovely wife and do some shopping
23:24 Limbic_Region enjoy
23:43 kid51 joined #parrot

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

Parrot | source cross referenced