rvcas
60ad3dae50
chore: fmt builder.rs
2023-01-30 12:07:50 -05:00
rvcas
d4a73f1235
chore: commit assets
2023-01-30 12:01:56 -05:00
rvcas
af67f41ead
fix: Air::Lam not real, probably meant Air::Let
2023-01-30 12:01:40 -05:00
rvcas
aec79936e2
chore: move a test case to 049
2023-01-30 11:49:18 -05:00
Lucas
b653714c0c
Merge branch 'main' into when-clause-guards
2023-01-30 11:40:29 -05:00
Lucas
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
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
8c04ab093a
update test 40
2023-01-30 03:24:52 -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
rvcas
4976ea4164
chore: add test for the new token captures
2023-01-26 10:16:29 -05:00
rvcas
703fcb451d
fix(parser,windows): capture carriage return properly
2023-01-26 10:16:29 -05:00
rvcas
3c97f057cc
chore: fix clippy
2023-01-24 12:07:06 -05:00
rvcas
ba05f1f070
feat: add label to span
2023-01-24 12:07:06 -05:00
rvcas
a485406e3d
fix: use the location of the pattern not the entire clause
2023-01-24 12:07:06 -05:00
rvcas
7206360baa
feat(when): single when clause now emits warning
2023-01-24 12:07:06 -05:00
Micah
ad7a62d2bf
Merge pull request #306 from aiken-lang/micah/acceptance-test-048
...
Added 048 acceptance test
2023-01-23 12:46:42 +11:00
Micah Kendall
d608c50130
Added 048 acceptance test
2023-01-23 01:12:29 +11:00
Kasey White
e36f91c39c
fix: multiple list cases of the same length weren't being handled
2023-01-21 19:42:17 -05:00
KtorZ
a178cee7bf
Add new acceptance test scenario: 046
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
KtorZ
a926a1a2d4
Add new acceptance test scenario 048
2023-01-21 17:49:44 +01:00
KtorZ
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
KtorZ
91bd0d1d77
Display warning help + minor error improvements.
2023-01-21 17:42:58 +01:00
KtorZ
83fd910604
Update artifacts from acceptance tests 036
2023-01-21 12:46:22 +01:00
KtorZ
333a990249
Fix parsing of subtractions and negations in the absence of space.
2023-01-21 12:43:11 +01:00
KtorZ
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
KtorZ
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
KtorZ
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
KtorZ
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
KtorZ
4459fdb360
Fix error reporting on cyclic definitions.
...
Fixes #292
2023-01-20 20:09:00 +01:00
KtorZ
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
KtorZ
61be8ca73e
Add diagnostic codes to type-check warnings.
2023-01-20 12:27:48 +01:00
Lucas
e0046eea2b
Merge pull request #299 from aiken-lang/forbid-assignment-as-last-expression
2023-01-19 19:49:14 -05:00
KtorZ
10fb7455f3
Forbid let-binding as last expression of a sequence
...
Fixes #283
2023-01-19 18:05:57 +01:00
KtorZ
c5e876e817
Fix typo in variant name: Implicity -> Implicitly
2023-01-19 17:26:33 +01:00
KtorZ
bb82b1bc1e
slightly rework hint for 'ImpliclyDiscardedExpression'
2023-01-19 17:25:18 +01:00
KtorZ
092151d6a0
Remove dead-code and fix comment about discarded expressions
...
While Gleam originally allowed various kinds of expressions to be discarded in a sequence, we simply do not allow expressions to be discarded implicitly. So any non-final expression in a sequence must be a let-binding. This prevents silly mistakes.
2023-01-19 16:35:39 +01:00
Matthias Benkort
dcfa730de9
Merge pull request #296 from aiken-lang/zero-arg-anon-funcs
...
feat: handle anon zero arg functions
2023-01-19 11:23:21 +01:00
Kasey White
52724ea0e0
feat: handle anon zero arg functions.
...
Test 045
2023-01-19 01:34:27 -05:00
Kasey White
7215bf33e9
fix: get_variant_name was not properly traversing type args on map and data types
2023-01-18 16:06:44 -05:00
rvcas
2f6c794cdf
fix: ci... :facepalm
2023-01-18 15:29:51 -05:00
rvcas
479d49bdfc
fix: ci... again
2023-01-18 15:29:51 -05:00
rvcas
086de8cbc0
chore: switch things back
2023-01-18 15:29:51 -05:00