| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | src/ataxic_sugar.erl | 39 | 
1 files changed, 38 insertions, 1 deletions
| diff --git a/src/ataxic_sugar.erl b/src/ataxic_sugar.erl index fac4f5c..556e08a 100644 --- a/src/ataxic_sugar.erl +++ b/src/ataxic_sugar.erl @@ -10,7 +10,9 @@  -export  (     [ -      update_array_cell/2 +      update_array_cell/2, +      update_orddict_element/2, +      nop/0     ]  ). @@ -47,3 +49,38 @@ update_array_cell (IX, OP) ->           ataxic:current_value()        ]     ). + +-spec update_orddict_element +   ( +      non_neg_integer(), +      ataxic:basic() +   ) +   -> ataxic:basic(). +update_orddict_element (IX, OP) -> +   ataxic:apply_function +   ( +      orddict, +      store, +      [ +         ataxic:constant(IX), +         ataxic:sequence +         ( +            [ +               ataxic:apply_function +               ( +                  orddict, +                  fetch, +                  [ +                     ataxic:constant(IX), +                     ataxic:current_value() +                  ] +               ), +               OP +            ] +         ), +         ataxic:current_value() +      ] +   ). + +-spec nop () -> ataxic:basic(). +nop () -> ataxic:sequence([]). | 


