Re: [perl #41579] [BUG] t/pmc/ref.t, t/pmc/threads.t file with -C runcore

2007-03-14 Thread chromatic
On Thursday 22 February 2007 08:41, Patrick R.Michaud wrote:

> While running 'make fulltest' for the 0.4.9 release, I'm getting
> two failing tests under the -C (CGP) runcore (r17148):
>
> Failed Test Stat Wstat Total Fail  List of Failed
> ---
> t/pmc/ref.t2   512162  13-14

Here's a fix for that.  I'm not sure it's completely correct with regard to 
the Ref PMC, but it does fix the delegation problem nicely.

-- c

=== src/ops/pic.ops
==
--- src/ops/pic.ops	(revision 2241)
+++ src/ops/pic.ops	(local)
@@ -50,7 +50,7 @@
 left = $2;
 right = $3;
 lru = &mic->lru;
-lr_types = (left->vtable->base_type << 16) | right->vtable->base_type;
+lr_types = (VTABLE_type(interp, left) << 16) | VTABLE_type(interp, right);
 if (lru->u.type == lr_types) {
 runit_v_pp:
 ((mmd_f_v_pp)lru->f.real_function)(interp, left, right);
@@ -88,10 +88,10 @@
 
 left = $2;
 mic = (Parrot_MIC *) cur_opcode[1];
-lt = left->vtable->base_type;
+lt = VTABLE_type(interp, left);
 right = $3;
 lru = &mic->lru;
-rt = right->vtable->base_type;
+rt = VTABLE_type(interp, right);
 lr_types = (lt << 16) | rt;
 if (lru->u.type == lr_types) {
 INTVAL a = lt == enum_class_Integer ? PMC_int_val(left) :
=== src/pic.c
==
--- src/pic.c	(revision 2241)
+++ src/pic.c	(local)
@@ -660,8 +660,8 @@
 /*
  * get real dispatch function
  */
-left_type = left->vtable->base_type;
-right_type = right->vtable->base_type;
+left_type = VTABLE_type(interp, left);
+right_type = VTABLE_type(interp, right);
 func = get_mmd_dispatch_type(interp,
 mic->m.func_nr, left_type, right_type, &is_pmc);
 if (is_pmc) {
=== src/pmc/ref.pmc
==
--- src/pmc/ref.pmc	(revision 2241)
+++ src/pmc/ref.pmc	(local)
@@ -96,6 +96,20 @@
 
 /*
 
+=item C
+
+Returns the PMC's type.
+
+=cut
+
+*/
+
+INTVAL type() {
+return VTABLE_type(interp, PMC_pmc_val(SELF));
+}
+
+/*
+
 =item C
 
 Marks the referenced PMC as live.


[perl #41788] [BUG] Real registers are limited to 2 digits

2007-03-14 Thread Nuno Carvalho via RT
Hi again,

On Tue Mar 13 16:17:56 2007, coke wrote:
> Having a limit is more than reasonable, agreed: the goal of this  
> patch was to bring the code into agreement with the docs.
> 
> Consider this a poke to the Architect to verify/replace the previous  
> overturn of the original 32-register limit.
> 
> On Mar 13, 2007, at 6:45 PM, Leopold Toetsch wrote:
> 
> > Am Dienstag, 13. März 2007 11:55 schrieb Nuno Carvalho via RT:
> >> so IMHO the max allowed size of the register name in the lexer
> >> should be the max allowed for an INTVAL.
> >
> > Please folks, get serious. INTVAL allows 2^31/2^63 registers. A  
> > register is
> > taking 4/8 bytes of mem. Multiply.
> >
> > Or IOW allowing arbitrary PASM register numbers (n) is super  
> > inefficient.
> > Parrot will allocate contiguous memory (per sub/recursion where  
> > it's used) to
> > hold 0..n register cells [1] [2]. Limit it to some reasonable  
> > amount (e.g.
> > 1024) and make a commandline switch to increase that for special  
> > purpose
> > code.
> >
> > As a side note: when you now say, we could compact these register  
> > numbers to a
> > contiguous range, yes: that's what the default dumb & fast register  
> > allocator
> > is already doing now with e.g. $P123456 and $P10.
> >
> > Thanks,
> > leo
> >
> > [1] making this sparse will slow down interpreter execution time by  
> > magnitudes
> > and is totally non-sensical.
> >
> > [2] using huge ~INTVAL-ranged register numbers will produce  
> > meaningless error
> > messages, when dying due to out of memory errors.

I agree with most POVs, and i'm available for changing the patch as soon
as anyone makes a 'sane' and final decision on the limit.

Best regards,
./smash


Re: [perl #41788] [BUG] Real registers are limited to 2 digits

2007-03-14 Thread Klaas-Jan Stol

Nuno Carvalho via RT wrote:

Hi again,

On Tue Mar 13 16:17:56 2007, coke wrote:
  
Having a limit is more than reasonable, agreed: the goal of this  
patch was to bring the code into agreement with the docs.


Consider this a poke to the Architect to verify/replace the previous  
overturn of the original 32-register limit.


On Mar 13, 2007, at 6:45 PM, Leopold Toetsch wrote:



Am Dienstag, 13. März 2007 11:55 schrieb Nuno Carvalho via RT:
  

so IMHO the max allowed size of the register name in the lexer
should be the max allowed for an INTVAL.

Please folks, get serious. INTVAL allows 2^31/2^63 registers. A  
register is

taking 4/8 bytes of mem. Multiply.

Or IOW allowing arbitrary PASM register numbers (n) is super  
inefficient.
Parrot will allocate contiguous memory (per sub/recursion where  
it's used) to
hold 0..n register cells [1] [2]. Limit it to some reasonable  
amount (e.g.
1024) and make a commandline switch to increase that for special  
purpose

code.

As a side note: when you now say, we could compact these register  
numbers to a
contiguous range, yes: that's what the default dumb & fast register  
allocator

is already doing now with e.g. $P123456 and $P10.

Thanks,
leo

[1] making this sparse will slow down interpreter execution time by  
magnitudes

and is totally non-sensical.

[2] using huge ~INTVAL-ranged register numbers will produce  
meaningless error

messages, when dying due to out of memory errors.
  


I agree with most POVs, and i'm available for changing the patch as soon
as anyone makes a 'sane' and final decision on the limit.

Best regards,
./smash
  
To mention another reg.based VM: the Lua VM has 250 registers (but it's 
a build option) (http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/jucs05.pdf)


my 2c,

kjs



Re: [perl #41818] [PATCH */4]: [t/op] add tests for string memory layout

2007-03-14 Thread jerry gay

On 3/13/07, via RT Sam Vilain <[EMAIL PROTECTED]> wrote:

# New Ticket Created by  Sam Vilain
# Please include the string:  [perl #41818]
# in the subject line of all future correspondence about this issue.
# http://rt.perl.org/rt3/Ticket/Display.html?id=41818 >


Content-Type: text/plain
Content-Disposition: inline
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.419 (Entity 5.419)

This is a combined patch submission which I made using a script that
munged output from `git-format-patch HEAD~4`.

The patches are:

  - [t/op] pin/unpin op test by smash
t/op/string-mem.t |   55 
+
1 files changed, 55 insertions(+), 0 deletions(-)
create mode 100644 t/op/string-mem.t


  - Convert t/ops/string-mem.t to use Test/More.pir
t/op/string-mem.t |   76 
++--
1 files changed, 67 insertions(+), 9 deletions(-)


  - Segment t/op/string-mem.t test
t/op/string-mem.t |   15 ---
1 files changed, 12 insertions(+), 3 deletions(-)


  - t/op/string-mem.t: add test for a couple of stringinfo calls
t/op/string-mem.t |   37 -
1 files changed, 36 insertions(+), 1 deletions(-)




Content-Type: text/x-patch; name="t-op-pin-unpin-op-test-by-smash.patch"
Content-Disposition: inline; filename="t-op-pin-unpin-op-test-by-smash.patch"
Content-Transfer-Encoding: binary
Content-Description: [PATCH] [t/op] pin/unpin op test by smash
MIME-Version: 1.0
X-Mailer: MIME-tools 5.419 (Entity 5.419)

[t/op] pin/unpin op test by smash

---
 t/op/string-mem.t |   55 +
 1 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100644 t/op/string-mem.t

diff --git a/t/op/string-mem.t b/t/op/string-mem.t
new file mode 100644
index 000..e5c38ed
--- /dev/null
+++ b/t/op/string-mem.t
@@ -0,0 +1,55 @@
+.sub main :main
+.local int init, before, after
+.include 'stringinfo.pasm'
+.include 'interpinfo.pasm'
+
+$S0 = 'life'
+$S1 = 'life'
+$S2 = 'life'
+$S3 = 'life'
+$S4 = 'life'
+$S5 = 'life'
+$S6 = 'love'
+$S7 = 'life'
+$S8 = 'life'
+$S9 = 'life'
+
+pin $S6
+null $S0
+null $S1
+null $S2
+null $S3
+null $S4
+null $S5
+null $S7
+null $S8
+null $S9
+
+init = stringinfo $S6, .STRINGINFO_STRSTART
+
+$I0 = interpinfo .INTERPINFO_COLLECT_RUNS
+  loop1:
+collect
+$I1 = interpinfo .INTERPINFO_COLLECT_RUNS
+eq $I0, $I1, loop1
+
+before = stringinfo $S6, .STRINGINFO_STRSTART
+unpin $S6
+
+$I0 = interpinfo .INTERPINFO_COLLECT_RUNS
+  loop2:
+collect
+$I1 = interpinfo .INTERPINFO_COLLECT_RUNS
+eq $I0, $I1, loop1
+
+after = stringinfo $S6, .STRINGINFO_STRSTART
+
+$S0 = 'ok'
+eq init, before, next
+$S0 = 'nok'
+  next:
+ne before, after, ok
+$S0 = 'nok'
+  ok:
+print $S0
+.end
--
1.5.0.2.21.gdcde2



Content-Type: text/x-patch;
 name="Convert-t-ops-string-mem.t-to-use-Test-More.pir.patch"
Content-Disposition: inline;
 filename="Convert-t-ops-string-mem.t-to-use-Test-More.pir.patch"
Content-Transfer-Encoding: binary
Content-Description: [PATCH] Convert t/ops/string-mem.t to use Test/More.pir
MIME-Version: 1.0
X-Mailer: MIME-tools 5.419 (Entity 5.419)

Convert t/ops/string-mem.t to use Test/More.pir

---
 t/op/string-mem.t |   76 ++--
 1 files changed, 67 insertions(+), 9 deletions(-)

diff --git a/t/op/string-mem.t b/t/op/string-mem.t
index e5c38ed..bc39387 100644
--- a/t/op/string-mem.t
+++ b/t/op/string-mem.t
@@ -1,8 +1,51 @@
-.sub main :main
+#!./parrot
+# Copyright (C) 2007, The Perl Foundation.
+# $Id$
+
+=head1 NAME
+
+t/op/string-mem.t - test memory representation related string operations
+
+
+=head1 SYNOPSIS
+
+% prove t/op/string-mem.t
+
+=head1 DESCRIPTION
+
+Tests string ops related to low-level representation of strings, such as:
+
+=over
+
+=item *
+
+stringinfo
+
+=item *
+
+pin/unpin
+
+=back
+
+=cut
+
+.include "hllmacros.pir"
+
+.sub _main :main
+load_bytecode 'library/Test/More.pir'
+
+.local pmc _
+.IMPORT( 'Test::More', 'plan', _ )
+.IMPORT( 'Test::More', 'ok',   _ )
+.IMPORT( 'Test::More', 'is',   _ )
+.IMPORT( 'Test::More', 'isnt',   _ )
+
 .local int init, before, after
 .include 'stringinfo.pasm'
 .include 'interpinfo.pasm'

+plan(2)
+
 $S0 = 'life'
 $S1 = 'life'
 $S2 = 'life'
@@ -44,12 +87,27 @@

 after = stringinfo $S6, .STRINGINFO_STRSTART

-$S0 = 'ok'
-eq init, before, next
-$S0 = 'nok'
-  next:
-ne before, after, ok
-$S0 = 'nok'
-  ok:
-print $S0
+is( init, before, "pin/collect didn't change memory address" )
+$I0 = cmp after, before
+print "# init: "
+$S0 = init
+print init
+print ", before: "
+$S0 = before
+print before
+print ", after: "
+$S0 = a

[perl #41825] morph vtable method not working in PIR

2007-03-14 Thread via RT
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #41825]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=41825 >


Hi,

Given the following:

.namespace ['A']

.sub 'morph' :method :vtable
say 'morphing!'
.end

.sub main :main
$P0 = newclass 'A'
$P1 = new 'A'
morph $P1, .Undef
.end

the 'morph' vtable method doesn't get called

Cheers,
Rich



[perl #41826] vtable method 'find_method' not working in PIR

2007-03-14 Thread via RT
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #41826]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=41826 >


Hi,

Given the following:

.namespace ['A']

.sub 'find_method' :vtable :method
say 'find_method!'
.end

.sub main :main
$P0 = newclass 'A'
$P1 = new 'A'
$P2 = find_method $P1, 'foo'
.end

the 'find_method' sub doesn't get invoked

Cheers,
Rich



Re: Parrot, Perl 5 and performance

2007-03-14 Thread ajr
>From ozgun:
>
> Inlining replies.
>
>> 1. What's the environment; Solaris, GNU/Linux, *nix, Windows?
>
> Linux.
>
>> 2. What hard information do you have on the resources being used? Have
>> you been able to profile it? Pareto's Law applies surprisingly often.
>
> Tons. In fact, we have more information than we'd like. Since we
> profile and optimize on a regular basis, our workset doesn't exhibit
> Pareto's Law.
>
>> 3. What sort of application is it? Is it CPU or I/O intensive?
>
> CPU intensive. In fact, there is no disk I/O. We're planning to take
> the disks out at some point because they cost too much.
>
Are you doing DNA sequencing?

It looks as though you've done all the obvious things. If you haven't
already done them, my only questions remain: are the boxes maxed-out with
memory, and are the algorithms optimal? (Checking that might be difficult
if you've got a "death by a thousand cuts" type of workload.)


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com



[svn:perl6-synopsis] r14345 - doc/trunk/design/syn

2007-03-14 Thread larry
Author: larry
Date: Wed Mar 14 09:03:15 2007
New Revision: 14345

Modified:
   doc/trunk/design/syn/S06.pod

Log:
Clarify that caller is not guaranteed to return a Routine context.
Minor refactoring of context/caller section to avoid forward ref.


Modified: doc/trunk/design/syn/S06.pod
==
--- doc/trunk/design/syn/S06.pod(original)
+++ doc/trunk/design/syn/S06.podWed Mar 14 09:03:15 2007
@@ -13,9 +13,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 21 Mar 2003
-  Last Modified: 12 Mar 2007
+  Last Modified: 14 Mar 2007
   Number: 6
-  Version: 79
+  Version: 80
 
 
 This document summarizes Apocalypse 6, which covers subroutines and the
@@ -1719,27 +1719,10 @@
 You might think that that must be the current function's caller,
 but that's not necessarily so.  This might return an outer block in
 our own routine, or even some function elsewhere that implements a
-control operator on behalf of our block.
+control operator on behalf of our block.  To get outside your current
+routine, see C below.
 
-The C function is special-cased to pay attention only to
-the current C scope.  It is defined as navigating to the
-innermost scope matching <&?ROUTINE> (which may be a no-op when
-immediately inside a routine) and then going out one context from that:
-
-&caller ::= &context.assuming(&?ROUTINE,1);
-
-So to find where the current routine was called you can say:
-
-say " file ", caller.file,
-" line ", caller.line;
-
-which is equivalent to:
-
-say " file ", CALLER::<$?FILE>,
-" line ", CALLER::<$?LINE>;
-
-The C function always returns the immediate caller's context,
-but the more general C function may be given arguments
+The C function may be given arguments
 telling it which higher scope to look for.  Each argument is processed
 in order, left to right.  Note that C and C<0> are no-ops:
 
@@ -1781,7 +1764,34 @@
 $ctx = context;
 $ctx = context.context.context.context;# same
 
-The returned context object supports at least the following methods:
+The C function is special-cased to pay attention only to
+the current C scope.  It is defined as navigating to the
+innermost scope matching C<&?ROUTINE> (which may be a no-op when
+immediately inside a routine) and then going out one context from that:
+
+&caller ::= &context.assuming(&?ROUTINE,1);
+
+So to find where the current routine was called you can say:
+
+say " file ", caller.file,
+" line ", caller.line;
+
+which is equivalent to:
+
+say " file ", CALLER::<$?FILE>,
+" line ", CALLER::<$?LINE>;
+
+Note that one context out is I guaranteed to be a C
+context.  You must say C to get to the next-most-inner
+routine, which is equivalent to C.
+But C is not necessarily going to give you the
+line number that your current routine was called from; you're rather
+likely to get the line number of the topmost block that is executing
+within that outer routine, where that block contains the call to
+your routine.
+
+For either C or C,
+the returned context object supports at least the following methods:
 
 .want
 .context


[svn:perl6-synopsis] r14346 - doc/trunk/design/syn

2007-03-14 Thread larry
Author: larry
Date: Wed Mar 14 11:08:52 2007
New Revision: 14346

Modified:
   doc/trunk/design/syn/S06.pod

Log:
Further refinement of caller semantics to dwim in displaced closure calls.


Modified: doc/trunk/design/syn/S06.pod
==
--- doc/trunk/design/syn/S06.pod(original)
+++ doc/trunk/design/syn/S06.podWed Mar 14 11:08:52 2007
@@ -1735,6 +1735,11 @@
 $ctx = context(1,0,1,1); # my context's context's context's context
 $ctx = context($i);  # $i'th context
 
+Note also that negative numbers are allowed as long as you stay within
+the existing context stack:
+
+$ctx = context(4,-1);# my context's context's context's context
+
 Repeating any smartmatch just matches the same context again unless you
 intersperse a 1 to skip the current level:
 
@@ -1764,12 +1769,15 @@
 $ctx = context;
 $ctx = context.context.context.context;# same
 
-The C function is special-cased to pay attention only to
-the current C scope.  It is defined as navigating to the
-innermost scope matching C<&?ROUTINE> (which may be a no-op when
-immediately inside a routine) and then going out one context from that:
-
-&caller ::= &context.assuming(&?ROUTINE,1);
+The C function is special-cased to go outward just far enough
+to escape from the current routine scope, after first ignoring any
+inner blocks that are embedded, or are otherwise pretending to be "inline":
+
+&caller ::= &context.assuming({ !.inline }, 1);
+
+Note that this is usually the same as C,
+but not always.  A call to a returned closure might not even have
+C<&?ROUTINE> in its dynamic scope anymore, but it still has a caller.
 
 So to find where the current routine was called you can say:
 
@@ -1781,10 +1789,12 @@
 say " file ", CALLER::<$?FILE>,
 " line ", CALLER::<$?LINE>;
 
-Note that one context out is I guaranteed to be a C
-context.  You must say C to get to the next-most-inner
-routine, which is equivalent to C.
-But C is not necessarily going to give you the
+Additional arguments to C are treated as navigational from the
+calling context.  One context out from your current routine is I
+guaranteed to be a C context.  You must say C
+to get to the next-most-inner routine.
+
+Note that C is not necessarily going to give you the
 line number that your current routine was called from; you're rather
 likely to get the line number of the topmost block that is executing
 within that outer routine, where that block contains the call to
@@ -1793,18 +1803,27 @@
 For either C or C,
 the returned context object supports at least the following methods:
 
-.want
 .context
 .caller
+.leave
+.want
+.inline
 .my
 .file
 .line
 .subname
 
-The C<.caller> method is subtly different from the C
-function.  Instead of looking up the current lexically scoped caller
-by C<.context(&?ROUTINE,1)>, it just looks up the next matching dynamic
-caller using C<.context(Routine,1)>.
+The C<.context> and C<.caller> methods work the same as the functions
+except that they are relative to the context supplied as invocant.
+The C<.leave> method can force an immediate return from the
+specified context.  The C<.want> method returns known smart-matchable
+characteristics of the specified context.
+
+The C<.inline> method says whether this block was entered implicitly
+by some surrounding control structure.  Any time you invoke a block or
+routine explicitly with C<.()> this is false.  However, it is defined
+to be true for any block entered using dispatcher-level primitives
+such as C<.callwith>, C<.callsame>, C<.nextwith>, or C<.nextsame>.
 
 The C<.my> method provides access to the lexical namespace in effect at
 the given dynamic context's current position.  It may be used to look


[svn:perl6-synopsis] r14348 - doc/trunk/design/syn

2007-03-14 Thread larry
Author: larry
Date: Wed Mar 14 11:44:47 2007
New Revision: 14348

Modified:
   doc/trunk/design/syn/S09.pod

Log:
autoindexing should assume parallelizability (that's a hard word to type)


Modified: doc/trunk/design/syn/S09.pod
==
--- doc/trunk/design/syn/S09.pod(original)
+++ doc/trunk/design/syn/S09.podWed Mar 14 11:44:47 2007
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 13 Sep 2004
-  Last Modified: 27 Jan 2007
+  Last Modified: 14 Mar 2007
   Number: 9
-  Version: 17
+  Version: 18
 
 =head1 Overview
 
@@ -692,7 +692,7 @@
 loop around the block of the closure that visits all the possible
 subscript values for that dimension (unless the parameter is actually
 supplied to the closure, in which case that is what is used as the
-slice subscript).
+slice subscript).  This implicit loop is assumed to be parallelizable.
 
 So to write a typical tensor multiplication:
 


[perl #37178] [PATCH] Quiet a few alignment warnings

2007-03-14 Thread Will Coleda via RT
Thanks, (belatedly) applied.


[perl #41833] [TODO] test conv_i2 opcode

2007-03-14 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #41833]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=41833 >


This opcode was recently resurrected for Zcode. Tests for conv_u2 (a  
sister opcode) exist in t/dynoplibs/myops.t, and may have originally  
come from a dotgnu test file.


--
Will "Coke" Coleda
[EMAIL PROTECTED]




[perl #41790] [PATCH] Change sub's get_string to return short name

2007-03-14 Thread Matt Diephouse via RT
Applied in r17484 with updated tests and a test for the get_namespace() method.


Re: [perl #41818] [PATCH */4]: [t/op] add tests for string memory layout

2007-03-14 Thread Sam Vilain
Jerry Gay via RT wrote:
>> +.end
>> +
>> +#.constant STRINGINFO_STRSTART 2
>> +#.constant STRINGINFO_BUFLEN   3
>> +#.constant STRINGINFO_FLAGS4
>> +#.constant STRINGINFO_BUFUSED  5
>> +#.constant STRINGINFO_STRLEN   6
>>
>>  # Local Variables:
>>  #   mode: pir
>> --
>> 1.5.0.2.21.gdcde2
>>
>>
>> 
> this patch looks great, until the end. instead of manually defining
> your own constants, C<.include 'stringinfo.pasm'>--then they're
> defined for you. it's an easy fix, and can be done by the committer
> who applies this patch.
>   

Oh, sorry - those are actually comments.  They should be marked as a
TODO list for finishing the test.

Sam.


[perl #41834] 0.4.10 countdown...

2007-03-14 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #41834]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=41834 >


As of right now, there are 47 tickets associated with the 0.4.10  
release milestone
   https://rt.perl.org/rt3/Ticket/Display.html?id=41581

- 19 have been resolved
-  3 are claimed

The 25 tasks that are left vary from documentation (41505) to perl  
(41601) to simple C (41658) to segfaults (41097).

Feel free to comment on the tickets (cc'ing perl6-internals) if  
you're interested in a ticket but need some pointers.

Thanks again.

--
Will "Coke" Coleda
[EMAIL PROTECTED]




[perl #40544] [NEW] Test for DOS line endings in Parrot text files

2007-03-14 Thread Will Coleda via RT
Again, more failures.

Paul, can you coordinate with Jerry Gay (particle) to insure the test doesn't 
encourage updates of 
files that would break the windows build? Once we can trust the output of the 
test, we can 
update the remaining files and close the ticket.

Regards.

On Fri Mar 02 19:55:37 2007, coke wrote:
> More failures with the line endings.




0.4.10 countdown...

2007-03-14 Thread Will Coleda

[RESEND to right list. Oy!]

As of right now, there are 47 tickets associated with the 0.4.10  
release milestone

  https://rt.perl.org/rt3/Ticket/Display.html?id=41581

- 19 have been resolved
-  3 are claimed

The 25 tasks that are left vary from documentation (41505) to perl  
(41601) to simple C (41658) to segfaults (41097).


Feel free to comment on the tickets (cc'ing perl6-internals) if  
you're interested in a ticket but need some pointers.


Thanks again.

--
Will "Coke" Coleda
[EMAIL PROTECTED]




[svn:perl6-synopsis] r14347 - doc/trunk/design/syn

2007-03-14 Thread larry
Author: larry
Date: Wed Mar 14 11:28:03 2007
New Revision: 14347

Modified:
   doc/trunk/design/syn/S02.pod

Log:
New "hyper" listop that is an explicitly parallelizing variant of "eager".


Modified: doc/trunk/design/syn/S02.pod
==
--- doc/trunk/design/syn/S02.pod(original)
+++ doc/trunk/design/syn/S02.podWed Mar 14 11:28:03 2007
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 10 Aug 2004
-  Last Modified: 13 Mar 2007
+  Last Modified: 14 Mar 2007
   Number: 2
-  Version: 96
+  Version: 97
 
 This document summarizes Apocalypse 2, which covers small-scale
 lexical items and typological issues.  (These Synopses also contain
@@ -2725,6 +2725,18 @@
 
 =item *
 
+A variant of C is the C list operator, which declares
+not only that you want all the values generated now, but that you want
+them badly enough that you don't care what order they're generated in.
+That is, C requires sequential evaluation of the list, while
+C requests (but does not require) parallel evaluation.  In any
+case, it declares that you don't care about the evaluation order.
+(Conjecture: populating a hash from a hyper list of pairs could be done
+as the results come in, such that some keys can be seen even before
+the hyper is done.  Thinking about Map-Reduce algorithms here...)
+
+=item *
+
 Signatures on non-multi subs can be checked at compile time, whereas
 multi sub and method call signatures can only be checked at run time
 (in the absence of special instructions to the optimizer).


[svn:perl6-synopsis] r14349 - doc/trunk/design/syn

2007-03-14 Thread larry
Author: larry
Date: Wed Mar 14 12:12:20 2007
New Revision: 14349

Modified:
   doc/trunk/design/syn/S02.pod

Log:
Clarify adverbial use where infix expected.


Modified: doc/trunk/design/syn/S02.pod
==
--- doc/trunk/design/syn/S02.pod(original)
+++ doc/trunk/design/syn/S02.podWed Mar 14 12:12:20 2007
@@ -14,7 +14,7 @@
   Date: 10 Aug 2004
   Last Modified: 14 Mar 2007
   Number: 2
-  Version: 97
+  Version: 98
 
 This document summarizes Apocalypse 2, which covers small-scale
 lexical items and typological issues.  (These Synopses also contain
@@ -1936,11 +1936,16 @@
 
 Two or more adverbs can always be strung together without intervening
 punctuation anywhere a single adverb is acceptable.  When used as
-named arguments in an argument list, you may put comma between,
+named arguments in an argument list, you I put comma between,
 because they're just ordinary named arguments to the function, and
-a fatarrow pair would work the same.   When modifying an operator
-(that is, when one occurs where an operator is expected), you may
-not put commas between, and the fatarrow form is not allowd.  See S06.
+a fatarrow pair would work the same.  However, this comma is allowed
+only when the first pair occurs where a term is expected.  Where an
+infix operator is expected, the adverb is always taken as modifying
+the nearest preceding operator that is not hidden within parentheses,
+and if you string together multiple such pairs, you may not put commas
+between, since that would cause subsequent pairs to look like terms.
+(The fatarrow form is not allowed at all in operator position.)
+See S06 for the use of adverbs as named arguments.
 
 The negated form (C<:!a>) and the sigiled forms (C<:$a>, C<:@a>,
 C<:%a>) never take an argument and don't care what the next character is.