b93e14659c 
								
							 
						 
						
							
							
								
								Refactor blueprint & handle annotated schemas  
							
							... 
							
							
							
							This also now introduce two levels of representable types (because it's needed at least for tuples):
  Plutus Data (a.k.a Data) and UPLC primitives / constants (a.k.a Schema).
  In practice, we don't want to specify blueprints that use direct UPLC primitives because there's little support for producing those in the ecosystem. So we should aim for producing only Data whenever we can. Yet we don't want to forbid it either in case people know what they're doing. Which means that we need to capture that difference well in the type modelling (in Rust and in the CIP-0057 specification).
  I've also simplified the error type for now, just to provide some degree of feedback while working on this. I'll refine it later with proper errors. 
							
						 
						
							2023-01-31 09:48:44 +01:00  
				
					
						
							
							
								 
						
							
								547696abde 
								
							 
						 
						
							
							
								
								Add title and description to exported types in the blueprint  
							
							... 
							
							
							
							This also fixes a bug where the documentation of record constructor arguments would be dropped after type-checking. Took me a while to pinpoint. 
							
						 
						
							2023-01-31 09:48:44 +01:00  
				
					
						
							
							
								 
						
							
								59ffc6434f 
								
							 
						 
						
							
							
								
								Add title to blueprint's validators  
							
							... 
							
							
							
							And use it to prefix UPLC artifacts' names. 
							
						 
						
							2023-01-31 09:48:44 +01:00  
				
					
						
							
							
								 
						
							
								f8970ecb9e 
								
							 
						 
						
							
							
								
								Move UPLC dump into separate function + log event.  
							
							... 
							
							
							
							```
    Compiling aiken-lang/stdlib 43d8e740ffdf5febc59e51b7f0d5f8506115340c (examples/hello_world/build/packages/aiken-lang-stdlib)
    Compiling aiken-lang/hello_world 1.0.0 (examples/hello_world)
   Generating project's blueprint (examples/hello_world/plutus.json)
    Exporting UPLC (examples/hello_world/artifacts)
  ``` 
							
						 
						
							2023-01-31 09:48:44 +01:00  
				
					
						
							
							
								 
						
							
								b667b7f7b7 
								
							 
						 
						
							
							
								
								Refactor test collection to use the new CheckedModules method  
							
							... 
							
							
							
							And also, caught a little issue regarding the filtering of test cases. 
							
						 
						
							2023-01-31 09:48:44 +01:00  
				
					
						
							
							
								 
						
							
								5683d19a4c 
								
							 
						 
						
							
							
								
								Refactor build steps to generate blueprints instead  
							
							... 
							
							
							
							The blueprint is generated at the root of the repository and is
  intended to be versioned with the rest. It acts as a business card
  that contains many practical information. There's a variety of tools
  we can then build on top of open-source contracts. And, quite
  importantly, the blueprint is language-agnostic; it isn't specific to
  Aiken. So it is really meant as an interop format within the
  ecosystem. 
							
						 
						
							2023-01-31 09:48:38 +01:00  
				
					
						
							
							
								 
						
							
								3cefbd00af 
								
							 
						 
						
							
							
								
								Draft basic Blueprint schema type definition.  
							
							... 
							
							
							
							This doesn't include validations yet. Let's start simple
  and try to get some basic schema generated already. 
							
						 
						
							2023-01-31 09:47:47 +01:00  
				
					
						
							
							
								 
						
							
								0e65fecf69 
								
							 
						 
						
							
							
								
								Merge pull request  #302  from aiken-lang/when-clause-guards  
							
							... 
							
							
							
							When clause guards 
							
						 
						
							2023-01-30 12:18:04 -05:00  
				
					
						
							
							
								 
						
							
								60ad3dae50 
								
							 
						 
						
							
							
								
								chore: fmt builder.rs  
							
							
							
						 
						
							2023-01-30 12:07:50 -05:00  
				
					
						
							
							
								 
						
							
								d4a73f1235 
								
							 
						 
						
							
							
								
								chore: commit assets  
							
							
							
						 
						
							2023-01-30 12:01:56 -05:00  
				
					
						
							
							
								 
						
							
								af67f41ead 
								
							 
						 
						
							
							
								
								fix: Air::Lam not real, probably meant Air::Let  
							
							
							
						 
						
							2023-01-30 12:01:40 -05:00  
				
					
						
							
							
								 
						
							
								aec79936e2 
								
							 
						 
						
							
							
								
								chore: move a test case to 049  
							
							
							
						 
						
							2023-01-30 11:49:18 -05:00  
				
					
						
							
							
								 
						
							
								b653714c0c 
								
							 
						 
						
							
							
								
								Merge branch 'main' into when-clause-guards  
							
							
							
						 
						
							2023-01-30 11:40:29 -05:00  
				
					
						
							
							
								 
						
							
								f7421032bd 
								
							 
						 
						
							
							
								
								Merge pull request  #315  from aiken-lang/assert-data-type  
							
							... 
							
							
							
							Assert data type to type cast 
							
						 
						
							2023-01-30 11:34:47 -05:00  
				
					
						
							
							
								 
						
							
								0ea2be0e95 
								
							 
						 
						
							
							
								
								feat: Add codegen for handling clause guards  
							
							
							
						 
						
							2023-01-30 05:11:27 -05:00  
				
					
						
							
							
								 
						
							
								a638388747 
								
							 
						 
						
							
							
								
								Add more complex test 40.  
							
							... 
							
							
							
							Add assert for when constr index is given 
							
						 
						
							2023-01-30 04:17:03 -05:00  
				
					
						
							
							
								 
						
							
								8c04ab093a 
								
							 
						 
						
							
							
								
								update test 40  
							
							
							
						 
						
							2023-01-30 03:24:52 -05: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  
				
					
						
							
							
								 
						
							
								4c8089c28a 
								
							 
						 
						
							
							
								
								Assert now works for a variety of types.  
							
							... 
							
							
							
							Still some final work to finish and test. Things are good so far 
							
						 
						
							2023-01-28 05:14:12 -05:00  
				
					
						
							
							
								 
						
							
								60736b4a54 
								
							 
						 
						
							
							
								
								chore: Add error when type casting without annotation  
							
							... 
							
							
							
							Also implement and test most of assert. Finishing last few cases. 
							
						 
						
							2023-01-28 02:40:53 -05:00  
				
					
						
							
							
								 
						
							
								fc88028034 
								
							 
						 
						
							
							
								
								some refactoring and adding assert on lists  
							
							
							
						 
						
							2023-01-27 05:02:19 -05:00  
				
					
						
							
							
								 
						
							
								d4eec1fe79 
								
							 
						 
						
							
							
								
								chore: Add scaffolding for assert  
							
							
							
						 
						
							2023-01-27 05:02:19 -05:00  
				
					
						
							
							
								 
						
							
								38c24cca01 
								
							 
						 
						
							
							
								
								single clause when not yet implemented  
							
							
							
						 
						
							2023-01-27 05:02:19 -05:00  
				
					
						
							
							
								 
						
							
								1af1b6d898 
								
							 
						 
						
							
							
								
								finalize aiken ir with typing  
							
							
							
						 
						
							2023-01-27 05:02:19 -05:00  
				
					
						
							
							
								 
						
							
								4976ea4164 
								
							 
						 
						
							
							
								
								chore: add test for the new token captures  
							
							
							
						 
						
							2023-01-26 10:16:29 -05:00  
				
					
						
							
							
								 
						
							
								703fcb451d 
								
							 
						 
						
							
							
								
								fix(parser,windows): capture carriage return properly  
							
							
							
						 
						
							2023-01-26 10:16:29 -05:00  
				
					
						
							
							
								 
						
							
								3c97f057cc 
								
							 
						 
						
							
							
								
								chore: fix clippy  
							
							
							
						 
						
							2023-01-24 12:07:06 -05:00  
				
					
						
							
							
								 
						
							
								ba05f1f070 
								
							 
						 
						
							
							
								
								feat: add label to span  
							
							
							
						 
						
							2023-01-24 12:07:06 -05:00  
				
					
						
							
							
								 
						
							
								a485406e3d 
								
							 
						 
						
							
							
								
								fix: use the location of the pattern not the entire clause  
							
							
							
						 
						
							2023-01-24 12:07:06 -05:00  
				
					
						
							
							
								 
						
							
								7206360baa 
								
							 
						 
						
							
							
								
								feat(when): single when clause now emits warning  
							
							
							
						 
						
							2023-01-24 12:07:06 -05:00  
				
					
						
							
							
								 
						
							
								ad7a62d2bf 
								
							 
						 
						
							
							
								
								Merge pull request  #306  from aiken-lang/micah/acceptance-test-048  
							
							... 
							
							
							
							Added 048 acceptance test 
							
						 
						
							2023-01-23 12:46:42 +11:00  
				
					
						
							
							
								 
						
							
								d608c50130 
								
							 
						 
						
							
							
								
								Added 048 acceptance test  
							
							
							
						 
						
							2023-01-23 01:12:29 +11:00  
				
					
						
							
							
								 
						
							
								e36f91c39c 
								
							 
						 
						
							
							
								
								fix: multiple list cases of the same length weren't being handled  
							
							
							
						 
						
							2023-01-21 19:42:17 -05:00  
				
					
						
							
							
								 
						
							
								a178cee7bf 
								
							 
						 
						
							
							
								
								Add new acceptance test scenario: 046  
							
							
							
						 
						
							2023-01-21 19:42:17 -05:00  
				
					
						
							
							
								 
						
							
								e8fb386bdc 
								
							 
						 
						
							
							
								
								chore: Switch from hashmap and hashset to indexmap and indexset  
							
							
							
						 
						
							2023-01-21 18:10:15 -05:00  
				
					
						
							
							
								 
						
							
								a926a1a2d4 
								
							 
						 
						
							
							
								
								Add new acceptance test scenario 048  
							
							
							
						 
						
							2023-01-21 17:49:44 +01:00  
				
					
						
							
							
								 
						
							
								5d7585cc05 
								
							 
						 
						
							
							
								
								Implement parser for when clause guard  
							
							... 
							
							
							
							With pretty parse errors on failures. The type-checker was already
  implemented for those, so it now only requires some work in the code
  generation.
  Fixes  #297 . 
							
						 
						
							2023-01-21 17:43:13 +01:00  
				
					
						
							
							
								 
						
							
								91bd0d1d77 
								
							 
						 
						
							
							
								
								Display warning help + minor error improvements.  
							
							
							
						 
						
							2023-01-21 17:42:58 +01:00  
				
					
						
							
							
								 
						
							
								83fd910604 
								
							 
						 
						
							
							
								
								Update artifacts from acceptance tests 036  
							
							
							
						 
						
							2023-01-21 12:46:22 +01:00  
				
					
						
							
							
								 
						
							
								333a990249 
								
							 
						 
						
							
							
								
								Fix parsing of subtractions and negations in the absence of space.  
							
							
							
						 
						
							2023-01-21 12:43:11 +01:00  
				
					
						
							
							
								 
						
							
								bb360cd7c8 
								
							 
						 
						
							
							
								
								Fix display of 'UnknownLabels'  
							
							... 
							
							
							
							This is a bit annoying as we are forced to use #[related] here which isn't quite what we want.
  Ideally, this would use #[diagnostic_source] but, there's a bug upstream. See: zkat/miette#172 . 
							
						 
						
							2023-01-21 11:37:19 +01:00  
				
					
						
							
							
								 
						
							
								d905f24e7f 
								
							 
						 
						
							
							
								
								Forbid solo-assignment as the only function body  
							
							... 
							
							
							
							In the similar spirit to what we did for sequences. Yet, we need to handle the case of body being just an assignment -- or a trace of an assignment which is basically the same thing. 
							
						 
						
							2023-01-21 10:32:06 +01:00  
				
					
						
							
							
								 
						
							
								2101bb924d 
								
							 
						 
						
							
							
								
								Fix tuple-pattern parser  
							
							... 
							
							
							
							This case was originally left out but, tuple parsers are almost always exclusively starting with a NewLineLeftParen token. 
							
						 
						
							2023-01-21 10:04:11 +01:00  
				
					
						
							
							
								 
						
							
								d321b85df2 
								
							 
						 
						
							
							
								
								Refactor type errors back into macro annotations  
							
							... 
							
							
							
							Far less verbose than defining classes by hand, plus, it allows to have everything about a single error be co-located. And finally, it allows to use 'related', 'label' and so on more easily. 
							
						 
						
							2023-01-20 20:11:44 +01:00  
				
					
						
							
							
								 
						
							
								4459fdb360 
								
							 
						 
						
							
							
								
								Fix error reporting on cyclic definitions.  
							
							... 
							
							
							
							Fixes  #292  
						
							2023-01-20 20:09:00 +01:00  
				
					
						
							
							
								 
						
							
								ce65236514 
								
							 
						 
						
							
							
								
								Parse tests as private functions.  
							
							... 
							
							
							
							They actually are private; we can't export / import tests. Fixes  #284 . 
							
						 
						
							2023-01-20 12:50:07 +01:00  
				
					
						
							
							
								 
						
							
								61be8ca73e 
								
							 
						 
						
							
							
								
								Add diagnostic codes to type-check warnings.  
							
							
							
						 
						
							2023-01-20 12:27:48 +01:00  
				
					
						
							
							
								 
						
							
								e0046eea2b 
								
							 
						 
						
							
							
								
								Merge pull request  #299  from aiken-lang/forbid-assignment-as-last-expression  
							
							
							
						 
						
							2023-01-19 19:49:14 -05:00  
				
					
						
							
							
								 
						
							
								10fb7455f3 
								
							 
						 
						
							
							
								
								Forbid let-binding as last expression of a sequence  
							
							... 
							
							
							
							Fixes  #283  
						
							2023-01-19 18:05:57 +01:00  
				
					
						
							
							
								 
						
							
								c5e876e817 
								
							 
						 
						
							
							
								
								Fix typo in variant name: Implicity -> Implicitly  
							
							
							
						 
						
							2023-01-19 17:26:33 +01:00