b25e82ed36 
								
							 
						 
						
							
							
								
								Handle errors and format  
							
							
							
						 
						
							2023-12-08 12:19:22 -05:00  
				
					
						
							
							
								 
						
							
								772e73ae48 
								
							 
						 
						
							
							
								
								Fix parsing of hex encoded escaped bytes  
							
							
							
						 
						
							2023-12-08 12:19:22 -05:00  
				
					
						
							
							
								 
						
							
								d0bc782f75 
								
							 
						 
						
							
							
								
								Fix pretty prenting of strings in complex data structures  
							
							
							
						 
						
							2023-12-08 12:19:22 -05:00  
				
					
						
							
							
								 
						
							
								0a1e0d7bee 
								
							 
						 
						
							
							
								
								feat: remove flat-rs crate and use it through pallas_codec  
							
							
							
						 
						
							2023-12-04 22:01:51 -05:00  
				
					
						
							
							
								 
						
							
								b17b7f287c 
								
							 
						 
						
							
							
								
								chore: update to pallas v0.20.0  
							
							
							
						 
						
							2023-12-04 21:44:19 -05:00  
				
					
						
							
							
								 
						
							
								1567e42875 
								
							 
						 
						
							
							
								
								chore: fill in machine todos and cost model for case and constr  
							
							... 
							
							
							
							This allows for several more tests to pass
**Had to remove case-7 since it was incorrectly passing before** 
							
						 
						
							2023-11-17 19:52:03 -05:00  
				
					
						
							
							
								 
						
							
								0382e5ce12 
								
							 
						 
						
							
							
								
								chore: this comment doesn't make sense  
							
							
							
						 
						
							2023-11-17 18:41:28 -05:00  
				
					
						
							
							
								 
						
							
								df992cba67 
								
							 
						 
						
							
							
								
								chore: remove check_type  
							
							
							
						 
						
							2023-11-17 13:58:13 -05:00  
				
					
						
							
							
								 
						
							
								9ab458dcc6 
								
							 
						 
						
							
							
								
								feat: delay typemismatch errors in the machine runtime  
							
							... 
							
							
							
							to pass 2 of the conformance tests, we need to make sure
that we aren't typechecking builtin arguments as arguments
are applied. This switches push to by removing the call to check_type
and then reworking all the associated unwrap methods on Value
so that they return the same errors that were being returned before. 
							
						 
						
							2023-11-17 13:58:13 -05:00  
				
					
						
							
							
								 
						
							
								308fb47e40 
								
							 
						 
						
							
							
								
								fix: don't panic on invalid hex strings  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								dfa0378404 
								
							 
						 
						
							
							
								
								chore: explain a todo in the machine  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								3f8f624a7b 
								
							 
						 
						
							
							
								
								fix(uplc): more whitespace characters  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								58d98b3325 
								
							 
						 
						
							
							
								
								fix(uplc): parser should accept single quote in var name and comments  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								b6f6064aaf 
								
							 
						 
						
							
							
								
								test: add all plutus conformance tests  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								8b89ba3b93 
								
							 
						 
						
							
							
								
								feat: implement bls primitives in code gen  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								d51374aac1 
								
							 
						 
						
							
							
								
								feat: add conversion to data and from data for new primitive types  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								90aea6476a 
								
							 
						 
						
							
							
								
								feat: uplc g1 and g2 literal parsing  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								6ce85e1662 
								
							 
						 
						
							
							
								
								fix: add keccak to TryFrom<u8>  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								49ae8152f8 
								
							 
						 
						
							
							
								
								feat(bls): add new aiken level builtins  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								cdcd8172e6 
								
							 
						 
						
							
							
								
								feat(bls): pretty print mlresult type  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								318ae6aad4 
								
							 
						 
						
							
							
								
								feat(bls): finish cost model  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								5243c36ed6 
								
							 
						 
						
							
							
								
								feat(bls): add default costs for the new functions  
							
							
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								18db1c394a 
								
							 
						 
						
							
							
								
								feat: Implemented builtin semantic versioning  
							
							... 
							
							
							
							feat: impl flat serialization and deserialization for bls constants
feat: started on cost models for the new builtins
Co-authored-by: rvcas <x@rvcas.dev> 
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								f101581813 
								
							 
						 
						
							
							
								
								feat(bls): pretty printing for g1 and g1 element  
							
							... 
							
							
							
							Co-authored-by: Kasey White <kwhitemsg@gmail.com> 
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								0d2ac952d0 
								
							 
						 
						
							
							
								
								feat: implemented the Bls381-12 builtins and types  
							
							... 
							
							
							
							also implemented Keccak256 and Blake2b_224
TODO: cost model, flat serialization, pretty
Co-authored-by: rvcas <x@rvcas.dev> 
							
						 
						
							2023-11-15 15:55:56 -05:00  
				
					
						
							
							
								 
						
							
								7427bac4a0 
								
							 
						 
						
							
							
								
								chore: remove unused code  
							
							
							
						 
						
							2023-11-06 15:37:04 -05:00  
				
					
						
							
							
								 
						
							
								598ec5eaef 
								
							 
						 
						
							
							
								
								Use a better algorithm for inlining single occurrences  
							
							
							
						 
						
							2023-11-06 15:37:04 -05:00  
				
					
						
							
							
								 
						
							
								4dd17dacf3 
								
							 
						 
						
							
							
								
								chore: rename uplc builder builtins  
							
							
							
						 
						
							2023-10-22 17:08:48 -04:00  
				
					
						
							
							
								 
						
							
								3e283a59ec 
								
							 
						 
						
							
							
								
								Split off builtin function builders  
							
							... 
							
							
							
							- sort alphabetically
- add some of the missing builtins used for ints
- comment on what is "correct" for future additions
- comment on the current remaining missing builtins
- comment on the current incoherent method names 
							
						 
						
							2023-10-22 17:08:48 -04:00  
				
					
						
							
							
								 
						
							
								17832fc5af 
								
							 
						 
						
							
							
								
								Fix clippy warnings: remove redundant closures & guards.  
							
							
							
						 
						
							2023-10-21 21:27:31 +02:00  
				
					
						
							
							
								 
						
							
								596ce49327 
								
							 
						 
						
							
							
								
								fix: mixed up operators for ConstAboveDiagonal and ConstBelowDiagonal  
							
							... 
							
							
							
							Closes  #618  
						
							2023-10-13 11:40:07 -04:00  
				
					
						
							
							
								 
						
							
								8964675670 
								
							 
						 
						
							
							
								
								feat: Add tracing for common multivalidator issues  
							
							
							
						 
						
							2023-10-07 19:42:24 -04:00  
				
					
						
							
							
								 
						
							
								9335522df4 
								
							 
						 
						
							
							
								
								Make change @ktorz suggested  
							
							
							
						 
						
							2023-10-07 19:42:24 -04:00  
				
					
						
							
							
								 
						
							
								98cb01413b 
								
							 
						 
						
							
							
								
								chore: prevent strings from being inlined and replicated  
							
							
							
						 
						
							2023-10-07 19:42:24 -04:00  
				
					
						
							
							
								 
						
							
								fb2ca0e3e0 
								
							 
						 
						
							
							
								
								inline is actually cheaper in a lot of cases  
							
							
							
						 
						
							2023-09-29 17:47:39 -04:00  
				
					
						
							
							
								 
						
							
								a2068ff062 
								
							 
						 
						
							
							
								
								fix: optmizer should never inline recursive functions  
							
							... 
							
							
							
							chore: some renames 
							
						 
						
							2023-09-29 17:47:39 -04:00  
				
					
						
							
							
								 
						
							
								335560b81f 
								
							 
						 
						
							
							
								
								Add placeholders for new terms in optimize  
							
							... 
							
							
							
							Update tests to check optimization is applied properly 
							
						 
						
							2023-09-29 17:47:39 -04:00  
				
					
						
							
							
								 
						
							
								5e2a78173b 
								
							 
						 
						
							
							
								
								optimization: increase the cases that inline_basic_reduce can handle  
							
							
							
						 
						
							2023-09-29 17:47:39 -04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9782c094b7 
								
							 
						 
						
							
							
								
								Fix clippy suggestions.  
							
							
							
						 
						
							2023-09-08 16:21:07 +02:00  
				
					
						
							
							
								 
						
							
								819a0a20e6 
								
							 
						 
						
							
							
								
								add tests for case and constr  
							
							... 
							
							
							
							Fix a minor issue with decoding order 
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								c9b01ab365 
								
							 
						 
						
							
							
								
								chore: fill in cost model  
							
							... 
							
							
							
							test: Add case and constr eval tests 
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								85901dc141 
								
							 
						 
						
							
							
								
								chore: update cost model with placeholders for new terms to pass tests  
							
							
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								40e1d39f8b 
								
							 
						 
						
							
							
								
								Add placeholders for cost model  
							
							
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								33d6d3049e 
								
							 
						 
						
							
							
								
								add compute for the new terms constr and case  
							
							
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								e566c4e1de 
								
							 
						 
						
							
							
								
								feat(uplc): add Case and Const terms  
							
							... 
							
							
							
							- parsering
- interning
- flat encoding and decoding
- pretty printing
- debruijn conversion
Co-authored-by: Lucas Rosa <x@rvcas.dev> 
							
						 
						
							2023-09-03 11:52:49 -04:00  
				
					
						
							
							
								 
						
							
								fb967d4c7b 
								
							 
						 
						
							
							
								
								fix: uplc formatter of Data  closes   #716  
							
							
							
						 
						
							2023-08-31 17:20:48 -04:00  
				
					
						
							
							
								 
						
							
								cd3a02416f 
								
							 
						 
						
							
							
								
								chore: rm unused pub function  
							
							
							
						 
						
							2023-08-29 22:30:06 -04:00  
				
					
						
							
							
								 
						
							
								756e16c14b 
								
							 
						 
						
							
							
								
								fix: rename assert to expect  
							
							
							
						 
						
							2023-08-29 22:30:06 -04:00  
				
					
						
							
							
								 
						
							
								051e9a6851 
								
							 
						 
						
							
							
								
								Add some utility functions for displaying Term/PlutusData  
							
							... 
							
							
							
							This is useful with the blueprint stuff, where Term are often just plain PlutusData. 
							
						 
						
							2023-08-19 13:39:39 -04:00  
				
					
						
							
							
								 
						
							
								2600937447 
								
							 
						 
						
							
							
								
								chore: cargo fmt  
							
							
							
						 
						
							2023-08-16 22:56:22 -04:00  
				
					
						
							
							
								 
						
							
								649039c993 
								
							 
						 
						
							
							
								
								tx simulate still need fee work  
							
							
							
						 
						
							2023-08-16 22:37:00 -04:00  
				
					
						
							
							
								 
						
							
								050c41c8dc 
								
							 
						 
						
							
							
								
								tx simulate returns a vector of exbudgets now  
							
							
							
						 
						
							2023-08-16 22:37:00 -04:00  
				
					
						
							
							
								 
						
							
								4a1ae9f412 
								
							 
						 
						
							
							
								
								set eval to public  
							
							
							
						 
						
							2023-08-12 16:42:23 -04:00  
				
					
						
							
							
								 
						
							
								ca4a9fcd3d 
								
							 
						 
						
							
							
								
								chore: make eval function and SlotConfig public  
							
							
							
						 
						
							2023-08-11 20:33:08 -04:00  
				
					
						
							
							
								 
						
							
								8af253e1df 
								
							 
						 
						
							
							
								
								chore: make slot_to_begin_posix_time a public function  
							
							
							
						 
						
							2023-08-11 20:05:22 -04:00  
				
					
						
							
							
								 
						
							
								f464eb3702 
								
							 
						 
						
							
							
								
								Cargo fmt + clippy, with latest rust  
							
							
							
						 
						
							2023-08-07 19:00:39 -04:00  
				
					
						
							
							
								 
						
							
								36c80f36c1 
								
							 
						 
						
							
							
								
								fix tests  
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
				
					
						
							
							
								 
						
							
								f5c7d222aa 
								
							 
						 
						
							
							
								
								optmization fix  
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
				
					
						
							
							
								 
						
							
								960a15c4ec 
								
							 
						 
						
							
							
								
								checkpoint - fixing tests and stuff  
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
				
					
						
							
							
								 
						
							
								6eeb282dee 
								
							 
						 
						
							
							
								
								Now code gen is finished and we just have testing  
							
							
							
						 
						
							2023-08-07 12:02:44 -04:00  
				
					
						
							
							
								 
						
							
								be7a441205 
								
							 
						 
						
							
							
								
								fix(uplc): pair type formatting  closes   #680  
							
							
							
						 
						
							2023-07-19 13:49:05 -04:00  
				
					
						
							
							
								 
						
							
								189150612c 
								
							 
						 
						
							
							
								
								cargo fmt :|  
							
							
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								26a4c57805 
								
							 
						 
						
							
							
								
								Clippy cleanup  
							
							
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								c4690c6e00 
								
							 
						 
						
							
							
								
								Data parsing, tests  
							
							
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								6d9a95ef2d 
								
							 
						 
						
							
							
								
								Add all but data parsing  
							
							... 
							
							
							
							Updates the parsing to the standard, *except* for Data, since that'll be more involved 
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								a48c45b737 
								
							 
						 
						
							
							
								
								Formatting  
							
							
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								ecff82659d 
								
							 
						 
						
							
							
								
								Tweak pretty-printing  
							
							... 
							
							
							
							This pretty printing now (mostly) matches https://github.com/input-output-hk/plutus/issues/4751#issuecomment-1538377273 ; the only concern is whether the PlutusData stuff should be upstreamed to pallas, and whether pallas has a way to print BigInts easier 
							
						 
						
							2023-07-09 23:16:01 -04:00  
				
					
						
							
							
								 
						
							
								2a747305f7 
								
							 
						 
						
							
							
								
								Fixes evaluation of large positive bigint in the UPLC machine  
							
							... 
							
							
							
							Fixes  #511 . 
						
							2023-07-05 18:52:14 +02:00  
				
					
						
							
							
								 
						
							
								8a7df7f66b 
								
							 
						 
						
							
							
								
								test: add empty list test  
							
							
							
						 
						
							2023-07-04 17:19:29 -04:00  
				
					
						
							
							
								 
						
							
								42544af799 
								
							 
						 
						
							
							
								
								fix: safe encode bits to check for 2^num_bits <= byte we are encoding  
							
							... 
							
							
							
							fix: I thought namedDeBruijn takes advantage of Binder for encoding and decoding.
It does not...
fix: Debruijn was being converted to NamedDeBruijn incorrectly 
							
						 
						
							2023-06-30 23:06:38 -04:00  
				
					
						
							
							
								 
						
							
								93135cebbb 
								
							 
						 
						
							
							
								
								fix: redeemers in the script context are sorted by redeemer ptr not data hash  
							
							
							
						 
						
							2023-06-16 12:24:44 -04:00  
				
					
						
							
							
								 
						
							
								a5245fdc6b 
								
							 
						 
						
							
							
								
								chore: couple more identity tests in optimize step  
							
							
							
						 
						
							2023-06-10 00:01:54 -04:00  
				
					
						
							
							
								 
						
							
								8d107b1293 
								
							 
						 
						
							
							
								
								fix(build): --uplc must use Program<Name> to pretty print  
							
							
							
						 
						
							2023-06-07 16:25:59 -04:00  
				
					
						
							
							
								 
						
							
								335cc0c8bc 
								
							 
						 
						
							
							
								
								feat(cli): rework uplc subcommands  
							
							... 
							
							
							
							closes  #553 
* rename flat to encode
* rename unflat to decode
* alias both to their old names
* both only print to stdout
  use can pipe to file
* split cbor and hex flags
* hex flag works for either cbor or flat
* encode takes --to flag
  [name, named-debruijn, debruijn]
* decode takes --from flag
  [name, named-debruijn, debruijn] 
						
							2023-06-01 23:50:59 -04:00  
				
					
						
							
							
								 
						
							
								00ac6b6c56 
								
							 
						 
						
							
							
								
								Fix dumping of builtin pairs  
							
							
							
						 
						
							2023-05-25 18:03:24 -04:00  
				
					
						
							
							
								 
						
							
								a124a16a61 
								
							 
						 
						
							
							
								
								feat(tests): implement a way to express that tests can fail  
							
							
							
						 
						
							2023-05-25 16:54:53 -04:00  
				
					
						
							
							
								 
						
							
								340ed3b6a5 
								
							 
						 
						
							
							
								
								fix: case where identity function was used as a param.  
							
							... 
							
							
							
							This was causing a free unique. The fix is after stripping applied usage of identity,
we then check if it is passed around and if so we leave in the function declaration. 
							
						 
						
							2023-05-16 16:21:37 -04:00  
				
					
						
							
							
								 
						
							
								c3eab4cc2a 
								
							 
						 
						
							
							
								
								chore: fix up when tuple deconstruction test  
							
							... 
							
							
							
							add inline test for optimization tests
add some more builder functions 
							
						 
						
							2023-05-11 18:06:46 -04:00  
				
					
						
							
							
								 
						
							
								1fb31e246c 
								
							 
						 
						
							
							
								
								fix: better conditional comp for wasm  
							
							
							
						 
						
							2023-05-11 16:59:54 -04:00  
				
					
						
							
							
								 
						
							
								0c3dc0580a 
								
							 
						 
						
							
							
								
								chore: add if_else optimization test  
							
							
							
						 
						
							2023-05-09 19:09:24 -04:00  
				
					
						
							
							
								 
						
							
								6456001cbc 
								
							 
						 
						
							
							
								
								fix: the uplc optimization tests were missing intern  
							
							... 
							
							
							
							add builtin force reduce tests 
							
						 
						
							2023-05-09 18:55:53 -04:00  
				
					
						
							
							
								 
						
							
								419b946a82 
								
							 
						 
						
							
							
								
								fix: wrap_data_reduce optimization should leave constr data  
							
							... 
							
							
							
							and unconstr data untouched. 
							
						 
						
							2023-05-09 16:56:50 -04:00  
				
					
						
							
							
								 
						
							
								b36cf1c029 
								
							 
						 
						
							
							
								
								chore: refactor default functions in uplc_code_gen.  
							
							... 
							
							
							
							feat: Add an identity optimization to remove functions that return the argument only. 
							
						 
						
							2023-05-08 16:15:09 -04:00  
				
					
						
							
							
								 
						
							
								d2dbae1cbf 
								
							 
						 
						
							
							
								
								fix:  
							
							... 
							
							
							
							Negative numbers now show up as a constant instead of 0 - that number
Expect on constructors without field maps no longer panics
Expect on constructors with discard as assigned field names now no longer throws free unique 
							
						 
						
							2023-04-30 14:44:54 -04:00  
				
					
						
							
							
								 
						
							
								0d0c96deda 
								
							 
						 
						
							
							
								
								commit validator changes and tests  
							
							
							
						 
						
							2023-04-28 17:05:46 -04:00  
				
					
						
							
							
								 
						
							
								b108c0f610 
								
							 
						 
						
							
							
								
								chore: add optimization test on unwrap data  
							
							
							
						 
						
							2023-04-27 12:17:57 -04:00  
				
					
						
							
							
								 
						
							
								c3184c544c 
								
							 
						 
						
							
							
								
								fix: wrap data reduce had the wrong argument called in recursively, thus skipping over cases that should have been reduced  
							
							... 
							
							
							
							chore: Add unit tests on for uplc optimizations 
							
						 
						
							2023-04-26 17:22:16 -04:00  
				
					
						
							
							
								 
						
							
								ae68ae9afb 
								
							 
						 
						
							
							
								
								fix: wrong var usage on inline_direct_reduce, now it properly looks at applied func not arg  
							
							
							
						 
						
							2023-04-25 01:57:04 -04:00  
				
					
						
							
							
								 
						
							
								016634fc38 
								
							 
						 
						
							
							
								
								fix: inline_direct_reduce now works properly  
							
							
							
						 
						
							2023-04-21 16:01:54 -04:00  
				
					
						
							
							
								 
						
							
								0b7d217bd0 
								
							 
						 
						
							
							
								
								convert acceptance test 8  
							
							
							
						 
						
							2023-04-21 16:01:54 -04:00  
				
					
						
							
							
								 
						
							
								23a7e7e680 
								
							 
						 
						
							
							
								
								chore: convert acceptance test 5  
							
							... 
							
							
							
							Also constructors with no fields are now converted to a constant data term. 
							
						 
						
							2023-04-19 16:08:55 -04:00  
				
					
						
							
							
								 
						
							
								9de713803a 
								
							 
						 
						
							
							
								
								feat: Add wrap data reduce which helps prevent unnecessary wrap to unwrap and vice versa.  
							
							... 
							
							
							
							fix: in inline_reduce the wrong arg name was used. arg instead of argument
refactor var occurences 
							
						 
						
							2023-04-19 16:08:55 -04:00  
				
					
						
							
							
								 
						
							
								7dd13f8d73 
								
							 
						 
						
							
							
								
								feat: add end to end tests to replace acceptance tests with strict uplc comparison.  
							
							... 
							
							
							
							Add acceptance tests 1,2, 6 as end to end tests 
							
						 
						
							2023-04-19 16:08:55 -04:00  
				
					
						
							
							
								 
						
							
								e3f2fb5393 
								
							 
						 
						
							
							
								
								fix: need to return deserialization error here  
							
							
							
						 
						
							2023-04-17 10:50:40 -04:00  
				
					
						
							
							
								 
						
							
								ccc450659a 
								
							 
						 
						
							
							
								
								chore: switch discharge value back to the recursive form for simplicity  
							
							
							
						 
						
							2023-04-13 01:28:27 -04:00  
				
					
						
							
							
								 
						
							
								564939ab61 
								
							 
						 
						
							
							
								
								feat  
							
							... 
							
							
							
							* remove more Rc's
* reconstruct Value::Builtin only when needed
Co-authored-by: Lucas Rosa <x@rvcas.dev> 
							
						 
						
							2023-04-13 01:28:27 -04:00  
				
					
						
							
							
								 
						
							
								09a6ea51d6 
								
							 
						 
						
							
							
								
								feat(machine): reduce term allocations  
							
							... 
							
							
							
							* remove term from VBuiltin
* and also means we don't need the useless wrapping
Co-authored-by: Lucas Rosa <x@rvcas.dev> 
							
						 
						
							2023-04-13 01:28:27 -04:00  
				
					
						
							
							
								 
						
							
								70f12d3fc5 
								
							 
						 
						
							
							
								
								chore: new branch with some things from the bumpalo branch  
							
							
							
						 
						
							2023-04-13 01:28:27 -04:00  
				
					
						
							
							
								 
						
							
								e69a70f49c 
								
							 
						 
						
							
							
								
								remove final wrapper and replace with equivalent air elements  
							
							
							
						 
						
							2023-04-09 17:43:56 -04:00  
				
					
						
							
							
								 
						
							
								f8483da4e0 
								
							 
						 
						
							
							
								
								Code gen now handles expecting on validator args in the air stack.  
							
							... 
							
							
							
							Thus allowing us to use code gen created functions to expect on data types including recursive ones.
