guppylang
guppylang copied to clipboard
Pythonic quantum-classical programming language
I tried adding pyright to my environment instead of mypy, and it highlighted these issues!
The Pytket -> Guppy conversion test involving measurement is skipped following #201 since tket2 now retains tket1 measurements with the `LBit` type instead of converting it to bool. We need...
- [x] #155 - [x] #175 - [x] #159 - [ ] #160 - [x] #161 - [ ] #162
Type variables need to be declared via `guppy.type_var(module, "T")`. We should point users to this when they try to use a vanilla Python `TypeVar` instead. See https://github.com/CQCL/guppylang/pull/210#discussion_r1598357444 This requires holding...
Fill in the `raise NotImplemented` sections in `ConstParam`, `ConstArg`, etc. to allow types like `array[qubit, 10]`.
The schema on [hugr's side](https://github.com/CQCL/hugr/blob/main/specification/schema/hugr_schema_v1.json) has been manually updated, and is currently out of sync with the pydantic definition here. Hugr now has a python package that defines the serialization...
Subclass TypeDef and GuppyType to add a representation for enums Blocked by https://github.com/CQCL/guppylang/issues/155
Add a decorator `@guppy.enum` that parses a python class into a `EnumDef`. Come up with syntax for struct enum variants. Maybe something like this: ```python @guppy.enum class MyEnum: Variant1 =...
Relates to #163. Use guppy runner to run some classical programs all the way through and inspect the results