Hacker News new | past | comments | ask | show | jobs | submit login

It's a bit verbose. A lambda with a single one letter param takes ten characters to write: `lambda x: `. In JS, it's 5: `x => `. Ruby blocks take sevenish: `{|x| }`. Six in haskell.



How did you get six for Haskell? I get five if you require a space at the end

    \x->


I was counting a space after the x.


Also, still no support for multi-line lambdas is there?


Multi-line lambdas will never happen. Lambdas are expressions. "Multi-line" means statements. There is no sane way you could embed statements into an expression with whitespace-based block syntax.


Fine, not technically lambdas, but still: function bodies declared inline in function calls. This provides great flexibility in higher-order functions.

> There is no sane way you could embed statements into an expression with whitespace-based block syntax.

Ruby does it. Of course, Ruby has a limitation that a function call may only have one "block", but still - Ruby blocks are statements embedded into an expression in a whitespace-based syntax.


Ruby has explicit syntax to end groups of statements. Python is equally powerful when it comes to higher-order functions; it just enforces a flatter, more explicit style.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: