summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:24:30 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:24:30 +0100
commite2fbb6b493cc8a244bb70bd0522a327030b1d7ec (patch)
tree24ffe148a4dc51521b5d0c38bfdbb62bcc03e351 /src
parente05aff60d8c7e6b7bcb270d402305000cdf0ac8e (diff)
...
Diffstat (limited to 'src')
-rw-r--r--src/ataxic_sugar.erl39
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([]).