|
|
|
|
|
by stabbles
97 days ago
|
|
You really need dedicated types for `int64` and something like `final`. Consider: class Foo:
__slots__ = ("a", "b")
a: int
b: float
there are multiple issues with Python that prevent optimizations:* a user can define subtype `class my_int(int)`, so you cannot optimize the layout of `class Foo` * the builtin `int` and `float` are big-int like numbers, so operations on them are branchy and allocating. and the fact that Foo is mutable and that `id(foo.a)` has to produce something complicates things further. |
|
Therefore Python has no use for TS-like superset, because it already has facilities for static analysis with no bearing on runtime, which is what TS provides.