Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It does!

You can specify a protocol like this:

  class IntIndexable(Protocol[T]):
    def __getitem__(self, index: int, /) -> T: ...
(Edit: formatting)




The syntax is definitely harder to grasp but if the mechanism is there, I guess the parent poster's concern can be solved like that.

Although I understant that it might have been just a simplified example. Usually the "Real World" can get very complex.


> The syntax is definitely harder to grasp

Yes it is. I believe the reason is that this is all valid python while typescript is not valid javascript. Also, python's type annotations are available at runtime (eg. for introspection) while typescript types aren't.

That said, typescript static type system is clearly both more ergonomic and more powerful than Python's.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: