Implement hope_list:map_slow/2 1.6.0
authorSiraaj Khandkar <siraaj@khandkar.net>
Sun, 21 Dec 2014 08:25:00 +0000 (03:25 -0500)
committerSiraaj Khandkar <siraaj@khandkar.net>
Sun, 21 Dec 2014 08:27:28 +0000 (03:27 -0500)
Which calls lists:reverse/1 on the result of hope_list:map_rev/2

src/hope.app.src
src/hope_list.erl
test/hope_list_SUITE.erl

index eb6f442..64cce31 100644 (file)
@@ -1,7 +1,7 @@
 {application, hope,
  [
   {description, "Higher Order Programming in Erlang"},
-  {vsn, "1.5.0"},
+  {vsn, "1.6.0"},
   {registered, []},
   {applications, [
                   kernel,
index b93ad2d..aba9944 100644 (file)
@@ -7,6 +7,7 @@
 -export(
     [ unique_preserve_order/1
     , map_rev/2
+    , map_slow/2
     ]).
 
 
     [A].
 
 
+%% @doc lists:reverse(map_rev(L, F))
+%% @end
+-spec map_slow([A], fun((A) -> (B))) ->
+    [B].
+map_slow(Xs, F) ->
+    lists:reverse(map_rev(Xs, F)).
+
+
 %% @doc O(N), tail-recursive equivalent to lists:rev(lists:map(F, L))
 %% @end
 -spec map_rev([A], fun((A) -> (B))) ->
index f591e83..38d406a 100644 (file)
@@ -13,6 +13,7 @@
     [ t_unique_preserve_order/1
     , t_hope_list_specs/1
     , t_map_rev/1
+    , t_map_slow/1
     ]).
 
 
@@ -33,6 +34,7 @@ groups() ->
         [ t_unique_preserve_order
         , t_hope_list_specs
         , t_map_rev
+        , t_map_slow
         ],
     Properties = [parallel],
     [{?GROUP, Properties, Tests}].
@@ -47,6 +49,11 @@ t_map_rev(_Cfg) ->
     [4, 3, 2] = hope_list:map_rev([1, 2, 3], F),
     []        = hope_list:map_rev([], F).
 
+t_map_slow(_Cfg) ->
+    F = fun (N) -> N + 1 end,
+    [2, 3, 4] = hope_list:map_slow([1, 2, 3], F),
+    []        = hope_list:map_slow([], F).
+
 t_unique_preserve_order(_Cfg) ->
     ?PROPTEST(prop_unique_preserve_order).
 
This page took 0.020725 seconds and 4 git commands to generate.