guppylang-internals 0.26.0__py3-none-any.whl → 0.28.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- guppylang_internals/__init__.py +1 -1
- guppylang_internals/ast_util.py +37 -18
- guppylang_internals/cfg/analysis.py +6 -6
- guppylang_internals/cfg/builder.py +44 -12
- guppylang_internals/cfg/cfg.py +1 -1
- guppylang_internals/checker/core.py +1 -1
- guppylang_internals/checker/errors/comptime_errors.py +0 -12
- guppylang_internals/checker/errors/linearity.py +6 -2
- guppylang_internals/checker/expr_checker.py +53 -28
- guppylang_internals/checker/func_checker.py +4 -3
- guppylang_internals/checker/stmt_checker.py +1 -1
- guppylang_internals/compiler/cfg_compiler.py +1 -1
- guppylang_internals/compiler/core.py +17 -4
- guppylang_internals/compiler/expr_compiler.py +36 -14
- guppylang_internals/compiler/modifier_compiler.py +5 -2
- guppylang_internals/decorator.py +5 -3
- guppylang_internals/definition/common.py +1 -0
- guppylang_internals/definition/custom.py +2 -2
- guppylang_internals/definition/declaration.py +3 -3
- guppylang_internals/definition/function.py +28 -8
- guppylang_internals/definition/metadata.py +87 -0
- guppylang_internals/definition/overloaded.py +11 -2
- guppylang_internals/definition/pytket_circuits.py +50 -67
- guppylang_internals/definition/value.py +1 -1
- guppylang_internals/definition/wasm.py +3 -3
- guppylang_internals/diagnostic.py +89 -16
- guppylang_internals/engine.py +84 -40
- guppylang_internals/error.py +1 -1
- guppylang_internals/nodes.py +301 -3
- guppylang_internals/span.py +7 -3
- guppylang_internals/std/_internal/checker.py +104 -2
- guppylang_internals/std/_internal/compiler/array.py +36 -1
- guppylang_internals/std/_internal/compiler/either.py +14 -2
- guppylang_internals/std/_internal/compiler/tket_bool.py +1 -6
- guppylang_internals/std/_internal/compiler/tket_exts.py +1 -1
- guppylang_internals/std/_internal/debug.py +5 -3
- guppylang_internals/tracing/builtins_mock.py +2 -2
- guppylang_internals/tracing/object.py +6 -2
- guppylang_internals/tys/parsing.py +4 -1
- guppylang_internals/tys/qubit.py +6 -4
- guppylang_internals/tys/subst.py +2 -2
- guppylang_internals/tys/ty.py +2 -2
- guppylang_internals/wasm_util.py +2 -3
- {guppylang_internals-0.26.0.dist-info → guppylang_internals-0.28.0.dist-info}/METADATA +5 -4
- {guppylang_internals-0.26.0.dist-info → guppylang_internals-0.28.0.dist-info}/RECORD +47 -46
- {guppylang_internals-0.26.0.dist-info → guppylang_internals-0.28.0.dist-info}/WHEEL +0 -0
- {guppylang_internals-0.26.0.dist-info → guppylang_internals-0.28.0.dist-info}/licenses/LICENCE +0 -0
|
@@ -16,6 +16,7 @@ from guppylang_internals.std._internal.compiler.arithmetic import convert_itousi
|
|
|
16
16
|
from guppylang_internals.std._internal.compiler.prelude import (
|
|
17
17
|
build_unwrap_right,
|
|
18
18
|
)
|
|
19
|
+
from guppylang_internals.std._internal.compiler.tket_bool import make_opaque
|
|
19
20
|
from guppylang_internals.tys.arg import ConstArg, TypeArg
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING:
|
|
@@ -206,6 +207,14 @@ def barray_new_all_borrowed(elem_ty: ht.Type, length: ht.TypeArg) -> ops.ExtOp:
|
|
|
206
207
|
return _instantiate_array_op("new_all_borrowed", elem_ty, length, [], [arr_ty])
|
|
207
208
|
|
|
208
209
|
|
|
210
|
+
def barray_is_borrowed(elem_ty: ht.Type, length: ht.TypeArg) -> ops.ExtOp:
|
|
211
|
+
"""Returns an array `is_borrowed` operation."""
|
|
212
|
+
arr_ty = array_type(elem_ty, length)
|
|
213
|
+
return _instantiate_array_op(
|
|
214
|
+
"is_borrowed", elem_ty, length, [arr_ty, ht.USize()], [arr_ty, ht.Bool]
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
|
|
209
218
|
def array_clone(elem_ty: ht.Type, length: ht.TypeArg) -> ops.ExtOp:
|
|
210
219
|
"""Returns an array `clone` operation for arrays none of whose elements are
|
|
211
220
|
borrowed."""
|
|
@@ -320,7 +329,15 @@ class ArrayGetitemCompiler(ArrayCompiler):
|
|
|
320
329
|
|
|
321
330
|
|
|
322
331
|
class ArraySetitemCompiler(ArrayCompiler):
|
|
323
|
-
"""Compiler for the `array.__setitem__` function.
|
|
332
|
+
"""Compiler for the `array.__setitem__` function.
|
|
333
|
+
|
|
334
|
+
Arguments:
|
|
335
|
+
elem_first: If `True`, then compiler will assume that the element wire comes
|
|
336
|
+
before the index wire. Defaults to `False`.
|
|
337
|
+
"""
|
|
338
|
+
|
|
339
|
+
def __init__(self, elem_first: bool = False):
|
|
340
|
+
self.elem_first = elem_first
|
|
324
341
|
|
|
325
342
|
def _build_classical_setitem(
|
|
326
343
|
self, array: Wire, idx: Wire, elem: Wire
|
|
@@ -359,6 +376,8 @@ class ArraySetitemCompiler(ArrayCompiler):
|
|
|
359
376
|
|
|
360
377
|
def compile_with_inouts(self, args: list[Wire]) -> CallReturnWires:
|
|
361
378
|
[array, idx, elem] = args
|
|
379
|
+
if self.elem_first:
|
|
380
|
+
elem, idx = idx, elem
|
|
362
381
|
if self.elem_ty.type_bound() == ht.TypeBound.Linear:
|
|
363
382
|
return self._build_linear_setitem(array, idx, elem)
|
|
364
383
|
else:
|
|
@@ -379,3 +398,19 @@ class ArrayDiscardAllUsedCompiler(ArrayCompiler):
|
|
|
379
398
|
arr,
|
|
380
399
|
)
|
|
381
400
|
return []
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
class ArrayIsBorrowedCompiler(ArrayCompiler):
|
|
404
|
+
"""Compiler for the `array.is_borrowed` method."""
|
|
405
|
+
|
|
406
|
+
def compile_with_inouts(self, args: list[Wire]) -> CallReturnWires:
|
|
407
|
+
[array, idx] = args
|
|
408
|
+
idx = self.builder.add_op(convert_itousize(), idx)
|
|
409
|
+
array, b = self.builder.add_op(
|
|
410
|
+
barray_is_borrowed(self.elem_ty, self.length), array, idx
|
|
411
|
+
)
|
|
412
|
+
b = self.builder.add_op(make_opaque(), b)
|
|
413
|
+
return CallReturnWires(regular_returns=[b], inout_returns=[array])
|
|
414
|
+
|
|
415
|
+
def compile(self, args: list[Wire]) -> list[Wire]:
|
|
416
|
+
raise InternalGuppyError("Call compile_with_inouts instead")
|
|
@@ -4,6 +4,8 @@ from collections.abc import Sequence
|
|
|
4
4
|
from hugr import Wire, ops
|
|
5
5
|
from hugr import tys as ht
|
|
6
6
|
|
|
7
|
+
from guppylang_internals.ast_util import get_type
|
|
8
|
+
from guppylang_internals.compiler.expr_compiler import pack_returns, unpack_wire
|
|
7
9
|
from guppylang_internals.definition.custom import (
|
|
8
10
|
CustomCallCompiler,
|
|
9
11
|
CustomInoutCallCompiler,
|
|
@@ -69,7 +71,14 @@ class EitherConstructor(EitherCompiler, CustomCallCompiler):
|
|
|
69
71
|
# In the `right` case, the type args are swapped around since `R` occurs
|
|
70
72
|
# first in the signature :(
|
|
71
73
|
ty.variant_rows = [ty.variant_rows[1], ty.variant_rows[0]]
|
|
72
|
-
|
|
74
|
+
# For the same reason, the type of the input corresponds to the first type
|
|
75
|
+
# variable
|
|
76
|
+
inp_arg = self.type_args[0]
|
|
77
|
+
assert isinstance(inp_arg, TypeArg)
|
|
78
|
+
[inp] = args
|
|
79
|
+
# Unpack the single input into a row
|
|
80
|
+
inp_row = unpack_wire(inp, inp_arg.ty, self.builder, self.ctx)
|
|
81
|
+
return [self.builder.add_op(ops.Tag(self.tag, ty), *inp_row)]
|
|
73
82
|
|
|
74
83
|
|
|
75
84
|
class EitherTestCompiler(EitherCompiler):
|
|
@@ -128,4 +137,7 @@ class EitherUnwrapCompiler(EitherCompiler, CustomCallCompiler):
|
|
|
128
137
|
out = build_unwrap_right(
|
|
129
138
|
self.builder, either, "Either.unwrap_right: value is `left`"
|
|
130
139
|
)
|
|
131
|
-
return
|
|
140
|
+
# Pack outputs into a single wire. We're not allowed to return a row since the
|
|
141
|
+
# signature has a generic return type (also see `TupleType.preserve`)
|
|
142
|
+
return_ty = get_type(self.node)
|
|
143
|
+
return [pack_returns(list(out), return_ty, self.builder, self.ctx)]
|
|
@@ -40,12 +40,7 @@ class OpaqueBoolVal(hv.ExtensionValue):
|
|
|
40
40
|
def to_value(self) -> hv.Extension:
|
|
41
41
|
name = "ConstBool"
|
|
42
42
|
payload = self.v
|
|
43
|
-
return hv.Extension(
|
|
44
|
-
name,
|
|
45
|
-
typ=OpaqueBool,
|
|
46
|
-
val=payload,
|
|
47
|
-
extensions=[BOOL_EXTENSION.name],
|
|
48
|
-
)
|
|
43
|
+
return hv.Extension(name, typ=OpaqueBool, val=payload)
|
|
49
44
|
|
|
50
45
|
def __str__(self) -> str:
|
|
51
46
|
return f"{self.v}"
|
|
@@ -59,7 +59,7 @@ class ConstWasmModule(val.ExtensionValue):
|
|
|
59
59
|
|
|
60
60
|
name = "ConstWasmModule"
|
|
61
61
|
payload = {"module_filename": self.wasm_file}
|
|
62
|
-
return val.Extension(name, typ=ty, val=payload
|
|
62
|
+
return val.Extension(name, typ=ty, val=payload)
|
|
63
63
|
|
|
64
64
|
def __str__(self) -> str:
|
|
65
65
|
return f"tket.wasm.module(module_filename={self.wasm_file})"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ast
|
|
2
2
|
from dataclasses import dataclass
|
|
3
|
-
from typing import ClassVar, cast
|
|
3
|
+
from typing import TYPE_CHECKING, ClassVar, cast
|
|
4
4
|
|
|
5
5
|
from guppylang_internals.ast_util import with_loc
|
|
6
6
|
from guppylang_internals.checker.core import ComptimeVariable
|
|
@@ -12,7 +12,6 @@ from guppylang_internals.checker.expr_checker import (
|
|
|
12
12
|
synthesize_call,
|
|
13
13
|
)
|
|
14
14
|
from guppylang_internals.definition.custom import CustomCallChecker
|
|
15
|
-
from guppylang_internals.definition.ty import TypeDef
|
|
16
15
|
from guppylang_internals.diagnostic import Error
|
|
17
16
|
from guppylang_internals.error import GuppyTypeError
|
|
18
17
|
from guppylang_internals.nodes import GenericParamValue, PlaceNode, StateResultExpr
|
|
@@ -31,6 +30,9 @@ from guppylang_internals.tys.ty import (
|
|
|
31
30
|
Type,
|
|
32
31
|
)
|
|
33
32
|
|
|
33
|
+
if TYPE_CHECKING:
|
|
34
|
+
from guppylang_internals.definition.ty import TypeDef
|
|
35
|
+
|
|
34
36
|
|
|
35
37
|
class StateResultChecker(CustomCallChecker):
|
|
36
38
|
"""Call checker for the `state_result` function."""
|
|
@@ -63,7 +65,7 @@ class StateResultChecker(CustomCallChecker):
|
|
|
63
65
|
from guppylang.std.quantum import qubit
|
|
64
66
|
|
|
65
67
|
assert isinstance(qubit, GuppyDefinition)
|
|
66
|
-
qubit_ty = cast(TypeDef, qubit.wrapped).check_instantiate([])
|
|
68
|
+
qubit_ty = cast("TypeDef", qubit.wrapped).check_instantiate([])
|
|
67
69
|
|
|
68
70
|
array_len = None
|
|
69
71
|
arg, ty = ExprSynthesizer(self.ctx).synthesize(args[1])
|
|
@@ -39,14 +39,14 @@ def _mock_meta(cls: type) -> type:
|
|
|
39
39
|
return MockMeta
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
class float(builtins.float, metaclass=_mock_meta(builtins.float)): # type: ignore[
|
|
42
|
+
class float(builtins.float, metaclass=_mock_meta(builtins.float)): # type: ignore[metaclass]
|
|
43
43
|
def __new__(cls, x: Any = 0.0, /) -> Any:
|
|
44
44
|
if isinstance(x, GuppyObject):
|
|
45
45
|
return x.__float__()
|
|
46
46
|
return builtins.float(x)
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
class int(builtins.int, metaclass=_mock_meta(builtins.int)): # type: ignore[
|
|
49
|
+
class int(builtins.int, metaclass=_mock_meta(builtins.int)): # type: ignore[metaclass]
|
|
50
50
|
def __new__(cls, x: Any = 0, /, *args: Any, **kwargs: Any) -> Any:
|
|
51
51
|
if isinstance(x, GuppyObject):
|
|
52
52
|
return x.__int__(*args, **kwargs)
|
|
@@ -342,8 +342,12 @@ class GuppyObject(DunderMixin):
|
|
|
342
342
|
if not ty.droppable and not self._used:
|
|
343
343
|
state.unused_undroppable_objs[self._id] = self
|
|
344
344
|
|
|
345
|
+
def __deepcopy__(self, memo: dict[int, Any]) -> "GuppyObject":
|
|
346
|
+
# Dummy deepcopy implementation, we do not want to actually deepcopy
|
|
347
|
+
return self
|
|
348
|
+
|
|
345
349
|
@hide_trace
|
|
346
|
-
def __getattr__(self, key: str) -> Any:
|
|
350
|
+
def __getattr__(self, key: str) -> Any:
|
|
347
351
|
# Guppy objects don't have fields (structs are treated separately below), so the
|
|
348
352
|
# only attributes we have to worry about are methods.
|
|
349
353
|
func = get_tracing_state().globals.get_instance_func(self._ty, key)
|
|
@@ -450,7 +454,7 @@ class GuppyStructObject(DunderMixin):
|
|
|
450
454
|
object.__setattr__(self, "_frozen", frozen)
|
|
451
455
|
|
|
452
456
|
@hide_trace
|
|
453
|
-
def __getattr__(self, key: str) -> Any:
|
|
457
|
+
def __getattr__(self, key: str) -> Any:
|
|
454
458
|
# It could be an attribute
|
|
455
459
|
if key in self._field_values:
|
|
456
460
|
return self._field_values[key]
|
|
@@ -143,6 +143,7 @@ def arg_from_ast(node: AstNode, ctx: TypeParsingCtx) -> Argument:
|
|
|
143
143
|
def _try_parse_defn(node: AstNode, globals: Globals) -> Definition | None:
|
|
144
144
|
"""Tries to parse a (possibly qualified) name into a global definition."""
|
|
145
145
|
from guppylang.defs import GuppyDefinition
|
|
146
|
+
|
|
146
147
|
from guppylang_internals.checker.cfg_checker import VarNotDefinedError
|
|
147
148
|
|
|
148
149
|
match node:
|
|
@@ -378,7 +379,9 @@ def type_from_ast(node: AstNode, ctx: TypeParsingCtx) -> Type:
|
|
|
378
379
|
"""Turns an AST expression into a Guppy type."""
|
|
379
380
|
ty, flags = type_with_flags_from_ast(node, ctx)
|
|
380
381
|
if flags != InputFlags.NoFlags:
|
|
381
|
-
|
|
382
|
+
# Users shouldn't be able to set this
|
|
383
|
+
# Ignore needed for Python 3.10 mypy compatibility with Flag enums
|
|
384
|
+
assert InputFlags.Inout not in flags # type: ignore[operator, unused-ignore]
|
|
382
385
|
raise GuppyError(FlagNotAllowedError(node))
|
|
383
386
|
return ty
|
|
384
387
|
|
guppylang_internals/tys/qubit.py
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import functools
|
|
2
|
-
from typing import Any, cast
|
|
2
|
+
from typing import TYPE_CHECKING, Any, cast
|
|
3
3
|
|
|
4
|
-
from guppylang_internals.definition.ty import TypeDef
|
|
5
4
|
from guppylang_internals.tys.arg import TypeArg
|
|
6
5
|
from guppylang_internals.tys.common import Visitor
|
|
7
6
|
from guppylang_internals.tys.ty import OpaqueType, Type
|
|
8
7
|
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from guppylang_internals.definition.ty import TypeDef
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|
@functools.cache
|
|
11
13
|
def qubit_ty() -> Type:
|
|
@@ -17,7 +19,7 @@ def qubit_ty() -> Type:
|
|
|
17
19
|
from guppylang.std.quantum import qubit
|
|
18
20
|
|
|
19
21
|
assert isinstance(qubit, GuppyDefinition)
|
|
20
|
-
qubit_ty = cast(TypeDef, qubit.wrapped).check_instantiate([])
|
|
22
|
+
qubit_ty = cast("TypeDef", qubit.wrapped).check_instantiate([])
|
|
21
23
|
return qubit_ty
|
|
22
24
|
|
|
23
25
|
|
|
@@ -36,7 +38,7 @@ class QubitFinder(Visitor):
|
|
|
36
38
|
pass
|
|
37
39
|
|
|
38
40
|
@functools.singledispatchmethod
|
|
39
|
-
def visit(self, ty: Any) -> bool:
|
|
41
|
+
def visit(self, ty: Any) -> bool:
|
|
40
42
|
return False
|
|
41
43
|
|
|
42
44
|
@visit.register
|
guppylang_internals/tys/subst.py
CHANGED
|
@@ -32,7 +32,7 @@ class Substituter(Transformer):
|
|
|
32
32
|
self.subst = subst
|
|
33
33
|
|
|
34
34
|
@functools.singledispatchmethod
|
|
35
|
-
def transform(self, ty: Any) -> Any | None:
|
|
35
|
+
def transform(self, ty: Any) -> Any | None:
|
|
36
36
|
return None
|
|
37
37
|
|
|
38
38
|
@transform.register
|
|
@@ -56,7 +56,7 @@ class Instantiator(Transformer):
|
|
|
56
56
|
self.inst = inst
|
|
57
57
|
|
|
58
58
|
@functools.singledispatchmethod
|
|
59
|
-
def transform(self, ty: Any) -> Any | None:
|
|
59
|
+
def transform(self, ty: Any) -> Any | None:
|
|
60
60
|
return None
|
|
61
61
|
|
|
62
62
|
@transform.register
|
guppylang_internals/tys/ty.py
CHANGED
|
@@ -97,7 +97,7 @@ class TypeBase(ToHugr[ht.Type], Transformable["Type"], ABC):
|
|
|
97
97
|
|
|
98
98
|
# We use a custom printer that takes care of inserting parentheses and choosing
|
|
99
99
|
# unique names
|
|
100
|
-
return TypePrinter().visit(cast(Type, self))
|
|
100
|
+
return TypePrinter().visit(cast("Type", self))
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
@dataclass(frozen=True)
|
|
@@ -567,7 +567,7 @@ class FunctionType(ParametrizedTypeBase):
|
|
|
567
567
|
remaining_params,
|
|
568
568
|
# Comptime type arguments also need to be instantiated
|
|
569
569
|
comptime_args=[
|
|
570
|
-
cast(ConstArg, arg.transform(inst)) for arg in self.comptime_args
|
|
570
|
+
cast("ConstArg", arg.transform(inst)) for arg in self.comptime_args
|
|
571
571
|
],
|
|
572
572
|
)
|
|
573
573
|
|
guppylang_internals/wasm_util.py
CHANGED
|
@@ -26,8 +26,7 @@ class ConcreteWasmModule:
|
|
|
26
26
|
@dataclass(frozen=True)
|
|
27
27
|
class WasmSignatureError(Error):
|
|
28
28
|
title: ClassVar[str] = (
|
|
29
|
-
"Invalid signature for @wasm function `{fn_name}`\n"
|
|
30
|
-
"in wasm file: `{filename}`"
|
|
29
|
+
"Invalid signature for @wasm function `{fn_name}`\nin wasm file:\n`{filename}`"
|
|
31
30
|
)
|
|
32
31
|
fn_name: str
|
|
33
32
|
filename: str
|
|
@@ -53,7 +52,7 @@ class WasmFunctionNotInFile(Error):
|
|
|
53
52
|
|
|
54
53
|
@dataclass(frozen=True)
|
|
55
54
|
class WasmFileNote(Note):
|
|
56
|
-
message: ClassVar[str] = "Wasm file
|
|
55
|
+
message: ClassVar[str] = "Wasm file:\n`{filename}`"
|
|
57
56
|
filename: str
|
|
58
57
|
|
|
59
58
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: guppylang-internals
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.0
|
|
4
4
|
Summary: Compiler internals for `guppylang` package.
|
|
5
5
|
Author-email: Mark Koch <mark.koch@quantinuum.com>, TKET development team <tket-support@quantinuum.com>
|
|
6
6
|
Maintainer-email: Mark Koch <mark.koch@quantinuum.com>, TKET development team <tket-support@quantinuum.com>
|
|
@@ -219,12 +219,13 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
219
219
|
Classifier: Programming Language :: Python :: 3.14
|
|
220
220
|
Classifier: Topic :: Software Development :: Compilers
|
|
221
221
|
Requires-Python: <4,>=3.10
|
|
222
|
-
Requires-Dist: hugr~=0.
|
|
222
|
+
Requires-Dist: hugr~=0.15.1
|
|
223
|
+
Requires-Dist: pytket>=1.34
|
|
223
224
|
Requires-Dist: tket-exts~=0.12.0
|
|
225
|
+
Requires-Dist: tket>=0.12.7
|
|
224
226
|
Requires-Dist: typing-extensions<5,>=4.9.0
|
|
225
|
-
Requires-Dist: wasmtime
|
|
227
|
+
Requires-Dist: wasmtime<41.1,>=38.0
|
|
226
228
|
Provides-Extra: pytket
|
|
227
|
-
Requires-Dist: pytket>=1.34; extra == 'pytket'
|
|
228
229
|
Description-Content-Type: text/markdown
|
|
229
230
|
|
|
230
231
|
# guppylang-internals
|
|
@@ -1,70 +1,71 @@
|
|
|
1
|
-
guppylang_internals/__init__.py,sha256=
|
|
2
|
-
guppylang_internals/ast_util.py,sha256=
|
|
3
|
-
guppylang_internals/decorator.py,sha256=
|
|
4
|
-
guppylang_internals/diagnostic.py,sha256=
|
|
1
|
+
guppylang_internals/__init__.py,sha256=KM7L1NJ-D2NCLrdyfv3tq7XPLy4kTzjJx6tjX8hL8AM,130
|
|
2
|
+
guppylang_internals/ast_util.py,sha256=UX_KTTnI743zRWaSfp6WV_4QHIrAV7OnsiX38f0tmns,13092
|
|
3
|
+
guppylang_internals/decorator.py,sha256=v3nkIA3yhC5PojpqJ-AOiuXnG7wTqOQZlBlb2RyOYL8,14191
|
|
4
|
+
guppylang_internals/diagnostic.py,sha256=lyJvN3duViAIfQVY4tgt2c-4aQfR08RIAe-JWkhgjuI,21635
|
|
5
5
|
guppylang_internals/dummy_decorator.py,sha256=LXTXrdcrr55YzerX3qrHS23q6S9pVdpUAvhprWzKH6E,2330
|
|
6
|
-
guppylang_internals/engine.py,sha256=
|
|
7
|
-
guppylang_internals/error.py,sha256=
|
|
6
|
+
guppylang_internals/engine.py,sha256=JPSTs75erAZquNxo5POT0v3D_d0Qci00exSVf4mft4I,12733
|
|
7
|
+
guppylang_internals/error.py,sha256=CiOQALJbJ8PXA0N-O4lQ11wgQ6yCjqk-_4Mg6be8ts4,3395
|
|
8
8
|
guppylang_internals/experimental.py,sha256=yERQgpT7P-x0-nr4gU4PdUCntByQwF2I9rfjpWtgqn4,3115
|
|
9
9
|
guppylang_internals/ipython_inspect.py,sha256=rY2DpSpSBrRk0IZmuoz7jh35kGZHQnHLAQQFdb_-WnI,931
|
|
10
|
-
guppylang_internals/nodes.py,sha256=
|
|
10
|
+
guppylang_internals/nodes.py,sha256=_HnEP2p1YDiM6J-k_UVO3oG9-vUnShpDkTqJ3ItHRyk,21423
|
|
11
11
|
guppylang_internals/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
guppylang_internals/span.py,sha256=
|
|
13
|
-
guppylang_internals/wasm_util.py,sha256=
|
|
12
|
+
guppylang_internals/span.py,sha256=55c1G7QacrYI52VJlq0tw9nz4UoMZfqZ3ViqyrKzBY4,5137
|
|
13
|
+
guppylang_internals/wasm_util.py,sha256=ajhY1lymbb3ZXxW63BoUK1BPQpSrjT4I2xaCUcaUP5w,3583
|
|
14
14
|
guppylang_internals/cfg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
guppylang_internals/cfg/analysis.py,sha256=
|
|
15
|
+
guppylang_internals/cfg/analysis.py,sha256=41FT4ts38GPYawNNBD1WQLSPp7t6oRuu9-Kv6HDyMDY,8367
|
|
16
16
|
guppylang_internals/cfg/bb.py,sha256=TxV5yHRqiH86lvLR0g4EZ4fs7S6Axoof1l0TIAZArJM,8591
|
|
17
|
-
guppylang_internals/cfg/builder.py,sha256=
|
|
18
|
-
guppylang_internals/cfg/cfg.py,sha256=
|
|
17
|
+
guppylang_internals/cfg/builder.py,sha256=6HVuVjtgPaFjzuMHtbBz6OX7fS5JhJVI9GYXZv6JkmQ,29650
|
|
18
|
+
guppylang_internals/cfg/cfg.py,sha256=EmKvILolYoTMSO2wrYRfPWaM-qfMCvdumvcWVJRxUm4,4491
|
|
19
19
|
guppylang_internals/checker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
guppylang_internals/checker/cfg_checker.py,sha256=0hDxw2CTbTbjewtDjaoBehgon17tJaQG9YPO_qR6P0Q,13667
|
|
21
|
-
guppylang_internals/checker/core.py,sha256=
|
|
22
|
-
guppylang_internals/checker/expr_checker.py,sha256=
|
|
23
|
-
guppylang_internals/checker/func_checker.py,sha256=
|
|
21
|
+
guppylang_internals/checker/core.py,sha256=IH3-9kuagCh6BtX7_hcjeNmfT8VUUCSzYoFUUan2n8A,18165
|
|
22
|
+
guppylang_internals/checker/expr_checker.py,sha256=LBCL98bEHUkfRLcLN0zulu_jN-cPX6l4lDJvE0VMTt4,61211
|
|
23
|
+
guppylang_internals/checker/func_checker.py,sha256=BuMdrs6PkrzUoSOD8BrCf0ZxC8ixf12xPMJVwZ2i7Ig,16125
|
|
24
24
|
guppylang_internals/checker/linearity_checker.py,sha256=cVgoUshu6YPEJ2mgk3RUWx38qt52WNMxjyLVV5eqgD4,37160
|
|
25
25
|
guppylang_internals/checker/modifier_checker.py,sha256=ruhEkbT4g9YIJXOGRsfpdzUsbXxEbS95PC1LG-EAl3o,4175
|
|
26
|
-
guppylang_internals/checker/stmt_checker.py,sha256=
|
|
26
|
+
guppylang_internals/checker/stmt_checker.py,sha256=Fp7KoSiKWdIHOM-iplRf5wpTJeu5XQ9LaRzq71fEZzM,20787
|
|
27
27
|
guppylang_internals/checker/unitary_checker.py,sha256=TVUT4JskaOzNVLcMrQwOd5t5MBLdHC2jFEtFHzlOW8I,4512
|
|
28
28
|
guppylang_internals/checker/errors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
guppylang_internals/checker/errors/comptime_errors.py,sha256=
|
|
29
|
+
guppylang_internals/checker/errors/comptime_errors.py,sha256=SOISi-3ljagJa5fiWsPNk6rLIgh0-iq9RltdnRLwItk,3082
|
|
30
30
|
guppylang_internals/checker/errors/generic.py,sha256=r-BiSrmJh9jfXlxE029GMQ8yj30_qOTW2RAQsd3HYzs,2050
|
|
31
|
-
guppylang_internals/checker/errors/linearity.py,sha256=
|
|
31
|
+
guppylang_internals/checker/errors/linearity.py,sha256=jKp_IExMySGYjxEw-VbvVNgUewW6jRieseMLB4-twPA,8978
|
|
32
32
|
guppylang_internals/checker/errors/type_errors.py,sha256=KUmcpN3tGLI_8BogcGKfV_N5BO7yqEBPgyHmf8hk-3M,10619
|
|
33
33
|
guppylang_internals/checker/errors/wasm.py,sha256=TlwQRtlA0zpu8xwkBHWPYc25OIb6NrMHRxuYUfyD0Rg,956
|
|
34
34
|
guppylang_internals/compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
guppylang_internals/compiler/cfg_compiler.py,sha256=
|
|
36
|
-
guppylang_internals/compiler/core.py,sha256=
|
|
37
|
-
guppylang_internals/compiler/expr_compiler.py,sha256=
|
|
35
|
+
guppylang_internals/compiler/cfg_compiler.py,sha256=K-hf2wi3VSQI1TW6h3cUGY8_gMmQvVo152Gjqeyt3yA,9006
|
|
36
|
+
guppylang_internals/compiler/core.py,sha256=fMmbxo6Z210cFyGSWDuyQyNSbpNUNhe_7m95IbufjI8,31998
|
|
37
|
+
guppylang_internals/compiler/expr_compiler.py,sha256=rM4VuG9s974MQSBlmjPVXIpY_LSoMFZ9qnUZOpj6qf0,37934
|
|
38
38
|
guppylang_internals/compiler/func_compiler.py,sha256=0bo28RNsFZDYmllle-yFUXKC0UJsLl2TVjr3gvDMJVA,3377
|
|
39
39
|
guppylang_internals/compiler/hugr_extension.py,sha256=eFUcxzBZoVzXV-AqEOJlh_rJkyuS3vFv1WKGOHjloJs,7966
|
|
40
|
-
guppylang_internals/compiler/modifier_compiler.py,sha256=
|
|
40
|
+
guppylang_internals/compiler/modifier_compiler.py,sha256=LrPLldlcFSjhKdHmx8034SLwKLRI-SE8LhEXcOLDNnQ,6506
|
|
41
41
|
guppylang_internals/compiler/qtm_platform_extension.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
42
|
guppylang_internals/compiler/stmt_compiler.py,sha256=cdOgqzRVP1hYeGbGftgY8LlFRHLWdgFPjlhK-khoMvw,9340
|
|
43
43
|
guppylang_internals/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
guppylang_internals/definition/common.py,sha256=
|
|
44
|
+
guppylang_internals/definition/common.py,sha256=AmNoht3dFs7s0UzKZXsnipZe90hz7nLNm3jqObQieLE,6970
|
|
45
45
|
guppylang_internals/definition/const.py,sha256=71QVX3xqSaC0u4bsYHPbR_0Csz1Es-P7HHGxbTZXfNI,2283
|
|
46
|
-
guppylang_internals/definition/custom.py,sha256=
|
|
47
|
-
guppylang_internals/definition/declaration.py,sha256=
|
|
46
|
+
guppylang_internals/definition/custom.py,sha256=xjVsqiav6BZGouyNYjAZiCnAKsx_Rwkxl-GIJT0ZOyE,19710
|
|
47
|
+
guppylang_internals/definition/declaration.py,sha256=uJqM8qD75koWu-jd7lyRe5bVrswtubtzb9wbouGk6is,6040
|
|
48
48
|
guppylang_internals/definition/extern.py,sha256=hEajRYaapKIfX9J7scnusQHc1e_bCxB4oUVWZ-D4c8o,2878
|
|
49
|
-
guppylang_internals/definition/function.py,sha256=
|
|
50
|
-
guppylang_internals/definition/
|
|
49
|
+
guppylang_internals/definition/function.py,sha256=rkfrWRNUiqJbAe_6W6a1mz1JZpNqaJvmClbmZtdvDqo,11887
|
|
50
|
+
guppylang_internals/definition/metadata.py,sha256=10tEBVNj5ONCsfdv4-hGBp0wzYN2gxYM-EXtMqO9bL4,3041
|
|
51
|
+
guppylang_internals/definition/overloaded.py,sha256=jwrzaL_P1fYW9TTL-gnPAe0gHLN2kDPbG1-muKT0u1Q,5613
|
|
51
52
|
guppylang_internals/definition/parameter.py,sha256=l60l-yO34gpeuKZ5D3ru8CS8wnQGuoAgqIUP1CrfOF8,2789
|
|
52
|
-
guppylang_internals/definition/pytket_circuits.py,sha256=
|
|
53
|
+
guppylang_internals/definition/pytket_circuits.py,sha256=YfQDdZrUPluO0zg_12Egb4KpzC3QBcKCIcVZGJEQj94,16198
|
|
53
54
|
guppylang_internals/definition/struct.py,sha256=Jed5kcoc57toQr4f7zeB7mr6fSDP1Q2KRnmGJvbVXF4,15572
|
|
54
55
|
guppylang_internals/definition/traced.py,sha256=hMHnrLKdbMvmmzmcJRvOCR-WiPHJ3x5ji0am436HNTQ,5592
|
|
55
56
|
guppylang_internals/definition/ty.py,sha256=5Jt7twY8v1cE7noZ_RYfo0X55KYV6JI0itdHW9vvZs0,2085
|
|
56
|
-
guppylang_internals/definition/value.py,sha256=
|
|
57
|
-
guppylang_internals/definition/wasm.py,sha256=
|
|
57
|
+
guppylang_internals/definition/value.py,sha256=F8XNB9qsKoHAwh0VhESRnL2z4WCWg-aiub8ldQKti8E,3489
|
|
58
|
+
guppylang_internals/definition/wasm.py,sha256=3e1rDFjdf9AkYUrMukfRqn2V4S6yMw86Us_VBxFRdTs,3391
|
|
58
59
|
guppylang_internals/std/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
60
|
guppylang_internals/std/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
guppylang_internals/std/_internal/checker.py,sha256=
|
|
61
|
+
guppylang_internals/std/_internal/checker.py,sha256=eWg2bOpD3A1cpQIo2XQShioah8pSZS2vaK1fY1VhLEU,21892
|
|
61
62
|
guppylang_internals/std/_internal/compiler.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
guppylang_internals/std/_internal/debug.py,sha256=
|
|
63
|
+
guppylang_internals/std/_internal/debug.py,sha256=xdFC2kjI-GY5SNzsWdwH7a5MsaUWLutQ8P6odlxLNkE,3934
|
|
63
64
|
guppylang_internals/std/_internal/util.py,sha256=e_sawDuuk1YFpbEQXbpAvWMNeTlkGb4P0t6Ed0JpP9M,8305
|
|
64
65
|
guppylang_internals/std/_internal/compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
66
|
guppylang_internals/std/_internal/compiler/arithmetic.py,sha256=_Nf-P3GwTp-ZVLz62Hz9ModD74R41hKqutNGmp5Mn6g,4287
|
|
66
|
-
guppylang_internals/std/_internal/compiler/array.py,sha256=
|
|
67
|
-
guppylang_internals/std/_internal/compiler/either.py,sha256=
|
|
67
|
+
guppylang_internals/std/_internal/compiler/array.py,sha256=l3FqmqRr-95a0lkTW1-MCd2VzFDBYHZR2-Aw38gW0bY,14803
|
|
68
|
+
guppylang_internals/std/_internal/compiler/either.py,sha256=LEVPfkINfYr5qENkszzgYYI5zrjaYPHlPnk0nNBrBaA,5425
|
|
68
69
|
guppylang_internals/std/_internal/compiler/frozenarray.py,sha256=BZMSSYTieqcFaAXGTR0nw2b7eN5LK2Et4vNZSBFRcyI,2361
|
|
69
70
|
guppylang_internals/std/_internal/compiler/futures.py,sha256=nIaxXCGj4BPI_to_Q87gQEqN94Q8hb09ICkODZVOJrQ,1095
|
|
70
71
|
guppylang_internals/std/_internal/compiler/list.py,sha256=Tqvs-J7iL5TxG5qgk-dboXU3-y7uZq-tQ9r9xFhmw4c,12574
|
|
@@ -74,14 +75,14 @@ guppylang_internals/std/_internal/compiler/platform.py,sha256=3TMYdRO--Sabapo4K0
|
|
|
74
75
|
guppylang_internals/std/_internal/compiler/prelude.py,sha256=2pOmi1JNBHsETkC4EGskbFBAZAlAJ4IvWZLe5v4DIFM,9635
|
|
75
76
|
guppylang_internals/std/_internal/compiler/qsystem.py,sha256=dKSpvpxF7WRfWuDj0u7zShEhTL6mkAr9pQNyYVoa8vM,1940
|
|
76
77
|
guppylang_internals/std/_internal/compiler/quantum.py,sha256=gXuB1vpRl8ipgwwEYPCgoMPiqPUJ908Msl09jJFdWxg,3930
|
|
77
|
-
guppylang_internals/std/_internal/compiler/tket_bool.py,sha256=
|
|
78
|
-
guppylang_internals/std/_internal/compiler/tket_exts.py,sha256=
|
|
78
|
+
guppylang_internals/std/_internal/compiler/tket_bool.py,sha256=yvZRArJIVnCysdfvg6TSz61wwt9ikZh5N5EX4DF2UfE,1114
|
|
79
|
+
guppylang_internals/std/_internal/compiler/tket_exts.py,sha256=UP43DbvDoXetM0qIYGEbTx4h0lINf3n5GZ67VphMUp8,1514
|
|
79
80
|
guppylang_internals/std/_internal/compiler/wasm.py,sha256=1G8EzrnN3Yv12hIdv2XOg4Hq-QlvRYl7-4QbZYLYyM4,5727
|
|
80
81
|
guppylang_internals/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
|
-
guppylang_internals/tracing/builtins_mock.py,sha256=
|
|
82
|
+
guppylang_internals/tracing/builtins_mock.py,sha256=Z_aXgUpTXIyLelfEFKVjpMLWDM-am_GtAD7KMceGFhQ,2973
|
|
82
83
|
guppylang_internals/tracing/frozenlist.py,sha256=sINk-PZTw4dNThF5GK9AZxAeX5ap-g_hbqxZ79GtLAc,1823
|
|
83
84
|
guppylang_internals/tracing/function.py,sha256=K2rEey0awOxwfljGk4uezRmXode7rgOKQY1VN94wOIo,7901
|
|
84
|
-
guppylang_internals/tracing/object.py,sha256=
|
|
85
|
+
guppylang_internals/tracing/object.py,sha256=iW8oQsbO_KgNpvcaDrVA6H52tULQpmWk5De8OILSurU,20514
|
|
85
86
|
guppylang_internals/tracing/state.py,sha256=J-fG0dZh9IeB6hpLfyp5IwqS2TW0Zr8XloMmuIHWS6Q,2083
|
|
86
87
|
guppylang_internals/tracing/unpacking.py,sha256=6Df9h4pFS6mebyU3VR5DfO87Rs_QbTdSkLMNjpaM0Xc,8728
|
|
87
88
|
guppylang_internals/tracing/util.py,sha256=zzVUeY7Ax4v_ZQh7QmckYaOWsg7BRZg6-oX4VWmytDU,3054
|
|
@@ -92,13 +93,13 @@ guppylang_internals/tys/common.py,sha256=kCJDzSquUdztV5zEINE0Lxigawux9te0lmzd0Oa
|
|
|
92
93
|
guppylang_internals/tys/const.py,sha256=kl15uOriJFLUpoodb75f4dl3HYYa6OuKWA2B0vheVPY,4876
|
|
93
94
|
guppylang_internals/tys/errors.py,sha256=zg3R-R-W5D-5kAm_xEemvfs4GJ7NHLgAL_N2WToquZA,6158
|
|
94
95
|
guppylang_internals/tys/param.py,sha256=NXNDp8yrxbCkCo6oWCnjGg1ZoJ-F0leR5aUIj2eZQrc,10165
|
|
95
|
-
guppylang_internals/tys/parsing.py,sha256=
|
|
96
|
+
guppylang_internals/tys/parsing.py,sha256=5PCfIXp6MTIbdLq6t7AzR8u6gpW6KE0dOyAMkAJyZjI,16098
|
|
96
97
|
guppylang_internals/tys/printing.py,sha256=4DewINiHYMI_l_hmhDhfUYiWmfdj2s2NkKZcMC4Qu7U,5723
|
|
97
|
-
guppylang_internals/tys/qubit.py,sha256=
|
|
98
|
-
guppylang_internals/tys/subst.py,sha256=
|
|
99
|
-
guppylang_internals/tys/ty.py,sha256=
|
|
98
|
+
guppylang_internals/tys/qubit.py,sha256=dAceI0tFPNlCrV85gDq0y1p0f2fTPRhsxi-El-IZtzc,1746
|
|
99
|
+
guppylang_internals/tys/subst.py,sha256=klk9eX71soQ2OOAsZ_RxdMRbOOQ77O0QRtPSg2xEsVA,2997
|
|
100
|
+
guppylang_internals/tys/ty.py,sha256=2Ojf8yxYypXCQSrq5cVCt7EMVCfjkFIIJBEZpcqxwzU,31119
|
|
100
101
|
guppylang_internals/tys/var.py,sha256=zACXv2IvGrqjDryC6lMyZpNnDb3SBRM2SlTOyq6WJdo,1173
|
|
101
|
-
guppylang_internals-0.
|
|
102
|
-
guppylang_internals-0.
|
|
103
|
-
guppylang_internals-0.
|
|
104
|
-
guppylang_internals-0.
|
|
102
|
+
guppylang_internals-0.28.0.dist-info/METADATA,sha256=si1cmOM9yJtW5iOZuQrzsi7SOuK7dLf9jYEsNxh5_No,14865
|
|
103
|
+
guppylang_internals-0.28.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
104
|
+
guppylang_internals-0.28.0.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
105
|
+
guppylang_internals-0.28.0.dist-info/RECORD,,
|
|
File without changes
|
{guppylang_internals-0.26.0.dist-info → guppylang_internals-0.28.0.dist-info}/licenses/LICENCE
RENAMED
|
File without changes
|