09fdb14d79 
					 
					
						
						
							
							cl-typeck: Progress population and categorization  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:54:33 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4228324ab3 
					 
					
						
						
							
							cl-typeck: With super semantics redone, search within self for items  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:20:40 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f5f905cd70 
					 
					
						
						
							
							cl-ast: more generic impls for weight_of  
						
						 
						
						... 
						
						
						
						TODO: get rid of weight_of 
						
						
					 
					
						2025-05-05 04:19:23 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						883387aaf1 
					 
					
						
						
							
							yaml: formatting  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:18:49 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d706ff582 
					 
					
						
						
							
							desugar: Add primitive constant folding  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:18:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cd2e3c3e32 
					 
					
						
						
							
							cl-parser: change match parse slightly  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:16:37 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8c23aea4af 
					 
					
						
						
							
							to_c: oops  
						
						 
						
						
						
						
					 
					
						2025-05-05 04:14:30 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d6c0a6cf1b 
					 
					
						
						
							
							cl-ast: Allow c-like enums to take an expr  
						
						 
						
						
						
						
					 
					
						2025-05-05 02:22:50 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fc80be5fcc 
					 
					
						
						
							
							conlang: Remove "self" keyword  
						
						 
						
						
						
						
					 
					
						2025-05-05 02:20:47 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7c2dd1468b 
					 
					
						
						
							
							cl-ast: Finally figure out how visit and walk are supposed to work  
						
						 
						
						
						
						
					 
					
						2025-05-05 00:24:52 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8ff17fd475 
					 
					
						
						
							
							cl-ast: Add syntax support for generics  
						
						 
						
						
						
						
					 
					
						2025-04-22 07:22:44 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						681fbc88d3 
					 
					
						
						
							
							cl-typeck: More type inference  
						
						 
						
						... 
						
						
						
						- Renamed "intrinsic" -> "primitive"
  - I thought it was funny, but it's just annoying.
- Rename "Uninferred" -> "Inferred"
  - It's a concrete type, but an inferred one.
- Add lifetimes to the Entry API
- Categorize does not care about recursive types. You can't have a recursive AST.
- Added helpful constructors to the inference engine
- Added some overloadable operators to the inference engine
  - These are a MAJOR work in progress
- Reorganized the Inference implementation file by functionality.
stdlib:
- Updated standard library. 
						
						
					 
					
						2025-04-22 06:33:57 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7cf485fade 
					 
					
						
						
							
							cl-typeck/infer: Fix some inference errors  
						
						 
						
						... 
						
						
						
						yay yippee type checking and inference woohoo
i am very tired 
						
						
					 
					
						2025-04-21 05:37:34 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3b96833fcb 
					 
					
						
						
							
							cl-typeck: Early type inference for let  
						
						 
						
						
						
						
					 
					
						2025-04-21 04:52:59 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						65b75f95ce 
					 
					
						
						
							
							cl-repl: Oops, add dependencies.  
						
						 
						
						
						
						
					 
					
						2025-04-21 04:27:17 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4c4b49ce00 
					 
					
						
						
							
							cl-typeck: Implement a framework for type inference  
						
						 
						
						... 
						
						
						
						...And also implement a bunch of the inference rules, too. 
						
						
					 
					
						2025-04-21 04:26:07 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7ba808594c 
					 
					
						
						
							
							cl-ast: Cleanup  
						
						 
						
						... 
						
						
						
						- Function bind is now one Pattern
