On Monday, 27 August 2012 at 08:39:01 UTC, Manu wrote:
On 27 August 2012 11:12, Jonathan M Davis <jmdavisp...@gmx.com> wrote:


and it makes no sense to use them with function pointers or function
literals.


If that were true, we wouldn't be having this discussion.

I think that we (at a minimum me and my alter ego) would find it helpful to acknowledge something along the following lines (in no particular order).

1. There is call for a default argument mechanism when calling function or delegate pointers. [Those who've used these extensively know they want them! Now we think about it, we want them too.]

2. The existing default argument mechanism which is to simply pad the call at compile time with the defaults read from the function definition is ill suited to function pointer calls. [Those who want sane compiler machinery know this.]

3. It's helpful to overtly acknowledge that function calling and function pointer calling are quite different. [They are already different in D because overloading is applied statically, just as default arguments have now become something only applied statically. A function pointer is to one function and overloading therefore doesn't exist.]

4. Function pointer calls being dynamical could perhaps have a dynamical mechanism to assign default arguments at run time, so as to go along with notions 1,2,3 above. [That way the function decides which arguments have been defaulted and assigns their default values at runtime, so the language merely needs a mechanism for the function body when run to find out which parameters it needs to assign defaults to i.e. how many arguments have actually been provided when the function pointer was called.]

---hence my earlier proposal.

I'm feeling lonely ---please at least shoot it down!



Reply via email to