Kasey White
a17ebf301f
fix: now we monomorphize __expect_type functions
2023-04-09 17:43:56 -04:00
Kasey White
9d9f8a914a
fix generics causing a free unique due to ordering in expect_type
2023-04-09 17:43:56 -04:00
Kasey White
581c86ed83
chore: commented code removal
2023-04-09 17:43:56 -04:00
Kasey White
8d81345fb1
fix: diff_defined_types was not being filled if constructor had 0 args
2023-04-09 17:43:56 -04:00
Kasey White
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
Kasey White
4e4eed13e1
refactor define_ir_recurse to use let else
2023-04-09 17:43:56 -04:00
Kasey White
4ff0504d58
feat: change define_ir_processor to handle code_gen_functions
...
Also flattened out that function by using let else
2023-04-09 17:43:56 -04:00
Kasey White
bc7b07c1d9
fix: expect_type now works on recursice constructors and validator args are now handled by air
2023-04-09 17:43:56 -04:00
Kasey White
6c932bb562
expect on map and list now use a function that gets instantiated as air in code gen functions
2023-04-09 17:43:56 -04:00
Kasey White
abd97f0ade
changed assert_on_list from being defined at uplc level to being defined at air level to enable proper hoisting
2023-04-09 17:43:56 -04:00
Kasey White
f4ba6b8985
fix: unused validator args had an incorrect if check
2023-04-09 17:43:56 -04:00
Kasey White
3f45b524b8
feat: unused validator args are not expect checked
2023-04-09 17:43:56 -04:00
Kasey White
8c8312a412
fix: expect true was always expecting false
2023-04-09 17:43:56 -04:00
Kasey White
ddf0fbfa0a
fix: expect void now checks for unit instead of expecting data
...
Args in validator are now fully expected on.
Add new air FieldsEmpty to make checking for empty constructors easier
2023-04-09 17:43:56 -04:00
Kasey White
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
Kasey White
822bb4242a
fix: function hoisting errors --
...
One involving zero args being hoisted instead of compiled and replaced.
Second involving not updating a function's dependeny function scope. Which then hoisted to a lower scope and caused free unique
2023-03-27 20:00:32 -04:00
rvcas
b5ed958f62
chore: remove unused variable
2023-03-27 20:00:32 -04:00
Kasey White
b2dcb112c9
fix last 2 acceptance tests
2023-03-27 20:00:32 -04:00
Kasey White
51a6589aac
2 acceptance tests left to fix
2023-03-27 20:00:32 -04:00
Kasey White
eef34b8f4b
feat: all compiler errors fixed
...
Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-03-27 20:00:32 -04:00
Kasey White
25ff8acb1e
feat: one more function to finish up
2023-03-27 20:00:32 -04:00
Kasey White
77afa76163
feat: refactor handle_each_clause
...
fix expect type ordering on constr type checking
2023-03-27 20:00:32 -04:00
rvcas
f07a959ab8
feat: almost done
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
rvcas
709ee914ed
feat: another round of functions using AirStack
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
rvcas
489dd235ff
feat(gen_uplc): finished up a few more functions
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
rvcas
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
rvcas
ca0d896b8d
feat: start using AirStack methods
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
rvcas
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