- TyRef now allows &Ty (i.e. &[i32], &(char, bool)
- Range patterns (they cannot bind, only check whether a value is in range
- ArrayRep repeat has been reverted to usize, for now, until early consteval is implemented. 
						
						
					 
					
						2025-04-21 04:17:45 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ef92d8b798 
					 
					
						
						
							
							examples: Adapt examples/yaml to a broken C generator! woo!  
						
						 
						
						
						
						
					 
					
						2025-04-16 04:13:39 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8c8f1254e0 
					 
					
						
						
							
							examples/yaml: Remove unnecessary uses of todo!()  
						
						 
						
						
						
						
					 
					
						2025-04-16 04:13:04 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						82e62ab4ac 
					 
					
						
						
							
							cl-parser: Dereference first(?)  
						
						 
						
						
						
						
					 
					
						2025-04-15 23:44:56 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b09a610c6c 
					 
					
						
						
							
							interpreter: Include location in error type  
						
						 
						
						
						
						
					 
					
						2025-04-15 23:42:21 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fa5244dcf9 
					 
					
						
						
							
							cl-interpret: References, part 3  
						
						 
						
						... 
						
						
						
						MODS ARE ASLEEP
POST FAT BEAGLE 
						
						
					 
					
						2025-03-14 08:33:46 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9b460afed4 
					 
					
						
						
							
							cl-interpret/pattern: Fail on mismatch again  
						
						 
						
						
						
						
					 
					
						2025-03-14 07:00:10 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						27d1d07ed8 
					 
					
						
						
							
							conlang: Update to Rust Edition 2024  
						
						 
						
						
						
						
					 
					
						2025-03-14 06:09:39 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c988193049 
					 
					
						
						
							
							cl-structures/stack: constify all (most of) the things!  
						
						 
						
						
						
						
					 
					
						2025-03-14 06:07:48 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2ecb2efc09 
					 
					
						
						
							
							cl-structures: IndexMap::get_disjoint_mut to match Rust 1.86  🎉  
						
						 
						
						
						
						
					 
					
						2025-03-14 04:35:47 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a4176c710e 
					 
					
						
						
							
							cl-ast: Add filename to File  
						
						 
						
						... 
						
						
						
						- Better error reporting
- Better pizza
- Papa Cow's 
						
						
					 
					
						2025-03-14 04:11:22 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cdb9ec49fe 
					 
					
						
						
							
							cl-ast: Estimate the "weight" of an AST, for debugging?  
						
						 
						
						
						
						
					 
					
						2025-03-14 04:02:14 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6d33c4baa9 
					 
					
						
						
							
							cl-ast: Break ast-impl into submodules  
						
						 
						
						
						
						
					 
					
						2025-03-14 03:58:40 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						33e13425a9 
					 
					
						
						
							
							cl-ast: Clean up "to", "extents", Module."kind"  
						
						 
						
						
						
						
					 
					
						2025-03-14 00:52:43 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						11c8daaed0 
					 
					
						
						
							
							cl-ast: Re-add(?) the Infer type-pattern  
						
						 
						
						
						
						
					 
					
						2025-03-12 01:20:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						584207fc8c 
					 
					
						
						
							
							cl-structures::Interned: Change to_ref() from assoc. function to member function  
						
						 
						
						... 
						
						
						
						(it's so much nicer) 
						
						
					 
					
						2025-03-12 01:16:51 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dcdb100a8a 
					 
					
						
						
							
							cl-interpret: Try having separate globals again?  
						
						 
						
						
						
						
					 
					
						2025-03-11 23:33:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fdf076c272 
					 
					
						
						
							
							cl-ast: Remove Option-like "*Kind"s  
						
						 
						
						
						
						
					 
					
						2025-03-11 23:32:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4bc088f277 
					 
					
						
						
							
							cl-interpret: Pure value stack v1, references v2  
						
						 
						
						... 
						
						
						
						References actually work! :D
They can also be stale :( 
						
						
					 
					
						2025-03-11 05:01:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						06bcb6b7c6 
					 
					
						
						
							
							interpret: try out Ref == RcRefCell. Subject to change!  
						
						 
						
						
						
						
					 
					
						2025-03-11 01:31:02 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7e311cb0ef 
					 
					
						
						
							
							conlang: RIP THE EXPRKIND BANDAGE OFF  
						
						 
						
						... 
						
						
						
						cl-ast: No more bare ExprKind: every Expr has a Span
cl-interpret: Give errors a span
cl-repl: Print eval errors in load_file, instead of returning them. These changes are relevant. 
						
						
					 
					
						2025-03-11 00:36:42 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c0ad544486 
					 
					
						
						
							
							cl-interpret/convalue: Destructure with (Rust) pattern matching  
						
						 
						
						
						
						
					 
					
						2025-02-28 20:36:24 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fd54b513be 
					 
					
						
						
							
							cl-interpret/pattern: Doc changes, minor format  
						
						 
						
						
						
						
					 
					
						2025-02-28 20:35:20 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						adbabc66c5 
					 
					
						
						
							
							cl-interpret: impls v1  
						
						 
						
						
						
						
					 
					
						2025-02-23 04:06:14 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4d9b13f7a1 
					 
					
						
						
							
							cl-interpret: Enums, pt 1: C was right the whole time!!1  
						
						 
						
						
						
						
					 
					
						2025-02-23 03:22:48 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d9ac9e628d 
					 
					
						
						
							
							cl-interpret: Stage items within a file in resolution order.  
						
						 
						
						... 
						
						
						
						TODO: Does this even help??? 
						
						
					 
					
						2025-02-23 03:21:34 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						632ddf0eab 
					 
					
						
						
							
							cl-interpret: cleanup  
						
						 
						
						
						
						
					 
					
						2025-02-23 03:00:00 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e39b390441 
					 
					
						
						
							
							cl-parser, cl-repl: Add ./[mod].cl to module search path  
						
						 
						
						
						
						
					 
					
						2025-02-23 02:44:26 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2fd08193fd 
					 
					
						
						
							
							cl-parser: Promote match scrutinee to position  
						
						 
						
						
						
						
					 
					
						2025-02-23 02:43:22 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7d3f189100 
					 
					
						
						
							
							conlang: Introduce ..rest Patterns, refactor Ranges  
						
						 
						
						
						
						
					 
					
						2025-02-23 02:41:41 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cc6168b55e 
					 
					
						
						
							
							cl-ast: Remove Param, replace with flat Pattern  
						
						 
						
						
						
						
					 
					
						2025-02-23 02:01:38 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e3d94d8949 
					 
					
						
						
							
							conlang: Unify binding operations!  
						
						 
						
						... 
						
						
						
						This breaks out the pattern matching/unification algorithm from cl-interpret/interpret.rs to cl-interpret/pattern.rs
TODO: pattern destructuring in const, static :^) 
						
						
					 
					
						2025-02-22 05:16:37 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7a8da33de9 
					 
					
						
						
							
							cl-interpret: Tuple structs + fix tuple member access  
						
						 
						
						
						
						
					 
					
						2025-02-22 03:31:27 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						697d139cfd 
					 
					
						
						
							
							conlang: Add Tuple-Struct Patterns  
						
						 
						
						... 
						
						
						
						- Patterns are no longer parsed with the highest precedence
- Function calls with just a path and a tuple of args can now be transformed into a Pattern 
						
						
					 
					
						2025-02-22 01:37:08 -06:00