Re: CPP Namespace pollution

2002-01-28 Thread Dave Mitchell

Bryan C. Warnock [EMAIL PROTECTED] wrote:
 I count 86 violations of 8.3 in the tree.  8.3-friendly doesn't appear to be 
 a concern.

The files themselves don't have to be 8.3; however, they should be unique in

lc( substr($base,0,8) . '.' . substr($suffix,0,3) )

Under that rule, I make it four:

duplicate: ./include/parrot/register.h - ./include/parrot/register_funcs.h
duplicate: ./languages/miniperl/Miniperl - ./languages/miniperl/miniperlc
duplicate: ./t/op/pmc_perlarray.t - ./t/op/pmc_perlhash.t
duplicate: ./t/op/pmc_perlarray.t - ./t/op/pmc_perlstring.t




Re: CPP Namespace pollution

2002-01-28 Thread Simon Cozens

On Mon, Jan 28, 2002 at 11:57:25AM +, Dave Mitchell wrote:
 duplicate: ./include/parrot/register.h - ./include/parrot/register_funcs.h

This should be regfuncs.h

 duplicate: ./languages/miniperl/Miniperl - ./languages/miniperl/miniperlc

Urgh. mpc?

 duplicate: ./t/op/pmc_perlarray.t - ./t/op/pmc_perlhash.t
 duplicate: ./t/op/pmc_perlarray.t - ./t/op/pmc_perlstring.t

These should move to t/op/pmc/

Similarly, I'd like Parrot/ to move to lib/

But doesn't this require much CVS hackery to keep the revision history?

-- 
The problem with big-fish-little-pond situations is that you
have to put up with all these fscking minnows everywhere.
-- Rich Lafferty



Re: How Powerful Is Parrot? (A Few More Questions)

2002-01-28 Thread David . Leeper


 so please note that destruction is not collection and they are and can
 be separately controlled. you have to stop thinking c++ (which will
 probably NOT be directly supported by parrot) and think perlish (or
 as other dynamic langs) more. perl doesn't have a delete thing and
 doesn't need one. it can detect DoD on its own and then let parrot GC
 them later. memory usage and objects are not the same.

Well, I'm not really interested in Perl at all. If all Parrot can do is
allow me to write a languge that is basically Perl, then I'm not interested
in Parrot either.

I think it may be a good idea to wait until the Parrot folks have their
product and web site a little better documented and aren't under such
stress.

Dave




   

Uri Guttman

uri@stemsyste   To: [EMAIL PROTECTED]

ms.com  cc: [EMAIL PROTECTED], [EMAIL PROTECTED], 
[EMAIL PROTECTED]  
 Subject: Re: How Powerful Is Parrot? (A 
Few More Questions)   
01/25/02 11:49 

PM 

Please respond 

to Uri Guttman 

   

   





 DL == David Leeper [EMAIL PROTECTED] writes:

  DL If I know what I want to destroy and when, can I just turn off
Parrot's
  DL automatic garbage collector/memory compactor and send it instructons
on
  DL what I want deleted?

i have to jump in here because i am seeing the classic discussion of A
and B and they are not the same things. in parrot, GC is separated from
DoD. you seem to always conflate the two. in general destruction is not
related to GC, it is used to clean up stuff like file handles, complex
objects, deal with persistance etc. a destroyed object may have its
space reclaimed at some future time. destruction is more of a language
feature and GC is more of a VM feature. they are not the same thing and
you shouldn't keep talking about them as if they are con-joined
twins. you can cause object destruction when you want in most langs that
parrot will support. and you can probably initiate a GC pass from most
langs if they have an API to get into parrot's GC. but you don't have to
do one to do the other. many heap allocated things won't be objects
(buffers, strings, etc.) and will be purely GC'ed as needed. some
objects can be destroyed simply when their context exits (e.g. leaving a
block and destroying any my'ed objects which are dead). those will then
be marked for later GC.

so please note that destruction is not collection and they are and can
be separately controlled. you have to stop thinking c++ (which will
probably NOT be directly supported by parrot) and think perlish (or
as other dynamic langs) more. perl doesn't have a delete thing and
doesn't need one. it can detect DoD on its own and then let parrot GC
them later. memory usage and objects are not the same.

uri

--
Uri Guttman  --  [EMAIL PROTECTED]  
http://www.stemsystems.com
-- Stem is an Open Source Network Development Toolkit and Application Suite
-
- Stem and Perl Development, Systems Architecture, Design and Coding

Search or Offer Perl Jobs  
http://jobs.perl.org






Update your CVS!

2002-01-28 Thread Dan Sugalski

While I need to get the stacks tests fixed, snag the latest Parrot. 
Losing the indirection on the registers gets about a 27% speeduup on 
mops.pasm. I think this one's a keeper...
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: How Powerful Is Parrot? (A Few More Questions)

2002-01-28 Thread Simon Cozens

On Mon, Jan 28, 2002 at 10:03:53AM -0500, [EMAIL PROTECTED] wrote:
 Well, I'm not really interested in Perl at all. If all Parrot can do is
 allow me to write a languge that is basically Perl, then I'm not interested
 in Parrot either.

To be fair, Uri did say and other dynamic languages. And I have no
problems with a C or C++ style language implemented on top of Parrot. 
C would obviously be relatively easy; I'd positively like to have someone
thinking about the likes of C# on Parrot.

-- 
Wouldn't it be wonderful if real life supported control-Z?



Re: CPP Namespace pollution

2002-01-28 Thread Rafael Garcia-Suarez

Simon Cozens wrote in perl.perl6.internals:
 
 Similarly, I'd like Parrot/ to move to lib/

And Test/, while you're at it.

 But doesn't this require much CVS hackery to keep the revision history?

Don't be the slave of your tools ;-)

-- 
Rafael Garcia-Suarez



Re: CPP Namespace pollution

2002-01-28 Thread Dan Sugalski

At 4:25 PM + 1/28/02, Rafael Garcia-Suarez wrote:
Simon Cozens wrote in perl.perl6.internals:

  Similarly, I'd like Parrot/ to move to lib/

And Test/, while you're at it.

  But doesn't this require much CVS hackery to keep the revision history?

Don't be the slave of your tools ;-)

I'm pretty sure that we can do this and preserve the revision 
history, though it needs to be done on the CVS machine itself. I'll 
see if we can find out what needs to be done, then prevail on Ask to 
fix us up here.

-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



ARGV and ENV

2002-01-28 Thread Dan Sugalski

Okay, here's the scoop.

When an interpreter starts, P0 will have either NULL or a PerlArray 
with the arguments in it. P1 will be either NULL or have a PerlHash 
with the environment in it. If either should actually Do Magic on 
alteration, then the appropriate Magic PMC will be in there instead, 
though it'll still act as an array or hash, respectively.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: How Powerful Is Parrot? (A Few More Questions)

2002-01-28 Thread Melvin Smith



Well, I'm not really interested in Perl at all. If all Parrot can do is
allow me to write a languge that is basically Perl, then I'm not
interested
in Parrot either.

I think it may be a good idea to wait until the Parrot folks have their
product and web site a little better documented and aren't under such
stress.

Dave

Or you could become a Parrot folk and wade in and help out. ;)

-Melvin Smith

IBM :: Atlanta Innovation Center
[EMAIL PROTECTED] :: 770-835-6984










[PATCH] Minor nit in overview.pod

2002-01-28 Thread Simon Glover


 There is no opcodes.pod; I'm assuming the pointer should actually be to
 parrot_assembly.pod, as the canonical documentation.

 Simon

--- overview.pod.oldMon Jan 28 19:42:55 2002
+++ overview.podMon Jan 28 19:43:06 2002
@@ -65,7 +65,7 @@
 These areas will roughly map to compilation units of the original
 source; each precompiled module will have its own opcode table.
 
-For a closer look at Parrot ops, see Lopcodes.
+For a closer look at Parrot ops, see Lparrot_assembly.
 
 =head1 PMCs
 
 




[nick@unfortu.net: [PATCH] MANIFEST.SKIP]

2002-01-28 Thread Nicholas Clark

Is a MANIFEST.SKIP a good idea, even if Configure.pl doesn't check it by
default?

Nicholas Clark
- Forwarded message from Nicholas Clark [EMAIL PROTECTED] -

Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
List-Post: mailto:[EMAIL PROTECTED]
List-Help: mailto:[EMAIL PROTECTED]
List-Unsubscribe: mailto:[EMAIL PROTECTED]
List-Subscribe: mailto:[EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [PATCH] MANIFEST.SKIP
From: Nicholas Clark [EMAIL PROTECTED]

This patch (context diffs mean that it's atop the Term::ReadLine patch)
adds a check for unexpected files not in the MANIFEST to Configure.pl

I'm not certain that putting the test in Configure.pl is the right place
for it, but I do believe that having an accurate MANIFEST.SKIP and the
ability to run 

perl -MExtUtils::Manifest -e ExtUtils::Manifest::fullcheck

(possibly as a Makefile target) is useful.

Currently:

Not in MANIFEST: include/parrot/rxstacks.h
Not in MANIFEST: rxstacks.c

Nicholas Clark
-- 
ENOCHOCOLATE http://www.ccl4.org/~nick/CV.html

--- /mnt/six/parrot/parrot_readline++/Configure.pl~ Mon Jan 21 17:44:03 2002
+++ Configure.plMon Jan 21 19:48:37 2002
@@ -11,7 +11,7 @@
 
 use Config;
 use Getopt::Long;
-use ExtUtils::Manifest qw(manicheck);
+use ExtUtils::Manifest qw(fullcheck);
 use File::Copy;
 use Term::ReadLine; # The stub is present from earlier than 5.004
 use Parrot::BuildUtil;
@@ -810,11 +810,10 @@
 #
 
 sub check_manifest {
-print \n;
 
-my(@missing)=manicheck();
+my($missing,$extra)=fullcheck();
 
-if(@missing) {
+if(@$missing) {
 print END;
 
 Ack, some files were missing!  I can't continue running
@@ -838,6 +837,7 @@
 if ($term) {
 my $type = $term-ReadLine;
 print END;
+
 Okay, we found everything.  Next you'll need to answer
 a few questions about your system.  You have
 ${ type} installed, so I'll use that to let
--- /dev/null   Mon Jul 16 22:57:44 2001
+++ MANIFEST.SKIP   Mon Jan 21 20:13:26 2002
@@ -0,0 +1,52 @@
+\.o$
+^\.cvsignore$
+/\.cvsignore$
+^include/parrot/config\.h$
+^include/parrot/platform\.h$
+^Makefile$
+/Makefile$
+^Parrot/Types\.pm$
+^Parrot/Config\.pm$
+^platform\.c$
+^config.opt$
+
+^vtable\.ops$
+^include/parrot/vtable\.h$
+^include/parrot/jit_struct\.h$
+^include/parrot/oplib/core_ops\.h$
+^include/parrot/oplib/core_ops_prederef\.h$
+
+^core_ops\.c$
+^core_ops_prederef\.c$
+^vtable_ops\.c$
+
+^Parrot/Jit\.pm$
+^Parrot/PMC\.pm$
+^Parrot/OpLib/core\.pm$
+
+^classes/default\.h$
+^classes/default\.c$
+^classes/intqueue\.h$
+^classes/intqueue\.c$
+^classes/parrotpointer\.h$
+^classes/parrotpointer\.c$
+^classes/perlarray\.h$
+^classes/perlarray\.c$
+^classes/perlhash\.h$
+^classes/perlhash\.c$
+^classes/perlint\.h$
+^classes/perlint\.c$
+^classes/perlnum\.h$
+^classes/perlnum\.c$
+^classes/perlstring\.h$
+^classes/perlstring\.c$
+^classes/perlundef\.h$
+^classes/perlundef\.c$
+
+^docs/packfile-c\.pod$
+^docs/packfile-perl\.pod$
+^docs/core_ops\.pod$
+
+^test_parrot$
+^pdump$
+^blib/
--- ../parrot/MANIFEST  Mon Jan 21 16:42:17 2002
+++ MANIFESTMon Jan 21 19:34:16 2002
@@ -3,6 +3,7 @@
 Configure.pl
 KNOWN_ISSUES
 MANIFEST
+MANIFEST.SKIP
 Makefile.in
 NEWS
 Parrot/Assembler.pm

- End forwarded message -



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Dan Sugalski

At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
This patch seems to have slipped by in the post New Year's haze.  It
updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
use Test::Builder instead of doing Evil things to Test::More.

Where's Test/Builder.pm, though?
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: [PATCH] Minor nit in overview.pod [APPLIED]

2002-01-28 Thread Dan Sugalski

At 7:46 PM + 1/28/02, Simon Glover wrote:

  There is no opcodes.pod; I'm assuming the pointer should actually be to
  parrot_assembly.pod, as the canonical documentation.

Applied, thanks.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: CPP Namespace pollution

2002-01-28 Thread Jonathan Stowe

On Mon, 28 Jan 2002, Dan Sugalski wrote:

 At 4:25 PM + 1/28/02, Rafael Garcia-Suarez wrote:
 Simon Cozens wrote in perl.perl6.internals:
 
   Similarly, I'd like Parrot/ to move to lib/
 
 And Test/, while you're at it.
 
   But doesn't this require much CVS hackery to keep the revision history?
 
 Don't be the slave of your tools ;-)

 I'm pretty sure that we can do this and preserve the revision
 history, though it needs to be done on the CVS machine itself. I'll
 see if we can find out what needs to be done, then prevail on Ask to
 fix us up here.


You just need someone with a shell on the CVS (and the appropriate
permissions :) server to move the files to the new layout ...


/J\
-- 
Jonathan Stowe  |
http://www.gellyfish.com  |  This space for rent
|




Re: Lexical implementation work

2002-01-28 Thread Nicholas Clark

On Sat, Nov 10, 2001 at 12:37:24PM -0500, Dan Sugalski wrote:
 I think we're going to switch over to some sort of key creation op, but I'm 
 not sure at the moment. Constant keys are easy, of course--they can be 
 thrown up into the constants section, built at compile-time.

Do constants with precomputed hashes buy us enough to overcome the extra
memory needed to store the integer for the hash as well as the string?

On and off I've been playing with this in perl5, but it seems to be
impossible to make a benchmarkable difference (either faster *or* slower)

Nicholas Clark
-- 
EMCFT http://www.ccl4.org/~nick/CV.html



Re: Lexical implementation work

2002-01-28 Thread Dan Sugalski

At 11:11 PM + 1/28/02, Nicholas Clark wrote:
On Sat, Nov 10, 2001 at 12:37:24PM -0500, Dan Sugalski wrote:
  I think we're going to switch over to some sort of key creation op, but I'm
  not sure at the moment. Constant keys are easy, of course--they can be
  thrown up into the constants section, built at compile-time.

Do constants with precomputed hashes buy us enough to overcome the extra
memory needed to store the integer for the hash as well as the string?

Good question, and I'm not sure. I expect that for some it will--such 
as AUTOLOAD or ISA which are used a lot--and for most it won't 
matter. But the frequently accessed entries can be gotten even faster 
if we reserve slots for them in the various hashes and access them by 
offset instead.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Michael G Schwern

On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
 At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
 This patch seems to have slipped by in the post New Year's haze.  It
 updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
 use Test::Builder instead of doing Evil things to Test::More.
 
 Where's Test/Builder.pm, though?

Hells bells.  Here it is.

--- /dev/null   Mon Jan 28 02:17:54 2002
+++ Test/Builder.pm Sat Jan 12 17:05:41 2002
@@ -0,0 +1,1189 @@
+package Test::Builder;
+
+use 5.004;
+
+# $^C was only introduced in 5.005-ish.  We do this to prevent
+# use of uninitialized value warnings in older perls.
+$^C ||= 0;
+
+use strict;
+use vars qw($VERSION $CLASS);
+$VERSION = '0.11';
+$CLASS = __PACKAGE__;
+
+my $IsVMS = $^O eq 'VMS';
+
+use vars qw($Level);
+my @Test_Results = ();
+my @Test_Details = ();
+my($Test_Died) = 0;
+my($Have_Plan) = 0;
+my $Curr_Test = 0;
+
+
+=head1 NAME
+
+Test::Builder - Backend for building test libraries
+
+=head1 SYNOPSIS
+
+  package My::Test::Module;
+  use Test::Builder;
+  require Exporter;
+  @ISA = qw(Exporter);
+  @EXPORT = qw(ok);
+
+  my $Test = Test::Builder-new;
+  $Test-output('my_logfile');
+
+  sub import {
+  my($self) = shift;
+  my $pack = caller;
+
+  $Test-exported_to($pack);
+  $Test-plan(@_);
+
+  $self-export_to_level(1, $self, 'ok');
+  }
+
+  sub ok {
+  my($test, $name) = @_;
+
+  $Test-ok($test, $name);
+  }
+
+
+=head1 DESCRIPTION
+
+ITHIS IS ALPHA GRADE SOFTWARE  Meaning the underlying code is well
+tested, yet the interface is subject to change.
+
+Test::Simple and Test::More have proven to be popular testing modules,
+but they're not always flexible enough.  Test::Builder provides the a
+building block upon which to write your own test libraries Iwhich can
+work together.
+
+=head2 Construction
+
+=over 4
+
+=item Bnew
+
+  my $Test = Test::Builder-new;
+
+Returns a Test::Builder object representing the current state of the
+test.
+
+Since you only run one test per program, there is Bone and only one
+Test::Builder object.  No matter how many times you call new(), you're
+getting the same object.  (This is called a singleton).
+
+=cut
+
+my $Test;
+sub new {
+my($class) = shift;
+$Test ||= bless ['Move along, nothing to see here'], $class;
+return $Test;
+}
+
+=back
+
+=head2 Setting up tests
+
+These methods are for setting up tests and declaring how many there
+are.  You usually only want to call one of these methods.
+
+=over 4
+
+=item Bexported_to
+
+  my $pack = $Test-exported_to;
+  $Test-exported_to($pack);
+
+Tells Test::Builder what package you exported your functions to.
+This is important for getting TODO tests right.
+
+=cut
+
+my $Exported_To;
+sub exported_to {
+my($self, $pack) = @_;
+
+if( defined $pack ) {
+$Exported_To = $pack;
+}
+return $Exported_To;
+}
+
+=item Bplan
+
+  $Test-plan('no_plan');
+  $Test-plan( skip_all = $reason );
+  $Test-plan( tests = $num_tests );
+
+A convenient way to set up your tests.  Call this and Test::Builder
+will print the appropriate headers and take the appropriate actions.
+
+If you call plan(), don't call any of the other methods below.
+
+=cut
+
+sub plan {
+my($self, $cmd, $arg) = @_;
+
+return unless $cmd;
+
+if( $cmd eq 'no_plan' ) {
+$self-no_plan;
+}
+elsif( $cmd eq 'skip_all' ) {
+return $self-skip_all($arg);
+}
+elsif( $cmd eq 'tests' ) {
+if( $arg ) {
+return $self-expected_tests($arg);
+}
+elsif( !defined $arg ) {
+die Got an undefined number of tests.  Looks like you tried to .
+say how many tests you plan to run but made a mistake.\n;
+}
+elsif( !$arg ) {
+die You said to run 0 tests!  You've got to run something.\n;
+}
+}
+}
+
+=item Bexpected_tests
+
+my $max = $Test-expected_tests;
+$Test-expected_tests($max);
+
+Gets/sets the # of tests we expect this test to run and prints out
+the appropriate headers.
+
+=cut
+
+my $Expected_Tests = 0;
+sub expected_tests {
+my($self, $max) = @_;
+
+if( defined $max ) {
+$Expected_Tests = $max;
+$Have_Plan  = 1;
+
+$self-_print(1..$max\n) unless $self-no_header;
+}
+return $Expected_Tests;
+}
+
+
+=item Bno_plan
+
+  $Test-no_plan;
+
+Declares that this test will run an indeterminate # of tests.
+
+=cut
+
+my($No_Plan) = 0;
+sub no_plan {
+$No_Plan= 1;
+$Have_Plan  = 1;
+}
+
+=item Bskip_all
+
+  $Test-skip_all;
+  $Test-skip_all($reason);
+
+Skips all the tests, using the given $reason.  Exits immediately with 0.
+
+=cut
+
+my $Skip_All = 0;
+sub skip_all {
+my($self, $reason) = @_;
+
+my $out = 1..0;
+$out .=  # Skip $reason if $reason;
+$out .= \n;
+
+$Skip_All = 1;
+
+$self-_print($out) unless $self-no_header;
+exit(0);
+}
+
+=back
+
+=head2 Running tests
+
+These actually run the tests, analogous 

Re: CPP Namespace pollution

2002-01-28 Thread Steve Fink

On Mon, Jan 28, 2002 at 10:04:43PM +, Jonathan Stowe wrote:
 On Mon, 28 Jan 2002, Dan Sugalski wrote:
 
  At 4:25 PM + 1/28/02, Rafael Garcia-Suarez wrote:
  Simon Cozens wrote in perl.perl6.internals:
  
Similarly, I'd like Parrot/ to move to lib/
  
  And Test/, while you're at it.
  
But doesn't this require much CVS hackery to keep the revision history?
  
  Don't be the slave of your tools ;-)
 
  I'm pretty sure that we can do this and preserve the revision
  history, though it needs to be done on the CVS machine itself. I'll
  see if we can find out what needs to be done, then prevail on Ask to
  fix us up here.
 
 
 You just need someone with a shell on the CVS (and the appropriate
 permissions :) server to move the files to the new layout ...

And warn everyone beforehand because we'll all have to check out a
fresh copy afterwards.



Re: cvs commit: parrot/io io.c

2002-01-28 Thread Melvin Smith


   Readded the pio_(stdin|stdout|stderr) to make builds work again.

I moved stdin/stdout/stderr to be interp local so you can
use: interpreter-piodata-table[PIO_STDIN_FILENO], etc. now.

Those global pointers should go away because they are null
now anyway.

-Melvin

   Revision  ChangesPath
   1.11  +5 -5  parrot/jit.c

   Index: jit.c
   ===
   RCS file: /home/perlcvs/parrot/jit.c,v
   retrieving revision 1.10
   retrieving revision 1.11
   diff -u -w -r1.10 -r1.11
   --- jit.c 20 Jan 2002 20:52:21 -  1.10
   +++ jit.c 28 Jan 2002 14:16:59 -  1.11
   @@ -1,7 +1,7 @@
/*
** jit.c
**
   -** $Id: jit.c,v 1.10 2002/01/20 20:52:21 grunblatt Exp $
   +** $Id: jit.c,v 1.11 2002/01/28 14:16:59 grunblatt Exp $
*/

#include parrot/parrot.h
   @@ -33,7 +33,7 @@
INTVAL *address,ivalue,size,i,k;
INTVAL *op_address, prev_address, bytecode_position;
#ifdef ALPHA
   -char *interpreter_registers = ((char 
 *)interpreter-int_reg-registers[0]) + 0x7fff;
   +char *interpreter_registers = ((char 
 *)interpreter-int_reg.registers[0]) + 0x7fff;
INTVAL high,low;
#endif

   @@ -107,7 +107,7 @@
v = op_assembly[*pc].intval_register_address;
for (i = 0; i  v.amount; i++)
{
   -address = 
 interpreter-int_reg-registers[pc[v.info[i].number]];
   +address = 
 interpreter-int_reg.registers[pc[v.info[i].number]];
#ifdef ALPHA
address = (INTVAL*)(((char *)address) - 
 interpreter_registers);
#endif
   @@ -117,7 +117,7 @@
v = op_assembly[*pc].floatval_register_address;
for (i = 0; i  v.amount; i++)
{
   -address = (INTVAL 
 *)interpreter-num_reg-registers[pc[v.info[i].number]];
   +address = (INTVAL 
 *)interpreter-num_reg.registers[pc[v.info[i].number]];
#ifdef ALPHA
address = (INTVAL*)(((char *)address) - 
 interpreter_registers);
#endif
   @@ -129,7 +129,7 @@
v = op_assembly[*pc].string_register_address;
for (i = 0; i  v.amount; i++)
{
   -address = (INTVAL 
 *)interpreter-string_reg-registers[pc[v.info[i].number]];
   +address = (INTVAL 
 *)interpreter-string_reg.registers[pc[v.info[i].number]];
#ifdef ALPHA
address = (INTVAL*)(((char *)address) - 
 interpreter_registers);
#endif



   1.12  +6 -1  parrot/io/io.c

   Index: io.c
   ===
   RCS file: /home/perlcvs/parrot/io/io.c,v
   retrieving revision 1.11
   retrieving revision 1.12
   diff -u -w -r1.11 -r1.12
   --- io.c  28 Jan 2002 04:27:17 -  1.11
   +++ io.c  28 Jan 2002 14:17:05 -  1.12
   @@ -1,7 +1,7 @@
/* io.c
 *  Copyright: (When this is determined...it will go here)
 *  CVS Info
   - *  $Id: io.c,v 1.11 2002/01/28 04:27:17 mrjoltcola Exp $
   + *  $Id: io.c,v 1.12 2002/01/28 14:17:05 grunblatt Exp $
 *  Overview:
 *  This is the Parrot IO subsystem API.  Generic IO stuff
 *  goes here, each specific layer goes in its own file...
   @@ -29,6 +29,11 @@
/*
ParrotIOLayer   * pio_default_stack;
*/
   +
   +/* The standard streams */
   +ParrotIO * pio_stdin;
   +ParrotIO * pio_stdout;
   +ParrotIO * pio_stderr;


PIOOFF_Tpiooffsetzero;








Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Dan Sugalski

At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
  At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
  This patch seems to have slipped by in the post New Year's haze.  It
  updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
  use Test::Builder instead of doing Evil things to Test::More.

  Where's Test/Builder.pm, though?

Hells bells.  Here it is.

And the patch is in. Thanks.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Michael G Schwern

On Mon, Jan 28, 2002 at 09:36:19PM -0500, Dan Sugalski wrote:
 At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
 On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
  At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
  This patch seems to have slipped by in the post New Year's haze.  It
  updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
  use Test::Builder instead of doing Evil things to Test::More.
 
  Where's Test/Builder.pm, though?
 
 Hells bells.  Here it is.
 
 And the patch is in. Thanks.

Thanks.  Simon mentioned something about Parrot::Test not reporting
segfaults and weird exit codes well?


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
Right Wing Enema:
Flush Immorality Now!
God gums gay gorgings.
-- boojum



[COMMIT] Array type

2002-01-28 Thread Jeff G

I've just added a new 'Array' type alongside the current PerlArray. Some
target languages may not like to use Perl's array style, so they now can
use the basic Array type. As the test (t/op/pmc_array.t) indicates, no
preallocation is done. I probably need to support exceptions at some
future date, but as there are (currently) only 6 vtable entries which
would care, I've temporarily put it off.

Soon, the 6 vtable entries will collapse into 2 entries. The
get_{foo}_index and set_{foo}_index members will be collapsed into
'get_index' and 'set_index' members. I've also done some initial work on
Unicode integration, but I think these changes take precedence for the
time being. Problems still exist in PerlArray that I'll root out over
the next week and fix.

--
Jeff [EMAIL PROTECTED]



Re: [COMMIT] Array type

2002-01-28 Thread Steve Fink

On Mon, Jan 28, 2002 at 11:34:22PM -0500, Jeff G wrote:
 I've just added a new 'Array' type alongside the current PerlArray. Some
 target languages may not like to use Perl's array style, so they now can
 use the basic Array type. As the test (t/op/pmc_array.t) indicates, no
 preallocation is done. I probably need to support exceptions at some
 future date, but as there are (currently) only 6 vtable entries which
 would care, I've temporarily put it off.

Seems like one of these should inherit from the other.

  class PerlArray extends Array { ... }



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Steve Fink

On Mon, Jan 28, 2002 at 09:36:19PM -0500, Dan Sugalski wrote:
 At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
 On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
  At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
  This patch seems to have slipped by in the post New Year's haze.  It
  updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
  use Test::Builder instead of doing Evil things to Test::More.
 
  Where's Test/Builder.pm, though?
 
 Hells bells.  Here it is.
 
 And the patch is in. Thanks.

*kaboom*

From the commit log:

Parrot::Test no longer exports Test::More's functions.  Instead they
can simply be used together.  The few tests which used Test::More
features (ie. skip) have 'use Test::More' added.

No they can't (be used together):

  % perl t/op/stacks.t 
  1..15
  ok 1 - pushi  popi
  ok 2 - pushs  pops
  ok 3 - pushn  popn
  ok 4 - pushp  popp
  ok 5 - save_i  restore_i
  ok 6 - ENO I frames
  ok 7 - ENO N frames
  ok 8 - ENO S frames
  ok 9 - rotate 0
  ok 10 - rotate 1
  ok 11 - rotate 2
  ok 12 - rotate 3
  ok 13 - save, restore
  ok 14 - entrytype
  You tried to use ok() without a plan!  Gotta have a plan.
use Test::Simple tests = 23;   for example.
  # Looks like you planned 15 tests but only ran 14.

If I do

  use Parrot::Test tests = 15;
- use Test::More;
+ use Test::More tests = 15;

then they fight over the tests.

  1..15
  1..15
  ok 1 - pushi  popi
  ok 2 - pushs  pops
  ok 3 - pushn  popn
  ok 4 - pushp  popp
  ok 5 - save_i  restore_i
  ok 6 - ENO I frames
  ok 7 - ENO N frames
  ok 8 - ENO S frames
  ok 9 - rotate 0
  ok 10 - rotate 1
  ok 11 - rotate 2
  ok 12 - rotate 3
  ok 13 - save, restore
  ok 14 - entrytype
  ok 1 # skip Await exceptions
  # Looks like you planned 15 tests but only ran 1.
  # Looks like you planned 15 tests but only ran 14.



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Dan Sugalski

At 9:33 PM -0800 1/28/02, Steve Fink wrote:
On Mon, Jan 28, 2002 at 09:36:19PM -0500, Dan Sugalski wrote:
  At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
  On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
   At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
   This patch seems to have slipped by in the post New Year's haze.  It
   updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
   use Test::Builder instead of doing Evil things to Test::More.
  
   Where's Test/Builder.pm, though?
  
  Hells bells.  Here it is.

  And the patch is in. Thanks.

*kaboom*

From the commit log:

 Parrot::Test no longer exports Test::More's functions.  Instead they
 can simply be used together.  The few tests which used Test::More
 features (ie. skip) have 'use Test::More' added.

No they can't (be used together):

   % perl t/op/stacks.t

Dammit, I had that working before I committed things. I'll fix.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Michael G Schwern

On Mon, Jan 28, 2002 at 09:33:06PM -0800, Steve Fink wrote:
 On Mon, Jan 28, 2002 at 09:36:19PM -0500, Dan Sugalski wrote:
  At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
  On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
   At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
   This patch seems to have slipped by in the post New Year's haze.  It
   updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
   use Test::Builder instead of doing Evil things to Test::More.
  
   Where's Test/Builder.pm, though?
  
  Hells bells.  Here it is.
  
  And the patch is in. Thanks.
 
 *kaboom*
 
 From the commit log:
 
 Parrot::Test no longer exports Test::More's functions.  Instead they
 can simply be used together.  The few tests which used Test::More
 features (ie. skip) have 'use Test::More' added.

Is there something wrong with rsync cvs.perl.org::parrot-HEAD?  It
doesn't seem to keep up to date.


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
It's Airplane Glue sniffing time!



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Michael G Schwern

On Tue, Jan 29, 2002 at 12:39:36AM -0500, Dan Sugalski wrote:
 Dammit, I had that working before I committed things. I'll fix.

Looks like things drifted a bit since I wrote the patch.  Want me to
do it over?

-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
I need a SHOWER a BURGER and some ROBOTS, STAT!
-- http://www.angryflower.com/allrigh.gif



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Dan Sugalski

At 12:49 AM -0500 1/29/02, Michael G Schwern wrote:
On Tue, Jan 29, 2002 at 12:39:36AM -0500, Dan Sugalski wrote:
  Dammit, I had that working before I committed things. I'll fix.

Looks like things drifted a bit since I wrote the patch.  Want me to
do it over?

If you can find where I messed up, please do.

I think I need a Writing Tests for Dummies (or gibbering idiots, or 
something)
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk



Re: *poke* *poke* Parrot::Test - Test::Builder patch

2002-01-28 Thread Dan Sugalski

At 9:33 PM -0800 1/28/02, Steve Fink wrote:

On Mon, Jan 28, 2002 at 09:36:19PM -0500, Dan Sugalski wrote:
  At 7:47 PM -0500 1/28/02, Michael G Schwern wrote:
  On Mon, Jan 28, 2002 at 04:07:06PM -0500, Dan Sugalski wrote:
   At 1:55 AM -0500 1/28/02, Michael G Schwern wrote:
   This patch seems to have slipped by in the post New Year's haze.  It
   updates Parrot's version of Test::More to 0.41 and makes Parrot::Test
   use Test::Builder instead of doing Evil things to Test::More.
  
   Where's Test/Builder.pm, though?
  
  Hells bells.  Here it is.

  And the patch is in. Thanks.

*kaboom*

Hmmm. Make clean, resync, and try again? It's failing to fail for me, 
and I'm up to date.
-- 
 Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
   teddy bears get drunk