Request arity directly.
[hope.git] / src / hope_fun.erl
CommitLineData
64617423
SK
1-module(hope_fun).
2
3-export(
4 [ id/1
e033aade 5 , curry/1
64617423
SK
6 ]).
7
8-spec id(A) ->
9 A.
10id(X) ->
11 X.
e033aade
SK
12
13-spec curry(fun()) ->
14 fun().
15curry(F) ->
a3173cf2 16 {arity, Arity} = erlang:fun_info(F, arity),
e033aade
SK
17 curry(F, [], Arity).
18
19-spec curry(fun(), list(), integer()) ->
20 fun().
21curry(F, Args, 0) ->
22 apply(F, lists:reverse(Args));
23curry(F, Args, Arity) ->
24 fun (X) -> curry(F, [X | Args], Arity - 1) end.
This page took 0.024987 seconds and 4 git commands to generate.