Commit Graph

1652 Commits

Author SHA1 Message Date
microproofs
8fdedb754e chore: continue more on curry optimizations 2023-12-15 21:58:02 -05:00
microproofs
88e21449c5 chore: comment fixes 2023-12-15 21:58:02 -05:00
microproofs
5c688b1404 Feat: refactor optimizations to use tree traversal algorithm
This makes each optimization a single function that acts on an existing tree traversal function
2023-12-15 21:58:02 -05:00
rvcas
07122aaa88 feat: allow importing off validators in validators/tests/* 2023-12-11 18:27:08 -05:00
Niels Mündler
b25e82ed36 Handle errors and format 2023-12-08 12:19:22 -05:00
Niels Mündler
772e73ae48 Fix parsing of hex encoded escaped bytes 2023-12-08 12:19:22 -05:00
Niels Mündler
3ac35f4e00 Make sure that new issue is covered by testcase 2023-12-08 12:19:22 -05:00
Niels Mündler
d0bc782f75 Fix pretty prenting of strings in complex data structures 2023-12-08 12:19:22 -05:00
KtorZ
92488e535a Fix type definitions for g1 & g2 elements. 2023-12-08 16:58:12 +01:00
microproofs
825e65d7a3 fix: zero arg functions were being compiled without the trace messages
Now traces are added before evaluating
2023-12-06 10:31:48 -05:00
rvcas
2647e4aae6 chore: Release 2023-12-04 22:14:03 -05:00
rvcas
0a1e0d7bee feat: remove flat-rs crate and use it through pallas_codec 2023-12-04 22:01:51 -05:00
rvcas
b17b7f287c chore: update to pallas v0.20.0 2023-12-04 21:44:19 -05:00
rvcas
c50d4d1396 fix: forgot to handle None case for other_fun in validator 2023-11-29 21:24:30 -05:00
rvcas
1503b525b2 feat(lsp): implement quickfix for utf8 byte array is valid hex string warning 2023-11-28 21:02:15 -05:00
rvcas
858a9621fc fix: due to how error code now get printed match_code for quickfix was always false 2023-11-28 21:00:17 -05:00
rvcas
1f411cde0e chore: needless dbg 2023-11-28 20:59:23 -05:00
rvcas
2dab62857f chore: useless rebinding 2023-11-28 19:46:08 -05:00
rvcas
832ca81a8c fix(lsp): when desugaring and/or chains we should use the whole span of the chain for the generated BinOp locations 2023-11-28 19:19:56 -05:00
rvcas
7015a9badc feat(lsp): hover support for the optional multi validator fn 2023-11-28 19:18:29 -05:00
rvcas
2159053cb5 fix: using the word pattern here reads better and applies more broadly like for lists 2023-11-28 16:15:24 -05:00
rvcas
a46a7e82b7 feat: implement hover on when clause patterns 2023-11-28 16:13:08 -05:00
rvcas
f7dd2de17b feat: implement hover info for tuple, list, and contructor pattern elements 2023-11-28 16:12:37 -05:00
rvcas
6ce30bd949 fix: allow spread operator on positional constructors closes #677 2023-11-27 23:11:17 -05:00
rvcas
d5820bb20a fix: restore printing of some error messages
We rely on some errors to just bubble up and get printed.
By matching on result at the top level like this we blocked some
error messages from being able to be printed. For me this showed up
when `cargo run -- new thing/thing` printed nothing even when there
was an existing `thing` folder. It has already been the pattern for
sometime for some subcommands to handle calling process::exit(1) in
situations where it needs to handle error reporting more specially. It
may seem lame, hacky, or repetitive but it's easy to maintain and read.
2023-11-27 21:48:56 -05:00
rvcas
2980e8e21d fix: use a distinct warning for discarded let assignments to avoid confusion closes #763 2023-11-27 21:23:10 -05:00
KtorZ
40c0fa7d77 Add --watch flag to the 'build' and 'docs' commands too. 2023-11-25 15:14:09 +01:00
KtorZ
7645a9460f Display error codes better.
This is a *slight* hack / abuse of the code() method as we are now
  doing a bit of formatting within that function. Yet, we only do so at
  the very top-level (i.e. project's Error) because we can't actually
  fiddle with how miette presents errors.
2023-11-25 15:14:09 +01:00
KtorZ
6c039708c3 Rework 'watch_project' to reuse 'with_project'
Also removed the 'clear' flag to do it by default instead of clogging
  the terminal view.

  This now works pretty nicely, and the logic is back under
  `aiken_project`.
2023-11-25 14:48:22 +01:00
KtorZ
777d30b8ac Rework 'with_project' to avoid early process exit. 2023-11-25 13:26:24 +01:00
KtorZ
4adedaac15 Remove unnecessary 'Rc' in function signature. 2023-11-25 13:09:26 +01:00
KtorZ
1ca81ec133 Turn evaluation hints into strings earlier, to make project's Error thread-safe. 2023-11-24 09:44:05 +01:00
Pi Lanningham
d04094560b Add an example usage in the check command
Feel free to do this differently, I just implemented it because i'm actually using it heh
2023-11-24 08:37:54 +01:00
Pi Lanningham
4bb424ba78 Fix a small bug with the filtering 2023-11-24 08:37:54 +01:00
Pi Lanningham
5945a9515b Disable the doctest, since I don't have an impl of EventListener I can use 2023-11-24 08:37:54 +01:00
Pi Lanningham
5068da3a17 Refactor into cargo-project
Rather than have this logic in the aiken binary, this provides a generic
mechanism to do "something" on file change events.  KtorZ is going to
handle wiring it up to the CLI in the best way for the project.

I tried to write some tests for this, but it's hard to isolate the
watcher logic without wrestling with the borrow checker, or overly
neutering this utility.
2023-11-24 08:37:54 +01:00
Pi Lanningham
771f6d1601 Formatting and check 2023-11-24 08:37:54 +01:00
Pi Lanningham
689a41ded4 Implement a basic watch command
This adds the following command
```
aiken watch
```

There are some open questions to answer, though:
- I really like the ergonomics of `aiken watch`; but it also makes sense
  as a flag to `aiken check` or `aiken build` etc.; should we just
  support the flag, the command, or both?
- Right now I duplicated the with_project method, because it forces
  process::exit(1); Should we refactor this, and if so, how?
- Are there other configuration options we want?
2023-11-24 08:37:53 +01:00
microproofs
45177cd08b fix: add missing type checks for the new bls primitives 2023-11-23 13:00:24 -05:00
microproofs
63f96d13ca fix: clippy warning 2023-11-22 19:17:45 -05:00
microproofs
78b0789cbc chore: unit test for pub in validator module warnings closes #681 2023-11-22 18:02:21 -05:00
rvcas
abd18656e3 fix: unable to have newline after expect bool shortcut 2023-11-20 11:44:16 -05:00
rvcas
2ed91780f4 fix: call arg should be top level 2023-11-20 11:44:16 -05:00
rvcas
7118253401 fix: if branches, final_else, and anon fns should all be "top level" 2023-11-20 11:44:16 -05:00
rvcas
7680d33663 fix: panic in formatter when substracting u8 0 - 1 2023-11-20 11:44:16 -05:00
rvcas
6869f73033 fix: sequence formatting when not top level 2023-11-20 11:44:16 -05:00
microproofs
1567e42875 chore: fill in machine todos and cost model for case and constr
This allows for several more tests to pass
**Had to remove case-7 since it was incorrectly passing before**
2023-11-17 19:52:03 -05:00
rvcas
0382e5ce12 chore: this comment doesn't make sense 2023-11-17 18:41:28 -05:00
rvcas
df992cba67 chore: remove check_type 2023-11-17 13:58:13 -05:00
rvcas
9ab458dcc6 feat: delay typemismatch errors in the machine runtime
to pass 2 of the conformance tests, we need to make sure
that we aren't typechecking builtin arguments as arguments
are applied. This switches push to by removing the call to check_type
and then reworking all the associated unwrap methods on Value
so that they return the same errors that were being returned before.
2023-11-17 13:58:13 -05:00