Home / Input Output / plutus
Jan 21, 2-3 PM (2)
Jan 21, 3-4 PM (1)
Jan 21, 4-5 PM (1)
Jan 21, 5-6 PM (0)
Jan 21, 6-7 PM (0)
Jan 21, 7-8 PM (1)
Jan 21, 8-9 PM (1)
Jan 21, 9-10 PM (3)
Jan 21, 10-11 PM (2)
Jan 21, 11-12 AM (1)
Jan 22, 12-1 AM (2)
Jan 22, 1-2 AM (1)
Jan 22, 2-3 AM (1)
Jan 22, 3-4 AM (0)
Jan 22, 4-5 AM (0)
Jan 22, 5-6 AM (0)
Jan 22, 6-7 AM (0)
Jan 22, 7-8 AM (1)
Jan 22, 8-9 AM (1)
Jan 22, 9-10 AM (0)
Jan 22, 10-11 AM (0)
Jan 22, 11-12 PM (0)
Jan 22, 12-1 PM (0)
Jan 22, 1-2 PM (0)
Jan 22, 2-3 PM (0)
Jan 22, 3-4 PM (1)
Jan 22, 4-5 PM (1)
Jan 22, 5-6 PM (1)
Jan 22, 6-7 PM (0)
Jan 22, 7-8 PM (2)
Jan 22, 8-9 PM (1)
Jan 22, 9-10 PM (0)
Jan 22, 10-11 PM (0)
Jan 22, 11-12 AM (3)
Jan 23, 12-1 AM (0)
Jan 23, 1-2 AM (0)
Jan 23, 2-3 AM (0)
Jan 23, 3-4 AM (0)
Jan 23, 4-5 AM (0)
Jan 23, 5-6 AM (0)
Jan 23, 6-7 AM (0)
Jan 23, 7-8 AM (0)
Jan 23, 8-9 AM (0)
Jan 23, 9-10 AM (3)
Jan 23, 10-11 AM (1)
Jan 23, 11-12 PM (8)
Jan 23, 12-1 PM (0)
Jan 23, 1-2 PM (8)
Jan 23, 2-3 PM (7)
Jan 23, 3-4 PM (1)
Jan 23, 4-5 PM (0)
Jan 23, 5-6 PM (0)
Jan 23, 6-7 PM (0)
Jan 23, 7-8 PM (0)
Jan 23, 8-9 PM (0)
Jan 23, 9-10 PM (0)
Jan 23, 10-11 PM (0)
Jan 23, 11-12 AM (0)
Jan 24, 12-1 AM (0)
Jan 24, 1-2 AM (0)
Jan 24, 2-3 AM (0)
Jan 24, 3-4 AM (0)
Jan 24, 4-5 AM (0)
Jan 24, 5-6 AM (0)
Jan 24, 6-7 AM (0)
Jan 24, 7-8 AM (0)
Jan 24, 8-9 AM (0)
Jan 24, 9-10 AM (0)
Jan 24, 10-11 AM (0)
Jan 24, 11-12 PM (0)
Jan 24, 12-1 PM (0)
Jan 24, 1-2 PM (0)
Jan 24, 2-3 PM (0)
Jan 24, 3-4 PM (0)
Jan 24, 4-5 PM (0)
Jan 24, 5-6 PM (0)
Jan 24, 6-7 PM (0)
Jan 24, 7-8 PM (0)
Jan 24, 8-9 PM (0)
Jan 24, 9-10 PM (0)
Jan 24, 10-11 PM (0)
Jan 24, 11-12 AM (0)
Jan 25, 12-1 AM (0)
Jan 25, 1-2 AM (0)
Jan 25, 2-3 AM (0)
Jan 25, 3-4 AM (0)
Jan 25, 4-5 AM (0)
Jan 25, 5-6 AM (0)
Jan 25, 6-7 AM (0)
Jan 25, 7-8 AM (0)
Jan 25, 8-9 AM (0)
Jan 25, 9-10 AM (0)
Jan 25, 10-11 AM (0)
Jan 25, 11-12 PM (0)
Jan 25, 12-1 PM (0)
Jan 25, 1-2 PM (0)
Jan 25, 2-3 PM (0)
Jan 25, 3-4 PM (0)
Jan 25, 4-5 PM (0)
Jan 25, 5-6 PM (0)
Jan 25, 6-7 PM (0)
Jan 25, 7-8 PM (0)
Jan 25, 8-9 PM (0)
Jan 25, 9-10 PM (0)
Jan 25, 10-11 PM (0)
Jan 25, 11-12 AM (0)
Jan 26, 12-1 AM (0)
Jan 26, 1-2 AM (0)
Jan 26, 2-3 AM (0)
Jan 26, 3-4 AM (0)
Jan 26, 4-5 AM (0)
Jan 26, 5-6 AM (0)
Jan 26, 6-7 AM (0)
Jan 26, 7-8 AM (0)
Jan 26, 8-9 AM (3)
Jan 26, 9-10 AM (1)
Jan 26, 10-11 AM (1)
Jan 26, 11-12 PM (1)
Jan 26, 12-1 PM (1)
Jan 26, 1-2 PM (1)
Jan 26, 2-3 PM (1)
Jan 26, 3-4 PM (0)
Jan 26, 4-5 PM (0)
Jan 26, 5-6 PM (0)
Jan 26, 6-7 PM (0)
Jan 26, 7-8 PM (0)
Jan 26, 8-9 PM (0)
Jan 26, 9-10 PM (0)
Jan 26, 10-11 PM (0)
Jan 26, 11-12 AM (1)
Jan 27, 12-1 AM (0)
Jan 27, 1-2 AM (2)
Jan 27, 2-3 AM (0)
Jan 27, 3-4 AM (0)
Jan 27, 4-5 AM (0)
Jan 27, 5-6 AM (0)
Jan 27, 6-7 AM (0)
Jan 27, 7-8 AM (0)
Jan 27, 8-9 AM (0)
Jan 27, 9-10 AM (0)
Jan 27, 10-11 AM (11)
Jan 27, 11-12 PM (11)
Jan 27, 12-1 PM (5)
Jan 27, 1-2 PM (1)
Jan 27, 2-3 PM (3)
Jan 27, 3-4 PM (1)
Jan 27, 4-5 PM (1)
Jan 27, 5-6 PM (0)
Jan 27, 6-7 PM (0)
Jan 27, 7-8 PM (0)
Jan 27, 8-9 PM (0)
Jan 27, 9-10 PM (0)
Jan 27, 10-11 PM (0)
Jan 27, 11-12 AM (0)
Jan 28, 12-1 AM (0)
Jan 28, 1-2 AM (0)
Jan 28, 2-3 AM (0)
Jan 28, 3-4 AM (0)
Jan 28, 4-5 AM (0)
Jan 28, 5-6 AM (0)
Jan 28, 6-7 AM (0)
Jan 28, 7-8 AM (0)
Jan 28, 8-9 AM (2)
Jan 28, 9-10 AM (2)
Jan 28, 10-11 AM (1)
Jan 28, 11-12 PM (1)
Jan 28, 12-1 PM (1)
Jan 28, 1-2 PM (0)
Jan 28, 2-3 PM (0)
107 commits this week Jan 21, 2026 - Jan 28, 2026
feat(nix): expose uplc-evaluator executable in nix packages (#7549)
Add uplc-evaluator to exposed-haskell-packages in nix/outputs.nix to make
it available via nix build/run commands.

This allows users to easily build and use the uplc-evaluator service:
  nix build .#uplc-evaluator
  nix run .#uplc-evaluator -- --help

The executable provides an asynchronous file-based interface for
benchmarking UPLC programs, as specified in plutus-benchmark/uplc-evaluator/SPEC.md.
feat(nix): expose uplc-evaluator executable in nix packages
Add uplc-evaluator to exposed-haskell-packages in nix/outputs.nix to make
it available via nix build/run commands.

This allows users to easily build and use the uplc-evaluator service:
  nix build .#uplc-evaluator
  nix run .#uplc-evaluator -- --help

The executable provides an asynchronous file-based interface for
benchmarking UPLC programs, as specified in plutus-benchmark/uplc-evaluator/SPEC.md.
Fix uplc-evaluator-integration-tests to work in nix builds
The test harness was searching for the uplc-evaluator executable only in
hardcoded dist-newstyle paths with specific GHC versions. This failed in
nix builds where the executable is made available via build-tool-depends
in PATH.

Solution: Use System.Directory.findExecutable to locate uplc-evaluator
in PATH. This works for both:
- cabal builds: cabal test adds build-tools to PATH
- nix builds: nix adds dependencies to PATH via build-tool-depends

This eliminates the need to maintain a list of hardcoded paths for
different platforms and GHC versions.
test(cek): add comprehensive discharge tests for free variables
Add 8 test cases covering variable capture scenarios in dischargeCekValue:

- Free variables under 1, 2, and 3 lambdas

- Deeply indexed free variables

- Multiple free variables in the same term

- Nested environment structures

Tests verify that free variables are correctly shifted to prevent capture when terms are discharged from the evaluation environment.

Tests for #7526
fix(cek): prevent variable capture in dischargeCekValue
Add shiftTermBy function to correctly shift free variables when discharging values from the environment. Previously, free variables in discharged terms could be captured by outer lambdas, causing incorrect variable references in the output term.

The fix tracks binding depth during discharge and shifts free variables (those with indices beyond the current binding depth) by the appropriate amount to maintain correct scoping.

Resolves #7526