2cdf112aa6 
					 
					
						
						
							
							cl-structures: add todo w/r/t tree traversal api  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-15 05:53:26 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						af35dd1bb3 
					 
					
						
						
							
							cl-structures: add a sized, monotype stack  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-15 05:11:47 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ecde44910f 
					 
					
						
						
							
							cl-structures: Add a simple potted tree structure, for future use in the module system  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-15 05:10:34 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a74cd0b8ac 
					 
					
						
						
							
							cl-structures: break span into its own file.  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-12 19:32:11 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2eade74d3a 
					 
					
						
						
							
							cl-repl: Terminal pipe support + fun stylistic fixups  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 05:33:35 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9cae7e4eb8 
					 
					
						
						
							
							cl-lexer: switch to unicode-ident crate, since a dependency of cl-repl depends on it.  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 04:11:38 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a07312bf92 
					 
					
						
						
							
							cl-lexer: fix link in doc comment  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 03:17:43 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a9b834e012 
					 
					
						
						
							
							conlang: bump version number  
						
						 
						
						
						
						
							
  v0.0.4
 
						
					 
					
						2024-03-01 03:16:02 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						57dada7aba 
					 
					
						
						
							
							gitea: update feature-proposal.md  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 03:13:07 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ba6285e006 
					 
					
						
						
							
							Pretend conlang has a complete compiler, and start mocking up a standard library  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 02:50:50 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c7fdeaf37a 
					 
					
						
						
							
							cl-typeck: Begin work on new type-checker.  
						
						 
						
						... 
						
						
						
						Comments in lib.rs outline my current thought processes 
						
						
							
						
					 
					
						2024-03-01 02:49:22 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						09737aa40b 
					 
					
						
						
							
							temp_type_impl: pretty-print functions  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 02:47:07 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1eec1b06ce 
					 
					
						
						
							
							cl-ast: Move matched brace indenter out of ast_impl (it doesn't impl the ast)  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 02:44:35 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						276f0b1031 
					 
					
						
						
							
							"libconlang": Remove libconlang  
						
						 
						
						
						
						
							
						
					 
					
						2024-03-01 02:38:00 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d7604ba039 
					 
					
						
						
							
							cl-repl: restructure for future improvements. Replaces temporary handrolled argument parser with external dependency argh.  
						
						 
						
						... 
						
						
						
						TODO: Rewrite `argh` in Conlang :^P 
						
						
							
						
					 
					
						2024-03-01 02:35:58 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c71f68eb55 
					 
					
						
						
							
							"libconlang": remove empty module tree tests  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 21:05:39 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c665e52782 
					 
					
						
						
							
							all: #![warn(clippy::all)]  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 21:04:45 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						50b473cd55 
					 
					
						
						
							
							cl-lexer: Move lexer into its own crate  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 20:58:50 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						abf00f383c 
					 
					
						
						
							
							cl-parser: Move inline modules out of line  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 20:44:49 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ab17ebbadc 
					 
					
						
						
							
							cl-parser: break parser into inline module  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 20:43:40 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cc281fc6ab 
					 
					
						
						
							
							cl-parser: Move parser into its own crate  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 20:41:07 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1afde9ce35 
					 
					
						
						
							
							cl-ast: Move AST definition into its own crate  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 19:49:50 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6e1d5af134 
					 
					
						
						
							
							cl-token: Move token definition into its own crate  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 19:36:06 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ee27095fb3 
					 
					
						
						
							
							parser: expand the possibilities for assignment locations  
						
						 
						
						... 
						
						
						
						This may be reverted later.
TODO: Formalize the concept of a place expression
TODO: Add this to grammar.ebnf 
						
						
							
						
					 
					
						2024-02-29 19:33:28 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						69f5035a8b 
					 
					
						
						
							
							span: Break out into its own crate, to make room for future expansion  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 18:31:41 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						362817e512 
					 
					
						
						
							
							cl-repl: fix doctest in repline::ignore  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-29 17:52:16 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						421aab3aa2 
					 
					
						
						
							
							interpreter: Break out into a separate crate  
						
						 
						
						... 
						
						
						
						My editor's performance was tanking because of macro interpreter::builtins::builtin!
Temporary solution: move the interpreter into a separate crate
If I intended to keep the interpreter around, in the long-term, it might be an idea to make a proc-macro for builtin expansion.
However, the only reason I need the macros is because the interpreter's dynamic typing implementation is so half-baked. After I bang out the new type checker/inference engine, I'll have to rewrite the entire interpreter anyway! 
						
						
							
						
					 
					
						2024-02-29 17:51:38 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5eb6411d53 
					 
					
						
						
							
							interpreter: BuiltIn overhaul!  
						
						 
						
						... 
						
						
						
						- Allowed builtins to self-describe
- Broke builtins into their own module
  - Created a macro to work with BuiltIns easier
  - Uses macro 2.0 syntax, so it requires passing in ALL externally referenced identifiers
    - Luckily, this is already a requirement of good, readable macro definitions!
- As a temporary hack, turn overloadable operators into function calls
  - This is kind of pointless at the moment, since there can only be one definition of a function per name (no ADL/function overloading/traits/type namespaces yet!)
  - This is also pretty slow, but benchmarking shows it's not as slow as I thought (~400x slower in release mode than a native Rust implementation when running `fib.cl`/`fib.rs`. Totally unacceptable for most work, but this is a tree walk interpreter.)
  - TODO: Remove this when desugaring from operators to function calls is implemented 
						
						
							
						
					 
					
						2024-02-29 16:48:09 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e9dc8a7e32 
					 
					
						
						
							
							cl-repl: hack together some temporary file loading, to aid in standard library development  
						
						 
						
						
						
						
							
  v0.0.3
 
  v0.3.0
 
						
					 
					
						2024-02-28 06:02:00 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						862d81a9d4 
					 
					
						
						
							
							cl-repl: Rename from cl-frontend.  
						
						 
						
						... 
						
						
						
						Also disable escape code printing when debug assertions are off 
						
						
							
						
					 
					
						2024-02-28 05:32:10 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						048e41836a 
					 
					
						
						
							
							cl-frontend: Create a repline demo that collects definitions and usages of identifiers  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-28 05:25:55 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						78b8d87408 
					 
					
						
						
							
							cl-frontend: Embrace the crossterm jank  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-28 05:11:06 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e01c71f9a7 
					 
					
						
						
							
							lexer: implement std::error:;Error for Error (whoops!)  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-28 05:00:39 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3785045989 
					 
					
						
						
							
							cl-frontend: fix strange newline behavior in REPL  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-28 01:21:50 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						67bb3d4ae3 
					 
					
						
						
							
							parser: Note intent to switch to a Pratt parser  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 23:35:41 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ca51a35f5c 
					 
					
						
						
							
							ast: Reduce the number of chained references to 65535  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 23:33:20 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						04320de9a8 
					 
					
						
						
							
							parser: Make delim, sep, and rep const  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 23:32:32 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						325498ac8b 
					 
					
						
						
							
							ast: Add metadata attributes on Items  
						
						 
						
						... 
						
						
						
						TODO: decide what other places attributes belong 
						
						
							
						
					 
					
						2024-02-27 23:31:49 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9806e95247 
					 
					
						
						
							
							ast_impl: Forgot to impl From<Expr> for StmtKind (whoops!)  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 22:49:14 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5484d96e7d 
					 
					
						
						
							
							ast: Add the "Self" type in preparation for cl-typeck  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 22:48:24 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e3f08ac013 
					 
					
						
						
							
							parser: Overhaul the semi-functional Parser::{delimited, separated, repeated} methods into real higher-order functions  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 22:46:36 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						978f5e40c1 
					 
					
						
						
							
							conlang: Introduce type-alias/typedef syntax  
						
						 
						
						... 
						
						
						
						`type T;` | `type T = U;` 
						
						
							
						
					 
					
						2024-02-27 20:49:02 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0c1b3bfe39 
					 
					
						
						
							
							ast: Do not promise PartialOrd/Ord (breaking change)  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-27 20:41:15 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						87c8d43d11 
					 
					
						
						
							
							grammar.ebnf: Fix ModuleKind grammar  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 16:19:21 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c36eec216a 
					 
					
						
						
							
							parser: Allow StmtKind to parse itself (whoops!)  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 16:03:18 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						66deb41301 
					 
					
						
						
							
							grammar.ebnf: Sync changes with AST  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 16:02:36 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9bde97942c 
					 
					
						
						
							
							ast: Enum variants can have no data, or have an associated integer.  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 15:59:15 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bb3eecd190 
					 
					
						
						
							
							interpreter: Allow statements to choose their own return value (reduces code duplication)  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 15:53:45 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ffa313eea8 
					 
					
						
						
							
							ast: Allow type specifier in let statement  
						
						 
						
						
						
						
							
						
					 
					
						2024-02-26 15:49:55 -06:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						490d320633 
					 
					
						
						
							
							parser: allow end of input in binary and indexing operations.  
						
						 
						
						... 
						
						
						
						This improves robustness and correctness of implementation. 
						
						
							
						
					 
					
						2024-02-26 15:37:07 -06:00