14 lines
		
	
	
		
			558 B
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			14 lines
		
	
	
		
			558 B
		
	
	
	
		
			Factor
		
	
	
| 
								 | 
							
								USING: assocs io.pathnames fry namespaces namespaces.private kernel sequences parser hashtables ;
							 | 
						||
| 
								 | 
							
								IN: closures
							 | 
						||
| 
								 | 
							
								SYMBOL: |
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								! Selective Binding
							 | 
						||
| 
								 | 
							
								: delayed-bind-with ( vars quot -- quot' ) '[ _ dup [ get ] map zip >hashtable [ _ bind ] curry ] ;
							 | 
						||
| 
								 | 
							
								SYNTAX: C[ | parse-until parse-quotation delayed-bind-with append! ;
							 | 
						||
| 
								 | 
							
								! Common ones
							 | 
						||
| 
								 | 
							
								SYNTAX: DIR[ parse-quotation { current-directory } swap delayed-bind-with append! ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								! Namespace Binding
							 | 
						||
| 
								 | 
							
								: bind-to-namespace ( quot -- quot' ) '[ namespace [ _ bind ] curry ] ;
							 | 
						||
| 
								 | 
							
								SYNTAX: NS[ parse-quotation bind-to-namespace append! ;
							 |