| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | src/ataxic.erl | 12 | ||||
| -rw-r--r-- | src/ataxic_sugar.erl | 10 | 
2 files changed, 17 insertions, 5 deletions
| diff --git a/src/ataxic.erl b/src/ataxic.erl index 92c11b1..4a1bd8b 100644 --- a/src/ataxic.erl +++ b/src/ataxic.erl @@ -183,7 +183,15 @@ optimize_update_field_sequence (UnsortedOPs, CurrentResults) ->     {FieldUpdates, PotentiallyImportantOPs} =        lists:splitwith(fun (E) -> is_record(E, upfield) end, UnsortedOPs), -   SortedFieldUpdates = lists:sort(fun (E) -> E#upfield.ix end, FieldUpdates), +   SortedFieldUpdates = +      lists:sort +      ( +         fun (A, B) -> +            ((A#upfield.ix) =< (B#upfield.ix)) +         end, +         FieldUpdates +      ), +     {LastIX, LastUpdateOPs, OtherMergedFieldUpdates} =        lists:foldl        ( @@ -247,7 +255,7 @@ optimize_update_field_sequence (UnsortedOPs, CurrentResults) ->        (CurrentResults ++ MergedFieldUpdates ++ ImportantOPs)     ). --spec flatten_sequence (list(basic())) -> basic(). +-spec flatten_sequence (list(basic())) -> list(basic()).  flatten_sequence (OPs) ->     lists:foldl     ( diff --git a/src/ataxic_sugar.erl b/src/ataxic_sugar.erl index eb0ef57..3098196 100644 --- a/src/ataxic_sugar.erl +++ b/src/ataxic_sugar.erl @@ -86,10 +86,14 @@ update_orddict_element (IX, OP) ->  -spec nop () -> ataxic:basic().  nop () -> ataxic:sequence([]). --spec update_ordset (ordsets:ordset(), ordsets:ordeset()) -> ataxic:basic(). +-spec update_ordset +   ( +      ordsets:ordset(any()), +      ordsets:ordset(any()) +   ) -> ataxic:basic().  update_ordset (Old, New) -> -   Remove = ordsets:substract(Old, New), -   Add = ordsets:substract(New, Old), +   Remove = ordsets:subtract(Old, New), +   Add = ordsets:subtract(New, Old),     ataxic:sequence     ( | 


