microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								82ceb5b696 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-09-29 19:39:28 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								47596f0324 
								
							 
						 
						
							
							
								
								feat: Remove tuple_index and record_access in favor of faster more direct functions for  
							
							 
							
							... 
							
							
							
							accessing an item in a tuple or a field in a record 
							
						 
						
							2023-09-28 01:05:05 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								1bcc9e8524 
								
							 
						 
						
							
							
								
								fix: expect on tuples from data now checks for no more items after the last  
							
							 
							
							
							
						 
						
							2023-09-26 12:49:50 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								1ca3499128 
								
							 
						 
						
							
							
								
								chore: rename type  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								534eb62a07 
								
							 
						 
						
							
							
								
								fix: There was a stack overflow due to passing unbound types to a function  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								1cab479b81 
								
							 
						 
						
							
							
								
								fix: dependency hoisting for cyclic functions  
							
							 
							
							... 
							
							
							
							Add more tests 
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2f80d07132 
								
							 
						 
						
							
							
								
								fix: minor stuff including fixing the var name used in modify_cyclic_calls  
							
							 
							
							... 
							
							
							
							and carefully controling the functions we add to sorted dependencies 
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								f4310bcf33 
								
							 
						 
						
							
							
								
								feat: finished up mutual recursion  
							
							 
							
							... 
							
							
							
							Now we "handle" vars that call the cyclic function.
That includes vars in the cyclic function as well as in other functions
"handle" meaning we modify the var to be a call that takes in more arguments. 
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								ae3053522e 
								
							 
						 
						
							
							
								
								feat: Update cyclic functions to be aware of being in a cycle.  
							
							 
							
							... 
							
							
							
							Finish the creation of cyclic functions
The last part is to update vars that call into a function in the cycle 
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								794fc93084 
								
							 
						 
						
							
							
								
								remove unused structs  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								0b38855ce4 
								
							 
						 
						
							
							
								
								add new enum for hoistablefunctions  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								ced818c455 
								
							 
						 
						
							
							
								
								checkpoint commit  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								0fb9837ddf 
								
							 
						 
						
							
							
								
								chore: change UserFunction to HoistableFunction to prepare for mututal recursion  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								74b8ab62b2 
								
							 
						 
						
							
							
								
								chore: add comments  
							
							 
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a4aa51ed2d 
								
							 
						 
						
							
							
								
								WIP: first part of mutual recursion is done.  
							
							 
							
							... 
							
							
							
							This involves creating the function definition and detecting cycles.
The remaining part is to "fix" the call sites
of the mutually recursive functions 
							
						 
						
							2023-09-25 21:16:19 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								ee4001d2c8 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-09-20 18:03:46 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								f379039efc 
								
							 
						 
						
							
							
								
								Fix record shorthand causing parsing ambiguity in if/else expressions.  
							
							 
							
							... 
							
							
							
							Fixes  #735 . 
							
						 
						
							2023-09-15 09:41:00 +02:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								d808197507 
								
							 
						 
						
							
							
								
								chore: clippy fix  
							
							 
							
							
							
						 
						
							2023-09-13 18:17:59 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								9a4f181a0f 
								
							 
						 
						
							
							
								
								chore: clippy fix  
							
							 
							
							
							
						 
						
							2023-09-13 17:19:31 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a45001376d 
								
							 
						 
						
							
							
								
								fix: is_record was used incorrectly in code gen,  
							
							 
							
							... 
							
							
							
							the real solution was to look up the datatype and check constructors length 
							
						 
						
							2023-09-13 00:33:02 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								d042d55d42 
								
							 
						 
						
							
							
								
								fix clippy warnings in code gen  
							
							 
							
							
							
						 
						
							2023-09-12 21:25:05 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								8ba5946c32 
								
							 
						 
						
							
							
								
								Preserve escape sequence after formatting  
							
							 
							
							... 
							
							
							
							Bumped into this randomly. We do correctly parse escape sequence, but
  the format would simply but the unescaped string back on save. Now it
  properly re-escapes strings before flushing them back. I also removed
  the escape sequence for 'backspace' and 'new page' form feed as I
  don't see any use case for those in an Aiken program really... 
							
						 
						
							2023-09-08 12:12:15 +02:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								6b70292dfb 
								
							 
						 
						
							
							
								
								chore: cargo fmt  
							
							 
							
							
							
						 
						
							2023-09-06 21:10:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								dca09811c1 
								
							 
						 
						
							
							
								
								fix: empty records crashing code gen  closes   #728  
							
							 
							
							
							
						 
						
							2023-08-31 17:39:38 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								51c44c6a30 
								
							 
						 
						
							
							
								
								fix: add an assert for better error messages when doing empty types  
							
							 
							
							
							
						 
						
							2023-08-30 13:50:37 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								baa6917af5 
								
							 
						 
						
							
							
								
								Fix: Change type map length assert to check for greater than equals instead of equals to argument length  
							
							 
							
							
							
						 
						
							2023-08-29 21:59:15 -04:00  
						
					 
				
					
						
							
							
								 
								waalge
							
						 
						
							 
							
							
							
							
								
							
							
								d4b9f22ac3 
								
							 
						 
						
							
							
								
								rm unnecessary mut  
							
							 
							
							
							
						 
						
							2023-08-26 16:30:44 +00:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								b075d85b40 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-08-24 15:05:12 -06:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								a7062ccb88 
								
							 
						 
						
							
							
								
								chore: fix versions  
							
							 
							
							
							
						 
						
							2023-08-24 15:04:19 -06:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								747e057d05 
								
							 
						 
						
							
							
								
								fix: tags  
							
							 
							
							
							
						 
						
							2023-08-24 15:00:09 -06:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								2f0211a7b1 
								
							 
						 
						
							
							
								
								Bump all version manually because cargo workspaces didn't work.  
							
							 
							
							
							
						 
						
							2023-08-22 13:27:10 +02:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								89c55a23fa 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-08-19 20:17:00 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								084b900b2a 
								
							 
						 
						
							
							
								
								change: traverse_with_tree now has a boolean to determine when with is called  
							
							 
							
							... 
							
							
							
							fix: Opaque types are now properly handled in code gen (i.e. code gen functions, in datums/redeemers, in from data casts)
