Packages
gleam_stdlib
0.17.1
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/src/gleam@function.erl
-module(gleam@function).
-compile(no_auto_import).
-export([compose/2, curry2/1, curry3/1, curry4/1, curry5/1, curry6/1, flip/1, identity/1]).
-spec compose(fun((GE) -> GF), fun((GF) -> GG)) -> fun((GE) -> GG).
compose(Fun1, Fun2) ->
fun(A) -> Fun2(Fun1(A)) end.
-spec curry2(fun((GH, GI) -> GJ)) -> fun((GH) -> fun((GI) -> GJ)).
curry2(Fun) ->
fun(A) -> fun(B) -> Fun(A, B) end end.
-spec curry3(fun((GL, GM, GN) -> GO)) -> fun((GL) -> fun((GM) -> fun((GN) -> GO))).
curry3(Fun) ->
fun(A) -> fun(B) -> fun(C) -> Fun(A, B, C) end end end.
-spec curry4(fun((GQ, GR, GS, GT) -> GU)) -> fun((GQ) -> fun((GR) -> fun((GS) -> fun((GT) -> GU)))).
curry4(Fun) ->
fun(A) -> fun(B) -> fun(C) -> fun(D) -> Fun(A, B, C, D) end end end end.
-spec curry5(fun((GW, GX, GY, GZ, HA) -> HB)) -> fun((GW) -> fun((GX) -> fun((GY) -> fun((GZ) -> fun((HA) -> HB))))).
curry5(Fun) ->
fun(A) ->
fun(B) ->
fun(C) -> fun(D) -> fun(E) -> Fun(A, B, C, D, E) end end end
end
end.
-spec curry6(fun((HD, HE, HF, HG, HH, HI) -> HJ)) -> fun((HD) -> fun((HE) -> fun((HF) -> fun((HG) -> fun((HH) -> fun((HI) -> HJ)))))).
curry6(Fun) ->
fun(A) ->
fun(B) ->
fun(C) ->
fun(D) -> fun(E) -> fun(F) -> Fun(A, B, C, D, E, F) end end end
end
end
end.
-spec flip(fun((HL, HM) -> HN)) -> fun((HM, HL) -> HN).
flip(Fun) ->
fun(B, A) -> Fun(A, B) end.
-spec identity(HO) -> HO.
identity(X) ->
X.