On Fri, Apr 25, 2008 at 12:25 PM, Sam Barrow <[EMAIL PROTECTED]> wrote:

> On Fri, 2008-04-25 at 13:24 -0600, Nathan Nobbe wrote:
> > On Fri, Apr 25, 2008 at 1:15 PM, Sam Barrow <[EMAIL PROTECTED]> wrote:
> >         On Fri, 2008-04-25 at 14:08 -0500, Jeremy Privett wrote:
> >         > Sam Barrow wrote:
> >         > > I figured it out, the syntax is now as follows:
> >         > >
> >         > > function a($b, $c) returns d {
> >         > > }
> >         > >
> >         > > I'll post an update soon.
> >         > >
> >         > >
> >         > >
> >         >
> >         > That's certainly a non-intuitive syntax. How about we take a
> >         page out of
> >         > the book of other C-style languages before trying to invent
> >         something
> >         > else? I agree with Stas, "return" and "returns" are not part
> >         of a
> >         > function definition.
> >
> >
> >         I don't think it's non-intuitive at all, and even so, it's the
> >         most intuitive we have. This ordering makes more sense to me
> >         at first glance (in the order I would think about things;
> >         scope, name, arguments, return).
> >
> > im not sure the following has been explicitly proposed, but how about
> > omitting the 'return' keyword and placing the return type hint before
> > the function identifier
> >
> > function int a($b, $c) {}
> >
>
> This is, but I don't think this is possible, due to confusion with the
> keywords (public, private, static, abstract, etc). Plus this leads to
> long strings of keywords.


There can be no technical reason why this more adopted and understood syntax
should  not be possible. Adding returns as a keyword would completely break
tons of code. Why are the proposals on something that is so consistent
across many languages being changed so obscurely? Why a seperate
non-intuitive syntax.

public function int (string $foo) { return 1; }

Can't we keep the sanity?


> [ ... ] Plus this leads to
> long strings of keywords.


Are you kidding?  strlen('returns int') > strlen('int'); .....

-Chris

Reply via email to