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
Kasey White
2d77ec1a6a
add merge function
2023-03-27 20:00:32 -04:00
Kasey White
32d34d5fd3
create struct Air Env
...
refactor out some to_strings
2023-03-27 20:00:32 -04:00
rvcas
0060d29265
chore: update gift card example to use new validator syntax
2023-03-27 13:39:34 -04:00
Kasey White
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
Matthias Benkort
77f58cf5cb
Merge pull request #463 from waalge/main
...
bump rustc version for nix
2023-03-21 13:00:58 +01:00
waalge
8be95e6961
bump rustc version
2023-03-21 11:38:07 +00:00
Kasey White
6e5b24a937
refactor the rest of the term builders to use more concise code
2023-03-21 00:50:13 -04:00
Kasey White
7c3750bbb4
fix: apply order on field expose
2023-03-21 00:50:13 -04:00
Kasey White
50db958d06
update codegen to use more streamlined uplc building methods
2023-03-21 00:50:13 -04:00
Kasey White
ef3862ade8
refactor: uplc code gen uses shorthand methods
2023-03-21 00:50:13 -04:00
Kasey White
74a7a2f214
commit air changes that expose scope as a mutable pointer
2023-03-21 00:50:13 -04:00
KtorZ
6422027c6c
Fix README template for newly generated projects, and hello, world
2023-03-18 22:23:55 +01:00
KtorZ
0f35675f57
remove wrongly committed println.
2023-03-18 17:33:21 +01:00
KtorZ
0b8c3b05fe
Fill-in test scenario for parsing large integer constants.
2023-03-18 16:17:42 +01:00
KtorZ
8a2af4cd2e
Fix lexer throwing errors when parsing a too large tuple index.
2023-03-18 16:13:50 +01:00
Matthias Benkort
df722d6f0f
Merge pull request #457 from aiken-lang/double_validators
...
Two in one validators
2023-03-18 10:59:11 +01:00
rvcas
2dbc50f098
feat: generate_test doesn't need arguments
2023-03-17 18:41:22 -04:00
rvcas
74c61358ab
feat: new error for when multi-validators have the same arg count
2023-03-17 18:40:50 -04:00
rvcas
d753b57c1b
chore: use let-else 🤯
2023-03-17 18:40:49 -04:00
KtorZ
a4c7337df2
Add new acceptance scenario 079 (double validators)
2023-03-17 18:40:49 -04:00
KtorZ
bc690c5410
Generated wrapped schemas for multi-validators' redeemers
2023-03-17 18:40:49 -04:00
Kasey White
bb6fc76971
start on registering redeemer wrapper type in definitions
2023-03-17 18:40:49 -04:00
KtorZ
7e1403a3b2
Complete generation of blueprint multi-validators.
2023-03-17 18:40:49 -04:00
Kasey White
fe92b27d50
start on refactoring validator to support multi-validators in blueprint
2023-03-17 18:40:49 -04:00
KtorZ
61113cd7b9
distinguish between multi vs single validator case in blueprint schema generation.
2023-03-17 18:40:48 -04:00
Lucas
22880a300f
Update crates/aiken-lang/src/parser.rs
...
Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com>
2023-03-17 18:40:48 -04:00
Lucas
950598b534
Update crates/aiken-lang/src/parser.rs
...
Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com>
2023-03-17 18:40:48 -04:00
Lucas
3d92772d23
Update crates/aiken-lang/src/tipo/infer.rs
...
Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com>
2023-03-17 18:40:48 -04:00
Lucas
bf34324ac0
Update crates/aiken-lang/src/format.rs
...
Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com>
2023-03-17 18:40:48 -04:00
rvcas
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
rvcas
87493bbba9
feat(register_values): refactor repeated code into register_function and register other_fun
2023-03-17 18:38:24 -04:00
rvcas
15bdb6972d
feat(fmt): better validator formatting with double supported
2023-03-17 18:38:24 -04:00
rvcas
ed92869fb9
feat(validator): parsing and typechecking for double validators
2023-03-17 18:38:24 -04:00
Matthias Benkort
3eccc349aa
Merge pull request #459 from aiken-lang/remove-multi-subjects
...
Cleanup implementation from multi-subjects when/is
2023-03-17 14:58:56 +01:00
KtorZ
660d2199d4
Make blueprint generation deterministic
...
Sort validators before iterating on them.
2023-03-17 14:57:39 +01:00
rvcas
5e3a902c75
fix: add back some extra info on display
2023-03-17 09:35:10 -04:00
KtorZ
28a3844d54
Cleanup implementation from multi-subjects when/is
2023-03-17 13:06:39 +01:00
KtorZ
c113582404
Support multi-clause patterns as syntactic sugar
...
And disable multi-patterns clauses. I was originally just controlling
whether we did disable that from the parser but then I figured we
could actually support multi-patterns clauses quite easily by simply
desugaring a multi-pattern into multiple clauses.
This is only a syntactic sugar, which means that the cost of writing
that on-chain is as expensive as writing the fully expanded form; yet
it seems like a useful shorthand; especially for short clause
expressions.
This commit however disables multi-pattern when clauses, which we do
not support in the code-generation. Instead, one pattern on tuples for
that.
2023-03-16 19:45:41 -04:00
KtorZ
660ca3fada
Fix comment formatting wrongly assuming false invariant.
2023-03-16 18:44:11 -04:00
KtorZ
57e217e81c
Add failing tests (fmt panic) on weird doc comments.
...
Isolated doc comments causes the compiler to panic with:
```
'no consecutive empty lines'
```
This is reproducible when doc comments are wrapped in sandwich between
comments and newlines.
2023-03-16 18:44:11 -04:00
KtorZ
0feb2df0a0
Minor error messages fixes.
2023-03-16 23:35:12 +01:00
KtorZ
13890874c0
Fix 'run' script, also do 'check' on modules that have validators.
2023-03-16 23:04:24 +01:00