diff options
author | Louis Pilfold <louis@lpil.uk> | 2018-08-09 16:43:35 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2018-08-09 16:46:41 +0100 |
commit | 012273c4186317171f3405cc794ff9b3085c0e39 (patch) | |
tree | 838960bc358f3ba8fdb12c0f2a9bf493694e5017 /src/Result.gleam | |
parent | 817d9006dd4aaa1793fee68089ef53f9e188af3f (diff) | |
download | gleam_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.gleam | 39 |
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) { |