tools.crossref: switch to using identity hash-sets.
							parent
							
								
									3862c4f9b5
								
							
						
					
					
						commit
						cb622f4d85
					
				|  | @ -1,10 +1,10 @@ | ||||||
| ! Copyright (C) 2005, 2010 Slava Pestov. | ! Copyright (C) 2005, 2010 Slava Pestov. | ||||||
| ! See http://factorcode.org/license.txt for BSD license. | ! See http://factorcode.org/license.txt for BSD license. | ||||||
| USING: accessors arrays assocs bootstrap.image.private | USING: accessors arrays assocs combinators.smart compiler.units | ||||||
| combinators.smart compiler.units generic generic.single graphs | generic generic.single graphs hash-sets.identity hashtables help | ||||||
| hashtables help help.crossref help.markup help.topics init io | help.crossref help.markup help.topics init io io.pathnames | ||||||
| io.pathnames io.styles kernel namespaces quotations see | io.styles kernel namespaces quotations see sequences sets | ||||||
| sequences sets sorting source-files threads vocabs words ; | sorting source-files threads vocabs words ; | ||||||
| IN: tools.crossref | IN: tools.crossref | ||||||
| 
 | 
 | ||||||
| SYMBOL: crossref | SYMBOL: crossref | ||||||
|  | @ -22,12 +22,12 @@ M: object quot-uses 2drop ; | ||||||
| M: word quot-uses over crossref? [ adjoin ] [ 2drop ] if ; | M: word quot-uses over crossref? [ adjoin ] [ 2drop ] if ; | ||||||
| 
 | 
 | ||||||
| : seq-uses ( seq set -- ) | : seq-uses ( seq set -- ) | ||||||
|     over <eq-wrapper> visited get ?adjoin [ |     over visited get ?adjoin [ | ||||||
|         [ quot-uses ] curry each |         [ quot-uses ] curry each | ||||||
|     ] [ 2drop ] if ; inline |     ] [ 2drop ] if ; inline | ||||||
| 
 | 
 | ||||||
| : assoc-uses ( assoc' set -- ) | : assoc-uses ( assoc' set -- ) | ||||||
|     over <eq-wrapper> visited get ?adjoin [ |     over visited get ?adjoin [ | ||||||
|         [ quot-uses ] curry [ bi@ ] curry assoc-each |         [ quot-uses ] curry [ bi@ ] curry assoc-each | ||||||
|     ] [ 2drop ] if ; inline |     ] [ 2drop ] if ; inline | ||||||
| 
 | 
 | ||||||
|  | @ -40,7 +40,7 @@ M: callable quot-uses seq-uses ; | ||||||
| M: wrapper quot-uses [ wrapped>> ] dip quot-uses ; | M: wrapper quot-uses [ wrapped>> ] dip quot-uses ; | ||||||
| 
 | 
 | ||||||
| M: callable uses ( quot -- seq ) | M: callable uses ( quot -- seq ) | ||||||
|     HS{ } clone visited [ |     IHS{ } clone visited [ | ||||||
|         HS{ } clone [ quot-uses ] keep members |         HS{ } clone [ quot-uses ] keep members | ||||||
|     ] with-variable ; |     ] with-variable ; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue