This would make function signatures harder to read in some instances, 
particularly when using closures and higher-order functions:

    let f: fn(T): T = …;

    fn hof<T>(x: T, f: fn(T): T): fn(T): T { … }

Compare to the current syntax:

    let f: fn(T) -> T = …;

    fn hof<T>(x: T, f: fn(T) -> T) -> fn(T) -> T { … }

~Brendan

On 30/07/2013, at 9:29 AM, Wojciech Miłkowski <milkow...@gmail.com> wrote:

> Hi,
> 
> I'm observing rust development for some time, and I must say it slowly
> encourages me to use it. Especially the progress from Perl-like syntax
> to more sane and quiet form is enjoyable.
> That said I wonder why the function definition has form:
> fn name(var: type, ...) -> return_type {...}
> instead of more unified:
> fn name(var: type, ...): return_type {...}
> 
> Is it constructed to mimic mathematical form f(x)->y or is there other
> reason i.e. syntax ambiguity?
> 
> 
> Cheers,
> W.
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev

_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to