Re: PIL nodes - looking for descriptions

2005-07-26 Thread Patrick R. Michaud
On Mon, Jul 25, 2005 at 12:57:07PM -0700, Allison Randal wrote:
 Could one of the lamdas correct the places where I'm  
 misinterpreting the code and fill in what's missing?

I may be able to help a little -- PPos indicates the current
parse location in the source code (for issuing useful debugging
messages).  A PThunk is a lazily-evaluated something (I think).
But a lambda camel would know with more certainty than I about
this at the moment.

Pm


Garbage Collector API

2005-07-26 Thread David Formosa \(aka ? the Platypus\)
So the summerizor doesn't get upset with me, I'll restate this in a
seperate thread. 

We are should have an API to talk to the GC and give it hints about when it
should run, and tweek the verious paramitors for its running.
 
For example

use GC trigger = 10`percent;

GC::run(); # Trigger the Garbige collector to run at this moment
 
GC::exclude(code); # Don't run the Garbige collector while code is
being executed.

-- 
Please excuse my spelling as I suffer from agraphia. See
http://dformosa.zeta.org.au/~dformosa/Spelling.html to find out more.
Free the Memes.


Re: [PATCH] Perl 6 FAQ

2005-07-26 Thread Robert Spier
 [1  text/plain; us-ascii (7bit)]
 On Sat, Jul 23, 2005 at 11:53:01AM -0700, Robert Spier wrote:
  Thanks, applied.
 Thanks!  However, the rendered form is still of an old revision:
 http://dev.perl.org/perl6/faq.html

It was still in my staging copy.  It should be up now.

-R


Re: Test failures

2005-07-26 Thread Nicholas Clark
On Tue, Jul 26, 2005 at 12:32:53AM -0700, Michael G Schwern wrote:
 Just built a fresh ponie from the repo (336) on OS X and got a few failures.  
 The test output is attached.
 
 Failed Test   Stat Wstat Total Fail  Failed  List of Failed
 ---
 t/dynclass/gdbmhash.t   13  332813   13 100.00%  1-13
 t/library/pcre.t 1   256 11 100.00%  1
 t/pmc/eval.t 3   768143  21.43%  12-14
 
 For the record I have prce 4.2-2 and gdbm 1.8.3-1 both from fink.

As ponie makes no changes to parrot, and these are parrot regression tests,
these are parrot bugs, so they really should go to perl6-internals.

I've also just seen t/library/pcre.t fail, from a checkout last night.

 t/library/pcre.
 # Failed test (t/library/pcre.t at line 33)
 #  got: 'ok 1
 # no extension: file 'libpcre'
 # '
 # expected: 'ok 1
 # ok 2
 # ok 3
 # ok 4
 # ok 5
 # '
 # './parrot  --gc-debug /usr/local/src/ponie/parrot/t/library/pcre_1.pir' 
 failed with exit code 42
 # Looks like you failed 1 test of 1.
 dubious
   Test returned status 1 (wstat 256, 0x100)
 DIED. FAILED test 1
   Failed 1/1 tests, 0.00% okay

That parrot error on OS X looks familiar to me. I don't know why it's going
wrong.

Nicholas Clark


Re: ponie can't execute itself in ``... sometimes.

2005-07-26 Thread Nicholas Clark
On Sat, Jul 23, 2005 at 11:46:19PM -0700, Michael G Schwern wrote:
 MakeMaker's find_perl() function fails to find ponie.  The reason is its
 attempt to run ponie fails.  The run is simply:
 
   my $check = `$path_to_ponie -le require 5.0; print qq{VER_OK}`
 
 when called inside find_perl nothing is returned.  But this appears to happen
 intermitantly.  To reproduce, download a copy of the ExtUtils-MakeMaker
 distribution.  Run ponie Makefile.PL verbose verbose.  You'll see among
 the output:
 
 Checking /path/to/your/bin/ponie
 Executing /path/to/your/bin/ponie
 Result: ''
 
 $?  8 at that point is 66 (?!).
 
 This appears to only happen in the MakeMaker distribution.  Makefile.PLs for
 other distributions work fine.

This seems to be a parrot bug of some sort. MM_Unix is running that test with
STDERR closed. Parrot fails to initialise if stderr is closed:

$ ./parrot examples/assembly/hello.pasm
Hello World
$ ./parrot examples/assembly/hello.pasm 2-  
$ echo $?
66

( 2- closes stderr )

Exit code (again) is 66.

I don't know why parrot's implementation is currently like this, or what the
correct fix should be.

Nicholas Clark


Re: [PATCH] recreatable shuffled tests for prove

2005-07-26 Thread Adriano Ferreira
On 7/25/05, Michael G Schwern [EMAIL PROTECTED] wrote:
prove --shuffle --list=5,4,0,1,2,3 t # the shuffle list is predetermined
 
 I'm not sure I see the utility in that last one that significantly beats
 out just reordering the arguments to prove.  Do you have a use case?  And
 what happens when the number of args is  the list?

The whole point of this option is to allow the reproduction of a
certain order even in a Perl that was not compiled with the same
configuration (mainly with respect to the random number generator). I
patched the POD also with the section below.

** PART OF THE PATCH
***

=head1 RECREATABLE SHUFFLED TESTS

Shuffling tests is useful for stressing a test suite with respect 
to the independency of execution order. But if a subtle bug is 
found with shuffling, there must be a way to reproduce the run.

Enter the Cseed and Clist options that go together with 
the Ishuffle option. 
The shuffling is controled by the Perl random number seed, that 
is reported every time a shuffling is done. For example, if

  $ prove -b -D --shuffle 0 1 2 3 4

outputs

  # shuffle seed: 87829589
  2
  3
  1
  4
  0

then

  $ prove -b -D -s --seed=87829589 0 1 2 3 4

must repeat the same run every time. This is valid for Perl
interpreters compiled with the same configuration. This is not
strictly necessary, but different configurations of
the pseudo-random generation (different libraries or even different
library versions) and different architectures may give different
results.

In such cases, Cprove can report the permutation list computed
by shuffling by using the Idebug option:

  $ prove -b -D -d -s seed:79617309  0 1 2 3 4
  # $Test::Harness::Switches: -Iblib\arch -Iblib\lib
  # shuffle seed: 87829589
  # shuffle list: 1,2,0,3,4
  1
  2
  0
  3
  4

Instead of giving the seed for shuffling, the list can be predetermined
with the Clist argument.

  $ prove -b -D -d -s --list=1,2,0,3,4 0 1 2 3 4

will run the same sequence everywhere, without concern for
differences between random number generators.

** END ***

In conclusion, we don't need --list in similar Perl builds, --seed
should be enough. There is also the issue of a very large list of
tests, which was not approached by this patch: it just prints a very
very long line when reporting the shuffle permutation in such cases.

Another issue you mentioned And what happens when the number of args
is  the list? points to a verification of the suitability of the
given list as a permutation. To check it out, a sub can be written
which checks that the list is really a permutation of 0..N-1, where N
is the number of tests. Something like this would do

 # check($n, @list) returns whether @list is a permutation of 0..$n-1
 sub check {
 my $n = shift;
 my %h;
 for (@_) {
  return 0 if ($_  0 || $_ = $n);
  return 0 if $h{$_}++;
 } 
 return keys %h == $n;
  }

I am not sure whether this verification is desirable or practical. In
order to be correct, yes. But trying to reproduce shuffled tests will
always fall apart if the number of test varies or the original order
of the test scripts. There are many involved factors: I count on
perl-qa to help revealing what is worth checking or not, so the patch
can be tuned.

 If I may suggest something.  --shuffle should print the seed it used
 
 my $seed = $Seed || int rand(2**$Config{randbits});
 print STDERR Using seed: $seed\n;
 srand $seed;
 
 that way you can repeat a failed --shuffle test without having to first
 remember to set --seed.

It does this indeed. This is essential for reproducing failed tests.
Instead of writing to STDERR, I included it in the test output like
this

print # shuffle seed: $shuffle_seed\n;

We cannot afford to have an optional printing of this information or
to lose that information in STDERR. If the test fails, maybe it would
be too late to report the seed that caused the situation.

(Instead of int rand(2**$Config{randbits}) I used the arbitrary int
rand(1E8). Yours is a more clever and portable expression.)

Best regards,
Adriano.


Re: HTTP::Recorder

2005-07-26 Thread Philippe 'BooK' Bruhat
Le mardi 12 juillet 2005 à 19:35, Ian Langworth écrivait:
 I'd like to improve HTTP::Recorder. I've contacted Linda Julien
 (http://search.cpan.org/~leira/) via her CPAN email address, but I've
 received no response. The module hasn't been touched in over a year
 and every RT ticket seems to have gone unanswered
 (http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTTP-Recorder).
 
 Suggestions?

As the author of HTTP::Proxy, a tool used by HTTP::Recorder, I'd be very
happy to help. :-)

A while ago, I discussed with Linda about using filter objects rather
than a LWP::UA subclass for HTTP::Recorder, and she told me that the
first version of HTTP::Recorder actually used filters.

I think that using filters may be more appropriate (though I can't prove
it right now :-). For instance, you could make HTTP::Recorder only record
some sites, and not everything you visit. I've also fiddled with the
idea of having a more general HTTP::Proxy::Filter class, that would
contain both a HTTP::Proxy::HeaderFilter and a HTTP::ProxyBodyFilter,
for complicated needs that must work both with the headers and the body.

Follow-up to the HTTP::Proxy mailing list.

PS: There is also a HTTP::Recorder mailing-list, but I do not know if
it's still alive.

-- 
 Philippe BooK Bruhat

 Destroy the little and you destroy the large.
(Moral from Groo The Wanderer #55 (Epic))


Re: Exposing the Garbage Collector

2005-07-26 Thread Piers Cawley
TSa (Thomas Sandlaß) [EMAIL PROTECTED] writes:

 Piers Cawley wrote:
 Let's say I have a class, call it Foo which has a bunch of attributes, and 
 I've
 created a few of them. Then, at runtime I do:
eval 'class Foo { has $.a_new_attribute is :default10 }';
 Assuming I've got the syntax right for defaulting an attribute,

 I think you need a 'class Foo is extended' to re-open the class.
 Otherwise you produce a redefinition error if the scope you call
 eval in already contains---or is that extains because of the name
 search beeing *outwards*---one you start from scratch.

Oh for heaven's sake! That's the last time I go trying to come up with concrete
examples for this sort of thing. Of course, you're right, I should have said
'is extended', but if I were doing it for real, the eval would fail and I'd
have a meaningful error message. 

[ An explanation of why this particular case doesn't require iterating over the
live set ]

I really shouldn't go picking concrete examples that can be worked around
should I? Suffice to say that sometimes (say for debugging purposes, or program
analysis -- Smalltalk can do some cunning typer inferencing tricks by examining
the live set for instance) I would like to be able to iterate over all the
objects in the live set. ISTM that exposing the Garbage Collector at the
Language level is the neatest way of doing this (or coming up with something
like Ruby's ObjectSpace, but conceptually I reckon the GC is the right place to
hang it).


Re: Exposing the Garbage Collector (Iterating the live set)

2005-07-26 Thread TSa (Thomas Sandlaß)

Piers Cawley wrote:

I would like to be able to iterate over all the
objects in the live set.


My Idea actually is to embedd that into the namespace syntax.
The idea is that of looking up non-negativ integer literals
with 0 beeing the namespace owner.

  for ::Namespace - $instance
  {
 if +$instance != 0 { reconfigure $instance }
  }

Hmm, how would that be written inside the owning class?

  for :: - $instance {...} # or perhaps ::_ or ::0

H, and the current actor/owner is $/ which gives the expanded
method call syntax:

   .method   #  really means:   $/.method($_)

Then we need to distinguish between the owner of a block and
the topic of the block. In methods the owner is called invocant,
of course. This also nicely unifies rules and methods. But with
the drawback that the brawl then shifts from topic versus invocant
to rules and method competing for ownership :)



ISTM that exposing the Garbage Collector at the
Language level is the neatest way of doing this (or coming up with something
like Ruby's ObjectSpace, but conceptually I reckon the GC is the right place to
hang it).


To me the GC is an implementation detail for rendering the
illussion of infinite memory :)

For example +::Int could return the number of instances in use
not the potential Inf many ones. Adding the infix namespace wildcard
could allow to retrieve attributes as arrays indexed by object id:

  @instvalues = ::SomeClass::*::attr;

The access control on a level behooves its owner/origin that
is ::NameSpace::0. This gives in the end a virtual tree of all
static information. As a fallout, structured rule matches can also
be queried with :: and as such nicely blend strings into the
type system. E.g. after successfull recognition an object could
be created by simply reparenting it from the rule to its class/owner.

The referential fabric and the call chains are hang-off this
structure somehow, as well. Everything else is basically garbage.

Too far off the mark? If not, I've ideas for ?? and :: beeing
top precedence namespace query ops. Only effect is that the
current meaning needs parens like ($condition ?? $value :: $other)
for preventing strange tokenization. OTOH would the barebone
structure of Perl6 revolve around ?? :: ::= () ; and namespace lookup.
--
TSa (Thomas Sandlaß)




Re: [PATCH] recreatable shuffled tests for prove

2005-07-26 Thread Andy Lester
On Tue, Jul 26, 2005 at 08:51:01AM -0300, Adriano Ferreira ([EMAIL PROTECTED]) 
wrote:
 The whole point of this option is to allow the reproduction of a
 certain order even in a Perl that was not compiled with the same

This option has to be able to handle the case of a set of 1000 tests,
all randomized, so we're talking about needing a file that contains the
order.  

-- 
Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance


Re: [PATCH] recreatable shuffled tests for prove

2005-07-26 Thread Michael G Schwern
On Tue, Jul 26, 2005 at 08:51:01AM -0300, Adriano Ferreira wrote:
 Instead of giving the seed for shuffling, the list can be predetermined
 with the Clist argument.
 
   $ prove -b -D -d -s --list=1,2,0,3,4 0 1 2 3 4
 
 will run the same sequence everywhere, without concern for
 differences between random number generators.

Yeah, that's exactly what I was worried about.  Why not just write:

prove -b -D -d 1 2 0 3 4

this even avoids having to write special code to handle Andy's worry about
large lists of arguments.

cat list | xargs prove

prove is a command line utility.  Use the command line.


 I am not sure whether this verification is desirable or practical. In
 order to be correct, yes. But trying to reproduce shuffled tests will
 always fall apart if the number of test varies or the original order
 of the test scripts. There are many involved factors: I count on
 perl-qa to help revealing what is worth checking or not, so the patch
 can be tuned.

Why would the number of test files vary when you trying to reproduce a 
previous test run?


-- 
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
Don't try the paranormal until you know what's normal.
-- Lords and Ladies by Terry Prachett


Re: Test harnesses?

2005-07-26 Thread Adrian Howard

On 25 Jul 2005, at 22:29, Peter Kay wrote:

http://qa.perl.org/test-modules.html has a bunch of test modules  
listed.


However, there are no harnesses listed.  I know Test::Harness, and I'm
going to go read about Test::Builder, but what other meta-testing
modules are there?

[snip]

All depends on your definition of harness I guess :-) Is  
Apache::Test one? Is Test::Class? Test::Base? Test::LectroTest?  
Test::Inline?


One of the things that makes Perl's standard testing framework  
interesting is that everything is so decoupled. As long as something  
talks TAP you can plug it in. As well as Test::Harness, you might  
want to look at:


Test::Harness::Straps
Test::TAP::HTMLMatrix
Test::TAP::Model

Apart from the TAPish stuff the only other Perl testing framework  
that seemed to get any traction at all was the JUnit based  
Test::Unit, which has it's own test runners as well as being able to  
output TAP. Seems dead in the water now though.


The only other thing that occurs is FIT frameworks, of which Perl has  
two:


Test::FIT
Test::C2FIT

Neither seems to have really caught on. People seem to prefer to grow  
domain-specific languages in Perl based on Test::Builder instead.


Cheers,

Adrian



Re: [PATCH] recreatable shuffled tests for prove

2005-07-26 Thread Adriano Ferreira
On 7/26/05, Michael G Schwern [EMAIL PROTECTED] wrote:
 Yeah, that's exactly what I was worried about.  Why not just write:
 prove -b -D -d 1 2 0 3 4
 this even avoids having to write special code to handle Andy's worry about
 large lists of arguments.

I see your point and agree. Probably, --seed is enough together with
the remark to not wait for this to work the same everywhere (but only
in the same Perl configuration wrt 'rand' and 'srand'). In the same
machine, --seed can be used to reproduce the same run or output the
same list with the -D switch. This output can be saved and reused just
as you said.

Before you wrote this message, I was thinking about some nice way to
implement retrieving the list from a file and that only makes the
problem and implementation worse. For example, it calls for an
implementation of 'slurp', the issue of checking mentioned in previous
messages, etc.

 prove is a command line utility.  Use the command line.

Ok. prove should stay simple.

  of the test scripts. There are many involved factors: I count on
  perl-qa to help revealing what is worth checking or not, so the patch
  can be tuned.
 
 Why would the number of test files vary when you trying to reproduce a
 previous test run?

They should not. But in a given setting, some confusion about new or
removed files could cause problems because --list would use just
indices 0..N-1. I was thinking about problems that were in fact
introduced by --list. Without it, they are not concerns.


Re: Exposing the Garbage Collector (Iterating the live set)

2005-07-26 Thread TSa (Thomas Sandlaß)

HaloO Jonathan,

you wrote: (why off-list?)

H, and the current actor/owner is $/ which gives the expanded
method call syntax:

  .method   #  really means:   $/.method($_)



You mean $?SELF rather than $/.  $/ is now the match object used in
rules.


I would say *for* rules/methods. $?SELF is a variable that is bound for
the body of the rule/method once. But I'm talking about the outside
general environment. I'm unsure about the rule syntax but wasn't it like

grammar Foo
{
   rule alpha {...}
   rule beta {...}
   rule blahh { { if .alpha { say letters $/ } } beta }
} #   ^^^

I wonder how the generic, lexically scoped invocant/owner is called.
I propose to call it $/ and let the former topicalizer become
block owners and $_ the block topic that flows into blocks from
further outside if not explicitly bound with - like:

   $topic := Some.new;
   $_ := $topic;
   for @objects { .action } # call on $/ from @objects with $_ := $topic
# in all loops

   @objects».action;  # same for single action syntax


   # but
   for @objects - { .action } # means $/.action($/) because
   # $_ bound to dynamic block owner;
   # but usefull for methods that don't
   # use the topic, in particular accessors
   # and mutators
   # same as sub call
   for @objects - { action }  # means action($/) because $_ := $/
   # but $/ is there if action is of
   # type Method

The only drawback I see is, that the careless method programmer could be
caugth in an endless .action loop if .action invokes .action explicitly
on $_ where $_ := $/ from the outside. The same endless loop could of
course be achieved with a free standing .action but that looks more like
intention.

With the lurking pitfalls an occasional check of $_ =:= $?SELF and
$/ =:= $_ seems advisable and indicates that the invocant wasn't
exchanged midway :)

Same with other topicalizers

  given $x{...}  # topic untouched, but $/ := $x
  given $x - {...}  # $_ := $x as well

But

  if $x{...}   # $/ and $_ untouched
  if $x - {...}   # $_ := $x (non boolean value)

One more interessting thing is that in exception handlers all three
variables $!, $/ and $_ are in scope. This might allow to resume where
the exception occurred after the cause was fixed e.g. by loading or
generating some code, some revamping or other DEEP_MAGIC.



Always needs parens?  Even in the simple cases?

my $foo = $cond ?? $alpha :: $beta;


People who know the parsers better than I do, correct me but I want
this to tokenize as (my $foo = $cond)??($alpha)::($beta) and then
given to the current match state of the parser seperately to produce a
name lookup resulting in the above case in three code snippets.
This e.g. allows to define the boolean type as

  *::false ::= *::bit::0;
  *::true  ::= *::bit::$_??$_::*false;

or so. And whitespace around ?? and :: doesn't matter!
?? just means skip next lookup if lookup fails.

Regards,
--
TSa (Thomas Sandlaß)




Re: Test harnesses?

2005-07-26 Thread Michael G Schwern
On Tue, Jul 26, 2005 at 04:38:45PM +0100, Adrian Howard wrote:
 One of the things that makes Perl's standard testing framework  
 interesting is that everything is so decoupled. As long as something  
 talks TAP you can plug it in. As well as Test::Harness, you might  
 want to look at:
 
 Test::Harness::Straps
 Test::TAP::HTMLMatrix
 Test::TAP::Model

The coupling problem comes from the issue that the TAP parser/runner 
(Test::Harness::Straps) is still tightly coupled to a single formatter 
(Test::Harness).  The original idea of THS was to hand a THS object a
Test::Harness::Formatter object (Test::Harness would be reduced to one of
these, one that produced HTML or XML is another example) and go but I got
bogged down worrying about how to write the callback interface.

Now that I've figured that out (don't use callbacks, hand the strap a
formatter object and use that) maybe I'll take another whack at finishing
it up.


-- 
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
You are wicked and wrong to have broken inside and peeked at the
implementation and then relied upon it.
-- tchrist in [EMAIL PROTECTED]


Re: [PATCH] recreatable shuffled tests for prove

2005-07-26 Thread Adriano Ferreira
Here is another patch. No --list anymore. Just --seed. There is also a
new test script t/prove-shuffle.t. It touches the MANIFEST and
tweaks t/prove-globbing.t which depends on distribution files
matching t/prove*.t.

Adriano.


prove-patch
Description: Binary data


End-of-program global destruction is now guaranteed

2005-07-26 Thread Autrijus Tang
Heya.  This is just a heads-up in response to your r5759:

--
r23564 (orig r5759):  chromatic | 2005-07-23 03:30:54 +0800

Added tests for global destruction: call DESTROYALL() on all active
objects.
(This is the last feature Test::Builder needs to work completely.)
--

It's now solved:

--
r23725 (orig r5815):  autrijus | 2005-07-27 02:06:52 +0800

* Global destruction -- DESTROYALL() on all active objects --
  is now guaranteed upon program exit.

--

I look forward to your perl.com article. :)

Thanks,
/Autrijus/


pgpy11XA0eldc.pgp
Description: PGP signature


Re: End-of-program global destruction is now guaranteed

2005-07-26 Thread chromatic
On Wed, 2005-07-27 at 02:18 +0800, Autrijus Tang wrote:

 Heya.  This is just a heads-up in response to your r5759:
 
 --
 r23564 (orig r5759):  chromatic | 2005-07-23 03:30:54 +0800
 
 Added tests for global destruction: call DESTROYALL() on all active
 objects.
 (This is the last feature Test::Builder needs to work completely.)
 --
 
 It's now solved:

Thanks!  I've just confirmed this (after revising the test slightly).

 I look forward to your perl.com article. :)

It goes up on Thursday afternoon.

-- c



Do slurpy parameters auto-flatten arrays?

2005-07-26 Thread Ingo Blechschmidt
Hi,

are the following assumptions correct?

  sub foo ([EMAIL PROTECTED]) { @args[0] }

  say ~foo(a, b, c); # a

  my @array = a b c d;
  say ~foo(@array);# a b c d (or a?)
  say ~foo(@array, z);   # a b c d (or a?)
  say ~foo([EMAIL PROTECTED]);   # a
  say ~foo(*(@array, z));# a
 

  sub bar ([EMAIL PROTECTED]) { [EMAIL PROTECTED] }

  say bar(1,2,3);  # 3
  say bar(@array); # 1 (or 4?)
  say bar(@array, z);# 2 (or 5?)
  say bar([EMAIL PROTECTED]);# 4


--Ingo

-- 
Linux, the choice of a GNU | There are no answers, only
generation on a dual AMD   | cross-references.  
Athlon!|



Re: GMC for dummies

2005-07-26 Thread Nattfodd
Hi,

I began putting the ideas of the documents in form.
For now, only the data structures are there but I think they look quite
nice. There are still some things lacking (mainly how the UINTVAL flags;
field of Gc_gmc_hdr will be used : I think that one or two bits for
marking plus some bits for recognition of frequently used PMC would be
fine. Other PMC would have a size field in the vtable).

You can find a version of the modified file here :

http://perso.ens-lyon.fr/alexandre.buisse/gmc/smallobject.h


Leo, I don't know if you want me to commit my files to the svn ? I have
of course included #if PARROT_GC_GMC everywhere so it should be pretty
safe unless you set #PARROT_GC_SYSTEM to 3 in include/parrot/settings.h

If that's the case, my perl.org account is named 'heimdall' (I don't
know how to change it for 'Nattfodd', sorry).

Regards,
Alexandre


Perl 6 Summary for 2005-07-19 through 2005-07-26

2005-07-26 Thread Matt Fowles
Perl 6 Summary for 2005-07-19 through 2005-07-26
All~

Welcome to another Perl 6 Summary brought to you by microwaved chinese
food and air conditioning. I love the modern era. Without further ado, I
bring you

  Perl 6 Compilers
Grégoire Péan announed the release of PxPerl 5.8.7-3, allowing people
who want to play with Pugs and Parrot on windows easy access.

http://xrl.us/gv6k

   Test Report for Windows
Ronald Hill reported some failing tests for Pugs on windows.
Fortunately, given Pugs's developement, there is a reasonable chance of
these problems being fixed. Unfortunately, given Pugs developement, no
such information made it to the list.

http://xrl.us/gv6m

   Parsing Perl6 Rules
Nathan Gray wondered how Jeff Pinyan's parsing perl6 rules project was
going. Jeff said that it did not get very far, but he posted what he did
have to http://feather.perl6.nl/~japhy/.

http://xrl.us/gv6n

   Pugs Problems
Vadim Konovalov was playing with slurp and found two problems. Adriano
Ferreira showed him how to work around slurp not accepting a :raw
option. Nobody commented on the peculariar $*ARGS[0] value when the
argument is -foobarfluffy.

http://xrl.us/gv6o

   Official Perl6 Rules Grammar
Patrick announced an official Perl 6 grammar whichi he would be
mainting closely with PGE in Parrot. It is incomplete at this point, but
patches are most welcome.

http://xrl.us/gv6p

   PIL Nodes's Descriptions
Allison Randal posted a request for a clue batting, listing various
types of nodes in PIL and explaining her guess at their descriptions.
Stuart Cook and Patrick both provided a little help, although not
everything on her list was addressed.

http://xrl.us/gv6q

   Perl 6 FAQ Patch
Autrijus provided a patch for the Perl 6 FAQ removing an outdated
question. Robert Spier applied the patch (modulo some confusion about
staged vs live copies).

http://xrl.us/gv6r

  Parrot
   Opcode Optimizability
Curtis Rawls noted that it is often simpler from an optimizer writers
standpoint to do constant folding and optimization on a smaller set of
opcodes (just one variant add instead of five (seven if you count inc
and dec)). Leo explained that removing these opcodes isn't an option,
but that a suggestion for compiler writers to only emit the more verbose
codes could be added to the faq.

http://xrl.us/gv6s

   Refcounting Hash
Nicholas Clark wants to use a hash to hold reference counts for Ponie
(something like dod_register_pmc in pmc.c), but he doesn't want to
duplicate code. Leo suggested that he move some of the code into a pmc
and then switch the real registry to use that PMC.

http://xrl.us/gv6t

   New PGE Test
Mitchell N Charity submited a test for a large pugs grammar, which
currently fails. Patrick noted that the test like came from
rx_grammar.pl in the Pugs distribution. This probably led to his above
addition of an Official Perl6 Rules Grammar.

http://xrl.us/gv6u

   Jit Emit Help
Adam Preble decided that he would play with an x86_64 code generator.
Unfortunately, he was hitting some stumbling blocks. Leo offered to help
him and provided pointers from #parrot.

http://xrl.us/gv6v

   Call Opcode Cleanup
Leo wants to cleanup some of the various invoke opcodes. He posted a
request for comment, but Warnock applies. It seems that Leo's request
for comments like this get Warnocked a lot...

http://xrl.us/gv6w

http://xrl.us/gv6x

   spawnw Return Value
Jerry Gay opened a TODO ticket for switching spawnw to return something
object like to wrap platform-specific oddities. Prompted by Jonathan
Worthington submitting a patch to make the spawnw tests pass on windows
(which was applied).

http://xrl.us/gv6y -- Ticket

http://xrl.us/gv6z -- TODO

   Bugs in ops2vim.pl
Amir Karger noticed a bug in ops2vim.pl and suggested a fix. Jerry Gay
fixed it.

http://xrl.us/gv62

   Leo's Ctx Branch Tests
Jerry Gay and Leo worked together to get his branch passing a few more
tests on windows. Nick Glencross wondered if the python dynclasses tests
were being run too. Jonathan Worthington explained that they were being
skipped for the moment.

http://xrl.us/gv63

   Raised by the Aliens
Matt Diephouse was surprised to discover that you cannot use addparent
with a PMC for either argument. He suggested that this be made to work
or officially documented.

http://xrl.us/gv64

   Patches Accumulating
Leo requested that people with commit bits pick up some of the patches
that were building up as he was running a little low on tuits.

http://xrl.us/gv65

   Dump CFG
Curtis Rawls moved the dump_cfg call from reg_alloc.c to cfg.c. Leo
applied the patch.

http://xrl.us/gv66

   string_to_cstring leaks
Jonathan Worthington 

Re: Perl 6 Summary for 2005-07-19 through 2005-07-26

2005-07-26 Thread Will Coleda


On Jul 26, 2005, at 9:21 PM, Matt Fowles wrote:


   \u escape issues
Will Coleda opened a ticket for some unicode escape issues. Leo  
asked

for a test case.

http://xrl.us/gv7i




Actually, this was a close of a fairly old ticket that predated the  
big string merge. Apologies for any confusion.