nixpkgs.lib.isFunction
#nixpkgs #trivial #functionAnnotations
any -> bool
第1引数が関数か関数でない場合は__functorキーをに第1引数を渡すと関数であるか確認する。
__functorはnixpkgs.lib.setFunctionArgsによって作られる属性セットがもっている。つまり、setFunctionArgsが返す値も関数とみなせる。
https://github.com/NixOS/nixpkgs/blob/nixos-22.11/lib/trivial.nix#L445-L449
code: trivial.nix
/* Check whether something is a function or something
annotated with function args.
*/
isFunction = f: builtins.isFunction f ||
(f ? __functor && isFunction (f.__functor f));
builtins.isFunction
operator.?