I think this ticket has been resolved by the decision that method names 
must be quoted (as stated in pdd19).

I propose to close ticket.
kjs

On Thu Oct 04 16:39:31 2007, coke wrote:
> 
> On Sep 29, 2007, at 12:07 PM, Klaas-Jan Stol (via RT) wrote:
> 
> > # New Ticket Created by  Klaas-Jan Stol
> > # Please include the string:  [perl #45859]
> > # in the subject line of all future correspondence about this issue.
> > # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=45859 >
> >
> >
> > Hi,
> >
> > This proposal is about resolving method names: bare words or quoted
> >
> > it might be that i'm not well informed on this issue, so please  
> > correct me
> > where I go wrong.
> >
> >
> > IMCC currently allows for method call syntax like this:
> >
> > foo.bar()
> > foo."bar"()
> 
> One thing to think about is that allowing double quoted strings  
> wrapping this allows us to have method names with spaces, unicode,  
> newlines... (and having single quoted strings allows us to easily  
> have escaped versions of same.)
> 
> 
> > Both invoke the method named "bar" on the object "foo", UNLESS  
> > there is a
> > local variable named "bar", in which case the first statement will  
> > invoke
> > the method whose name is stored in that local variable.
> >
> > This is confusing, and makes reading code not easy (imagine having a
> > subroutine of 50+ instructions, and debugging it)
> >
> > PCCMETHODs (a method on a pmc written in C) is, IIRC, invoked using  
> > a bare
> > word methodname like so:
> >
> > foo.bar()
> >
> > So, what is called here? Is bar a method, a PCCMETHOD (but I guess  
> > that does
> > not matter), or a local variable containing the name of a method?
> >
> >
> >
> > In order to prevent confusing, I propose that methodnames are  
> > always written
> > between quotes. This should also be true for PCCMETHODs.
> > Only then is it always clear when calling a method whose name is  
> > stored in a
> > local variable, or if it's actually the name of the method that was  
> > written.
> >
> > I think the method "new" on a class is a PCCMETHOD, right?
> > This would mean that you would create a new object instance like so:
> >
> > .local pmc b
> > b = Foo.new()
> >
> > Having to write
> >
> > b = Foo.'new'() might seem inconvenient, but I think it's a matter 
of
> > getting used to, and it is more consistent.
> >
> > Consistency is good.
> >
> > The assembly language (if you can call PIR that) should not have  
> > too many
> > rules and exceptions.
> 
> --
> Will "Coke" Coleda
> [EMAIL PROTECTED]
> 
> 




Reply via email to