|
|
|
|
|
by ghostwriter
1419 days ago
|
|
Yes and no. That particular example can indeed be type-checked without extra annotations (unless I want to indicate that the use-case of the variable is actually immutable). But consider I slightly modify the script: def main() -> None:
words = []
for word in (words + ["Hello"]):
print(word)
if __name__ == '__main__':
main()
MyPy rejects to infer the type of the iterable. Here's an equivalent Haskell version that does infer the type without manual annotations: import Data.Foldable (for_)
main = do
let words = []
for_ (words ++ ["Hello"]) (\word -> print word)
|
|