Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible Bachelor's thesis? #4044

Closed
tomascapek opened this issue Oct 2, 2017 · 11 comments
Closed

Possible Bachelor's thesis? #4044

tomascapek opened this issue Oct 2, 2017 · 11 comments
Labels

Comments

@tomascapek
Copy link

tomascapek commented Oct 2, 2017

I am in my final year of studying theoretical computer science - compilers and stuff like that. It is not a surprising fact, that I need to write my thesis and I am looking for some topic, which results would actually help somebody. Since I fell in love with Python, I am here.

I am thinking, solving/creating something CS related in project like this, would easily qualify as my thesis and I'd love to do so!

Do you think, would this be possible (and if so, would you cooperate with me on my efforts?) Thanks!

@refi64
Copy link
Contributor

refi64 commented Oct 2, 2017

Well, I think this was @JukkaL's thesis?

@tomascapek
Copy link
Author

That's pretty cool thesis then :)

@elazarg
Copy link
Contributor

elazarg commented Oct 4, 2017

I'm not sure what will count as thesis, but I have some ideas. None of these is guaranteed (or even likely) to be integrated into mypy, but they might be interesting. I also have only vague idea about the difficulty of the different ideas.

Again, please don't take any of these blindly.

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 4, 2017

Other random ideas (with caveats similar to what @elazarg wrote):

  • Numpy support
  • Types for immutability (for example, declaring a function as "pure" and verifying this statically)
  • Using and extending the mypy plugin system to support a complex framework like SQLalchemy
  • Stubgen v2 that can generate usually-correct stubs somehow (for some definition of correctness)
  • Type system support for monkey patching (I have some ideas about this that can perhaps serve as a starting point)

@ilinum might have some ideas as well.

@ilevkivskyi
Copy link
Member

For numpy support see also #3345

@ilinum
Copy link
Collaborator

ilinum commented Oct 4, 2017

Here are some ideas that I have written down (that haven't been mentioned before):

  • Support for Tensorflow Tensors
  • Infer return types of functions and use them during typechecking.

@tomascapek
Copy link
Author

Sorry for taking me this long to reply. At first, thank you all for your ideas. How about adding support for http://www.attrs.org/en/stable/ ?

@hroncok
Copy link

hroncok commented Oct 23, 2017

And possibly PEP 557.

@elazarg
Copy link
Contributor

elazarg commented Oct 26, 2017

I'm not a fan of adding more hard-coded support for special types before we have an appropriate plugin system. At the moment we have hard-coded support for NamedTuples, Enums and TypedDict with significant code duplication and little to no reuse and abstraction, which is part of why #4083 is badly needed.

@ilevkivskyi
Copy link
Member

@tomascapek If you will go with the attrs/plugin system, then please take into account that you shouldn't replace the corresponding TypeInfos, but you should modify them in-place (otherwise this will break forward references). There are some other ideas in #2088 dedicated to track this.

@tomascapek
Copy link
Author

So after very long thinking, I decided not to do anything from mypy, as my thesis. Thanks for the ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants