|
Parrot 0.9.1 Released | parrot.org/ | < 1 week to Parrot 1.0! Set by moderator on 10 March 2009. |
|||
| rg | the other 4 tests are ok | 00:00 | |
| rurban | what does 16_le=>8_be do? coredump or wrong values? | ||
| 0 or random? | |||
| rg | that one is actually all zeroes | 00:01 | |
| rurban | (for reference, this was cvt_num16_num8_le) | 00:04 | |
| NotFound | Must go sleep. Not sure yet if the encoding thing will be fixable in reasonable time. | 00:05 | |
| rurban | thanks, bye! | 00:06 | |
| rg | so, what should i run next? build with --floatval="long double"? | 00:07 | |
| rurban | would be good, yes | ||
| but I need the new _6.pbc files also | 00:09 | ||
|
00:09
AndyA joined
|
|||
| rg | i've mailed them to you | 00:09 | |
| rurban | thanks! | ||
| rg | on monday i think | ||
| wayland76 | How do I add things to the runtime search path? | ||
| rg | btw would you mind reverting r37130? i don't think we need either change (at least not at the moment) | 00:11 | |
| rurban | parrot -l or export PARROT_RUNTIME= | 00:13 | |
| wayland76 | Option -l not known | 00:20 | |
| Did you mean -L | |||
| rg | he might. or -I. I haven't tried/needed any of them yet (not working on languages) | 00:22 | |
| rurban | big I for INC or big L for LIB | 00:23 | |
|
00:23
tetragon joined
00:24
ujwalic joined
|
|||
| wayland76 | Yeah, that's what the help says, but it doesn't seem to be working for me. I'll keep debugging | 00:30 | |
| rurban | It's probably not tested. RT#46815 test remaining options | 00:33 | |
| Thanks for this catch | |||
| dalek | rrot: r37368 | rurban++ | trunk/config (2 files): [config] TT #364 revert r37130 as discussed in the ticket |
00:34 | |
| rg | thanks | 00:35 | |
| rurban | Yes, I could never test this. | 00:36 | |
| dalek | rrot: r37369 | rurban++ | trunk/t/native_pbc (6 files): [t] update native_pbcs for big-endian from Rolf Grossmann |
00:38 | |
| rg | uh oh, for 16_be number really isn't working much ;) | 00:50 | |
| ok 3 - 8_be=>16_be and ok 6 - 8_be=>16_be | 00:51 | ||
| not ok 1 - 8_le=>16_be: some random, really small (...e-320) numbers (except the last -1.75738820098141e+159) | 00:52 | ||
| not ok 2 - 12_le=>16_be: all zeroes | 00:53 | ||
| 4 is like 1 and 5 is like 2 | |||
| dalek | rrot: r37370 | rurban++ | trunk/t/native_pbc (4 files): [t] internally update the testmatrix, so that at least interesting parties can help out |
||
| rurban | 8_le 12_le 16_le 8_be 16_be | 00:54 | |
| 8_le 1 1 1 1 0 | |||
| 12_le 1 1 0 0 0 | |||
| 16_le 1 0 1 0 0 | |||
| 8_be 1 1 1 1 1 | |||
| 16_be 1 1 1 0 0 | |||
| correct? | |||
| rg | with 0 being todo? | ||
| rurban | 0 is skipping (failing) ? is todo | 00:55 | |
| no we have 100% coverage, no todos anymore | |||
| rg++ | 00:56 | ||
| rg++ for _6.pbcs | |||
| rg | i think failing tests should be todo, so we can tell when we got them fixed | ||
| rurban | and now I'm going to sleep. unfortunately we cannot watch the smokes now | ||
| allison thinks differently | 00:57 | ||
| rg | i hope she'll lighten up after the release | ||
| rurban | that's the biggest problem. you can try to persuade I her. I gave up | ||
| dalek | rrot: r37371 | rurban++ | trunk/t/native_pbc/number.t: [t] 16_be updates from Rolf Grossmann. Full coverage now |
||
| rurban | but I'll try to fix the implementation now that I have the data and see what I can do | 00:58 | |
| rg | i'll send you the _7 files in a minute | ||
| rurban | thanks. | ||
|
01:02
ruoso joined
|
|||
| rg | hmm 16_be => 16_be (or probably any) isn't tested, since we didn't have the files, but it seems to work fine | 01:03 | |
| wayland76 | Doh! LD_LIBRARY_PATH works. ++ to the guy who suggested that last night | 01:18 | |
|
01:20
TiMBuS joined
01:30
eternaleye joined
01:45
Fayland_logger joined
|
|||
| dalek | tracwiki: v2 | dukeleto++ | GSOC2009Tasklist | 01:49 | |
| tracwiki: trac.parrot.org/parrot/wiki/GSOC20...ction=diff | |||
| shorten | dalek's url is at xrl.us/beje2q | ||
|
01:55
gryphon joined
|
|||
| dalek | tracwiki: v3 | dukeleto++ | GSOC2009Tasklist | 02:01 | |
| tracwiki: trac.parrot.org/parrot/wiki/GSOC20...ction=diff | |||
| shorten | dalek's url is at xrl.us/beje39 | ||
|
02:15
Andy joined
02:39
dukeleto joined
03:36
janus joined
|
|||
| rblackwe | I am working on the pre-YAPC|10 event, Parrot Virtual Machine Workshop 2009, please email, robert@robertblackwell.com, me if you have interest in helping out, want to sponsor, have wishes of things to see, etc. | 03:44 | |
| If there are people not in #parrot I should ping let me know that too. | 03:45 | ||
| Some details brewing here, trac.parrot.org/parrot/wiki/Parrot...op%202009. | |||
| shorten | rblackwe's url is at xrl.us/bejffg | ||
|
03:51
tetragon joined
03:57
davidfetter joined
|
|||
| wayland76 | Can anyone tell me whether this is bad practise? full_path = Parrot_str_append(interp, full_path, ":"); | 04:51 | |
| ie. I'm passing in full_path, and storing the return in it | |||
| PerlJam | ohhhh.. He'd be the perfect person to "document" the awesome, world changing story of Perl 6. | 05:41 | |
| oops | 05:42 | ||
| TimToady | try #perl | ||
| 6 | |||
| wayland76 | (unless you're planning to answer my question, above; then feel free to stay and comment :) ) | 05:43 | |
| PerlJam | yeah, I need to watch my fingers more closely. They tend to hit stray key combinations all on their own. | ||
| wayland76 | Accident-prone? | ||
| PerlJam | there are no accidents. | 05:44 | |
| wayland76 | That depends on how you define accident :) | ||
| dalek | rrot: r37372 | pmichaud++ | trunk/compilers/pct/src/PCT/HLLCompiler.pir: [pct]: Add command_line check to HLLCompiler for execution from Test::Harness to make it easier for HLLs in Parrot run tests using Perl 5's Test::Harness system; we expect it to be removed at some point in the not-too-distant future. (In fact, I expect to be adding a deprecation notice for the hack in the next day or so. :-) |
05:51 | |
| wayland76 | Btw, does anyone know how to get the path separator in parrot? | ||
| I don't want the / or \\ one, but the one that separates a PATH environment variable | 05:52 | ||
| ie. : on Unix and ; on Windows | |||
| This is in the C code in library.c | |||
| I'm trying to write a function to display the path | 05:53 | ||
| TiMBuS | #ifdef WIN32 | ||
| well, thats how i'd do it, there might be some obscure system API to get it | 05:54 | ||
| wayland76 | I'm wondering if Parrot has this built in already | 05:57 | |
|
06:17
domain joined
06:52
korshak joined
06:58
uniejo joined
|
|||
| dalek | rrot: r37373 | allison++ | trunk/t/native_pbc/header.t: [cage] Reskipping. See TT #357. |
07:07 | |
| mikehh | How's that for a nice palindromic revision number | 07:28 | |
| it builds and smolders :-} | 07:29 | ||
|
07:32
Fayland_logger joined
07:36
TiMBuS joined
07:40
allison joined
|
|||
| dalek | rrot: r37374 | allison++ | trunk/src/pmc/class.pmc: [cage] Reverting patch from TT #321, as it causes OO benchmarks (and tests of |
07:49 | |
| wayland76 | Ok, I've added a patch to trac.parrot.org/parrot/ticket/437 | 08:01 | |
| Do I need to do anything else to work towards having my patch applied? | |||
| allison | wayland76: thanks, please separate the fix and the addition of the -S flag into separate patches (and file a separate ticket for the -S flag) | 08:03 | |
| wayland76: patches in general should have a single focused purpose | 08:04 | ||
| wayland76: and in this case specifically, we might consider applying the fix before 1.0, but the flag will certainly wait until after 1.0, and may take a different form before it's included | |||
|
08:08
alvar joined
08:10
masak joined
|
|||
| dalek | rrot: r37375 | fperrad++ | trunk/config/gen/makefiles/languages.in: Pynie is gone |
08:13 | |
| wayland76 | allison: Ok, that should be done now (the patch separation) | 08:15 | |
|
08:24
ujwalic joined
08:29
Tene joined
|
|||
| allison | wayland76: thanks! | 08:33 | |
| wayland76 | Let me know if there's anything else | 08:36 | |
| dalek | rrot: r37376 | fperrad++ | trunk/config/gen/makefiles/languages.in: [external language] add Pynie from googlecode |
08:37 | |
| ujwalic | any one has Qt4 installed on your systems | 08:41 | |
| Windows or UNIX | 08:42 | ||
| purl | Windows or UNIX is probably fine.. | ||
| ujwalic | updated example and new example trac.parrot.org/parrot/ticket/427 | 08:43 | |
| wayland76 | ujwalic: You were right about using LD_LIBRARY_PATH | ||
| ujwalic | is it working now | ||
| wayland76 | Yes. I've submitted a patch that adds a new option to parrot to deal with that | ||
| But it's not going in to 1.0 | 08:44 | ||
| ujwalic++ :) | |||
| ujwalic | I also needed to test NCI callback .. in order to create a test we need to be able to create a dll using Parrot::Test | 08:45 | |
| on windows NCI callbacks are not working ... any help | 08:46 | ||
| dalek | rrot: r37377 | allison++ | trunk/ext/Parrot-Embed/lib/Parrot (3 files): [cage] Fix missing comma in copyright statements. |
08:49 | |
| rrot: r37378 | allison++ | trunk/examples/pir/befunge/config/makefiles/root.in: [cage] Add missing copyright statement. |
08:53 | ||
| rrot: r37379 | allison++ | trunk/docs/user/pir/exceptions.pod: [cage] Fix line-length for coding standards tests. |
08:57 | ||
| rrot: r37380 | rurban++ | trunk/t/native_pbc (3 files): [cage] harmonize docs and user-messages |
09:01 | ||
| ujwalic | allison: any plan to clean the warnings while building parrot | ||
| allison | ujwalic: yes, as many as possible. If you review and find fixes, please submit | 09:02 | |
| ujwalic | core.ops:920 /* PMC *resume = */ new_ret_continuation_pmc(interp, ret); | ||
| I see many unused variables | |||
| and unreachable code | 09:03 | ||
| purl | unreachable code is, like, omitted | ||
| allison | ujwalic: could you submit a ticket? | ||
| ujwalic | sure .. I'll submit patch :) | 09:04 | |
| allison | ujwalic: include the text of the warnings, your platform, and suggested fix (if you have suggestions) | ||
| ujwalic: patch is always great :) | |||
| dalek | rrot: r37381 | allison++ | trunk/docs/user/pir/exceptions.pod: [cage] Setting SVN file metadata properties on exceptions user doc for coding standards tests. |
09:21 | |
|
10:40
Ademan joined
11:04
ruoso joined
11:19
bacek joined
11:45
ujwalic_ joined
|
|||
| dalek | kudo: 88b6c25 | jnthn++ | src/classes/Role.pir: Various fixes to using roles as type constraints. Resolves at least RT#62966. |
12:11 | |
| shorten | dalek's url is at xrl.us/bejf3d | ||
|
12:25
korshak left
12:33
rg1 joined
13:14
gryphon joined
13:27
wayland76 joined
13:39
DietCoke joined,
AndyA joined
|
|||
| dalek | kudo: 76b2652 | jnthn++ | (3 files): A bunch of multi-related changes. Perl6MultiSub is now mapped to Multi, so .WHAT works (spectest added, needs to make it into the specification but seems to have consensus on #perl6). Also defined .candidates, which has similar consensus, and .push which allows constructing a multi on-the-fly. |
13:43 | |
| shorten | dalek's url is at xrl.us/bejgbb | ||
| dalek | rrot: r37382 | fperrad++ | trunk/tools/install/smoke_languages.pl: [install] check befunge (partial revert of r37264) |
13:50 | |
| rrot: r37383 | fperrad++ | trunk/MANIFEST.generated: [install] many languages are gone |
13:58 | ||
|
14:07
particle joined
14:47
particle2 joined
15:04
rdice joined
|
|||
| dalek | kudo: 4be7d28 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 317 files, 7160 passing, 4 failing S06-multi/syntax.t aborted 1 test(s) S12-role/basic.t 27 - attributes typed as roles initialized OK S12-role/basic.t 28 - typed attribute accepts things it should S12-role/basic.t 29 - typed attribute accepts things it should |
15:14 | |
| kudo: f6449a4 | jnthn++ | src/ (2 files): Minor refactor of method dispatch so we can better handle foreign objects from outside Rakudo, as suggested by pmichaud++. |
|||
| shorten | dalek's url is at xrl.us/bejgmm | ||
| shorten | dalek's url is at xrl.us/bejgmo | ||
| dalek | kudo: 7abaea2 | pmichaud++ | src/ (2 files): Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/bejgmq | ||
| Coke wishes he had try/catch/finally in p5. | 15:15 | ||
|
15:15
Theory joined
15:34
Patterner joined
15:45
korshak joined
|
|||
| dalek | kudo: cdd3e7d | jnthn++ | src/pmc/perl6multisub.pmc: The multi-dispatcher had an off-by-one that caused it not to enforce contraints if there was no tie-breaking needed. The rest of the patch makes sure we don't put stuff in the MMD cache that we should not (if there's a constraint, we can't use the nominal-type-based cache). Resolves RT#63812. |
15:47 | |
| shorten | dalek's url is at xrl.us/bejgra | ||
| dalek | kudo: e8a8fb6 | jnthn++ | docs/spectest-progress.csv: Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/bejgrc | ||
|
15:50
Tene joined
|
|||
| rg | coke: do you know Error.pm ? | 16:10 | |
| purl | Error.pm is lovely. AxKit uses it, I believe. or now owned/maintained by shlomi f, so BE CAREFUL! | ||
| rg | aha. thanks purl :) | 16:11 | |
| allison | rg: occasionally, purl is actually useful :) | 16:12 | |
| rg | i know. and most of the time it's at least funny :) | 16:13 | |
| Util | purl, seen bernhard? | 16:21 | |
| purl | bernhard was last seen on #parrot 1 years, 282 days, 22 hours, 59 minutes and 42 seconds ago, saying: is having mail troubles [Jun 4 17:20:53 2007] | ||
|
16:23
skv_ joined
16:26
rblackwe_ joined
|
|||
| dalek | kudo: 3797055 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv correction: 317 files, 7152 passing, 2 failing S12-methods/instance.rakudo aborted 2 test(s) |
16:33 | |
| shorten | dalek's url is at xrl.us/bejgwy | ||
|
16:34
korshak left
|
|||
| dalek | tracwiki: v6 | allison++ | Parrot%20Virtual%20Machine%20Workshop%202009 | 16:34 | |
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | |||
| shorten | dalek's url is at xrl.us/bejgxa | ||
|
17:18
geof joined
17:25
barney joined
|
|||
| dalek | tracwiki: v7 | allison++ | Parrot%20Virtual%20Machine%20Workshop%202009 | 17:31 | |
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | |||
| shorten | dalek's url is at xrl.us/bejg7a | ||
| jonathan | allison: ping | 17:32 | |
| allison | jonathan: yup? | ||
| purl | somebody said yup was Yellow Dog Linux's update manager. | ||
| jonathan | allison: Hi! :-) | ||
| I'm working on .leave stuff for Perl 6. | |||
| allison | jonathan: hi | ||
| purl | que tal, allison. | ||
| jonathan | We already have most pieces it seems, which is good. | ||
| allison | excellent | 17:33 | |
| jonathan | Like, through ParrotInterpreter I can get at the return continuation of the block I want to leave. | ||
| And it (correctly as I can see) promotes it to a full continuation. | |||
| And then I can do the_cont(arg1, arg2) | |||
| To specify the return values | |||
| And it passes them. However, one quirk I found. | |||
| It passes them in "passing mode" rather than "returning mode" | 17:34 | ||
| That is, normally if you .return ($P0) and the place you're returning to didn't expect a return value, it will drop the $P0 | |||
| However, the_cont($P0) where the thing being returned to didn't expect a $P0 in this case, gives a passing error. | 17:35 | ||
| I noticed in continuation.pmc | |||
| parrot_pass_args(INTERP, from_ctx, to_ctx, | |||
| src_indexes, dest_indexes, PARROT_PASS_PARAMS); | |||
| As opposed to PARROT_PASS_RESULTS | |||
| Is this a design decision that it's using the params rather than results behavior? | 17:36 | ||
| And any suggestions? | |||
| purl | any suggestions are welcome. (including ripping it out entirely :)) | ||
| jonathan | (I will note that I did try changing it to PARROT_PASS_RESULTS and it does give the behaviour I want. I just don't know whether it's a correct change.) | 17:39 | |
| dalek | rrot: r37384 | barney++ | trunk/t/pmc/fixedpmcarray.t: [t] a more sensible code comment |
17:40 | |
| allison | jonathan: results are params | 17:44 | |
| jonathan: that is, a return is just an invocation of a continuation | |||
| well, let me take a step back | 17:45 | ||
| that PARROT_PASS_PARAMS and PARROT_PASS_RESULTS has nothing to do with the semantic quality of passing arguments and results | 17:46 | ||
| it has everything to do with whether values are being copied into or out of registers | |||
| jonathan | It does also influence whether you get errors about too many arguments having been passed. | 17:47 | |
| allison | jonathan: well, one is signature checked, the other isn't | 17:48 | |
| jonathan | Right. | ||
| That is the thing that is tripping me up. | |||
| Because I'm invoking a continuation - a promoted return continuation - and wanting the unchecked semantics. | |||
| And continuation.pmc is giving me the checked ones. | 17:49 | ||
| I agree with you that beyond this difference, there are no further semantic differences though. | |||
| Coke | rg: I did find error.pm (and exception.pm) after a quick google; I ended up just using eval for now. | 17:50 | |
| jonathan | (The fact that if I switch Continuation to do the unchekced one in the continuation PMC I get no Parrot test failures, and it resolves my issue, further suggests that, plus it agrees with what I know of the code...) | ||
| allison | jonathan: but not all Continuations are return continuations, and you can't switch off signature checking for all Continuation invocations | 17:51 | |
| jonathan | Right, thus why I didn't want to do that. :-) | 17:52 | |
| allison | (that's one of the reasons return continuations are different) | ||
| jonathan | Just tried the change to determine that is specifically what I'm running against. | ||
| Yeah, but the retcont is promoted to a continuation by the time I get to invoke it. | |||
| allison | which is the real problem | 17:53 | |
| jonathan | Yes and no. | ||
| allison | the fact that we need to promote return continuations at all | ||
| jonathan | I think it may need to be for safety. | 17:54 | |
| But also because if it was not and I invoked it, then that invocation does not call pass_args | |||
| allison | it's a hack around a hack | ||
| jonathan | And I can't just set_returns because that sets the returns for the curernt thingy, not the one I want to pretend I'm returning from. | ||
| allison | yes, it is the only way you can do it currently | 17:55 | |
| but, it needs work | |||
| later | |||
| so, what can you do now to work around it? | 17:56 | ||
| jonathan | OK, but it actually doesn't *quite* work for me. That's the issue. | ||
| I'm rather stuck for ideas. :-( | |||
| allison | can you define a signature for the continuation that matches what you need to pass it? | ||
| jonathan | Well, the thing is, I have no way of knowing what I am expected to pass. | ||
| allison | you know what you are passing | 17:57 | |
| jonathan | sub foo() { &BLOCK.leave(42) } | ||
| my $x = foo(); # this works just fine | |||
| foo(); # but this one would not | |||
| The thing is I have no way of knowing in leave when I invoke the ret continuation, what I am expected to pass. | |||
| allison | but essentially those are two different signatures | ||
| jonathan | Right, but I have no way of knowing that in leave. | 17:58 | |
| I can't know wether results are going to be ignored or not by the caller. | 17:59 | ||
| I don't have a way to introspect what it is expecting so I can do something dependent upon that. | |||
| allison | you should have access to that information, to implement "wants" | ||
| jonathan | And if I pass the 42 and nothing is expected, the signature checking fails. | ||
| Well, we have the resultinfo op. | 18:00 | ||
| But that doesn't help here. | |||
| Because it only allows access to the info about the caller of the thing we are currently executing. | |||
| As in, info about what return values it expects. | |||
| For CALLER.leave for &foo.leave it won't cut it. | 18:01 | ||
| allison | what we really need is to be able to "promote" return continuations without changing them to full continuations | ||
| that is, they shouldn't take on the signature checking characteristic when they become fully-invokable | 18:02 | ||
| jonathan | a "$P0 = resultinfo $P1" form of the op where $P1 is a sub whose context and thus expected resuts can be obtained would be enough in some senses. | ||
| That is a more desirable option. | |||
| (what you suggested is more desirable) | |||
| typedef struct Parrot_cont could be given a "no_signature_check" flag. | 18:04 | ||
| allison | how tough would it be to embed that logic within the return continuation PMC? that is, if it's flagged as "invocable" it enables some behavior that's otherwise disabled? | ||
| jonathan | If you add a flag like that it's trivial | ||
| allison | So, "promotion" becomes "set a flag" | ||
| jonathan | Oh | ||
| in the return cont PMC | 18:05 | ||
| erm | |||
| Hmm. | |||
| allison | the other possibility would be to do away with return continuations entirely and just have Continuations flagged as "return" | 18:06 | |
| that is, one PMC rather than two | |||
| jonathan | Perhaps. I'm hazy on the when-we-need-to-promote-and-why stuff. | ||
| In my case, it's RetContination's clone vtable meth that is producing a true continuation. | 18:07 | ||
| Which is in turn called by ParrotInterpreter PMC when I ask for the continuation. | |||
| Which makes sense, becaue if the continuation just became available at a PIR level we can't control what happens to it, so for safety it needs to become a full cont, as far as I understand. | 18:08 | ||
| Tene | jonathan: are you trying to work on LABEL.leave and friends? | 18:09 | |
| allison | at a fundamental design level, all continuations should always be invokable | ||
| jonathan | Tene: No, just &sub.leave | 18:10 | |
| Tene: We don't do labels in Rakudo yet. | |||
| Tene | jonathan: can you show me an example use of what you're implementing? | 18:11 | |
| jonathan | Tene: In Perl 6? | 18:12 | |
| Tene | Yes. | ||
| jonathan | A simple case: sub foo { &foo.leave(42) 43 }; say foo(); # 42 | ||
| Tene: But it's not like return because it works on a block. | |||
| So | |||
| my $x -> { &?BLOCK.leave(42); 42 }; say $x(); # 42 | 18:13 | ||
| But also CALLER.leave(42) # leaves the block that called this one | |||
| And &foo.leave(42) # leaves the most recent invocation of foo | |||
| See also t\\spec\\S04-statements\\leave.t for more. | 18:14 | ||
| Tene | Wait, most-recent? | 18:15 | |
| so you could say: $x = foo(); say $x; &foo.leave(23); and it would loop? | |||
| jonathan | I think it has to have an active call frame. | ||
| to quote spec | 18:16 | ||
| &foo.leave: 1,2,3; # Return from innermost surrounding call to &foo | |||
| Ah, so I guess that means lexically surrounding. | |||
| Tene | My plan for implementing that was a control_leave exception type, and put an indication of which block you were trying to leave in the payload, along with the capture you're returning, if any. | ||
| jonathan | Hmmm | 18:17 | |
| dalek | tracwiki: v8 | rblackwe++ | Parrot%20Virtual%20Machine%20Workshop%202009 | ||
| Tene | then generate handlers for the blocks that catch control_return, inspect the block that was specified, if any, and then return the capture if it's for them (or not specified) | ||
| dalek | tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | ||
| shorten | dalek's url is at xrl.us/bejhfv | ||
| Tene | I got a basic impl. of it working a few months back. | ||
| jonathan | Hmm. That's a possible, but means attaching stuff to every block. When we already have the return continuation readily invokable, that seems a tad wasteful. | ||
| But it's not wrong either... | 18:18 | ||
| Tene | I wonder if a CONTROL{} would catch a leave. | ||
| Is that specced? | |||
| Tene prods TimToady. | |||
| where are you getting the appropriate return continuation from? digging up the call stack looking for &foo? | 18:19 | ||
| jonathan | I don't see anything in the bit of S06 I'm currently looking at saying that... | ||
| Well, at the moment I was mostly caring about doing this for CALLER - I had a specific need. ParrotInterpreter lets you get at the caller's return continuation. | 18:20 | ||
| Tene | I thought it was implied by CONTROL{} catching return(). | ||
| jonathan | Yeah, in that case we would have to do it as an exception then... | ||
| Tene | jonathan: would that work for lexically nested blocks? sub foo { for 1..10 { &foo.leave($i) } } ? | 18:21 | |
| jonathan | Apart from I see no $i declared ;-) | ||
| But I think so, yes. | |||
| Tene | The inner block's caller, from the parrot perspective, would be the body of foo() | ||
| so how do you know how many callers to go back? | |||
| jonathan | I'm not quite following | 18:22 | |
| That would leave the current invocation of foo | |||
| Tene | with ParrotInterpreter. | ||
| jonathan | Oh, I see | ||
| ParrotInterpreter won't cut it in that situation. | |||
| Oh, it would | 18:23 | ||
| You'd also have to step back through the subs though | |||
| And compare those. | |||
| Alternatively, the Sub PMC would have a get_continuation method. | |||
| Or a dynop. ;-) | |||
| Tene | jnthn: if you need to call LEAVE and friends anyway, my inclination is that it's better to leave that to the block itself and just pass an exception around. | 18:37 | |
| jonathan | Aye. | 18:39 | |
| I can buy that one. | |||
| Plus it means I can push the task of implementing .leave onto your plate. <grin> | |||
| Tene | But, I do have an "exceptions can do EVERYTHING" bias. | ||
| jonathan | ;-) | ||
| Tene | ... >< | 18:41 | |
| You need it soon? | |||
| Infinoid | if everything is an exception, then we should rename them to rules :) | ||
| Tene | I'm also curious what you're needing it for. | ||
| jonathan | Tene: It's not urgent, but it'd be nice to have. | ||
| I want to fix a bug involving auto-threading of junctions, believe it or not. :-) | 18:42 | ||
| And .leave is the neat way to do it. | |||
| Plus .leave is needed at some point anyway... | 18:43 | ||
| Tene | The only part I'm unsure of is how to do the comparison. If the sub itself is passed, what does the generated code to compare to itself look like? | 18:44 | |
| jonathan | Well, .leave is a method on a block, so self is the thing you're looking for. | 18:45 | |
| Would PMC address equality cut it, maybe? | 18:46 | ||
| Hm...maybe not... | |||
| Tene | jonathan: that's how i get the block to *pass*. | ||
| Tene pastes: | 18:48 | ||
| jonathan | Tene: Sorry, I'm not quite following. | ||
| nopaste | "tene" at 67.137.148.146 pasted "Example leave exception handler" (5 lines) at nopaste.snit.ch/15875 | ||
| Tene | What goes in the ... ? | 18:49 | |
| ohright, I can get the current sub from the interp, I think. | |||
| jonathan | A call to interpinfo to get the current sub? | ||
| Tene | Right. | 18:50 | |
| jonathan | Or instantiate ParrotInterpreter PMC and it's that_instance['sub'] I think. | ||
| Tene | Then it's just about the equality comparison. I can worry about that later, though. | ||
| $realjob now | |||
| jonathan | OK, cool | ||
| Thanks for the input, and in advance for any patches you work up! | |||
| Tene++ | |||
| Coke | bunce? | 18:59 | |
| tim bunce? | |||
| purl | i heard tim bunce was using it for DBI. | ||
| Coke | forget tim bunce | ||
| purl | Coke: I forgot tim bunce | ||
|
19:00
alvar joined
|
|||
| Coke | anyone know if tim is on IRC? | 19:00 | |
| GAH. tim wants me to write XS!? | 19:06 | ||
| Coke shudders. | |||
| allison | poor Coke | 19:07 | |
| szbalint | %win 4 | 19:08 | |
| nm | 19:09 | ||
| mikehh | rakudo (3797055) on parrot r37384 builds make test make spectest PASS - t/spec/S02-literals/sub-calls.rakudo: TODO passed 16. | 19:16 | |
| thats on Kubuntu Intrepid i386 | 19:18 | ||
| Coke | (XS) I've never touched XS before. Perhaps I should just give up now before I become... infected. | ||
| Infinoid | (XS) I don't think it's "addictive" in any way, but it should be avoided on general principles | 19:20 | |
| Coke | t/codingstd/copyright.t is temporarily passing a TODO test; I'm about to properly re-break that. | ||
| allison | Coke: should we just delete the nanoforth example? It uses a 'compile' opcode that doesn't exist anymore, and because the example is 'jsr'-based it can't invoke a real Parrot sub/method to substitute for the opcode | 19:26 | |
| dalek | rrot: r37385 | coke++ | trunk (17 files): Make the copyright test properly fail on the dual (C) files from chromatic. - change the RE slightly to help avoid trailing text. - fixup the comments in a few other files to avoid issues there. |
19:27 | |
| rrot: r37386 | allison++ | trunk/examples/sdl (5 files): [sdl] Update the SDL examples to use get/set_hll_global instead of example test. |
19:31 | ||
| Coke | allison: yes. | 19:32 | |
| IMO, we have more important things to worry about right now than making really old examples work. | 19:33 | ||
| dalek | rrot: r37387 | coke++ | trunk/t/codingstd/copyright.t: [t] make copyright test fail on duplicate copyright notices. those that just have 2 copies of the parrot one.) |
19:35 | |
| rrot: r37388 | allison++ | trunk (3 files): [cage] Eliminating nanoforth examples that are too far out-of-date to be worth recovering. |
19:39 | ||
| Coke | Some of those failures in test 3 of t/codingstd/copyright.t are just duplicates and can be easily fixed. | 19:40 | |
|
19:41
Whiteknight joined
|
|||
| Coke | Bah. now I find one that legitimately has multiple parrot copyrights (a file generator) | 19:41 | |
| dalek | rrot: r37389 | coke++ | trunk/t/codingstd/copyright.t: [t] avoid duplication, better var name, better suggested action to resolve test. |
19:44 | |
| rrot: r37390 | allison++ | trunk/ports/debian/copyright: [debian] Remove copyright exception for languages that don't exist |
19:48 | ||
| rrot: r37391 | allison++ | trunk (2 files): [cage] Remove I/O examples too out-of-date to be worth recovering (they weren't |
20:06 | ||
| rrot: r37392 | Util++ | trunk/src/jit (7 files): [jit] Typo corrections |
20:16 | ||
|
20:17
donaldh joined
|
|||
| dalek | rrot: r37393 | Util++ | trunk (17 files): [pmc] Typo corrections |
20:20 | |
|
20:37
gryphon_ joined
|
|||
| allison | Tene/pmichaud: ping | 20:55 | |
| jonathan | allison: Anything against a patch to provide get_iter and get_pmc_keyed on LexInfo so we can see what symbols are defined in lexical scopes? | 21:17 | |
| allison: Ah, apparently there are tests somewhere according to an RT ticket for it too... | |||
| allison | jonathan: would rather use the 'inspect' interface | 21:18 | |
| jonathan | allison: OK. What would that look like? | ||
| rpa = inspect lexinfo, "symbols" ? | 21:19 | ||
| dalek | rrot: r37394 | allison++ | trunk/t/examples/catchall.t: [cage] Skip catchall tests that either can never work, or can't reliably |
||
| allison | jonathan: that works | ||
| jonathan | allison: Awesome, will do it. | ||
| Tene | allison: pong | 21:29 | |
|
21:30
Limbic_Region joined
|
|||
| dalek | rrot: r37395 | fperrad++ | trunk (3 files): [languages] remove some language references |
21:36 | |
| allison | Tene: do you know if deleting cardinal now will make it more difficult to migrate to github? | 21:39 | |
| Tene | allison: it's already been migrated. | 21:40 | |
| allison | Tene: oh, and the files were just left? | ||
| Tene | yes | ||
| allison | Tene: okay, I'll go ahead and commit | ||
| Tene: thanks! | 21:41 | ||
| Tene | allison: thank you! | ||
| dalek | rrot: r37396 | allison++ | trunk/examples/shootout (2 files): [cage] Don't force the runcore on examples, so they can be tested in fulltest. |
21:47 | |
|
21:50
Debolaz joined
|
|||
| dalek | rrot: r37397 | allison++ | trunk (10 files): [cage] Removing all remaining languages from the repository. |
21:52 | |
| rrot: r37398 | allison++ | trunk/examples/shootout (3 files): [cage] Don't ship old versions of the Python benchmark code in Parrot (the |
21:58 | ||
| rrot: r37399 | allison++ | trunk/MANIFEST: [cage] Removing python shootout code from the repository. |
22:04 | ||
|
22:27
ruoso joined
|
|||
| dalek | kudo: 519b873 | jnthn++ | src/ (2 files): Avoid using a null PMC in param describing data structure, and use an undef instead; it only invites null PMC exceptions (as in RT#63570). |
22:51 | |
| shorten | dalek's url is at xrl.us/bejiin | ||
| dalek | kudo: 41267fd | jnthn++ | docs/spectest-progress.csv: Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/bejiip | ||
| dalek | rrot: r37400 | allison++ | trunk/DEPRECATED.pod: [cage] Blanket deprecation notice for C API functions. |
23:06 | |
| GeJ | Good morning everyone | 23:11 | |
| cotto | morning, GeJ | ||
| Tene | Hi! | 23:17 | |
|
23:37
Debolaz joined,
skv joined
23:38
bsdz joined,
omega joined
23:40
baest joined
|
|||
| dalek | rrot: r37401 | allison++ | trunk/examples/shootout (9 files): [cage] Don't force the runcore on the shootout examples, as some |
23:56 | |