Commit Graph

649 Commits

Author SHA1 Message Date
rvcas abcbe48267
chore: add new snapshots and fix errors introduced from ast changes 2025-03-23 23:14:33 -04:00
rvcas 824431371e feat: centralize some Cargo.toml configs at root and upgrade to edition 2024 2025-03-23 21:46:13 -04:00
rvcas 5f9b5ac781 feat: basic ability to have many projects in one repo 2025-03-23 21:46:13 -04:00
rvcas f03633edb4
chore: Release 2025-03-23 14:25:50 -04:00
KtorZ 796eb2d98a
Bump versions to v1.1.14
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-21 11:05:21 +01:00
KtorZ f3ed727a01
Provide better errors when failing to match validators in blueprint apply.
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-20 13:01:38 +01:00
KtorZ 660ff7fa31
adjust spans & tweak errors for maximum UX
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-15 23:02:13 +01:00
KtorZ 56e2c195cf
Fix #1099.
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-06 18:05:41 +01:00
rvcas ee4655328d chore: update changelog 2025-03-02 22:20:18 -05:00
rvcas 0b1297f3b7 feat: add silent flag to all warning supression 2025-03-02 22:20:18 -05:00
Pi Lanningham 900bf91216 Version 1.1.13 2025-02-26 10:07:00 -05:00
rvcas 2fbbc56777 chore: reintroduce bench graph borders 2025-02-21 15:28:51 -05:00
Pi Lanningham 0da4f70c39 chore: Release 2025-02-18 15:24:16 -05:00
rvcas 7472428fed chore: don't use fork for now 2025-02-18 15:08:35 -05:00
Pi Lanningham 18f15d2ac5 fix: clippy 2025-02-17 19:58:26 -05:00
Pi Lanningham 17a75d2481 Return an EvalResult alongside the redeemer
This refactors things so that eval_phase_two can expose logs even when the script succeeds.

It also enriches traces to be either Logs or Labels, so that we can tell the difference between the two when inspecting the traces.
2025-02-17 19:58:26 -05:00
KtorZ 7c3c5a500f
pin textplots-rs fork to a specific revision & version.
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:32:21 +01:00
KtorZ 3bce2e2d78
chore: Release
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:26:12 +01:00
KtorZ b26b599a97
Update blueprint test vectors following 58d782fa
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:21:52 +01:00
KtorZ 3c2b631813
Add 'Collecting' step to 'check' command output + warning for suspicious test filter
Fixes #1092.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:17:28 +01:00
KtorZ 58d782fa78
Scope type-aliases per module in blueprint.
Similarly to how we're already doing it for non-alias types.

  Fix #1074.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 12:55:45 +01:00
KtorZ d53f770d90
minor tweaks and proof-reading.
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:53:58 +01:00
KtorZ 8edd8d37db
fix benchmark output when either the sampler or bench fails
This is likely even better than what was done for property testing. We
  shall revise that one perhaps one day.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:23:01 +01:00
KtorZ b4aa877d6a
rework benchmarks output
Going for a terminal plot, for now, as this was the original idea and it is immediately visual. All benchmark points can also be obtained as JSON when redirecting the output, like for tests. So all-in-all, we provide a flexible output which should be useful. Whether it is the best we can do, time (and people/users) will tell.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:22:58 +01:00
KtorZ 41440f131b
rework sizing of benchmarks, taking measures at different points
The idea is to get a good sample of measures from running benchmarks
  with various sizes, so one can get an idea of how well a function
  performs at various sizes.

  Given that size can be made arbitrarily large, and that we currently
  report all benchmarks, I installed a fibonacci heuristic to gather
  data points from 0 to the max size using an increasing stepping.

  Defined as a trait as I already anticipate we might need different
  sizing strategy, likely driven by the user via a command-line option;
  but for now, this will do.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:18:02 +01:00
