Re: CPP Namespace pollution
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
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)
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!
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)
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
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
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
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)
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
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]
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
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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