Sam Ruby <[EMAIL PROTECTED]> wrote:
> Leopold Toetsch wrote:

> In Python terms, __add__ is but one of several methods that strings
> have.  Other common ones include index, join, lower, replace, and split.

I just used __add__ as an example. Of course all (differing) vtables and
methods would need the adjustment depending on the code origin.

> Do we want to go so far as "if the code origin in Python, then
> MMD("get_attr", string, "index") returns the Python str.index function
> bound to this instance?

Baically yes, albeit C<get_attr> isn't a MMD function. Its a plain
vtable function C<get_attr_str>.

>> It's of course a language issue. *But* if we want to run Python, we have
>> basically two choices:
>> 1) force Python coders to write "a".concat("b") with a language change
>> 2) implement the MMD add function for strings, so that it acts
>> differently depending on the code origin.
>> The latter minimizes the difference of String/PerlString/PyString to
>> probably nothing.

> Or we require a Python programmer to use the "str" function on any
> potentially foreigh object received as a parameter if they wish to
> depend on Python string semantics.

That's similar to or a generalization of 1). It IMHO implies that Python
on Parrot willl not be used much.

> - Sam Ruby

leo

Reply via email to