[perl #59660] Storable-2.13 requirement breaks build on OpenSolaris

2008-10-07 Thread via RT
# New Ticket Created by  Andy Dougherty 
# Please include the string:  [perl #59660]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59660 


Trying to compile today's parrot on an up-to-date version
of OpenSolaris:

SunOS xxx 5.11 snv_98 i86pc i386 i86pc Solaris

it failed (after a while) with the following error:

perl tools/build/pmc2c.pl --vtable
Storable version 2.13 required--this is only version 2.12 at 
/export/home/doughera/src/parrot/parrot-cc/tools/build/../../lib/Parrot/Pmc2c/Pmc2cMain.pm
 line 6.
BEGIN failed--compilation aborted at 
/export/home/doughera/src/parrot/parrot-cc/tools/build/../../lib/Parrot/Pmc2c/Pmc2cMain.pm
 line 6.
Compilation failed in require at tools/build/pmc2c.pl line 10.
BEGIN failed--compilation aborted at tools/build/pmc2c.pl line 10.
make: *** [vtable.dump] Error 2

The problem is that OpenSolaris ships with (a patched version of)
perl-5.8.4.  I'm not sure why OpenSolaris is still shipping perl-5.8.4,
but they are.

I haven't looked at tools/build/pmc2c.pl at all to see why Storable 2.13
is required, nor at how large of a burden it would be to relax that
requirement.  Such digging would take more time than I have available
at the moment.

-- 
Andy Dougherty  [EMAIL PROTECTED]


[perl #59680] Build error: tools/build/ops2pm.pl: Could not mkdir /home/moritz/src/parrot/lib/Parrot/OpLib: File exists!

2008-10-07 Thread via RT
# New Ticket Created by  Moritz Lenz 
# Please include the string:  [perl #59680]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59680 


I've just updated from r31667 to HEAD (r31745), and ran my usual build
incantation:

$ make realclean; perl Configure --cc='ccache gcc'  make -j 2 test

This time it died:

find_sub_not_null_p_s 1391   experimental, not in ops.num
find_sub_not_null_p_sc1392   experimental, not in ops.num
tools/build/ops2pm.pl: Could not mkdir
/home/moritz/src/parrot/lib/Parrot/OpLib: File exists!
make: *** [include/parrot/oplib/ops.h] Error 17
make: *** Waiting for unfinished jobs

Running 'make realclean' again solved the problem, but I think this
should never be necessary.

Moritz

-- 
Moritz Lenz
http://perlgeek.de/ |  http://perl-6.de/ | http://sudokugarden.de/


[perl #59638] [BUG] t/pmc/bigint.t fails on Darwin

2008-10-07 Thread James Keenan via RT
It appears that my original post wasn't CC-ed to the list.

On Sun Oct 05 17:58:03 2008, [EMAIL PROTECTED] wrote:
 Full report:  http://smolder.plusthree.com/app/public_projects/ 
 report_details/5872
 
 Platform: darwin
 Architecture: ppc
 Compiler: /usr/bin/gcc
 DEVEL: -devel
 Optimize: none
 Perl Version: 5.10.0 darwin-2level
 SVN Revision: 31687
 Version: 0.7.1
 
 GMP version 4.1.3
 
 t/pmc/bigint.t
 
 not ok 26 - pi() generator
 
 #   Failed test 'pi() generator'
 #   at t/pmc/bigint.t line 579.
 # Exited with error code: [SIGNAL 11]
 # Received:
 # 31415926535897932384626433832795028841971693993751
 # 05820974944592307816406286208998628034825342117067
 # 98214808651328230664709384460955058223172535940812
 # 84811174502841027019385211055596446229489549303819
 # 64428810975665933446128475648233786783165271201909
 # 14564856692346034861045432664821339360726024914127
 # 37245870066063155881748815209209628292540917153643
 # 67892590360011330530548820466521384146951941511609
 # 43305727036575959195309218611738193261179310511854
 # 80744623799627495673518857527248912279381830119491
 # 29833673362440656643086021394946395224737190702179
 # 86094370277053921717629317675238467481846766940513
 # 20005681271452635608277857713427577896091736371787
 #
 # Expected:
 # 31415926535897932384626433832795028841971693993751
 # 05820974944592307816406286208998628034825342117067
 # 98214808651328230664709384460955058223172535940812
 # 84811174502841027019385211055596446229489549303819
 # 64428810975665933446128475648233786783165271201909
 # 14564856692346034861045432664821339360726024914127
 # 37245870066063155881748815209209628292540917153643
 # 67892590360011330530548820466521384146951941511609
 # 43305727036575959195309218611738193261179310511854
 # 80744623799627495673518857527248912279381830119491
 # 29833673362440656643086021394946395224737190702179
 # 86094370277053921717629317675238467481846766940513
 # 20005681271452635608277857713427577896091736371787
 # 21468440901224953430146549585371050792279689258923
 # 54201995611212902196086403441815981362977477130996
 # 0518707211349983729780499510597317328160963185
 # 95024459455346908302642522308253344685035261931188
 # 17101000313783875288658753320838142061717766914730
 # 35982534904287554687311595628638823537875937519577
 # 81857780532171226806613001927876611195909216420198
 #
 #
 
 Note:  This test, same revision, passed on Linux.





Re: [perl #59576] [PATCH] 'property' scope for PAST::Var

2008-10-07 Thread Klaas-Jan Stol
On Fri, Oct 3, 2008 at 2:23 PM, I Sop [EMAIL PROTECTED] wrote:

  From: Patrick R. Michaud via RT [EMAIL PROTECTED]
  Subject: Re: [perl #59576] [PATCH] 'property' scope for PAST::Var
  To: [EMAIL PROTECTED]
  Date: Friday, October 3, 2008, 12:31 PM
  On Thu, Oct 02, 2008 at 02:16:01PM -0700, I Sop wrote:
  
   I just copied the 'attribute' method, renamed
  everything, and changed the parameter order for the
  'getprop' op.
 
  Why should this be a PAST::Var node as opposed to simply
  using a
  PAST::Op node with :pirop('getprop') and/or
  :pirop('setprop') ?
 
  Pm


 Why is this different than attribute access?


Maybe, because an attribute access can be more complex, or 'nested', if you
like. For instance, consider this pseudo code:

foo.bar.baz = 1

From the top of my head, I would implement this as a PAST::Var, of type
'attribute', where the attribute is itself represented by a PAST::Var node,
again of type 'attribute'.

so:
PAST::Var (foo, PAST::Var(bar, baz))

(not sure if that notation makes any sense, but the first operand is the
object to be indexed, the second is the key).

A property on the other hand is simpler; it's just a 'tag' on the object.
(or maybe it can be accessed in a similar way as attributes, the example
above, ?)
Just a thought.

kjs


Re: [perl #44457] [TODO] make sure files match test files for DYNPMCs and DYNOPs etc

2008-10-07 Thread Igor


--- El mar 30-sep-08, Christoph Otto [EMAIL PROTECTED] escribió:
De:: Christoph Otto [EMAIL PROTECTED]
Asunto: Re: [perl #44457] [TODO] make sure files match test files for DYNPMCs 
and DYNOPs etc
A: Igor ; [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Fecha: martes, 30 septiembre, 2008, 5:49 am

Igor wrote:
 snip
 Hi Christoph,
 I send you the patch attached.
 Sincerely,
 Igor

Hi Igor,

Thanks again for taking the time to contribute.

Here are some pointers:
First, you're trying too hard.  I'm sorry to tell you that after
you've spent 
so much effort, but this change should be fairly minimal.  I'm sure
you've 
noticed that there are two tests in t/distro/test_file_coverage.t that almost 
do what you need done.  Try copy/pasting code from those tests in the PMC 
block and modifying it to check for the files you're interested in. 
Don't 
worry about the PMC: label.  You can give it a more appropriate name once the 
rest of the test works.

A good rule is to try to use as little code as possible to get the job done.. 
  This doesn't mean that you should use weird one-liners that nobody can 
understand, but that you should strive to write simple, easily understood 
code.  Line 88 in the file is a fairly good example of what *not* to do, 
although it'd be ok with a brief explanatory comment.

Also, don't worry too much about generalizing beyond what's needed to
get the 
current job done.  If the code starts to look ugly, it can be refactored later.

I hope that sets you in the right direction.  Feel free to email me if you 
have any questions.

Christoph




Hi Christoph,

I send you the patch attached.

I have a question. How I must name the patchs for easy finding.

Sincerely,

Igor




  ¡Todo sobre Amor y Sexo!
La guía completa para tu vida en Mujer de Hoy.   
http://mx.mujer.yahoo.com/

[svn:parrot-pdd] r31755 - trunk/docs/pdds/draft

2008-10-07 Thread allison
Author: allison
Date: Tue Oct  7 08:04:35 2008
New Revision: 31755

Modified:
   trunk/docs/pdds/draft/pdd01_overview.pod

Log:
[pdd] New introduction for Overview PDD.


Modified: trunk/docs/pdds/draft/pdd01_overview.pod
==
--- trunk/docs/pdds/draft/pdd01_overview.pod(original)
+++ trunk/docs/pdds/draft/pdd01_overview.podTue Oct  7 08:04:35 2008
@@ -3,11 +3,11 @@
 
 =head1 NAME
 
-docs/pdds/pdd01_overview.pod - A high-level overview of the Parrot system
+docs/pdds/pdd01_overview.pod - A high-level overview of Parrot
 
 =head1 ABSTRACT
 
-A high-level overview of the Parrot system.
+A high-level overview of the Parrot virtual machine.
 
 =head1 VERSION
 
@@ -15,23 +15,15 @@
 
 =head1 DESCRIPTION
 
-The following diagram gives a rough outline of the architecture of
-Parrot and the relationship between its major components, ranging from
-the components closest to the high-level languages targeting Parrot,
-down to those closest to the operating system.
-
- +---+
- |Parser Grammar Engine (PGE)|
- +---+
- | Tree Grammar Engine (TGE) |
- +-+-+
- |  PASM   |   PIR   |
- |   (assembly language)   | (intermediate language) |
- +-+-+
- | Parrot Interpreter (IMCC) |
- +---+
- |Extensions |
- +---+
+Parrot is a virtual machine for dynamic languages like Python, PHP, Ruby, and
+Perl. A dynamic language is one that allows things like extension of the code
+base, subroutine and class definition, and altering the type system at
+runtime.  Static languages like Java or C# restrict these features to compile
+time. If this sounds like an edgy idea, keep in mind that Lisp, one of the
+prime examples of a dynamic language, has been around since 1958. The basic
+paradigm shift to dynamic languages leads the way to other more advanced
+dynamic features like higher-order functions, closures, continuations, and
+coroutines.
 
 =head1 IMPLEMENTATION
 


Re: [perl #59630] [BUG] Complex subtraction fails for subclasses of Complex

2008-10-07 Thread Patrick R. Michaud
Just for the record, I went ahead and added a version of my
test script in this ticket to the test suite (t/pmc/complex.t).

(The test still fails as of r31755, let me know if it should 
be marked 'todo'.)

Thanks,

Pm


Re: [perl #59658] Build failure in src/pmc/float.c -- non-constant intiializer

2008-10-07 Thread jerry gay
On Mon, Oct 6, 2008 at 12:00 PM, via RT Andy Dougherty
[EMAIL PROTECTED] wrote:
 # New Ticket Created by  Andy Dougherty
 # Please include the string:  [perl #59658]
 # in the subject line of all future correspondence about this issue.
 # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59658 


 Trying to compile today's parrot on:
SunOS xxx 5.8 Generic_117350-02 sun4u sparc SUNW,Ultra-5_10
 with Sun's compiler:
cc: WorkShop Compilers 4.2 30 Oct 1996 C 4.2

 it failed with the following errors:

 src/pmc/float.c

 /home/doughera/src/parrot/parrot-cc/tools/build/../../lib/Parrot/Pmc2c/PCCMETHOD.pm,
  line 465: warning: statement not reached
[ repeated 17 times ]
./src/pmc/float.c, line 3340: non-constant initializer: op U*
./src/pmc/float.c, line 3341: non-constant initializer: op U*
./src/pmc/float.c, line 3342: non-constant initializer: op U*
[ 21 more similar errors ]
./src/pmc/float.c, line 3454: cannot recover from previous errors

 Looking at src/pmc/float.c, the first lines in question are:

const  multi_func_list _temp_multi_func_list[] = {
{ CONST_STRING(interp, is_equal),/* line 3340 */
  CONST_STRING(interp, IJPP),/* line 3341 */
  CONST_STRING(interp, Float,Float), /* line 3342 */
  (funcptr_t) Parrot_Float_multi_is_equal_Float },

 which ultimately expand to:

const  multi_func_list _temp_multi_func_list[] = {
{  ( interp ) - const_cstring_table [ 515 ],
   ( interp ) - const_cstring_table [ 84 ],
   ( interp ) - const_cstring_table [ 639 ],
  (funcptr_t) Parrot_Float_multi_is_equal_Float },

 which indeed are non-constant initializers.  GNU cc accepts this, as do
 more modern compilers from Sun (such as version 5.9).  I'm guessing it's
 a C99 thing, but I don't actually know.

 What to do about it?  I suppose I could go in and rewrite those statements
 (and similar ones that crop up in other PMCs)  but I certainly won't
 have any time to do that any time soon.

 Should anyone care?  It's certainly an old compiler, but it's the only
 Sun compiler I have available on SPARC, and SPARC has often been a very
 helpful platform for debugging alignment and endian issues in parrot.

msvc 9.0 (the most recent version) also complains:

  .\src\pmc\float.c(3340) : warning C4204: nonstandard extension used
: non-constant aggregate initializer

there are now hundreds of these warnings in that build. we do have
warnings ratcheted up pretty high, but i don't think it's worth
relaxing them for this construct unless it's very difficult to change
the code generator--i assume this is generated code, since it's in so
many pmc .c files. i may get a chance to investigate further this
evening, if somebody hasn't beaten me to it.

~jerry


[perl #59658] Build failure in src/pmc/float.c -- non-constant intiializer

2008-10-07 Thread via RT
# New Ticket Created by  Andy Dougherty 
# Please include the string:  [perl #59658]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59658 


Trying to compile today's parrot on:
SunOS xxx 5.8 Generic_117350-02 sun4u sparc SUNW,Ultra-5_10
with Sun's compiler:
cc: WorkShop Compilers 4.2 30 Oct 1996 C 4.2

it failed with the following errors:

src/pmc/float.c

/home/doughera/src/parrot/parrot-cc/tools/build/../../lib/Parrot/Pmc2c/PCCMETHOD.pm,
 line 465: warning: statement not reached
[ repeated 17 times ]
./src/pmc/float.c, line 3340: non-constant initializer: op U*
./src/pmc/float.c, line 3341: non-constant initializer: op U*
./src/pmc/float.c, line 3342: non-constant initializer: op U*
[ 21 more similar errors ]
./src/pmc/float.c, line 3454: cannot recover from previous errors

Looking at src/pmc/float.c, the first lines in question are:

const  multi_func_list _temp_multi_func_list[] = {
{ CONST_STRING(interp, is_equal),/* line 3340 */
  CONST_STRING(interp, IJPP),/* line 3341 */
  CONST_STRING(interp, Float,Float), /* line 3342 */
  (funcptr_t) Parrot_Float_multi_is_equal_Float },

which ultimately expand to:

const  multi_func_list _temp_multi_func_list[] = {
{  ( interp ) - const_cstring_table [ 515 ],
   ( interp ) - const_cstring_table [ 84 ],
   ( interp ) - const_cstring_table [ 639 ],
  (funcptr_t) Parrot_Float_multi_is_equal_Float },

which indeed are non-constant initializers.  GNU cc accepts this, as do
more modern compilers from Sun (such as version 5.9).  I'm guessing it's
a C99 thing, but I don't actually know.

What to do about it?  I suppose I could go in and rewrite those statements
(and similar ones that crop up in other PMCs)  but I certainly won't
have any time to do that any time soon.

Should anyone care?  It's certainly an old compiler, but it's the only
Sun compiler I have available on SPARC, and SPARC has often been a very
helpful platform for debugging alignment and endian issues in parrot.

-- 
Andy Dougherty  [EMAIL PROTECTED]


Re: New Parrot mailing list

2008-10-07 Thread Igor


--- El vie 19-sep-08, Allison Randal [EMAIL PROTECTED] escribió:
De:: Allison Randal [EMAIL PROTECTED]
Asunto: Re: New Parrot mailing list
A: Andy Dougherty [EMAIL PROTECTED]
Cc: Perl6 Internals perl6-internals@perl.org
Fecha: viernes, 19 septiembre, 2008, 2:33 pm

Andy Dougherty wrote:
 
 I use NNTP.  I much prefer the command-line news interface to Google 
 Groups, but I guess I wouldn't go so far as to say I would have 
 difficulty switching to a regular email subscription.  Or, to
put it 
 another way: If there were an NNTP interface, I would definitely use it, 
 but I wouldn't want anyone else to be stuck implementing and
maintaining 
 it just for my occasional use.

I wonder why no one has developed a command-line NNTP-like interface for 
email? Maybe following mailing lists via RSS and feed readers has 
satisfied the need enough that no one got around to it?

This looks interesting, if anyone's motivated:

   http://www.methodize.org/nntprss/

Allison

I liked the idea of making a nntp-rss reader.

The first aproach(version) is to improve the way I read parrot 
mail in my e-mail account.

I've thought in some chatacteristics:

The project's name is Ruddy (It's a kind of dove or pigeon).

It will have The parrot foundation copyright.

It will be a perl aplication(server side).

The client side will be ajax using jquery.

The application will be web based.

The database will be SQLite or PostgreSQL.

The webserver will be apache.

It will be installed on the client computer.

I will use a technical blog(in construccion) 
for writing what I am building, and I will post the link 
here in a few days.

Sincerely,

Igor













  ¡Todo sobre Amor y Sexo!
La guía completa para tu vida en Mujer de Hoy.   
http://mx.mujer.yahoo.com/

[perl #59704] [BUG] Integer pow vtable promotes to float.

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


.sub main :main
 $P1 = new 'Integer'
 $P1 = 2
 $P2 = new 'Integer'
 $P2 = 3
 $P3 = $P1 ** $P2
 $S0 = typeof $P3
 say $S0
 $P3 = $P1 ** 3
 $S0 = typeof $P3
 say $S0
.end

generates Float\nInteger, I'm pretty sure that before the MMD merge it
would have been Integer\nInteger.

I've TODO'd some partcl tests until this is resolved.

-- 
Will Coke Coleda