fixed recursive compiler errors
							parent
							
								
									33d99b6076
								
							
						
					
					
						commit
						3ef4784a63
					
				| 
						 | 
					@ -21,16 +21,14 @@ DEFER: mdb-persistent?
 | 
				
			||||||
: tuple-instance ( tuple-info -- instance )
 | 
					: tuple-instance ( tuple-info -- instance )
 | 
				
			||||||
    mdbinfo>tuple-class new ; inline 
 | 
					    mdbinfo>tuple-class new ; inline 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: [keys>tuple] ( mirror assoc -- quot: ( elt -- ) )
 | 
					 | 
				
			||||||
   '[ dup _ at assoc>tuple swap _ set-at ] ;  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
: prepare-assoc>tuple ( assoc -- tuple keylist mirror assoc )
 | 
					: prepare-assoc>tuple ( assoc -- tuple keylist mirror assoc )
 | 
				
			||||||
   [ tuple-info tuple-instance dup
 | 
					   [ tuple-info tuple-instance dup
 | 
				
			||||||
     <mirror> [ keys ] keep ] keep swap ; inline
 | 
					     <mirror> [ keys ] keep ] keep swap ; inline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: make-tuple ( assoc -- tuple )
 | 
					: make-tuple ( assoc -- tuple )
 | 
				
			||||||
   prepare-assoc>tuple [keys>tuple] each
 | 
					   prepare-assoc>tuple
 | 
				
			||||||
   [ set-persistent ] keep ; inline 
 | 
					   '[ dup _ at assoc>tuple swap _ set-at ] each
 | 
				
			||||||
 | 
					   [ set-persistent ] keep ; inline recursive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: at+ ( value key assoc -- value )
 | 
					: at+ ( value key assoc -- value )
 | 
				
			||||||
    2dup key?
 | 
					    2dup key?
 | 
				
			||||||
| 
						 | 
					@ -88,5 +86,5 @@ M: tuple tuple>selector ( tuple -- assoc )
 | 
				
			||||||
    [ [ dup tuple-info?
 | 
					    [ [ dup tuple-info?
 | 
				
			||||||
        [ make-tuple ]
 | 
					        [ make-tuple ]
 | 
				
			||||||
        [ ] if ] [ drop ] recover
 | 
					        [ ] if ] [ drop ] recover
 | 
				
			||||||
    ] [ ] if ; inline
 | 
					    ] [ ] if ; inline recursive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue