aboutsummaryrefslogtreecommitdiff
path: root/src/Result.gleam
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2018-08-09 16:43:35 +0100
committerLouis Pilfold <louis@lpil.uk>2018-08-09 16:46:41 +0100
commit012273c4186317171f3405cc794ff9b3085c0e39 (patch)
tree838960bc358f3ba8fdb12c0f2a9bf493694e5017 /src/Result.gleam
parent817d9006dd4aaa1793fee68089ef53f9e188af3f (diff)
downloadgleam_stdlib-012273c4186317171f3405cc794ff9b3085c0e39.tar.gz
gleam_stdlib-012273c4186317171f3405cc794ff9b3085c0e39.zip
Unify function and closure syntax
I feel the `|x| x` syntax is less obvious than the `fn name(x) { x }` syntax used by top level named functions. Using the same syntax everywhere should be clearer.
Diffstat (limited to 'src/Result.gleam')
-rw-r--r--src/Result.gleam39
1 files changed, 28 insertions, 11 deletions
diff --git a/src/Result.gleam b/src/Result.gleam
index 83f5651..3650e61 100644
--- a/src/Result.gleam
+++ b/src/Result.gleam
@@ -46,20 +46,28 @@ fn map(result, fun) {
}
test map {
- map(Ok(1), |x| x + 1) |> Assert.equal(_, Ok(2))
- map(Error(1), |x| x + 1) |> Assert.equal(Error(1))
+ Ok(1)
+ |> map(_, fn(x) { x + 1 })
+ |> Assert.equal(_, Ok(2))
+ Error(1)
+ |> map(_, fn(x) { x + 1 })
+ |> Assert.equal(Error(1))
}
fn map_error(result, fun) {
case result {
| Ok(_) => result
- | Error(error) => error |> fun |> Error
+ | Error(error) => Error(fun(error))
}
}
test map_error {
- map_error(Ok(1), |x| x + 1) |> Assert.equal(_, Ok(1))
- map_error(Error(1), |x| x + 1) |> Assert.equal(Error(2))
+ Ok(1)
+ |> map_error(_, fn(x) { x + 1 })
+ |> Assert.equal(_, Ok(1))
+ Error(1)
+ |> map_error(_, fn(x) { x + 1 })
+ |> Assert.equal(_, Error(2))
}
fn flatten(result) {
@@ -70,9 +78,12 @@ fn flatten(result) {
}
test flatten {
- flatten(Ok(Ok(1))) |> Assert.equal(_, Ok(1))
- flatten(Ok(Error(1))) |> Assert.equal(_, Error(1))
- flatten(Error(1)) |> Assert.equal(_, Error(1))
+ flatten(Ok(Ok(1)))
+ |> Assert.equal(_, Ok(1))
+ flatten(Ok(Error(1)))
+ |> Assert.equal(_, Error(1))
+ flatten(Error(1))
+ |> Assert.equal(_, Error(1))
}
fn flat_map(result, fun) {
@@ -82,9 +93,15 @@ fn flat_map(result, fun) {
}
test flat_map {
- flat_map(Error(1), |x| Ok(x + 1)) |> Assert.equal(_, Error(1))
- flat_map(Ok(1), |x| Ok(x + 1)) |> Assert.equal(_, Ok(2))
- flat_map(Ok(1), |_| Error(1)) |> Assert.equal(_, Error(1))
+ Error(1)
+ |> flat_map(_, fn(x) { Ok(x + 1) })
+ |> Assert.equal(_, Error(1))
+ Ok(1)
+ |> flat_map(_, fn(x) { Ok(x + 1) })
+ |> Assert.equal(_, Ok(2))
+ Ok(1)
+ |> flat_map(_, fn(_) { Error(1) })
+ |> Assert.equal(_, Error(1))
}
fn unwrap(result, default) {