| 
									
										
										
										
											2009-04-24 21:43:01 -04:00
										 |  |  | ! Copyright (C) 2009 Slava Pestov. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							| 
									
										
										
										
											2009-04-30 04:37:07 -04:00
										 |  |  | USING: accessors definitions generic generic.single | 
					
						
							|  |  |  | generic.single.private kernel namespaces words kernel.private | 
					
						
							|  |  |  | quotations sequences ;
 | 
					
						
							| 
									
										
										
										
											2009-04-24 21:43:01 -04:00
										 |  |  | IN: generic.hook | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TUPLE: hook-combination < single-combination var ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C: <hook-combination> hook-combination | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PREDICATE: hook-generic < generic | 
					
						
							|  |  |  |     "combination" word-prop hook-combination? ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: hook-combination picker | 
					
						
							|  |  |  |     combination get var>> [ get ] curry ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: hook-combination dispatch# drop 0 ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-30 04:37:07 -04:00
										 |  |  | M: hook-combination mega-cache-quot | 
					
						
							|  |  |  |     1quotation picker [ lookup-method (execute) ] surround ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-24 21:43:01 -04:00
										 |  |  | M: hook-generic definer drop \ HOOK: f ;
 | 
					
						
							| 
									
										
										
										
											2009-04-25 20:41:27 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: hook-generic effective-method | 
					
						
							| 
									
										
										
										
											2009-09-21 18:42:20 -04:00
										 |  |  |     [ "combination" word-prop var>> get ] keep method-for-object ;
 |