diff options
author | Louis Pilfold <louis@lpil.uk> | 2018-10-12 23:17:54 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2018-10-12 23:27:53 +0000 |
commit | 0e41165e9ce288a253c78e8d7a5f224cd9489535 (patch) | |
tree | a89cf7a4a66bba7a3595b98f3c1eb3b25ca891be /src/Order.gleam | |
parent | 82ff1afa3bcab9d880eb6508e004cd71eb1f4a48 (diff) | |
download | gleam_stdlib-0e41165e9ce288a253c78e8d7a5f224cd9489535.tar.gz gleam_stdlib-0e41165e9ce288a253c78e8d7a5f224cd9489535.zip |
Lowercase module names
This change has a few benefits:
- Module names will be easier to call from Erlang, Elixir, etc.
- We can now import (for example) the `result` module and the `Result`
type and not have ambiguity as to which we mean in the code.
Diffstat (limited to 'src/Order.gleam')
-rw-r--r-- | src/Order.gleam | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/src/Order.gleam b/src/Order.gleam deleted file mode 100644 index b0b43da..0000000 --- a/src/Order.gleam +++ /dev/null @@ -1,98 +0,0 @@ -pub enum Order = - | LT - | EQ - | GT -; - -import Order:* - -pub fn reverse(order) { - case order { - | LT => GT - | EQ => EQ - | GT => LT - } -} - -test reverse { - reverse(LT) |> Assert:equal(_, GT) - reverse(EQ) |> Assert:equal(_, EQ) - reverse(GT) |> Assert:equal(_, LT) -} - -pub fn to_int(order) { - case order { - | LT => -1 - | EQ => 0 - | GT => 1 - } -} - -test to_int { - to_int(LT) |> Assert:equal(_, -1) - to_int(EQ) |> Assert:equal(_, 0) - to_int(GT) |> Assert:equal(_, 1) -} - -pub fn compare(a, b) { - case {a, b} { - | {LT, LT} => EQ - | {LT, _} => LT - | {EQ, EQ} => EQ - | {GT, GT} => EQ - | {EQ, GT} => LT - | _ => GT - } -} - -test compare { - compare(LT, LT) |> Assert:equal(_, EQ) - compare(LT, EQ) |> Assert:equal(_, LT) - compare(LT, GT) |> Assert:equal(_, LT) - compare(EQ, LT) |> Assert:equal(_, GT) - compare(EQ, EQ) |> Assert:equal(_, EQ) - compare(EQ, GT) |> Assert:equal(_, LT) - compare(GT, LT) |> Assert:equal(_, GT) - compare(GT, EQ) |> Assert:equal(_, GT) - compare(GT, GT) |> Assert:equal(_, EQ) -} - -pub fn max(a, b) { - case {a, b} { - | {GT, _} => GT - | {EQ, LT} => EQ - | _ => b - } -} - -test max { - max(LT, LT) |> Assert:equal(_, LT) - max(LT, EQ) |> Assert:equal(_, EQ) - max(LT, GT) |> Assert:equal(_, GT) - max(EQ, LT) |> Assert:equal(_, EQ) - max(EQ, EQ) |> Assert:equal(_, EQ) - max(EQ, GT) |> Assert:equal(_, GT) - max(GT, LT) |> Assert:equal(_, GT) - max(GT, EQ) |> Assert:equal(_, GT) - max(GT, GT) |> Assert:equal(_, GT) -} - -pub fn min(a, b) { - case {a, b} { - | {LT, _} => LT - | {EQ, GT} => EQ - | _ => b - } -} - -test min { - min(LT, LT) |> Assert:equal(_, LT) - min(LT, EQ) |> Assert:equal(_, LT) - min(LT, GT) |> Assert:equal(_, LT) - min(EQ, LT) |> Assert:equal(_, LT) - min(EQ, EQ) |> Assert:equal(_, EQ) - min(EQ, GT) |> Assert:equal(_, EQ) - min(GT, LT) |> Assert:equal(_, LT) - min(GT, EQ) |> Assert:equal(_, EQ) - min(GT, GT) |> Assert:equal(_, GT) -} |