From 2d74cf4d9b1e56159650d427a265d3e96b3aff9e Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sat, 22 Sep 2018 13:05:34 +0100 Subject: Remove `exposing` syntax --- src/Maybe.gleam | 83 --------------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/Maybe.gleam (limited to 'src/Maybe.gleam') diff --git a/src/Maybe.gleam b/src/Maybe.gleam deleted file mode 100644 index 8ae6e7c..0000000 --- a/src/Maybe.gleam +++ /dev/null @@ -1,83 +0,0 @@ -module Maybe - exposing Maybe(..), is_just/1, is_nothing/1, map/2, flatten/1, flat_map/2, - unwrap/2 - -type Maybe(x) = - | Just(x) - | Nothing - -; // Fix GitHub syntax highlighting - -fn is_just(maybe) { - case maybe { - | Just(_) => True - | Nothing => False - } -} - -test is_just() { - is_just(Just(1)) |> Assert.true - is_just(Nothing) |> Assert.false -} - -fn is_nothing(maybe) { - case maybe { - | Just(_) => False - | Nothing => True - } -} - -test is_nothing() { - is_nothing(Just(1)) |> Assert.false - is_nothing(Nothing) |> Assert.true -} - -fn map(maybe, fun) { - case maybe { - | Just(x) => fun(x) - | Nothing => Nothing - } -} - -test map() { - map(Just(1), fn(x) { x + 1 }) |> Assert.equal(_, Just(2)) - map(Nothing, fn(x) { x + 1 }) |> Assert.equal(Nothing) -} - -fn flatten(maybe) { - maybe - |> unwrap(_, Nothing) -} - -test flatten() { - flatten(Just(Just(1))) |> Assert.equal(Just(1)) - flatten(Just(Nothing)) |> Assert.equal(Nothing) - flatten(Nothing) |> Assert.equal(Nothing) -} - -fn flat_map(maybe, fun) { - maybe - |> map(_, fun) - |> flatten -} - -test flat_map() { - flat_map(Nothing, fn(x) { Just(x + 1) }) - |> Assert.equal(_, Nothing) - flat_map(Just(1), fn(x) { Just(x + 1) }) - |> Assert.equal(_, Just(2)) - flat_map(Just(1), fn(_) { Nothing }) - |> Assert.equal(_, Nothing) -} - -fn unwrap(maybe, fallback) { - case maybe { - | Just(v) => v - | Nothing => fallback - } -} - -test unwrap() { - unwrap(Just(1), 50) |> Assert.equal(1) - unwrap(Nothing, 50) |> Assert.equal(50) -} -- cgit v1.2.3