Current section
Files
Jump to
Current section
Files
src/bibi.erl
-module(bibi).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([new/1, to_int/1, main/0]).
-export_type([positive_int/0]).
-opaque positive_int() :: {positive_int, integer()}.
-file("src/bibi.gleam", 17).
-spec new(integer()) -> positive_int().
new(I) ->
case I >= 0 of
true ->
{positive_int, I};
false ->
{positive_int, 0}
end.
-file("src/bibi.gleam", 24).
-spec to_int(positive_int()) -> integer().
to_int(I) ->
erlang:element(2, I).
-file("src/bibi.gleam", 3).
-spec main() -> integer().
main() ->
Positive = new(1),
Zero = new(0),
Negative = new(-1),
gleam@io:debug(to_int(Positive)),
gleam@io:debug(to_int(Zero)),
gleam@io:debug(to_int(Negative)).