Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Elixir
@spec square(integer) :: integer
def square(x) when is_integer(x), do: x*x

The guard guarantees that the return value is an integer. The spec lets dialyzer warn you if you use this without something guaranteed to be an integer, or where the return value is used somewhere that an integer is invalid.
function Square (X : Integer) return Integer is
begin
   return X * X;
end Square;

New implementation...
< >
programming-idioms.org