Bool
A Bool can be either True or False.
Gleam defines a handful of operators that work with Bools.
False && False // => False
False && True // => False
True && False // => False
True && True // => True
False || False // => False
False || True // => True
True || False // => True
True || True // => True
&& and || are short circuiting, meaning they don't evaluate the right
hand side if they don't have to.
&& evaluates the right hand side if the left hand side is True.
|| evaluates the right hand side if the left hand side is False.
Erlang interop
While written in the code using a capital letter, they are represented at
runtime with the atoms true and false, making them compatible with Elixir
and Erlang's booleans.
This is important if you want to use Gleam and Elixir or Erlang together in one project.
// Gleam
True
False
% Erlang
true.
false.