Packages
gleam_stdlib
0.54.0
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
src/gleam@function.erl
-module(gleam@function).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([flip/1, identity/1, tap/2]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/gleam/function.gleam", 4).
?DOC(
" Takes a function that takes two arguments and returns a new function that\n"
" takes the same two arguments, but in reverse order.\n"
).
-spec flip(fun((EFJ, EFK) -> EFL)) -> fun((EFK, EFJ) -> EFL).
flip(Fun) ->
fun(B, A) -> Fun(A, B) end.
-file("src/gleam/function.gleam", 10).
?DOC(" Takes a single argument and always returns its input value.\n").
-spec identity(EFM) -> EFM.
identity(X) ->
X.
-file("src/gleam/function.gleam", 19).
?DOC(
" Takes an argument and a single function,\n"
" calls that function with that argument\n"
" and returns that argument instead of the function return value.\n"
" Useful for running synchronous side effects in a pipeline.\n"
).
-spec tap(EFN, fun((EFN) -> any())) -> EFN.
tap(Arg, Effect) ->
Effect(Arg),
Arg.