accept @pure @nothrow @return attributes
ketmar via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jan 29 13:02:14 PST 2015
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20150129/79c205da/attachment.sig>
More information about the Digitalmars-d
mailing list