16 lines
		
	
	
		
			409 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			409 B
		
	
	
	
		
			Factor
		
	
	
! Based on Clojure's PersistentHashMap by Rich Hickey.
 | 
						|
 | 
						|
USING: accessors kernel locals persistent.hashtables.nodes ;
 | 
						|
IN: persistent.hashtables.nodes.empty
 | 
						|
 | 
						|
M: empty-node (entry-at) 3drop f ;
 | 
						|
 | 
						|
M: empty-node (pluck-at) 2nip ;
 | 
						|
 | 
						|
M:: empty-node (new-at) ( shift value key hashcode node -- node' added-leaf )
 | 
						|
    value key hashcode <leaf-node> dup ;
 | 
						|
 | 
						|
M: empty-node >alist% drop ;
 | 
						|
 | 
						|
M: empty-node hashcode>> drop 0 ;
 |