aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-03-02 19:08:46 +0000
committerLouis Pilfold <louis@lpil.uk>2019-03-02 19:10:45 +0000
commitea5e146cf5ffd26a1c77a6b7e3160d98fc503c3c (patch)
tree98c7273268ed5eecaccb2d9d88d983181496c293 /src
parentceb115b4dbc878b885521743f6018563b2dea3c8 (diff)
downloadgleam_stdlib-ea5e146cf5ffd26a1c77a6b7e3160d98fc503c3c.tar.gz
gleam_stdlib-ea5e146cf5ffd26a1c77a6b7e3160d98fc503c3c.zip
Compile stdlib
Diffstat (limited to 'src')
-rw-r--r--src/bool.gleam93
-rw-r--r--src/list.gleam295
-rw-r--r--src/map.gleam236
-rw-r--r--src/order.gleam56
-rw-r--r--src/result.gleam25
5 files changed, 346 insertions, 359 deletions
diff --git a/src/bool.gleam b/src/bool.gleam
index a83391d..5375d0e 100644
--- a/src/bool.gleam
+++ b/src/bool.gleam
@@ -1,42 +1,43 @@
-import order:[Gt, Eq, Lt]
-
-pub fn not(bool) {
- case bool {
- | True -> False
- | False -> True
- }
-}
-
-test not {
- not(True)
- |> expect:false
-
- not(False)
- |> expect:true
-}
-
-pub fn compare(a, b) {
- case {a, b} {
- | {True, True} -> Eq
- | {True, False} -> Gt
- | {False, False} -> Eq
- | {False, True} -> Gt
- }
-}
-
-test compare {
- compare(True, True)
- |> expect:equal(_, Eq)
-
- compare(True, False)
- |> expect:equal(_, Gt)
-
- compare(False, False)
- |> expect:equal(_, Lt)
-
- compare(False, True)
- |> expect:equal(_, Gt)
-}
+import expect
+// import order:[Gt, Eq, Lt]
+
+// pub fn not(bool) {
+// case bool {
+// | True -> False
+// | False -> True
+// }
+// }
+
+// test not {
+// not(True)
+// |> expect:false
+
+// not(False)
+// |> expect:true
+// }
+
+// pub fn compare(a, b) {
+// case {a, b} {
+// | {True, True} -> Eq
+// | {True, False} -> Gt
+// | {False, False} -> Eq
+// | {False, True} -> Gt
+// }
+// }
+
+// test compare {
+// compare(True, True)
+// |> expect:equal(_, Eq)
+
+// compare(True, False)
+// |> expect:equal(_, Gt)
+
+// compare(False, False)
+// |> expect:equal(_, Lt)
+
+// compare(False, True)
+// |> expect:equal(_, Gt)
+// }
pub fn max(a, b) {
case a {
@@ -46,13 +47,13 @@ pub fn max(a, b) {
}
test max {
- max(True, True)
+ let _ = max(True, True)
|> expect:equal(_, True)
- max(True, False)
+ let _ = max(True, False)
|> expect:equal(_, True)
- max(False, False)
+ let _ = max(False, False)
|> expect:equal(_, False)
max(False, True)
@@ -67,13 +68,13 @@ pub fn min(a, b) {
}
test min {
- min(True, True)
+ let _ = min(True, True)
|> expect:equal(_, True)
- min(True, False)
+ let _ = min(True, False)
|> expect:equal(_, False)
- min(False, False)
+ let _ = min(False, False)
|> expect:equal(_, False)
min(False, True)
@@ -88,7 +89,7 @@ pub fn to_int(bool) {
}
test to_int {
- to_int(True)
+ let _ = to_int(True)
|> expect:equal(_, 1)
to_int(False)
diff --git a/src/list.gleam b/src/list.gleam
index 1d5b82e..338ee3c 100644
--- a/src/list.gleam
+++ b/src/list.gleam
@@ -1,5 +1,4 @@
import expect
-import result:[Ok, Error]
pub enum Error =
| Empty
@@ -9,9 +8,9 @@ pub enum Error =
pub external fn length(List(a)) -> Int = "erlang" "length"
test length {
- length([]) |> expect:equal(_, 0)
- length([1]) |> expect:equal(_, 1)
- length([1, 1]) |> expect:equal(_, 2)
+ let _ = length([]) |> expect:equal(_, 0)
+ let _ = length([1]) |> expect:equal(_, 1)
+ let _ = length([1, 1]) |> expect:equal(_, 2)
length([1, 1, 1]) |> expect:equal(_, 3)
}
@@ -20,8 +19,8 @@ test length {
pub external fn reverse(List(a)) -> List(a) = "erlang" "reverse"
test reverse {
- length([]) |> expect:equal(_, [])
- length([1, 2, 3, 4, 5]) |> expect:equal(_, [5, 4, 3, 2, 1])
+ let _ = length([]) |> expect:equal(_, 0)
+ length([1, 2, 3, 4, 5]) |> expect:equal(_, 5)
}
pub fn is_empty(list) {
@@ -29,21 +28,21 @@ pub fn is_empty(list) {
}
test is_empty {
- is_empty([]) |> expect:true
+ let _ = is_empty([]) |> expect:true
is_empty([1]) |> expect:false
}
-pub fn member(list, elem) {
+pub fn has_member(list, elem) {
case list {
| [] -> False
- | [head | rest] -> head == elem || member(rest, elem)
+ | [head | rest] -> head == elem || has_member(rest, elem)
}
}
-test is_member {
- is_member([0, 4, 5, 1], 1) |> expect:true
- is_member([0, 4, 5, 7], 1) |> expect:false
- is_member([], 1) |> expect:false
+test has_member {
+ let _ = has_member([0, 4, 5, 1], 1) |> expect:true
+ let _ = has_member([0, 4, 5, 7], 1) |> expect:false
+ has_member([], 1) |> expect:false
}
pub fn head(list) {
@@ -54,7 +53,7 @@ pub fn head(list) {
}
test head {
- head([0, 4, 5, 7])
+ let _ = head([0, 4, 5, 7])
|> expect:equal(_, Ok(0))
head([])
@@ -69,50 +68,50 @@ pub fn tail(list) {
}
test tail {
- tail([0, 4, 5, 7])
+ let _ = tail([0, 4, 5, 7])
|> expect:equal(_, Ok([4, 5, 7]))
- tail([0])
+ let _ = tail([0])
|> expect:equal(_, Ok([]))
tail([])
|> expect:equal(_, Error(Empty))
}
-fn do_filter(list, fun, acc) {
- case list {
- | [] -> reverse(acc)
- | [x | xs] ->
- let new_acc =
- case fun(x) {
- | True -> [x | acc]
- | False -> acc
- }
- do_filter(xs, fun, new_acc)
- }
-}
-
-pub fn filter(list, fun) {
- do_filter(list, fun, [])
-}
-
-test filter {
- []
- |> filter(_, fn(x) { True })
- |> expect:equal(_, [])
-
- [0, 4, 5, 7, 3]
- |> filter(_, fn(x) { True })
- |> expect:equal(_, [0, 4, 5, 7, 3])
-
- [0, 4, 5, 7, 3]
- |> filter(_, fn(x) { x > 4 })
- |> expect:equal(_, [5, 7])
-
- [0, 4, 5, 7, 3]
- |> filter(_, fn(x) { x < 4 })
- |> expect:equal(_, [0, 3])
-}
+// fn do_filter(list, fun, acc) {
+// case list {
+// | [] -> reverse(acc)
+// | [x | xs] ->
+// let new_acc =
+// case fun(x) {
+// | True -> [x | acc]
+// | False -> acc
+// }
+// do_filter(xs, fun, new_acc)
+// }
+// }
+
+// pub fn filter(list, fun) {
+// do_filter(list, fun, [])
+// }
+
+// test filter {
+// let _ = []
+// |> filter(_, fn(x) { True })
+// |> expect:equal(_, [])
+
+// let _ = [0, 4, 5, 7, 3]
+// |> filter(_, fn(x) { True })
+// |> expect:equal(_, [0, 4, 5, 7, 3])
+
+// let _ = [0, 4, 5, 7, 3]
+// |> filter(_, fn(x) { x > 4 })
+// |> expect:equal(_, [5, 7])
+
+// [0, 4, 5, 7, 3]
+// |> filter(_, fn(x) { x < 4 })
+// |> expect:equal(_, [0, 3])
+// }
fn do_map(list, fun, acc) {
case list {
@@ -126,7 +125,7 @@ pub fn map(list, fun) {
}
test map {
- []
+ let _ = []
|> map(_, fn(x) { x * 2 })
|> expect:equal(_, [])
@@ -135,82 +134,82 @@ test map {
|> expect:equal(_, [0, 8, 10, 14, 6])
}
-pub fn do_traverse(list, fun, acc) {
- case list {
- | [] -> Ok(reverse(acc))
- | [x | xs] ->
- case fun(x) {
- | Ok(y) -> do_traverse(xs, fun, [y | acc])
- | Error(error) -> Error(error)
- }
- }
-}
-
-pub fn traverse(list, fun) {
- do_traverse(list, fun, [])
-}
-
-test traverse {
- fun = fn(x) {
- case x < 6 {
- True -> Ok(x * 2)
- False -> Error(x)
- }
- }
-
- [0, 4, 5, 6, 3]
- |> traverse(_, fun)
- |> expect:equal(_, Ok([0, 8, 10, 12, 6]))
-
- [0, 4, 5, 7, 3]
- |> traverse(_, fun)
- |> expect:equal(_, Error(7)))
-}
-
-pub fn drop(list, n) {
- case n <= 0 {
- | True -> list
- | False ->
- case list {
- | [] -> []
- | [x | xs] -> drop(xs, n - 1)
- }
- }
-}
-
-test drop/2 {
- []
- |> drop(_, 5)
- |> expect:equal(_, [])
-
- [1, 2, 3, 4, 5, 6, 7, 8]
- |> drop(_, 5)
- |> expect:equal(_, [6, 7, 8])
-}
-
-fn do_take(list, n, acc) {
- case n <= 0 {
- | True -> reverse(acc)
- | False ->
- case list {
- | [] -> reverse(acc)
- | [x | xs] -> take(xs, n - 1, [x | acc])
- }
- }
-}
-
-pub fn take(list, n) {
- do_take(list, n, [])
-}
-
-test take {
- []
- |> take(_, 5)
- |> expect:equal(_, [])
- [1, 2, 3, 4, 5, 6, 7, 8]
- |> take(_, 5)
- |> expect:equal(_, [1, 2, 3, 4, 5])
-}
+// pub fn do_traverse(list, fun, acc) {
+// case list {
+// | [] -> Ok(reverse(acc))
+// | [x | xs] ->
+// case fun(x) {
+// | Ok(y) -> do_traverse(xs, fun, [y | acc])
+// | Error(error) -> Error(error)
+// }
+// }
+// }
+
+// pub fn traverse(list, fun) {
+// do_traverse(list, fun, [])
+// }
+
+// test traverse {
+// let fun = fn(x) {
+// case x < 6 {
+// | True -> Ok(x * 2)
+// | False -> Error(x)
+// }
+// }
+
+// let _ = [0, 4, 5, 6, 3]
+// |> traverse(_, fun)
+// |> expect:equal(_, Ok([0, 8, 10, 12, 6]))
+
+// [0, 4, 5, 7, 3]
+// |> traverse(_, fun)
+// |> expect:equal(_, Error(7))
+// }
+
+// pub fn drop(list, n) {
+// case n <= 0 {
+// | True -> list
+// | False ->
+// case list {
+// | [] -> []
+// | [x | xs] -> drop(xs, n - 1)
+// }
+// }
+// }
+
+// test drop {
+// let _ = []
+// |> drop(_, 5)
+// |> expect:equal(_, [])
+
+// [1, 2, 3, 4, 5, 6, 7, 8]
+// |> drop(_, 5)
+// |> expect:equal(_, [6, 7, 8])
+// }
+
+// fn do_take(list, n, acc) {
+// case n <= 0 {
+// | True -> reverse(acc)
+// | False ->
+// case list {
+// | [] -> reverse(acc)
+// | [x | xs] -> take(xs, n - 1, [x | acc])
+// }
+// }
+// }
+
+// pub fn take(list, n) {
+// do_take(list, n, [])
+// }
+
+// test take {
+// let _ = []
+// |> take(_, 5)
+// |> expect:equal(_, [])
+// [1, 2, 3, 4, 5, 6, 7, 8]
+// |> take(_, 5)
+// |> expect:equal(_, [1, 2, 3, 4, 5])
+// }
pub fn new() {
[]
@@ -220,30 +219,30 @@ test new {
new() |> expect:equal(_, [])
}
-fn do_flatten(lists, acc) {
- case lists {
- | [] -> acc
- | [l | rest] -> flatten(rest, acc ++ l)
- }
-}
+// fn do_flatten(lists, acc) {
+// case lists {
+// | [] -> acc
+// | [l | rest] -> flatten(rest, acc ++ l)
+// }
+// }
-pub fn flatten(lists) {
- do_flatten(lists, [])
-}
+// pub fn flatten(lists) {
+// do_flatten(lists, [])
+// }
-test flatten {
- flatten([])
- |> expect:equal(_, [])
+// test flatten {
+// let _ = flatten([])
+// |> expect:equal(_, [])
- flatten([[]])
- |> expect:equal(_, [])
+// let _ = flatten([[]])
+// |> expect:equal(_, [])
- flatten([[], [], []])
- |> expect:equal(_, [])
+// let _ = flatten([[], [], []])
+// |> expect:equal(_, [])
- flatten([[1, 2], [], [3, 4]])
- |> expect:equal(_, [1, 2, 3, 4])
-}
+// flatten([[1, 2], [], [3, 4]])
+// |> expect:equal(_, [1, 2, 3, 4])
+// }
pub fn foldl(list, acc, fun) {
case list {
@@ -254,7 +253,7 @@ pub fn foldl(list, acc, fun) {
test foldl {
[1, 2, 3]
- |> foldl(_, [], fn(x, acc) { x :: acc })
+ |> foldl(_, [], fn(x, acc) { [x | acc] })
|> expect:equal(_, [3, 2, 1])
}
@@ -267,6 +266,6 @@ pub fn foldr(list, acc, fun) {
test foldr {
[1, 2, 3]
- |> foldr(_, [], fn(x, acc) { x :: acc })
+ |> foldr(_, [], fn(x, acc) { [x | acc] })
|> expect:equal(_, [1, 2, 3])
}
diff --git a/src/map.gleam b/src/map.gleam
index 4f9f2b2..9236ffd 100644
--- a/src/map.gleam
+++ b/src/map.gleam
@@ -1,109 +1,109 @@
import any
-import result:Result
+import result
import expect
pub external type Map(key, value);
-pub external fn new() -> Map(key, value))
+pub external fn new() -> Map(key, value)
= "maps" "new"
-test new {
- new()
- |> size
- |> expect:equal(_, 0)
-}
+// test new {
+// new()
+// |> new
+// |> expect:equal(_, [])
+// }
-pub external fn size(Map(_, _)) -> Int
+pub external fn size(Map(k, v)) -> Int
= "maps" "size"
-test size {
- []
- |> from_list
- |> size
- |> expect:equal(_, 0)
-
- [
- {1, 1},
- ]
- |> from_list
- |> size
- |> expect:equal(_, 1)
-
- [
- {"", 1.0},
- {"", 2.0},
- ]
- |> from_list
- |> size
- |> expect:equal(_, 2)
-}
-
-external fn is_key(key, Map(key, _)) -> Bool
- = "maps" "is_key"
-
-pub fn has_key(map, key) {
- is_key(key, map)
-}
-
-test has_key {
- []
- |> from_list
- |> has_key(_, 1)
- |> expect:false
-
- [
- {1, 0},
- ]
- |> from_list
- |> has_key(_, 1)
- |> expect:true
-
- [
- {4, 0},
- {1, 0},
- ]
- |> from_list
- |> has_key(_, 1)
- |> expect:true
-
- [
- {4, 0},
- {1, 0},
- ]
- |> from_list
- |> has_key(_, 0)
- |> expect:false
-}
-
-pub fn from_record(record: {r}) -> Map(Atom, any:Any) {
- any:unsafeCoerce(record)
-}
-
-test from_record {
- map = from_record({ name = "Jane" })
-
- map
- |> size
- |> expect:equal(_, 1)
-
- map
- |> expect:equal(_, from_list([{"name", "Jane"}]))
-}
-
-pub external fn to_list(Map(key, value)) -> List(Tuple(key, value))
+// test size {
+// let _ = []
+// |> from_list
+// |> size
+// |> expect:equal(_, 0)
+
+// let _ = [
+// {1, 1},
+// ]
+// |> from_list
+// |> size
+// |> expect:equal(_, 1)
+
+// [
+// {"", 1.0},
+// {"", 2.0},
+// ]
+// |> from_list
+// |> size
+// |> expect:equal(_, 2)
+// }
+
+// external fn is_key(key, Map(key, v)) -> Bool
+// = "maps" "is_key"
+
+// pub fn has_key(map, key) {
+// is_key(key, map)
+// }
+
+// test has_key {
+// let _ = []
+// |> from_list
+// |> has_key(_, 1)
+// |> expect:false
+
+// let _ = [
+// {1, 0},
+// ]
+// |> from_list
+// |> has_key(_, 1)
+// |> expect:true
+
+// let _ = [
+// {4, 0},
+// {1, 0},
+// ]
+// |> from_list
+// |> has_key(_, 1)
+// |> expect:true
+
+// [
+// {4, 0},
+// {1, 0},
+// ]
+// |> from_list
+// |> has_key(_, 0)
+// |> expect:false
+// }
+
+// pub fn from_record(record: {r}) -> Map(Atom, any:Any) {
+// any:unsafeCoerce(record)
+// }
+
+// test from_record {
+// let map = from_record({ name = "Jane" })
+
+// let _ = map
+// |> size
+// |> expect:equal(_, 1)
+
+// map
+// |> expect:equal(_, from_list([{"name", "Jane"}]))
+// }
+
+pub external fn to_list(Map(key, value)) -> List({key, value})
= "maps" "to_list"
-pub external fn from_list(List(Tuple(key, value))) -> Map(key, value)
+pub external fn from_list(List({key, value})) -> Map(key, value)
= "maps" "from_list"
test from_list {
- proplist = [
+ let proplist = [
{4, 0},
{1, 0},
]
- map = from_list(proplist)
+ let map = from_list(proplist)
- map
+ let _ = map
|> size
|> expect:equal(_, 2)
@@ -112,43 +112,43 @@ test from_list {
|> expect:equal(_, proplist)
}
-pub external fn fetch(Map(key, value), key) -> Result(Unit, value)
+pub external fn fetch(Map(key, value), key) -> Result(a, value)
= "gleam__stdlib" "map_fetch";
test fetch {
- proplist = [
+ let proplist = [
{4, 0},
{1, 1},
]
- map = from_list(proplist)
+ let map = from_list(proplist)
- map
+ let _ = map
|> fetch(_, 4)
- |> expect:equal(_, result:Ok(0))
+ |> expect:equal(_, Ok(0))
map
|> fetch(_, 1)
- |> expect:equal(_, result:Ok(1))
+ |> expect:equal(_, Ok(1))
- map
- |> fetch(_, 2)
- |> expect:equal(_, result:Error(()))
+ // map
+ // |> fetch(_, 2)
+ // |> expect:equal(_, Error(())
}
-external fn erl_put(key, value, Map(key, value)) -> Map(key, value)
- = "maps" "put";
+// external fn erl_put(key, value, Map(key, value)) -> Map(key, value)
+// = "maps" "put";
-pub fn put(map, key, value) {
- erl_put(key, value, map)
-}
+// pub fn put(map, key, value) {
+// erl_put(key, value, map)
+// }
-test put {
- new()
- |> put(_, "a", 0)
- |> put(_, "b", 1)
- |> put(_, "c", 2)
- |> expect:equal(_, result:Ok(from_list([{"a", 0}, {"b", 1}, {"c", 2}])))
-}
+// test put {
+// new()
+// |> put(_, "a", 0)
+// |> put(_, "b", 1)
+// |> put(_, "c", 2)
+// |> expect:equal(_, Ok(from_list([{"a", 0}, {"b", 1}, {"c", 2}])))
+// }
external fn erl_map_values(fn(key, value) -> value, Map(key, value)) -> Map(key, value)
= "maps" "map";
@@ -168,7 +168,7 @@ test map_values {
|> expect:equal(_, from_list([{1, 0}, {2, 3}, {3, 5}]))
}
-pub external fn keys(Map(keys, _)) -> List(keys)
+pub external fn keys(Map(keys, v)) -> List(keys)
= "maps" "keys"
test keys {
@@ -179,10 +179,10 @@ test keys {
]
|> from_list
|> keys
- |> expect:equal(_, ["a", "b", "c"]))
+ |> expect:equal(_, ["a", "b", "c"])
}
-pub external fn values(Map(_, values)) -> List(values)
+pub external fn values(Map(k, values)) -> List(values)
= "maps" "values"
test values {
@@ -193,7 +193,7 @@ test values {
]
|> from_list
|> values
- |> expect:equal(_, [0, 1, 2]))
+ |> expect:equal(_, [0, 1, 2])
}
external fn erl_filter(fn(key, value) -> Bool, Map(key, value)) -> Map(key, value)
@@ -202,15 +202,3 @@ external fn erl_filter(fn(key, value) -> Bool, Map(key, value)) -> Map(key, valu
pub fn filter(map, fun) {
filter(fun, map)
}
-
-test map_values {
- [
- {1, 0},
- {3, 2},
- {2, 1},
- ]
- |> from_list
- |> filter(_, fn(k, v) { k + v < 4 })
- |> expect:equal(_, from_list([{1, 0}, {2, 3}]))
-}
-
diff --git a/src/order.gleam b/src/order.gleam
index 9e69114..aa6756c 100644
--- a/src/order.gleam
+++ b/src/order.gleam
@@ -15,8 +15,8 @@ pub fn reverse(order) {
}
test reverse {
- reverse(Lt) |> expect:equal(_, Gt)
- reverse(Eq) |> expect:equal(_, Eq)
+ let _ = reverse(Lt) |> expect:equal(_, Gt)
+ let _ = reverse(Eq) |> expect:equal(_, Eq)
reverse(Gt) |> expect:equal(_, Lt)
}
@@ -29,8 +29,8 @@ pub fn to_int(order) {
}
test to_int {
- to_int(Lt) |> expect:equal(_, -1)
- to_int(Eq) |> expect:equal(_, 0)
+ let _ = to_int(Lt) |> expect:equal(_, -1)
+ let _ = to_int(Eq) |> expect:equal(_, 0)
to_int(Gt) |> expect:equal(_, 1)
}
@@ -46,14 +46,14 @@ pub fn compare(a, b) {
}
test compare {
- compare(Lt, Lt) |> expect:equal(_, Eq)
- compare(Lt, Eq) |> expect:equal(_, Lt)
- compare(Lt, Gt) |> expect:equal(_, Lt)
- compare(Eq, Lt) |> expect:equal(_, Gt)
- compare(Eq, Eq) |> expect:equal(_, Eq)
- compare(Eq, Gt) |> expect:equal(_, Lt)
- compare(Gt, Lt) |> expect:equal(_, Gt)
- compare(Gt, Eq) |> expect:equal(_, Gt)
+ let _ = compare(Lt, Lt) |> expect:equal(_, Eq)
+ let _ = compare(Lt, Eq) |> expect:equal(_, Lt)
+ let _ = compare(Lt, Gt) |> expect:equal(_, Lt)
+ let _ = compare(Eq, Lt) |> expect:equal(_, Gt)
+ let _ = compare(Eq, Eq) |> expect:equal(_, Eq)
+ let _ = compare(Eq, Gt) |> expect:equal(_, Lt)
+ let _ = compare(Gt, Lt) |> expect:equal(_, Gt)
+ let _ = compare(Gt, Eq) |> expect:equal(_, Gt)
compare(Gt, Gt) |> expect:equal(_, Eq)
}
@@ -66,14 +66,14 @@ pub fn max(a, b) {
}
test max {
- max(Lt, Lt) |> expect:equal(_, Lt)
- max(Lt, Eq) |> expect:equal(_, Eq)
- max(Lt, Gt) |> expect:equal(_, Gt)
- max(Eq, Lt) |> expect:equal(_, Eq)
- max(Eq, Eq) |> expect:equal(_, Eq)
- max(Eq, Gt) |> expect:equal(_, Gt)
- max(Gt, Lt) |> expect:equal(_, Gt)
- max(Gt, Eq) |> expect:equal(_, Gt)
+ let _ = max(Lt, Lt) |> expect:equal(_, Lt)
+ let _ = max(Lt, Eq) |> expect:equal(_, Eq)
+ let _ = max(Lt, Gt) |> expect:equal(_, Gt)
+ let _ = max(Eq, Lt) |> expect:equal(_, Eq)
+ let _ = max(Eq, Eq) |> expect:equal(_, Eq)
+ let _ = max(Eq, Gt) |> expect:equal(_, Gt)
+ let _ = max(Gt, Lt) |> expect:equal(_, Gt)
+ let _ = max(Gt, Eq) |> expect:equal(_, Gt)
max(Gt, Gt) |> expect:equal(_, Gt)
}
@@ -86,13 +86,13 @@ pub fn min(a, b) {
}
test min {
- min(Lt, Lt) |> expect:equal(_, Lt)
- min(Lt, Eq) |> expect:equal(_, Lt)
- min(Lt, Gt) |> expect:equal(_, Lt)
- min(Eq, Lt) |> expect:equal(_, Lt)
- min(Eq, Eq) |> expect:equal(_, Eq)
- min(Eq, Gt) |> expect:equal(_, Eq)
- min(Gt, Lt) |> expect:equal(_, Lt)
- min(Gt, Eq) |> expect:equal(_, Eq)
+ let _ = min(Lt, Lt) |> expect:equal(_, Lt)
+ let _ = min(Lt, Eq) |> expect:equal(_, Lt)
+ let _ = min(Lt, Gt) |> expect:equal(_, Lt)
+ let _ = min(Eq, Lt) |> expect:equal(_, Lt)
+ let _ = min(Eq, Eq) |> expect:equal(_, Eq)
+ let _ = min(Eq, Gt) |> expect:equal(_, Eq)
+ let _ = min(Gt, Lt) |> expect:equal(_, Lt)
+ let _ = min(Gt, Eq) |> expect:equal(_, Eq)
min(Gt, Gt) |> expect:equal(_, Gt)
}
diff --git a/src/result.gleam b/src/result.gleam
index ffd99e0..2ad7ee8 100644
--- a/src/result.gleam
+++ b/src/result.gleam
@@ -1,9 +1,8 @@
import expect
-// doc """
// Result represents the result of something that may succeed or fail.
// `Ok` means it was successful, `Error` means it failed.
-// """
+//
pub enum Result(error, value) =
| Ok(value)
| Error(error)
@@ -17,7 +16,7 @@ pub fn is_ok(result) {
}
test is_ok {
- is_ok(Ok(1)) |> expect:true
+ let _ = is_ok(Ok(1)) |> expect:true
is_ok(Error(1)) |> expect:false
}
@@ -29,7 +28,7 @@ pub fn is_error(result) {
}
test is_error {
- is_error(Ok(1))
+ let _ = is_error(Ok(1))
|> expect:false
is_error(Error(1))
@@ -44,13 +43,13 @@ pub fn map(result, fun) {
}
test map {
- Ok(1)
+ let _ = Ok(1)
|> map(_, fn(x) { x + 1 })
|> expect:equal(_, Ok(2))
Error(1)
|> map(_, fn(x) { x + 1 })
- |> expect:equal(Error(1))
+ |> expect:equal(_, Error(1))
}
pub fn map_error(result, fun) {
@@ -61,7 +60,7 @@ pub fn map_error(result, fun) {
}
test map_error {
- Ok(1)
+ let _ = Ok(1)
|> map_error(_, fn(x) { x + 1 })
|> expect:equal(_, Ok(1))
@@ -78,13 +77,13 @@ pub fn flatten(result) {
}
test flatten {
- flatten(Ok(Ok(1)))
+ let _ = flatten(Ok(Ok(1)))
|> expect:equal(_, Ok(1))
- flatten(Ok(Error(1)))
+ let _ = flatten(Ok(Error(1)))
|> expect:equal(_, Error(1))
- flatten(Error(1))
+ let _ = flatten(Error(1))
|> expect:equal(_, Error(1))
flatten(Error(Error(1)))
@@ -109,11 +108,11 @@ pub fn flat_map(result, fun) {
}
test flat_map {
- Error(1)
+ let _ = Error(1)
|> flat_map(_, fn(x) { Ok(x + 1) })
|> expect:equal(_, Error(1))
- Ok(1)
+ let _ = Ok(1)
|> flat_map(_, fn(x) { Ok(x + 1) })
|> expect:equal(_, Ok(2))
@@ -130,7 +129,7 @@ pub fn unwrap(result, default) {
}
test unwrap {
- unwrap(Ok(1), 50)
+ let _ = unwrap(Ok(1), 50)
|> expect:equal(_, 1)
unwrap(Error("nope"), 50)