Skip to content

hugr-py: v0.10.0

Compare
Choose a tag to compare
@hugrbot hugrbot released this 16 Dec 15:28
21ac35c

0.10.0 (2024-12-16)

⚠ BREAKING CHANGES

  • Removed the extension registry argument from validate calls. Removed the extension registry argument from operation instantiation methods. Removed most extension-specific test registries. Use EMPTY_REG, PRELUDE_REGISTRY, or STD_REG instead.
  • extension_reqs field in FunctionType and Extension renamed to runtime_reqs
  • Array type and operations have been moved out of prelude and into a new collections.array extension. (py) list_type method replaced with List class. Removed Array type variant from the serialization format.
  • collections extension renamed to collections.list
  • The LoadFunction::signature field is removed. Replace uses with DataflowOpTrait::signature().
  • Array scan and repeat ops get an additional type parameter specifying the extension requirements of their input functions. Furthermore, repeat is no longer part of ArrayOpDef but is instead specified via a new ArrayScan struct.

Features

  • Add LoadNat operation to enable loading generic BoundedNats into runtime values (#1763) (6f035d6), closes #1629
  • Add array repeat and scan ops (#1633) (649589c), closes #1627
  • Automatically add the custom op's extension to its 'runtime_reqs' set (#1787) (3ef5bd9)
  • Don't require explicit extension registers for validation (#1784) (b517dc3)
  • Make array repeat and scan ops generic over extension reqs (#1716) (4c1c6ee)
  • Move arrays from prelude into new extension (#1770) (187ea8f)
  • Rename collections extension to collections.list (#1764) (eef239f)
  • rename extension_reqs to runtime_reqs (#1776) (5f5bce4)

Bug Fixes

  • hugr-py not adding extension-reqs on custom ops (#1759) (97ba7f4)
  • py: allow conditional cases to be defined out of order (#1599) (583d21d)
  • Replace LoadFunction::signature with LoadFunction::instantiation (#1756) (5b50d1d)
  • Resolve types in Values and custom consts (#1779) (080eaae)
  • Update number of ports for PartialOps, and sanitize orderd edges (#1635) (81a1385), closes #1625