typed_python
typed_python copied to clipboard
Wrap function overload + closure + input wrappers + return type in a single packet
Motivation and Context
Separates the responsibilities of the code parcel that is input to the compiler and the compiler itself - the unit of compilation is 'one overload + all the data the compiler needs to do its job' and by passing this in as a class we can clarify the role of python_to_native_converter (and runtime).
Down the line, this lets us contemplate synthetic compiler inputs that didn't come via entrypoint, & getting rid of convertTypedFunctionCall entirely and adjusting the convert() function to accept this packet directly.
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Checklist:
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.