Relational typing example #34
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a simple relational typing example for Python AST.
This implementation is based on Racket examples provided by @jasonhemann.
ast.args withast.Name(i.e. "symbols")Sequencesast.Ifast.Assignast.Exprast.Calloperator.getitemExample
Here's a very simple example that infers the type of a
defstatement:The goal has inferred that the statement is a
Callablewith an unground logic variable (i.e.~tx_2408) as the type of its only argument (this could be interpreted astyping.Any) and afloat-typed return value that was derived from the type promotion in the expression1 + 1.0.