chore: add specific nested opaque type tests to code gen 
							
						 
						
							2023-08-19 20:07:37 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								690e41261e 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-08-16 23:30:21 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								f5a49c4df4 
								
							 
						 
						
							
							
								
								fix: aliased import of single type throws compiler error  closes   #707  
							
							 
							
							
							
						 
						
							2023-08-16 23:15:51 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a45e04fd9b 
								
							 
						 
						
							
							
								
								fix: using the wrong var for pattern matching  
							
							 
							
							
							
						 
						
							2023-08-16 21:59:25 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2456801b17 
								
							 
						 
						
							
							
								
								fix list clauses with guards and add more tests  
							
							 
							
							
							
						 
						
							2023-08-16 21:59:25 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								0ff64e3bac 
								
							 
						 
						
							
							
								
								test: check and format tests for logical op chain  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								e14d51600f 
								
							 
						 
						
							
							
								
								feat(format): logical op chain  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								2c2f3c90fb 
								
							 
						 
						
							
							
								
								feat: new snapshots  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								05eb281f40 
								
							 
						 
						
							
							
								
								chore: can safely remove this at this point  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								e4ef386c44 
								
							 
						 
						
							
							
								
								feat(tipo): inference for and/or chains  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								ab3a418b9c 
								
							 
						 
						
							
							
								
								feat(parser): add support for and/or chaining  
							
							 
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2f7784f31e 
								
							 
						 
						
							
							
								
								chore: update changelog  
							
							 
							
							... 
							
							
							
							expecting a type on List<Data> from data now only checks that type is a list and not each element 
							
						 
						
							2023-08-10 23:01:46 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								eda388fb29 
								
							 
						 
						
							
							
								
								test(aiken-lang): add a new test for list edge case in when clause patterns  
							
							 
							
							
							
						 
						
							2023-08-08 20:47:35 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								252f68de17 
								
							 
						 
						
							
							
								
								fix clippy  
							
							 
							
							
							
						 
						
							2023-08-07 19:08:18 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								f464eb3702 
								
							 
						 
						
							
							
								
								Cargo fmt + clippy, with latest rust  
							
							 
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								0d99afe5e2 
								
							 
						 
						
							
							
								
								Cargo fmt  
							
							 
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								90c7753201 
								
							 
						 
						
							
							
								
								update tests for new recursion optmization  
							
							 
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								65984ed15b 
								
							 
						 
						
							
							
								
								fix: move where we call the with in traverse_tree_with  
							
							 
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								dba0e11ba7 
								
							 
						 
						
							
							
								
								Add other shadowing cases  
							
							 
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								fc948f0029 
								
							 
						 
						
							
							
								
								Add the same optimization to dependent functions  
							
							 
							
							... 
							
							
							
							I originally didn't add this because I thought this was mutually
