That’s something people complain about when looking at Erlang code. Thanks to its Prolog heritage, it uses commas, semi-colons, and full stops to terminate statements.
It’s actually very easy to remember which is which, despite the general angst, because they are directly analogous to those punctuation marks’ usage in English.
Commas indicate a continuation of statements, semi-colons separate clauses within a function, and full stops complete a function definition.
Erlang has the full stop '.' as expresssion/statement terminator [2].
[0] https://en.cppreference.com/w/cpp/language/integer_literal [1] https://docs.swift.org/swift-book/ReferenceManual/LexicalStr... [2] https://erlang.org/doc/getting_started/seq_prog.html
I like those features too! I'm glad they are coming to contemporary languages.
It reads really well, because it also uses colons as combinators, with higher precedence than the semicolon. But it does not map well into other paradigms.
More languages should also steal Verilog's use of _ as an optional digit separator. It's just arrived in C# 7.