Camelia, the Perl 6 bug

IRC log for #parrot, 2008-11-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 cotto roadmap?
00:00 purl somebody said roadmap was http://www.xray.mpe.mpg.de/mailing-lis​ts/perl5-porters/2004-11/msg00115.html
00:00 TiMBuS joined #parrot
00:01 cotto no, roadmap is https://trac.parrot.org/parrot/wiki/ParrotRoadmap
00:01 purl okay, cotto.
00:06 pmichaud afk (fetching dinner for kids)
00:07 dmknopp joined #parrot
00:08 allison joined #parrot
00:09 AndyA joined #parrot
00:11 bacek joined #parrot
00:25 Limbic_Region chromatic - sorry, forgot about the build - worked fine on Win32/MinGW/Perl 5.10/Storable 2.18
00:26 Limbic_Region purl msg chromatic sorry, forgot about the build - worked fine on Win32/MinGW/Perl 5.10/Storable 2.18 most recent checkout as of 19:26 EST 2008-11-17
00:26 purl Message for chromatic stored.
00:26 chromatic Great, thanks.
00:27 chromatic I'm going to put the check for 2.12 in Configure.pl, remove it elsewhere, and worry about warnings only if we run into trouble on any other platform.
00:28 dalek r32784 | cotto++ | trunk:
00:28 dalek : [t] make sure a hash test catches only the expected exception type
00:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32784
00:42 pmichaud chromatic +1
00:49 Infinoid pmichaud: after I get back from some errands, I should have a few hours free to hack.  how goes the lex2 battle?  got any menial tasks you can offload?
00:52 pmichaud Infinoid: I haven't been able to get back into the lex2 branch as yet.  I'm pretty confident it'll go okay, though.
00:53 pmichaud essentially we'll want to identify the places where we adjust references/refcounts and make sure they're all doing the right thing.
00:53 pmichaud I'm also going to have Parrot throw an exception if we attempt to free a context that already has a refcount of zero.
00:54 pmichaud I'll probably want/need testers.  :-)
00:54 chromatic If the core test suite runs, that's a good sign.
00:54 pmichaud I wonder how hard it would be to have parrot throw an exception if it tries to switch to a context with a refcount <= zero.
00:55 pmichaud that might be also useful -- so we'd see it when we execute it in addition to when it's freed
00:55 chromatic That's a good idea.
00:55 pmichaud or, even better -- throw an exception if we attempt to mark a context with a zero refcount.
00:56 pmichaud (all of these could be #ifdef'd out, of course.)
00:56 Infinoid ok, cool.  I'll have some more spare cycles throughout the week, and am happy to test/debug/etc
00:56 pmichaud that'll be great.
00:56 chromatic You've convinced me.
00:57 pmichaud anyway, I have to do some shopping and get the kids to bed, then NEWS/TODO/other updates, and then lex2 branch.
00:58 Infinoid bbi~1h &
01:04 gmansi joined #parrot
01:05 bacek_ joined #parrot
01:26 klapperl joined #parrot
01:27 dalek r32785 | pmichaud++ | trunk:
01:27 dalek : [rakudo]: spectest-progress.csv update: 220 files, 4506 passing, 41 failing
01:27 dalek : Failure summary:
01:27 dalek :     S03-operators/increment.rakudo aborted 41 test(s)
01:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32785
01:45 stockwellb joined #parrot
01:46 bacek_ -100 passed test... +41 failing...
01:46 bacek_ BigInt?
01:46 purl well, BigInt is SLOWWW if you use it lots
01:47 chromatic If you don't have GMP, all of those tests fail.
01:47 bacek_ purl: good girl
01:47 purl thanks bacek_ :)
01:47 chromatic If you do have GMP, all of those tests fail because the BigInt mapping doesn't have .WHAT.
01:47 bacek_ :)
01:48 jimmy joined #parrot
01:59 stockwellb Where would I find the exceptions that might be thrown while executing the ops inspect, get_class and namespace? I found some by forcing an error and searching for the error message, I can't do that for these ops.
01:59 chromatic Other than tracing through the C code, I'm not sure there's a good general principle.
02:00 chromatic Mostly just ask yourself "What are all of the possible arguments and potential behaviors?"
02:01 japhb joined #parrot
02:01 stockwellb Dang. Maybe because I'm not looking for a specific type of error, I shouldn't trap at all?!
02:01 chromatic That depends on what you want to test.
02:02 jimmy particle?
02:02 purl The most abundant particle in the universe is the moron. or spin 1/2, charge 2/3 or jerry gay or a boson. or a bozon. or a bogon or one bad mobo. or full of lies or mailto:jerry.gay@gmail.com
02:03 stockwellb Right when you want to test that something fails, you know what error to trap. These traps are legacy if you will, they where there before. I just kept them. Almost like trap the inspect op just incase something goes wrong. There is no exception for that is there?
02:05 stockwellb .EXCEPTION_REALLY_GENERAL
02:06 stockwellb Seems like most test only have error handling if you testing that something throws an exception. Would you agree?
02:07 stockwellb Add a role add it again make sure it throws. That type of thing.
02:07 cotto I can't think of any exceptions.
02:07 stockwellb Grrrr.
02:08 cotto a.k.a EXCEPTION_NO_EXCEPTIONS
02:08 stockwellb cotto: your the one who sent me on this quest!
02:09 cotto I'm saying that the tests should catch exactly one type of exception and let anything else kill/fail the test
02:09 chromatic Agreed.
02:10 cotto Many tests catch any exceptions, which means they might catch something other than what the test writer intended to catch.
02:10 stockwellb In this case the original code gives no indication of what they intended to catch. Well one does, so I let it error seached the phrase and found the exception. I'm thinking the other handlers are not neccessary.
02:11 dalek r32786 | particle++ | api2export:
02:11 dalek : [api2export] creating a branch to convert PARROT_API to PARROT_EXPORT
02:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32786
02:11 cotto what test are you looking at?
02:11 jimmy particle : hello
02:11 purl hey, jimmy.
02:11 stockwellb my ops.t
02:12 stockwellb sub op_inspect_p_p for instance.
02:13 stockwellb push_eh; inspect; pop_eh. Nothing more to it.
02:13 cotto you can excise that exception-related code
02:13 cotto If an exception is thrown, it'll kill the test and make the bug immediately apparent, which is what tests are supposed to do.
02:15 s1n pmichaud: ping
02:15 stockwellb Got it. I can see when you want an exception to handle only that specific one. And there is one test that is like that. The others just sort of wrap it up so the test fails but doesn't bomb.
02:15 stockwellb Graceful failure if you will.
02:16 cotto Yes.
02:16 stockwellb cotto: thanks. hey I gott role. later folks!
02:16 cotto someone's got Parrot on the brain
02:16 cotto bye
02:17 stockwellb :) role...
02:17 stockwellb bye
02:17 stockwellb left #parrot
02:27 bacek joined #parrot
02:38 dalek r32787 | particle++ | api2export:
02:38 dalek : [api2export] first stab at s/PARROT_API/PARROT_EXPORT/g
02:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32787
02:42 dalek r32788 | particle++ | trunk:
02:42 dalek : [DEPRECATED] mark release number for PARROT_API deprecation
02:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32788
02:43 jimmy particle : I had fixed the mis-repalced line.
02:53 chromatic Hmm, make testS failures.
02:54 chromatic 'examples/benchmarks/arriter_o1.pir' uses a deprecated opcode.
02:55 chromatic 'examples/benchmarks/array_access.pir' uses a deprecated opcode.
02:57 Aisling joined #parrot
02:59 Tene joined #parrot
03:03 Coke so... sloooow.
03:03 dalek r32789 | particle++ | trunk:
03:03 dalek : [RELEASE] NEWS updates
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32789
03:03 Coke is the failure just extra output from -w ?
03:04 Coke (assuming you mean deprecated and not removed)
03:04 chromatic joined #parrot
03:05 confound_ joined #parrot
03:05 purl joined #parrot
03:06 japhb joined #parrot
03:08 dalek r32790 | particle++ | trunk:
03:08 dalek : [DEPRECATED] add tracking ticket numbers to newly announced deprecation items
03:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32790
03:10 chromatic Easy patch for a Perl-capable novice: fix the errors from prove t/doc/pod.t
03:11 Tene joined #parrot
03:11 chromatic Easy patch for a PIR-capable novice: fix the errors from make examples_tests
03:13 Coke oh, hey, is that a new test target or an old one?
03:13 chromatic It's an old one.
03:13 chromatic error:imcc:Bareword method name 'export_to' not allowed in PIR
03:13 Coke huh. don't i feel stupid writing a shell script for it.
03:13 chromatic Thought you might like that.
03:14 Coke easy patch for the insane: make partcl 50% faster.
03:14 Coke (er, 100% faster? stupid inverse percentages)
03:14 dalek r32791 | pmichaud++ | trunk:
03:14 dalek : [rakudo]:  Let BigInt properly map .WHAT/.HOW .
03:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32791
03:14 pmichaud if something is 100% faster, that means it takes zero time (I think).
03:15 jimmy and parrot.org li tag css style bug?
03:15 Coke jimmy: I have no idea where the CSS lives.
03:15 Coke so even if you had a patch, I'm not sure where to apply it.
03:15 Coke (but if you had a patch, presumably someone could figure that part out.)
03:15 jimmy i found one. it affects my eye.
03:17 jimmy it is here, at the bottom http://www.parrot.org/wiki/parrot
03:17 jimmy i have no patch
03:20 Coke Yup. I've see that. I have no idea how/where to fix it.
03:21 jimmy coke: once i created the patch, i don't know whether affects other li tags.
03:21 dalek r32792 | coke++ | trunk:
03:21 dalek : fixup example to current PIR syntax.
03:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32792
03:22 dalek r32793 | particle++ | trunk:
03:22 dalek : [CAGE] fix pod errors
03:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32793
03:24 bacek joined #parrot
03:25 Psyche^ joined #parrot
03:26 Coke I would probably bug jhorwitz, as he's the resident drupal expert. =-)
03:26 Coke do we really need to list deprecations in NEWS as well as DEPRECATED?
03:26 Coke they're not really news, izthey?
03:27 chromatic Depends on how big, but you're probably right.
03:28 Coke if I do an HLL_map of a .Sub, will the PIR compiler respect that, I wonder?
03:29 pmichaud good question.
03:29 purl Yeah, it is. I'm stumped.
03:30 stockwellb joined #parrot
03:31 stockwellb cotto: Do I reply to your email @ parrotbu-followup@parrotcode.org to resubmit?
03:31 pmichaud stockwellb: yes, that usually works.
03:31 stockwellb Thank you.
03:32 * Coke sees not.
03:32 stockwellb Wasn't sure if it was supposed to go directly to cotto or not.
03:32 pmichaud that way the followup is in the ticket.
03:33 cotto stockwellb, you want the followup address.
03:33 petdance joined #parrot
03:33 pmichaud usually hitting 'reply or 'reply all' dtrt
03:33 stockwellb I was just replying to your email with comments. It's reply to *is* the parrot follow up.
03:34 cotto yup, that's how it should be
03:35 cotto I think so, at least.
03:35 stockwellb cotto: it's bits are traveling through time and space as we speak.
03:35 cotto and routers
03:36 stockwellb Oh yea, and those.
03:36 nopaste "coke" at 72.228.52.192 pasted "here's a test that shows HLL map doesn't work on PIR compile'd subs" (25 lines) at http://nopaste.snit.ch/14620
03:36 Coke ... with a little too much extra; really only needs one say in there.
03:37 dalek r32794 | pmichaud++ | trunk:
03:37 dalek : NEWS updates for rakudo, pct, other.
03:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32794
03:37 chromatic Coke, I could probably make that work, with the caveat that that's a good way to crash Parrot hard.
03:39 Coke not a priority; I have a workaround.
03:39 Coke more concerned about why box isn't boxing into my HLL type.
03:39 chromatic It should work, but it'll be dangerous for a while.
03:40 pmichaud ...box opcode?
03:40 pmichaud oh, yes.
03:40 chromatic box is fine.
03:40 chromatic Autoboxing Sub in IMCC will be dangerous for a while.
03:41 * Coke makes sure I'm in the right HLL.
03:41 pmichaud afk -- bbiah
03:41 Andy_ joined #parrot
03:41 Coke bah.
03:44 Coke chromatic: defining a mapping for 'Tcl' doesn't magically make it work for '_Tcl'
03:49 allison joined #parrot
03:53 chromatic Coke: ENOMAGIC
03:53 Coke soooo slow.
03:56 dalek r32795 | chromatic++ | trunk:
03:56 dalek : [tools] Fixed POD to pass t/doc/pod.t.
03:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32795
04:01 elmex joined #parrot
04:16 Theory joined #parrot
04:31 nopaste "stockwellb" at 70.160.222.145 pasted "Why does Foo in one() conflict with Foo in two() 'Class Foo already registered'" (16 lines) at http://nopaste.snit.ch/14621
04:31 stockwellb Can anyone help me with this question?
04:38 cotto $P1 = subclass $P0, "Foo"
04:38 cotto That attempts to create a subclass of $P0 called "Foo"
04:38 cotto it doesn't work because a "Foo" class was already created.
04:38 stockwellb but isn't Foo = new 'Class' and instance?
04:39 pmichaud the class registry only permits one class to have a given name.
04:39 pmichaud so, since a class was given the name 'Foo' in one(), it's not possible to create another with that name.
04:40 pmichaud (which is what subclass would do)
04:40 stockwellb Isn't Foo in one() and instance not a class?
04:40 pmichaud it's an instance of 'Class'.  All classes are instances of 'Class'.
04:40 pmichaud (that's what makes them classes)
04:41 stockwellb 70_class_object.pir led me to believe this with its myobj = new 'Foo' example. My Object, no My Class.
04:42 cotto unquoted Foo in one() is just a name for a register and has nothing to do with the object system
04:42 pmichaud if you say    new 'Foo', then you're creating an instance of 'Foo'
04:43 stockwellb then new 'Class' is an *instance* of Class. I should be able to have many of those.
04:43 pmichaud you can.
04:43 pmichaud you just can't have more than one with a given name.
04:43 bacek joined #parrot
04:43 stockwellb but they can't have different names?!
04:43 pmichaud sure, they can have different names.
04:44 pmichaud but in the example you nopasted, you create one class called 'Foo' in one(), and then try to create another (via subclass) in two()
04:44 stockwellb As long as it doesn't conflict with an existing class name.
04:45 stockwellb I thought I created an instance of a Class. Creating a class requires newclass?
04:45 pmichaud no.
04:45 pmichaud an instance of a Class is a class.
04:45 pmichaud a class is an instance of Class
04:45 pmichaud you can create a class by doing   $P0 = new 'Class';   you can also create a class by using newclass or subclass
04:46 pmichaud they're two different approaches to doing the same thing.
04:48 stockwellb So if I created a class called Dog and I wanted to create several instances of Dog to use as data say dogs in a kenel, what would be the syntax for creating those dogs.
04:48 pmichaud $P0 = new 'Dog'
04:48 pmichaud $P1 = new 'Dog'
04:48 pmichaud $P2 = new 'Dog'
04:48 pmichaud (creates three Dog objects)
04:48 stockwellb Deep inside you must be laughing at me.
04:48 pmichaud no, not really -- just answering questions :-)
04:49 pmichaud (also watching the football game :-)
04:49 stockwellb I can't see the two as the same. I'm having problems separating Class and Instance.
04:49 pmichaud see the two "what" as the same?
04:49 pmichaud perhaps it helps to see it this way:
04:50 pmichaud $P0 = new 'Class'
04:50 pmichaud $P0.'name'('Foo')     # ok
04:50 pmichaud $P1 = new 'Class'     # ok
04:50 pmichaud $P2.'name'('Foo')     # error, can't register two classes with the same name.
04:50 pmichaud sorry, $P1 instead of $P2 there.
04:51 stockwellb I really do get that.
04:51 pmichaud okay.... also note that
04:51 purl also note that is slide code, so probably untested :)
04:51 pmichaud $P9 = newclass 'Foo'
04:51 pmichaud is the same as writing
04:51 stockwellb yep
04:51 pmichaud $P9 = new 'Class'
04:51 pmichaud $P9.'name'('Foo')
04:52 stockwellb yep, yep and yep. I think my problem is deeper.
04:52 pmichaud okay.
04:52 stockwellb In C# I write code to create a Class.
04:52 stockwellb Then I call a new operator for that Class to create an instance of it.
04:53 stockwellb I'm missing the parallel.
04:53 stockwellb it's two different things for me. Yet here it's the same.
04:53 pmichaud $P0 = newclass 'Dog'    # create a new class
04:53 klapperl joined #parrot
04:53 pmichaud $P1 = new 'Dog'    # create an instance of the class
04:54 stockwellb that's pretty semantics, but both are equivalent.
04:54 pmichaud no they aren't.
04:54 purl yes they are!
04:54 stockwellb Whoa, then I missed the boat somewhere.
04:54 pmichaud the first line creates an instance of a Class.
04:55 pmichaud The second line creates an instance of a Dog.
04:55 stockwellb Is my problem that...
04:55 stockwellb $P1 = new 'Class'
04:55 stockwellb and $P2 = new 'Dog'
04:55 stockwellb are different
04:56 pmichaud depends on what you mean by "are different"
04:56 pmichaud both create instances of something
04:56 pmichaud the first is creating an instance of a Class, the second is creating an instance of a Dog
04:57 stockwellb in an kennel application I would want many instances of Dog.
04:57 pmichaud there's nothing to prevent that from happening
04:57 pmichaud $P0 = new 'Dog'
04:57 pmichaud $P1 = new 'Dog'
04:57 stockwellb is it common to want many instances of 'Class'
04:57 pmichaud $P2 = new 'Dog'
04:57 pmichaud $P3 = new 'Dog'
04:57 pmichaud creates four dogs.
04:57 pmichaud sure, every class is an instance of a Class
04:57 pmichaud $P0 = new 'Class'
04:57 pmichaud $P1 = new 'Class'
04:57 pmichaud $P2 = new 'Class'
04:57 stockwellb wow this feels like a cirlce to me.
04:58 pmichaud creates three classes.
04:58 pmichaud it's not the creation of the instances that is causing the error in your nopaste
04:58 pmichaud we can have many instance of a Class
04:58 pmichaud we can have many instances of a Dog
04:58 pmichaud what we cannot have is two instances of a Class that are given the same name.
04:58 stockwellb ok stop there.
04:59 stockwellb Foo = new 'Class'
04:59 stockwellb is an instance of Class.
04:59 pmichaud yes.
04:59 stockwellb I can make many many of them.
04:59 pmichaud at that point it still has no name.
05:00 stockwellb The second I take one of my instances and .'name'("something") I create a new class called something?
05:00 cotto yes
05:00 pmichaud no, you've given that instance a name.
05:00 pmichaud it's still a Class.  It's still the same Class that it was before.  It just gets a name at that point.
05:01 stockwellb that name prevents me from creating a class with that name.
05:01 pmichaud correct
05:01 stockwellb I'm not used to being able to effect Classes via an instance of that class. It's hurting my brain.
05:02 pmichaud classes in Parrot are "first-class" objects -- i.e., they have attributes and names like anything else
05:02 pmichaud let's look at it this way
05:02 pmichaud if I say   $P0 = new 'Integer'
05:02 pmichaud and then  $P1 = typeof $P0
05:02 pmichaud then $P1 is the Integer class itself.  okay so far?
05:03 stockwellb Yes I learned this earlier thanks to you.
05:03 Tene Classes are objects.  There are methods that you can run on the class itself.
05:03 pmichaud not only that, but $P1 is exactly the same object that we would get if we said   get_class 'Integer'.  Still okay?
05:03 stockwellb still good.
05:03 pmichaud so, is $P1 an object?
05:03 stockwellb It's an object yes.
05:04 pmichaud what is the type of $P1, then?
05:04 stockwellb Class
05:04 pmichaud in other words, what would happen if we _then_ said   $P2 = typeof $P1   ?
05:04 pmichaud exactly.
05:04 pmichaud classes are instances of Class.
05:05 pmichaud so, if we want to create a new class, we simply create an instance of Class and possibly give it a name
05:05 pmichaud $P0 = new 'Class'
05:05 pmichaud $P0.'name'('Dog')
05:05 pmichaud giving $P0 the name Dog means we can now do
05:05 pmichaud $P1 = new 'Dog'
05:05 pmichaud and $P1 will be created as an instance of the class given by $P0
05:05 stockwellb yes.
05:06 pmichaud this is typically called "metaobject programming" or a variety of other things, but the key feature is that we treat classes like objects as well.
05:06 stockwellb It's just strange to me to create several Dogs for Dog and then be able to pick anyone of Dogs and muck with .name() and effect other objects.
05:07 pmichaud oh, one can't do that.
05:07 pmichaud all of the examples I've been using are simply using .name() on Class instances
05:07 pmichaud it doesn't say _anything_ about what would happen with .name() on a Dog instance.
05:07 pmichaud in fact, until we define a .name method for Dog's, we'd get a method not found error.
05:07 stockwellb Nail!!!
05:07 stockwellb Head!!!
05:08 stockwellb I think I see the difference now.
05:08 pmichaud right, Dog doesn't have a .name method.  More precisely, the .name method we would define for Dog wouldn't be the same as the one that is already defined for Class
05:08 stockwellb I has everything to do with new "Class"
05:09 pmichaud or, more to the point, it's because the .name method on Class objects doesn't allow two instances to have the same name.
05:09 pmichaud that doesn't say anything about names for other types of objects.
05:09 stockwellb other objects that are and must be derived from Class.
05:10 pmichaud ....derived from class?
05:10 pmichaud er, derived from Class?
05:10 pmichaud we typically don't derive other objects from Class itself (depending on what you mean by "derive")
05:10 pmichaud if I say
05:10 stockwellb hold on
05:10 stockwellb I'll show you.
05:11 stockwellb .local pmc Dog
05:11 stockwellb Dog = new 'Class'
05:11 stockwellb Dog.'name'("Dog")
05:12 stockwellb $P1 = new "Dog"
05:12 stockwellb SP1 is derived (possibly crappy choice) from Class.
05:12 pmichaud it's not supposed to be.  I think that's a bug in Parrot.
05:12 pmichaud normally one would not consider $P1 to be an instance of 'Class'
05:13 pmichaud it's an instance of Object
05:13 stockwellb why isn't it an instance of Dog?
05:13 pmichaud it's that also.
05:13 stockwellb Ok.
05:13 stockwellb Whew.
05:13 pmichaud but Dog is not a subclass of Class, it's an instance of it.
05:14 pmichaud so since Dog is not a subclass of Class, instances of Dog should not be instances of Class.
05:14 stockwellb so in practice Dog should be subclassed from Class first.
05:14 pmichaud no.
05:14 pmichaud typically we don't want to create subclasses of Class.
05:14 pmichaud we create instances of them -- those then become our classes.
05:14 stockwellb I thoughts that's what I did.
05:15 pmichaud it is.
05:15 pmichaud yes, that's what you did -- you created an instance of a class.
05:15 stockwellb but you said it's not supposed to be.
05:15 pmichaud I said that Parrot likely has a bug.
05:15 pmichaud I'll prove that a Dog is not an instance of a Class, though...
05:15 pmichaud every Class has a .name method
05:15 pmichaud however, Dogs do not
05:15 stockwellb I didn't run that code I just typed it.
05:17 nopaste "pmichaud" at 72.181.176.220 pasted "proof that a Dog instance is not an instance of a Class" (17 lines) at http://nopaste.snit.ch/14622
05:17 pmichaud note that I think that the "1" produced by the isa line is a bug -- it should be zero.
05:18 pmichaud but since I can't use .name() on an instance of Dog, but I can use .name on an instance of Class, it follows that Dog is not a subclass of Class.
05:18 stockwellb right because there is no filo
05:18 stockwellb fido
05:18 pmichaud hmmm?
05:18 pmichaud you lost me there.
05:18 pmichaud fido is an instance of Dog
05:18 stockwellb sorry fido is a nullpmc
05:18 stockwellb oh crap sorry.
05:19 stockwellb I'm getting punchy. Sorry.
05:19 stockwellb so that's an example of how not to create Dog.
05:20 pmichaud no, that's the correct way to create Dog.
05:20 pmichaud (or at least one correct way to create Dog)
05:20 pmichaud we normally don't _want_ our Dog instances to inherit the .name method of class
05:20 pmichaud *of Class
05:20 pmichaud because fido is not a Class, it's a Dog
05:21 stockwellb I'm there. I rubbed my eyes a little more and read it more slowly.
05:21 pmichaud here's another example that might clear things up just a bit more
05:21 pmichaud $P0 = newclass 'Foo'
05:22 pmichaud $P1 = subclass $P0, 'Bar'
05:22 pmichaud $P2 = typeof $P1
05:22 pmichaud ...what type is $P2?
05:22 stockwellb Foo
05:22 pmichaud no, it's a Class
05:22 stockwellb damn, because everything is.
05:22 pmichaud only classes are Class
05:23 pmichaud but since $P1 is the class object for Bar, asking for its type will give us back the class object for Class
05:23 pmichaud same as asking for the type of $P0
05:23 pmichaud what makes a subclass is that we have a Class instance with a parent attribute
05:23 pmichaud just as   $P0 = newclass 'Foo'
05:24 stockwellb I saw that a test.
05:24 pmichaud is the same as  $P0 = new 'Class'; $P0.'name'('Foo')
05:24 stockwellb passed in with attributes
05:24 pmichaud the subclass opcode is just creating a Class with name _and_ parent attributes
05:24 pmichaud $P1 = new 'Class'
05:24 pmichaud $P1.'name'('Bar')
05:24 pmichaud $P1.'add_parent'($P0)
05:25 pmichaud # above is same as   $P1 = subclass $P0, 'Bar'
05:25 stockwellb This is metaprogramming.
05:25 pmichaud $P1 is still an instance of Class, it has a name ('Bar') and a parent attribute
05:25 pmichaud it's the *parent* attribute that makes things into subclasses
05:27 stockwellb Let me play with this some more. You are a deeply patient man. Thank you for working with me for such a long time.
05:27 pmichaud it's my pleasure -- reminds me of my teaching days :-)
05:28 stockwellb I'm sure we'll have to set the wayback machine for again sometime. I just need to be clear that I *really* am grateful.
05:28 pmichaud oh, it's clear
05:28 pmichaud you're patient with my answers, too :-)
05:29 stockwellb patient is not a word my children would use to describe me, but thank you.
05:29 cotto your teaching days... That explains it.
05:29 pmichaud patient is a word my doctor uses to describe me... but I'm not sure he means the same thing :-)
05:29 pmichaud cotto: that explains... what?  ;-)
05:29 stockwellb he means cash cow.
05:30 stockwellb I just turned 40 this year, I've never been to the damn doctor so much. It's like my warranty expired.
05:31 pmichaud heh.  I actually haven't been to a doctor in 24 years.
05:31 pmichaud (I guess my dentist would've been a more accurate answer, then :-)
05:31 stockwellb Here's to keeping it that way!
05:31 stockwellb What's a dentist?
05:31 purl IS IT SAFE?
05:32 pmichaud tooth doctor?
05:32 stockwellb Never heard of one. :)
05:34 stockwellb Well it's bed time on the east coast. Goodnight.
05:34 pmichaud good night!
05:34 purl sleep fast, sleep tight, don't let the bed bugs bite
05:34 cotto night
05:34 stockwellb left #parrot
05:44 dalek r32796 | pmichaud++ | trunk:
05:44 dalek : [rakudo]:  Update ROADMAP with completion percentages and new estimates.
05:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32796
05:55 mberends joined #parrot
06:06 Psyche^ joined #parrot
06:37 * Coke ponders setting up a cron job to rant about how slow tcl is.
07:00 s1n joined #parrot
07:02 cotto Good idea, Coke.  That way I can just have you add Pipp when it gets to that point. ;)
07:10 bacek joined #parrot
07:16 uniejo joined #parrot
07:23 cotto msg stockwellb it looks like your reply to #60600 was eaten.   Can you resend it?
07:23 purl Message for stockwellb stored.
07:40 iblechbot joined #parrot
07:42 apeiron joined #parrot
07:51 chromatic Completely bizarre error.
07:55 cotto Speaking of which, #60556 has a nice PIR-triggered segfault.
07:59 bacek joined #parrot
08:00 jimmy what does segfault mean?
08:02 cotto segfault?
08:02 purl segfault is, like, http://xkcd.com/371/
08:02 cotto It means a program is trying to access memory that it shouldn't.
08:05 mberends joined #parrot
08:07 jimmy about RT #60556, I find a that a better way.
08:07 jimmy though I created the patch to modify some codes.
08:08 dalek r32797 | chromatic++ | trunk:
08:08 dalek : [PIC] Made prederefd argument passing code create a COW STRING from constant
08:08 dalek : STRINGs stored in the bytecode so that callees never modify constant strings
08:08 dalek : unilaterally.  See r32124 and RT #60030 (this fixes the switched and CGP
08:08 dalek : cores).
08:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32797
08:08 chromatic Scare anyone?
08:11 dalek r32798 | kjs++ | trunk:
08:11 dalek : [pirc] update heredoc tests.
08:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32798
08:22 ff-wonko joined #parrot
08:25 jimmy cotto?
08:26 dalek r32799 | chromatic++ | trunk:
08:26 dalek : [src] All PIC-using runcores, not just CGP, look in the wrong place for
08:26 dalek : arguments passed via c_args (such as those in exception handlers).  See RT
08:26 dalek : #60048 again, as well as r32094.
08:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32799
08:26 cotto jimmy?
08:26 purl jimmy is probably jimmy or a kind and warm-hearted person, albeit allegedly a sloth
08:27 jimmy http://rt.perl.org/rt3/Tic​ket/Display.html?id=60584
08:27 jimmy i had uploaded the result for windows ,can you help me testing  on linux?
08:28 Ademan joined #parrot
08:28 jimmy use mis-repalce%20slash.patch, the older is a wrong way.
08:29 cotto I don't have access to a windows machine.  Do you want me to make sure it doesn't break anything on Linux?
08:29 jimmy yes
08:29 jimmy just some @echo mis-replaced slash
08:30 jimmy does break anything
08:30 jimmy does'nt
08:30 cotto ok.  I'll see what happens.
08:30 jimmy and just add a slash for vim-install
08:31 jimmy makes it working on windows, none of any other code was modified
08:31 cotto so make vim-install is all that needs to be tested?
08:32 jimmy yes.
08:32 jimmy and some @echo slash modified.
08:33 jimmy that makes the output of help can display ok.
08:35 cotto Why did you change URLs in comments?  Was that intentional?
08:35 dalek r32800 | kjs++ | trunk:
08:35 dalek : [pirc] fix macro test. more tests should be added with parameters.
08:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32800
08:36 jimmy yes
08:36 jimmy because / will be repalced by \
08:37 jimmy and // is not
08:37 jimmy it will be repacled /
08:38 cotto I see.  You're making the resulting Makefile look good.
08:38 cotto good jorb, then
08:38 jimmy yes.
08:38 jimmy and fixed vim-install on windows
08:38 chromatic The lack of STRINGNULL bites again!
08:39 jimmy the older patch is not well, it is ugly
08:39 jimmy s/well/good/
08:40 cotto How would you like to be credited?
08:40 jimmy i don't know.
08:41 jimmy I just fix some wrong thing that i know.
08:41 jimmy err. some thing wrong.
08:42 jimmy cotto: does it works well on linux?
08:43 cotto yup.  It's committed.
08:43 cotto jimmy++
08:43 jimmy thanks. the three days i alway gave a wrong patch. now is right.
08:44 cotto it's ok as long as you eventually get it right
08:44 dalek r32801 | cotto++ | trunk:
08:44 dalek : [build] fix make vim-install on windows and fix URLs in generated Makefiles
08:44 dalek : patch courtesy of jimmy on #parrot
08:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32801
08:44 dalek r32802 | kjs++ | trunk:
08:44 dalek : [pirc] fix some tests.
08:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32802
08:44 jimmy and can you modify  the status of RT#60584?
08:44 cotto yup
08:46 cotto done
08:46 jimmy thanks
08:46 cotto thank you
08:47 dalek r32803 | chromatic++ | trunk:
08:47 dalek : [src] Improved PIC argument-passing fixes.  In particular, STRING pointers can
08:48 dalek : be null, and argument offsets don't need COWing.  This fixes the CGP core.
08:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32803
08:54 jimmy welcome, it finishes my worry.
08:55 cotto on to the next worry!
08:57 jimmy The next worry hasn't come on now. :)
08:57 lu_zero yawn
08:57 lu_zero good morning
08:58 jimmy hello lu_zero, and here good afternoon
08:58 lu_zero =)
08:59 cotto good 0100
09:01 GeJ good 2000
09:23 dalek r32804 | chromatic++ | trunk:
09:23 dalek : [lib] Made CGP code set current_pc appropriately in the currently-executing
09:23 dalek : context.  This fixes file and line number reporting with CGP core.
09:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32804
09:29 barney joined #parrot
09:30 chromatic Hmm, :immediate code doesn't get frozen to bytecode.
09:33 chromatic Or it doesn't get run when thawed.
09:39 jimmy does parrot want bootstrapping?
09:39 jimmy by using pir?
09:41 chromatic Bootstrapping how?
09:42 jimmy such as languages/PIR ?
09:43 chromatic What would you write in PIR as a bootstrap?
09:44 jimmy sorry I mean pir not parrot itself.
09:44 chromatic Oh, a PIR compiler written in PIR?
09:44 jimmy sometimes i was confused by IMCC, PIRC and languages/PIR
09:58 cotto chromatic, do you see any problem with my suggestion for #59810 (the string hashval caching bug)
09:58 cotto or anything that I should watch out for when implementing it?
09:59 GeJ Who's Stephen Weeks?
09:59 cotto Tene
09:59 GeJ oh, thanks. Interesting blog post.
09:59 moritz which one?
09:59 purl THAT ONE!
09:59 cotto link?
10:00 moritz purl: forget which one
10:00 purl moritz: I forgot which one
10:00 cotto which one is <reply>
10:00 GeJ http://blogs.gurulabs.com/stephen/​2008/11/exceptions-in-parrot.html
10:01 chromatic cotto, the per-interp seed makes sense to me.
10:01 chromatic I think Nicholas misunderstood my suggestion though.
10:01 chromatic (As Parrot already uses a static value.)
10:02 cotto Is there any reason it wouldn't be as straightforward as it appears?
10:04 chromatic STRINGs shared across interpreters with cached hashes.
10:04 chromatic cached hash values, that is.
10:06 Tene GeJ: I'm glad someone liked it.  Feel free to comment with any questions you might have.
10:07 * Tene sleeps.
10:09 cotto Do STRINGs have a flag that'd be set in that case?
10:10 chromatic To indicate cross-interpreter sharing?
10:10 cotto yes
10:10 chromatic I didn't think of that.  They might.  They probably should.  In that case, we wouldn't use the cached hash value.
10:10 chromatic That could work.
10:12 cotto Could you add a flag like that (or give me an overview of what to do)?
10:13 chromatic Look in parrot_string_t or whatever it is; there might be a flag.
10:15 cotto There's a parrot_string_t->flags.  Do I want PObj_is_shared?
10:15 chromatic Looks like it.
10:16 cotto Great.  That's all I need.
10:16 cotto Thanks.
10:16 chromatic There's a macro to test that flag; use the macro instead of doing your own bit checks.
10:17 chromatic (I usually forget that.)
10:17 cotto ok
10:19 tomyan joined #parrot
10:24 jimmy which one?
10:24 cotto now you know
10:24 purl It does the boots and shoes.
10:24 chromatic PObj_is_CONSTANT_SET or something.
10:31 dalek r32805 | bernhard++ | trunk:
10:31 dalek : [perl] Minor beautification in ops_not_tested.pl
10:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32805
10:43 cotto This may have to touch a lot of code.
10:43 chromatic What are you doing?
10:43 purl hanging around with these dorks here, as usual :(
10:44 cotto removing the seed arg key_hash_*
10:44 cotto from key_hash_*
10:45 chromatic Seems a little risky the day of a release.
10:45 cotto I wouldn't think about committing until after the release.
10:45 chromatic Okay good.
10:46 chromatic (As I'm debugging a packfile problem.)
10:46 jimmy cotto?
10:46 cotto I'll submit the patch to the list first for review anyway.
10:46 cotto jimmy, yes?
10:46 jimmy patched missing
10:46 cotto your next worry?
10:46 cotto from where?
10:47 jimmy vim-install
10:49 jimmy beacause fo computer had been changed
10:50 cotto Oh.  I thought the last patch included all the other changes too.
10:51 jimmy http://rt.perl.org/rt3/Tic​ket/Display.html?id=60584
10:51 jimmy added two lines
10:51 jimmy missing lines
10:52 jimmy go home now. please help me to test it and patch it. thanks.
10:53 cotto If it doesn't break anything, I'll apply it.
10:53 cotto Thanks.
10:53 jimmy ok,
10:58 ff-wonko joined #parrot
11:01 elmex joined #parrot
11:03 ffwonko joined #parrot
11:10 dalek r32806 | fperrad++ | trunk:
11:10 dalek : [WMLScript]
11:10 dalek :  s/::/_/ in class name
11:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32806
11:10 ffwonko joined #parrot
11:25 tomyan joined #parrot
11:47 Lorn joined #parrot
11:47 dalek r32807 | cotto++ | trunk:
11:47 dalek : [build] fix make vim-install on windows (#60584)
11:47 dalek : patch courtesy of jimmy
11:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32807
11:49 cotto msg stockwellb never mind about resending the patch.  RT was just being really slow.
11:49 purl Message for stockwellb stored.
11:53 dalek r32808 | bernhard++ | trunk:
11:53 dalek : RT#60632: [TODO] codingstd: No line splitting in CONST_STRING
11:53 dalek : Courtesy of Andy Dougherty.
11:53 dalek : Also fixed the ensuing linelength.t violations
11:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32808
11:54 gaz joined #parrot
12:01 dalek r32809 | cotto++ | trunk:
12:01 dalek : [t] PIRify and simplify OO ops test
12:01 dalek : patch courtesy of bstockwell++
12:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32809
12:01 cotto it's a very courteous set of commits we have here
12:04 cotto jimmy++
12:05 cotto time-- #how'd it get to be 0400?
12:08 cotto seen bstockwell
12:08 purl I haven't seen 'bstockwell', cotto
12:08 cotto seen stockwellb
12:08 purl stockwellb was last seen on #parrot 6 hours, 34 minutes and 20 seconds ago, saying: Well it's bed time on the east coast. Goodnight.
12:08 cotto bstockwell--
12:08 cotto stockwellb++
12:10 cotto sleep++
12:11 dalek r32810 | bernhard++ | trunk:
12:11 dalek : Reverting r32808, because barney-- didn't think
12:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32810
12:13 dalek r32811 | bernhard++ | trunk:
12:13 dalek : Directory languages/pipp/src/yacc is gone
12:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32811
12:17 alangu joined #parrot
12:18 alangu cotto: i think you got the wrong patch
12:18 alangu it is add_two_line.patch
12:18 cotto for which ticket?
12:19 jimmy 60584
12:19 jimmy this file should be not patched.
12:19 jimmy https://svn.perl.org/viewvc/parrot/trunk/lib/Par​rot/Configure/Compiler.pm?r1=30527&amp;r2=32807
12:20 cotto ok.  I'll undo that.
12:20 jimmy maybe i uploade too many files.
12:21 jimmy :(
12:23 cotto when you post several patches, make sure that each patch has the changes from all the previous ones
12:23 jimmy I am stupid.
12:23 cotto that way I can apply the most recent patch
12:23 jimmy ok
12:24 cotto you're just not familiar with the process
12:24 cotto don't worry about it
12:25 cotto it's fixed now
12:25 cotto and I'm going to bed, because I definitely don't have enough brainpower to continue to use my commit bit
12:25 jimmy thanks, cotto
12:25 cotto thanks for finding that
12:25 jimmy good night.
12:25 dalek r32812 | cotto++ | trunk:
12:25 dalek : [build] undo an unintentional commit in '07
12:25 cotto good night
12:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32812
12:27 barney good night
12:27 dalek r32813 | bernhard++ | trunk:
12:27 dalek : RT#60616: [PATCH] Fix CONST_STRING line numbers
12:27 dalek : Courtesty of Andy Dougherty
12:27 dalek : Also added an exception in t/codingstd/linelength.t
12:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32813
12:30 lathos joined #parrot
12:31 jimmy masak?
12:31 purl masak is, like, _not_ my best friend! or the cause of much confusion for purl or my worst nemesis or the anti-purl
12:32 lathos Are there any Perl 6 libraries yet?
12:35 barney There is at lease Test.pm
12:35 barney s/lease/least/
12:36 lathos OK. And is there a way yet to load Parrot libraries into Perl 6?
12:39 barney lathos: I don't really know. I'd say yes, as you only need to write PIR subs in the Perl6 namespace. #perl6
12:40 barney You can also ask in #perl6
12:40 lathos There's two people there. :)
12:41 lathos OK, time to see what happens if you give load_bytecode a variable parameter.
12:44 jimmy what does rakudo meaning?
12:44 jimmy sorry ,mean
12:44 lathos "The joyful way".
12:45 jimmy is there a words in dict?
12:46 lathos Oh, you can 'use' .pbc files. Sorted.
12:49 apeiron joined #parrot
12:54 lathos Holy crap.
12:54 purl i think holy crap is only in the Vatican
12:54 lathos % ./perl6 -e 'use JSON; say _json(@*INC)'
12:54 lathos ["/Users/simon/svn/parrot/trun​k/runtime/parrot/library","."]
12:54 szbalint things are becoming useful, eh? :)
12:55 lathos Nothing can stop me now.
13:00 barney lathos++
13:02 jimmy kaudo: use JSON; say _json(@*INC)
13:02 jimmy rakudo: use JSON; say _json(@*INC)
13:02 polyglotbot OUTPUT[Can't find ./JSON in @INC␤current instr.: 'die' pc 13442 (src/gen_builtins.pir:8277)␤called from Sub 'require' pc 13750 (src/gen_builtins.pir:8536)␤called from Sub 'use' pc 13812 (src/gen_builtins.pir:8559)␤called from Sub '_block12' pc 83 (EVAL_12:38)␤called from Sub
13:02 polyglotbot ..'parrot;PCT;HLLCompiler;evalpmc' pc 804 (src/PCT/HLLCompiler.pir:468)␤c...
13:02 barney lathos: did you look at November ?
13:03 jimmy a project?
13:03 purl i guess a project is theoretically more bitter than us
13:03 jimmy and where is it?
13:03 purl it's it!
13:03 barney a wiki written in Perl6
13:03 jimmy link?
13:04 jimmy November likes a month.
13:04 jimmy rakudo: say @*INC;
13:04 polyglotbot OUTPUT[.␤]
13:05 jimmy rakudo: join(' ',@INC).say;
13:05 polyglotbot OUTPUT[No handler to delete.␤current instr.: 'parrot;PAST;Compiler;as_post' pc 6052 (src/PAST/Compiler.pir:1651)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1779 (src/PAST/Compiler.pir:367)␤called from Sub 'parrot;PAST;Compiler;call' pc 3191 (src/PAST/Compiler.pir:841)␤called from Sub
13:05 polyglotbot ..'parrot;PAST;Compiler;post_children' pc 1779 (src...
13:05 barney http://www.november-wiki.org/cgi​-bin/w?action=view&amp;page=FAQ
13:05 jimmy a project such as twiki.org
13:05 barney November?
13:05 purl November is the 'dead' month....all rain and darkness or a perl 6 wiki, see http://use.perl.org/~masak/journal/37212
13:06 barney november is also at http://www.november-wiki.org/
13:06 purl okay, barney.
13:06 barney November?
13:06 purl November is the 'dead' month....all rain and darkness or a perl 6 wiki, see http://use.perl.org/~masak/journal/37212 or at http://www.november-wiki.org/
13:06 jimmy purl: forget November
13:06 purl jimmy: I forgot november
13:06 jimmy November?
13:07 jimmy purl: November is at http://www.november-wiki.org/
13:07 purl OK, jimmy.
13:07 jimmy November?
13:07 purl it has been said that November is at http://www.november-wiki.org/
13:08 jimmy purl: November is aslo http://use.perl.org/~masak/journal/37212
13:08 purl ...but november is at http://www.november-wiki.org/...
13:08 jimmy purl: November is aslo at http://use.perl.org/~masak/journal/37212
13:08 purl ...but november is at http://www.november-wiki.org/...
13:08 barney November is also at http://use.perl.org/~masak/journal/37212
13:09 purl okay, barney.
13:09 jimmy November?
13:09 purl November is at http://www.november-wiki.org/ or at http://use.perl.org/~masak/journal/37212
13:23 apeiron joined #parrot
13:32 jimmy joined #parrot
13:35 pmichaud good morning
13:36 barney Anybody knows a PIR-lib for ini-file parsing, like Config::INI::Simple in Perl5 ?
13:36 pmichaud barney: not I.
13:36 barney morning, pm
13:38 jimmy good morning
13:48 dalek bernhard.schmalhofer@gmx.de | Pipp:
13:48 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
13:52 dalek bernhard.schmalhofer@gmx.de | Pipp:
13:52 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
14:00 masak joined #parrot
14:01 tomyan joined #parrot
14:02 iblechbot joined #parrot
14:05 jimmy joined #parrot
14:06 jimmy hello masak, long time no see
14:06 masak hao jiu bu jian le
14:06 masak jimmy: been busy. I'm learning this crazy foreign language. takes all my time. :P
14:07 jimmy what lanaguage?
14:07 masak mandarin chinese.
14:07 masak don't know if you've heard of it.
14:07 jimmy none
14:07 masak :D
14:08 jimmy zhong guo guan hua?
14:08 masak sorry, what's 'guan hua'?
14:09 jimmy government's language
14:09 tomyan1 joined #parrot
14:09 masak well, putong hua
14:09 PerlJam that sounds vagues vulgar when I try to pronounce it.  :>
14:09 stockwellb joined #parrot
14:09 PerlJam s/vagues/vaguely/ even
14:10 jimmy I am crazy with English and you crazy with Chinese.
14:10 masak :)
14:10 masak &
14:10 gryphon joined #parrot
14:10 stockwellb Does anyone know how to unregister a Class in PIR?
14:10 ff-wonko joined #parrot
14:11 jimmy well mandarin is used all of china.
14:11 dalek r32814 | bernhard++ | trunk:
14:11 dalek : [Pipp] Fiddle with the documentation.
14:11 dalek : Add empty doc dealing with extensions.
14:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32814
14:12 jimmy it seems that Swedes can speak more than 4 languages?
14:14 pmichaud I don't know if it's possible to unregister a Class in PIR.
14:15 jimmy Perjam : i think so in english
14:16 jimmy joined #parrot
14:17 ff-wonko joined #parrot
14:17 stockwellb I have a problem in subclass.t. Each sub is creating new classes call 'Pre' and 'Foo' and they read pretty good that way in Perl. It can't stay that way in PIR. I don't want to use globals because it's not as easy to read whats going on. I was hope there was a way for each sub to clean up after itself.
14:17 dalek r32815 | pmichaud++ | trunk:
14:17 dalek : [rakudo]: spectest-progress.csv update, 220 files, 4567 passing, 41 failing
14:17 dalek : Failure summary:
14:17 dalek :     S03-operators/increment.rakudo aborted 41 test(s)
14:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32815
14:17 ff-wonko joined #parrot
14:18 jimmy barney: wrong words
14:18 jimmy A secondary gaol in to provide a side by side comparison
14:18 jimmy goal
14:18 ff-wonko joined #parrot
14:19 jimmy i think it is 'goal is'
14:20 stockwellb pmichaud: any ideas?
14:20 * purl burps
14:21 pmichaud stockwellb: no, no ideas.
14:22 stockwellb yuck, foo_1, foo_2 ... just doesn't look good.
14:22 pmichaud maybe a number after each one  --  Pre1 and Foo1, Pre2 and Foo2, etc.
14:23 stockwellb The pre's and foo's are not equal so in one sub I'd have pre1 and foo2. Seems distracting to me and I'm the one writing it.
14:23 stockwellb It would have been cool if I could have had the sub unregister the class it registered.
14:23 pmichaud actually, I'm thinking you don't need to recreate the class for each test
14:24 pmichaud or do unregister/register
14:24 pmichaud just re-use the same Pre/Foo
14:24 pmichaud it's important to remember what is being tested -- for many of these, we're just testing the different ways of object creation, not whether we can create a different class each time
14:24 stockwellb I could. I was trying to keep the context of the test in tact.
14:25 pmichaud I think it's better to make sure we have the correct tests.  The creation of new Sub/Foo classes is an artifact of the way that we have to write tests in Perl
14:25 stockwellb Sometimes Foo is created as a subclass other times not.
14:25 pmichaud i.e., we have to start from a new Parrot interpreter
14:26 stockwellb I'll have to use globals too because a couple test create from a class object not just a string.
14:26 pmichaud when I was doing t/library/p6object.t, I specifically chose PIR for the tests instead of Perl because I didn't want to have to recreate my objects for every test
14:26 pmichaud let's quickly go through the tests in Perl and see what would be needed for each.
14:27 pmichaud for test number one, create a class 'Pre' with newclass and a subclass 'Foo' from that one.  Then run various tests on the 'Foo' class.  No problem.
14:27 stockwellb correct
14:28 barney jimmy++
14:28 pmichaud test #2 doesn't conflict with #1, so it can pretty much go as-is.
14:28 stockwellb correct
14:28 dalek r32816 | bernhard++ | trunk:
14:28 dalek : [Pipp] Fix spelling and rephrase.
14:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32816
14:29 stockwellb test #3 conflicts.
14:29 pmichaud for test #3, we just re-use the class object created in #2.  No need to recreate it.
14:29 pmichaud oh wait, it does.
14:29 stockwellb yes cause we use args to pass in parent.
14:29 pmichaud so, for test #3, just use a different name than 'Foo'.
14:29 pmichaud it'll only appear in this one test so it's not a big deal.
14:30 pmichaud for test #4, re-use the classes we created in #1.
14:30 pmichaud instead of re-creating Pre/Foo classes.
14:31 pmichaud same for test #5.
14:31 stockwellb 6 and 7
14:31 purl 13
14:31 pmichaud same for #6
14:31 pmichaud same for #7
14:31 lathos NCI doesn't handle out-arguments, does it?
14:32 stockwellb # needs new names.
14:32 pmichaud for #8, we don't need newclass 'Pre'  (we already have one), so just create the subclass directly.
14:32 stockwellb #8
14:32 pmichaud ['Foo';'Bar'] is okay as a name in #8.
14:32 stockwellb ok.
14:33 pmichaud #9 is todo anyway, but can re-use the classes from #8
14:33 stockwellb # needs #9 reuse
14:34 stockwellb #10 resuse
14:34 stockwellb pmichaud: I think I got the flow.
14:34 pmichaud #10 can re-use the classes from #1, but the addattribute needs to appear right after the classes are created
14:35 stockwellb Unless its global
14:35 pmichaud ...global?
14:36 stockwellb you could give it a global reference then call the reference in the sub where we add the attribute.
14:36 stockwellb Otherwise your saying we'd have to add the attribute in a previous sub where the class was created right?
14:36 pmichaud the point is that addattribute needs to occur before we create any instance of the class
14:36 stockwellb Yes.
14:36 pmichaud i.e., once we create an instance of a class, we can't add an attribute to the class (yet)
14:37 pmichaud so yes, I'd add the attribute at the point where the class is created.
14:37 stockwellb that makes the test less obvious doesn't it.
14:37 stockwellb you won't see the attribute that your testing being added in this test.
14:38 pmichaud well, I hadn't been thinking about creating subs for every test -- I was just going to do it all in mainline.
14:39 stockwellb mainline?
14:39 stockwellb in main?
14:39 pmichaud yes
14:39 pmichaud you might take a look at how I did similar tests for P6object in t/library/p6object.t
14:39 stockwellb Oh, I write a sub for each one and call those subs from main. That's how the how to suggests.
14:40 stockwellb This one would be a looooong main.
14:40 pmichaud okay.  I agree that might be a better approach.
14:40 stockwellb The problem with sub and reuse is context.
14:40 stockwellb For the reader.
14:40 pmichaud anyway, I'd just put a comment in the sub that says "we created the attribute in test so-and-so", if that's necessary.
14:41 stockwellb Ok.
14:41 pmichaud the alternative would seem to be to create new classes for every test, in which case they have to have unique names.
14:41 stockwellb I would need a comment like that or I'd be lost.
14:41 pmichaud where's the how-to for this?
14:41 stockwellb hold on.
14:42 stockwellb I got to it from the parrot wiki, give me a second or two.
14:42 pmichaud okay, thanks.
14:42 pmichaud I hadn't seen the how-to.
14:42 * Coke hurls http://www.boingboing.net/2008/​11/17/girl-with-a-perl-ear.html
14:43 stockwellb http://www.perlfoundation.org/parrot/ind​ex.cgi?convert_existing_tests_to_parrot
14:43 pmichaud okay.
14:44 pmichaud I'd go with that, then.
14:45 stockwellb At least my quandry about what to do was well placed!
14:45 jimmy joined #parrot
14:46 jimmy nopaste?
14:46 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
14:46 purl i think nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others)
14:49 stockwellb pmichaud: my only problem with the how to. Is the namespace portion. It specifially addresses the multiple Foo class issue. I guess I should dig up some info on how to create classes within a specific namespace so the multiple tests don't collide. I just don't see how from the namespaces example.
14:58 jhorwitz joined #parrot
15:02 Coke lathos: hey, you're back.
15:02 lathos Hey, so I am!
15:02 Coke now I need to convince you to work on partcl!
15:03 Coke how's japan?
15:03 lathos I'm fidding with SQLite wrappings right now.
15:03 lathos Going well, going well; going to the UK in two months though.
15:05 PerlJam SQLite wrappings in parrot?
15:06 lathos Yep.
15:06 PerlJam heh, I started looking at creating a NCI wrapper for sqlite last night.  :)
15:07 lathos NCI won't quite cut it, since SQLite uses out-args. So I'm writing sqlite3_simple, and trying to NCI-wrap that.
15:07 PerlJam yeah, I figured that out and then promptly fell asleep.
15:08 PerlJam (tired from moving)
15:09 jhorwitz lathos: had to do similar things for mod_parrot.  i have a thin C layer for funcs i couldn't call directly via NCI
15:09 jhorwitz it's annoying
15:10 wknight8111 joined #parrot
15:10 tewk_ we can add support for out args
15:10 lathos It's going to need to happen sometime.
15:10 jhorwitz tewk_: at this point it's more work for me to change it all out!  but no, that would be a very nice thing to have.  :)
15:11 PerlJam the NCI PDD is still in draft isn't it?
15:11 lathos Yep.
15:11 tewk_ the out args are char* I assume.
15:11 lathos Ho ho ho.
15:11 purl and a bottle of lube!
15:11 PerlJam tewk_: nope.
15:12 lathos sqlite3*
15:12 tewk_ is it an opaque struct?
15:12 lathos Yep.
15:12 PerlJam dong!
15:12 PerlJam er, ding!
15:12 PerlJam heh
15:12 lathos dong!
15:13 tewk_ you ought to look at managedstruct and unmanaged struct. I think those will do what you wan.t
15:14 lathos Oh, hmm. Maybe.
15:14 ruoso joined #parrot
15:15 lathos Just cons up an unmanaged struct and use it as an ordinary "p" function argument?
15:17 jhorwitz lathos: yes, that works if SQLite allocates memory for the structure
15:17 lathos Ah.
15:17 lathos Then this is easy. :)
15:17 jhorwitz but won't work for sqlite ** where you provide a preallocated struct
15:17 lathos You don't.
15:17 jhorwitz then life is good.  :)
15:18 tewk_ jhorwitz: what do you need out char* buffers or a sqlite ** like preallocated stucture
15:19 jhorwitz was that a question?
15:21 cognominal joined #parrot
15:21 jhorwitz i know the only problem i had with "out" params was char **, which i worked around with a wrapper function.
15:23 tomyan joined #parrot
15:24 Khisanth joined #parrot
15:25 davidfetter joined #parrot
15:25 dalek r32817 | bernhard++ | trunk:
15:25 dalek : RT#60634: [PATCH] Minor test tempfile cleanup
15:25 dalek : Courtesy of Andy Dougherty
15:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32817
15:26 jhorwitz tewk_: IIRC there was a discussion on char ** a few weeks ago.  was there any progress on fixing that?
15:28 lathos Oh, if I have unknown signatures, I just add them on the end of src/call_list.txt?
15:29 PerlJam lathos: yes  (at least that's what I did last time I messed with NCI)
15:29 PerlJam lathos: I think someone was working on a way to auto-generate src/call_list.txt though
15:38 NotFound If you have jit there is no need to add it.
15:41 NotFound Better said: if you don't care about platforms without kit.
15:41 NotFound s/kit/jit
15:41 stockwellb left #parrot
15:42 stockwellb joined #parrot
15:42 lathos Hrm, is there a way to pass in NULL?
15:42 tewk_ jhorwitz: I looked at it and found that what was there was not quite char**, but we could add it.  There are several cases. depending on who does the alloc.
15:43 jhorwitz we're gonna run out of letters.  ;-)
15:43 NotFound lathos: what kind of NULL?
15:43 tewk_ hence my hesitation, but I think char** is near the last of the obvious cases we should support, past that people will have to write their own c
15:43 stockwellb left #parrot
15:44 lathos I'll try changing it to an int and passing it 0...
15:45 NotFound tewk_: and depending on who must free, and why.
15:45 jhorwitz tewk_: agreed on char ** -- it's an easy win to support it, and everything else is too complex.
15:46 NotFound Not so easy. For example, several Xlib functions returns char ** the must be freed with XFree
15:46 jhorwitz that's why we'll need several vairants
15:46 lathos Ah. No, passing in a pointer did not work.
15:46 PerlJam jhorwitz: we could have modifiers ala pack/unpack.
15:46 particle lathos: don't assume sizeof (INT) == sizeof (void *) everywhere
15:46 lathos particle: Sure, I was just testing.
15:47 lathos But it seems that just passing in an empty PMC as type 'p' did not do the trick.
15:47 jhorwitz lathos: 'p' is not an empty PMC
15:47 lathos (The trick of getting me an out arg.)
15:47 NotFound lathos: as a workaround, declare it as char * and pass a NULL STRING*
15:49 NotFound But only if it will not be used to return something non null.
15:53 Coke allison: does the new IO give me a way to query an IO object what its mode is?
15:53 wknight8111 how do I install the development ICU?
15:54 wknight8111 libicu-dev?
15:54 moritz wknight8111: that owr libicu36-dev (on debian)
15:55 moritz s/owr/or/
15:56 jhorwitz Coke: what mode?  r/w?  buffering?  i see the latter in the PDD.
15:56 Coke r/w
15:56 jhorwitz yeah, i don't see it there.
15:57 Coke I can (as I do with Subs) subclass them and store the info in an attribute.
15:57 jhorwitz seems like a reasonable thing to do.
15:57 wknight8111 thanks
15:57 PerlJam seems like something you shouldn't have to do :)
15:58 Coke which, know, or subclass?
15:58 particle isn't there an icu 3.8?
15:58 PerlJam subclass
15:58 PerlJam (why do you want to know anyway?)
15:58 particle seems mode is a reasonable param to put directly in the io object
15:58 Coke Hurm. I wonder what my original test case was. probably trying to print to a readonly filehandle; I can probably just catch the exception.
15:58 particle er, to be able to query directly, that is
15:59 Coke meh. without a snippet of failing tcl, it doesn't matter just yet.
15:59 Coke tcl is soooo slow. make me go faster!
15:59 Coke (make spectest took 12349 seconds last time I ran it.)
16:00 lathos Hang on, this isn't quite right. I need to at least allocate a pointer.
16:01 PerlJam I guess I can see where you have a sub that's expecting a writable IO object and you want to carp about it not being writable without actually attempting to write anything to it.
16:02 Coke yah, but that smells funny.
16:02 Coke so, unless tcl lets me interrogate the status, i probably don't need it.
16:02 Coke (was just going through docs/hacks.pod)
16:02 particle it might be nice to know whether you're in append or rewrite mode
16:02 particle to see whether or not you need to emit a header of some type for some data file format
16:02 NotFound The IO object can be a capsule around a handler that doesn't know how has been opened.
16:06 lathos OK, I can sort of see what I'm doing wrong here: http://nopaste.snit.ch/14623
16:07 lathos But I don't know how to fix it.
16:08 mj41 joined #parrot
16:10 lathos sqlite3_open takes a void** as its second parameter. I think I want to wrap that in an unmanagedstruct, but handle's PMC_data is NULL rather than (address where I can store a pointer).
16:11 NotFound lathos: we need to add something to nci to allow that.
16:11 lathos Ah. So I go back to square one and use wrapper functions again. :)
16:11 lathos But first, sleep.
16:15 PerlJam Hmm.  you would only need one wrapper function that returns an sqlite* I think
16:16 PerlJam s/wrapper/helper/ even
16:16 lathos I need one for sqlite3_prepare as well.
16:16 lathos Thankfully, I still have them.
16:16 Coke do we have a documented entry point for libraries that have been compiled to pbc?
16:16 Coke (or do we just assume the library has configured a :load sub appropriately?)
16:17 PerlJam you'd need one for each of the sqlite typedefs actually.
16:17 gryphon_ joined #parrot
16:17 NotFound I think several libraries hasn't even be tested as pbc
16:17 jhorwitz Coke: the :load sub is it
16:18 PerlJam well, I'm guessing at that from memory though.
16:18 mj41 joined #parrot
16:19 Coke at one point, we at least made sure all the runtime stuff was compiled during build; that's not the case anymore.
16:19 Coke (as I found when 'make' worked after a PIR deprecation, but "make test" failed with some stuff that loaded .pir files instead of .pbc)
16:19 pmichaud Coke: this topic came up at the summit -- as yet we do not have a documented entry point for libraries.
16:20 pmichaud nor do we have immediate plans to document one.
16:20 NotFound Did we need one?
16:21 pmichaud NotFound: if I do:     load_bytecode 'foo.pbc'
16:21 pmichaud ...how do I invoke whatever I just loaded?
16:21 PerlJam pmichaud: you ask the author what the name of the sub is that has :load  :)
16:22 pmichaud well, if a sub has :load, it got invoked already.
16:22 particle subs*
16:22 PerlJam (or whatever)
16:22 NotFound pmichaud: as with any other thing: reading the docs.
16:22 particle you can have multiple :load :init subs
16:22 pmichaud if we run a .pbc from the command line, we have a way of denoting which sub should be invoked  (:main)
16:22 PerlJam Is there a tool for inspecting a .pbc similar to how nm works?
16:23 pmichaud if compile a .pbc from PIR (via the 'PIR' compreg), we have a way of denoting which sub should be invoked (the first)
16:23 pmichaud if we load a .pbc or .pir with load_bytecode, we have no corresponding thing to the above two
16:23 NotFound pmichaud: and for a loaded lib, we have :load and :init
16:23 pmichaud :init has no effect in load_bytecode.
16:23 pmichaud (that's why there's an :init that is separate from :load)
16:24 NotFound pmichaud: I think is invoked when you load a .pir
16:24 pmichaud NotFound: okay, you may be right there.
16:24 pmichaud regardless, we might want to have libraries that say "this is my main sub to be invoked" without having them being invoked at the point of the load_bytecode op.
16:25 NotFound pmichaud: maybe, but is more usual to have to call functions with documented arguments.
16:26 PerlJam What does parrot do with multiple :main subs now?
16:26 pmichaud by that same logic, we should require that someone running a program from a command line should specify which function to invoke as 'main'
16:26 pmichaud PerlJam: last :main wins.
16:27 PerlJam load_bytecode doesn't invoke :main subs, correct?
16:27 pmichaud correct.
16:27 Khisanth joined #parrot
16:28 pmichaud according to pdd19, :init is *not* invoked when loaded via load_bytecode.
16:29 Coke hurm. I'm coopting tcl's [load] to load PBC files. if I have a "stuff.pbc" and I do a "$S0 = "stuff", load_bytecode $S0", it goes boom.
16:30 Coke if I do $S0 = "stuff.pbc" and load it, it works.
16:31 Coke (boom in a non-catchable kind of way.)
16:31 particle the last :main takes effect currently
16:32 pmichaud coke:  sounds like a bug.
16:32 purl bzzzzzzzzzzzzzz...
16:32 * pmichaud prepares his #ps report.  #ps in 118.
16:33 NotFound Coke: there was a problem in the way load_bytecode identify the type of action, don't know if it was fixed.
16:34 NotFound It may be trying to load the .pbc as pir source.
16:34 NotFound Or the .pir as bytecode.
16:35 PerlJam NotDound: load_bytecode "foo.pir" and load_bytecode "foo.pbc", both work (assuming foo.pir and foo.pbc exist :),  but load_bytecode "foo" currently gives me a syntax error
16:35 dalek r32818 | fperrad++ | pdd22io:
16:35 dalek : [pdd22io] fix win32 build
16:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32818
16:35 ff-wonko joined #parrot
16:35 NotFound PerlJam: then I think is the first case: it takes the pbc as source.
16:35 PerlJam oh! nevermind.  I have a file named foo in this dir.
16:36 PerlJam hmm.  nevermind my never mind.  I got rid of the foo file and it still says syntax error
16:36 PerlJam NotFound: I think you are correct.
16:38 NotFound I'll take another look at the issue, and prepare an rfc if needed.
16:41 wknight8111 how do I install the libcrypto dev libraries?
16:42 * wknight8111 has a new computer, and is trying to get everything set up
16:42 NotFound wknight8111: What OS?
16:43 Coke (syntax error) yes. but if you try to catch that exception you can't.
16:43 moritz apt-cache search libcrypto
16:44 NotFound Coke: imcc has not a clean way of reporting errors
16:45 NotFound (talking in a diplomatic way)
16:46 wknight8111 debian
16:48 moritz wknight8111: on debian you can usually search for a package with `apt-cache search lib$name' and then install one that ends with -dev
16:49 Theory joined #parrot
16:50 NotFound I think libcrypto is in the ssl package
16:50 Infinoid libssl-dev
16:51 wknight8111 libcrypto++-dev sound right?
16:51 Infinoid wknight8111: apt-get install libssl-dev
16:51 NotFound wknight8111: no, this is a c++ lib
16:51 wknight8111 we should really have a POD with dependency info like this
16:51 dalek r32819 | coke++ | trunk:
16:51 dalek : improve the state of `make examples_tests`
16:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32819
16:52 NotFound wknight8111: a wiki page will be better, IMO
16:52 wknight8111 you don't need to tell me twice to edit a wiki :)
16:52 NotFound wknight8111: a wiki page will be better, IMO
16:52 NotFound Just in case ;)
16:53 Infinoid doesn't matter to me either way
16:53 Infinoid I will happily add gentoo info, wherever the document ends up
16:53 moritz nay, we need a debian/rules file with which one can automatically install the dependencies
16:53 moritz and build a debian package as well
16:54 NotFound A package that requires all dependencies and subversion, and gets parrot from svn may be helpfull
16:58 Infinoid a parrot-installer package (akin to the qmail stuff)?
16:59 nopaste "particle" at 98.232.28.49 pasted "timings on perl-based test files using "pasm_*" test functions" (74 lines) at http://nopaste.snit.ch/14624
16:59 particle converting those test files to pir will improve test performance
17:01 particle and will help get rid of tests written in pasm (where they don't make sense)
17:01 wknight8111 libssl-dev was it, thanks
17:02 pmichaud ....is that correct?  t/op/01-parse_ops.t takes 51 seconds?!
17:12 allison Coke: what do you mean by "mode"? read, write, append, etc?
17:13 particle yes
17:22 Tene allison: looks like the only test that fails when I remove "disable exception handlers when they're used" is t/pmc/threads.t, but I can't quite figure out why.
17:22 Tene Test 13 spins sucking up ram.
17:23 allison Coke: it does cache the mode string, so no reason it shouldn't be easily retrievable later
17:23 allison Tene: usually, that's an infinitely recursing exception
17:24 allison Tene: so, somewhere in the test I'd expect to find an exception handler
17:24 allison Tene: and, the exception handler doesn't test for a particular kind of exception, but just handles all exceptions, no matter what
17:25 nopaste "tene" at 166.70.38.237 pasted "Eats ram without disabling exception handlers" (66 lines) at http://nopaste.snit.ch/14625
17:25 Tene It doesn't contain push_eh anywhere.
17:25 allison Tene: then another exception is being thrown in the middle of the exception handler, so the same handler is catching that exception
17:25 allison Tene: hmmmm... curious...
17:25 * purl gives the small curious key to Bilbo. Thorin sits down and starts singing about gold.
17:26 masak joined #parrot
17:26 allison Tene: Oh, but there is an exception handler there, every thread has one
17:26 NotFound Someone is playing "The hobbit" with purl?
17:26 allison Tene: it's just not a PIR exception handler, it's a C one
17:26 jan joined #parrot
17:27 Tene What is it catching?
17:27 allison Any exception thrown in the thread that isn't handled within the thread
17:28 allison it's crack-brained, but that's how it's worked for years
17:28 ruoso joined #parrot
17:28 allison what it should do at that point is hand the exception off to the main interpreter's thread
17:29 Tene Can you tell me where this is happening?
17:29 rhr joined #parrot
17:30 Tene ah, src/thread.c
17:30 allison yah: 457:    if (setjmp(jump_point.resume)) {
17:31 allison that's the point where it checks if it needs to run an exception handler
17:31 Tene I'm not seeing and output on stderr, though.
17:32 allison well, if it's infinitely recursing on exception throwing, it never gets to the point of actually giving an error message
17:33 Tene ah, and Parrot_cx_peek_task throws an exception if (!interp->scheduler)
17:33 particle how about a recursion limit for eh's?
17:34 allison particle: it'd be tough to set, since exception-heavy code would run into the limit too often. But, we could set it to 10 for now, and make it tunable.
17:35 particle 1000 would still be reasonable
17:35 Tene I can do that.
17:35 particle you really just want to find the *infinite* cases in reasonable time
17:36 allison particle: yes
17:36 Tene The exception message being thrown is "Scheduler was not initialized for this interpreter."
17:36 PerlJam how long does it take to invoke 1000 exceptions?
17:37 Tene PerlJam: not long
17:37 purl not long is real soon now or notlong.com
17:38 * Tene times
17:39 pmichaud #ps in 50.
17:40 Tene Hmm.  Longer than I thought.
17:41 pmichaud bbi 45
17:41 Tene Oh, nevermind, I wasn't incrementing.
17:42 nopaste "tene" at 166.70.38.237 pasted "exception handler speed" (7 lines) at http://nopaste.snit.ch/14626
17:42 nopaste "tene" at 166.70.38.237 pasted "script to throw many exceptions" (34 lines) at http://nopaste.snit.ch/14627
17:43 Tene 6.5s to throw and resume from 100k exceptions
17:44 Tene 3.3s if I just create one exception ahead of time and keep throwing it.
17:45 nopaste "tene" at 166.70.38.237 pasted "script to throw one exception many times" (35 lines) at http://nopaste.snit.ch/14628
17:46 Tene allison: think you could fix that thread EH for me?
17:46 * Tene drives to work.
17:46 allison Tene: possibly, I'll look at it
17:48 wknight8111 I'm seeing a few arithmetic-related test failures on a fresh checkout, is this a known issue?
17:49 Tene PerlJam: that answer your question?
17:51 particle wknight8111: no known issues are allowed to go unsaid on release day
17:52 Infinoid I'm getting lots of "warning: conversion to 'long unsigned int' from 'INTVAL' may change the sign of the result" that weren't there yesterday
17:53 tomyan joined #parrot
17:53 wknight8111 I'm seeing failures in t/op/arithmetics.t, bitwise.t, string_cclass.t, string_cs.t, stringu.t t/pmc/bigint.t, and  few in t/dynops/
17:53 Tene Is DEPRECATED.pod sorted in any way?
17:54 allison Tene: it's grouped into categories, under headers
17:54 Tene ah!  Clever!
17:54 sjansen joined #parrot
17:55 particle the api2export branch is ready to merge to trunk after release
17:55 NotFound Infinoid: 32 or 64 bits?
17:55 Tene Which category does "EHs aren't automatically disabled" go in?  PIR syntax?
17:55 Infinoid 64
17:55 particle it'll be nice to get a roadmap item finished :)
17:55 nopaste "allison" at 71.59.194.14 pasted "dumb down blanket thread exception handler" (27 lines) at http://nopaste.snit.ch/14629
17:55 Infinoid also getting some "warning: conversion to 'FLOATVAL' from 'INTVAL' may alter its value"
17:55 NotFound Infinoid: can you tell me file and line of one?
17:56 allison Tene: PIR syntax is good
17:56 Infinoid sure, moment.  they are everywhere
17:56 Infinoid heh, "warning: conversion to 'FLOATVAL' from 'opcode_t' may alter its value"
17:56 particle Infinoid: that sounds like it could be related to recent Integer/BigInt changes chromatic did
17:56 Infinoid that's ... odd
17:56 allison Tene: try that nopaste on your branch/working copy for the thread test
17:56 Tene allison: The exception that's being repeatedly created is thrown in Parrot_cx_peek_task
17:57 particle imcc autopromotes large intvals to floatvals iirc
17:57 NotFound FLOATVAL from opcode_t? Sounds ugly.
17:57 allison Tene: right, so this doesn't call 'peek_task' anymore
17:57 Infinoid NotFound: that's what I thought, too
17:57 wknight8111 I am also seeing A LOT of warnings about incompatible type conversions
17:57 purl okay, wknight8111.
17:57 Tene ... OH!  Comments!
17:57 allison Tene: well, it comments out the call to 'peek_task'
17:58 NotFound Someone has changed the cflags today?
17:58 Infinoid ./src/pmc/default.pmc: In function 'does_isa':
17:58 Infinoid ./src/pmc/default.pmc:234: warning: conversion to 'INTVAL' from 'UINTVAL' may change the sign of the result
17:58 Infinoid ./src/pmc/default.pmc:248: warning: conversion to 'INTVAL' from 'UINTVAL' may change the sign of the result
17:58 Infinoid ./src/pmc/default.pmc:250: warning: conversion to 'UINTVAL' from 'INTVAL' may change the sign of the result
17:58 Infinoid ./src/pmc/default.pmc:255: warning: conversion to 'UINTVAL' from 'INTVAL' may change the sign of the result
17:58 Infinoid there are a ton of these, with all sorts of types involved.  nopaste coming up
17:59 NotFound Infinoid: I'm seeing them also.
17:59 Infinoid ok
18:00 Infinoid I think you're right, it's probably a cflags change.  or maybe some very commonly used macros
18:00 Infinoid they are literally everywhere.  pmcs, ops, text encoding plugins...
18:01 NotFound I haven't changed the compiler, so is some parrot change.
18:01 Infinoid me neither
18:02 Aisling joined #parrot
18:03 dalek r32820 | tene++ | trunk:
18:03 dalek : [DEPRECATED]: Add exception handler auto-disable to DEPRECATED.pod
18:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32820
18:04 wknight8111 okay, the test failures I saw appear to have disappeared after a make realclean
18:04 wknight8111 but still lots of build warnings
18:04 hercynium joined #parrot
18:05 particle tene: please add an rt ticket number to that entry
18:05 Tene I don't think there's a ticket about it.
18:05 particle then you need to create one
18:06 Tene But I can't create an RT ticket!  Aren't we creating all new tickets on trac?
18:06 Tene Also, I was supposed to leave for work a long time ago.
18:06 * Tene leaves.
18:06 particle no, we're not creating tickets on trac until the infra is set up
18:06 Infinoid ... are we?  that was quick.
18:06 particle i'll create the ticket
18:07 barney joined #parrot
18:08 Infinoid well, all tests still pass here, so that's a good sign these warnings are benign
18:08 NotFound joined #parrot
18:09 NotFound Sorry, lost connect
18:11 tomyan joined #parrot
18:12 dalek r32821 | particle++ | trunk:
18:12 dalek : [DEPRECATED] add rt # for exceptions handler disablement item
18:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32821
18:14 Infinoid is it worth having a codingstd test to ensure TODO test descriptions have ticket numbers?
18:17 particle Infinoid: given that we're not running codingstd tests by default anymore, i think yes
18:22 rdice joined #parrot
18:29 tomyan left #parrot
18:30 moritz is #ps now?
18:30 cotto yes
18:30 cotto in theory (or David)
18:35 chromatic joined #parrot
18:37 chromatic allison, wknight8111, run 'make testC' or 'make testj' in the calling conventions branch.
18:37 chromatic I have a bad feeling about this.
18:37 allison chromatic: shouldn't be much different
18:38 allison chromatic: what's the error?
18:38 purl allison: Argument list too long
18:39 chromatic Remember how you wanted to delete src/pic.c?
18:39 chromatic That file also handles argument passing for dereferenced code.
18:39 * Theory coughs
18:39 allison chromatic: well, yes, I assumed we'd be pulling some code out of the file
18:39 wknight8111 I just ran all tests in the calling_conventions branch
18:39 wknight8111 100% clean
18:39 chromatic With testC?
18:40 allison chromatic: and src/pic.c isn't removed in the calling_conventions branch, it's not even touched
18:40 wknight8111 'm running that now too
18:40 allison chromatic: the calling_conventions branch is very conservative, we've broken the changes down into small stages
18:41 chromatic Right, but if the way we pass arguments changes, src/pic.c or its equivalent needs to change too.
18:41 chromatic I'm not sure anyone understands it.
18:41 particle i'm in #ps
18:41 allison chromatic: but the way we pass arguments isn't changing
18:42 Coke has the cc branch been updated with recent trunk changes?
18:42 allison chromatic: all that's changing is what happens *after* we pass the arguments (it's a guts change, not an interface change)
18:42 Coke (last I checked, I couldn't run partcl in that branch at all.)
18:42 allison Coke: updating branch from trunk is always the last step before merging back into trunk
18:42 particle i got throttled on #ps. what was my last line?
18:43 allison Coke: then you should test again
18:43 chromatic <particle> ~ fixed bugs, applied patches, created/updated tickets
18:43 particle thanks, c
18:43 chromatic Let's hope I'm wrong about the prederef cores then.
18:45 allison chromatic: this calling conventions branch didn't touch pic.c at all, the next one might, or the one after that
18:45 chromatic I think it might need to.
18:45 nopaste "coke" at 72.228.52.192 pasted "This works..." (20 lines) at http://nopaste.snit.ch/14632
18:45 wknight8111 make testC in calling_conventions passes everything, including 1 TODO test
18:46 Coke allison; last step - except then you'll have to wait for those reports to trickle in.
18:46 Coke (which is fine with me.)
18:46 chromatic That TODO test shouldn't pass, but you'll get a fix for that with a trunk merge.
18:46 wknight8111 the calling_conventions branch has not been updated to trunk in about a week I think
18:46 pmichaud I usually do my merges the other way around -- I merge the branch into trunk.
18:46 pmichaud instead of trying to merge the trunk into the branch.
18:47 wknight8111 I've got at least one failure in make testj so far
18:47 allison pmichaud: the best way to do it is continuously update the branch from trunk (so the branch is up-to-date with all trunk changes)
18:47 allison pmichaud: then at the end merge the branch into trunk
18:47 chromatic Oh yeah, I need to work around the Task/Scheduler order of destruction bug.
18:48 pmichaud allison:  even that I do the other way around.
18:48 allison pmichaud: (it just so happens that both ways are called 'merge' in svn)
18:48 pmichaud I apply the branch to trunk (don't commit), generate a diff, generate a new branch from trunk, apply the diff to the new branch.
18:48 pmichaud generally there are fewer diffs to have to deal with, and fewer files to update.
18:48 allison pmichaud: there's not much difference, really, it's just a matter of which working copy you apply the patch to
18:49 pmichaud i.e., I don't have to merge the diffs of all of the languages/* updates.
18:49 allison pmichaud: if you do a merge into the branch, that's exactly what it does: create a diff, and apply the diff to the branch
18:49 allison pmichaud: oh, but we do have to apply all the languages updates, otherwise we can't know we're testing the languages properly
18:49 pmichaud yes, but then my branch keeps a lot of diffs, yes?
18:50 pmichaud my way still gets the language updates, but it does so by copying from trunk instead of re-applying diffs.
18:50 wknight8111 no tests failed using make testj or make testC in the calling_conventions branch
18:50 allison pmichaud: also, we modify languages files, so we have to know that we're correctly testing the combination of our change and trunk changes
18:50 pmichaud anyway, it's just another approach.
18:50 pmichaud allison: that also occurs in my approach.
18:51 Coke note that we have shiny new merging available in svn repo.
18:51 pmichaud because it appears as part of the diffs between branch and trunk.
18:51 allison pmichaud: then I must not be understanding your description
18:51 Coke (with svn 1.5)
18:51 particle coke: has docs/project/committer_guide.pod been updated wrt merging?
18:52 Coke no. I don't think anyone's done a run through with the new stuff.
18:53 pmichaud allison:  any languages changes I make in the branch will show up when I apply them to trunk.
18:53 randi joined #parrot
18:54 allison particle: you're looking for docs/project/branching_guide.pod
18:54 allison pmichaud: and yes, it's up to date
18:54 allison I mean 'particle'
18:55 allison and pmichaud: try reading that. I think we're essentially doing exactly the same thing
18:55 pmichaud yes, but my way I don't have to keep track of the last time I merged from trunk.  :-)
18:55 particle allison: okay, then committer_guide needs updating, because it too has branch/merge instructions
18:55 allison pmichaud: it's just a simple text file
18:56 pmichaud in my approach the diffs are always _only_ those things related to what I've been working on.  The diffs don't include any completely unrelated changes in other parts of the repo.
18:56 particle allison: and no, branching_guide is not up to date. svn 1.5 removes the need to remember the rev at which the branch was created
18:57 allison pmichaud: when I'm changing the guts of a core subsystem there are no 'unrelated' parts of the repository
18:57 pmichaud allison: I'm not saying that I don't test those other core parts.
18:57 allison particle: then add an updated note for 1.5
18:57 pmichaud I'm saying that the diffs don't contain those changes.
18:57 particle will do
18:57 dalek r32822 | Whiteknight++ | calling_conventions:
18:57 dalek : [calling_conventions] Move some documentation from a strange place in inter_call.c to the (slightly less inappropriate) src/pmc/callsignature.pmc
18:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32822
18:57 barney pmichaud: For PHP 5.3 I need to specify which vars are captured. OTOH I don't know yet whether the PHP 5.3 closures are really closures
18:58 mberends joined #parrot
18:58 PerlJam barney: /me doubts  :)
18:58 pmichaud because I get those changes by doing a copy instead of merging.
18:58 pmichaud barney: yes, one can specify that a sub has no :outer
18:58 * barney doubts too but doesn't really what to doubt
18:59 Coke in any case, I'm happy to test partcl against an up to date branch, or a patch if that's how we do it, or...
18:59 allison pmichaud: really not making sense to me, you may have to write out your full branching strategy like the branching_guide
18:59 pmichaud allison: okay.
19:00 Coke as long as our strategy involves short-lived branches, we'll be fine. :|
19:00 pmichaud if svn 1.5 means we no longer have to keep track of the latest merge from trunk it may be unimportant anyway.
19:00 pmichaud I just like that my diffs are only the things I've diffed.  :-)
19:00 Coke sadly, we only have 1.4 here at work or I'd ve done this already. =-)
19:01 allison pmichaud: I'm running 1.4.3
19:01 pmichaud I'm 1.4.6
19:01 Coke not sure if you need an updated client. probably.
19:01 pmichaud so, I guess it's still relevant.  :-)
19:01 PerlJam (If parrot had a git repo, the merging debacle wouldn't even exist :)
19:02 Infinoid how much of testC and testj should I expect to pass in trunk on x86-64?
19:02 chromatic Infinoid, all of it passes for me on x86-32.
19:02 Infinoid I'm running them both and both have some failures so far.  I'm just not sure whether that's news or not.
19:02 particle yes, you need client and server >= 1.5
19:03 chromatic Infinoid, it doesn't surprise me, but it's news to me.
19:03 gmansi joined #parrot
19:06 Infinoid ooh, jit runcore segfaults on all of the t/compilers/pge/pge_text.t tests
19:06 Infinoid ok, I won't worry about it.  the jit runcore isn't listed in PLATFORMS for x86_64 anyway...
19:09 Infinoid Now, CGP, on the other hand... I think the only prerequisite is gcc, so that might be worth spending some time on.
19:09 chromatic t/compilers/imcc/imcpasm/optc.t hangs for me in testC
19:10 Infinoid here too
19:10 Infinoid test #1
19:11 chromatic All of the tests there hang for me.
19:11 chromatic Infinoid, do you have time to bisect this for the last 40 commits?
19:11 Infinoid sure do
19:11 pmichaud barney: can I close the "our variables" ticket?
19:11 Infinoid think my chances of success will increase if I switch to a 32 bit platform, though... moment.
19:12 barney pmichaud: k
19:12 pmichaud I'll move the conversation to a new thread on parrotdev, but it's not really part of the original ticket.
19:12 pmichaud also, can I remove the test?
19:13 barney I'll change it to the expected behavior
19:13 pmichaud okay, I'll let you do that.
19:16 wknight8111 When is the release shipping out today?
19:16 wknight8111 I'm anxious to get my grubby hands back on trunk
19:17 chromatic Later tonight.
19:17 chromatic I have some patches to apply and would like to reclaim testC and testj on x86-64.
19:17 chromatic Infinoid, make testj is fine for me on x86-32.
19:18 Infinoid I don't know if testj *ever* worked on x86-64
19:20 Infinoid I can nopaste all the testC errors, if you like.
19:21 barney pmichaud: done in r32823
19:21 dalek r32823 | bernhard++ | trunk:
19:21 dalek : [PCT] Test for the correct expected behavior in test for RT#60554.
19:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32823
19:21 chromatic Yes, please.
19:21 Tene testJ is jit?
19:21 Infinoid yes
19:22 Tene jit hasn't worked on x86_64 since I've been working on parrot
19:22 Infinoid I figured as much, after seeing it not listed in PLATFORMS.  thanks for confirming.
19:22 Tene np
19:24 NotFound joined #parrot
19:24 Infinoid go svn-bisect go
19:24 Infinoid There are currently 10 revisions under scrutiny.
19:24 Infinoid The last known-unaffected rev is 32799.
19:24 Infinoid The first known- affected rev is 32810.
19:24 Infinoid Currently testing 32805.
19:25 chromatic I hope it's not r32803.
19:25 Tene go 32803!
19:26 * barney watching http://www.youtube.com/watch?v=DzpSREpLJY8  pmichaud++
19:26 Infinoid I am doing this test on x86-32 linux, so I should hopefully be seeing the same thing you are.
19:26 Tene chromatic: do you have an x86_64 box to test on?
19:32 barney pmichaud: special subrule <.INIT> does what I need, tnx
19:35 pmichaud 648 tickets.
19:35 pmichaud 640 would be a much nicer number, yes?  ;-)
19:36 masak jimmy?
19:36 purl i think jimmy is jimmy or a kind and warm-hearted person, albeit allegedly a sloth
19:36 masak masak?
19:36 purl you are _not_ my best friend! or the cause of much confusion for purl or my worst nemesis or the anti-purl
19:37 masak purl: I am also out to get you
19:37 purl okay, masak.
19:44 cotto masak?
19:44 purl hmmm... masak is _not_ my best friend! or the cause of much confusion for purl or my worst nemesis or the anti-purl or out to get you
19:45 masak hm :)
19:45 cotto out to get me?
19:45 cotto oh noes!
19:45 * masak refuses to comment at this point
19:45 chromatic Tene, I don't.
19:46 Tene chromatic: if you ever want to work on x86_64, let me know and I'll give you a shell on my laptop.
19:48 chromatic Thanks.
19:55 Patterner I can test x86_64 on my desktop
20:04 Infinoid I've got a nice x86_64 server with plenty of shell space, if anyone is interested in getting JIT working :)
20:04 lu_zero hi
20:04 Coke is it possible to alias namespaces?
20:04 dalek r32824 | pmichaud++ | trunk:
20:04 dalek : [rakudo]:  Use get_namespace opcode instead of interpinfo for $?PACKAGE.
20:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32824
20:05 Coke so I could make all requests to namespaceA really look things up in namespaceB ?
20:06 Infinoid chromatic: sorry about the delay, had a meeting.  The hangs did start in r32804.
20:06 Infinoid (not r32803)
20:06 Tene Coke: just store the same namespace object in both places?
20:07 Tene $P0 = get_namespace; set_namespace B, $P0
20:07 chromatic 32804... hmm.  That was the CONTEXT(interp)->current_pc change.
20:08 chromatic At least it wasn't 32803.
20:09 Coke is there a standard for naming conventions of things shoved in namespaces? Tcl was using &foo; what's rakudo using, just foo for procs?
20:09 Coke (and things with sigils are variables?)
20:11 Coke tene:   $P0 = get_root_namespace $P1 = get_hll_namespace $P1['parrot'] = $P0
20:11 Coke ?
20:11 dalek r32825 | pmichaud++ | trunk:
20:11 dalek : [pct]:  Report error if PAST::Val is missing :value attribute (RT #49177)
20:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32825
20:13 Infinoid testC has several hangs on x86-64 in addition to the t/compilers/imcc/imcpasm/optc.t ones.
20:14 Tene Coke: that's what I'd try.
20:15 Coke tene: seems to work, but then partcl hangs at some point after that.
20:15 Tene Ouch.
20:15 Tene I bet something is because the namespace contains itself.
20:15 chromatic Aha, I see what it is.
20:15 Tene [tcl;parrot;tcl;parrot;tcl;parrot;...\
20:15 Tene ]
20:16 Coke yes, but that shouldn't matter unless something tries to walk it, should it?
20:16 Tene Right.
20:16 Infinoid the 'add overflow Integer' test in t/pmc/bigint.t line 452 seems to emit the expected 3 lines, and then keep emitting more "BigInt" lines forever after
20:16 Tene I'm suggesting that something probably is walking it.
20:16 Coke dies on   load_bytecode 'Getopt/Obj.pbc'
20:17 Tene dies or hangs?
20:17 Coke hangs.
20:17 Tene does it successfully load any other pbcs?
20:18 Tene Any evidence that it's Obj.pbc and not load_bytecode itself?
20:19 Coke no, it's hitting the load_bytecode op and hanging.
20:19 chromatic Infinoid, you're going to love this fix.
20:21 Infinoid is it fiendish?
20:21 chromatic It's a forehead slapper.
20:21 Infinoid those are good too.
20:22 chromatic if ((*(INTVAL *)OP_AS_OFFS(1)) != 0)
20:22 chromatic CONTEXT(interp)->current_pc = CUR_OPCODE + ((INTVAL)cur_opcode[2]);
20:22 chromatic goto **(void **)(cur_opcode += ((INTVAL)cur_opcode[2]));
20:22 chromatic That used to be:
20:22 chromatic if ((*(INTVAL *)OP_AS_OFFS(1)) != 0)
20:22 chromatic goto **(void **)(cur_opcode += ((INTVAL)cur_opcode[2]));
20:22 chromatic I added the second line.
20:23 Coke tene: and now I am doubting that this is state of the art. ISTR allison saying that if you wanted to poke outside of your HLL, you were going to have to write shim loading code.
20:23 Coke (which we can't do since we don't know what's in any given PBC)
20:24 bacek good morning
20:24 Infinoid happy Wednesday, bacek
20:25 bacek Infinoid: oh... It's Wednesday already...
20:27 dalek allison@perl.org | Parrot:
20:27 dalek link: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
20:29 masak http://rumplo.com/tees/tee/1144-thank​-god-its-wednesday-married-to-the-sea
20:29 Infinoid chromatic: sorry, I haven't looked at CGP before, and have no idea what the difference between CUR_OPCODE and cur_opcode is.
20:29 Infinoid looking forward to testing the fix tho. :)
20:30 dalek r32826 | chromatic++ | trunk:
20:30 dalek : [lib] Fixed the CONTEXT(interp)->current_pc setting code from r32804; the goto
20:30 dalek : code has to be a single expression, otherwise testC and similar cores will
20:30 dalek : hang.
20:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32826
20:31 Infinoid oh, no curlies.  heh.
20:31 chromatic Exactly.
20:34 Tene Coke: what's the issue you're trying to solve here?
20:35 Infinoid sadly, those same tests still hang on x86-64
20:35 Infinoid I'm not sure if they hang for the same reason.  (I was also seeing other tests hang on x86-64.)
20:35 allison Coke: no shim loading code for poking outside your hll
20:36 chromatic Infinoid, did they hang before r32804?
20:36 Infinoid good question, I will find out right now.
20:38 Infinoid chromatic: no.
20:38 Infinoid testC passes on x86-32 again
20:39 chromatic Did src/ops/core_ops_cgp.c get regenerated and rebuilt?
20:39 Infinoid if not, realclean is broken
20:41 chromatic If you remove the current_pc setting code in lib/Parrot/OpTrans/CGP.pm, does the hang disappear?
20:42 dalek r32827 | bernhard++ | trunk:
20:42 dalek : [PCT] Add a testcase with a special init subrule.
20:42 dalek : Pass in the input in test_pct().
20:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32827
20:44 Infinoid ECANNOTREPRODUCE, nevermind.
20:45 * Infinoid tries to ram a testC through on x86-64 while everything seems to be working
20:46 dalek r32828 | bernhard++ | trunk:
20:46 dalek : [doc] add NEWS about Pipp
20:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32828
20:46 klapperl joined #parrot
20:50 Infinoid got a TODO pass from the final test in t/pmc/exception.t, otherwise, testC passes on x86-64
20:51 chromatic Excellent.
20:51 Infinoid lunch &
20:52 barney good nite
21:04 dalek r32829 | pmichaud++ | trunk:
21:04 dalek : [pct]: Report a useful error message for invalid parseactions (RT #48270).
21:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32829
21:16 johbar joined #parrot
21:16 dalek allison@perl.org | Parrot:
21:16 dalek link: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
21:19 dalek Krishna Sethuraman | Parrot Development on Windows:
21:19 dalek link: http://www.perlfoundation.org/parrot/i​ndex.cgi?parrot_development_on_windows
21:29 apeiron joined #parrot
21:31 pmichaud Failed Test           Stat Wstat Total Fail  Failed  List of Failed
21:31 pmichaud ----------------------------------------​---------------------------------------
21:31 pmichaud t/native_pbc/header.t  255 65280     9   18 200.00%  1-9
21:31 pmichaud expected?
21:34 moritz when I run the test with the same perl that I used to configure parrot, it passes here
21:35 pmichaud I only have one perl, so that's not it.
21:35 dalek r32830 | pmichaud++ | trunk:
21:35 dalek : [pge]:  Fix parsing bug with aliases (resolves RT #56224, reported by cognominal++)
21:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32830
21:35 pmichaud I'll try a fresh checkout in a second.
21:36 pmichaud 645 tickets.
21:55 * Tene makes a note to write a Benchmark library for Parrot.
22:00 apeiron joined #parrot
22:02 Infinoid pmichaud: not expected.  what platform?
22:02 pmichaud clean checkout gives me the same native_pbc/header.t error.
22:02 pmichaud Kubuntu 8.04, x86
22:02 Infinoid any error output?
22:03 nopaste "pmichaud" at 72.181.176.220 pasted "error output of prove -v t/native_pbc/header.t" (15 lines) at http://nopaste.snit.ch/14634
22:05 bacek joined #parrot
22:06 dalek r32831 | pmichaud++ | trunk:
22:06 dalek : [pge]:  Fix bare cut operator at beginning of (sub)pattern (partial RT #42334)
22:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32831
22:16 sjansen joined #parrot
22:17 chromatic make testr still brokenish.
22:17 pmichaud I'm getting the header.t errors in a standard "make test"
22:19 chromatic That one looks familar.
22:19 chromatic familiar
22:19 purl Good kitty, I always wanted an enchanted broadsword.
22:20 pmichaud I haven't started to try to track it down yet.
22:21 chromatic RT #58840
22:22 Infinoid Operation "eq": no method found  ?
22:22 gryphon joined #parrot
22:22 chromatic That's the one.
22:26 pmichaud I have trouble following what that ticket is saying, or what it implies for what I'm seeing.
22:28 Infinoid File::Temp has overloaded the "eq" operator
22:28 chromatic There's some problem in Parrot::Test when comparing filehandles.
22:31 dalek r32832 | pmichaud++ | trunk:
22:31 dalek : [pge]: Fix cut applied to null term (RT #42334, reported by Jim McKim)
22:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32832
22:32 pmichaud oops, committed w/o make test there -- I need to do that.
22:35 klapperl joined #parrot
22:37 cotto joined #parrot
22:37 pmichaud yay!  yay!   yay!
22:38 pmichaud I can now go through my code and get rid of the silly instances of
22:38 pmichaud $P0 = new 'String'
22:38 pmichaud $P0 = 'foo'
22:38 pmichaud now it's just
22:38 pmichaud $P0 = box 'foo'
22:38 pmichaud chromatic++
22:38 cotto your kids can play with boxes, and now you can too!
22:39 pmichaud it's always bugged me that creating String/Integer/Float pmcs required two statements.
22:39 chromatic Just don't ask for Key PMCs any time soon.
22:39 chromatic pmichaud, can you change lib/Parrot/Test.pm:330?
22:39 pmichaud I'd like for Key PMCs to go away, actually.  :-)
22:40 pmichaud chromatic: sure
22:40 chromatic add quotes around the second occurrences of "$out" and "$err"
22:40 chromatic Then see if your header tests run again.
22:40 pmichaud looks like it's line 334 on my box.
22:40 pmichaud if ( $out and $err and $out eq $err ) {
22:41 pmichaud that one?
22:41 purl i guess that one is more Acme.
22:41 chromatic Yeah, that.
22:41 purl Sure, that.
22:41 pmichaud purl, forget that one
22:41 purl pmichaud: I forgot that one
22:41 chromatic Just because I can't count doesn't mean my code doesn't rock.
22:41 pmichaud that fixes it -- all tests successful.
22:41 pmichaud commit?
22:41 purl hmmm... commit is to specific areas only
22:41 chromatic annnnnnd that's a triple negative word score, for 837 Scrabble points.
22:41 pmichaud purl, forget commit
22:41 purl pmichaud: I forgot commit
22:42 chromatic Go ahead; refer to RT #58840 in the log and a comment before that line perhaps, so we never lose that trick again.
22:42 pmichaud will do.
22:42 chromatic Or I can do it if my vague description is vague.
22:45 pmichaud r32833
22:45 bacek joined #parrot
22:45 pmichaud you can fix it if my description is vague.  :-)
22:46 dalek r32833 | pmichaud++ | trunk:
22:46 dalek : [test]:  Force 'eq' to compare strings -- native_pbc/header.t passes again.
22:46 dalek : See also RT #58840.  chromatic++ for the patch.
22:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32833
22:48 pmichaud 644 tickets.
22:48 dalek r32834 | pmichaud++ | trunk:
22:48 dalek : [pge]:  Update LHS message and add some tests for RT #42334 and #56224.
22:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32834
22:51 pmichaud 643.
22:52 apeiron joined #parrot
22:59 Coke we should run examples_tests every release if that's not covered by one of the other targets.
23:01 pmichaud 642.
23:02 dalek r32835 | coke++ | trunk:
23:02 dalek : This test is passing on my darwin.
23:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32835
23:03 chromatic make manifest_tests examples_tests all pass for me now.
23:03 Coke I just uncommented another one that was passing.
23:03 Coke (SKIP'd tests suck. :|)
23:03 chromatic TODO/SKIP test review is a milestone for 0.9.1.
23:04 pmichaud 0.9.1 is the Feb 2009 release?
23:05 pmichaud Coke: it was commented at PDS that we probably need to get our release managers set up for early 2009.
23:05 chromatic Yes.
23:05 chromatic Coke: I want January.
23:05 pmichaud I vote that we reject RT #54478.
23:06 chromatic +0
23:06 purl 0
23:06 Coke I can coordinate the next six months if folks want.
23:06 Coke easy enough to do.
23:06 pmichaud although, each of the Jan/Feb/Mar releases are "special" in some respects.
23:06 pmichaud chromatic has already claimed Jan.
23:07 pmichaud Whoever does Feb really needs to focus on packaging issues.
23:07 Coke then I nominate reini.
23:07 pmichaud The March release is 1.0.
23:07 chromatic I nominate Andrew for 1.0.
23:07 chromatic I don't know what makes his head explode, but that's the way the release ends.
23:08 chromatic o/~ it's for my experimental VM / that nobody knows about but it's o/~
23:09 chromatic Or if Allison | Coke want it, that's a nice symbolic mishmash cute cosplay thingie too.
23:09 pmichaud Coke:  Think we can reject RT #58108  (languages/Makefile 'test' has too many deps)?  We're planning to move most of the languages out of the repo (or at least the tarball), yes?
23:09 chromatic Pruning the deps to the tutorial languages we want to keep around would resolve it too.
23:09 pmichaud or maybe convert the ticket to "create languages/Makefile.... what chromatic said.
23:10 Coke chromatic: ... please don't use those words in a single sentence again. thank you.
23:10 chromatic Coke cosplay tentacle trilateral commission cuba sirhan sirhan echelon.
23:10 pmichaud I'll add that to the ticket.
23:10 Coke ... what, cosplay?
23:10 chromatic When I am emperor, I'll stamp *that* out too.
23:11 Coke pmichaud: ... yah. go ahead.
23:11 pmichaud added.
23:14 pmichaud 641.
23:17 Infinoid Coke: you can sign me up for a release, what the hell.
23:19 davidfetter joined #parrot
23:20 Coke ... holy crap. anyone see the p5p summary this week?
23:20 particle nobody reads those
23:20 Infinoid I read those
23:20 Coke "PS: Hi, guys. Been a while. How you been?" -- Chip Salzenberg, back
23:20 Coke on the chain gang.
23:21 klapperl joined #parrot
23:21 davidfetter heh
23:23 dalek r32836 | pmichaud++ | trunk:
23:23 dalek : [p6object]:  Correctly honor hll option to new_class (RT #60218, chrisdolan++)
23:23 dalek : * Patch courtesy Chris Dolan <chris@chrisdolan.net>
23:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32836
23:23 pmichaud 640.
23:24 davidfetter wehre teh p5p summary?
23:24 Infinoid use.perl.org top post
23:24 Infinoid (rss hasn't updated yet, which is why I hadn't seen it.)
23:25 davidfetter thanks :)
23:26 Limbic_Region joined #parrot
23:34 Infinoid is it too late to update PLATFORMS?  I seem to have a much bigger gcc rev than any of the linux/x86_64 entries currently there.
23:34 chromatic Please, feel free.
23:35 pmichaud well, I'm happy to get the RT ticket # down to 640.
23:35 Infinoid what's an EXEC runloop and how do I test it?
23:35 * Coke watches the science get done.
23:35 pmichaud I have some other candidates for people to look at that might be low-hanging fruit -- will post those a bit later.
23:36 davidfetter 640 should be enough for anyone
23:37 particle that looks a bit better: https://trac.parrot.org/parrot/wiki/ParrotRoadmap
23:37 chromatic I don't think the EXEC runloop works anymore.
23:37 dalek r32837 | infinoid++ | trunk:
23:37 dalek : Add linux-x86_64-gcc4.3.2 to PLATFORMS.
23:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32837
23:38 Infinoid I think (and hope) that no entries in PLATFORMS use the *2 remark any more.
23:41 davidfetter particle, it does indeed :)
23:41 particle Infinoid: can you split PLATFORMS up into supported and extra platforms while you're in there?
23:41 pmichaud when would be a good time for a ticket sprint?
23:42 Whiteknight joined #parrot
23:43 pmichaud I'm finding some tickets that I think could be closed with just a bit of discussion (and the relevant principals present)
23:44 Infinoid particle: by "supported" you mean the stuff listed under "Supported Platforms" in docs/parrot.pod, right?
23:44 Coke pmichaud: did you say that the lex/ branch can be deleted?
23:44 pmichaud coke: yes, but not lex2/
23:44 particle Infinoid: yes, thanks
23:46 dalek r32838 | coke++ | lex:
23:46 dalek : Remove obsolete branch (see branches lex2/ for the SoTA)
23:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32838
23:50 Infinoid looks like it's been a couple years since tru64 has been updated in PLATFORMS
23:50 Infinoid does win32-x86_64 count?  (parrot.pod doesn't list a platform for the win32 arch.)
23:50 particle no, it's busted anyway
23:50 Infinoid (though I suppose the "32" part says a lot.)
23:50 Coke any votes on removing the extremely crufty t/compilers/imcc/syn/eval.t ?
23:51 Coke ... it's so old, it uses the 'compile' opcode.
23:51 particle wow, svn merge syntax is SOOOOO much easier with 1.5
23:52 particle c:\Users\particle\dev\parrot\api2export>svn merge https://svn.perl.org/parrot/trunk
23:52 particle --- Merging r32786 through r32838 into '.':
23:52 particle ...
23:52 particle i just updated my branch with all changes in trunk
23:52 Infinoid nice.  does the reverse also work?  (so it won't try to re-apply changes previously merged from trunk.)
23:53 dalek r32839 | infinoid++ | trunk:
23:53 dalek : Reorganize PLATFORMS into "supported" and "extra" entries.
23:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32839
23:53 particle yes
23:53 Infinoid well, that pretty much makes git unnecessary then
23:54 particle svn still doesn't support disconnected development
23:54 Coke they just store what's been merged in a property on the root of the branch, neh?
23:54 Infinoid that reorganization makes it pretty easy to see which platforms have been tried recently
23:54 Coke Infinoid: update that to point to smolder instead of smoke?
23:55 Infinoid purl, smolder?
23:55 purl smolder is http://sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or http://smolder.plusthree.com/app​/public_projects/smoke_reports/8
23:55 particle that last one with the cryptic url :(
23:55 Infinoid ah, thanks.
23:55 purl somebody said ah, thanks. was it fast enough?
23:55 pmichaud purl, forget ah, thanks.
23:55 purl pmichaud, I didn't have anything matching ah, thanks
23:56 Coke we can setup a redirect at parrotcode.org pretty easily.
23:56 allison particle: we could make a shorter URL, if you want (http://www.parrot.org/smolder)
23:56 Coke ah, we can do that on parrot too? yes, please.
23:56 particle +1
23:56 purl 1
23:57 * Infinoid waits for a shorter URL
23:59 Coke chromatic: didn't you fix RT#58934?

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

Parrot | source cross referenced