Commit Graph

576 Commits

Author SHA1 Message Date
KtorZ
d24a71ee04 Define new event target for JSON, and revert option passing
For the program to be consistent, the 'EventListener' target that we
  pass to a Project should be responsible for the output format.
  Otherwise, we are contingent on developers to remember passing the
  option at call-site. Plus, it overloads the project code with an extra
  boolean option.

  Instead, since the behaviour is solely driven by the execution
  context, we can instantiate a different event target upfront, and
  simply hold on to it throughout the program.

  As a nice side-effect, we can gently re-organize the code to keep the
  terminal printing logic and the json printing logic separate.
2024-11-13 11:07:25 +01:00
Riley-Kilgore
1a75568027 Added target awareness and fixed property based test json output 2024-11-13 11:07:24 +01:00
Riley-Kilgore
d1a1d0ec01 Remove unused args in fmt_test_json 2024-11-13 11:05:13 +01:00
Riley-Kilgore
8ac09025f5 Cherry picked cef3276521ba005fa30af46130dba2836347b1ae 2024-11-13 11:05:13 +01:00
microproofs
cd42f51f1a Finish up tests for decision-tree modification 2024-11-08 14:11:34 -05:00
microproofs
634b2e0f79 Next test 2024-11-02 17:16:03 -04:00
microproofs
d350bc1935 Change another test 2024-11-02 14:45:58 -04:00
microproofs
362eb75329 Continue updating tests 2024-11-01 19:34:58 -04:00
microproofs
e87d7a1101 Fixing unit tests 2024-11-01 19:34:57 -04:00
microproofs
6e94d502a7 Fix more tests and issues 2024-11-01 19:34:53 -04:00
microproofs
7655a6ecbe Fix test issues 2024-11-01 19:34:52 -04:00
KtorZ
2489e0fdd0 Fix aiken docs constant generation
Fixes #1048.
2024-10-29 14:15:31 +01:00
KtorZ
2b7ca0e4a1 Avoid unsafe unwrap of line_numbers, gracefully handle non-existing matches
Fixes #1044.
2024-10-25 11:37:50 +02:00
Riley-Kilgore
8d8f91b76e Add blueprint file input as option for blueprint apply 2024-10-24 14:01:48 -04:00
microproofs
a7741ec286 chore: Release 2024-10-19 13:45:54 -04:00
KtorZ
523b270a8f Adjust telemetry output log. 2024-10-19 10:40:30 +02:00
microproofs
356d845a9a chore: Release 2024-10-01 16:14:25 -04:00
KtorZ
513ca27717 Generate empty redeemer for else handler, to keep full compliance with the blueprint spec 2024-10-01 19:03:34 +02:00
KtorZ
5737556efc Fix compiler crash around dangling expect/let in traces
Fixes #1029.
2024-10-01 12:24:31 +02:00
Riley-Kilgore
92f5bf529f Generate address on else and spend validators; uses title 2024-09-24 11:55:10 -04:00
Riley-Kilgore
7c6f3278ba Fixed single character patterns using double quotes 2024-09-24 11:54:05 -04:00
microproofs
3d77b5c378 chore: Release 2024-09-20 14:05:15 -04:00
microproofs
3fddab4724 Add test for hard cast and soft cast on same type 2024-09-19 23:48:06 -04:00
KtorZ
3f149ab346 Provide intermediate feedback during property test runs.
Avoid the interface to hang for several seconds without feedback when counterexamples are being simplified. This sends a heads-up to the user to indicate that a research of a counter example is going on.
2024-09-19 20:19:49 +02:00
KtorZ
d6c728c0f6 Fix link_tree generation when re-inserting the same modules. 2024-09-14 16:30:28 +02:00
microproofs
7047c7720e chore: Release 2024-09-13 16:52:20 -04:00
KtorZ
0905146140 chore: Release 2024-09-10 13:25:04 +02:00
KtorZ
28916c1ef9 Show relative path by default instead of absolute
The absolute path is long and doesn't really provide much information.
  Plus, it's inconsistent with the behavior on a specified path.
