|
Parrot 0.8.1 "Tio Richie" Released | parrot.org | 611 tx Set by moderator on 26 November 2008. |
|||
| jonathan | OK | 00:00 | |
| pmichaud | no, Container isn't right either. | ||
| hrm. | |||
| jonathan | Container is too vague. | ||
| Maybe ConstraintWrapper | |||
| Or something. | |||
| I'm bad with names. | |||
| pmichaud | still, I'm not sure this is the right fix. | ||
| the real fix should go into the signature binding. | 00:01 | ||
| jonathan | It's not actually a problem at the signature binding point in the example program though. | ||
| pmichaud | because Perl6Scalar could contain an ObjectRef and this would dtwt | ||
| jonathan | 1.say for @a | 00:02 | |
| That for there calls list(...) | |||
| pmichaud | yes, it should. | ||
| jonathan | list(@a) | ||
| OK, but @a is what is now called Perl6Scalar | |||
| And because in inherits from ObjectRef, list gets confused. | 00:03 | ||
| And was thinking it should treat it as a single item, like it should with an ObjectRef | |||
| (Because isa ObjectRef comes back true for Perl6Scalar) | |||
| pmichaud | but I think it will be wrong for something like | ||
|
00:04
tak joined
|
|||
| pmichaud | sub foo($a) { 1.say for $a }; foo((1,2,3)); | 00:04 | |
| also, I'm not sure that deref works. | 00:05 | ||
| I got weird results with it once before when implementing .PARROT | |||
| i.e., I think that deref is being delegated | 00:06 | ||
| pmichaud checks. | |||
| jonathan | It calls get_pmc, I think? | ||
| Oh, you mean it pushes it down and would deref the objectref too? | |||
| It didn't seem to be doing that | |||
| At least, I've have expected one of the test cases in that ticket to fail if it was doing that. | |||
| pmichaud | I agree -- the code says it doesn't push it down | 00:07 | |
| jonathan | pmichaud: What should the output of the thing you just posted be? | ||
| pmichaud | I wonder what the bizarre values I was getting before were, then. | ||
| 1 | |||
| jonathan | Not 3 1s? | ||
| pmichaud | no | ||
| jonathan | Ah. | ||
| pmichaud | because for [1,2,3] { say 1; } only iterates once. | ||
| does my case fail? | 00:08 | ||
| jonathan | Yeah, but I'm struggling to see *why*. | 00:09 | |
| Ah, because we're not treating arrays and scalars any different when binding the signature... | |||
| pmichaud | right. | ||
| which was the issue I was kinda meaning at the beginning | 00:10 | ||
| jonathan | Yeah. | ||
|
00:10
AndyA joined
|
|||
| pmichaud | I think the issue is in our binding, not in list() | 00:10 | |
| jonathan | We might just need to do both. | ||
| pmichaud | I think if we fix the binding, list() fixes itself. | ||
| jonathan | Because we might still need a wrapper of some kind. | ||
| Depends how we fix the binding. | |||
| pmichaud | we definitely need a way to add constraints and remove them. | ||
| jonathan | I'm also curious | ||
| sub foo(@a) { @a = 1,2,3; } # obvious error | 00:11 | ||
| sub foo(@a) { @a[0] = 4; } # error or not? | |||
| pmichaud | S06 says: However, the default forces any container argument to also | 00:13 | |
| be treated as an immutable value. This extends down only one level; | |||
| an immutable container may always return an element that is mutable if | |||
| it so chooses. | |||
| jonathan | OK, so it'd be an error. | 00:14 | |
| That may imply that we want different kinds of wrappers. | 00:16 | ||
| pmichaud | I'm not too fond of the wrapper approach at the moment. | 00:17 | |
| I really wish there was a good reliable way to add constraints to the PMCs directly. | 00:18 | ||
| although I can see why that won't work either. | |||
| okay, we go with wrappers. | |||
| dalek | r33246 | jkeenan++ | trunk: | ||
| : Delete tests pertaining to Configure.pl --miniparrot option, which has been | |||
| : removed. | 00:19 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33246 | |||
| pmichaud | I expect I'll figure it out as I go through the parameter refactor. | ||
| in the meantime I'll just add my case to the ticket and re-open it so we don't forget. | |||
| jonathan | pmichaud: OK, and I've just added your test case to a spectest too | 00:20 | |
| (#?skip'd) | |||
| pmichaud | excellent. | ||
|
00:20
kid51 joined
|
|||
| jonathan | Added. | 00:21 | |
|
00:21
tetragon joined
|
|||
| kid51 | Oops. I was working in trunk when I thought I was working in branch. | 00:25 | |
| Fortunately, Coke made the same changes in branch today. | |||
| pmichaud | maybe wrapper-ness is really just a property of ObjectRef instead of a distinct type. | ||
| anyway, I'll figure it out as I continue working on params. | 00:26 | ||
| jonathan | Sure. | ||
| For now maybe the patch makes life a little less painful for Ilya++. :-) | |||
| pmichaud | hopefully we didn't break anything else (that we weren't testing yet :-) | ||
| jonathan | If we did, somebody will moan, we'll get a bug report, and our test coverage will improve. | 00:27 | |
| pmichaud | indeed | 00:28 | |
| anyway, dog wants a walk and everyone else is busy, so it's up to me. | |||
| bbl | |||
| dalek | r33247 | jkeenan++ | rm_miniparrot: | 00:33 | |
| : For consistency with other tests, substitute something for 'miniparrot' in test. Add one test for captured error message. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33247 | |||
| jonathan | use.perl.org/~JonathanWorthington/journal/37954 # report | 00:35 | |
|
00:37
Ademan joined
00:39
davidfetter joined
00:59
Whiteknight joined
|
|||
| chromatic | www.parrot.org/scratch/todoskip-test-review | 01:03 | |
|
01:05
clunker3__ joined
|
|||
| dalek | r33248 | chromatic++ | trunk: | 01:16 | |
| : [IO] Ensured that buffered reads into a STRING never set a negative string | |||
| : length. See CID #148 from Coverity Scan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33248 | |||
|
01:17
tak joined
|
|||
| GeJ | chromatic: RT #46511 I get an RT Error "No permission to view ticket" | 01:23 | |
| in relation to your parrot.org todoskip entry (t/pmc/threads.t line) | 01:24 | ||
| chromatic | Me too. Hmm. | ||
| "vtable overrides aren't properly cloned" | 01:25 | ||
| Want to file it? | 01:27 | ||
| dalek | r33249 | chromatic++ | trunk: | 01:34 | |
| : [IO] Plugged a STRING leak in the case where Parrot_exec() fails. This is an | |||
| : abnormal condition, but that's still no reason to leak memory. See CID #153 | |||
| : from Coverity Scan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33249 | |||
| GeJ | Hum, I'm not sure to even understand what the problem is about. I just tried to view the ticket since it seemed to be realted to threads, and I know FreeBSD is sensible on this matter. I'm not even sure to grok what "vtable overrides aren't properly cloned" means. | 01:35 | |
|
01:37
tak joined
|
|||
| dalek | r33250 | allison++ | pdd22io_part2: | 01:40 | |
| : [pdd22io] Bringing the pdd22io_part2 branch up-to-date with trunk | |||
| : r33248. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33250 | |||
| chromatic | You can override vtable entries in a PMC with PIR. | ||
| When we clone a new interpreter (threads, concurrency), those overrides aren't present in the new interpreter. | 01:41 | ||
| That's my best understanding. | |||
|
01:57
Alias joined
|
|||
| dalek | r33251 | chromatic++ | trunk: | 02:00 | |
| : [PMC] Extracted static ns_insert_sub_keyed_str() from set_pmc_keyed_str() to | |||
| : clean up the latter somewhat. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33251 | |||
| r33252 | allison++ | pdd22io_part2: | |||
| : [pdd22io] Merging trunk changes to ops.num with branch changes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33252 | |||
| chromatic | Hm, we still need the __vtable_entry_name hack in NameSpace for PASM. | 02:04 | |
|
02:05
lu_zero joined
|
|||
| allison | chromatic: or a way for PASM to mark characteristics of subs | 02:06 | |
| chromatic | Which we need anyway. | 02:09 | |
| NameSpace PMC is a mess. | |||
| dalek | r33253 | chromatic++ | trunk: | 02:17 | |
| : [PMC] Added PMC_IS_NULL checks to set_pmc_keyed_str vtable entry of NameSpace | |||
| : to avoid dereferencing a NULL PMC for its value. See CID #155 from Coverity | |||
| : Scan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33253 | |||
| jonathan | coverity for the win! | 02:18 | |
| chromatic | I have two more to fix. | 02:21 | |
| You'll like them. | |||
| That leaves seven uninspected or pending issues. | 02:27 | ||
| I should have them cleaned up by Friday. | 02:28 | ||
| dalek | r33254 | chromatic++ | trunk: | ||
| : [MMD] Fixed memory leaks in anonymous class type early exit conditions from | |||
| : mmd_cache_key_from_types and mmd_cache_key_from_values. See CID #156 and CID | |||
| : #157, reported by Coverity Scan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33254 | |||
| jonathan is C programming FAIL | 02:30 | ||
| :-( | |||
| coverity++, chromatic++ | 02:31 | ||
| Just think, I'm going to be working on bytecode annotations soon. | 02:32 | ||
| jonathan will try to suck less on those | |||
| Hum. Well, it's 3:30am so maybe I should do that whole sleeping thing. | 02:33 | ||
| jonathan -> bed | 02:34 | ||
|
03:02
rob joined
|
|||
| dalek | r33255 | allison++ | pdd22io_part2: | 03:03 | |
| : [pdd22io] Shared filehandles don't close the file descriptor when they're | |||
| : destroyed, they just flush it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33255 | |||
|
03:24
jimmy joined
|
|||
| dalek | r33256 | pmichaud++ | trunk: | 03:48 | |
| : [pge]: Remove double underscores from Match POD (RT #60384, chrisdolan++) | |||
| : * Patch courtesy Chris Dolan <chris@chrisdolan.net> | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33256 | |||
|
04:10
chromatic joined
|
|||
| tewk | chromatic: how often should Parrot_cx_handle_tasks get called? | 04:26 | |
|
04:29
tak joined
|
|||
| tewk | shouldn't I call Parrot_cx_check_tasks instead? | 04:29 | |
|
04:36
leto joined
|
|||
| chromatic | tewk, every several opcodes, probably. | 04:42 | |
| I do think it should be Parrot_cx_check_tasks. Whatever the slow core does is the right approach. | |||
|
04:42
Hadi joined
04:56
Hadi left
|
|||
| tewk | chromatic: I must be blind, but I don't see where the slow_core calls Parrot_cx_check_tasks or Parrot_cx_handle_tasks | 04:57 | |
| I guess I could set a break point and watch huh | 04:58 | ||
| dalek | r33257 | pmichaud++ | trunk: | 05:02 | |
| : [rakudo]: Fix ^@list semantics, RT #60828. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33257 | |||
| tewk | up | ||
| chromatic | tewk, I don't see it now either strangely. | 05:22 | |
| tewk | I ran the timer example and the check_events op gets called, but it isn't in the pasm test. | 05:27 | |
| do the check_events* ops get majically injected somehow? | |||
| magically | 05:28 | ||
| purl | magically is gone | ||
| tewk | ok it is the check_events__ op that os being called by the DO_OP macro | 05:31 | |
| ahh we have the :check_event adverb on ops now, hmm going to have to look at the generated c code | 05:33 | ||
| bacek_ | rakudo: enum Foo<get_string>; | 05:52 | |
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| bacek_ | rakudo: enum Foo<get_string>; say ~Foo::get_string | 05:54 | |
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| bacek_ | rakudo: enum Foo<get_string>; say Foo::get_string | ||
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| bacek_ | looks like polyglotbot broken... | ||
| rakudo: say "hi" | 05:55 | ||
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| bacek_ | definitely broken | ||
|
05:55
iblechbot joined
05:56
tetragon joined
|
|||
| pmichaud | rakudo: say "No output (you need to produce output to STDOUT)" | 05:57 | |
| polyglotbot | No output (you need to produce output to STDOUT) | ||
| pmichaud | wfm :-P | ||
| tewk | allison: how does the check_events__ get called. I'm stumped | 06:00 | |
| allison | tewk: it's part of the runloop, on certain runcores | 06:12 | |
| tewk: specifically called on ops tagged with :check_event | 06:13 | ||
| bacek_ | pmichaud: cheater! :) | 06:33 | |
| $ ../../parrot perl6.pbc -e 'my $a=1;my $b=2; my @c=($a,$b); say ~@c; $a=3; say ~@c' | 06:59 | ||
| 1 2 | |||
| 3 2 | |||
| Is it expected behavior??? | |||
| lathos | Expected, sure. Correct, no. | 07:01 | |
| Assignment in Perl 6 is currently a bit special. It'll get there, though. | 07:02 | ||
| moritz | bacek_: if there's no test like this in t/spec/S03-operators/assign-is-not-binding.t , please add it (and fudge it) | 07:08 | |
| pmichaud | list assignment still isn't working in rakudo. | 07:10 | |
| it's on my todo list. | |||
| bacek_ | pmichaud: it's not "list assignment"... | 07:12 | |
| pmichaud | oh yes it is. | ||
| bacek_ | pmichaud: how that? | ||
| pmichaud | item assignment is when the lhs is a scalar. | ||
| everything else is a list assignment. | |||
| lathos | @c = ($a, $b) looks like a list assignment to me. | 07:13 | |
|
07:13
ff-wonko joined,
uniejo joined
|
|||
| lathos | @c is a list and ($a, $b) is a list, and you're assigning one to the other. | 07:13 | |
| bacek_ | $ ../../parrot perl6.pbc -e 'my $a=1;my $b=2; my $c=[$a,$b]; say ~$c; $a=3; say ~$c' | ||
| 1 2 | |||
| 3 2 | |||
| pmichaud | that's a list-to-array conversion issue. | ||
|
07:14
contingencyplan joined
|
|||
| pmichaud | parts of which are still being specced. | 07:14 | |
| (I guess the earlier problem is also list-to-array conversion.) | 07:15 | ||
| at any rate, we're still waiting for a few details to hit the spec. :-) | |||
| bacek_ | bacek@haste:~/src/parrot/languages/perl6$ ../../parrot perl6.pbc t/spec/S03-operators/assign-is-not-binding.t | 07:17 | |
| Segmentation fault | |||
| purl | (Core dumped) | ||
| bacek_ | Interesting... | ||
| lathos | That's less good | ||
| bacek_ running make realclean | 07:18 | ||
| chromatic | Confirmed. | 07:19 | |
| pmichaud | does assign-is-not-binding.t need to be fudged? | ||
| (granted, "segfault" is not the correct answer anyway, but...) | |||
| bacek_ | ./src/pmc/namespace.pmc:265 | ||
| chromatic | #0 0xb7daac56 in Parrot_NameSpace_set_pmc_keyed_str () | ||
| Great, guess who just touched that? | 07:20 | ||
| bacek_ | pmichaud: it's in spectest.data | ||
| pmichaud | bacek_: that doesn't mean it's not fudged. | ||
| bacek_ | It's not fudged | ||
| [PMC] Extracted static ns_insert_sub_keyed_str() from set_pmc_keyed_str() to | 07:21 | ||
| clean up the latter somewhat. | |||
| chromatic: looks suspicious :) | |||
| PerlJam | pm: When you copied the synopses to the pugs repo, you did so with full history? | ||
| chromatic | I see what it is. | ||
| I changed the PMC type check to VTABLE_isa. | 07:22 | ||
| The value in this case is a Perl6MultiSub. | |||
| pmichaud | PerlJam: yes. | ||
| PerlJam: that's why pugs had 1000+ commits today :-) | |||
| PerlJam | okay. my pugs update was taking forever and I was fairly sure it wasn't too far out of date | 07:23 | |
| bacek_ running git bisect | |||
| pmichaud | PerlJam: you're using git? | ||
| PerlJam | yep | 07:24 | |
| lathos | It's OK at svn:33178 | ||
| pmichaud | ...that sounds like the issue, then. :-) | ||
| PerlJam | :-PPPP | ||
| bacek_ | bacek@haste:~/src/parrot$ git bisect good | 07:26 | |
| 6ed0229fa4a1da0eccb637b7fccc094c8c1dfc5b is first bad commit | |||
| commit 6ed0229fa4a1da0eccb637b7fccc094c8c1dfc5b | |||
| Author: chromatic <chromatic@d31e2699-5ff4-0310-a27c-f18f2fbe73fe> | |||
| Date: Thu Nov 27 02:17:11 2008 +0000 | |||
| git-svn-id: svn.perl.org/parrot/trunk@33253 d31e2699-5ff4-0310-a27c-f18f2fbe73fe | |||
| :040000 040000 65a10b4a4269756585ce1e5aa82000a5dbf63c8e 711814e0889344828476a30f5cc52510f41dfedc M\tsrc | |||
| lathos | git bisect looks very clever. | 07:27 | |
| I mean, obvious in a way, but handy. | |||
| chromatic | Oh, I know what the problem is. I just don't know why. | ||
| PerlJam | git is clever in general | ||
| bacek_ | lathos: "git bisect run make" is very helpful | ||
| PerlJam: and FAST | |||
| PerlJam | bacek_: indeed. | 07:28 | |
| MJD says that Linus proved that Linux wasn't a fluke when he created git :-) | |||
| lathos | So the next obvious job is to package up git, smoke testing, svn blame and email. And possibly RT. | 07:29 | |
| "Your patch broke the smoke test. Oh and it segfaulted, here's the backtrace." | |||
| bacek_ | And send it directly to chro^W author | 07:30 | |
| chromatic | Hey, I didn't break Liskov here. | 07:31 | |
| dalek | r33258 | chromatic++ | trunk: | 07:33 | |
| : [Rakudo] Added vtable delegate for get_pmc_keyed_int to Perl6MultiSub, as | |||
| : r33253 now allows subclasses of MultiSub to store multis in a NameSpace PMC. | |||
| : Bacek reported that this broke t/spec/S03-operators/assign-is-not-binding.t. | 07:34 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33258 | |||
| bacek_ | chromatic++ # rakudo works again | 07:35 | |
| PerlJam | heh ... you get ++ when you break stuff (inadvertently) and you get ++ when you fix the stuff you broke. karma is a funny thing. :) | 07:36 | |
| chromatic | It's 'cuz we're edging toward correctness. | 07:37 | |
| bacek_ | PerlJam: it's fair enough, because you didn't get karma for doing nothing | ||
| pmichaud | no telling how much karma I got for all of my "let's try this for lexicals... darn it doesn't work yet" commits. | ||
| bacek_ sending git manpages to pmichaud | 07:38 | ||
| moritz | PerlJam: karma is not only for achievements, but also for commitment ;) | 07:43 | |
| purl | is not only for achievements, but also for commitment ;) has neutral karma | ||
|
07:44
UltraDM joined
|
|||
| dalek | r33259 | chromatic++ | trunk: | 07:46 | |
| : [src] Removed an unnecessary dereference check which confused Coverity Scan; | |||
| : replaced it with a PARROT_ASSERT. See CID #53. Also tidied some code. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33259 | |||
| chromatic | That leaves seven open issues. | 07:47 | |
| pmichaud | Two more failures in rakudo spectest: | 07:57 | |
| t/spec/S12-methods/default-trait. 1 256 ?? ?? % ?? | |||
| t/spec/S12-methods/multi.t 1 256 ?? ?? % ?? | |||
| reverting 33253 causes them to pass. | |||
| chromatic | Do they segfault? | 07:58 | |
| pmichaud | just a sec. | 07:59 | |
| (rebuilding with 33259 in place again) | |||
| t/spec/S12-methods/multi....A method named 'bar' already exists in class 'Foo'. It may have been supplied by a role. | |||
| chromatic | Same messsage for the other. | 08:00 | |
| pmichaud | might want to check with jonathan++ about it if the fix isn't obvious | 08:01 | |
| chromatic | I think NameSpace behaves more correctly now, but he knows better about how the Perl 6 PMCs should behave. | 08:02 | |
| pmichaud | right. | ||
| it wouldn't surprise me if he had to work around some NameSpace PMC issues | |||
| dalek | r33260 | pmichaud++ | trunk: | ||
| : [pct]: Integer/Float/String nodes can now appear directly in PAST. | |||
| : PAST::Val() isn't needed for these common types. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33260 | |||
|
08:04
alvar joined
|
|||
| dalek | r33261 | pmichaud++ | trunk: | 08:07 | |
| : [pct]: Add 'getprop' signature to PAST::Compiler. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33261 | 08:08 | ||
| pmichaud | time for sleep. | ||
| chromatic | I think I have it. | 08:09 | |
| dalek | r33262 | chromatic++ | trunk: | 08:23 | |
| : [Rakudo] Removed debugging code accidentally committed in r32992. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33262 | |||
|
08:24
ff-wonko joined
|
|||
| dalek | r33263 | chromatic++ | trunk: | 08:26 | |
| : [PMC] Made set_pmc_keyed_str in NameSpace only add MultiSubs to a class when | |||
| : something of that name does not already exist. This further fixes Rakudo after | |||
| : r33253. I'm not convinced that these semantics are completely correct, but if | |||
| : you add a multi method of the same name as a non-multi method to a class, | |||
| : something has to give. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33263 | |||
|
08:35
Theory joined
08:38
iblechbot joined
08:58
tomyan joined,
tomyan1 joined
09:18
bacek joined
09:29
ff-wonko joined
09:45
elmex joined,
uniejo joined
10:08
ff-wonko joined
10:28
Zaba joined
10:31
ff-wonko joined
10:51
kj joined
10:53
kjs_ joined
10:55
kjs_ left,
kjs_ joined
10:56
kjs_ joined
11:00
kj joined
|
|||
| dalek | r33264 | kjs++ | trunk: | 11:23 | |
| : [pirc] several updates. | |||
| : + check for value of macro args where strings are expected | |||
| : + add new .annotate directive (but no actions yet) | |||
| : + fix a prototype warning | |||
| : + beautify error messages | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33264 | |||
|
11:28
kjs_ joined
12:13
gmansi joined
12:35
ruoso joined
12:46
iblechbot joined
12:51
gmansi joined
12:53
jimmy joined
13:03
Theory joined
13:25
particle1 joined
|
|||
| tewk | allison: I think I had what you mentioned figured out. | 13:29 | |
|
13:32
Theory joined
13:43
tetragon joined
13:52
particle joined
13:55
Zaba joined
|
|||
| tewk | I just found enable_event_checking, I figured the optable had to be switched out, I just couldn't figure out where. | 14:02 | |
| Everything makes sense now. | |||
|
14:27
Limbic_Region joined
14:29
cout joined
14:31
LimbicRegion joined
14:40
ff-wonko joined
14:52
masak joined
15:25
workbench joined,
dngor joined
|
|||
| pmichaud | Happy U.S. Thanksgiving Day, all. | 15:32 | |
| Infinoid | happy turkey day, Pm | 15:39 | |
| masak | I would like to use the PCT to make a compiler that translates XSLT to PIR. besides Squaak and its tutorial, what should I read? | 15:58 | |
| moritz | #parrot :-) | 15:59 | |
| masak | check. | ||
| jonathan | The Guide To Masochism | 16:00 | |
| ;-) | |||
| masak | thanks for the kind words. :) | 16:01 | |
|
16:02
tak joined
16:08
barney joined
|
|||
| tewk | allison: I don't think the slow_core branching ops call Parrot_cx_handle_events | 16:13 | |
| I set a timer for two seconds out but it never goes off, while I'm in a busy loop | 16:14 | ||
| nopaste | "tewk" at 155.97.237.62 pasted "t2.pasm" (26 lines) at nopaste.snit.ch/14738 | 16:15 | |
|
16:17
iblechbot_ joined
16:27
Theory joined
|
|||
| nopaste | "tewk" at 155.97.237.62 pasted "improved t2.pasm" (42 lines) at nopaste.snit.ch/14739 | 16:31 | |
| szabgab | an administrative question. If the copyright holder of Parrot is TPF then what does the Parrot Foundation do? | 16:38 | |
| barney | It is planned to transfer the copyright to the Parrot Foundation | 16:40 | |
| pmichaud | Parrot's copyright will go to the Parrot Foundation. Rakudo's copyright remains with TPF. | ||
|
16:43
chromatic joined
|
|||
| szabgab | thanks, as I can see from www.parrotcode.org/docs/submissions.html comitters need to sign a Perl Contributor License Agreement, this does not apply to people sending patches? | 16:47 | |
| pmichaud | I don't know the answer to that one -- would probably need to ask a Parrot Foundation person. | ||
| chromatic | We've only required that for committers so far. | 16:48 | |
| szabgab | (the TPF web site does not want to talk to me right now) | ||
|
17:08
adu joined
|
|||
| jhorwitz | szabgab: no CLA required for patches | 17:09 | |
| jhorwitz scrolls and sees chromatic answered the question already | 17:10 | ||
| jhorwitz needs more coffee | |||
| adu | Coke? | ||
| purl | i guess Coke is mailto:will@coleda.com or disconcerted that the test program -fails- when run via valgrind, but one thing at a time. =-) | ||
| dalek | r33265 | bernhard++ | trunk: | 17:13 | |
| : [codingstd] remove trailing space | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33265 | |||
| r33266 | bernhard++ | trunk: | 17:14 | ||
| : [docs] Elaborate in test_more.pir | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33266 | |||
|
17:31
NotFound joined
|
|||
| NotFound | Hi | 17:31 | |
| purl | niihau, NotFound. | ||
| moritz | hi there | ||
| jonathan | hi all | 17:41 | |
| Happy Thanksgiving Day to those of you in the US | |||
| jonathan plans to hack on something Parrot or Rakudo-ish later on today | 17:42 | ||
|
17:42
Theory joined
17:44
davidfetter joined,
tomyan left
|
|||
| pmichaud | bytecode annotations! :-) | 17:48 | |
|
17:51
chromatic joined
|
|||
| moritz | uhm, t/spec/S29-list/reverse.t dies after 5 tests (Type mismatch in assignment.) | 17:53 | |
| jonathan | pmichaud: Yes, I may just hack on that. | ||
| dalek | r33267 | fperrad++ | pdd22io_part2: | 18:00 | |
| : [pdd22io] WMLScript | |||
| : - replace ParrotIO by FileHandle | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33267 | |||
| pmichaud | last night I updated PCT so that it accepts String/Float/Integer directly in the PAST tree | 18:02 | |
| nopaste | "pmichaud" at 72.181.176.220 pasted "PCT accepts string/integer/float directly example" (21 lines) at nopaste.snit.ch/14740 | 18:04 | |
| jonathan | pmichaud++ | 18:05 | |
| Nice! | |||
| Less objects to create, smaller more readable tree, less code to build it. WIN. | |||
| pmichaud | and it'll be even shorter when we have either (a) reusable register PAST::Var nodes or (b) setprop node returns its operand | ||
| jonathan | Oh, register isn't already re-usable? | 18:06 | |
| pmichaud | ...and there's even less inline pir. :-) | ||
| register's reusable as long as it doesn't have a viviself or isdecl | |||
| I'd like to make it so that it's reusable even if it does have those. | |||
| jonathan | .oO( Maybe I screwed up... ) |
||
| pmichaud | if it has a viviself then it will likely re-generate the viviself on each use. | 18:07 | |
| instead of just on first use. | |||
| jonathan | It didn't. | ||
| I used a register varialbe when I changed .= | |||
| dalek | r33268 | chromatic++ | trunk: | ||
| : [IO] Really made sure that the string length produced in | |||
| : Parrot_io_peek_buffer() is never negative (see r33248 and CID #148 from | |||
| : Coverity Scan). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33268 | |||
| pmichaud | yes, but you created two nodes to do it. | ||
| although in that case I don't think a register node is needed | 18:08 | ||
| a :pasttype('bind') node always returns the thing just bound. | |||
|
18:09
tak joined
|
|||
| jonathan | We need to evaluate the LHS just once and use it both as something to bind to and to invoke on. | 18:10 | |
| pmichaud | sure | ||
| jonathan | There may be a way to do it without register var, but I didn't see it. | ||
| pmichaud | there _might_ be an issue that each .= re-uses the same register name. | ||
| e.g., if a .= contained a .= in the expression. | |||
| jonathan ponders what the code would look like to do that | 18:11 | ||
| pmichaud | $a .= foo( $b .= bar ); # perhaps | ||
|
18:11
particle1 joined
|
|||
| pmichaud | anyway, register nodes w/o names will generate unique names... at least that's the intent. | 18:12 | |
| jonathan | OK | 18:14 | |
| pmichaud | (writing example of what I'd *like* to have work) | ||
| nopaste | "pmichaud" at 72.181.176.220 pasted "How I think register nodes should work (example)" (10 lines) at nopaste.snit.ch/14741 | 18:16 | |
| jonathan | Neat. | 18:17 | |
| That'd probably work quite nicely. | |||
| pmichaud | basically, a register node ought to allow you to reuse it multiple times in the same PAST tree. | 18:18 | |
| jonathan | *nod* | ||
| Yeah | |||
| We need to be careful to document the cases where doing so (using a node multiple times in the tree) is actually OK. | |||
| pmichaud | This is the only case. | ||
| (so far). | |||
| jonathan | Yeah. | ||
| Doing so otherwise can cause...interesting things...to happen. | 18:19 | ||
| pmichaud | gotta get back to cleaning up my office before our thanksgiving visitors arrive | 18:20 | |
| I'm glad I got the string/integer/float stuff done, that will make the parameter code a lot more straightforward | |||
| so I'm not creating PAST::Val all over the place. | |||
| jonathan | Yes. :-) | ||
| You ci it yet? | |||
| pmichaud | (working on the param code was what prompted me to say "do I need all of these PAST::Val?" in the first place :-) | ||
| yes, it's ci'd. | |||
| jonathan | Cool | ||
| pmichaud | I also started a twitter feed for rakudo perl: twitter.com/rakudoperl | 18:21 | |
| I can post notes directly from irssi :-) | 18:22 | ||
| jonathan | I noticed the Facebook group too! | ||
| Rakudo is now officially Web 2.0 compliant. | 18:23 | ||
|
18:25
lichtkind joined
|
|||
| lichtkind | is PIR closer to PAST or POST? | 18:25 | |
| pmichaud | POST | ||
| lichtkind | thanks | ||
| pmichaud | PAST is fairly abstract. | 18:26 | |
| lichtkind | pmichaud: im polishing the wiki article | ||
| pmichaud | POST has a very close correspondence to PIR. | ||
| lichtkind | thanks | ||
| pmichaud | (typically one POST::Op node per PIR instruction) | ||
| lichtkind | yes i guessed something like that but my articles have to be correct :) | 18:27 | |
| dalek | r33269 | bernhard++ | trunk: | 18:28 | |
| : [Pipp] Add predefined constant DEFAULT_INCLUDE_PATH and set it to '.' | |||
| : Use DEFAULT_INCLUDE_PATH for includefile lookup | |||
| : Move the function 'constant' into php_builtin.pir | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33269 | |||
| pmichaud | my script for generating the daily test summary results is showing lots of failures since 11-20 :-| | 18:29 | |
| jonathan | :-S | ||
| pmichaud | not sure what's up with that yet | ||
| jonathan | We're not (other than the bigint stuff) failing much, are we? | ||
| pmichaud | 527 tests | 18:30 | |
| (according to the script) | |||
| on 2008-11-20 | |||
| jonathan | You see them when you normally do make spectest? | ||
| pmichaud | well, I don't know that I did make spectest on 11-20 | ||
| as of the last couple of days I don't see them with make spectest... | |||
| but then I haven't gotten to that point in the daily testing yet | |||
| maybe something requires a fresh checkout or super realclean in there somewhere. | 18:31 | ||
| jonathan | Perhaps. | ||
| pmichaud | I'll have it (re-) generate the results for the 19th and see what it says. | 18:32 | |
| jonathan | I just see the bigint thing and that test that Parrot blows up at exit on. | ||
| pmichaud | yeah. | ||
| 2008-11-20 is complaining about assignment, iirc | |||
| btw, TimToady confirmed that @array[1] = @list needs to be either @array[1] = $@list or @array[1] = item @list to get a reference. | 18:33 | ||
| jonathan | Yes, I saw. :_) | ||
| pmichaud | so I think I'll be on track to do some list assignment soonish. | ||
| jonathan | Yay! | ||
| lichtkind | hm i thought it would be different | 18:34 | |
| jonathan | Lexicals fixed...list assignment soon...Rakudo is getting nicer. :_) | ||
| argh, why are my smileys all punched in the nose today... | |||
| lichtkind | pmichaud: if i may vou distract you even more, so past is the parse trees eqivalent in internal parrot objects while POST is more like AST for bytcode for bytcode optimizer and translator | 18:35 | |
| moritz wants list assignment! | |||
| jonathan | PAST is abstracted away from the syntax of a specific language. | ||
| It's built by transforming the parse tree. | |||
| pmichaud | past is an abstract representation of the program's semantics | 18:37 | |
| broken down into reasonably generic primitives | 18:38 | ||
| lichtkind | shure but you can call them internal objects? | ||
| pmichaud | maybe, but parse trees really represent syntax more than semantics | ||
| past isn't really all that specific to Parrot, either. | |||
| lichtkind | shure | ||
| and what i said about POST is true? | 18:39 | ||
| pmichaud | yes, what you said about POST is spot-on. | ||
| it's a tree representation of bytecode | |||
| dalek | r33270 | chromatic++ | trunk: | 18:41 | |
| : [IMCC] Fixed a memory leak in _mk_address(). See CID #139 from Coverity Scan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33270 | |||
| lichtkind | pmichaud: its all so logical :) | 18:42 | |
| dalek | r33271 | bernhard++ | trunk: | 18:43 | |
| : [Pipp] add incomplete implementation of get_include_path() | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33271 | |||
|
18:45
Hadi joined
|
|||
| lichtkind | thanks a lot: pmichaud++ and jonathan++ | 18:45 | |
| i did know that parse tree holds more the lang specific commands, i ment it more in logical sense | 18:47 | ||
|
18:47
Limbic_Region joined
|
|||
| masak | jonathan: yay for list assignment soon! | 18:49 | |
| oh, it was pmichaud I should say 'yay!' to. | 18:50 | ||
| masak is a yay-sayer today | 18:51 | ||
|
18:52
LimbicRegion joined
18:54
ff-wonko joined
18:55
LR joined
|
|||
| jonathan | masak: Well, you can say yay to me, but it's pmichaud who'll be doing the work. ;-) | 18:56 | |
| masak reaslized that | 18:57 | ||
| bff, realized* | |||
| yay to both of you! | |||
| dalek | r33272 | jkeenan++ | testparrottest: | ||
| : Creating testparrottest in svn.perl.org/parrot/branches | |||
|
18:57
kid51 joined
|
|||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=33272 | 18:57 | |
| r33273 | jkeenan++ | testparrottest-33271: | |||
| : Tagging trunk at r33271 so that the testparrottest can later be synched to it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33273 | |||
|
18:58
ffwonko joined
19:11
alvar joined
|
|||
| dalek | r33274 | bernhard++ | trunk: | 19:26 | |
| : [Pipp] Convert array.t from Perl 5 to PHP | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33274 | |||
| r33275 | bernhard++ | trunk: | 19:33 | ||
| : [Pipp] Fix the logic in proclaim() and fix incorrect test | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33275 | |||
|
19:49
On joined
19:52
Hadi joined
19:53
Hadi left
19:59
Theory joined
|
|||
| dalek | r33276 | bernhard++ | trunk: | 20:13 | |
| : [pipp] Rename PhpUndef to PhpNull, because undefined is null in PHP | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33276 | |||
| On has stupid questions... | 20:21 | ||
| Is Parrot based on Perl or is Perl based on Parrot? | |||
| moritz | parrot uses Perl 5 for its build system | 20:23 | |
| and there's a parrot based Perl 6 compiler | |||
| bacek | good morning and hello from future | 20:27 | |
| jonathan | bacek: How's the weather tomorrow? | 20:28 | |
| ;) | |||
| bacek | jonathan: almost nice. Rain already stopped | ||
| I expect +24 degrees celcius today :) | |||
| moritz expects +8 °C tomorrow | 20:29 | ||
| moritz likes bacek's tomrrow better than his own | |||
| bacek | ok 10 - man-or-boy test for start value 9 | 20:31 | |
| maximum recursion depth exceeded | |||
| current instr.: '!INIT_IF_PROTO' pc 11255 (src/gen_builtins.pir:6917) | |||
| heh :) | |||
| moritz | bacek: do you have an old version of t/spec/? | 20:32 | |
| s/have/run/ | 20:33 | ||
| bacek | moritz: no. New one. I just uncommented second version of @results | ||
| moritz | bacek: ah. We decided to keep the recursion limit for now, because it's useful for developing/debugging | 20:34 | |
| jonathan | bacek: FYI, it's just a value we set to a default inside Parrot, for the reasons moritz says. It's not an inherent limit or anything. :-) | 20:35 | |
| bacek | I see. | 20:37 | |
| If I actually replace .return with .tailcall in few places in generated PIR it succeeded till 11. | 20:38 | ||
| We need internal PIR optimiser... | |||
| jonathan | I'm not sure if we'll have enough semantic information at that point to do it, but we may. | 20:43 | |
| Rakudo optimizer is some way off though. :-) | |||
| bacek | '$P1 = "foo"(); .return ($P1)' is good candidate | ||
| btw, rt.perl.org/rt3/Ticket/Display.html?id=56448 | 20:45 | ||
| jonathan | Ah, yes, we can do that. | ||
| That at PIR level ise like safe. | |||
| bacek | pm's example passing on modern rakudo. | ||
| (With adjusted syntax to use .tailcall) | 20:46 | ||
| jonathan | ooh, if that's fixed it's *good* | 20:47 | |
| We've been avoiding tailcalls in some places for that reason... | |||
| May well be a result of pm's work on lexicals and contexts of late. | |||
| bacek | It doesn't crash. | ||
| But produces wrong result :) | |||
| $ ../../parrot tc.pir | |||
| 4 5 3 2 5 1 | |||
| 1 2 3 4 5 5 | |||
| 2 4 5 3 1 5 | |||
| jonathan | hrh | 20:50 | |
| *heh | |||
| bacek | time to wake up kids | ||
| afk | |||
|
21:27
davidfetter joined
|
|||
| GeJ | Good morning everyone | 21:34 | |
| moritz | purl: POST? | 21:39 | |
| purl | POST is Parrot Opcode Syntax Tree or for changing data and uncacheable | ||
| masak | GeJ: hej | 21:42 | |
| GeJ | hej masak | 21:44 | |
|
22:02
ambs joined,
ambs left
22:08
pjcj joined
22:12
apeiron joined
22:29
apeiron joined
|
|||
| masak | the November project has an is_deeply sub in our copy of Rakudo's Test.pm that we would like to contribute back to Rakudo. | 22:30 | |
| would that be possible/desired? | |||
|
22:48
cognominal joined
|
|||
| dalek | r33277 | julianalbo++ | trunk: | 22:54 | |
| : fix c++ violation in imcc _mk_address | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33277 | |||
|
22:55
cognominal joined
23:02
apeiron joined
|
|||
| Tene | masak: sounds good to me. | 23:08 | |
| masak | ok, so I'll just commit it then. | 23:09 | |
| jonathan makes a cup of tea and prepares to start hacking on bytecode annotations | 23:13 | ||
| dalek | r33278 | masak++ | trunk: | ||
| : [rakudo] added is_deeply sub to Test.pm, from the November project | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33278 | |||
|
23:16
bacek joined
|
|||
| dalek | r33279 | jonathan++ | bcanno: | 23:17 | |
| : Create branch for doing bytecode annotations and any related refactors to packfile things that arise out of it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=33279 | |||
| masak | jonathan: nice name for a branch, 'bcanno'. but I don't understand what it is you plan to do. | 23:18 | |
| jonathan | Implement bytecode annotations. | 23:19 | |
| (Described in PDD13, or see the PIR PDD for a more "how it'll be useful" point of view) | |||
| But basically, part of what will let us report that an exception happened on line 42 of Dog.pm | |||
| Rather than getting errors without line numbers, as now. | 23:20 | ||
| It's a Parrot thing rather than a Rakudo thing - this branch won't do anything in /languages/perl6/. | |||
| masak | ah, that kind of bytecode annotations. | 23:23 | |
| thanks for the explanation. | |||
| yes, we discussed it during YAPC::EU, actually. | |||
|
23:24
bacek_ joined
|
|||
| masak | speaking of which, will `perl6 -e die` always produce 7 lines of output? as opposed to `perl -e die`, which produces 1? | 23:25 | |
| jonathan | Aye, I think so. | ||
| (that was in response to, we disccused it during YAPC::EU...) | |||
| masak | aye. | ||
| jonathan | 7 lines of output - perhaps not, no. | ||
| masak | there's a ticket about that, ISTR. | 23:26 | |
| jonathan | I think that we should produce a backtrace with HLL-level names of stuff (e.g. a useful one) | ||
| But it should end at the point we're back into PCT level stuff | |||
| masak | good idea. | ||
| purl | masak: Good Idea: Giving your dog a bath. Bad Idea: Having your dog dry-cleaned. | ||
| jonathan | As in, that particular case should probably only produce 1 line. | ||
| masak | purl: it's past your bedtime. shoo. | ||
| purl | masak: sorry... | ||
| masak | jonathan: good. | 23:27 | |
| that seems to be what people expect. | |||
| jonathan | But perl6 -e 'sub foo { die }; foo()' probably should be a couple of lines. | ||
| Since you died in foo. | |||
| masak | yes, I understand. | ||
| that's ok too, I think. | 23:28 | ||
| jonathan | Yes. I think backtraces are good things, if done right (as in, if we don't expose compiler guts in them). | ||
| masak | :) | ||