[x] Currently, gvc0 imports require either "lib" or <lib>, we want to remove these indicators for PyTEAL
[x] Compound imports of the style from . import . still have yet to be implemented. This is because in gvc0 they use a single ResolvedDependencies class for resolving libraries, whereas we have two classes (one for single imports and another for composed). Although this seems to be the standard (Python parser example here) we might have to think of combining them or adding extra logic in the resolver for resolving both imports.
[x] Due to type casting issues, we can only import a single library at a time. Python supports single line multi-imports, for which the logic is already implemented here. We just have to fix typecasting from String -> StringExpression or find a way to convert the Seq[StringExpression] created by libraryPath.rep(0, ",") into a single StringExpression without converting to String first. This would require a helper function.
As shown in https://github.com/gradual-verification/gradual-TEAL/commit/4cae2042550d683967171344bcaccde599c344b7, we have working single imports! However, there are a few things to address...
"lib"
or<lib>
, we want to remove these indicators for PyTEALfrom . import .
still have yet to be implemented. This is because in gvc0 they use a singleResolvedDependencies
class for resolving libraries, whereas we have two classes (one for single imports and another for composed). Although this seems to be the standard (Python parser example here) we might have to think of combining them or adding extra logic in the resolver for resolving both imports.String -> StringExpression
or find a way to convert theSeq[StringExpression]
created bylibraryPath.rep(0, ",")
into a singleStringExpression
without converting toString
first. This would require a helper function.