3 ms·
For me, having first class functions with proper lexical scoping is enough to start feeling functional. That might sound like nothing but its surprising how few
by ufo 12y ago
For me, having first class functions with proper lexical scoping is enough to start feeling functional. That might sound like nothing but its surprising how few of the most popular languages get both of those right.
- Kiro 12y agoWhat is proper lexical scoping? Does JavaScript get it right?
- coldtea 12y agoNo. Javascript gets it horribly wrong without "var", still terribly wrong with "var", and somewhat better with "let".
- Kiro 12y agoI don't understand what let has to do with functional programming though (enclosing a variable within if () {} instead of function block etc). Do you mind elaborating?
- coldtea 12y agoThe question wasn't about functional programming per se, but about lexical scope. "let" keyword in ES6 allows Javascript to have "lexical" style scoping (with some caveats due to JS legacy). That said, several ways of scoping a variable can be had in functional programming. Have a look here for some more explanation with regards to Common Lisp: http://stackoverflow.com/questions/463463/dynamic-and-lexical-variables-in-common-lisp http://stackoverflow.com/questions/463463/dynamic-and-lexica...
- ufo 12y agoThe "this" keyword is also a mess. I wonder when well be able to start using the new arrow-syntax lambdas everywhere.