Skip site navigation (1) Skip section navigation (2)

Re: Named arguments in function calls

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Dennis Bjorklund <db(at)zigo(dot)dhs(dot)org>
Cc: Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Named arguments in function calls
Date: 2004-01-25 23:21:46
Message-ID: 87n08bvcl1.fsf@stark.xeocode.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Dennis Bjorklund <db(at)zigo(dot)dhs(dot)org> writes:

> On 25 Jan 2004, Greg Stark wrote:
> 
> > > >  foo (x => 13, y => 42)
> > > > 
> > 
> > Is it really necessary to steal it?
> 
> Yes, it is necessary since the arguments to a function are just 
> expressions. If you do not the above would be ambigious and there is no 
> clean way to fix that. 

Of course it's ambiguous. Just as f(a,b) is ambiguous in C. It could mean call
f with two arguments, or it could mean call f with the result of the
expression "a,b". It's "fixed" by just declaring "," special inside function
calls. If you want to use the operator in the function call you have to use an
extra set of parentheses.

I'm sure that's a bit harder when you want => to be a regular identifier
outside of a function call. And the dual meaning of => is a pretty big wart,
But the compatibility with Oracle would be awfully nice. Named parameters are
going to be pretty ubiquitous once they're supported.

-- 
greg


In response to

Responses

pgsql-hackers by date

Next:From: Greg StarkDate: 2004-01-25 23:26:05
Subject: Re: Disaster!
Previous:From: Andrew DunstanDate: 2004-01-25 23:00:09
Subject: Re: Named arguments in function calls

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group