On 11/1/12 6:51 PM, Walter Bright wrote:
On 11/1/2012 2:20 PM, bearophile wrote:
Some complexity comes from the
desire to do more and more. As example see this recent request from Manu,

What about all your feature requests? I think you've made more than
anyone, by a factor of 10 at least!

:-)

As for Manu's request

http://d.puremagic.com/issues/show_bug.cgi?id=8108

I've gone over with him why he needs it, and there's no other reasonable
way. He needs it for real code in a real application.

I'd argue this actually is part of a category of features that does not increase the complexity of the language (quite the contrary in fact). This is because stating that declaration+definition in the same file won't work takes actually more cognitive load than just allowing it.

By the consistency principle, one should infer unknown parts of a complex system from knowing the others. Consider then this setup:

* Declarations (without definition) of functions are allowed.

* Definitions are allowed.

* Declarations and definitions are allowed in distinct files in the same project as long as they match.

At this point, it is more tenuous to argue that "same file" is a special case that should prevent declarations and definitions to coexist, than to just let it happen and let the consistency principle take care of explaining it.


Andrei

Reply via email to