recursive functions, which I couldn't picture how that would work;
I refactored all this logic into modify_self_calls, which maybe needs a
better name now.
Perf gain on some stdlib tests (line concat tests) is 93%!! 
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								c45caaefc8 
								
							 
						 
						
							
							
								
								Rudimentary implementation  
							
							 
							
							... 
							
							
							
							Adds an identify_recursive_static_params; doesn't handle all shadowing cases yet 
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								09f889b121 
								
							 
						 
						
							
							
								
								Add codegen for recursive statics case  
							
							 
							
							... 
							
							
							
							We also flip the recursive_statics fields to recursive_nonstatics; This makes the codegen a little easier.  It also has a hacky way to hard code in some recursive statics for testing 
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								Pi Lanningham
							
						 
						
							 
							
							
							
							
								
							
							
								586a2d7972 
								
							 
						 
						
							
							
								
								Add recursive_static_params to AIR  
							
							 
							
							... 
							
							
							
							Any methods to a recursive function that are unchanged and forwarded
don't need to be applied each time we recurse; instead, you can
define a containing lambda, reducing the number of applications
dramatically when recursing 
							
						 
						
							2023-08-07 19:00:39 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								1d9878c5ee 
								
							 
						 
						
							
							
								
								fix: code gen tests now up to date using trace  
							
							 
							
							... 
							
							
							
							fix: Formatter should take ErrorTerm and return "fail"
fix: fail with no reason should just return ErrorTerm 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								29599879b2 
								
							 
						 
						
							
							
								
								one minor tail fix in clause pattern  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								6a1b2db698 
								
							 
						 
						
							
							
								
								use retain instead of position  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								7bf22fa58b 
								
							 
						 
						
							
							
								
								fix multivalidator issue  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								281a8363c0 
								
							 
						 
						
							
							
								
								fixes to tuples and usage of discard.  
							
							 
							
							... 
							
							
							
							Also a fix to tail and its type in when list pattern matches 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								bfa4cc2efc 
								
							 
						 
						
							
							
								
								fix: some function dependency tree path was not being updated in order  
							
							 
							
							... 
							
							
							
							fix: revert to old implicit way of casting to data for now 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a45ff692a6 
								
							 
						 
						
							
							
								
								last changes for today  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								db79468435 
								
							 
						 
						
							
							
								
								remove old stuff  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								aca79bd728 
								
							 
						 
						
							
							
								
								remove warning  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								3189a60bdb 
								
							 
						 
						
							
							
								
								fixes to how we sort dependencies.  
							
							 
							
							... 
							
							
							
							Also update dependency path based on a functions path. 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								80b950b8aa 
								
							 
						 
						
							
							
								
								fix edge case with assign and pattern matching  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								186e1235fd 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								1ee7492f1f 
								
							 
						 
						
							
							
								
								fix tuple clause  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								5aecb96668 
								
							 
						 
						
							
							
								
								constants are back. I had broke them when switching how data casting works  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								0b8266dfd1 
								
							 
						 
						
							
							
								
								some type conversion fixes  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								02948616cd 
								
							 
						 
						
							
							
								
								some more fixes involving clauses  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a689b8748f 
								
							 
						 
						
							
							
								
								fix: working on minor edge cases  
							
							 
							
							... 
							
							
							
							fix: zero arg function dependencies should not count as hoisted
fix: tuple index was receiving the wrong type 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								4e3ced5b75 
								
							 
						 
						
							
							
								
								fix and clean up tests and handle  
							
							 
							
							... 
							
							
							
							one edge case on rearrange clauses 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								018453f6b1 
								
							 
						 
						
							
							
								
								fix expect on tuple type using the wrong internal type  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								f03ed41e03 
								
							 
						 
						
							
							
								
								fix some unnecessary lambdas in assign  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								03dd13dc7d 
								
							 
						 
						
							
							
								
								fixing list condition edge cases and clean up rearrange list clauses  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								e8fa8f5423 
								
							 
						 
						
							
							
								
								fixing list clause issues  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								c6f90a999b 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								389699f485 
								
							 
						 
						
							
							
								
								fix to subject type for assignment on single clause  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								dcb3a9b45b 
								
							 
						 
						
							
							
								
								some type and expect fixes  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								3545bad3c4 
								
							 
						 
						
							
							
								
								fix typing to constr  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								52ebc9b6c1 
								
							 
						 
						
							
							
								
								some more fixes  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								58b327e5b3 
								
							 
						 
						
							
							
								
								fixing bugs and edge cases  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2f4319f162 
								
							 
						 
						
							
							
								
								fix: tuples and list patterns had a few issues  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								960a15c4ec 
								
							 
						 
						
							
							
								
								checkpoint - fixing tests and stuff  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								72b6f0f847 
								
							 
						 
						
							
							
								
								all but six tests passing  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								6eeb282dee 
								
							 
						 
						
							
							
								
								Now code gen is finished and we just have testing  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								518bea5be4 
								
							 
						 
						
							
							
								
								feat: fixed up generate and generate test  
							
							 
							
							... 
							
							
							
							last step is checking on uplc code gen 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								18ea44adb0 
								
							 
						 
						
							
							
								
								chore: rename unwrapData and wrapData  
							
							 
							
							... 
							
							
							
							add validator cast function for extra validator params 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								55dd1a1a56 
								
							 
						 
						
							
							
								
								out with the old code and in with the air tree  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								02ce3761ae 
								
							 
						 
						
							
							
								
								final checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								8641c305f4 
								
							 
						 
						
							
							
								
								feat: airtree now hoists function. Now all that is left is finishing uplc gen  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								5ad8b520fd 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								5a51764cff 
								
							 
						 
						
							
							
								
								remove some warnings  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a099c01734 
								
							 
						 
						
							
							
								
								feat: add support for hoisting code gen functions  
							
							 
							
							... 
							
							
							
							fix: code gen vars should be module functions
