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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								794fc93084 
								
							 
						 
						
							
							
								
								remove unused structs  
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
				
					
						
							
							
								 
						
							
								0b38855ce4 
								
							 
						 
						
							
							
								
								add new enum for hoistablefunctions  
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
				
					
						
							
							
								 
						
							
								ced818c455 
								
							 
						 
						
							
							
								
								checkpoint commit  
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
				
					
						
							
							
								 
						
							
								0fb9837ddf 
								
							 
						 
						
							
							
								
								chore: change UserFunction to HoistableFunction to prepare for mututal recursion  
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
				
					
						
							
							
								 
						
							
								74b8ab62b2 
								
							 
						 
						
							
							
								
								chore: add comments  
							
							
							
						 
						
							2023-09-25 21:16:19 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ee4001d2c8 
								
							 
						 
						
							
							
								
								chore: Release  
							
							
							
						 
						
							2023-09-20 18:03:46 +02:00  
				
					
						
							
							
								 
						
							
								f379039efc 
								
							 
						 
						
							
							
								
								Fix record shorthand causing parsing ambiguity in if/else expressions.  
							
							... 
							
							
							
							Fixes  #735 . 
						
							2023-09-15 09:41:00 +02:00  
				
					
						
							
							
								 
						
							
								d808197507 
								
							 
						 
						
							
							
								
								chore: clippy fix  
							
							
							
						 
						
							2023-09-13 18:17:59 -04:00  
				
					
						
							
							
								 
						
							
								9a4f181a0f 
								
							 
						 
						
							
							
								
								chore: clippy fix  
							
							
							
						 
						
							2023-09-13 17:19:31 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d042d55d42 
								
							 
						 
						
							
							
								
								fix clippy warnings in code gen  
							
							
							
						 
						
							2023-09-12 21:25:05 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								6b70292dfb 
								
							 
						 
						
							
							
								
								chore: cargo fmt  
							
							
							
						 
						
							2023-09-06 21:10:50 -04:00  
				
					
						
							
							
								 
						
							
								dca09811c1 
								
							 
						 
						
							
							
								
								fix: empty records crashing code gen  closes   #728  
							
							
							
						 
						
							2023-08-31 17:39:38 -04:00  
				
					
						
							
							
								 
						
							
								51c44c6a30 
								
							 
						 
						
							
							
								
								fix: add an assert for better error messages when doing empty types  
							
							
							
						 
						
							2023-08-30 13:50:37 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d4b9f22ac3 
								
							 
						 
						
							
							
								
								rm unnecessary mut  
							
							
							
						 
						
							2023-08-26 16:30:44 +00:00  
				
					
						
							
							
								 
						
							
								b075d85b40 
								
							 
						 
						
							
							
								
								chore: Release  
							
							
							
						 
						
							2023-08-24 15:05:12 -06:00  
				
					
						
							
							
								 
						
							
								a7062ccb88 
								
							 
						 
						
							
							
								
								chore: fix versions  
							
							
							
						 
						
							2023-08-24 15:04:19 -06:00  
				
					
						
							
							
								 
						
							
								747e057d05 
								
							 
						 
						
							
							
								
								fix: tags  
							
							
							
						 
						
							2023-08-24 15:00:09 -06:00  
				
					
						
							
							
								 
						
							
								2f0211a7b1 
								
							 
						 
						
							
							
								
								Bump all version manually because cargo workspaces didn't work.  
							
							
							
						 
						
							2023-08-22 13:27:10 +02:00  
				
					
						
							
							
								 
						
							
								89c55a23fa 
								
							 
						 
						
							
							
								
								chore: Release  
							
							
							
						 
						
							2023-08-19 20:17:00 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								690e41261e 
								
							 
						 
						
							
							
								
								chore: Release  
							
							
							
						 
						
							2023-08-16 23:30:21 -04:00  
				
					
						
							
							
								 
						
							
								f5a49c4df4 
								
							 
						 
						
							
							
								
								fix: aliased import of single type throws compiler error  closes   #707  
							
							
							
						 
						
							2023-08-16 23:15:51 -04:00  
				
					
						
							
							
								 
						
							
								a45e04fd9b 
								
							 
						 
						
							
							
								
								fix: using the wrong var for pattern matching  
							
							
							
						 
						
							2023-08-16 21:59:25 -04:00  
				
					
						
							
							
								 
						
							
								2456801b17 
								
							 
						 
						
							
							
								
								fix list clauses with guards and add more tests  
							
							
							
						 
						
							2023-08-16 21:59:25 -04:00  
				
					
						
							
							
								 
						
							
								0ff64e3bac 
								
							 
						 
						
							
							
								
								test: check and format tests for logical op chain  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								e14d51600f 
								
							 
						 
						
							
							
								
								feat(format): logical op chain  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								2c2f3c90fb 
								
							 
						 
						
							
							
								
								feat: new snapshots  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								05eb281f40 
								
							 
						 
						
							
							
								
								chore: can safely remove this at this point  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								e4ef386c44 
								
							 
						 
						
							
							
								
								feat(tipo): inference for and/or chains  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								ab3a418b9c 
								
							 
						 
						
							
							
								
								feat(parser): add support for and/or chaining  
							
							
							
						 
						
							2023-08-15 09:58:35 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								eda388fb29 
								
							 
						 
						
							
							
								
								test(aiken-lang): add a new test for list edge case in when clause patterns  
							
							
							
						 
						
							2023-08-08 20:47:35 -04:00  
				
					
						
							
							
								 
						
							
								252f68de17 
								
							 
						 
						
							
							
								
								fix clippy  
							
							
							
						 
						
							2023-08-07 19:08:18 -04:00  
				
					
						
							
							
								 
						
							
								f464eb3702 
								
							 
						 
						
							
							
								
								Cargo fmt + clippy, with latest rust  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								0d99afe5e2 
								
							 
						 
						
							
							
								
								Cargo fmt  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								90c7753201 
								
							 
						 
						
							
							
								
								update tests for new recursion optmization  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								65984ed15b 
								
							 
						 
						
							
							
								
								fix: move where we call the with in traverse_tree_with  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								dba0e11ba7 
								
							 
						 
						
							
							
								
								Add other shadowing cases  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c45caaefc8 
								
							 
						 
						
							
							
								
								Rudimentary implementation  
							
							... 
							
							
							
							Adds an identify_recursive_static_params; doesn't handle all shadowing cases yet 
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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