]> gitweb.factorcode.org Git - factor.git/blob - basis/persistent/assocs/assocs.factor
Switch to https urls
[factor.git] / basis / persistent / assocs / assocs.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: kernel assocs ;
4 IN: persistent.assocs
5
6 GENERIC: new-at ( value key assoc -- assoc' )
7
8 M: assoc new-at clone [ set-at ] keep ;
9
10 GENERIC: pluck-at ( key assoc -- assoc' )
11
12 M: assoc pluck-at clone [ delete-at ] keep ;
13
14 : changed-at ( key assoc quot -- assoc' )
15     [ [ at ] dip call ] [ drop new-at ] 3bi ; inline
16
17 : conjoined ( key assoc -- assoc' )
18     dupd new-at ;