Multimethod constructors? That's one thing that, as far as I know, is
missing from parrot and could be resolved with this. Although the
potential to create an array for sprintf with one opcode does sound
nice, or at least one line of pir.
On Mar 24, 2006, at 11:38 AM, Chip Salzenberg wrote:
On Fri, Mar 24, 2006 at 04:23:53PM +0100, Leopold Toetsch wrote:
There are currently 14 opcode variants of C<new>, not counting
C<newclass>. But all are limited when it comes to initializers.
What's the situation in which instantiate is required because the
current
arrangment doesn't work? Generally, it's good to know what problem
you are
trying to solve before you try to solve it. :-)
For example:
Both variants are almost equally fast[2], but the latter has much more
potential of passing args e.g.
o = __instantiate(.Complex, 2, 3) # [3]
o = __instantiate(.Complex, "2 + 3i")
or
cl = getclass 'MyClass'
o = __instantiate(cl, p0, p1, 'extra' => p2)
Why not use the existing method call technique for this, and simply
standardize on a method name?
--
Chip Salzenberg <[EMAIL PROTECTED]>