On Thu, 29 Jan 2015 14:58:51 +0100, Jacob Carlborg wrote: > On 2015-01-28 23:27, Walter Bright wrote: > >> For example, people often realize that the ; statement terminator is >> redundant, so they propose removing it. In trying it, however, it soon >> becomes clear that error message clarity, recovery, and the correct >> identification of the location of the error degrades substantially. >> >> So consider: >> >> void func() >> safe T = 7; >> >> With your proposal, an error isn't discovered until the '=' is found. > > A good language design that doesn't require the ; statement terminator > would recognize "void func()" as a valid statement and implicit add ;. > Scan the line, if a valid language construct has been seen at the end of > the line, insert a ;, if not continue to the next line. That works in > many languages.
this never worked good. see deadalnix. or:
foo.bar
.zed
is `.zed` a chained call or free call? oh, well, build symbol table to
find that? and what if we have free function `zed` and a method `zed`?
there can be alot of such samples. implicit `;` never worked right in
grammars that allows arbitrary newlines. such grammars requires explicit
"end-of-sentence" signs to be parsable without ambiguities on almost each
code line.
signature.asc
Description: PGP signature
