Packages
gleam_stdlib
0.50.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@bool.erl
-module(gleam@bool).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export(['and'/2, 'or'/2, negate/1, nor/2, nand/2, exclusive_or/2, exclusive_nor/2, compare/2, to_int/1, to_string/1, guard/3, lazy_guard/3]).
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 33).
-spec 'and'(boolean(), boolean()) -> boolean().
'and'(A, B) ->
A andalso B.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 59).
-spec 'or'(boolean(), boolean()) -> boolean().
'or'(A, B) ->
A orelse B.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 79).
-spec negate(boolean()) -> boolean().
negate(Bool) ->
not Bool.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 107).
-spec nor(boolean(), boolean()) -> boolean().
nor(A, B) ->
not (A orelse B).
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 135).
-spec nand(boolean(), boolean()) -> boolean().
nand(A, B) ->
not (A andalso B).
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 163).
-spec exclusive_or(boolean(), boolean()) -> boolean().
exclusive_or(A, B) ->
A /= B.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 191).
-spec exclusive_nor(boolean(), boolean()) -> boolean().
exclusive_nor(A, B) ->
A =:= B.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 196).
-spec compare(boolean(), boolean()) -> gleam@order:order().
compare(A, B) ->
case {A, B} of
{true, true} ->
eq;
{true, false} ->
gt;
{false, false} ->
eq;
{false, true} ->
lt
end.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 206).
-spec to_int(boolean()) -> integer().
to_int(Bool) ->
case Bool of
false ->
0;
true ->
1
end.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 227).
-spec to_string(boolean()) -> binary().
to_string(Bool) ->
case Bool of
false ->
<<"False"/utf8>>;
true ->
<<"True"/utf8>>
end.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 286).
-spec guard(boolean(), BWB, fun(() -> BWB)) -> BWB.
guard(Requirement, Consequence, Alternative) ->
case Requirement of
true ->
Consequence;
false ->
Alternative()
end.
-file("/Users/louis/src/gleam/stdlib/src/gleam/bool.gleam", 327).
-spec lazy_guard(boolean(), fun(() -> BWC), fun(() -> BWC)) -> BWC.
lazy_guard(Requirement, Consequence, Alternative) ->
case Requirement of
true ->
Consequence();
false ->
Alternative()
end.