On Fri, Dec 12, 2008 at 10:31 AM, Greg Stark <st...@enterprisedb.com> wrote: > On Fri, Dec 12, 2008 at 3:11 PM, Dimitri Fontaine > <dfonta...@hi-media.com> wrote: >> That's why I'm preferring the common-lisp syntax of :param value, or its >> variant param: value. > > FWIW there is no such common-lisp syntax. Colon is just a regular > symbol character and :param is just a regular symbol in common-lisp. > There is a convention that functions parse their argument lists > looking for such tokens as indicators of what to do with the next > argument but it's purely a convention. There's no syntactic > significance to the colon.
Drifting off-topic and being really nit-picky, you're wrong. :) It's more than just a "convention". Colons *are* special in symbol names--the leading colon designates the symbol as being in the KEYWORD package (i.e. symbol namespace; you can put symbols in other packages by prepending a package name to the colon) and there is standard syntax (&key) for specifying allowed keyword arguments to a function; said keys must be symbols in the KEYWORD package. So the proposed foo( :bar 12, :baz 'stuff' ) syntax is actually very close to the Common Lisp syntax, though there may be very good reasons not to use it in PG. > A similar problem arises with using Perl as a precedent. => is just a > regular operator in perl which quotes the lhs as a string if it's a > simple token and otherwise behaves just like a comma. That would be > very different from what we're talking about having it do here. Very true, and I think the "don't break people who are using => as a prefix operator" argument is pretty conclusive. -Doug -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers