factor/basis/persistent/assocs/assocs.factor

19 lines
465 B
Factor
Raw Normal View History

2008-08-06 02:06:14 -04:00
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel assocs ;
IN: persistent.assocs
2008-08-06 06:35:01 -04:00
GENERIC: new-at ( value key assoc -- assoc' )
2008-08-06 02:06:14 -04:00
M: assoc new-at clone [ set-at ] keep ;
2008-08-06 06:35:01 -04:00
GENERIC: pluck-at ( key assoc -- assoc' )
2008-08-06 02:06:14 -04:00
M: assoc pluck-at clone [ delete-at ] keep ;
2008-08-06 06:35:01 -04:00
: changed-at ( key assoc quot -- assoc' )
[ [ at ] dip call ] [ drop new-at ] 3bi ; inline
: conjoined ( key assoc -- assoc' )
dupd new-at ;