Walter Bright:

Outlining of member functions is the practice of placing the declaration of a member function in the struct/class/union, and placing the definition of it at global scope in the module or even in another module.

http://wiki.dlang.org/DIP47

I was away and very busy, I have read only part of the answers in this thread.

I don't like this DIP. If this DIP passes I am probably not going to use this feature in my code.

Go and Python show that it's good to minimize the number of trivially different ways to write code in a language. This DIP does the opposite.


or even in another module.

This is not a good idea.


"If you rely on tools to make the code _readable_,

In my opinion this DIP makes the code less readable, and makes the code less DRY.


3. Parameter names need not match.

This seems bad. What's the rationale for this? (One perhaps acceptable solution is to put no parameter names in the signature inside the class).

Generally I suggest to fix the biggest module system bugs before modifying the design of related features, like the ones discussed in DIP47.

-----------------

Daniel Murphy:

Let's solve a documentation issue with documentation improvements.

This seems one better solution to the problem.

But I also suggest people here to read and discuss about the post written by Andrei that touches deeper issues. The module system is currently significantly buggy, and it needs a principled design before trying to add DIP47.

-----------------

Manu:

People make claims like "write better code, split it up better,
document your code better,

The D compiler could be modified a bit to generate a bare bones documentation even with not even a comment written in the code.

Bye,
bearophile

Reply via email to