On Mon, Jan 31, 2011 at 9:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> It would help if you were a bit more specific. Do you mean you want
>> to write something like foo.bar(baz) and have that mean call the bar
>> method of foo and pass it baz as an argument?
>
>> If so, that'd certainly be possible to implement for purposes of a
>> college course, if you're so inclined - after all it's free software -
>> but we'd probably not make such a change to core PG, because right now
>> that would mean call the function bar in schema baz and pass it foo as
>> an argument. We try not to break people's code to when adding
>> nonstandard features.
>
> You would probably have better luck shoehorning in such a feature if the
> syntax looked like this:
>
> (foo).bar(baz)
>
> foo being a value of some type that has methods, and bar being a method
> name. Another possibility is
>
> foo->bar(baz)
>
> I agree with Robert's opinion that it'd be unlikely the project would
> accept such a patch into core, but if you're mainly interested in it
> for research purposes that needn't deter you.
Using an arrow definitely seems less problematic than using a dot.
Dot means too many things already.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company