Re:Show HN: A Python with Hindley-Milner-like type annotatio...
by keypusher on Friday June 26, 2015 @02:35AM
(#9782772)
MyPy is a pretty good typed Python variant. I believe the "optional type annotations" PEP used their style.
Re:Show HN: A Python with Hindley-Milner-like type annotatio...
by nly on Friday June 26, 2015 @09:12AM
(#9784026)
> even C++ to some extent
C++ can also infer return types, the following is a valid C++14 function definition
auto foo() {
auto curry = [](auto x) {
return [=](auto y) { return x + y; };
};
auto add42 = curry(42);
return add42(58);
}
which incidentally gets compiled to this: 0000000000000000 <foo()>:
0: mov $0x64,%eax
5: retq
It's clear now that you want at least enough type inference in a language that LHS types of assignments and variable creations are inferred when possible. When you have that, as in Go, Rust, and even C++ to some extent, most of the declarations are in function definitions. There, you want them for documentation purposes anyway.