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  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4747b65414 
					 
					
						
						
							
							stdlib: Add Result and Option types  
						
						 
						
						... 
						
						
						
						Since the type checker sucks less now, we can think about maybe
adding some features to the language.
...At some point I'd like to have the type checker clean up
the index map. 
						
						
					 
					
						2025-04-22 08:00:59 -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  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						68e676eda4 
					 
					
						
						
							
							repline: Clippy lints unbuffered readers now  
						
						 
						
						
						
						
					 
					
						2025-03-14 06:09:00 -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  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2fc847fff2 
					 
					
						
						
							
							Listen to the truthmachine!  
						
						 
						
						... 
						
						
						
						Scream your falsehoods. 
						
						
					 
					
						2025-03-11 05:03:52 -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  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5c99bf09ab 
					 
					
						
						
							
							stdlib: Make stdlib not error out w/ undefined symbols, add ranges.  
						
						 
						
						
						
						
					 
					
						2025-02-23 03:29:15 -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