0cc0cb5cfb 
					 
					
						
						
							
							conlang: Remove "Identifier" node  
						
						... 
						
						
						
						It never carried any extra information, and got in the way everywhere it was used. 
						
						
					 
					
						2024-05-19 14:41:31 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f330a7eaa5 
					 
					
						
						
							
							conlang: Split assignment into plain Assign and assign-with-Modify  
						
						
						
						
					 
					
						2024-05-19 14:31:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8d8928b8a8 
					 
					
						
						
							
							conlang: Struct, tuple member accesses, member function call syntax  
						
						... 
						
						
						
						Currently uses UFCS in the interpreter. This may change after type checking? 
						
						
					 
					
						2024-05-19 13:55:28 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a033e9f33b 
					 
					
						
						
							
							conlang: Enable opt-level 1 in dev profile  
						
						
						
						
					 
					
						2024-05-16 15:07:54 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						be81221895 
					 
					
						
						
							
							cl-typeck: Move type inference utils into own module  
						
						
						
						
					 
					
						2024-05-16 15:06:59 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c9266d971f 
					 
					
						
						
							
							cl-typeck: Insert impls into target type's namespace  
						
						... 
						
						
						
						TODO: Process imports like this lazily 
						
						
					 
					
						2024-05-07 13:59:45 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f76756e0e4 
					 
					
						
						
							
							num.cl: Implement "overloaded" operator functions  
						
						... 
						
						
						
						- These implementations, like the types themselves, are/will be compiler-intrinsic. This allows the definitions of these functions to be (apparently) infinitely recursive.
- TODO: Implement these. 
						
						
					 
					
						2024-05-07 13:32:58 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a89f45aa58 
					 
					
						
						
							
							cl-typeck: Add isize/usize primitives  
						
						
						
						
					 
					
						2024-05-04 23:07:57 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d2eb165759 
					 
					
						
						
							
							cl-arena: Add iterator allocation to TypedArena  
						
						... 
						
						
						
						This is copied almost verbatim from rustc-arena e82c861d7e/compiler/rustc_arena/src/lib.rs (L203) 
						
						
					 
					
						2024-05-04 22:17:34 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						edf175e53b 
					 
					
						
						
							
							cl-typeck: Add utilities for HM-style type inference via unification  
						
						
						
						
					 
					
						2024-05-04 22:12:33 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6aea23c8ba 
					 
					
						
						
							
							cl-ast/desugar: Turn all paths into absolute paths  
						
						
						
						
					 
					
						2024-04-29 16:25:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						db0b791b24 
					 
					
						
						
							
							cl-ast: Fix pretty-printing for use items  
						
						
						
						
					 
					
						2024-04-29 16:19:52 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7c73fd335c 
					 
					
						
						
							
							cl-typeck: Store def metadata in a Node  
						
						... 
						
						
						
						I'm not overly proud of this code, but it currently works. Will refactor later. 
						
						
					 
					
						2024-04-29 15:40:30 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3fe5916a4f 
					 
					
						
						
							
							cl-ast: Switch from old string interner to new string interner  
						
						... 
						
						
						
						Update cl-parser, et. al. to match. 
						
						
					 
					
						2024-04-27 20:24:11 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						83423f37be 
					 
					
						
						
							
							cl-arena: Make arena constructors const fn  
						
						
						
						
					 
					
						2024-04-27 16:52:20 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ecf97801d6 
					 
					
						
						
							
							cl-typeck: Use helper functions on module to insert into the various namespaces  
						
						
						
						
					 
					
						2024-04-27 16:10:22 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						71745161c4 
					 
					
						
						
							
							sample-code: Add example "module-hell.cl" demonstrating inter-module imports and path resolution  
						
						
						
						
					 
					
						2024-04-27 16:08:26 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9566f098ac 
					 
					
						
						
							
							cl-typeck: Remove NameCollectable trait, use NameCollector instead :D  
						
						
						
						
					 
					
						2024-04-27 16:05:40 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b9085551e1 
					 
					
						
						
							
							cl-typeck: Reimplement NameCollectable in terms of an AST visitor  
						
						
						
						
					 
					
						2024-04-27 15:51:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a877c0d726 
					 
					
						
						
							
							cl-arena: Add arena allocator implementation based HEAVILY on rustc-arena  
						
						... 
						
						
						
						It seems to pass the most basic of tests in miri (shame it needs the unstable `strict_provenance` feature to do so, but eh.) 
						
						
					 
					
						2024-04-26 00:02:50 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e49b171bea 
					 
					
						
						
							
							Rename DefItem/DefSource/DefSorcerer to better reflect their meaning  
						
						
						
						
					 
					
						2024-04-25 16:07:26 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						901e9d1d5b 
					 
					
						
						
							
							cl-typeck: Remove nightly-only debug_closure_helpers  
						
						
						
						
					 
					
						2024-04-25 15:55:32 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aa3f357fca 
					 
					
						
						
							
							conlang: Misc. doc fixes  
						
						
						
						
					 
					
						2024-04-24 20:05:55 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8453b092f1 
					 
					
						
						
							
							cl-typeck: Fix list in doc comment getting mistaken for a doctest  
						
						
						
						
					 
					
						2024-04-24 16:50:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						42307d2ab4 
					 
					
						
						
							
							cl-typeck: Sketch out a new way to store definition metadata  
						
						
						
						
					 
					
						2024-04-22 23:17:50 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b74c4cd5bf 
					 
					
						
						
							
							cl-parser: Forego RAII scopeguard finalization pattern in impl Fold for ModuleInliner  
						
						... 
						
						
						
						We have an outer function *right there* to do cleanup for us. 
						
						
					 
					
						2024-04-22 21:43:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0c518b47e6 
					 
					
						
						
							
							cl-ast: Give Path some inherent methods  
						
						
						
						
					 
					
						2024-04-22 21:04:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						169f61144b 
					 
					
						
						
							
							cl-ast: Fix typo in ast_impl::convert impl From<AsRef<str>> for PathPart  
						
						
						
						
					 
					
						2024-04-22 20:52:12 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a3a87e0b67 
					 
					
						
						
							
							test.cl: Fix moved i32 to module ::num  
						
						
						
						
					 
					
						2024-04-22 15:47:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ed9b73a1a3 
					 
					
						
						
							
							repline: Remove default-features from crossterm, since we don't use the event API  
						
						
						
						
					 
					
						2024-04-22 02:18:57 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b11543396 
					 
					
						
						
							
							Update readme.md  
						
						
						
						
					 
					
						2024-04-22 02:06:46 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ed8481489 
					 
					
						
						
							
							cl-repl: Switch from argh to argwerk  
						
						
						
						
					 
					
						2024-04-22 02:03:04 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a3bb1ef447 
					 
					
						
						
							
							stdlib: fix errant let in test.cl  
						
						
						
						
					 
					
						2024-04-22 02:02:25 -05:00