top | item 46548752

(no title)

empthought | 1 month ago

Python is at least as typed as Lua.

discuss

order

tekacs|1 month ago

It's talking about Luau (gradually typed, https://luau.org/), not Lua.

Hopefully https://github.com/astral-sh/ty will make the Python typing situation better, but absent that, Python typing is... not great. Honestly even with that it feels subjectively very finicky.

westurner|1 month ago

icontract or pycontracts -like DbC Design-by-Contract type and constraint checking at runtime with or as fast as astral-sh/ty would make type annotations useful at runtime

"Support runtime checking" : https://github.com/astral-sh/ty/issues/867 :

> [ typeguard, beartype, trycast; mypyc ]

mypyc/mypyc: Compile type annotated Python to fast C extensions https://github.com/mypyc/mypyc src: https://github.com/python/mypy/tree/master/mypyc .. docs: https://mypyc.readthedocs.io/en/latest/ :

mypyc docs > Using type annotations > Strict runtime type checking: https://mypyc.readthedocs.io/en/latest/using_type_annotation... :

> Mypyc ensures type safety both statically and at runtime. [...] `Any` types and erased types in general can compromise type safety, and this is by design. Inserting strict runtime type checks for all possible values would be too expensive and against the goal of high performance.