digitalmars.D.learn - lambda template literals?
- bearophile <bearophileHUGS lycos.com> Jan 17 2012
- Timon Gehr <timon.gehr gmx.ch> Jan 17 2012
- bearophile <bearophileHUGS lycos.com> Jan 17 2012
- bearophile <bearophileHUGS lycos.com> Jan 18 2012
- Philippe Sigaud <philippe.sigaud gmail.com> Jan 18 2012
Is code vaguely like this meaningful and useful?
void main() {
alias (x => x ^^ 2) sqrTemplate;
}
Bye,
bearophile
Jan 17 2012
On 01/18/2012 01:35 AM, bearophile wrote:Is code vaguely like this meaningful and useful? void main() { alias (x => x ^^ 2) sqrTemplate; } Bye, bearophile
Yes. The fact that your particular example does not work is a mere syntactic issue. This works: template ID(alias a){alias a ID;} void main(){ alias ID!(x => x ^^ 2) sqrTemplate; }
Jan 17 2012
Timon Gehr:Yes. The fact that your particular example does not work is a mere syntactic issue. This works: template ID(alias a){alias a ID;} void main(){ alias ID!(x => x ^^ 2) sqrTemplate; }
Thank you Timon, you are often good :-) I'll add it as enhancement request. Bye, bearophile
Jan 17 2012
Philippe Sigaud:This limitation (not being able to alias a lambda) is quite irksome. If you do an enhancement request, could you also add one for: alias __traits(whatever, whatever) some Result; Right now, the alias grammar doesn't allow this and I find this limitation jarring.
It's better to add it yourself: http://d.puremagic.com/issues/show_bug.cgi?id=7308 Bye, bearophile
Jan 18 2012
On Wed, Jan 18, 2012 at 02:06, bearophile <bearophileHUGS lycos.com> wrote:template ID(alias a){alias a ID;} void main(){ =C2=A0 =C2=A0 =C2=A0alias ID!(x =3D> x ^^ 2) sqrTemplate; }
Thank you Timon, you are often good :-) I'll add it as enhancement request.
This limitation (not being able to alias a lambda) is quite irksome. If you do an enhancement request, could you also add one for: alias __traits(whatever, whatever) some Result; Right now, the alias grammar doesn't allow this and I find this limitation jarring.
Jan 18 2012









bearophile <bearophileHUGS lycos.com> 