fix: missed a recursive call in do_find_air_tree_node under binop 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								c0f09856d3 
								
							 
						 
						
							
							
								
								feat: Here's a first, we hoisted some user functions onto the validator  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								62660e04b5 
								
							 
						 
						
							
							
								
								checkpoint;  
							
							 
							
							... 
							
							
							
							Remaining work is on function hoisting. Functions have been defined and monomorphized 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								ae9de11e77 
								
							 
						 
						
							
							
								
								big checkpoint:  
							
							 
							
							... 
							
							
							
							feat: add monomorphize and other useful tree function abstractions
feat: started testing function hositing result so far 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								947c118175 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								9704cafefe 
								
							 
						 
						
							
							
								
								a checkpoint for function hoisting start and type fix  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								55ae708e3e 
								
							 
						 
						
							
							
								
								checkpoint: start on function hoisting  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2b7e7ead1c 
								
							 
						 
						
							
							
								
								feat: add support for validator arguments  
							
							 
							
							... 
							
							
							
							feat: finish expect type on data constr
fix: tuple clause was exposing all items regardless of discard
fix: tuple clause was not receiving complex_clause flag
fix: condition for assert where constructor had 0 args was tripping assert
fix: had to rearrange var and discard assignment to ensure correct val is returned
fix: binop had the wrong type 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								7d4e136467 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								fd83c9a739 
								
							 
						 
						
							
							
								
								feat: fix up generic type functions to work with the new air tree functions  
							
							 
							
							... 
							
							
							
							chore: remove commented code 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								b3714ca9d0 
								
							 
						 
						
							
							
								
								fix: list clause guard for final clause needs to use list accessor  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								2c61ecd4bb 
								
							 
						 
						
							
							
								
								feat: finish up nested clauses  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								a3afb62861 
								
							 
						 
						
							
							
								
								chore: fixing nested clauses to match aiken stack air  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								95af421f95 
								
							 
						 
						
							
							
								
								feat: finish tuple conditions  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								05b6b2a97d 
								
							 
						 
						
							
							
								
								chore: rename some functions  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								c025073056 
								
							 
						 
						
							
							
								
								fix: List clauses were destructuring the next element unnecessarily  
							
							 
							
							... 
							
							
							
							feat: finish nested constructor clauses 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								f6e163d16d 
								
							 
						 
						
							
							
								
								feat: start on nested clauses  
							
							 
							
							... 
							
							
							
							chore: remove then field from list clause guard and clause guard 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								5bcc425f0f 
								
							 
						 
						
							
							
								
								feat: changed air expressions clause guard  
							
							 
							
							... 
							
							
							
							and list clause guard to air statements 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								023be88bf6 
								
							 
						 
						
							
							
								
								chore: another checkpoint  
							
							 
							
							... 
							
							
							
							fix: guard clause to properly check condition 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								f94c8213b6 
								
							 
						 
						
							
							
								
								checkpoint  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								0854d71836 
								
							 
						 
						
							
							
								
								chore: another checkpoint and renamed ClauseProperties fields  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								d731757123 
								
							 
						 
						
							
							
								
								feat: start on clauses in when conditions  
							
							 
							
							... 
							
							
							
							**checkpoint** 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								96959011e9 
								
							 
						 
						
							
							
								
								feat: finish up build. just have helper methods  
							
							 
							
							... 
							
							
							
							feat: Create an air and AirTree iterator.
