|
Parrot 0.8.1 "Tio Richie" Released | parrot.org | 24 TT | 648 RT Set by moderator on 10 December 2008. |
|||
| Tene | jonathan: can you also get 'die' to just throw its argument if its argument already isa Exception? | 00:00 | |
| 'cos if so, we can pass several more spectests. | |||
| nopaste | "jonathan" at 85.216.157.73 pasted "tene: try this patch" (13 lines) at nopaste.snit.ch/14892 | 00:02 | |
| jonathan | Tene: That should make class Naughty is Exception { } work, but please spectest it before applying. | 00:03 | |
| (As in, make sure it doesn't make anything else explode.) | |||
| Tene | I'll do that after I get home. | 00:15 | |
| I can do the 'die' patch, too. | 00:16 | ||
|
00:24
GeJ_ joined
00:29
GeJ joined
|
|||
| Whiteknight | Class Naughty? it's like the redlight district for perl 6 development | 00:30 | |
| jonathan | class Amsterdam { has Naughty $.red_light_district; } | 00:32 | |
|
00:57
allison joined
00:59
apeiron joined
01:10
adu joined
01:18
allison joined
01:26
LimbicRegion joined
|
|||
| Whiteknight | pmichaud around here? | 01:34 | |
| or anybody who knows lexicals? | |||
| cotto | Coke: trac.parrot.org/parrot/wiki/RtMigration | 01:51 | |
| coke++ #copypasta source | 01:52 | ||
|
01:56
leto joined
|
|||
| leto | howdy | 01:56 | |
| purl | hola, leto. | ||
| dalek | r33785 | tene++ | trunk: | 02:05 | |
| : [rakudo]: Create a protoobject for Exception | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33785 | |||
|
02:33
kid51 joined
|
|||
| dalek | r33786 | jkeenan++ | testparrottest: | 02:47 | |
| : Add tests for effects of $ENV{POSTMORTEM}. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33786 | |||
| davidfetter | [vaguely on topic] anybody know whom i can pester about getting some hosted dev/testing boxes from microsoft? | 02:48 | |
| Tene | davidfetter: particle, i think | ||
| kid51 | Wasn't cotto working there until recently? | ||
| davidfetter | september iirc. dunno whether this thing was in effect at the time | ||
|
02:54
jimmy joined
|
|||
| dalek | r33787 | jkeenan++ | testparrottest: | 02:54 | |
| : Delete internal sub _report_odd_hash(). All it provides is a smidgen more diagnostic than you would get with a regular 'die' message, but any competent Perl programmer should be able to figure out what has gone wrong. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33787 | |||
| r33788 | jkeenan++ | testparrottest: | 03:04 | ||
| : 1. Improve one test description. 2. Since $desc is never used after it's been assigned to in _run_test_file(), it may be deleted without affecting anything. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33788 | |||
|
03:14
chromatic joined
|
|||
| Tene | jonathan: around? | 03:21 | |
| pmichaud | pong | 03:28 | |
| Tene | pmichaud: I have exception handlers working. :) | ||
| pmichaud | I saw that | 03:29 | |
| the $_<handled> interface is non-P6, though. | |||
| Tene | I'm trying to figure out how to get inheritance working properly for creating subclasses of Exception right now. | ||
| Yes, it is. | |||
| The problem I'm seeing right now is that in trait_auxiliary:is, it check for: $I0 = isa parent, 'Class' | 03:31 | ||
| and Exception ends up being a NameSpace | |||
| pmichaud | Rakudo likely needs its own Exception class | ||
| in the meantime you can put Exception into the p6object system by calling 'register' | |||
| but I think better would be to give Rakudo its own Exception class; call it Perl6Exception for now | 03:32 | ||
| see how Complex does it for an example. | |||
| Tene | Can we get 'Exception' in rakudo to translate to Perl6Exception so that we can pass some spectests? | ||
| pmichaud | it does that automatically. | 03:33 | |
| Tene | We're already ctreating a Perl6Exception class in Failure.pir | ||
| pmichaud | checking | ||
| Tene | and registering it | ||
| pmichaud | Failure needs to become a role | ||
| ah | |||
| Tene | Jonathan suggested adding 'name'=>'Exception' to new_class, but that turns out to have broken things. adding Exception to its list of parents is better, afaict. | ||
| pmichaud | you need to do both. | 03:34 | |
| Tene | That leads to... lemme check. | ||
| pmichaud | if you want a Rakudo Exception to be a subclass of Exception | ||
| however, I suspect it's very likely that Parrot's exception system can't handle subclasses of the Exception PMC | |||
| Tene | It can. | ||
| pmichaud | I should rephrase | 03:35 | |
| I suspect there are pieces of Parrot's exception system that don't work well with subclasses of the Exception PMC | |||
| chromatic | That wouldn't surprise me. | ||
| pmichaud | just like we have pieces of Parrot that don't work well with subclasses of Complex PMC | ||
| (because those pieces expect to be able to "peek" directly into the Exception PMC's guts, which change when it is subclassed. | 03:36 | ||
| the 'name'=> option specifies how you want the newly created or registered class to appear in the protoobject system | 03:37 | ||
| thus p6meta.'new_class'('MyComplex', 'parent'=>'Complex', 'name'=>'Complex') creates a new class that Parrot knows internally as 'MyComplex' but for other purposes reports itself as 'Complex' (e.g., in the protoobject) | 03:38 | ||
| (and yes, this would all be a _ton_ simpler if the class registry was working properly.) | |||
|
03:40
adu joined
|
|||
| Tene | Okay, the problem now is that .WHAT() on a subclass on Exception reports itself as "Exception" | 03:40 | |
| So smartmatching on the class doesn't work. | |||
| dalek | r33789 | tene++ | trunk: | ||
| : [rakudo] | |||
| : * More fixups for the Exception class | |||
| : * Add a :multi(Exception) for the 'die' op | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33789 | |||
| pmichaud | don't confuse "reports as" with smart matching | 03:41 | |
| Tene | Hmm. Also I might be lying here. | ||
| pmichaud | on a subclass of Parrot Exception or a subclass of Rakudo's Exception? | ||
| Tene | rakudo's exception. That might not be the problem, though. | ||
| Because directly doing the class manipulation works fine. | 03:42 | ||
| pmichaud | I don't understand "directly doing the class manipulation" | ||
| Tene | class Foo is Exception {}; my $e = Foo.new(); say $e.WHAT; | ||
| works fine | |||
| pmichaud | right. | ||
| also, hint: use .PARROT when you want to know what is _really_ happening underneath. | |||
| say Exception.PARROT; # "Perl6Exception" | 03:43 | ||
| Tene | but when I 'die $e' and then 'say $_.WHAT' ir reports 'Exception' | ||
| pmichaud | why shouldn't it? | ||
| Tene | Because I threw a Foo | ||
| pmichaud | how does it get thrown? | 03:44 | |
| Tene | ... let me make sure of that. | ||
| :) | |||
| pmichaud checks the code | |||
| ...set_global?!? | 03:45 | ||
| That's wrong. | |||
| purl | pmichaud is channeling thoth! | ||
| pmichaud | $! is a lexical. | ||
| Tene | pmichaud: 'die' got simplified and gained a multi in my last commit | ||
| pmichaud | yes, I see that. | ||
| and it's using set_global. | |||
| Tene | It probably shouldn't be. | ||
| pmichaud | that's what I meant by "That's wrong." :-) | 03:46 | |
| $! is a lexical. | |||
| Tene | Yes, it's hitting the right multi and being thrown. | ||
| pmichaud | ...but why say $_.WHAT instead of $!.WHAT ? | 03:47 | |
| Tene | They should both be getting set to the exception. | ||
| Right now I only did $_ | |||
| Because that's all that was tested in try.t | |||
| pmichaud | and $_ is being set because it's a parameter on the CATCH block? | 03:48 | |
| Tene | I just added a past::op bind | ||
| pmichaud | oh. I suspect it should be a parameter. | ||
| Tene | Probably. | ||
| purl | Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder. | ||
| Tene | ... heh. I know what the problem was. The problem was something else was throwing an exception. :) | 03:49 | |
| pmichaud | and the $! should come from the fact that the die set $! which is the outer $! of the CATCH block | ||
| Tene | Hmm. Now I'm back to "No such attribute 'resume'" failues in 'op throw' | 03:51 | |
| chromatic | Is there no 'warn' builtin in Perl 6? PDX.pm is asking. | ||
| pmichaud | thereis. | ||
| there is a 'warn' | |||
| I don't know if rakudo implements it yet. | 03:52 | ||
| chromatic | We couldn't find it in the spec tests. | ||
| pmichaud | However, 'warn' is described in S04. | ||
| S04: Warnings are produced in Perl 6 by throwing a resumable control | |||
| exception to the outermost scope, which by default prints the | |||
| warning and resumes the exception by extracting a resume continuation | |||
| from the exception, which must be supplied by the warn() function | |||
| (or equivalent). | 03:53 | ||
| chromatic | Similar to die, but a different severity? | ||
| Tene | right | ||
| pmichaud | more that it resumes, while 'die' doesn't have to. | ||
| chromatic | That sounds reasonably easy to add. | ||
| Tene | It does. | ||
| purl | if you say so... | ||
| pmichaud | now that we have resumable exceptions, yes. :-) | ||
| before then, it was a bit tougher. | 03:54 | ||
| chromatic | We can start by copying the behavior of die, I assume. | ||
| pmichaud | die in Rakudo is also "a cheating die" | ||
| i.e., don't try it in Nevada. | |||
| Tene is getting "die" closer to spec, though. | |||
| chromatic | How much cheating is in there now? | 03:55 | |
| pmichaud | I don't know. Not too much. | ||
| chromatic | Okay. We'll see what we can make. | ||
| pmichaud | for one, die should be throwing a Rakudo exception (Perl6Exception) instead of a Parrot Exception | ||
| (currently it's throwing a Parrot one.) | 03:56 | ||
| chromatic | We can fix that. | ||
| Tene | rakudo: do { say 'a'; die 'foo'; say 'b'; CATCH { $_<resume>() } }; | ||
| polyglotbot | OUTPUT[aā¤bā¤] | ||
|
03:56
Auzon joined
|
|||
| pmichaud | the exception stuff that is currently in Failure.pir probably needs to move into Exception.pir | 03:56 | |
| and then Failure can focus strictly on Failure stuff. | |||
| (and become a Role) | |||
| Tene | pmichaud: can we deprecate integer exception types this release? I'd like to replace them with a proper hierarchy of exception classes soon. | 03:57 | |
| pmichaud | Tene: you mean in Parrot? Not my call. | 03:58 | |
| Tene | ... right. | ||
| pmichaud | and one of the design questions is whether you want a proper hierarchy of exception classes in Parrot (which Rakudo will then have to ignore, map, or mimic), or just in the HLLs (each of which probably has preconceived notions of its exception hierarchy) | 03:59 | |
| Tene | So I need to harass allison about this. | 04:00 | |
| pmichaud | in some sense Parrot is better off just defining a base Exception class and leaving any typing up to the HLLs | ||
| Tene | Well, then there are all of the integer exception types. | 04:01 | |
| pmichaud | that said, the ExceptionHandler PMC should be able to discriminate by class as-well-as exception type. | ||
| Tene | Okay. | ||
| pmichaud | or, there should be a way for each Exception subclass to get a corresponding (unique) exception type that it can use. | ||
| and then we stick with the integer types. | |||
| leto | hello from PDX.pm | 04:02 | |
| pmichaud | or, subclasses of Exception have an attribute that indicates what integer Parrot exception type they map to. | ||
| leto | rakudo: [**] 2 .. 4; | 04:03 | |
| polyglotbot | RESULT[4096] | ||
| pmichaud | (or type(s)) | ||
|
04:03
ewilhelm joined
04:04
notbenh joined
|
|||
| pmichaud | indeed, since every Exception already has a slot for its integer exception type, the constructors for Exception should populate that slot with the correct type (and do this even if it's for a subclass) | 04:04 | |
| s/constructors/hll constructors/ | 04:05 | ||
| *that* could be done without deprecations. | |||
| Tene nods. | |||
| pmichaud | it still would be nice to have a way to say "I need a unique/unreserved exception type number" | ||
| PCT could potentially provide that -- just start handing out numbers starting at a suitably high number. | 04:06 | ||
| chromatic | Hm, seems like we need a top-level exception handler for warn. | 04:08 | |
| Unless we cheat for now. | |||
| pmichaud | well, if we want to catch warnings, we need the top-level handler | ||
| or, to be really clever, we need a way to quickly see if there are any suitable exception handlers already in effect | 04:09 | ||
| nopaste | "tene" at 166.70.38.237 pasted "Example of rakudo's Exception class not working with 'die'" (12 lines) at nopaste.snit.ch/14896 | ||
| pmichaud | if no, then we just print to stderr and return, without bothering to create/throw the exception | ||
| basically a "if I threwan exception of type XYZ, would it get caught?" | 04:10 | ||
| Tene nods. | |||
| nopaste | "chromatic" at 75.150.46.245 pasted "Very Basic Warn Implementation" (37 lines) at nopaste.snit.ch/14897 | ||
| chromatic | Hm, where would I look for a top-level EH? | 04:11 | |
| pmichaud | interactive mode has one, but the others do not. | ||
| Tene | iirc, Parrot itself was going to have an auto-resume-on-non-fatal behavior. | ||
| pmichaud | even with auto-resume, we'd need to catch the exception and display the message, unless Parrot does that too. | ||
| Tene | Right. | ||
| chromatic | Hm, my patch works in interactive mode. | 04:12 | |
| pmichaud | chromatic: for building the message, much faster is: $S0 = join('', list) | ||
| Tene | catch, print to stderr, resume | ||
| chromatic | That's copy and paste for die. | ||
| But I can fix die too. | |||
| Tene | chromatic: you could add it in TOP in actions.pm | ||
| chromatic: it's fixed in trunk | |||
| you need to update | |||
| chromatic | Oh yeah. | ||
| pmichaud | ...add it to TOP? | ||
| nononono | 04:13 | ||
| it has to be at the top level of execution | |||
| Tene | That's not top-level? | ||
| pmichaud | for not for a module, it isn't. | ||
| e.g., "use Test" also calls the TOP rule | |||
| Tene | ... oh, right. | ||
| So in perl6.pir? | 04:14 | ||
| pmichaud | yes, but it'll be an issue in interactive mode. | ||
| Tene nods. | |||
| pmichaud | we'll have to figure out the appropriate API for HLLCompiler there. | 04:15 | |
| maybe a "handlers" attribute on HLLCompiler | |||
| chromatic | My patch just dumps the message to STDERR. That's a step. | ||
| (No tests in the specs though, for some reason.) | 04:16 | ||
| pmichaud | sure, that works. | ||
| mugwump | wow, the parrot in unstable is *old* | ||
| dalek | r33790 | chromatic++ | trunk: | ||
| : [Rakudo] Fixed a typo in an exception message. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33790 | |||
| pmichaud | at least, it works until someone wants to CATCH the warning :-) | ||
| or suppress it inside of a try { ... } statement. | |||
| chromatic | We'll need to have a handler somewhere to make that work though. | 04:17 | |
| Which we don't... yet. | |||
| pmichaud | right | ||
| chromatic | I can walk PDX.pm through adding this now though, as an explanation. | 04:18 | |
| Perhaps we can figure out how to write tests too. | |||
| pmichaud | excellent. | ||
| chromatic++ PDX.pm++ | |||
| mugwump | oh hey, look at that ... pkg-parrot | 04:19 | |
| pmichaud | actually, for an outer handler, the simplest thing to do might be to have an HLLCompiler attribute that is the array of handlers to use, and HLLCompiler installs an interactive handler only if that attribute is unset. | ||
| mugwump | 0.7.0 seems a bit more recent than 0.4.13 | ||
| pmichaud | if the attribute is set, it's up to the HLLCompiler to provide the interactive handler as well. | 04:20 | |
| or, even better | |||
| exception handling at the top level is a method on the HLLCompiler object | |||
| specific HLLCompilers can override that method | 04:21 | ||
| I would like to see the message built using a built-in function for 'join', though. These days when writing PIR versions of builtins I try to think of what it would look like if written in Perl 6 | 04:24 | ||
| Tene | pmichaud: I used the .join() method | ||
|
04:26
rhr joined
|
|||
| chromatic | We're asking about > '' in if message > '' goto have_message. | 04:27 | |
| We changed it to != from > | 04:28 | ||
| One S04 TODO passed, probably due to that multi die checkin. | 04:33 | ||
| Tene | chromatic: due to implementing exception handlers, actually | ||
| chromatic | Okay, we just saw that. | ||
| Tene | pmichaud: can I just s/set_global/.lex/ $! there? | 04:36 | |
| pmichaud | no. | ||
| you have to set the $! of your caller. | |||
| because $! are statically scoped, not dynamically scoped. | 04:37 | ||
| (i.e., the $! would disappear as soon as you leave die.) | |||
| Tene | ah | ||
| pmichaud | the perhaps better alternative would be for the handler block to set $! instead of making 'die' do it. | ||
| although I guess 'die' has to do it anyway, so never mind. | 04:38 | ||
| pmichaud is tired -- it's been a long day + night. | |||
| pmichaud twitters the availability of CATCH blocks. | |||
|
04:38
gaurav joined
|
|||
| Tene | Is this enough for the milestone for the release, do you think? | 04:39 | |
| chromatic | t/spec/S04-statements/try test 13. | ||
| Tene | chromatic: yeah, it should be un-todo'd | ||
| pmichaud | Tene: absolutely. | ||
| You've done a fantastic job. | |||
| chromatic | Okay, we're checking in the new version of the test. | 04:40 | |
| pmichaud | excellent. | ||
| Tene | chromatic: several more will pass when some class stuff gets worked out. They're more testing classes than exceptions, though. | ||
| chromatic | How do we unfudge that test file to run through Rakudo on its own now? | ||
| pmichaud | needs to be added to t/spectest.data, if it's not already there. | 04:41 | |
| then mark any tests that need to be skipped with #?rakudo skip 'reason for skip' | |||
| chromatic | We just want to run that one test individually. | ||
| We just want to run that one test *file* individually. | |||
| Tene | chromatic: t/spec/fudgeall will re-fudge | ||
| pmichaud | make t/spec/S04-statements/try.t | 04:42 | |
| Tene | to generate try.rakudo | ||
| pmichaud | (automatically re-fudges the test) | ||
| Tene | Ah. Nice. | ||
| pmichaud | actually, it re-runs the test. | ||
| perhaps we should have make t/spec/S04-statements/try.rakudo simply generate the .rakudo file :-) | |||
| chromatic | Yes. Okay, leto is committing. | ||
| Tene | pmichaud: so, any other exception tasks for me that you can remember? | ||
| pmichaud | Tene: no, this is far more than I was expecting. | 04:43 | |
| (which means my expectation levels will now rise accordingly :-) | |||
| Tene | good | 04:46 | |
| Are you able to explain right now why you needed this before your loops refactor? | |||
| pmichaud | the loops refactor depends on our ability to be able to properly handle NEXT/LAST/REDO blocks in p6 | 04:47 | |
| (or their equivalents in other hlls) | |||
| so I needed to know how that was going to look at the PCT level | |||
| s/PCT/PAST/ | |||
| figuring out the PAST::Control block was a breakthrough for that | 04:48 | ||
| s/a/the/ | |||
| (and its relation to PAST::Stmts/PAST::Block) | 04:49 | ||
| Tene | also, please note that CONTROL blocks are still impossible until we get a prelude or translate the generated pir into integer types. | ||
| Okay, so your plan is to generate PAST::Control nodes and then pass them off to be translated to post the same way. | 04:51 | ||
| Seems like that's more work than just generating post directly. | |||
| pmichaud | ...generate post directly? From actions.pm? | ||
| Tene | ... you're doing the loops stuff in actions.pm? | ||
| pmichaud | no. | 04:52 | |
| let's back up. | |||
| Tene | ... oh, right, I get it now. | ||
| pmichaud | in PAST, we need the ability to allow HLL's to specify custom operations to be performed in response to next/last/redo exceptions in loops | ||
| but I can't write the loop code until I know how HLLs will specify those custom operations and be able to intercept the exceptions | 04:53 | ||
| Tene nods. | |||
| Right. I understand again now. | |||
| pmichaud | :-) | ||
| dalek | r33791 | chromatic++ | trunk: | 04:54 | |
| : [Rakudo] PDX.pm added a basic implementation of warn to Rakudo. This will need | |||
| : revision when HLLCompiler and/or Rakudo supports a top-level exception handler. | |||
| pmichaud | the loop code can now generate the exceptions, and we just make sure that any HLL exceptions are "inside" of the loop code. Actually, that happens naturally, the way we have it set up now. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=33791 | ||
| pmichaud | arggh | ||
| I mistyped again -- too tired | |||
| PerlJam | pm: get some sleep :) | ||
| pmichaud | the loop code can now generate the exception handlers, very similar to what you did in 'for' already. | 04:55 | |
| those handlers are "outside" of the loop, which means that any custom handlers on the body will take priority | |||
| which is exactly what we want :-) | |||
| Tene | :) | ||
| pmichaud | since those handlers don't typically handle the exception, but simply identify some extra steps to be performed as part of the next/last/redo operation, they'll rethrow the exception and the loop's handlers will take care of doing-the-right-thing | 04:56 | |
| we might be able to optimize a bit to avoid the extra throw, but that's the basic model. | 04:57 | ||
| this *also* means that loop labels will be easier to deal with, since the top-level handler will presumably know its own label. | |||
| (top-level _loop_ handler, that is) | 04:58 | ||
| Tene | also TODO, btw, is figuring out how Perl 6 sets the exception as handled and responds based on that. | ||
| I should #perl6 that. | |||
| pmichaud | I'm going to specify it now. | 04:59 | |
| $!.handled = 0; | |||
| Tene | I mean, automatically. | ||
| pmichaud | ...automatically? | ||
| I'm confused. | 05:00 | ||
| or do you mean if someone does when ExceptionType { ... } # marks exception as handled | |||
| Tene | right | 05:04 | |
| exactly | |||
| pmichaud | I didn't see anything that indicates that they're "automatically" marked as handled | ||
| but assuming there is, I presume the smart match would take care of it. | |||
| i.e., TypeName.ACCEPTS($x) marks an Exception $x as "handled" | 05:05 | ||
| Tene | You know, I think I could do some checking on the contexts of the exception handler and the exception to prevent an EH from catchign exceptions thrown from it. | 05:06 | |
| pmichaud | you mean to prevent a handler from catching the exception it rethrows? | ||
| Tene | That too. | 05:07 | |
| Wait | |||
| that never, ever happens now | |||
| pmichaud | you mean to prevent a handler from catching an exception it throws? | ||
| Tene | exceptions keep a list of handlers from the first itme they were thrown and it's reused on rethrow | ||
| Yes. | |||
| pmichaud | sounds a little tricky but could be do-able. | 05:08 | |
| Tene | Oh, and I also need to add handled_types_except to EH.pmc | ||
| I can do that one now. | |||
| pmichaud | that would be good. | ||
| mugwump | EH? | 05:09 | |
| sorry, couldn't resis | |||
| t | |||
| Tene | Oh, and I think someone here wanted me to blog about something? | 05:14 | |
| pmichaud | we all do. :-) | ||
| dalek | r33792 | tene++ | trunk: | 05:15 | |
| : [ExceptionHandler]: Add handle_types_except() | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33792 | |||
| pmichaud | blog posts identifying specific rakudo/parrot feature progress are some of our best p.r. | ||
| Tene | ... I probably should have tested that first. | ||
| pmichaud | if only because "working code trumps X", especially when there's a long history of X == "failed promises" | 05:16 | |
| a blog posting coming from you at this point would have extra weight, because it will publicly appear as though the size of the development team is growing | 05:17 | ||
| especially for a feature as intricate as exception handling | 05:18 | ||
| Tene | While you're talking about PR, thoughts on whether I should post just visible usage, also the PAST used for HLLs, or also implementation? | 05:22 | |
| pmichaud | whatever you think is most interesting to post about | ||
| Tene | ... yay, t/pmc/exceptionhandler.t fails! I broke it! | ||
| segfault! | |||
| purl | well don't DO that, then. | ||
| Tene | Hmm. That test was already failing, but TODO. | 05:31 | |
|
05:31
Hadi joined
|
|||
| pmichaud | it's okay to make it a 'skip', then. | 05:33 | |
| Tene | it's an "exceptionhandler subclass" test | 05:36 | |
| pmichaud | if those aren't working in Rakudo yet, it's okay to change it to a 'skip' | ||
| Tene | Yeah, it's segfaulting just from adding an additional ATTR | 05:38 | |
| pmichaud | potentially that's my earlier comment about "subclasses of Exception PMC not working" | 05:39 | |
| er, "potentially not working" | |||
| in my experience, this kind of stuff happens a fair bit in Parrot still :-( | 05:40 | ||
| dalek | r33793 | tene++ | trunk: | 05:47 | |
| : [t]: SKIP a segfaulting test for exceptionhandler subclasses, which | |||
| : don't work. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33793 | |||
| pmichaud | okay, I need sleep | 05:55 | |
| will be back on tomorrow morning (briefly) | |||
| Tene++ # fantastic work today | 05:56 | ||
| afk # sleep | |||
| Tene | Sleep well. | ||
|
06:02
Hadi joined
06:03
Hadi left
06:06
TiMBuS joined
06:09
notbenh joined
06:19
allison joined
|
|||
| dalek | r33794 | moritz++ | trunk: | 06:26 | |
| : [cage] svn props on tools/dev/vgp | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33794 | |||
|
06:46
chromatic joined
07:01
gaurav joined
|
|||
| Tene | blogs.gurulabs.com/stephen/2008/12/...-hlls.html | 07:06 | |
|
07:12
mberends joined
07:13
uniejo joined
|
|||
| GeJ | Tene++ | 07:17 | |
|
07:41
gmansi joined
07:57
iblechbot joined
08:12
Theory joined
08:28
gmansi joined
08:34
riffraff joined
|
|||
| cotto | msg chromatic It looks like the email request to Coverity worked. If you were going to do something, it's no longer necessary. | 08:51 | |
| purl | Message for chromatic stored. | ||
|
08:54
leto joined
|
|||
| chromatic | I was going to wait to see if that worked. | 08:58 | |
| I'll make sure that particle and tewk do the same. | |||
|
08:58
ffwonko joined
09:03
gmansi joined
09:07
Hadi joined,
Hadi left
09:14
UltraDM joined
09:20
Alias_ joined
|
|||
| Alias_ | Oopsie | 09:20 | |
| I just discovered that in the distro I burned to a CD and gave to larry, it didn't include the Perl 6 part :( | |||
| I guess I'll need to patch the CD :) | |||
|
09:25
Ademan joined
|
|||
| dalek | r33795 | fperrad++ | trunk: | 09:29 | |
| : [unlambda] global | |||
| : - update with get/set_global | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33795 | |||
| r33796 | fperrad++ | trunk: | 09:31 | ||
| : [Lisp] pdd22io | |||
| : - replace deprecated mode/flag open | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33796 | |||
| r33797 | fperrad++ | trunk: | 09:32 | ||
| : [Ook] pdd22io | |||
| : - replace deprecated mode/flag open | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33797 | |||
| jonathan@leto.net | Parrot: | 09:36 | ||
| link: www.perlfoundation.org/parrot/index.cgi?parrot | |||
|
10:05
alvar joined
10:06
tomyan joined
10:07
gaurav joined
10:14
AndyA joined
10:16
gmansi joined
10:28
elmex joined
10:36
ffwonko joined
10:42
ruoso joined
10:44
gmansi joined
11:11
gmansi joined
11:19
jq joined
11:28
kj joined
11:31
masak joined
11:46
gmansi joined
|
|||
| jonathan | hi all | 11:56 | |
| moritz | OH HAI | 11:58 | |
|
12:16
gmansi joined
12:18
masak joined
12:19
tomyan joined
12:33
ffwonko joined
12:34
Lorn joined
12:36
gmansi joined
12:50
jq joined
13:11
ffwonko joined
|
|||
| pmichaud | good morning | 13:23 | |
| masak | \\o | ||
|
13:24
ffwonko joined
13:28
gmansi joined
13:36
jq- joined
|
|||
| dalek | r33798 | kjs++ | trunk: | 13:40 | |
| : [pdd19] removed deprecated and removed stuff. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33798 | |||
| r33799 | kjs++ | trunk: | 13:44 | ||
| : [pdd19] add bits on implementation | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33799 | |||
|
14:04
gmansi joined
14:09
ffwonko joined
14:10
iblechbot joined
14:24
gmansi joined
|
|||
| Coke | PDX? | 14:29 | |
| purl | hmmm... PDX is Portland International Airport (www.pdx.com) or the local's name for Portland, Oregon (because Portland is too long to type) or Silicon DMZ - right between Microsoft and Sun/Netscape. or aka P-town or a great name for a perl module or (: pdx people ) | ||
| dalek | r33800 | pmichaud++ | trunk: | 14:30 | |
| : [rakudo]: spectest-progress.csv update: 235 files, 4916 passing tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33800 | |||
|
14:35
jhorwitz joined
|
|||
| nopaste | "pmichaud" at 12.146.222.130 pasted "spectest progress, by synopsis" (17 lines) at nopaste.snit.ch/14900 | 14:37 | |
|
14:49
gmansi joined
|
|||
| Coke | pmichaud: what is "regr" vs "test" ? | 15:03 | |
|
15:03
gryphon joined
15:07
jimmy joined
15:09
lathos joined
15:14
AndyA joined
|
|||
| tewk | pmichaud: I fixed it so .const lookup is by subid only but pct doesn't seem to be generating correct code for that. | 15:22 | |
| My latest subid patch forces a GC error out in the open. It looks a lot like coke's TT#10, but the pir is very short. | 15:29 | ||
| nopaste | "tewk" at 155.97.237.62 pasted "subid.diff run t/pmc/key.t for GC failure" (2834 lines) at nopaste.snit.ch/14901 | 15:30 | |
|
15:40
Andy joined
|
|||
| Tene | morning everyone | 15:41 | |
| Coke | tewk: c says #10 ain't gc. fyi. | 15:42 | |
| Coke prepares his "don't use partcl with tcl 0.8.2 blog entry." | |||
| Coke moves the quotes so that line makes sense. | |||
| tewk | it passes with -G | 15:43 | |
| it looks like a classic somthing not getting marked. to me. | |||
| moritz | Coke: if you do s/\\btcl/parrot/, it makes even more sense :-) | ||
| Coke cries. | |||
| tewk | does c know hat the problem is? | ||
| pmichaud | "regr" is number of tests in the spectest suite | 15:44 | |
| Coke | tewk: check the ticket. | ||
| tewk | if not I might have just generated a much much shorter test case. | ||
| pmichaud | sorry | ||
| "spec" is the number of tests in the spectest suite | |||
| Coke | moritz: this is why I have to /prepare/ the blog entry. | ||
| jonathan | pmichaud: How is the parameters refactoring going? | ||
| pmichaud | "regr" is the number of tests in the regression suite (the subset that we choose to run against Rakudo with "spectest+regression") | ||
| jonathan: looks like tomorrow or this weekend | |||
| I'm still out of town on my other job trip. | 15:45 | ||
| but it's next on my list of big tasks. | |||
| tewk: You're correct, PCT doesn't use subid correctly for that yet (because subid wasn't working completely the last time I looked at it -- e.g., with :multi. I haven't had a chance to look again since that was fixed.) | 15:47 | ||
| tewk | pmichaud: ok | ||
| jonathan | pmichaud: Aha, OK. | 15:48 | |
| pmichaud: Am working on project plan for the Hague Grant. | |||
| tewk | well I made it backwards compat and have the fix for subid test #25 ready to check in. | ||
| jonathan | pmichaud: Pondering if I should offer to take on doing some initial work on S14. | ||
| pmichaud | jonathan: short answer. "yes" | 15:49 | |
| jonathan | OK | ||
| I'll catch TimToady when I next see him about on #perl6 | |||
| dalek | r33801 | fperrad++ | trunk: | 15:51 | |
| : [Lua] exception | |||
| : - fix infinite loop in exception handler | |||
| : Don't use die (even indirectly) in an handler, but rethrow the exception. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33801 | |||
|
16:07
bphillips joined
|
|||
| particle | jonathan: what do i need to do to post to rakudo.org? | 16:12 | |
| jonathan | particle: Do you have an account there? | 16:13 | |
| particle | yes, but it's been so long | ||
| jonathan | If not, the first step is to get one... | ||
| ah, ok | 16:14 | ||
| www.rakudo.org/cgi-bin/mt/mt.cgi | |||
| Go there and log in, if you remember your account info. | |||
| If you're lucky, you won't get 500 error. ;-) | |||
| And then just click Write Entry in the top left. | |||
| pmichaud | jonathan: part of the reason we moved the synopses into pugs svn was to enable more people to write/draft them. | 16:15 | |
| jonathan | pmichaud: Sure, and that's a good thing. I just don't want to step on anyone's toes while doing so. | 16:16 | |
| And S14 has Larry's name next to it. | |||
| particle | spreadsheets.google.com/pub?key=p_p...tput=image | ||
| pmichaud | many of the names were put there because we wanted a name in the slot but didn't have anyone else stepping up to say "yes, me" | ||
| and this was just something we threw together in a day | 16:17 | ||
| jonathan | Ah, OK. | ||
| I probably wasn't there at the time to say "yes me" ;-) | |||
| pmichaud | Larry may have a strong desire to do the work on S14, but my guess is that he'd be very happy if others start drafts that he can then react to or work with | ||
| editing is typically far easier than creation | |||
| jonathan | I think part of what makes me a little more nervous is that I suspect S14 wants to have some stuff in other synopses *moved* to it. | 16:19 | |
| OTOH, I can go through it, copying them and putting in "this is from X in SNN" | |||
| And if it's approved we should move it there, go back and clear up later. | |||
| OTTH, we have svn revert... ;-) | 16:20 | ||
| pmichaud | jonathan: I think (but don't remember for sure) that when the new S14 was discussed it was in the context of "a lot of other pieces need to be moved to this" | 16:21 | |
| so, short answer, I think you're in the right ballpark | |||
| jonathan | Aha, good. | 16:22 | |
| Question - what's the status of doing the prelude in Perl 6. | 16:23 | ||
|
16:24
Theory joined
|
|||
| jonathan | As in, what are we blocking on, what's the expected timeline for dong it? | 16:24 | |
| pmichaud | (in conversation... one moment) | 16:26 | |
| expected timeline is "very soon" | 16:32 | ||
| I'd estimate a week or so | |||
| jonathan | Ah, OK, good. | 16:33 | |
| pmichaud | blocker is simply that I need to get the source structure in place for handling it well | ||
| that was partially why I needed to refactor List this weekend, and why q:PIR went into the implementation | |||
| jonathan | OK. So scribbling an assumption into my project plan that by late January this will be done is safe. | ||
| pmichaud | yes, very safe. | ||
| jonathan | Excellent. | ||
| pmichaud | it's one of my grant milestones for January as well. | ||
| jonathan | Ah, good. | 16:34 | |
| pmichaud | (my grant explicitly lists "prelude in P6" as a milestone.) | ||
| jonathan | Yes, I remember. :-) | ||
| I'm trying to set quite specific goals for what to have done each month in mine. | |||
| s/mine/my project plan/ | 16:35 | ||
| dalek | r33802 | fperrad++ | trunk: | 16:44 | |
| : [Lua] pdd22io | |||
| : - more FileHandle | |||
| : - refactor exception handling | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33802 | |||
|
16:45
andrew_ joined
|
|||
| Tene | pmichaud: anything specific you want me to work on, or should I just do the PDD24 review? | 16:48 | |
| pmichaud | pdd24 would be excellent | 16:51 | |
| that's very important for 1.0 | |||
| and since it's fresh, now is probably the best time to do it | |||
| oh, sorry, I was thinking pdd23 | |||
| (pdd23 exceptions, pdd24 events) | 16:52 | ||
| did you mean pdd24? | |||
| Tene | Events. | 16:55 | |
| Does exceptions pdd need review too? | |||
| jonathan | It might be worth giving it a look over while it's in your head, to spot anything it says that doesn't match what you know is implemented. | 16:57 | |
| pmichaud | exceptions pdd needs big time review, imho | 16:58 | |
| there are pieces of exceptions that don't match anything in the implementation | |||
| for example "exception;death" .... what exactly is that? | |||
|
17:02
riffraff joined
|
|||
| riffraff | hi | 17:02 | |
| is it normal that i see html in the urls for "next page" on RT ? | 17:04 | ||
| from the parrot first ticket page the url for "next page" is Simple.html?Page=2&Rows=50&Format=%0A%20%20%20'%3Cb%3E%3Ca%20href%3D%22%2Frt3%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__id__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3A%23'%2C%0A%20%20%20'%3Cb%3E%3Ca%20href%3D%22%2Frt3%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__Subject__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3ASubject'%2C%0A%20%20%20Status%2C%0A%20%20%20QueueName%2 | 17:06 | ||
| C%20%0A%20%20%20OwnerName%2C%20%0A%20%20%20Priority%2C%20%0A%20%20%20'__NEWLINE__'%2C%0A%20%20%20''%2C%20%0A%20%20%20'%3Csmall%3E__Requestors__%3C%2Fsmall%3E'%2C%0A%20%20%20'%3Csmall%3E__CreatedRelative__%3C%2Fsmall%3E'%2C%0A%20%20%20'%3Csmall%3E__ToldRelative__%3C%2Fsmall%3E'%2C%0A%20%20%20'%3Csmall%3E__LastUpdatedRelative__%3C%2Fsmall%3E'%2C%0A%20%20%20'%3Csmall%3E__TimeLeft__% | |||
| 3C%2Fsmall%3E'&Query=Queue%20%3D%20'parrot'%20AND%20(Status%20%3D%20'open'%20OR%20Status%20%3D%20'new'%20OR%20Status%20%3D%20'stalled')&Order=ASC&OrderBy=id | |||
| I do think it's not usual | 17:07 | ||
| kj | riffraff: please use nopaste to paste stuff, instead of in the channel | ||
| it clutters up the conversations :-( | 17:08 | ||
| jonathan | I think it's unusual... | ||
| riffraff | err, sorry it did not seem _this_ long | ||
|
17:14
hercynium joined
|
|||
| jhorwitz | does rakudo's "use" import subroutines marked with "is export" yet? | 17:23 | |
| andrew_ | yeah, RT links are a little creepy with HTML | 17:24 | |
| particle | jhorwitz: no | 17:30 | |
| jhorwitz | gr, ok | ||
| i shall work around it | |||
| unfortunately what i'm working on is also a workaround..... | |||
| particle | jhorwitz: do you want me on the phone with candace? | 17:31 | |
| jhorwitz | nah, i think we'll be fine | 17:34 | |
|
17:34
tomyan left
|
|||
| jonathan | pmichaud: ping | 17:36 | |
|
17:45
riffraff joined
|
|||
| pmichaud | pong | 17:47 | |
| jonathan: pong | 17:48 | ||
| jonathan | pmichaud: I may have found a lexicals bug, can you sanity check... | 17:51 | |
| sub foo($x) { return { x => sub { say $x } } } | |||
| If I do this, what should the output of the following be: | |||
| my $a = foo(1); my $b = foo(2); $a<x>(); $b<x>(); | |||
|
17:56
Whiteknight joined
|
|||
| pmichaud | initially I would think "1" and "2" | 18:01 | |
|
18:01
geof joined
|
|||
| pmichaud | however, there's probably a problem that the sub isn't being cloned properly on return | 18:01 | |
| jonathan | Yes, we get 2 and 2 now. | ||
| I suspect lack of cloning also. | |||
| Well, shouldn't we clone whenever we take a reference to a sub (like there in the hash)? | 18:02 | ||
| pmichaud | yes, but it's not always obvious to know when that happens | ||
| in this case the Pair is probably binding to the sub | |||
| jonathan | Yes, I was thinking exactly the same. | ||
| pmichaud | so, the question is, does x => $a keep a reference of $a, or a copy? | 18:03 | |
| I guess it has to be a copy | |||
| so we need to fix the Pair constructor so that it assigns to its $!value attribute instead of simply setting it. | |||
| (and that may solve the 'clone of sub' issue) | 18:04 | ||
| jonathan | > sub foo($x) { return sub { say $x } } | ||
| > my $a = foo(1); my $b = foo(2); $a(); $b(); | |||
| That example gives 1 and 2. | |||
| pmichaud | ohhhhhh | ||
| it'll get fixed when I finish Associative | |||
| jonathan | So in that case it's working. | ||
| Ah, great. | |||
| pmichaud | because hash is probably still doing binding. | ||
| or sometihng like that. | |||
| jonathan | Aha. | ||
| Win. | |||
| pmichaud | it's not using infix:= | ||
| jonathan | OK. | ||
| pmichaud | or it's the hash constructor that isn't working (same issue) | 18:05 | |
| anyway, it'll likely be fixed when associative lands (next day or two) | |||
| jonathan | Ouch on this one.. | ||
| pmichaud | and (thankfully) it doesn't look like a lexicals implementation bug yet | ||
| jonathan | > sub foo($x) { return x => sub { say $x } } | ||
| > my $a = foo(1); my $b = foo(2); $a(); $b(); | |||
| invoke() not implemented in class 'ResizablePMCArray' | |||
| Oh, I suspected it was a missing clone rather than the implementation was broken overall. | |||
| I just wanted to make sure my intuition on what should happen was right. | 18:06 | ||
| pmichaud | it is. | ||
| jonathan | OK | ||
| pmichaud | let's get Associative, Hash, and Pair running again and revisit this. It's an excellent test case, though, so let's get it added to spectest | ||
| jonathan | Good point. Know the right file off hand, or I can go dig... | ||
| I've been doing some design work on parametric roles. | 18:08 | ||
| PerlJam | jonathan: how is that second one supposed to work? | ||
| jonathan | PerlJam: I was expecting it to return a pair. | ||
| Oh, hmm. | |||
| PerlJam | foo() returns a Pair which is assigned to $a, but what does $a() mean? | ||
| jonathan | oh | ||
| I meant to do my $a = foo(1); my $b = foo(2); $a<x>(); $b<x>(); | |||
| Just went to the wrong line. | 18:09 | ||
| Either way it's still broken. | |||
| invoke() not implemented in class 'Undef' | |||
| Good point though. :-) | |||
| dalek | r33803 | particle++ | trunk: | 18:19 | |
| : [library] fix Config/JSON.pir to use 'readall' instead of deprecated 'slurp' | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33803 | |||
| Whiteknight | particle++ | 18:23 | |
|
18:35
barney joined
18:39
chromatic joined
18:41
tewk_ joined
18:42
allison joined
|
|||
| jhorwitz actually found he needs a currying subroutine... | 18:42 | ||
| jonathan | jhorwitz: Ah, we ain't done .assuming just yet. | 18:45 | |
| jhorwitz | yes, i found that out for myself. :) | 18:46 | |
| i'm just amazed i actually needed it for something | |||
| jonathan | :-) | ||
| jhorwitz | and rakudo (when finished) will give it to me | ||
| jonathan | How badly do you need it? If so, file a ticket. Maybe one of the implementation fairies will make it happen. | ||
| Tene | That should be a pretty easy method to write. | ||
| jhorwitz | i can very easily work around it | 18:47 | |
| Tene | jonathan: do you know if that method goes on Block, Routine, Sub, etc? | ||
| Seems like Routine | |||
| jonathan | Routine | 18:48 | |
| But we ain't re-blessing subs just yet. | |||
| So stick it in Code.pir for now, if you wanna write it. | |||
| Tene | Hmm. Easier to write in Perl 6 than PIR. | 18:49 | |
| --target=pir FTW | |||
|
18:51
ffwonko joined
|
|||
| Tene | Hmm. The P6 implementation doesn't work. | 18:54 | |
| related to that clone thing discussed earlier, maybe. | |||
| ... nevermind, I just can't type. | 18:55 | ||
|
19:03
allison joined
|
|||
| nopaste | "tene" at 67.137.148.207 pasted ".assuming example for jhorwitz" (6 lines) at nopaste.snit.ch/14906 | 19:14 | |
| Tene | jhorwitz: can you confirm that that Perl 6 example is correct? | ||
| jhorwitz | Tene: that looks correct for the positional argument case. | 19:15 | |
| Tene adding named now | |||
| jhorwitz: nopaste an example with named params? | 19:16 | ||
| nm | 19:18 | ||
| Hmm. | 19:19 | ||
| nopaste | "jhorwitz" at 96.245.16.64 pasted "Tene: assuming w/ named args" (5 lines) at nopaste.snit.ch/14907 | 19:23 | |
| jhorwitz | in case you didn't find it already... | ||
| moritz | damn, the tests in blocks/currying.t won't work, because rakudo doesn't allow positional args to be used as named | 19:27 | |
| Tene | I have positional working fine easily. Named is breaking for me. | ||
| I'll finish after this lecture. | |||
| jhorwitz gathers karma for distribution | 19:28 | ||
| moritz | Tene: in general, if you plan to implement a feature, you can ask me one or two days before, and I'll try to come up with some easy tests | 19:30 | |
| Tene | moritz: this wasn't planned. :) | ||
| moritz | Tene: ;-) | 19:31 | |
| jonathan | moritz: In that case, see my grant plan for three months of tests to write. <grin> | ||
| moritz | anyway, this is a general offer... if people want tests for a particular subject, they can always try to bother me. It won't always work, but it will work sometimes | ||
| chromatic | moritz, we couldn't find any tests for warn() last night. | 19:32 | |
| dalek | r33804 | tene++ | trunk: | ||
| : [rakudo]: Add .assuming on Code objects for currying. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33804 | |||
| jonathan | moritz: Seriously, any you can contribute on the areas I'll be working on will be most welcome. :-) | ||
| moritz | chromatic: that one is hard, because it's pretty much impossible to test for warnings from withing rakudo right now | ||
| chromatic: which is also one of the reasons for the many unitialized warnings that we used to see in the spectests | 19:33 | ||
| purl | okay, moritz. | ||
| moritz | purl: forget which | ||
| purl | moritz: I forgot which | ||
| chromatic | purl should probably ignore definitions which start with someone's name followed by : or , | 19:34 | |
| purl | chromatic: huh? | ||
| Whiteknight | purl, he said you're retarded | ||
| purl | Whiteknight: sorry... | ||
| chromatic | moritz, that makes sense, but there weren't even any spectest tests. | ||
| moritz | chromatic: and the second problem is that there's no simple way yet do the equivalent of qx/.../ in rakudo, so I can't launch external another interpreter to test it :( | 19:35 | |
| chromatic: if you have any ideas how to test it anyway, they'd be most welcome | |||
| Tene: I don't find any mention of currying with positional args in the specs... what does it do? fill them from the front? | 19:36 | ||
| chromatic | Redirecting $*ERR perhaps/ | 19:38 | |
| moritz | NYI | ||
| tewk_ | chromatic: What do you thing TT#10 is? Coke said you didn't think it was a GC problem | 19:40 | |
| chromatic | moritz, the tests don't have to work in Rakudo right now. They have to *exist* somewhere sometime. That's all I want for now. | ||
| moritz | chromatic: got a point there. | ||
| chromatic | tewk_, I think the problem is that something does PMC_sub(sub) on a ParrotObject PMC which subclasses Sub. | 19:41 | |
| Because ParrotObject and Sub aren't isomorphic at the PMC_data(pmc) level, POW! | 19:42 | ||
| tewk_ | so why did it work previous to me changing the PMC_sub(sub) layout. | 19:43 | |
| chromatic | Luck? | ||
| purl | Luck is probably being ready. | ||
| Whiteknight | purl forget Luck | ||
| purl | Whiteknight: I forgot luck | ||
| tewk_ | Well I changed it again and I'm getting a similar error in t/pmc/key.t now. | ||
| chromatic | If you look at Coke's backtrace, something's getting passed around which isn't a valid pointer. | 19:45 | |
| I don't remember the exact details, but in one case, he expected a STRING * which had a value of 0x44 or something. | |||
| tewk_ | chromatic: Right. | ||
| chromatic | An easy test is subclassing a Sub in PIR then trying to add it to a NameSpace manually, or something similar. | 19:46 | |
| tewk_ | but running with -G caused coke's the crash to go away. The same is true with my t/pmc/key.t failure now, add a -G and it goes away. | ||
| chromatic: good idea, I'll write the test tonight. | |||
| chromatic | That doesn't necessarily make it a GC error. | ||
| Remember that we don't sweep pools with -G, so we never re-use memory for collectable garbage. | 19:47 | ||
| Our memory layout moves around, which can hide bugs like standard C memory errors without GC. | |||
| If the allocated memory for PMC member data with -G happens to be all zeroed, it'll look like we don't have a valid pointer there (which we check anyway) and we won't get a crash. | 19:48 | ||
| tewk_ | Ok makes sense. Well, I have a shorter pir example now. | 19:50 | |
| I'll see if I can shorten it still. | |||
| t/pmc/key.t has references to tcl, looks like it may have been distilled from a tcl bug | 19:51 | ||
| $P1 = subclass $P0, 'TclProc' | 19:52 | ||
| Ok I think I finally get what the bug is. | 19:53 | ||
|
19:56
Auzon joined
|
|||
| dalek | r33805 | bernhard++ | trunk: | 19:57 | |
| : [Pipp] Use FileHandle class for PHP streams, still some failures | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33805 | |||
| r33806 | tewk++ | trunk: | 20:02 | ||
| : [subid] passes test 25 now | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33806 | |||
|
20:06
jhorwitz_ joined
|
|||
| tewk_ | PMC_sub -> PCM_struct_val, but the same arguement applies | 20:08 | |
| chromatic | We really ought to make all of that data PMC attributes for Sub, and use those macros and accessors. | 20:10 | |
| tewk_ | I need to go look at the code again, a lot has changed since I last read it. | 20:11 | |
| I'm not sure wher ATTRs get stored. There is PMC_data, PMC_EXT PMC_struct_val, it needs some cleaning and unification work | |||
| chromatic | ATTRs get stored in PMC_data, but we have accessor macros which respect subclasses. | 20:14 | |
| tewk_ | I'll have to go look at those macros, where are they? | 20:15 | |
|
20:15
davidfetter joined
|
|||
| Tene | jhorwitz: can you confirm that that works for you? | 20:16 | |
| tewk_ | so are you saying turn pmc_sub fields into ATTRS? | 20:17 | |
| chromatic | Yes. | ||
| tewk_ | got it | ||
| chromatic | Look at src/pmc/class.c and src/pmc/pmc_class.h for the generated code. | 20:18 | |
| davidfetter | re | ||
| jhorwitz | Tene: apparently i got disconnected. can you repeat? | 20:19 | |
| tewk_ | irclog? | ||
| purl | i think irclog is irclog.perlgeek.de/parrot/today or see also: infrared clogs | ||
| Tene | jhorwitz: my .assuming commit | 20:20 | |
| jhorwitz | Tene: gotcha. will take a look in a bit | ||
|
20:36
Hadi joined
|
|||
| dalek | r33807 | bernhard++ | trunk: | 20:36 | |
| : Unbreak some tests by (not) handling exceptions. | |||
| : Set some tests to TODO. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33807 | |||
|
20:50
Hadi left
|
|||
| particle | why didn't my rakudo.org post make it into the feed? | 20:54 | |
| moritz | particle: none of todays posts are there yet | 20:57 | |
| dalek | r33808 | moritz++ | trunk: | ||
| : [rakudo] add a test file for list assignment to spectest.data | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33808 | |||
| particle | moritz: the currying post is there, that happened today | ||
| cotto | There isn't any way that sizeof (opcode_t) could be 0, is there? | ||
| particle | unless sizeof (int) is zero.... | 20:58 | |
| cotto | I didn't think so. | ||
| Tene | That sounds like a fun architecture to port to. | ||
| particle | gives a new meaning to "pointer arithmetic" | 20:59 | |
| PerlJam | Is there a list of architectures parrot has been compiled on somewhere? | 21:00 | |
| cotto | src/packfile/pf_items.c PF_size_integer, for the curious | ||
| PerlJam, PLATFORMS | 21:01 | ||
| PerlJam | doh! thanks. | ||
|
21:05
allison joined
|
|||
| moritz | pmichaud: is there any reason not to have t/spec/S16-filehandles/io_in_while_loops.t in t/spectest.data? it all passes, but ISTR that you removed an IO test from spectest.data at some point... | 21:07 | |
| pmichaud: speaking of that, I would be nice to have a list of test files that we regress on as comments in t/spectest.data, together with reason or symptoms | 21:08 | ||
| particle | moritz: i think we regressed on that one for a while | ||
| moritz++ # better than svn log-diving for that info | 21:09 | ||
| moritz | particle: so if it now passes again, should I re-include it? | ||
|
21:09
bacek joined
|
|||
| particle | how close to 5000 does it get us? ;) | 21:09 | |
| moritz | some 15 iirc | 21:10 | |
| particle | yes, i think it can be included again | ||
| i'll run spectest on windows after your commit | |||
| dalek | r33809 | moritz++ | trunk: | 21:12 | |
| : [rakudo] two more files for spectest.data: array slicing, and IO | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33809 | |||
| moritz | particle: go right ahead ;-) | ||
| dalek | r33810 | cotto++ | trunk: | 21:16 | |
| : [packfile] fix CID #160, since sizeof (opcode_t) is not likely to be 0 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33810 | |||
| jonathan | moritz: I did some IO fixes. | 21:19 | |
| moritz | jonathan: ok, so basically "everything that passes is ok to include"? | ||
| jonathan | And applied some from bacek++. So it's quite possible that I fixed whatever broke that test. | ||
| I don't see why not. | |||
| moritz | ok | 21:20 | |
| jonathan | How many passing are we at now? | ||
| moritz | (there are a few test files that I don't include intentionally, because they don't reflect the current spec) | ||
| jonathan: dunno, but I'll give you another update before I go to bed ;-) | |||
| jonathan | If they don't do that, I'm not sure if they are good to have in t/spec at all. | ||
| moritz | jonathan: I know. But it's not right to downright delete them either | 21:21 | |
| jonathan | Oh, sure. But there's probably a first way. | ||
| "spectest purgatory" | |||
| erm | 21:22 | ||
| I meant third way. :-) | |||
| moritz | skip_all('test file needs cleanup'); | ||
| anyway, I noticed that these days working with rakudo + test suite is *so* much easier | 21:23 | ||
| particle | jonathan: 4914 iirc | ||
| moritz | back in the days, I had to re-write tests not to use list assignment, or not to use explicit return, or whatever... | ||
| davidfetter | anybody know about the microsoft/cpan thing? | ||
| in terms of people at msft i can contact... | 21:24 | ||
| particle | davidfetter: pester alias | ||
| moritz | davidfetter: Alias does, he usually hangs out on #p5p | ||
| davidfetter | particle, thanks :) | ||
| is that on this network? | |||
| moritz | davidfetter: aye | ||
| (but he's not there atm) | |||
| davidfetter | i see | ||
| davidfetter checks what time it is in SYD | 21:25 | ||
| kinda early friday morning, i see | |||
| dalek | r33811 | moritz++ | trunk: | ||
| : [rakudo] add a test for predictive parsing to spectest.t | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33811 | |||
| particle | davidfetter: there's always email... | ||
| davidfetter | good point | ||
| what's alias's? | |||
| purl | alias's is a function? :/ | ||
| particle | alias? | 21:26 | |
| purl | alias is a crackhead with dreams of world domination, and unfortunately they seem to be working or daddy or obsessed with SMS or Alvin or Zune lover or not a half-ton animal or the dude who broke BinGOs's hot-rod. or using UE and I need to get him over to start using Padre,so I need to implement his favorite features :-) or a Cewebrity | ||
| particle | adamk@cpan.org should get to him | ||
| moritz | ali.as/contact.html | ||
| davidfetter emails | 21:28 | ||
| thanks :) | |||
| dalek | r33812 | moritz++ | trunk: | 21:36 | |
| : [rakudo] tests for passing hashes to subs | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33812 | |||
|
21:37
contingencyplan joined
|
|||
| Coke | chromatic: do year old PLATFORMS results help anyone? | 21:38 | |
| particle | they might help somebody say, "oh, i'd better submit a newer PLATFORMS entry" :) | 21:39 | |
| chromatic | Beyond that, they don't help me. | 21:41 | |
| PacoLinux | tru64-alpha-compaq_c6.5 is supported ? | 21:42 | |
| dalek | r33813 | coke++ | trunk: | 21:43 | |
| : Remove very old platform reports from 2006. | |||
| : If your platform just got removed, run a test against svn-current before the 0.8.2 release. Thanks! | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33813 | |||
| Coke | supported? no. did it work once? mostly. | ||
| I'm pretty sure we'll gladly update our supported list if we have a porter for it. | 21:44 | ||
| PacoLinux | I think I can give it a try .. :) | ||
| Coke | chromatic, particle: I only cut through 2006. If someone wants to delete 2007, I won't cry. | 21:45 | |
| pmichaud | (io_in_while_loops.t) I removed (regressed) it because it was one of the last things holding up the IO branch merge, and it wasn't worth holding things up for that. If it's passing again, it's okay to re-include it. | ||
| I agree that in the future when we regress something out of spectest.data, we comment it out instead of eliminate it. | |||
| (with a note) | |||
| I thought about doing that at the time, but didn't want to blaze a new trail on that just yet. | |||
| (i.e., I needed a quick decision without a lot of time for reflection, so I went with the "safe" one.) | 21:46 | ||
| particle | www.cyberciti.biz/tips/ignorant-tea...ation.html | 21:47 | |
| Tene | pmichaud: where do you get your 'numbe rof passing tests' data from? | 21:48 | |
| pmichaud | from running the test_summary.pl script in tools/ | ||
| I'm running it now. | |||
| PerlJam | particle: that story is really making the rounds. that's the 4th or 5th time I've seen someone mention it. | 21:49 | |
| nopaste | "moritz" at 89.14.193.12 pasted "Current test summary" (15 lines) at nopaste.snit.ch/14913 | ||
| pmichaud | I have an locally updated version I'm using, too, that gives me a few other statistics (needs one or more two updates before ci) | ||
| moritz | PerlJam: it has more than 1000 upvotes on reddit, that's quite rare | 21:50 | |
| particle | it'd be nice to have the test_summary spit out a csv entry. i'd also like the column order modified to make google charts easier | 21:51 | |
| *csv entries | |||
| PerlJam: it's the first time i've seen it, and it's *funny* | 21:52 | ||
| pmichaud | particle: what sort of csv entry? | ||
| chromatic | This is funnier: freesoftwareforkaren.com/ | ||
| pmichaud | I can modify the column order, too. | ||
| PerlJam | particle: funny in a sad way, yes. | ||
| chromatic | Fixing everything in S04 would get us to 5k. | ||
| moritz | chromatic: fixing the unicode parsing would also do that, I think | 21:53 | |
| particle | pmichaud: if it spit out a csv file, it could easily feed a graph creator to post to the web | 21:54 | |
| pmichaud | particle: I didn't ask for "why", I asked for "what" :-) | 21:58 | |
| tell me what you want it to look like, I'll make it happen. :-) | |||
| particle | oh | ||
| Synopsis,pass,fail,todo,skip,test,plan | 21:59 | ||
| pmichaud | you mean just the test summary at the end, then? | ||
| particle | yep | ||
| i guess it could be per-file, too | |||
| pmichaud | my locally modified version also outputs a "spec" column (number of tests in that section of spec) -- where should it go? | 22:00 | |
| particle | i really want the summary data | ||
| that section of spec? | |||
| pmichaud | yes | ||
| (getting example.) | |||
| particle | S29-str? | ||
| pmichaud | S29 | ||
| nopaste.snit.ch/14900 | 22:01 | ||
| particle | ah, yes. this is the data i used for my blog post | ||
| lemme check my google spreadsheet... | 22:02 | ||
| Synopsis summary\tpass\tfail\ttodo\tskip\ttest\tregr\tspec | 22:03 | ||
| Coke | the tcl version of the test runner adds a line to the progress.svn file. =-) | ||
| sadly, progress there is far less interesting. | |||
| moritz hopes he can break this output by overflowing at least one column | |||
| Coke | (or frequent!) | ||
| pmichaud | particle: why that particular ordering of columns? | ||
| (out of curiosity) | 22:04 | ||
| and then should I change spectest-progress.csv to match? | |||
| do you specifically want "tab" characters there, or can I use commas? | 22:05 | ||
| moritz | that would break the other graphing script :( | ||
| pmichaud | moritz: yes, but we can fix the other graphing script easily enough. | ||
|
22:05
particle1 joined
|
|||
| particle1 | i don't so much care about the order of the last three | 22:05 | |
| moritz | pmichaud: aye | ||
| pmichaud | right now it's kinda inconsistent anyway, since the "spec" column is at the end but the other totals are at the beginning | 22:06 | |
| moritz | pmichaud: and I have to fix my (local) gnuplot script as well... I guess that's what I get for not comitting my stuff ;-) | ||
| particle1 | i think commas are easier than tabs | 22:07 | |
| pmichaud | moritz: if it's just you and I then I don't mind changing the order now | ||
| particle1 | the tabs are a cut&paste artifact | ||
| pmichaud | otherwise we end up with the "makefile tab" problem. | ||
| moritz | pmichaud: sure, go ahead | ||
| pmichaud | well, it won't be "right this minute", but sometime before the day is out. | ||
| probably at the next spectest-progress update | |||
| PerlJam | moritz: Just key off of the header rather than relying on a specific order | 22:08 | |
| particle | i get 4953 pass | ||
| Tene | I get 4965 | ||
| particle | i need to svn up t/spec :) | ||
| moritz | I think Tene is most up-to-date | ||
| pmichaud | I'm running my spectest-progress.csv script on head now | 22:09 | |
| whenit's done I'll report the "official" head results and then head to the airpot. | |||
| *airport | |||
| moritz | PerlJam: then I still have to rely on the exact text of the headers - it's just a different level on which things might break or not break | ||
| pmichaud | particle: why that particular ordering, ooc? | 22:10 | |
| particle | then i can generate a chart with the range A1:E16 | ||
| i don't so much care about the order of the last three | |||
| pmichaud | okay, wfm. | ||
| it shall be done a bit later. | |||
| particle | pmichaud++ | 22:11 | |
| pmichaud | is it okay if the values have leading spaces? | ||
| PerlJam | moritz: granted. But I don't see anyone clamoring to change the header text while I do see people reordering the columns | ||
| :-) | |||
| pmichaud | so that I can keep them aligned in columns? | ||
| I'm also going to change the header text. | |||
| particle | pmichaud: wfm | 22:12 | |
| pmichaud | that way they can still display in "columns", easier to read for hyoomans | ||
| particle | yes | ||
| moritz | PerlJam: at the time of writing I didn't see anybody reordering the columns either ;-) | ||
| pmichaud | S02-builtin_data_types/lists.rakudo................ 16 16 8 0 0 8 2 skipped: No prefix:<\\> yet 5 skipped: Method 'lvalue' not found for 'PAST::Stmts' | 22:13 | |
| That "lvalue not found for..." condition should no longer be true. | |||
| PerlJam | moritz: clearly you need a config file that contains all of the meta-info about the file so that you don't have to modify your script ;-) | ||
| pmichaud | The test might still fail, but not for *that* reason. | ||
| so we might pick up 5 tests there. | |||
| moritz | PerlJam: anyway, if you think one way is "righter" than the other, feel free to patch tools/progress-graph.pl ;-) | ||
| pmichaud: I'll take a look | |||
| pmichaud | oh, I'll patch progress-graph.pl | ||
| it'll be part of the same commit. I use progress-graph.pl to generate the graphs I use. | 22:14 | ||
| particle | sheesh, i didn't even know about progress-graph.pl | ||
| pmichaud | (www.pmichaud.com/perl6 for those following along) | ||
| Tene | rakudo.de/ | 22:15 | |
| Coke waits for someone to animate those pictures. | |||
| moritz | yeah, that's my site ;-) | ||
| Coke: nice idea ;-) | |||
| one of the tests in lists.t: | 22:16 | ||
| dies_ok { ($foo, 42, $bar, 19)[1, 3] = (23, 24) }, | |||
| "using list slices as lvalues works (2)"; | |||
| Coke | should rakudo.org have a section on getting rakudo? | ||
| pmichaud | ...shouldn't that be [0,2] ? | ||
| oh, we're testing that they're read-only | |||
| moritz | pmichaud: ah, that's why it's dies_ok | ||
| pmichaud | we don't do a lot of checking for lvalues on assignment yet | 22:17 | |
| Coke CURSES. | |||
| chromatic | Use ncurses; it's more stable. | ||
| Coke | I see there's a perl workshop in bulgaria; I no longer work for the copmany who might have sent me there on a junket. | 22:18 | |
| PerlJam | Coke: I thought tcl had tk? | ||
| jonathan | rakudo.org should have a lot of things, IMO... :-S | ||
| Coke | PerlJam: only you can port tk to partcl. | ||
| pmichaud | also: | ||
| S03-operators/assign.rakudo........................ 309 309 74 0 39 196 21 skipped: list assignment | |||
| 21 skipped because of "list assignment" looks suspicious. | |||
| PerlJam | Coke: somehow I doubt that I'm the man for that job. | ||
| particle | more different curses | ||
| pmichaud | Coke: short answer: yes, rakudo.org should have such a section. I'll even write it. | 22:19 | |
| medium-term answer: yes, but the "how to get" will change in a month or two. | |||
| moritz | rakudo: my ($a, $, $b) = 1..3; say $b; | 22:20 | |
| PerlJam | Coke: though the other day when you had some segfault problems, I decided I was going to help you fix it. so, I went through the steps of installing/compiling partcl, but somewhere in the middle I fell asleep and so that was as far as I got. | ||
| pmichaud | I agree that it's worthwhile to have something up there now, also, given the increasing interest in rakudo and that people are more likely to want to play with it over the holidays. | ||
| polyglotbot | OUTPUT[Missing right parenthsesis after signature at line 1, near "$, $b) = 1"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤called from Sub 'parrot;Perl6;Grammar;declarator' pc 78857 (src/gen_grammar.pir:23027)ā¤called from Sub 'parrot;Perl6;Grammar;scoped' | ||
| ..pc 79474 (src/gen_grammar.pir:23266)ā¤called from... | |||
| pmichaud | I think rakudo doesn't understand sigils-without-names in signatures yet. | ||
| moritz | aye | ||
| pmichaud | shouldn't be too hard to add, though. | ||
| moritz | pmichaud: so I'll update the fudge message | 22:21 | |
| pmichaud | that would be excellent. | ||
| particle wonders if rakudo parses submethods yet (should be *easy*) | |||
| pmichaud | parses, yes. Runs, no. | ||
| er. | |||
| Tene | ... I have a big jump in passing tests here shortly... | ||
| pmichaud | rephrase | ||
| parses submethods is easy. running submethods is not. | |||
| particle | right. | ||
| Tene | ... oh, nm | 22:22 | |
| moritz | rakudo: my ($x, @b) = 1..3; say @b.perl | 22:23 | |
| polyglotbot | OUTPUT[2ā¤] | ||
| particle | rakudo: submethod foo() {1} | ||
| polyglotbot | OUTPUT[Statement not terminated properly at line 1, near "{1}"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤called from Sub 'parrot;Perl6;Grammar;eat_terminator' pc 27436 (src/gen_grammar.pir:3364)ā¤called from Sub 'parrot;Perl6;Grammar;statementlist' pc | ||
| ..26092 (src/gen_grammar.pir:2831)ā¤called from Sub 'p... | |||
| pmichaud | rakudo: my ($x, @b) = 5..7; say @b.perl; | ||
| polyglotbot | OUTPUT[6ā¤] | ||
| pmichaud | rakudo: my @b = 5..7; say @b.perl; | ||
| polyglotbot | OUTPUT[[5, 6, 7]ā¤] | ||
| jonathan | particle: submethods will get done in January I expect. | 22:24 | |
| pmichaud | rakudo: my (@b) = 5..7; say @b.perl; | ||
| polyglotbot | OUTPUT[5ā¤] | ||
| pmichaud | okay, bug in list assign. | ||
| moritz | tests++ | ||
| Coke | tewk++ # still poking about on tt#1- | ||
| tt#10, even | |||
| pmichaud | moritz: file a rakudobug for that one if you get a chance. | 22:25 | |
| tewk_ | Coke: I'll look tonight and see how painful the fix is going to be. | ||
| its pure luck that it has worked up till now. | |||
| moritz | pmichaud: will do | 22:26 | |
| Coke | I saw c say that, ya. | ||
| Coke wonders if can really take 10m to empty his pc's recycle bin. Sheesh. | 22:27 | ||
| tewk_ | I didn't realize at first that the last test in t/pmc/key.t was distilled from tcl | ||
| Coke | *it | ||
| yah. tcl has been breaking parrot for some time now. :| | |||
| PerlJam | tewk_: when was the last time you touched ecmascript? how "maintained" is it? | ||
| tewk_ | its not, I just wrote the original parser. Someone forked it as a MS project, but I haven't heard anything in a while. | 22:28 | |
| particle and I wrote the original parser. | |||
| particle | kj may have worked on it for a bit | 22:29 | |
| 'svn log' knows all | |||
| Tene | 'break' and 'continue' are going to come with the loops refactor | ||
| PerlJam | aye | ||
| tewk_ | PerlJam: it would be another cool language to have. | 22:30 | |
| PerlJam | tewk_: yep. I may start hacking on it tonight. | ||
| particle | PerlJam++ | 22:31 | |
| PerlJam | I still think that the two most important languages to hit (other than perl6) are javascript and php. | ||
| Coke cries. | 22:33 | ||
|
22:33
allison joined
|
|||
| Tene | Coke: what's up? | 22:35 | |
| purl | The birds, the sky, and the ceiling. | ||
| PerlJam | Coke: oh, and tcl is really important too ;) | ||
| moritz | assign.t is a pretty heavy beast :/ | 22:38 | |
| Coke | wtf. running adobe reader 6. run the "check for updates". get 7. run "check for updates" get 9. | 22:41 | |
| PerlJam | Coke: 6 didn't know how to check for more than a single version upgrade. 7 does. | 22:42 | |
| Coke | and then the 9 vanished from the list. downloading by hand... | 22:43 | |
| Coke hopes parrot does this better. =-) | |||
| the cruel bit is I'm doing this to be able to read cold fusion docs. | |||
| Coke wonders if a CFMX port on parrot is legally allowable. | 22:44 | ||
| PerlJam | Coke: oh that's right ... I've been meaning to send you my condolences. | ||
| Coke | . o O (not for the first time.) | ||
| dalek | r33814 | tewk++ | trunk: | 23:02 | |
| : [js] changed n_add to add | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33814 | |||
|
23:07
allison joined
23:18
TiMBuS joined
23:20
Whiteknight joined
|
|||
| tewk_ looks at the black magic in parsing rakudo ws | 23:26 | ||
|
23:33
AndyA joined
23:35
bacek_ joined
|
|||
| tewk_ | someone have a grammar rule for c sytle comments? | 23:38 | |
| moritz | is there none in ncigen? | 23:39 | |
| tewk_ | no I use a preprocessor there | ||
| GeJ | Good morning everyone | ||
| moritz | ah | 23:40 | |
| GeJ | servus moritz | ||
| tewk_ | I know I've asked pmichaud a dozen time, we should start a wiki of common/best practices for pge | ||
| ahh, I'll go look at php | 23:41 | ||
| particle | tewk_: start it yourself, with big gaps in it | ||
| tewk_ | where point me to the right wiki and I'll start a page | ||
| particle | trac.parrot.org/parrot/wiki | 23:42 | |
| languages/pipp probably has what you need, yeah | |||
| dalek | r33815 | cotto++ | trunk: | 23:57 | |
| : [imcc] IMCC_subst_constants uses r[2], so make sure regs has enough elements (CID #170) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33815 | |||