2024-09-07 18:24:50 +02:00
KtorZ
04fb11084c Fix dark colorscheme for dark. 2024-09-06 13:31:19 +02:00
rvcas
be31a7ce38 chore: Release 2024-09-03 17:01:41 -04:00
rvcas
20ac89fc33 chore: reset version 2024-09-03 17:01:24 -04:00
microproofs
140cb02be0 Generic test now passes 2024-09-03 16:21:53 -04:00
microproofs
2f33c4a8f4 Push up test failing due to missing messages 2024-09-03 16:21:53 -04:00
microproofs
8933688c68 Rest of the tests to push up 2024-09-03 16:21:53 -04:00
microproofs
c370a4aa6a Pushing up tests that test both trace and non-trace uplc 2024-09-03 16:21:53 -04:00
KtorZ
f60df16bc2 Preserve type-aliases during blueprint generation. 2024-09-03 16:39:50 +02:00
KtorZ
007b85b864 Warn for any ignored file during source parsing
Not only for files with a .ak extension.
2024-09-03 15:28:09 +02:00
KtorZ
038f6ecbfd Detect and report duplicate module names during parsing
Funny enough, we thought about that but only across packages. Now, the
  situation gets a little tricky because of folder structure, it's easy
  to define a module "foo" in `env`, `lib` and/or `validators`. From the
  compiler's perspective, they all have the same name.
2024-09-03 15:24:01 +02:00
KtorZ
a06383d333 Use const instead of zero-arg functions in few code-gen tests. 2024-08-30 14:47:22 +02:00
KtorZ
ef89691331 Ensure code-gen's Program version/semantic matches Plutus version 2024-08-30 14:45:02 +02:00
microproofs
4a8bec4caa Fixing gen uplc tests 2024-08-29 16:30:31 +02:00
KtorZ
38e8c6264d Do not trigger warnings for exported configurations. 2024-08-29 16:25:12 +02:00
microproofs
f35afe8d65 Implement SimpleExpr logic for configuration parsing
We can now use boolean, lists & all in configuration.
2024-08-29 16:25:10 +02:00
KtorZ
cd0a9440e8 Allow any expression as constants
This is only a start. It compiles, but with a few TODOs left open. In particular, it doesn't currently handle constants depending on other constants or functions; nor does it hoist constants.
2024-08-29 16:24:12 +02:00
KtorZ
79cf0b8d97 Fix test_framework tests trying to implement function on foreign type. 2024-08-29 13:49:09 +02:00
KtorZ
c21466831c Bump versions to 1.1.0, in anticipation. 2024-08-29 09:12:37 +02:00
KtorZ
e31c6de04e Adjust module organization to facilitate resurrection of the playground.
The playground doesn't / cannot depend on aiken-project because that becomes a gigantic pain. So instead, we try to keep essential stuff inside aiken-lang when possible.
2024-08-29 09:12:37 +02:00
KtorZ
745f14ccb2 Adjust doc to support blockquote alerts. 2024-08-28 15:28:49 +02:00
KtorZ
d615b4f889 Fix incongruous panic when annotation is missing from Datum.
It's fine for the argument to not be annotated; in which case we
  simply default back to an `Option<Data>`.
2024-08-27 18:55:18 +02:00
KtorZ
d74e36d0bc Introduce 'Never' type as a safe alternative to always None options
Unfortunately, as documented in:

  https://github.com/IntersectMBO/cardano-ledger/issues/4571

  Some Option fields in the script context certificates are going to
  remain set to None, at least until the next Hard fork. There's a risk
  that people permanently lock their funds if they expect deposits on
  registration credentials to ever be `Some`.

  So, we introduce a special type that emulate an `Option` that can only
  ever be `None`. We call it `Never` and it is the first type of this
  kind (i.e. with constructors indexes not starting at 0).
2024-08-27 14:40:39 +02:00