Home / Input Output / plutus
Dec 06, 5-6 AM (0)
Dec 06, 6-7 AM (0)
Dec 06, 7-8 AM (0)
Dec 06, 8-9 AM (0)
Dec 06, 9-10 AM (0)
Dec 06, 10-11 AM (0)
Dec 06, 11-12 PM (0)
Dec 06, 12-1 PM (0)
Dec 06, 1-2 PM (0)
Dec 06, 2-3 PM (0)
Dec 06, 3-4 PM (0)
Dec 06, 4-5 PM (0)
Dec 06, 5-6 PM (0)
Dec 06, 6-7 PM (0)
Dec 06, 7-8 PM (0)
Dec 06, 8-9 PM (0)
Dec 06, 9-10 PM (0)
Dec 06, 10-11 PM (0)
Dec 06, 11-12 AM (0)
Dec 07, 12-1 AM (0)
Dec 07, 1-2 AM (0)
Dec 07, 2-3 AM (0)
Dec 07, 3-4 AM (0)
Dec 07, 4-5 AM (0)
Dec 07, 5-6 AM (0)
Dec 07, 6-7 AM (0)
Dec 07, 7-8 AM (0)
Dec 07, 8-9 AM (0)
Dec 07, 9-10 AM (0)
Dec 07, 10-11 AM (0)
Dec 07, 11-12 PM (0)
Dec 07, 12-1 PM (0)
Dec 07, 1-2 PM (0)
Dec 07, 2-3 PM (0)
Dec 07, 3-4 PM (0)
Dec 07, 4-5 PM (0)
Dec 07, 5-6 PM (0)
Dec 07, 6-7 PM (0)
Dec 07, 7-8 PM (0)
Dec 07, 8-9 PM (0)
Dec 07, 9-10 PM (0)
Dec 07, 10-11 PM (0)
Dec 07, 11-12 AM (2)
Dec 08, 12-1 AM (0)
Dec 08, 1-2 AM (0)
Dec 08, 2-3 AM (0)
Dec 08, 3-4 AM (0)
Dec 08, 4-5 AM (2)
Dec 08, 5-6 AM (2)
Dec 08, 6-7 AM (1)
Dec 08, 7-8 AM (0)
Dec 08, 8-9 AM (1)
Dec 08, 9-10 AM (0)
Dec 08, 10-11 AM (0)
Dec 08, 11-12 PM (0)
Dec 08, 12-1 PM (0)
Dec 08, 1-2 PM (1)
Dec 08, 2-3 PM (0)
Dec 08, 3-4 PM (0)
Dec 08, 4-5 PM (0)
Dec 08, 5-6 PM (0)
Dec 08, 6-7 PM (0)
Dec 08, 7-8 PM (0)
Dec 08, 8-9 PM (0)
Dec 08, 9-10 PM (0)
Dec 08, 10-11 PM (1)
Dec 08, 11-12 AM (0)
Dec 09, 12-1 AM (1)
Dec 09, 1-2 AM (0)
Dec 09, 2-3 AM (0)
Dec 09, 3-4 AM (0)
Dec 09, 4-5 AM (0)
Dec 09, 5-6 AM (0)
Dec 09, 6-7 AM (0)
Dec 09, 7-8 AM (0)
Dec 09, 8-9 AM (0)
Dec 09, 9-10 AM (2)
Dec 09, 10-11 AM (0)
Dec 09, 11-12 PM (3)
Dec 09, 12-1 PM (10)
Dec 09, 1-2 PM (1)
Dec 09, 2-3 PM (1)
Dec 09, 3-4 PM (1)
Dec 09, 4-5 PM (0)
Dec 09, 5-6 PM (0)
Dec 09, 6-7 PM (0)
Dec 09, 7-8 PM (0)
Dec 09, 8-9 PM (0)
Dec 09, 9-10 PM (0)
Dec 09, 10-11 PM (0)
Dec 09, 11-12 AM (3)
Dec 10, 12-1 AM (0)
Dec 10, 1-2 AM (0)
Dec 10, 2-3 AM (0)
Dec 10, 3-4 AM (0)
Dec 10, 4-5 AM (0)
Dec 10, 5-6 AM (0)
Dec 10, 6-7 AM (0)
Dec 10, 7-8 AM (0)
Dec 10, 8-9 AM (0)
Dec 10, 9-10 AM (0)
Dec 10, 10-11 AM (2)
Dec 10, 11-12 PM (0)
Dec 10, 12-1 PM (0)
Dec 10, 1-2 PM (0)
Dec 10, 2-3 PM (0)
Dec 10, 3-4 PM (0)
Dec 10, 4-5 PM (0)
Dec 10, 5-6 PM (1)
Dec 10, 6-7 PM (0)
Dec 10, 7-8 PM (0)
Dec 10, 8-9 PM (2)
Dec 10, 9-10 PM (2)
Dec 10, 10-11 PM (0)
Dec 10, 11-12 AM (0)
Dec 11, 12-1 AM (0)
Dec 11, 1-2 AM (1)
Dec 11, 2-3 AM (1)
Dec 11, 3-4 AM (1)
Dec 11, 4-5 AM (2)
Dec 11, 5-6 AM (0)
Dec 11, 6-7 AM (0)
Dec 11, 7-8 AM (0)
Dec 11, 8-9 AM (0)
Dec 11, 9-10 AM (0)
Dec 11, 10-11 AM (0)
Dec 11, 11-12 PM (1)
Dec 11, 12-1 PM (0)
Dec 11, 1-2 PM (0)
Dec 11, 2-3 PM (0)
Dec 11, 3-4 PM (0)
Dec 11, 4-5 PM (0)
Dec 11, 5-6 PM (0)
Dec 11, 6-7 PM (0)
Dec 11, 7-8 PM (1)
Dec 11, 8-9 PM (0)
Dec 11, 9-10 PM (0)
Dec 11, 10-11 PM (0)
Dec 11, 11-12 AM (0)
Dec 12, 12-1 AM (0)
Dec 12, 1-2 AM (0)
Dec 12, 2-3 AM (0)
Dec 12, 3-4 AM (0)
Dec 12, 4-5 AM (0)
Dec 12, 5-6 AM (0)
Dec 12, 6-7 AM (0)
Dec 12, 7-8 AM (0)
Dec 12, 8-9 AM (1)
Dec 12, 9-10 AM (1)
Dec 12, 10-11 AM (1)
Dec 12, 11-12 PM (1)
Dec 12, 12-1 PM (3)
Dec 12, 1-2 PM (11)
Dec 12, 2-3 PM (0)
Dec 12, 3-4 PM (0)
Dec 12, 4-5 PM (0)
Dec 12, 5-6 PM (0)
Dec 12, 6-7 PM (0)
Dec 12, 7-8 PM (1)
Dec 12, 8-9 PM (2)
Dec 12, 9-10 PM (1)
Dec 12, 10-11 PM (1)
Dec 12, 11-12 AM (0)
Dec 13, 12-1 AM (0)
Dec 13, 1-2 AM (0)
Dec 13, 2-3 AM (0)
Dec 13, 3-4 AM (0)
Dec 13, 4-5 AM (0)
Dec 13, 5-6 AM (0)
69 commits this week Dec 06, 2025 - Dec 13, 2025
docs(spec): add Array data constructor to Plutus Core specification
Update LaTeX specification documents to document the new Array constructor:

