| Notes from meeting |
| ------------------ |
| |
| Meeting at Dropbox. Attendees: Guido, Jukka, Jim Baker, Jeremy Siek, |
| Michael Vitousek (student of Jeremy's). |
| |
| |
| - Could have a few examples in Abstract. |
| |
| - Discussion of function types, e.g. keyword parameters. Observation |
| that what the type checker can represent may be more than what the |
| syntax supports. Jukka says in practice callbacks rarely if ever |
| are called with callbacks. |
| |
| - Any reason you use format() in the first example? (It is worthy of |
| a very custom checker all by itself.) |
| |
| - Let's not mention the 'types' module much, nor use it in examples. |
| Its types are too concrete for most practical purposes. |
| E.g. types.FunctionType does not include built-in types nor bound |
| methods, but those rarely pose problems. |
| |
| - The early function/callable examples don't specify the signature. |
| It would be good to fill in the bodies of the example functions. |
| |
| - Discussion of Jython, mostly java.util.List. Jim wants to generate |
| mypy stubs from .class files and then run standard mypy; he wants |
| java.util.List to be compatible with typing.List. |
| |
| - We want Set[Employee] to actually create a new class object that |
| knows it is a Set of Employees (not just Set). However |
| Set[Employee]() should just return an empty concrete set, |
| i.e. set(). |
| |
| - Problems with the filter() example -- how does it construct an |
| instance of Y? |
| |
| - Discussion about typevar('T', values=(alt1, alt2)) vs. Var('T', |
| base=...). Jeremy doesn't like base= because it reeks of |
| subclassing too much. Note that AnyStr is very different from |
| Union[str, bytes]. |
| |
| - Jython wants to use type hints for code generation and doesn't want |
| to change its parser to retain #type: comments. But List[int]() is |
| ugly and slows down execution. No clear solution; maybe Jython's |
| type inferencing can infer the type of p in cases like this:: |
| |
| def primes(n: int) -> List[int]: |
| p = [] |
| ...fill p with n primes... |
| return p |