packages feed

stim-parser-0.2.0.0: CHANGELOG.md

# Revision history for stim-parser

## 0.2.0.0 -- 2026-04-01

* Add DEM (Detector Error Model) parsing support.
  New modules: `StimParser.DEM.Expr`, `StimParser.DEM.Parse`.
* Add `flattenDEM` utility to expand `repeat` blocks and apply
  `shift_detectors` coordinate/ID shifts.
* Migrate all floating-point types from `Float` to `Double` for
  higher precision probability representation.
* Move `parseExhaust`, `parseTuple`, and `parseTupleFloat` to
  `StimParser.ParseUtils` as shared lexer utilities.
* Add `parseNumber` for parsing bare integers or floats as `Double`.
* Expand test suite with DEM parser and flattening tests.

## 0.1.0.0 -- 2026-03-31

* Initial release.
* Parse STIM quantum circuit files into a Haskell AST.
* Supported circuit elements:
    * Gates (Pauli, single-qubit Clifford, two-qubit Clifford,
      collapsing gates)
    * Measurements (M, MXX, MYY, MZZ, MRX, MRY, MRZ, MX, MY, MZ, MR)
    * Generalized Pauli Product gates (MPP, SPP, SPP_DAG)
    * Noise channels (DEPOLARIZE, PAULI_CHANNEL, X/Y/Z_ERROR,
      CORRELATED_ERROR, etc.)
    * Annotations (DETECTOR, OBSERVABLE_INCLUDE, QUBIT_COORDS,
      SHIFT_COORDS, TICK, MPAD)
    * REPEAT blocks
    * Tags on instructions
* `StimParser.Trans.flattenQ` transform to resolve `rec[]` references
  into absolute qubit indices, with coordinate shift support.
* Two example executables: `stim-parser-example`,
  `stim-parser-unit-example`.
* Test suite covering expression types, parsers, parse utilities,
  and transformations.