diff options
-rw-r--r-- | gen/src/gleam@function.erl (renamed from gen/src/gleam@generic.erl) | 10 | ||||
-rw-r--r-- | gen/test/gleam@function_test.erl (renamed from gen/test/gleam@generic_test.erl) | 34 |
2 files changed, 22 insertions, 22 deletions
diff --git a/gen/src/gleam@generic.erl b/gen/src/gleam@function.erl index c616d93..f014d37 100644 --- a/gen/src/gleam@generic.erl +++ b/gen/src/gleam@function.erl @@ -1,10 +1,10 @@ --module(gleam@generic). +-module(gleam@function). -compile(no_auto_import). --export([flip/1, compose/2]). - -flip(Fun) -> - fun(B, A) -> Fun(A, B) end. +-export([compose/2, flip/1]). compose(Fun1, Fun2) -> fun(A) -> Fun2(Fun1(A)) end. + +flip(Fun) -> + fun(B, A) -> Fun(A, B) end. diff --git a/gen/test/gleam@generic_test.erl b/gen/test/gleam@function_test.erl index 0d4abe4..47758c5 100644 --- a/gen/test/gleam@generic_test.erl +++ b/gen/test/gleam@function_test.erl @@ -1,7 +1,21 @@ --module(gleam@generic_test). +-module(gleam@function_test). -compile(no_auto_import). --export([flip_test/0, compose_test/0]). +-export([compose_test/0, flip_test/0]). + +compose_test() -> + AddTwo = fun(Int) -> Int + 2 end, + AddThree = fun(Int1) -> Int1 + 3 end, + AddFive = gleam@function:compose(AddTwo, AddThree), + gleam@expect:equal(AddFive(1), 6), + HeadToString = gleam@function:compose( + fun gleam@list:head/1, + fun(IntResult) -> + gleam@int:to_string(gleam@result:unwrap(IntResult, 0)) + end + ), + gleam@expect:equal(HeadToString([1]), <<"1">>), + gleam@expect:equal(HeadToString([]), <<"0">>). flip_test() -> Fun = fun(String, Int) -> @@ -16,23 +30,9 @@ flip_test() -> <<"'">> ) end, - FlippedFun = gleam@generic:flip(Fun), + FlippedFun = gleam@function:flip(Fun), gleam@expect:equal(Fun(<<"Bob">>, 1), <<"String: 'Bob', Int: '1'">>), gleam@expect:equal( FlippedFun(2, <<"Alice">>), <<"String: 'Alice', Int: '2'">> ). - -compose_test() -> - AddTwo = fun(Int) -> Int + 2 end, - AddThree = fun(Int1) -> Int1 + 3 end, - AddFive = gleam@generic:compose(AddTwo, AddThree), - gleam@expect:equal(AddFive(1), 6), - HeadToString = gleam@generic:compose( - fun gleam@list:head/1, - fun(IntResult) -> - gleam@int:to_string(gleam@result:unwrap(IntResult, 0)) - end - ), - gleam@expect:equal(HeadToString([1]), <<"1">>), - gleam@expect:equal(HeadToString([]), <<"0">>). |