On Monday, 9 July 2012 at 11:40:37 UTC, Gor Gyolchanyan wrote: [cut]
You're right. This is a bit advanced code sample, which uses templates,template constraints, contract programming among syntax advantages of D.
Hum it show the power of D sure, but IMHO it also show its syntax deficiencies..
For me this "real[d] bezier(size_t d, Number)(Number[d][] p, Number t) if(d > 1 && isFloatingPoint!Number)" is difficult to read, and a better syntax would be: real[d] bezier!(size_t d && d > 1, Number && isFloatingPoint!Number)(Number[d][] p, Number t)
The template parameter would be indicated in a !() (as in a call), and the template constraints inside the template parameter: this way the template parameters are clearly indicated and separated from the function parameter.
renoX