-module(hope_option).
--export_type([ t/1
- ]).
--export([ put/2
- , get/2
- , map/2
- ]).
+-export_type(
+ [ t/1
+ ]).
+-export(
+ [ put/2
+ , get/2
+ , map/2
+ ]).
--type t(A) :: none | {some, A}.
+
+-type t(A) ::
+ none
+ | {some, A}
+ .
put(X, F) ->
; false -> none
end.
-
get({some, X}, _) -> X;
get(none , Y) -> Y.
-
map({some, X}, F) -> {some, F(X)};
map(none , _) -> none.