Functional programming in D and some reflexion on the () optionality.
deadalnix
deadalnix at gmail.com
Tue Aug 7 07:52:05 PDT 2012
Le 06/08/2012 20:05, David Piepgrass a écrit :
> I'm not sure if I understand your point perfectly, but I definitely feel
> that the way D handles optional parens is awful.
That is the point.
More specifically, the fact that D picks functionality from different
paradigm here that totally don't integrate with each other.
- Like in functional, function are called without ().
- Purity isn't enforced, so the () is actually important so . . .
- Function cannot be first class without ambiguities. So they aren't.
- A first class function exists, and the behavior is different than
other functions.
- Member methods have semantic similar to declared ones.
- But UFCS don't. They also don't have the behavior of first class
object cited above.
- UFCS include it's own layer of mess.
- @property does the same.
- Most of this isn't defined anywhere, except in dmd source code.
- dmd source code is known to have bugs on the very point, so no spec
exists at all. Not even documents describing the intent that can clarify
what is a bug and what is feature.
So what ? So it is unlikely that any other tool will have semantic
identical to dmd's. At this point, I'm questioning if any tool should
even try.
More information about the Digitalmars-d
mailing list