[perl #59660] Storable-2.13 requirement breaks build on OpenSolaris
# 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!
# 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
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
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
--- 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
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
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
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
# 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
--- 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.
# 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