Commit Graph

3083 Commits

Author SHA1 Message Date
microproofs 5d4b3e69b9
Revert "Start working on using a decision tree for when expr. Also fmt fix"
This reverts commit e8f74985d5.
2024-10-08 13:33:05 -04:00
microproofs e8f74985d5
Start working on using a decision tree for when expr. Also fmt fix 2024-10-08 13:30:29 -04:00
KtorZ c7ae161a39
Mention quirks about gnu/musl linux artifact in the release guidelines. 2024-10-02 12:08:01 +02:00
KtorZ 79d0e45099
Don't mark openssl dependencies as optional on musl. 2024-10-02 11:32:17 +02:00
KtorZ f4dbe1624a
Use target_os = linux instead. 2024-10-02 10:59:50 +02:00
KtorZ 19fe1d37e7
Make bundling of ssl conditionned by target environment instead of feature flag. 2024-10-02 10:51:21 +02:00
KtorZ b0cad2bf1d
Update cargo-dist to v0.22.1
Necessary to make use of the custom github build steps.
2024-10-02 10:27:00 +02:00
KtorZ 5204831bac
Fix superfluous toml key in Cargo.toml. 2024-10-02 10:14:27 +02:00
KtorZ 538181f145
Move custom musl build instructions under generic cargo-dist configs. 2024-10-02 10:12:18 +02:00
KtorZ 31819fe197
Define custom build setup for musl target. 2024-10-02 10:05:39 +02:00
microproofs 356d845a9a
chore: Release 2024-10-01 16:14:25 -04:00
microproofs e4e8ca8a6d
Update changelog 2024-10-01 16:13:33 -04:00
microproofs c8731c98c7
Remove prints 2024-10-01 16:09:44 -04:00
microproofs 5fe6e3f77b
Finish simplification changes 2024-10-01 15:57:54 -04:00
microproofs c6c5cddead
Fix ordering of params on standard functions 2024-10-01 13:32:27 -04:00
microproofs 2bbc699a25
Refactor some code to make a define_const AirTree function 2024-10-01 13:32:27 -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 e8d97028ad
Prevent constant evaluating to generic/unbound functions
Constants are like tiny programs, so they are bound by the same rules
  as validators and other programs. In fact, functions are slightly more
  flexible in that they allow generic constant expressions like
  `List<a>`.

  Yet, there is no way to contain such generic structure that contain
  inhabitants in a way that satisfies the type-checker. In the example
  of `List<a>`, the only inhabitant of that type that we can construct
  is the empty list. Anything else would require holding onto some
  generic value.

  In addition, we can't force literal values into generic annotation, as
  something like:

  ```
  const foo: List<a> = [1, 2, 3]
  ```

  wouldn't type-check either since the right-side would unify to
  `List<Int>`. And again, the only right-hand side that can type-check
  is the empty list without any inhabitant.

  The added restriction on generic function is necessary because while
  we allow constants to return lambda, we cannot (easily) generate UPLC
  that is generic in its argument. By the time we generate UPLC, the
  underlying types have to be known.
2024-10-01 18:37:40 +02:00
KtorZ 51b6b77db8
Build LSP projects with verbose tracing level
Without that, the language server might trigger awkward warnings about
  unused imports due to trace stripping. So it's better to compile/check
  projects in the language server in the most expanded form.
2024-10-01 16:12:41 +02:00
KtorZ 0060804d1a
Fix redundant warning when destructuring validator params
This is not a "proper" fix as it simply get rid of the warning
  altogether (whether you use or not the destructured values).

  The reason for removing the warning entirely is because (1) it's
  simpler, but more so (2) there's no impact on the final code produced
  _anyway_. Redundant let bindings are already removed by the compiler;
  and while it's an implicit behaviour that requires a proper warning
  when it's coming from a user-defined assignment; here the redundant
  assignment is introduced by the compiler to begin with as another
  implicit behavior!

  So we have an implicit behaviour triggering a warning on another
  implicit behaviour. Truth is, there's no impact in having those
  parameters destructured and unused. So since users are already not
  aware that this results in an implicit let assignment being inserted
  in place for them; there's no need for the warning at all.
2024-10-01 13:17:00 +02:00
KtorZ 5737556efc
Fix compiler crash around dangling expect/let in traces
Fixes #1029.
2024-10-01 12:24:31 +02:00
KtorZ 9533903acc
Prepare CHANGELOG for v1.1.4 2024-10-01 11:20:07 +02:00
Kasey d5f8d3ab78
Cost model fixes with tests (#1030)
* Finish V1 corrections and fixes to initialize cost model

* Finish V2 corrections to be inline with mainnet today
2024-09-29 22:55:18 -04: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
KtorZ 9a29f4e876
Tweak cargo-dist config to produce static binaries for linux. 2024-09-23 12:22:06 +02:00
KtorZ a35d4f383f
Also add musl tools as system dependencies. 2024-09-23 11:08:04 +02:00
KtorZ bdab4d99b4
Install necessary system dependencies for musl target. 2024-09-23 11:03:40 +02:00
KtorZ b6e5bf68c5
Bundle openssl with musl build. 2024-09-23 10:56:45 +02:00
KtorZ 466dfca4f2
Install musl as target in CI workflow. 2024-09-23 10:54:27 +02:00
KtorZ 555bbc7a48
attempt building statically linked binary with musl. 2024-09-23 10:53:02 +02:00
KtorZ ac9c71e32a
Try to bundle openssl with the Aiken binary to avoid core dumps on Linux 2024-09-22 18:12:26 +02:00
microproofs 3d77b5c378
chore: Release 2024-09-20 14:05:15 -04:00
microproofs e8cf43d7ec
Format fix 2024-09-20 13:52:09 -04:00
microproofs d3e95bd000
Changelog release change 2024-09-20 13:49:45 -04:00
microproofs eb37ed0da5
Clippy fix 2024-09-20 13:47:56 -04:00
microproofs 4f1de2d3b5
Add test for flat error when encoding bls constant 2024-09-20 13:41:58 -04:00
microproofs c3af748b76
Update changelog 2024-09-20 12:53:34 -04:00
microproofs fa2aa0a3e8
When we find bls constants in UPLC convert them to their a hoisted compressed form with an uncompress call 2024-09-20 12:31:36 -04:00
KtorZ a8b37820e8
Fix incorrect warning about unused variable when softcasting without explicit right-pattern.
See note added in code for a rationale.
2024-09-20 15:09:00 +02:00
Matthias Benkort 7155b4e45d
Merge pull request #1023 from solidsnakedev/main
Add wrap constructor to V1/V2 StakeCredential
2024-09-20 14:47:08 +02:00
microproofs 3fddab4724
Add test for hard cast and soft cast on same type 2024-09-19 23:48:06 -04:00
microproofs 18e79db4b2
Fix edge case with traces off and usage of softcast and hardcast on the same type 2024-09-19 22:29:19 -04:00
KtorZ 83ac723a50
Fix extraneous space added after multiline alternative patterns 2024-09-19 20:24:59 +02:00
KtorZ dd77fa7e53
Mention cost model fixes in CHANGELOG. 2024-09-19 20:20:30 +02: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 91843b2c0e
Tweak error output for failed data reification. 2024-09-19 20:18:53 +02:00
microproofs 43182721f5
Update PlutusV1 cost model 2024-09-19 10:36:36 -04:00
microproofs b50fa91d4c Finish updating v2 models 2024-09-18 12:06:36 -04:00
microproofs b26e16e319 Start updating v2 cost models 2024-09-18 12:06:36 -04:00