diff options
author | Louis Pilfold <louis@lpil.uk> | 2020-02-28 20:32:23 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2020-03-03 11:44:08 +0000 |
commit | e59c44f8ecf744a6b6d561e4e5fd4f7dc0b29355 (patch) | |
tree | 2a96fc6851b06bf7dc91a39e68462933960ab2dc | |
parent | 1a13f86ed842dbf771d84564f76e7400c2a81f89 (diff) | |
download | gleam_stdlib-e59c44f8ecf744a6b6d561e4e5fd4f7dc0b29355.tar.gz gleam_stdlib-e59c44f8ecf744a6b6d561e4e5fd4f7dc0b29355.zip |
Use new case expression features
-rw-r--r-- | gen/src/gleam@list.erl | 10 | ||||
-rw-r--r-- | gen/src/gleam@order.erl | 8 | ||||
-rw-r--r-- | src/gleam/float.gleam | 8 | ||||
-rw-r--r-- | src/gleam/int.gleam | 8 | ||||
-rw-r--r-- | src/gleam/list.gleam | 11 | ||||
-rw-r--r-- | src/gleam/order.gleam | 7 |
6 files changed, 21 insertions, 31 deletions
diff --git a/gen/src/gleam@list.erl b/gen/src/gleam@list.erl index 3e6d01d..57789ff 100644 --- a/gen/src/gleam@list.erl +++ b/gen/src/gleam@list.erl @@ -253,13 +253,13 @@ strict_zip(L1, L2) -> intersperse(List, Elem) -> case List of [] -> - []; + List; - [X] -> - [X]; + [_] -> + List; - [X1 | Rest] -> - [X1, Elem | intersperse(Rest, Elem)] + [X | Rest] -> + [X, Elem | intersperse(Rest, Elem)] end. at(List, Index) -> diff --git a/gen/src/gleam@order.erl b/gen/src/gleam@order.erl index 45e6474..6306636 100644 --- a/gen/src/gleam@order.erl +++ b/gen/src/gleam@order.erl @@ -29,18 +29,12 @@ to_int(Order) -> compare(A, B) -> case {A, B} of - {lt, lt} -> + {X, Y} when X =:= Y -> eq; {lt, _} -> lt; - {eq, eq} -> - eq; - - {gt, gt} -> - eq; - {eq, gt} -> lt; diff --git a/src/gleam/float.gleam b/src/gleam/float.gleam index 653a4d6..1eda66b 100644 --- a/src/gleam/float.gleam +++ b/src/gleam/float.gleam @@ -15,10 +15,10 @@ pub fn compare(a: Float, b: Float) -> Order { case a == b { True -> order.Eq False -> - case a <. b { - True -> order.Lt - False -> order.Gt - } + case a <. b { + True -> order.Lt + False -> order.Gt + } } } diff --git a/src/gleam/int.gleam b/src/gleam/int.gleam index 7fd7fa6..a638602 100644 --- a/src/gleam/int.gleam +++ b/src/gleam/int.gleam @@ -11,10 +11,10 @@ pub fn compare(a: Int, b: Int) -> Order { case a == b { True -> order.Eq False -> - case a < b { - True -> order.Lt - False -> order.Gt - } + case a < b { + True -> order.Lt + False -> order.Gt + } } } diff --git a/src/gleam/list.gleam b/src/gleam/list.gleam index eaa0b23..6ea102e 100644 --- a/src/gleam/list.gleam +++ b/src/gleam/list.gleam @@ -235,8 +235,7 @@ pub fn strict_zip(l1: List(a), l2: List(b)) -> Result(List(tuple(a, b)), LengthM pub fn intersperse(list: List(a), with elem: a) -> List(a) { case list { - [] -> [] - [x | []] -> [x] + [] | [_] -> list [x | rest] -> [x | [elem | intersperse(rest, elem)]] } } @@ -248,10 +247,10 @@ pub fn at(in list: List(a), get index: Int) -> Option(a) { case list { [] -> result.none() [x | rest] -> - case index == 0 { - True -> Ok(x) - False -> at(rest, index - 1) - } + case index == 0 { + True -> Ok(x) + False -> at(rest, index - 1) + } } } } diff --git a/src/gleam/order.gleam b/src/gleam/order.gleam index bc0aaeb..1c5a417 100644 --- a/src/gleam/order.gleam +++ b/src/gleam/order.gleam @@ -22,11 +22,8 @@ pub fn to_int(order: Order) -> Int { pub fn compare(a: Order, b: Order) -> Order { case a, b { - Lt, Lt -> Eq - Lt, _ -> Lt - Eq, Eq -> Eq - Gt, Gt -> Eq - Eq, Gt -> Lt + x, y if x == y -> Eq + Lt, _ | Eq, Gt -> Lt _, _ -> Gt } } |