KtorZ 2dbc33e91f
fuse together bench & test runners, and collect all bench measures.
This commit removes some duplication between bench and test runners,
  as well as fixing the results coming out of running benchmarks.

  Running benchmarks is expected to yield multiple measures, for each of
  the iteration. For now, it'll suffice to show results for each size;
  but eventually, we'll possibly try to interpolate results with
  different curves and pick the best candidate.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:18:02 +01:00
KtorZ a7f4ecef9d
more aesthetic changes.
In particular, using a concrete enum instead of a string to avoid an
  unnecessary incomplete pattern-match, and remove superfluous comments.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:18:02 +01:00
KtorZ 37f721ff06
fixup aesthetics
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:18:01 +01:00
KtorZ 55cc1b932e
Run formatter across the codebase (rust 1.84.1)
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-08 15:03:26 +01:00
KtorZ 9162df7c6a
fix blueprint schema definitions for pairs. 2025-02-08 14:56:43 +01:00
KtorZ d3885ac67a
prune orphan pair definitions after full blueprint generation.
This is to avoid pruning a definition which may end up needed later
  on. The issue can be seen when definition to a Pair is used *before*
  another Map definitions that uses this same Pair.

  Before this commit, the Map definition would simply remove the
  definition generated for the Pair, since it would be pointless (and it
  is a lot easier to generate those pointless definition than trying to
  remember we are currently generating definition for a Map).

  So now, we defer the removal of the orphan definition to after all
  defnitions have been generated by basically looking at a dependency
  graph. I _could have_ used pet-graph on this to solve it similar to
  how we do package dependencies; but given that we only really need to
  that for pairs, the problem is relatively simple to solve (though
  cumbersome since we need to traverse all defintions).

  Fixes #1086.
2025-01-30 15:51:43 +01:00
Riley-Kilgore cb69325af5 Move 'benchmarking' over to the left 2025-01-22 15:23:17 -08:00
Riley-Kilgore 79ac1b2bfa Fix benchmarking and cleanup for PR 2025-01-22 15:23:17 -08:00
Riley-Kilgore 07679b8acc Ran fmt 2025-01-22 15:23:17 -08:00
Riley-Kilgore bd44b22d59 Addressed comments on benchmarking PR 2025-01-22 15:23:17 -08:00
Riley-Kilgore df05ae7e5d Uh, formatting again.. 2025-01-22 15:23:17 -08:00
Riley-Kilgore 84a0abeb0f Old Fuzzer, new Sampler 2025-01-22 15:23:17 -08:00
Riley-Kilgore c0fabcd26a Added benchmark keyword and unified Samplers and Fuzzers as Generator 2025-01-22 15:23:17 -08:00
Riley-Kilgore d353e07ea1 Formatting 2025-01-22 15:23:17 -08:00
Riley-Kilgore 699628df62 Added ScaledFuzzer capabilities 2025-01-22 15:23:17 -08:00
Riley-Kilgore f55419e8fb Fixed basic benchmarking functionality 2025-01-22 15:23:17 -08:00
Riley-Kilgore 8764d37d76 Formatting 2025-01-22 15:23:17 -08:00
Riley-Kilgore 9a3513b245 Basic benchmarking functionality. 2025-01-22 15:23:17 -08:00
Riley-Kilgore e97e85a272 Dump (benchmarking wip) 2025-01-22 15:23:17 -08:00
Riley-Kilgore f569f213b2 Dump (benchmarking wip) 2025-01-22 15:23:17 -08:00
microproofs b25afa2d0d
chore: Release 2025-01-21 23:48:15 +07:00
microproofs 09ddec6b41
New optimization to split independent lam function applications to enable case constr to optimize further 2025-01-11 19:09:00 +07:00
microproofs 19d0ec23cf
Oops did wrong comparison check on number of consecutive applies 2025-01-11 19:08:42 +07:00
microproofs 33392f1532
Add case constr for applies greater than 2 optimization 2025-01-11 19:08:41 +07:00
microproofs c1ed0dcbb5
Remove some prints and switch an uneeded isize to usize since it can't be negative 2025-01-11 19:08:41 +07:00