# New Ticket Created by Simon Glover
# Please include the string: [perl #33172]
# in the subject line of all future correspondence about this issue.
# http://rt.perl.org:80/rt3/Ticket/Display.html?id=33172 >
In PDD16 (NCI conventions and definitions), the examples subsection
contains very
# New Ticket Created by Matt Diephouse
# Please include the string: [perl #33171]
# in the subject line of all future correspondence about this issue.
# http://rt.perl.org:80/rt3/Ticket/Display.html?id=33171 >
Reading past the EOF in PIR results in the following error:
File not found
Leopold Toetsch wrote:
PyStringPyIntPyNum Integer ...
--
PyString py_add_sadd_err add_err add_err
PyInt add_err add_i add_n add_i
PyNum add_err add_n add_n add_i
Sam Ruby <[EMAIL PROTECTED]> wrote:
> cvsuser 04/12/23 04:44:05
>
> Note: change to op issame to make use of VTABLE_is_same.
>inline op issame(out INT, in PMC, in PMC) {
> -$1 = $2 == $3;
> +if ($2 == $3)
> +$1 = 1;
> +else
> +$1 = VTABLE_is_
Sam Ruby wrote:
Oh, well, back to coding. BTW, I'm committing the change to opcode
issame to make use of the similarly named VTABLE entry as I need this in
order to pass a test. Oddly, in Python:
(1,2) == (1,2), (1,2) is (1,2)
(True, False)
1+2 == 1+2, 1+2 is 1+2
(True, True)
But:
>>> 101+2 ==
Sam Ruby wrote:
Leopold Toetsch wrote:
* finding the "__add" method uses VTABLE_find_method to
find all possible "__add" methods and a distance
function to get the best match
* the best matching function is invoked
The word "best" here should be setting off alarm bells in everybody's
head.
Sam Ruby wrote:
Leopold Toetsch wrote:
the basics are:
* the destination PMC $1 is created by the opcode
I don't want to dwell on this point, but it would be rather handy if the
caller were able to pass in an object which was responsible for
producing the desired destination PMC on request.
It
Sam Ruby wrote:
[ a lot - I'll split answers ]
Leopold Toetsch wrote:
Sam Ruby wrote:
It seems obvious, but it leads to surprises. Example:
'1' + '2'
The result will depend on what the actual types are of the inputs
perhaps even what the context is of the caller.
Ehem, given that and ... (from
Leopold Toetsch wrote:
Sam Ruby wrote:
First, a few things to note: the semantics of "add" vary from language
to language. In particular, add is not guaranteed to be commutative
in Python (think string addition).
Yes, of course.
It seems obvious, but it leads to surprises. Example:
'1' + '2'
Luke Palmer wrote:
A ruling: The caller might not know that it's calling a multimethod at
all at compile time, much less how many invocants it has.
This seems to invalidate calling conventions aka pdd03, *if* multi subs
with native types are allowed. The register setup of calling these two
multis
Sam Ruby writes:
> In the general case, a call to a subroutine with three arguments can
> have four possibilities: anywhere from zero to three arguments may be
> involved in the dispatch.
>
> I also read this to say that whatever code is generated by a subroutine
> call is independent of the nu
11 matches
Mail list logo