Skip to content

Require HadronicLineshapes 0.5 as a test-only dependency; drop Literate - #51

Merged
mmikhasenko merged 2 commits into
mainfrom
deps/hadroniclineshapes-0.5
Oct 8, 2026
Merged

mmikhasenko merged 2 commits into
mainfrom
deps/hadroniclineshapes-0.5

Conversation

@mmikhasenko

@mmikhasenko mmikhasenko commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Raise the HadronicLineshapes compat bound from 0.4.2 to 0.5, in Project.toml and benchmark/Project.toml.
  • Make HadronicLineshapes a test-only dependency ([extras]/[targets]). Nothing in src/ loads it. Installing CascadeDecays no longer pulls it in; the docs, examples and benchmark environments already list it themselves.
  • Remove the unused Literate dependency. It was never loaded anywhere in the repository.

HadronicLineshapes 0.5.0 makes BreitWigner, MultichannelBreitWigner and Flatte type-stable and allocation-free, which fixes mmikhasenko/HadronicLineshapes.jl#70. That was the last instability left after #50. With it, the benchmark model is fully inferred.

benchmark/heterogeneous_chains.jl, 8-chain pp → p p K⁺ K⁻ model, per phase-space point:

HadronicLineshapes 0.4.2 (#50) 0.5.0 (this PR)
unpolarized_intensity(model, point) 34.3 μs, 47 KB 26.3 μs, 26 KB
@inferred unpolarized_intensity(model, point) fails (lineshape returns Any) passes

The benchmark comments that described BreitWigner as type-unstable are updated.

Merge order

Compatibility notes

  • Nothing in src/ uses HadronicLineshapes, so it is now test-only; it's loaded by the tests, docs, examples and benchmarks. None of them use the APIs that 0.5.0 changes (MultichannelBreitWigner{N} as a concrete type, non-Int L in BlattWeisskopf{L}).
  • docs/ and examples/ have no compat entry for HadronicLineshapes and will resolve to 0.5 automatically.

Test plan

  • Full test suite against HadronicLineshapes at the registered commit 318b732 (v0.5.0), in a scratch environment: all 17 testsets pass.
  • benchmark/heterogeneous_chains.jl against v0.5.0 (numbers above), plus @inferred on every chain and on the whole model.
  • In a fresh environment, using CascadeDecays loads, and neither HadronicLineshapes nor Literate is installed.
  • Runic 1.13.
  • Pkg.test() against the registered HadronicLineshapes v0.5.0.
  • CI.

🤖 Generated with Claude Code

Base automatically changed from perf/heterogeneous-payload-tuples to main October 8, 2026 18:10
HadronicLineshapes 0.5 makes BreitWigner, MultichannelBreitWigner and
Flatte type-stable and allocation-free (mmikhasenko/HadronicLineshapes.jl#70).
With it, the heterogeneous-chain benchmark drops from 34.3 to 26.3 us per
point (47 -> 26 KB) and the whole model passes @inferred.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mmikhasenko
mmikhasenko force-pushed the deps/hadroniclineshapes-0.5 branch from ef11b83 to 1112f73 Compare October 8, 2026 18:11
Nothing in src/ loads HadronicLineshapes; only the tests (and the docs,
examples and benchmark environments, which list it themselves) do. Move it
to [extras]/[targets]. Literate was never loaded anywhere; remove it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mmikhasenko mmikhasenko changed the title Require HadronicLineshapes 0.5 Require HadronicLineshapes 0.5 as a test-only dependency; drop Literate Oct 8, 2026
@mmikhasenko
mmikhasenko marked this pull request as ready for review October 8, 2026 18:19
@mmikhasenko
mmikhasenko merged commit e7241ff into main Oct 8, 2026
3 of 4 checks passed
@mmikhasenko
mmikhasenko deleted the deps/hadroniclineshapes-0.5 branch October 8, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BreitWigner / MultichannelBreitWigner / Flatte are type-unstable and allocate on every call

1 participant