rvcas
af67f41ead
fix: Air::Lam not real, probably meant Air::Let
2023-01-30 12:01:40 -05:00
Lucas
b653714c0c
Merge branch 'main' into when-clause-guards
2023-01-30 11:40:29 -05:00
Kasey White
0ea2be0e95
feat: Add codegen for handling clause guards
2023-01-30 05:11:27 -05:00
Kasey White
a638388747
Add more complex test 40.
...
Add assert for when constr index is given
2023-01-30 04:17:03 -05:00
Kasey White
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
Kasey White
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
Kasey White
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
Kasey White
fc88028034
some refactoring and adding assert on lists
2023-01-27 05:02:19 -05:00
Kasey White
d4eec1fe79
chore: Add scaffolding for assert
2023-01-27 05:02:19 -05:00
Kasey White
38c24cca01
single clause when not yet implemented
2023-01-27 05:02:19 -05:00
Kasey White
1af1b6d898
finalize aiken ir with typing
2023-01-27 05:02:19 -05:00
Kasey White
e36f91c39c
fix: multiple list cases of the same length weren't being handled
2023-01-21 19:42:17 -05:00
Kasey White
e8fb386bdc
chore: Switch from hashmap and hashset to indexmap and indexset
2023-01-21 18:10:15 -05:00
Kasey White
52724ea0e0
feat: handle anon zero arg functions.
...
Test 045
2023-01-19 01:34:27 -05:00
Kasey White
71ae85a720
missing a condition check on when
2023-01-18 15:29:51 -05:00
Kasey White
d7e4aef4c5
feat: Add boolean conditions to when statements
2023-01-18 15:29:51 -05:00
Kasey White
33d902ba2a
feat: Now opaque types with one constr and one field are converted to inner field type
2023-01-17 08:44:28 -05:00
Kasey White
98d2cb5afc
in progress: working on taking special opaque types and converting them to their inner type
2023-01-17 08:44:28 -05:00
Kasey White
7b023911af
add assert and record
...
Record is a more efficient air for making records
Assert guarantees a custom is of a certain variant.
2023-01-13 13:50:27 -05:00
Kasey White
1721c3945b
Refactors:
...
Add test 40
refactor how we get data type from type
Call contains type now to handle certain record cases
2023-01-13 13:50:27 -05:00
Kasey White
eac8f7a80e
replace discard assignment with nothing
2023-01-11 09:46:37 -05:00
rvcas
6ea9ad9c41
chore: clippy warnings
2023-01-09 18:12:18 -05:00
Kasey White
ce2de96226
clippy fix
2023-01-08 19:42:49 -05:00
Kasey White
42c8d50fa1
feat: finish record update
2023-01-08 19:42:49 -05:00
Kasey White
ea135e6f42
refactor term::apply to apply_wrap. Fixed a list eq binop
2023-01-08 19:42:49 -05:00
Kasey White
1a29ee3b72
my discard add got lost in the rebasing -_-
2023-01-06 14:23:46 +01:00
Kasey White
dc052bf9b8
fix nested lists without removing discard pop
...
Also fix bool constants created as a data type like in a list
start on record update
fix: nested list issues in when statements
2023-01-06 14:23:45 +01:00
KtorZ
4b34617466
Revert "fix: nested list issues in when statements"
...
This reverts commit 542962a2ea
.
2023-01-06 06:50:42 +01:00
Kasey White
542962a2ea
fix: nested list issues in when statements
2023-01-03 01:31:18 -05:00
Kasey White
67e4ff8317
feat: allow functions from prelude
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-31 00:09:02 -05:00
Kasey White
e495eefb34
feat implement tuple index
2022-12-31 00:09:02 -05:00
Kasey White
3514e66234
Fix to variant name creation for dependencies.
...
Last few changes to go Tuple Index,
Assert, Check, not
change test 35 to produce intended functionality
2022-12-30 14:01:11 -05:00
Kasey White
34d398ab3b
fix dependencies ordering so now test 34 passes
2022-12-29 17:14:23 -05:00
Kasey White
306fa891a0
validator params are now converted to type from data
2022-12-29 17:14:23 -05:00
Kasey White
cce76bbd63
fix issue with constructor clauses and clause props
2022-12-28 18:00:11 -05:00
Kasey White
722117bfc4
one minor scope fix
2022-12-27 22:33:09 -05:00
Kasey White
083b7fcb5f
feat: support negation of int
...
* add unary op
* parse, typecheck, and code gen it
* express boolean not as unary op as well, previously called negate
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-27 20:39:03 -05:00
Kasey White
542e39f093
feat: finish up zero arg issues with dependencies
2022-12-27 19:35:08 -05:00
Kasey White
30487cc232
fix test 23
2022-12-27 19:35:08 -05:00
Kasey White
919ea6c723
tuple destructuring nested and not now works
2022-12-27 19:35:08 -05:00
Kasey White
a08c615da4
checkpoint
2022-12-27 19:35:08 -05:00
Kasey White
b7d506a8db
nested lists now work
2022-12-27 19:35:08 -05:00
Kasey White
6126ee4cb4
checkpoint
2022-12-27 19:35:08 -05:00
rvcas
38a716d94e
feat: allow error to hold a label
2022-12-23 15:52:44 -05:00
rvcas
37196a29ee
feat: error keyword
2022-12-23 15:52:44 -05:00
KtorZ
69f060e675
Rework all errors to provide better help text.
2022-12-23 19:27:06 +01:00
KtorZ
2aa4429231
Rename Unit -> Void
2022-12-22 18:52:28 +01:00
Matthias Benkort
a129a8a0d3
Merge pull request #208 from aiken-lang/tuple-when2
...
fix todo and list and tuple not equal operator
2022-12-22 10:28:06 +01:00
KtorZ
7ad8babf17
Rename ArgName::{Discard,NamedLabeled} as ArgName::{Discarded,Named}
...
Now that the other variants are gone, this is clearer.
2022-12-22 09:36:44 +01:00
KtorZ
8ab05509b1
Remove Named & DiscardLabeled, now unused
...
And unify everything into either 'Discard' or 'NamedLabeled'
2022-12-22 09:36:44 +01:00