This allows us to iterate forwards or backwards over the tree as a vec.
chore: moved around some functions 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								ba3265054c 
								
							 
						 
						
							
							
								
								chore: move tree to gen_uplc2 and create a duplicate air file without scope  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								7cee9a4d15 
								
							 
						 
						
							
							
								
								chore: move assignment_air_tree and expect_type to gen_uplc  
							
							 
							
							... 
							
							
							
							feat: add is_primitive check to types 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								cd726b561e 
								
							 
						 
						
							
							
								
								feat: add removal of discard lets  
							
							 
							
							... 
							
							
							
							chore: Name change for AirTree sequence
feat: finish up assignment  constructor and list for airtree builder 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								59362e3d8c 
								
							 
						 
						
							
							
								
								feat: almost done assignment have tuple and constr left  
							
							 
							
							... 
							
							
							
							feat: modified the AirTree structure to have statements, sequences, and expressions
feat: changed the hoist_over function to be universal 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								65bb7e48e2 
								
							 
						 
						
							
							
								
								feat: start on build assignment  
							
							 
							
							... 
							
							
							
							feat: implement assignment hoisting 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								c359bd35d7 
								
							 
						 
						
							
							
								
								feat: update tree to allow for let hoisting  
							
							 
							
							... 
							
							
							
							feat: start on build for when expressions