builtins1.tex:
- Add Array (Vector Data) to Data type definition
- Update set-theoretic denotation with Array component
- Add injection (inj_A) and projection (proj_A) functions
- Add is_A to boolean test functions
- Add (Array ...) to concrete syntax
- Update chooseData from 6 to 7 arguments with t_A branch
- Add arrayData and unArrayData builtins to table

data-cbor.tex:
- Add Array to Data type definition
- Add encoder: Array uses CBOR tag 128 + indefinite list
- Add decoder case for tag 128
test: update golden tests for array feature
Regenerate all golden test files affected by the array feature:
- Budget changes from ChooseData parameter addition
- UPLC and PIR output with array constructors
- Type synthesis tests for new builtins
- Evaluation trace changes from updated cost models

Golden files updated include test suites, benchmarks, examples,
and stdlib tests across plutus-core, plutus-tx-plugin,
plutus-benchmark, and cardano-constitution packages.
feat(metatheory): add array support to Agda formalization
Extend Agda metatheory with Array constructor and array builtins.
Update CEK machine semantics, builtin signatures, and all
generated Haskell code from Agda to maintain formal correspondence
between specification and implementation.

This ensures the array feature is fully formalized and verified
in the Plutus metatheory.
feat(builtins): add ArrayData and UnArrayData builtins
Implement ArrayData (tag 101) and UnArrayData (tag 102) builtins
for constructing and deconstructing Array data. These builtins
enable efficient conversion between Vector and Data representation.

Update ChooseData to handle the new Array constructor by adding
a seventh branch parameter, maintaining backwards compatibility
with proper error handling for non-Array data in UnArrayData.
feat(core): add Array data constructor and CBOR encoding
Add Array as a new Data constructor using Vector for efficient
array representation. This enables compact encoding of homogeneous
data sequences and improves performance for array-heavy smart contracts.

The Array constructor uses CBOR tag 128 for encoding, following
the CBOR specification for alternative array representations.
This provides better memory efficiency compared to linked lists
for large sequential data structures.