Re:Grain: A strongly-typed functional programming language f...
by andyonthewings on Tuesday July 31, 2018 @03:25AM
(#17651208)
( ) are only optional if { } are mandatory, which is not true for some languages. e.g. in Haxe, one can write
i.e. An if expression consists of other expressions that may or may not be a block expression ({ }).
[ Parent
| on HN ]
Re:Grain: A strongly-typed functional programming language f...
by pmontra on Tuesday July 31, 2018 @09:41AM
(#17653015)
There is a great deal of variability in languages about that.
Python ends if lines with a : which might help the parser, but maybe not because it was a late addition to help readability. For me it adds work when moving code around because I have to add or remove the :
Ruby does totally without any terminator in that context (in other contexts it has its own {} or do...end). The parser keeps processing successive lines until it understands that what follows can't belong to the conditional. I prefer that approach because it's the language/compiler that has to help me, not the other way around.