feat: add builder methods for AirTree 
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								83ade9335f 
								
							 
						 
						
							
							
								
								feat: implement most of airtree build  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								microproofs
							
						 
						
							 
							
							
							
							
								
							
							
								5e097d42ba 
								
							 
						 
						
							
							
								
								feat: add AirTree types and builder functions  
							
							 
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								266b6bbb7d 
								
							 
						 
						
							
							
								
								fix(exhaustiveness): for constructor use correct name because import aliases  
							
							 
							
							
							
						 
						
							2023-08-03 16:28:47 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								60ac8ab591 
								
							 
						 
						
							
							
								
								fix(exhaustiveness): adjust helper method to get contructors properly  
							
							 
							
							
							
						 
						
							2023-08-03 16:14:42 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								675b737898 
								
							 
						 
						
							
							
								
								Check exhaustiveness behavior on pattern guards.  
							
							 
							
							
							
						 
						
							2023-08-02 10:40:59 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								4f7f39292d 
								
							 
						 
						
							
							
								
								Fix subtle bug in pattern rendering  
							
							 
							
							... 
							
							
							
							When rendering missing or redundant patterns, linked-list would
  wrongly suggest the last nil constructor as a pattern on non-empty
  list.
  For example, before this commit, the exhaustivness checker would yield:
  ```
  [(_, True), []]
  ```
  as a suggestion, for being the result of being a list pattern with a
  single argument being `(_, True) :: Nil`. Blindly following the
  compiler suggestion here would cause a type unification error (since
  `[]` doesn't unify with a 2-tuple).
  Indeed, we mustn't render the Nil constructor when rendering non-empty
  lists! So the correct suggestion should be:
  ```
  [(_, True)]
  ``` 
							
						 
						
							2023-08-02 10:31:35 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								00b255e960 
								
							 
						 
						
							
							
								
								Remove now-dead code.  
							
							 
							
							
							
						 
						
							2023-08-02 09:22:21 +02:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								f3cab94ae1 
								
							 
						 
						
							
							
								
								test(check): a bunch of tests for the new exhaustiveness stuff  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								75e18d485d 
								
							 
						 
						
							
							
								
								fix: redundant might be wildcard which doesn't match technically  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								a6b230aad4 
								
							 
						 
						
							
							
								
								fix: exhaustiveness on types from other modules  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								7e531d0da1 
								
							 
						 
						
							
							
								
								fix: wrong var for name in UnknownModule error  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								b6ac39f322 
								
							 
						 
						
							
							
								
								feat(exhaustiveness): show both clauses in redundant error  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								ef2fc57ca9 
								
							 
						 
						
							
							
								
								feat(exhaustiveness): check tuple patterns  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								f1100e901d 
								
							 
						 
						
							
							
								
								feat(exhaustiveness): pretty print missing patterns  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								de2791fe82 
								
							 
						 
						
							
							
								
								feat(tipo): add new error for redundant clauses  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								0061bcf78d 
								
							 
						 
						
							
							
								
								feat: add support for list patterns  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								e8a71cd63b 
								
							 
						 
						
							
							
								
								chore: rename usefulness module  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								03efb46e6f 
								
							 
						 
						
							
							
								
								feat(exhaustiveness): algorithm U borrowed from elm  
							
							 
							
							
							
						 
						
							2023-08-01 21:13:50 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								97acd6d7bd 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-07-15 21:37:10 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								77a627817b 
								
							 
						 
						
							
							
								
								chore: prepare changelog for release  
							
							 
							
							
							
						 
						
							2023-07-15 21:34:41 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								1b8e94fe32 
								
							 
						 
						
							
							
								
								feat: expect boolean sugar  
							
							 
							
							
							
						 
						
							2023-07-15 20:50:02 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								db3b5c74bb 
								
							 
						 
						
							
							
								
								fix: todo and fail spans  
							
							 
							
							
							
						 
						
							2023-07-15 20:08:16 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								69fdee9f7e 
								
							 
						 
						
							
							
								
								fix: trace expr  
							
							 
							
							
							
						 
						
							2023-07-15 20:08:16 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								2edfd33594 
								
							 
						 
						
							
							
								
								fix: some attempted adjustments  
							
							 
							
							
							
						 
						
							2023-07-15 20:08:16 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								252b760ca1 
								
							 
						 
						
							
							
								
								test: remove prefix on all format tests  
							
							 
							
							
							
						 
						
							2023-07-14 16:56:27 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								eafe3cdf75 
								
							 
						 
						
							
							
								
								test: fail with expr relates to  #675  
							
							 
							
							
							
						 
						
							2023-07-14 13:09:55 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								621017bd93 
								
							 
						 
						
							
							
								
								chore: Release  
							
							 
							
							
							
						 
						
							2023-07-14 10:55:13 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								e7c1b28b52 
								
							 
						 
						
							
							
								
								feat: add ability to reference validators in tests  closes   #632  
							
							 
							
							
							
						 
						
							2023-07-12 18:29:03 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								13ee62c05c 
								
							 
						 
						
							
							
								
								fix: don't break failing test defs for current users  
							
							 
							
							
							
						 
						
							2023-07-12 09:16:37 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								03e7d6e944 
								
							 
						 
						
							
							
								
								feat: update syntax for failing test to be more consistent  
							
							 
							
							
							
						 
						
							2023-07-12 09:16:37 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
							
							
								
							
							
								1ab1ff9a1f 
								
							 
						 
						
							
							
								
								feat: rename error to fail  
							
							 
							
							
							
						 
						
							2023-07-12 09:16:37 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								914b8d4e74 
								
							 
						 
						
							
							
								
								fix: infer validator args as Data if Unbound  closes   #649  
							
							 
							
							
							
						 
						
							2023-07-11 13:51:17 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
							
							
								
							
							
								b80c41b4b7 
								
							 
						 
						
							
							
								
								chore: cargo fmt  
							
							 
							
							
							
						 
						
							2023-07-11 13:06:25 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
							
							
								
							
							
								14652abd4f 
								
							 
						 
						
							
							
								
								fix: port last missing test  
							
							 
							
							... 
							
							
							
							This test has been added after the first implementation, so we move it
to the new format :) 
							
						 
						
							2023-07-11 13:06:25 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
							
							
								
							
							
								7f7a86765d 
								
							 
						 
						
							
							
								
								feat: bring back formatting imdepotency test  
							
							 
							
							
							
						 
						
							2023-07-11 13:06:25 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
							
							
								
							
							
								c27ef8ad93 
								
							 
						 
						
							
							
								
								chore: refactor formatting tests  
							
							 
							
							... 
							
							
							
							This changes the tests from normal assertions into snapshot tests, as
