Cainã Costa
291dedf4e8
chore: refactor all parse tests to use assert_parse!
2023-07-04 17:19:28 -04:00
rvcas
f878ef7cef
feat: move some token processing to the lexer
2023-07-04 17:19:28 -04:00
rvcas
2226747dc1
feat: finish splitting up parsers
2023-07-04 17:19:28 -04:00
Cainã Costa
63cdb8aa09
chore: add more details on snapshot tests
...
We added a macro to add more information about the code that is being
tested, so we can add lots and lots of small snapshot tests.
2023-07-04 17:19:28 -04:00
Cainã Costa
eeaa1a05d2
feat: add first code snapshot test with insta
2023-07-04 17:19:28 -04:00
Cainã Costa
58c854fd3f
feat: add insta as dependency
...
We are going to start to add "golden"/snapshot tests, so we are using
[insta](https://insta.rs ) to do so.
2023-07-04 17:19:28 -04:00
rvcas
eea94fc9a4
feat: move anon fn, let, and expect
2023-07-04 17:19:28 -04:00
rvcas
9c98fc8026
feat: start splitting apart expr_parser
2023-07-04 17:19:28 -04:00
rvcas
e3ed5d3b00
feat: move expr_parser and remove module.rs to definitions
2023-07-04 17:19:28 -04:00
rvcas
3339d41fdd
feat: finish moving definitions and start exprs
2023-07-04 17:19:27 -04:00
rvcas
fc580d4fa0
feat(parser): move definitions to their own modules
2023-07-04 17:19:27 -04:00
KtorZ
49098d5a45
Bump miette to 5.9.0
...
No particular reason, but it's good to be up-to-date with our dependencies.
2023-07-04 16:51:59 -04:00
KtorZ
5a6cc855e6
Use byte count for token span in the lexer.
...
Somehow, miette doesn't play well with spans when using chars indices.
So we have to count the number of bytes in strings / chars, so that
spans align accordingly.
2023-07-04 16:51:59 -04:00
microproofs
67c072a1a9
test: add acceptance test 86
...
fix: prevent mutual recursion for expect type code gen functions
2023-07-04 12:24:25 -04:00
microproofs
d641f731b7
fix: needed a stricter check for expect_pattern func on discard pattern
2023-06-28 15:54:59 -04:00
rvcas
90ff211205
chore: Release
2023-06-23 19:41:14 -04:00
rvcas
d633129ddf
fix: clearer unused var warning closes #579
2023-06-23 19:04:54 -04:00
microproofs
8b3504e9a1
fix: `expect _ = ...` not including the cast from data logic if the type is data and right hand has a type annotation
2023-06-23 18:39:12 -04:00
microproofs
226556bdd6
fix: builtins using the incorrect data to type conversion when used as a function param.
2023-06-23 14:31:19 -04:00
microproofs
db369da96e
feat: Make traces produced by expect dependent on
...
the value of the tracing flag.
2023-06-23 14:03:23 -04:00
microproofs
dbfa08a5a7
fix: issue with tuple clause
...
It was not consuming the next case if there was no condition being checked in the clause.
Now it properly always consumes the next clause unless last clause.
2023-06-23 12:36:15 -04:00
microproofs
626033ff9b
fix: attempt to convert from opaque before doing monomorphization
2023-06-22 18:20:31 -04:00
microproofs
24f5c4de6b
fix: the final clause of a when expecting another clause afterwards in nested list cases.
...
fix: all elements were being destructured in tuple clauses even if not used
2023-06-19 21:43:38 -04:00
KtorZ
4252ee6373
Implement formatter for anon binop.
2023-06-17 08:44:59 +02:00
KtorZ
91f03abb7b
Support all binary operator in the anonymous binop parser.
2023-06-17 08:44:45 +02:00
KtorZ
d0b4c1c3b5
Add remaining boolean comparison operator to anon binop parser.
...
Nothing to see here as they all have the same signature. Implementing
arithmetic bin-operators and boolean logic operators will require some
more logic.
2023-06-17 07:57:37 +02:00
KtorZ
ec94230294
Extend parser to accept anonymous binop as expressions.
...
This is simply a syntactic sugar which desugarize to a function call with two arguments mapped to the specified binary operator.
Only works for '>' at this stage as a PoC, extending to all binop in the next commit.
2023-06-17 07:36:11 +02:00
KtorZ
ba911d48ea
Refactor 'is_capture' field on function expressions.
...
Refactored into an enum to make it easier to extend with a new variant to support binary operators.
2023-06-17 07:26:46 +02:00
rvcas
85d82e5aec
chore: Release
2023-06-13 21:24:41 -04:00
microproofs
379c2fe2bf
chore: Release
2023-06-13 20:32:22 -04:00
microproofs
c3bb7b0f75
fix: tail list being expected on when it should be empty
2023-06-13 12:03:38 -04:00
microproofs
af36b5ac77
fixes:
...
fix: Issue where using var pattern in a when was passing the constr index instead of the constr
fix: Issue where expecting on a list had unexpected behaviors based on list length
2023-06-13 12:03:38 -04:00
rvcas
aeaec6bcd8
fix: record format when module select
...
- instead of checking the container we need to check
the FieldAccess label.
closes #601
2023-06-13 00:18:32 -04:00
microproofs
c5af6e0be3
chore: Release
2023-06-08 19:34:51 -04:00
KtorZ
6bd8e94e17
Preserve numeric underscore and hexadecimal notation through formatting.
2023-06-08 16:37:20 +02:00
KtorZ
0b7682306f
Refactor formatter to use new 'self.int' helper function.
2023-06-08 15:34:28 +02:00
KtorZ
79a2174f0a
Extend parser to support int as hexadecimal and numeric underscore.
...
We only allow numeric underscore for decimal numbers as I am not sure how we can define it for non-decimal numbers?
2023-06-08 15:33:50 +02:00
KtorZ
0ea11a4d13
Introduce new test cases for hexadecimal and underscore parsing.
2023-06-08 13:26:22 +02:00
rvcas
3fc9c8e0db
chore: re-add empty line handling by @KtorZ
...
Co-authored-by: KtorZ
2023-06-07 17:21:04 -04:00
rvcas
1747090931
fix: fmt crashing with comment at end of file
...
closes #568
2023-06-07 15:59:54 -04:00
KtorZ
0afc3aba13
Fix operator precedences, in particular |>
...
Fixes #571 .
2023-06-06 17:17:47 +02:00
microproofs
5faa925aea
fix: error when using nested boolean checks in when conditions
2023-06-06 03:04:12 -04:00
microproofs
bfd2a50a6b
fix: zero arg functions were grabbing extra dependencies they didn't need to
...
fix: Had the wrong conversion for constant maps to plutus data. Fixed to check for right conversion
2023-06-04 15:23:36 -04:00
rvcas
cf6d04e95b
chore: some clippy warnings
2023-06-02 19:47:52 -04:00
microproofs
cdf8bd6548
fix: list items in when were not being added to scope
...
fix: tuple clause must preserve previous clause properties state
2023-06-02 18:38:21 -04:00
microproofs
8f0cf289b4
fixes:
...
fix: rearrange clauses and fill in gaps now handles nested patterns in a uniform way
fix: discards in records was being sorted incorrectly leading to type issues
chore: remove some filter maps in cases where None is impossible anyway
chore: some refactoring on a couple functions to clean up
2023-06-02 18:38:21 -04:00
rvcas
cb9a140601
chore: Release
2023-06-02 00:34:07 -04:00
rvcas
e5d9398625
fix: add module name to type mismatch error
...
* if expected and given are equal then we show
the module
* we could do it in all cases it looks kinda nice
* format is `Type - ModuleName`
2023-06-01 20:00:36 -04:00
microproofs
6955f79035
chore: update changelog
...
fix: Minor improvement to record update to use empty list instead of the null list from a record fields list.
2023-06-01 12:22:42 -04:00
microproofs
c710d488d6
fix: need to sort record update args so they match indices order
2023-05-30 20:23:12 -04:00