Support lazy evaluation for member access, item access and function call #132
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.
I implemented
GetAttr
,GetItem
, andCall
classes which are sub-classes ofExpr
. These classes evluate__getattr__
,__getitem__
and__call__
inexpr
. And old special classes likeShape
are replaced with combinations of these classes.For example this code is valid:
In this situation, first
Call(GetAttr(GetItem(Constant(...), 1), '__len__'), ())
is created, and then it is evaluated.fix #131