well as standardizing test names. 
							
						 
						
							2023-07-11 13:06:25 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								94bf75dd1c 
								
							 
						 
						
							
							
								
								chore: delete unreferenced snapshots  
							
							 
							
							
							
						 
						
							2023-07-06 21:00:13 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								126f2ab004 
								
							 
						 
						
							
							
								
								Implement new formatter for 'int'.  
							
							 
							
							... 
							
							
							
							This is used for constants and patterns, which can carry negative
   values. 
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								78d34f7f76 
								
							 
						 
						
							
							
								
								Fix parsing of negative int patterns and constants  
							
							 
							
							... 
							
							
							
							This was trickier than expected as the expression parser, and in particular the bin-op parser will interpret negative patterns as a continuation of a binary operation and eventually choke on the next right-arrow symbol. This is due to how we actually completely erase newlines once we're done with the lexer. The newline separating when clause is actually semantically important. In principle, we could only parse an expression until the next newline.
  Ideally, we would keep that newline in the list of token but it's difficult to figure out which newline to keep between two right arrows since a clause guard can be written over multiple lines. Though, since we know that this is only truly a problem for negative integers, we can use the same trick as for tuples and define a new 'NewLineMinus' token. That token CANNOT be part of a binop expression. That means it's impossible to write a binary operation with a minus over multiple lines, or more specifically, with the '-' symbol on a newline. This sounds like a fair limitation. What we get in exchange is less ambiguity when parsing patterns following expressions in when clause cases.
  Another more cumbersome option could be to preserve the first newline encountered after a 'right-arrow' symbol and before any parenthesis or curly brace is found (which would otherwise signal the beginning of a new block). That requires to traverse, at least partially, the list of tokens twice. This feels unnecessary for now and until we do face a similar issue with a binary operator. 
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								346df47232 
								
							 
						 
						
							
							
								
								Refactor chain parser  
							
							 
							
							... 
							
							
							
							The main goal is to make the parser more reusable to be used for when-clauses, instead of the expression parser. A side goal has been to make it more readable by moving the construction of some untyped expression as method on UntypedExpr. Doing so, I got rid of the extra temporary 'ParseArg' type and re-used the generic 'CallArg' instead by simply using an Option<UntypedExpr> as value to get the same semantic as 'ParseArg' (which would distinguish between plain call args and holes). Now the chained parser is in a bit more reusable state. 
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								549cf22cdd 
								
							 
						 
						
							
							
								
								Rename (Un)TypedExpr.Int -> (Un)TypedExpr.UInt  
							
							 
							
							... 
							
							
							
							We do not actually every parse negative values in there, as a negative value is a combination of a 'Negate' and 'UInt' expression.
  However, for patterns and constant, it'll be simpler to parse whole Int values as there's no ambiguity with arithmetic operations
  there. To avoid confusion of having some 'Int' constructors containing only non-negative values, and some being on the whole range,
  I've renamed the constructor to 'UInt' to make this more obvious. 
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								5a4a2faa4d 
								
							 
						 
						
							
							
								
								Split pattern parser into individual modules.  
							
							 
							
							
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								0650d6152d 
								
							 
						 
						
							
							
								
								rename test cases for when/clause to somewhat match the file hierarchy.  
							
							 
							
							
							
						 
						
							2023-07-06 16:10:46 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								ed85cb1c00 
								
							 
						 
						
							
							
								
								Fix todo/error parsing  
							
							 
							
							... 
							
							
							
							This was a bit more tricky than anticipated but played out nicely in
  the end. Now we have one holistic way of parsing todos and errors
  instead of it being duplicated between when/clause and sequence. The
  error/todo parser has been moved up to the expression part rather than
  being managed when parsing sequences. Not sure what motivated that to
  begin with.
  Fixes  #621 . 
							
						 
						
							2023-07-05 20:12:57 +02:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								e331b3449b 
								
							 
						 
						
							
							
								
								chore: clippy fix  
							
							 
							
							
							
						 
						
							2023-07-05 12:06:03 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								a306d6e9f2 
								
							 
						 
						
							
							
								
								Move chain and chained parsing into their own submodule  
							
							 
							
							... 
							
							
							
							Alleviate a bit more the top-level expression parser. Note that we
probably need a bit more disciplined in what we export and at what level
because there doesn't seem to be much logic as for whether a parser is
private, exported to the crate only or to the wide open. I'd be in favor
of exporting everything by default. 
							
						 
						
							2023-07-05 15:18:07 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								4f6defcf3e 
								
							 
						 
						
							
							
								
								rename: 'r' → 'expression' & 'seq_r' → 'sequence'  
							
							 
							
							... 
							
							
							
							Better readability. 
							
						 
						
							2023-07-05 14:42:14 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								66296df9c3 
								
							 
						 
						
							
							
								
								Move parsing of literals under new 'literal' parser module group  
							
							 
							
							... 
							
							
							
							Also moved the logic for 'int' and 'string' there though it is trivial. Yet, for bytearray, it tidies things nicely by removing them from the 'utils' module. 
							
						 
						
							2023-07-05 14:37:29 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								e15cdaf248 
								
							 
						 
						
							
							
								
								Move 'utils::bytearray' to 'expr/bytearray'  
							
							 
							
							
							
						 
						
							2023-07-05 14:10:47 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								44eb501d78 
								
							 
						 
						
							
							
								
								Favor pattern-match over if-else when parsing assignment kinds  
							
							 
							
							... 
							
							
							
							Equality on a union-type is potentially dangerous as the compiler won't
