Originally posted by bitman
View Post
Some things I like about it:
- declarations always have a keyword right before the name, rather than a type, so grep/ctrl+f work way better
- full type inference within functions, not just Go's or C++11's where it looks only at the initializer
- expression based syntax, so there is a lot less noise from "return" or extra variable assignment. even {} blocks are expressions
- pattern matching in function arguments, let bindings, if/while conditions, and switch statements
- not entirely syntactical, but variables are immutable by default, which encourages code that is much simpler to read
Some of these might be relatively new features to someone coming from other mainstream languages, so it might take a bit of getting used to before it's easy to read, but once you're there it's quite nice.
Comment