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

Reply via email to