On 12/20/2013 12:32 PM, Timon Gehr wrote:
On 12/20/2013 10:13 AM, Andrej Mitrovic wrote:
On 12/20/13, bearophile <[email protected]> wrote:
A new keyword is a flag that you have found something different.
It makes it simpler to learn.
It also steals a valid symbol name. E.g. there's tons of C code that
uses the symbol name "body", but I can't use this symbol because it's
used in DBC. It's a keyword that's used in literally just one feature,
and it's annoying. Plus DBC code just looks ugly to me (at least with
asserts in the actual body I can add diagnostic messages), so I don't
see how "body" has made DBC better.
We could get rid of the keyword easily without changing the syntax of
contracts.
(But then it would be possible to get into funny situations like
struct body{...}
class C{
abstract void foo()in{...}out{...}
body b; // syntax error
})