Some minor tweaks to the air.
Added a uplc optimization for later. 
							
						 
						
							2023-04-09 17:43:56 -04:00  
				
					
						
							
							
								 
						
							
								a1b3ae52d8 
								
							 
						 
						
							
							
								
								fix: optimization that was being ignored  
							
							
							
						 
						
							2023-04-09 17:43:56 -04:00  
				
					
						
							
							
								 
						
							
								9033b44044 
								
							 
						 
						
							
							
								
								Implement quick builder on PlutusData.  
							
							... 
							
							
							
							In the same spirit of the existing Term builder; I also added a `data`
  method to lift a `PlutusData` into a `Term<T>` and generalized a bit
  the builder to only require a `Term<Name>` when necessary and remain
  generic otherwise.
  The `PlutusData` builder could potentially be upstreamed to pallas
  diretly. 
							
						 
						
							2023-04-08 08:57:03 +02:00  
				
					
						
							
							
								 
						
							
								1444c9328d 
								
							 
						 
						
							
							
								
								fix some typos  
							
							
							
						 
						
							2023-04-07 16:51:18 -04:00  
				
					
						
							
							
								 
						
							
								057102c491 
								
							 
						 
						
							
							
								
								Add function to uplc::parser for string escape  
							
							... 
							
							
							
							Was originally written as a way to fix a failing property test on the
  program_builder; but the program builder is now gone. This function
  is still useful to have around. 
							
						 
						
							2023-04-05 14:27:20 +02:00  
				
					
						
							
							
								 
						
							
								298e8068ee 
								
							 
						 
						
							
							
								
								chore: remove program_builder  
							
							
							
						 
						
							2023-03-30 21:15:27 -04:00  
				
					
						
							
							
								 
						
							
								1d3315005c 
								
							 
						 
						
							
							
								
								Support some single-character escape sequences in UPLC  
							
							... 
							
							
							
							Fixes  #472 .
  This also partially addresses #195 . However, as pointed out in one of
  the comment, there's no 'official rule' when it comes to what should
  be considered valid escape sequences. Haskell relies mostly on the
  AttoParsec library and Rust also has its own set of rules.
  This is in particular true for unicode escape sequences, but there is
  a common middleground for some usual single character escapes such as
  \n or \\. So we now at least support these.
  For more complicated escape sequence, please refer to #195  for now and
  keep the discussion going there. 
						
							2023-03-30 11:50:59 +02:00  
				
					
						
							
							
								 
						
							
								aa29636d50 
								
							 
						 
						
							
							
								
								fix: scope issue with  ir_stack being incremented wrongly with assignment  
							
							... 
							
							
							
							Also fixed  scope of constructor tag and void in whens 
							
						 
						
							2023-03-28 21:15:22 -04:00  
				
					
						
							
							
								 
						
							
								33a3c5dc13 
								
							 
						 
						
							
							
								
								feat(gen_uplc): introduce scope new type  
							
							... 
							
							
							
							* new module scope which holds some ancestor logic
* rework some things to truly hide scope increments
Co-authored-by: Kasey White <kwhitemsg@gmail.com> 
							
						 
						
							2023-03-27 20:00:32 -04:00  
				
					
						
							
							
								 
						
							
								3e6f688e2d 
								
							 
						 
						
							
							
								
								feat: refactor some methods and modules  
							
							... 
							
							
							
							* move uplc::ast::builder to uplc::builder
* rename aiken_lang::uplc to aiken_lang::gen_uplc
* move aiken_lang::air and aiken_lang::builder to aiken_lang::gen_uplc
  as submodules
Co-authored-by: Kasey White <kwhitemsg@gmail.com> 
							
						 
						
							2023-03-27 20:00:32 -04:00  
				
					
						
							
							
								 
						
							
								bb820ebdd8 
								
							 
						 
						
							
							
								
								fix: trace and scope issues  
							
							... 
							
							
							
							fix scope issues involving fieldsexpose and other destructureing pattern
fix trace to extract string from term. 
							
						 
						
							2023-03-21 12:38:13 -04:00  
				
					
						
							
							
								 
						
							
								6e5b24a937 
								
							 
						 
						
							
							
								
								refactor the rest of the term builders to use more concise code  
							
							
							
						 
						
							2023-03-21 00:50:13 -04:00  
				
					
						
							
							
								 
						
							
								50db958d06 
								
							 
						 
						
							
							
								
								update codegen to use more streamlined uplc building methods  
							
							
							
						 
						
							2023-03-21 00:50:13 -04:00  
				
					
						
							
							
								 
						
							
								ef3862ade8 
								
							 
						 
						
							
							
								
								refactor: uplc code gen uses shorthand methods  
							
							
							
						 
						
							2023-03-21 00:50:13 -04:00  
				
					
						
							
							
								 
						
							
								c3870e340e 
								
							 
						 
						
							
							
								
								feat(codegen): support multi-validators  
							
							... 
							
							
							
							* rename force_wrap to force
