On Tuesday, 6 August 2013 at 19:38:08 UTC, Meta wrote:
Looks good except for the above point. UnaryFun and binaryFun still have valid use cases, and I'd argue that it's even worth making an nAryFun!(pred, arity).

import std.functional;
import std.stdio;

alias less = (int a, int b) => a < b; //Error
alias less = binaryFun!((a, b) => a < b); //Ok

void main()
{
    writeln(less(1, 2)); //True
}

This is a good point. I also agree that a fully generic, n-ary wrapper is the way to go for these cases.

I don't like the name `nAryFun` though, hopefully there's a more generic name that doesn't dwell on the history that would be `unaryFun` and `binaryFun`.

Reply via email to