classes: finish converting update-map to use hash-sets.
							parent
							
								
									f84df9d190
								
							
						
					
					
						commit
						af29a16aeb
					
				| 
						 | 
				
			
			@ -3,7 +3,6 @@
 | 
			
		|||
USING: accessors assocs combinators definitions kernel
 | 
			
		||||
make namespaces quotations sequences sets words words.symbol ;
 | 
			
		||||
FROM: namespaces => set ;
 | 
			
		||||
FROM: graphs => add-vertex remove-vertex ;
 | 
			
		||||
QUALIFIED: sets
 | 
			
		||||
IN: classes
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +130,8 @@ GENERIC: implementors ( class/classes -- seq )
 | 
			
		|||
        tri
 | 
			
		||||
    ] { } make ;
 | 
			
		||||
 | 
			
		||||
: class-usage ( class -- seq ) update-map get at keys ;
 | 
			
		||||
: class-usage ( class -- seq )
 | 
			
		||||
    update-map get at sets:members ;
 | 
			
		||||
 | 
			
		||||
<PRIVATE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -155,10 +155,12 @@ M: sequence implementors [ implementors ] gather ;
 | 
			
		|||
<PRIVATE
 | 
			
		||||
 | 
			
		||||
: update-map+ ( class -- )
 | 
			
		||||
    dup class-uses update-map get add-vertex ;
 | 
			
		||||
    dup class-uses update-map get
 | 
			
		||||
    [ adjoin-at ] curry with each ;
 | 
			
		||||
 | 
			
		||||
: update-map- ( class -- )
 | 
			
		||||
    dup class-uses update-map get remove-vertex ;
 | 
			
		||||
    dup class-uses update-map get
 | 
			
		||||
    [ at delete ] curry with each ;
 | 
			
		||||
 | 
			
		||||
: implementors-map+ ( class -- )
 | 
			
		||||
    [ HS{ } clone ] dip implementors-map get set-at ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue