]> gitweb.factorcode.org Git - factor.git/blobdiff - core/assocs/assocs.factor
Merge branch 'master' into global_optimization
[factor.git] / core / assocs / assocs.factor
index d655b99c3045ca16bbea780c8050e4583bf0c14a..62ab9f86ae9711f2285deaad9df9128680cd558c 100755 (executable)
@@ -22,6 +22,9 @@ M: assoc assoc-like drop ;
 : ?at ( key assoc -- value/key ? )
     2dup at* [ 2nip t ] [ 2drop f ] if ; inline
 
+: maybe-set-at ( value key assoc -- changed? )
+    3dup at* [ = [ 3drop f ] [ set-at t ] if ] [ 2drop set-at t ] if ;
+
 <PRIVATE
 
 : (assoc-each) ( assoc quot -- seq quot' )