* add a bunch of builder methods to Term<Name>
* refactor one tiny location to show off builder methods
* split generate into `generate` and `generate_test`
* create wrap_as_multi_validator function
Co-authored-by: Kasey White <kwhitemsg@gmail.com> 
							
						 
						
							2023-03-17 18:40:44 -04:00  
				
					
						
							
							
								 
						
							
								5e3a902c75 
								
							 
						 
						
							
							
								
								fix: add back some extra info on display  
							
							
							
						 
						
							2023-03-17 09:35:10 -04:00  
				
					
						
							
							
								 
						
							
								f8545854fc 
								
							 
						 
						
							
							
								
								feat: json output for uplc eval  
							
							
							
						 
						
							2023-03-08 10:19:36 +01:00  
				
					
						
							
							
								 
						
							
								bd7b8792bf 
								
							 
						 
						
							
							
								
								feat: introduce EvalResult type  
							
							
							
						 
						
							2023-03-08 10:19:36 +01:00  
				
					
						
							
							
								 
						
							
								4f1d14f2a0 
								
							 
						 
						
							
							
								
								feat: introduce miette into uplc  
							
							
							
						 
						
							2023-03-08 10:19:35 +01:00  
				
					
						
							
							
								 
						
							
								8f765bfd52 
								
							 
						 
						
							
							
								
								fix: some breaking changes from pallas v0.18  
							
							
							
						 
						
							2023-03-06 13:17:14 -05:00  
				
					
						
							
							
								 
						
							
								fbf65de1dc 
								
							 
						 
						
							
							
								
								Update default cost models for Aiken  
							
							... 
							
							
							
							Closes  #396  
						
							2023-02-22 17:03:48 +01:00  
				
					
						
							
							
								 
						
							
								00e9dabe82 
								
							 
						 
						
							
							
								
								Add missing Plutus builtins to Aiken's lang.  
							
							
							
						 
						
							2023-02-22 12:53:03 +01:00  
				
					
						
							
							
								 
						
							
								f3cdc05875 
								
							 
						 
						
							
							
								
								fix: the refactor on discharge value env ( #393 )  
							
							
							
						 
						
							2023-02-18 20:49:29 -05:00  
				
					
						
							
							
								 
						
							
								014c7a3d73 
								
							 
						 
						
							
							
								
								Fix error display in tx simulate.  
							
							
							
						 
						
							2023-02-15 09:42:46 +01:00  
				
					
						
							
							
								 
						
							
								428b5f2b37 
								
							 
						 
						
							
							
								
								Align output of `tx simulate` with other Aiken's commands.  
							
							... 
							
							
							
							And also return a structured output as JSON, so it's more easily used
  by other tools.
  ```
       Parsing script context
    Simulating 78ec148ea647cf9969446891af31939c5d57b275a2455706782c6183ef0b62f1
      Redeemer Spend → 0
  {"mem":151993,"cpu":58180696}
  ``` 
							
						 
						
							2023-02-14 16:50:55 +01:00  
				
					
						
							
							
								 
						
							
								34596b3084 
								
							 
						 
						
							
							
								
								Fix collecting withdrawal scripts in eval_phase_one  
							
							... 
							
							
							
							The current implementation assumed that ALL withdrawals present in a
  transaction had to be locked by a script and failed otherwise. But a
  transaction can actually be composed of both. So instead of failing,
  we should rather just ignore withdrawals that can't be referenced by
  redeemers. 
							
						 
						
							2023-02-14 15:58:34 +01:00  
				
					
						
							
							
								 
						
							
								e92d9af3c2 
								
							 
						 
						
							
							
								
								fix: changed how list_access_to_uplc handles discards fixing unit test 55  
							
							... 
							
							
							
							Also fix incorrect error message in runtime in machine 
							
						 
						
							2023-02-11 04:30:18 -05:00  
				
					
						
							
							
								 
						
							
								0269409fa1 
								
							 
						 
						
							
							
								
								case where removing a lam with 0 occurrences is not safe  
							
							... 
							
							
							
							Since a function call can have arbitrary other calls that lead to error and that is difficult to detect. 
							
						 
						
							2023-02-10 19:24:47 -05:00  
				
					
						
							
							
								 
						
							
								c1d67e95e1 
								
							 
						 
						
							
							
								
								feat: fix errors and add tests for BigInt changes  
							
							
							
						 
						
							2023-02-09 15:01:30 -05:00  
				
					
						
							
							
								 
						
							
								bd4aeb779c 
								
							 
						 
						
							
							
								
								Implement integer_log2 on BigInt  
							
							... 
							
							
							
							Comparing it with the Haskell's implementation. 
							
						 
						
							2023-02-09 18:14:00 +01:00  
				
					
						
							
							
								 
						
							
								e76d26eb3c 
								
							 
						 
						
							
							
								
								Fixup: follow compiler.  
							
							
							
						 
						
							2023-02-09 16:09:49 +01:00  
				
					
						
							
							
								 
						
							
								cfbe5fd3cc 
								
							 
						 
						
							
							
								
								feat: use BigInt in constant integer  
							
							
							
						 
						
							2023-02-09 09:46:42 -05:00  
				
					
						
							
							
								 
						
							
								ec58279424 
								
							 
						 
						
							
							
								
								test(machine): integer overflow  
							
							
							
						 
						
							2023-02-09 09:44:06 -05:00  
				
					
						
							
							
								 
						
							
								986a6009f7 
								
							 
						 
						
							
							
								
								fix: Various fixes for FieldsExpose, ListAccessor, TupleAccessor  
							
							
							
						 
						
							2023-02-09 00:09:23 -05:00  
				
					
						
							
							
								 
						
							
								221f1afbfe 
								
							 
						 
						
							
							
								
								Changed imports  
							
							
							
						 
						
							2023-02-08 16:28:59 +01:00  
				
					
						
							
							
								 
						
							
								74b3507777 
								
							 
						 
						
							
							
								
								Added tag/constructor conversion tests  
							
							
							
						 
						
							2023-02-08 16:26:58 +01:00  
				
					
						
							
							
								 
						
							
								242eaa8b67 
								
							 
						 
						
							
							
								
								Merge pull request  #347  from spacebudz/constr  
							
							... 
							
							
							
							Fix constructor tag range 
							
						 
						
							2023-02-08 14:52:50 +01:00  
				
					
						
							
							
								 
						
							
								ce648b7483 
								
							 
						 
						
							
							
								
								Fixed schnorr and limiting it to 32 bytes messages for now  
							
							
							
						 
						
							2023-02-08 08:04:24 -05:00  
				
					
						
							
							
								 
						
							
								3012a0b41d 
								
							 
						 
						
							
							
								
								Fix constructor tag range  
							
							
							
						 
						
							2023-02-08 13:14:26 +01:00  
				
					
						
							
							
								 
						
							
								7c9443d87f 
								
							 
						 
						
							
							
								
								Changed to prehash function  
							
							
							
						 
						
							2023-02-07 22:53:30 +01:00  
				
					
						
							
							
								 
						
							
								08e8347317 
								
							 
						 
						
							
							
								
								chore: rename feature flag to native-secp256k1  
							
							
							
						 
						
							2023-02-07 00:25:22 -05:00  
				
					
						
							
							
								 
						
							
								67a2674d27 
								
							 
						 
						
							
							
								
								feat: allow verify functions to build for wasm  
							
							
							
						 
						
							2023-02-07 00:25:22 -05:00  
				
					
						
							
							
								 
						
							
								f1b24a5f6d 
								
							 
						 
						
							
							
								
								fix: the following issues  
							
							... 
							
							
							
							fix conversion from inner opaque type for when and assignment
This fixes Clause being used in cases where ListClause or TupleClause should be used
Reset defined and zero arg functions between each code gen
Fixes for optimizations when encountering shadowed variables 
							
						 
						
							2023-02-05 20:35:39 -05:00  
				
					
						
							
							
								 
						
							
								c32a9d7b6f 
								
							 
						 
						
							
							
								
								commit working changes so far  
							
							
							
						 
						
							2023-02-05 20:35:39 -05:00  
				
					
						
							
							
								 
						
							
								31cd19f198 
								
							 
						 
						
							
							
								
								feat: use secp256k1 to implement verify for ecdsa and schnorr  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								cde3e31723 
								
							 
						 
						
							
							
								
								feat: fill in todo for verify ecdsa and schnorr costing  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								09d8d683b6 
								
							 
						 
						
							
							
								
								fix: switch to error from secp256k1  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								c2ff9389c5 
								
							 
						 
						
							
							
								
								feat(runtime): implement verifyEcdsaSecp256k1Signature  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								d224fe5356 
								
							 
						 
						
							
							
								
								feat(runtime): set force count and arg typechecking for the elliptic curve builtins  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								fb37521857 
								
							 
						 
						
							
							
								
								feat: make a transparent machine error for signature::Error  
							
							
							
						 
						
							2023-02-04 22:07:56 -05:00  
				
					
						
							
							
								 
						
							
								700e9cab5b 
								
							 
						 
						
							
							
								
								Add missing carets when dumping builtin list  
							
							
							
						 
						
							2023-02-02 17:32:03 -05:00  
				
					
						
							
							
								 
						
							
								c9d0ce0392 
								
							 
						 
						
							
							
								
								chore: fmt  
							
							
							
						 
						
							2023-02-01 23:49:33 -05:00  
				
					
						
							
							
								 
						
							
								1843b7e73b 
								
							 
						 
						
							
							
								
								clippy fix and remove some prints  
							
							
							
						 
						
							2023-02-01 23:49:33 -05:00  
				
					
						
							
							
								 
						
							
								9dc2bac2c3 
								
							 
						 
						
							
							
								
								fix:minor optimization fixes  
							
							... 
							
							
							
							Unique only comparison for equals led to strange results
Fixed by interning in a different spot 
							
						 
						
							2023-02-01 23:49:33 -05:00  
				
					
						
							
							
								 
						
							
								fdf89b7326 
								
							 
						 
						
							
							
								
								implement optimizations  
							
							... 
							
							
							
							-Force usage on builtins
-Inline vars used once
-Lambdas that use a var as an arg
-Lambdas that use a const as an arg 
							
						 
						
							2023-02-01 23:49:33 -05:00  
				
					
						
							
							
								 
						
							
								3123ad9079 
								
							 
						 
						
							
							
								
								change eval_builtin_app to return Rc so that ifthenelse and chooselist are faster  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								456b08a205 
								
							 
						 
						
							
							
								
								minor performance improvements  
							
							... 
							
							
							
							Changed a couple cases where the inner Rc object was cloned to use the Rc object instead 
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								a365649360 
								
							 
						 
						
							
							
								
								chore: clippy autofix  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								9c4e921e79 
								
							 
						 
						
							
							
								
								feat: more Rc in machine  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								c8efe60843 
								
							 
						 
						
							
							
								
								feat: use Rc for more things, fib_iter runs almost 3 seconds faster now  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								eda3194cf0 
								
							 
						 
						
							
							
								
								feat: trying Rc for Name  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								b5d9a9bb52 
								
							 
						 
						
							
							
								
								Change discharge_value and discharge_value_env to use a stack machine  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								790e8ba680 
								
							 
						 
						
							
							
								
								fix: start trying to get rid of recursion for discharge value  
							
							
							
						 
						
							2023-02-01 18:53:11 -05:00  
				
					
						
							
							
								 
						
							
								cab59c188a 
								
							 
						 
						
							
							
								
								Define serde's Serialize/Deserialize for Program<DeBrujin>  
							
							... 
							
							
							
							This will be useful to re-use this behavior in other structure that contains a Program<DeBruijn> without having to manually serialize or deserialize the entire structure. 
							
						 
						
							2023-01-31 15:39:40 +01:00  
				
					
						
							
							
								 
						
							
								afd040fda5 
								
							 
						 
						
							
							
								
								feat: Finish up assert feature  
							
							... 
							
							
							
							Better error reporing on NonFunctionalApplication Error
Refactor redundant code
Add handling of whens with one clause. 
							
						 
						
							2023-01-29 05:21:55 -05:00  
				
					
						
							
							
								 
						
							
								fc88028034 
								
							 
						 
						
							
							
								
								some refactoring and adding assert on lists  
							
							
							
						 
						
							2023-01-27 05:02:19 -05:00  
				
					
						
							
							
								 
						
							
								c89802eaed 
								
							 
						 
						
							
							
								
								chore: bump pallas version  
							
							
							
						 
						
							2023-01-06 13:39:18 -05:00  
				
					
						
							
							
								 
						
							
								3aba9baba5 
								
							 
						 
						
							
							
								
								Fixed reward account creation in ScriptContext  
							
							
							
						 
						
							2023-01-05 10:31:32 -05:00  
				
					
						
							
							
								 
						
							
								b0ea187151 
								
							 
						 
						
							
							
								
								better data deserialization errors and test hint  
							
							... 
							
							
							
							now runs even being in a sequence 
							
						 
						
							2022-12-30 14:01:11 -05:00  
				
					
						
							
							
								 
						
							
								a08c615da4 
								
							 
						 
						
							
							
								
								checkpoint  
							
							
							
						 
						
							2022-12-27 19:35:08 -05:00  
				
					
						
							
							
								 
						
							
								b7d506a8db 
								
							 
						 
						
							
							
								
								nested lists now work  
							
							
							
						 
						
							2022-12-27 19:35:08 -05:00  
				
					
						
							
							
								 
						
							
								6126ee4cb4 
								
							 
						 
						
							
							
								
								checkpoint  
							
							
							
						 
						
							2022-12-27 19:35:08 -05:00  
				
					
						
							
							
								 
						
							
								b97570bc00 
								
							 
						 
						
							
							
								
								Fixed clippy issue  
							
							
							
						 
						
							2022-12-27 17:08:05 -05:00  
				
					
						
							
							
								 
						
							
								c6b5380c27 
								
							 
						 
						
							
							
								
								Fixed ex unit budget limit per redeemer  
							
							
							
						 
						
							2022-12-27 17:08:05 -05:00  
				
					
						
							
							
								 
						
							
								b3266fb837 
								
							 
						 
						
							
							
								
								chore: clippy warnings  
							
							
							
						 
						
							2022-12-20 16:32:31 -05:00  
				
					
						
							
							
								 
						
							
								529b3e87ff 
								
							 
						 
						
							
							
								
								Rename builtin as 'verify_ed25519_signature'  
							
							... 
							
							
							
							It's best to keep builtin as-close-as possible to their standard name
  because they're hard to document. We can then leverage the prelude and
  the standard lib for convenient names. 
							
						 
						
							2022-12-19 00:41:27 -05:00  
				
					
						
							
							
								 
						
							
								e6c59dca2c 
								
							 
						 
						
							
							
								
								cleanup if then else a bit  
							
							
							
						 
						
							2022-12-19 00:41:27 -05:00  
				
					
						
							
							
								 
						
							
								775e90d782 
								
							 
						 
						
							
							
								
								chore: remove unnecessary Option wrapper on type  
							
							
							
						 
						
							2022-12-15 18:22:31 -05:00  
				
					
						
							
							
								 
						
							
								325a7b7b45 
								
							 
						 
						
							
							
								
								fix: correct V1 to_plutus_data() for txout with no datum hash  
							
							
							
						 
						
							2022-12-15 18:22:31 -05:00  
				
					
						
							
							
								 
						
							
								141a9aef30 
								
							 
						 
						
							
							
								
								feat: impl Sub for ExBudget  
							
							
							
						 
						
							2022-12-08 19:24:20 -05:00  
				
					
						
							
							
								 
						
							
								f250d3df84 
								
							 
						 
						
							
							
								
								feat: eval should take initial budget  
							
							
							
						 
						
							2022-12-08 19:24:20 -05:00  
				
					
						
							
							
								 
						
							
								2f7131e9b8 
								
							 
						 
						
							
							
								
								feat: add tuples and streamline conversion of types to and from data  
							
							
							
						 
						
							2022-12-07 08:40:23 -05:00  
				
					
						
							
							
								 
						
							
								29a30aa61f 
								
							 
						 
						
							
							
								
								feat: finished when constr is for IR and code gen  
							
							
							
						 
						
							2022-12-05 14:18:44 -05:00  
				
					
						
							
							
								 
						
							
								86ea41adc3 
								
							 
						 
						
							
							
								
								feat: start when expressions  
							
							
							
						 
						
							2022-12-05 14:18:44 -05:00  
				
					
						
							
							
								 
						
							
								8b24a66b7e 
								
							 
						 
						
							
							
								
								add field access and list patterns are finished  
							
							... 
							
							
							
							Co-authored-by: rvcas <x@rvcas.dev> 
							
						 
						
							2022-12-05 14:18:44 -05:00  
				
					
						
							
							
								 
						
							
								375499930a 
								
							 
						 
						
							
							
								
								Add UPLC support for 'ProtoList' & 'ProtoPair' constants  
							
							... 
							
							
							
							Supersedes #35 .
  The syntax for these elements isn't "set in stone"; in the sense that it is unspecified in [input-output-hk/plutus](https://github.com/input-output-hk/plutus ). There's no visible plan from IOG to extend the Haskell parser to support this syntax, though there are samples of imagined syntax in the code. Thus, we can lead the way and simply choose a suitable syntax and let the Haskell implementation align to it later.
  This syntax is thus inspired from input-output-hk/plutus' samples, with only a small change: we use `<` and `>` for encapsulating type declaration instead of `(`, `)`. There are already enough parentheses in the UPLC syntax, adding more reduces visibility.
  Doing this, I've also added a lot more test cases for the UPLC parser. There could be more, but this is a good start.
  Here are some example programs (taken from test cases) utilizing this syntax:
  ```
  (program 0.0.0 (con list<bytestring> [#00 , #01 ]))
  ```
  ```
  (program 0.0.0
      (con pair
        <integer, integer>
        [14, 42]
      )
  )
  ```
  ```
  (program 0.0.0
      (con pair<string, list<integer>> ["foo", [14, 42]])
  )
  ```
  _(Note that this was mainly done as an exercise to get more familiar with Rust and parts of Aiken.)_ 
							
						 
						
							2022-12-03 10:16:16 -05:00  
				
					
						
							
							
								 
						
							
								6066e3176c 
								
							 
						 
						
							
							
								
								move `to_string()` outside of the match  
							
							
							
						 
						
							2022-11-28 17:30:45 -05:00  
				
					
						
							
							
								 
						
							
								d5087dbcc7 
								
							 
						 
						
							
							
								
								fix: it's more consistent to have snakecase builtins  
							
							
							
						 
						
							2022-11-24 18:36:22 -05:00  
				
					
						
							
							
								 
						
							
								01e91b9fe5 
								
							 
						 
						
							
							
								
								chore: deal with clippy warnings  
							
							
							
						 
						
							2022-11-10 01:27:18 -05:00  
				
					
						
							
							
								 
						
							
								6c6aefd1c4 
								
							 
						 
						
							
							
								
								get basic when conditions to work  
							
							
							
						 
						
							2022-11-08 22:21:07 -05:00  
				
					
						
							
							
								 
						
							
								d8f3ada13e 
								
							 
						 
						
							
							
								
								chore: add default for Interner  
							
							
							
						 
						
							2022-11-08 22:21:07 -05:00  
				
					
						
							
							
								 
						
							
								ffa78e4c30 
								
							 
						 
						
							
							
								
								work out some initial direction for code gen  
							
							
							
						 
						
							2022-11-08 22:21:07 -05:00  
				
					
						
							
							
								 
						
							
								af7ca87ffc 
								
							 
						 
						
							
							
								
								Fixed more clippy issues  
							
							
							
						 
						
							2022-11-04 18:21:22 +01:00  
				
					
						
							
							
								 
						
							
								9a2c6753cd 
								
							 
						 
						
							
							
								
								Fixed clippy issues  
							
							
							
						 
						
							2022-11-04 18:13:46 +01:00  
				
					
						
							
							
								 
						
							
								d1141f306a 
								
							 
						 
						
							
							
								
								Sorted all relevant structures in ScriptContext  
							
							
							
						 
						
							2022-11-04 17:58:23 +01:00  
				
					
						
							
							
								 
						
							
								887f5eeee9 
								
							 
						 
						
							
							
								
								sorts inputs for sc  
							
							
							
						 
						
							2022-11-03 05:04:21 -04:00  
				
					
						
							
							
								 
						
							
								aabcacbe87 
								
							 
						 
						
							
							
								
								Expose Pallas stuff, bump version, update changelog  
							
							
							
						 
						
							2022-10-27 20:40:37 -07:00  
				
					
						
							
							
								 
						
							
								819256df99 
								
							 
						 
						
							
							
								
								feat: wrap up adding uplc builtins for now  
							
							
							
						 
						
							2022-10-25 18:52:27 -04:00  
				
					
						
							
							
								 
						
							
								c89690aa77 
								
							 
						 
						
							
							
								
								Create unknown constructor error for decode  
							
							
							
						 
						
							2022-10-23 17:54:21 -04:00  
				
					
						
							
							
								 
						
							
								360a5b6017 
								
							 
						 
						
							
							
								
								preceding bytes output changes if you error before position 5  
							
							
							
						 
						
							2022-10-23 17:54:21 -04:00