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
rvcas
be6327cf59
fix: ci
2023-01-18 15:29:51 -05:00
rvcas
f975c345c9
fix: ci
2023-01-18 15:29:51 -05:00
Kasey White
71ae85a720
missing a condition check on when
2023-01-18 15:29:51 -05:00
KtorZ
439a54d9f1
Fix CI workflow not erroring on acceptance test failure.
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
KtorZ
75808cc046
Add new acceptance scenario: 044
...
❌ 044
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:846:89
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 15:29:51 -05:00
KtorZ
c440026e36
Fix generated projects' README + rename 'certify' -> 'publish'
...
This hints to how this particular purpose is about publishing
certificate (either delegation or key de-registration).
2023-01-18 16:48:42 +01:00
KtorZ
20ac9c20a2
Remove some dead-code.
2023-01-18 16:43:40 +01:00
KtorZ
b475d6a6a4
Provide better errors when packages aren't found.
2023-01-18 16:34:26 +01:00
KtorZ
6e64bb72e6
Add new acceptance test scenario 045
...
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:3435:48
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 16:28:44 +01:00
KtorZ
071dc00624
Implement various visual improvements for the doc generator
...
- Display function's signature next to the function name
(instead of being repeated below the function documentation).
- Same for module constants
- Display record constructors in a more concise manner, with
constructors fields next to constructors.
- Display generic parameters, if any, next to the type
- Plus some minor color and icon rework.
2023-01-18 15:12:15 +01: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
0da4560792
fix failing unit tests
2023-01-17 03:02:06 -05:00
rvcas
5ceb3b07fb
fix: call was not capturing full span
2023-01-16 15:26:07 -05:00
rvcas
38734361d0
feat: make part of summary red if errors exist
2023-01-16 15:17:39 -05:00
rvcas
4024add4da
feat: error when an expression is implicitly discarded
2023-01-16 15:17:39 -05:00
KtorZ
844570caf5
Fix multi-line type-alias tuple definitions
...
Somehow missed it when reworking tuples. We need to allow the new
'NewLineLeftParen' token in this situation as well. Especially because
this is what the formatter outputs.
2023-01-16 11:30:20 +01:00
rvcas
1adac64585
feat(imports): return a nice error if a validator module is imported
2023-01-15 18:54:35 -05:00