complain if we add a new case that we don't cover. Reversing the
assignment by yielding a `Token` for a given `AssignmentKind`. This way
we can use a pattern-match that got us covered for future cases. 
							
						 
						
							2023-07-05 14:01:13 +02:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								93e010b345 
								
							 
						 
						
							
							
								
								Replace 'public' utils with a more generic 'optional_flag'  
							
							 
							
							... 
							
							
							
							The 'public' util was arguably not really adding much except a layer of indirection.
  In the end, one useful parsing behavior to abstract is the idea of 'optional flag' that we use for both 'pub' and 'opaque' keywords. 
							
						 
						
							2023-07-05 13:57:34 +02:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								5e8edcb340 
								
							 
						 
						
							
							
								
								test(parser): finish moving tests to their correct modules  
							
							 
							
							
							
						 
						
							2023-07-04 17:48:48 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								47567c5e6f 
								
							 
						 
						
							
							
								
								test(parser): some adjustments after rebase with @ktorz fix  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:30 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								b25db429be 
								
							 
						 
						
							
							
								
								test(parser): anon binop and ambiguous sequence  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:30 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								8a6c81493c 
								
							 
						 
						
							
							
								
								test(parser): record create  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:30 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								a75bcff5c8 
								
							 
						 
						
							
							
								
								test(parser): type alias, anon fn, record update and more  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:30 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								bd8c13c372 
								
							 
						 
						
							
							
								
								test(parser): move over the validator tests and some misc tests to parser  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								6b05d6a91e 
								
							 
						 
						
							
							
								
								test(parser): rename definitions to definition and more tests  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								baf807ca2d 
								
							 
						 
						
							
							
								
								test(parser): list spread  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								44d0432560 
								
							 
						 
						
							
							
								
								test(parser): int list  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								f9c099a923 
								
							 
						 
						
							
							
								
								test: add indoc to assert_expr macro  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								715752718d 
								
							 
						 
						
							
							
								
								test: assert_module  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								da0b969865 
								
							 
						 
						
							
							
								
								test: adjust snapshots  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								8a7df7f66b 
								
							 
						 
						
							
							
								
								test: add empty list test  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								291dedf4e8 
								
							 
						 
						
							
							
								
								chore: refactor all parse tests to use assert_parse!  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								f878ef7cef 
								
							 
						 
						
							
							
								
								feat: move some token processing to the lexer  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								2226747dc1 
								
							 
						 
						
							
							
								
								feat: finish splitting up parsers  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								63cdb8aa09 
								
							 
						 
						
							
							
								
								chore: add more details on snapshot tests  
							
							 
							
							... 
							
							
							
							We added a macro to add more information about the code that is being
tested, so we can add lots and lots of small snapshot tests. 
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								eeaa1a05d2 
								
							 
						 
						
							
							
								
								feat: add first code snapshot test with insta  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								Cainã Costa
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								58c854fd3f 
								
							 
						 
						
							
							
								
								feat: add insta as dependency  
							
							 
							
							... 
							
							
							
							We are going to start to add "golden"/snapshot tests, so we are using
[insta](https://insta.rs ) to do so. 
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								eea94fc9a4 
								
							 
						 
						
							
							
								
								feat: move anon fn, let, and expect  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								9c98fc8026 
								
							 
						 
						
							
							
								
								feat: start splitting apart expr_parser  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								e3ed5d3b00 
								
							 
						 
						
							
							
								
								feat: move expr_parser and remove module.rs to definitions  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:28 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								3339d41fdd 
								
							 
						 
						
							
							
								
								feat: finish moving definitions and start exprs  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:27 -04:00  
						
					 
				
					
						
							
							
								 
								rvcas
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								fc580d4fa0 
								
							 
						 
						
							
							
								
								feat(parser): move definitions to their own modules  
							
							 
							
							
							
						 
						
							2023-07-04 17:19:27 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								49098d5a45 
								
							 
						 
						
							
							
								
								Bump miette to 5.9.0  
							
							 
							
							... 
							
							
							
							No particular reason, but it's good to be up-to-date with our dependencies. 
							
						 
						
							2023-07-04 16:51:59 -04:00  
						
					 
				
					
						
							
							
								 
								KtorZ
							
						 
						
							 
							
							
							
							
								
							
							
								5a6cc855e6 
								
							 
						 
						
							
							
								
								Use byte count for token span in the lexer.  
							
							 
							
							... 
							
							
							
							Somehow, miette doesn't play well with spans when using chars indices.
  So we have to count the number of bytes in strings / chars, so that
  spans align accordingly. 
							
						 
						
							2023-07-04 16:51:59 -04:00