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