3 ms·
It seems to have kept a lot of good things from python, but fixes many quirks: - slicing with index or with index+length ? Well, both apparently! - len() is a
by BiteCode_dev 4y ago
It seems to have kept a lot of good things from python, but fixes many quirks:
- slicing with index or with index+length ? Well, both apparently!
- len() is a method
- ranges and slices have the same syntax
- you can use | to avoid the indentation hell that comes with '''
- true, false and none don't have an upper case first letter
- the lambda design allow for multi lines, despite the language being heavily biased toward statements. And it's using "=>".
- circular imports do not cause errors
- explicit export, although i'd prefer it to be opt in
- lua style ffi
- mapping on dict key/values is the simple case
- CYON is quite interesting
- and of course concurrency and perf from the start
But some of them will cause big troubles:
"errors are values and do not propogate up the call stack by default. Users are not forced to handle errors unless the error value is passed to a typed destination."
Yeah, silent errors in bash scripting taught me I really don't want that.
"The shorthand method for calling functions omits parentheses and commas"
The reason I still can't parse Ruby after 15 years.
- iTokio 4y agoThe shorthand method use case is declarative UI code, an important use case for scripting languages (flutter also changed Dart syntax for this)