e5a51ba6c2 
					 
					
						
						
							
							cl-structures: add to_ref associated function on Interned type, for non-borrowing conversion  
						
						 
						
						
						
						
					 
					
						2025-01-16 21:01:28 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						883fd31d38 
					 
					
						
						
							
							conlang: Elide lifetimes (fixes clippy lint)  
						
						 
						
						
						
						
					 
					
						2025-01-16 20:57:33 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d71276b477 
					 
					
						
						
							
							cl-structures: Update error type in unstable get_many_mut feature for IndexMap  
						
						 
						
						
						
						
					 
					
						2025-01-16 20:32:09 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d8e32ee263 
					 
					
						
						
							
							cl-arena: promote to its own independent repository  
						
						 
						
						
						
						
					 
					
						2025-01-16 20:30:23 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						99a00875a8 
					 
					
						
						
							
							cl-intern: Derive Default for StringInterner and TypedInterner  
						
						 
						
						
						
						
					 
					
						2024-08-24 18:18:22 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5662bd8524 
					 
					
						
						
							
							cl-structures: (ab)use the Display trait to print a numbered, sorted list of interned strings.  
						
						 
						
						
						
						
					 
					
						2024-07-29 15:55:12 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						58c5a01312 
					 
					
						
						
							
							cl-structures: Clean up IndexMap and fix doctests  
						
						 
						
						
						
						
					 
					
						2024-07-10 14:56:17 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c16dbca55c 
					 
					
						
						
							
							cl-structures: Remove #[feature(inline_const)], stabilized in Rust 1.79  
						
						 
						
						
						
						
					 
					
						2024-06-22 01:59:01 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1c3a56f5b5 
					 
					
						
						
							
							misc: Fix broken doc links, remove "pool" from index_map.rs  
						
						 
						
						
						
						
					 
					
						2024-05-19 15:32:57 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e0f54aea97 
					 
					
						
						
							
							cl-structures: Mention IndexMap and MapIndex in the top level doc comment  
						
						 
						
						
						
						
					 
					
						2024-05-19 15:12:54 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fa8a71addc 
					 
					
						
						
							
							cl_structures: Rename deprecated_intern_pool to the more correct name "IndexMap"  
						
						 
						
						... 
						
						
						
						Also, reverse the order of generic args, to make them consistent with other map collections 
						
						
					 
					
						2024-05-19 14:51:14 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						33b7cd3971 
					 
					
						
						
							
							cl-structures: Do not #[derive(Eq)] for Interned<T>  
						
						 
						
						... 
						
						
						
						Derive places Eq bound on T, which is not true of Interned<T> 
						
						
					 
					
						2024-05-16 15:04:37 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d7ce33e457 
					 
					
						
						
							
							cl-arena: Allow the arena to hold its own lifetime.  
						
						 
						
						... 
						
						
						
						cl-structures: Stick some arenas inside the interners, rather than taking a reference. 
						
						
					 
					
						2024-04-28 02:01:52 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0d937728ed 
					 
					
						
						
							
							cl-structures: Mention new structures in the top-module blurb  
						
						 
						
						
						
						
					 
					
						2024-04-27 21:15:45 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a8ef989084 
					 
					
						
						
							
							cl-structures/stack: only drop if T needs drop  
						
						 
						
						
						
						
					 
					
						2024-04-27 21:08:09 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e7c5a02afa 
					 
					
						
						
							
							cl-structures: Fully remove unused arenas v2 sources  
						
						 
						
						
						
						
					 
					
						2024-04-27 20:36:03 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						12046fa9f7 
					 
					
						
						
							
							cl-structures/intern: Fix doc comment  
						
						 
						
						
						
						
					 
					
						2024-04-27 20:26:45 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fb7de717d0 
					 
					
						
						
							
							cl-structures: Remove arena.rs and hashbrown dependency  
						
						 
						
						
						
						
					 
					
						2024-04-27 20:24:42 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2c57f848ea 
					 
					
						
						
							
							cl-structures: Fix doctest in deprecated_intern_pool  
						
						 
						
						
						
						
					 
					
						2024-04-27 20:19:46 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						81cf05cc69 
					 
					
						
						
							
							cl-structures: Interning v3: ACTUALLY DO THE THING  
						
						 
						
						... 
						
						
						
						Here we have *real* interning, producing unique references if and only if the input is unique! Boy am I glad I invested time into this, because it's really fun to work with.
Hopefully my logic regarding Send-ness and Sync-ness aren't completely unsound. 
						
						
					 
					
						2024-04-27 20:16:36 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						893b716c86 
					 
					
						
						
							
							cl-structures: Rename the deprecated "intern pool" (lmao)  
						
						 
						
						... 
						
						
						
						Don't deprecate it yet, though, we've got more stuff yet. 
						
						
					 
					
						2024-04-25 23:53:44 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d4432cda7a 
					 
					
						
						
							
							cl-structures: Give the StringArena a new home.  
						
						 
						
						
						
						
					 
					
						2024-04-24 19:52:56 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						40ec9b30e4 
					 
					
						
						
							
							conlang: Use interned strings (Sym) for all symbols  
						
						 
						
						
						
						
					 
					
						2024-04-24 19:34:29 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ede00c3c86 
					 
					
						
						
							
							cl-structures: Cleanup for GlobalSym  
						
						 
						
						
						
						
					 
					
						2024-04-24 18:11:21 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						be604b7b45 
					 
					
						
						
							
							cl-structures: Use hashbrown's hash table implementation for deduplication.  
						
						 
						
						
						
						
					 
					
						2024-04-24 17:43:02 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e70ffd1895 
					 
					
						
						
							
							cl-structures: Global (ew!) and local string interning!  
						
						 
						
						... 
						
						
						
						- StringArena provides an arena for immutable strings, inspired by other string interners, and keeps track of the ends of every allocated string. Strings inserted into the arena are assigned a Symbol.
- intern::Interner keeps track of the hashes of each inserted string, and provides deduplication for interned strings. This allows referential comparison between interned strings
- global_intern::GlobalSym provides metered access to a Global Interner, and has a Display implementation which queries the Interner.
The global interner is planned for use in cl-ast.
TODO: the unstable raw_entry API is about to be removed from Rust. Maybe switch to hashbrown, or write my own hash table? 
						
						
					 
					
						2024-04-24 17:11:41 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f24bd10c53 
					 
					
						
						
							
							cl-structures: intern_pool isn't unsafe  
						
						 
						
						... 
						
						
						
						Nor is it an intern pool, it's more of an unstable typed arena. Ah well. 
						
						
					 
					
						2024-04-24 17:00:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						45d75bb552 
					 
					
						
						
							
							cl-structures: Make Span and Loc functions const (now you can make a const Span!)  
						
						 
						
						
						
						
					 
					
						2024-04-22 21:44:12 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f483d690e2 
					 
					
						
						
							
							Revert "Cargo.toml: Add documentation key"  
						
						 
						
						... 
						
						
						
						This reverts commit 087969e117 . 
						
						
					 
					
						2024-04-22 00:07:44 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						087969e117 
					 
					
						
						
							
							Cargo.toml: Add documentation key  
						
						 
						
						
						
						
					 
					
						2024-04-21 23:49:24 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ef190f2d66 
					 
					
						
						
							
							cl-structures: Add get_many_mut implementation for Pool (currently delegates to unstable std)  
						
						 
						
						
						
						
					 
					
						2024-04-21 22:32:47 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						90a3818ca0 
					 
					
						
						
							
							conlang: Move all cl-libs into the compiler directory  
						
						 
						
						
						
						
					 
					
						2024-04-19 07:39:23 -05:00