Re: RT#31859, Plain ole Hash

2004-12-18 Thread Leopold Toetsch
Sam Ruby wrote:
Any objections to the NCI methods being removed from Coroutine(next), 
Hash(fromkeys), Iterator(next), and PerlHash(fromkeys) now?
The fromkeys in Hash and PerlHash can be removed. The .next methods in 
iterable PMCs will be needed generally. But iterators need some rework 
still, especially Python generator functions.

- Sam Ruby
leo


Re: RT#31859, Plain ole Hash

2004-12-17 Thread Sam Ruby
Leopold Toetsch wrote:
- The NCI method has an implementation in Hash and in PerlHash, this is
not nice
The NCI method is automatically inherited from Hash. But as it's a
python method it'll be removed from Hash anyway.
Any objections to the NCI methods being removed from Coroutine(next), 
Hash(fromkeys), Iterator(next), and PerlHash(fromkeys) now?

- Sam Ruby


Re: RT#31859, Plain ole Hash

2004-12-13 Thread Leopold Toetsch
Bernhard Schmalhofer [EMAIL PROTECTED] wrote:
 Hi,

 The PerlHash is now an extension of Hash.

Great, thanks.

 The semantics should not have changed. For example, integer values are
 still stored as PerlInt PMCs in the Hash PMC.

I'd propose the following:
* instead of PerlInt an Integer PMC is stored
* Float, String the same
* eventually we should have a table of such basic types per language
  and automatically store the Perl/Py/Tcl/...Integer of the language
  we are currently running. This would allow for better code sharing

* get_pmc_keyed (and friends) of Hash returns NULL on failure - this is
  the desired usage inside Parrot anyway
* a PerlHash can then return a PerlUndef after calling SUPER()

 During testing I got confused over the combination
 KEY_integer_FLAG|KEY_number_FLAG, which indicates a key in a hash
 iterator. For that combination I have introduced KEY_hash_iterator_FLAGS
 in 'include/parrot/key.h'.

Good.

 TODO:
 - Get rid of Perl* PMCs in Hash PMC
 - Move Perl6 specific behavior back to the PerlHash PMC.
 - The NCI method has an implementation in Hash and in PerlHash, this is
 not nice

The NCI method is automatically inherited from Hash. But as it's a
python method it'll be removed from Hash anyway.

 CU, Bernhard

Thanks, applied.
leo


RT#31859, Plain ole Hash

2004-12-13 Thread Bernhard Schmalhofer
Hi,
I have responded to the ticket, 
http://rt.perl.org/rt3/index.html?q=31859, but the response hasn't made 
if to [EMAIL PROTECTED]
Is there a policy, which responses to RT tickets are posted to 
[EMAIL PROTECTED] I know that it works fine for new tickets.

A patch for moving the implementation of the PerlHash PMC to the new 
Hash PMC is attached to the ticket 31859. The description is also pasted 
below.


Pasted from http://rt.perl.org/rt3/index.html?q=31859:
The PerlHash is now an extension of Hash.
The semantics should not have changed. For example, integer values are
still stored as PerlInt PMCs in the Hash PMC.
During testing I got confused over the combination
KEY_integer_FLAG|KEY_number_FLAG, which indicates a key in a hash
iterator. For that combination I have introduced KEY_hash_iterator_FLAGS
in 'include/parrot/key.h'.
Summary of the changes in the attached patch:
- Hash PMC is new
- PerlHash PMC extends Hash PMC
- t/pmc/hash.t is new, basically a copy of t/pmc/perlhash.t
- The OrderedHash PMC now uses the Hash PMC
- Added Support for Hash PMC in 'Data/Dumper/Default.imc'
- The dynamic PMC Match now extends the Hash PMC
- The various hashes in the Parrot core are now Hash PMCs
At least on my machine,
Linux linux 2.4.20-4GB-athlon #1 Mon Mar 17 17:56:47 UTC 2003 i686
unknown unknown GNU/Linux,
the standard test are all passing.
I don't know wether the tests in 'language/perl6' should be passing.
When I try to run them, I get:
t/builtins/array...# Failed test (t/builtins/array.t at line 7)
# got: 'error:imcc:undefined identifier '_die'
#
# in file
'/home/bernhard/devel/Parrot/parrot/languages/perl6/t/builtins/array_1.pasm'
line 634
TODO:
- Get rid of Perl* PMCs in Hash PMC
- Move Perl6 specific behavior back to the PerlHash PMC.
- The NCI method has an implementation in Hash and in PerlHash, this is
not nice
CU, Bernhard
--
**
Dipl.-Physiker Bernhard Schmalhofer
Senior Developer
Biomax Informatics AG
Lochhamer Str. 11
82152 Martinsried, Germany
Tel: +49 89 895574-839
Fax: +49 89 895574-825
eMail: [EMAIL PROTECTED]
Website: www.biomax.com
**
From jeff Mon Dec 13 12:40:45 2004
Return-Path: [EMAIL PROTECTED]
Delivery-Date: Mon Dec 13 04:40:45 2004
Return-path: [EMAIL PROTECTED]
Envelope-to: archive@mail-archive.com
Delivery-date: Mon, 13 Dec 2004 04:40:45 -0800
Received: from exprod5mx31.postini.com ([64.18.0.186] helo=psmtp.com)
	by toko.jab.org with smtp (Exim 3.36 #1 (Debian))
	id 1CdpVN-0003Ws-00
	for archive@mail-archive.com; Mon, 13 Dec 2004 04:40:45 -0800
Received: from source ([80.87.128.99]) by exprod5mx31.postini.com ([64.18.4.10]) with SMTP;
	Mon, 13 Dec 2004 06:43:20 CST
Received: (qmail 3394 invoked by uid 1031); 13 Dec 2004 12:43:42 -
Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
Precedence: bulk
X-No-Archive: yes
X-Mailing-List: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
Delivered-To: mailing list [EMAIL PROTECTED]
Received: (qmail 3335 invoked from network); 13 Dec 2004 12:43:32 -
Message-ID: [EMAIL PROTECTED]
Date: Mon, 13 Dec 2004 12:44:29 +
From: Robert Morgan [EMAIL PROTECTED]
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language: en-us, en
MIME-Version: 1.0
References: [EMAIL PROTECTED]
In-Reply-To: [EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 13 Dec 2004 12:43:35.0267 (UTC) FILETIME=[5C503330:01C4E111]
Subject: Re: [b] -- tonight's TV alert
X-pstn-levels: (S:99.9/99.9 R:95.9108 P:95.9108 M:94.8624 C:98.9754 )
X-pstn-settings: 1 (0.1500:0.1500) gt3 gt2 gt1 r p m c 
X-pstn-addresses: from [EMAIL PROTECTED] [294/10] 
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on toko.jab.org
X-Spam-Level: 
X-Spam-Status: No, hits=-4.9 required=4.0 tests=BAYES_00 autolearn=ham 
	version=2.64

Ben Ben wrote:
the bbc 4 arena doc on the secret policeman's ball has a fair amount of 
footage of peter cook. it's at 9 and 12.25 tonight.
Was it good then?
We watched a film on Channel 4 with Kirsten Dunst and Eliza Dushku being 
cheerleaders.

---
My morning pancakes were interrupted by a Mardi Gras and live bumming show.
* Last Subject: RE: [b] -- John W keeping it real --*
* Last Date: Mon, 13 Dec 2004 12:36:30 - --*
* 12:627-34 --*
From jeff Mon Dec 13 12:40:53 2004
Return-Path: [EMAIL PROTECTED]
Delivery-Date: Mon Dec 13 04:40:53 2004
Return-path: [EMAIL PROTECTED]
Envelope-to: archive@jab.org
Delivery-date: Mon, 13 Dec 2004 04:40:53 -0800
Received: from exprod5mx116.postini.com ([64.18.0.88] helo=psmtp.com)
	by toko.jab.org with smtp (Exim 3.36 #1 (Debian))
	id 1CdpVV-0003XA-00
	for archive@jab.org; Mon, 13 Dec 2004 04:40:53 -0800
Received: from source ([64.62.197.83]) by exprod5mx116.postini.com ([64.18.4.10]) with SMTP;
	Mon, 13 Dec 2004 04:43:27 PST
Message-ID: [EMAIL PROTECTED]
From: Farrell Christeson [EMAIL PROTECTED]
To: