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