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

Uncurry Pipeline Usage #106

Open
agureev opened this issue Apr 27, 2023 · 5 comments
Open

Uncurry Pipeline Usage #106

agureev opened this issue Apr 27, 2023 · 5 comments

Comments

@agureev
Copy link
Collaborator

agureev commented Apr 27, 2023

Now that we tested out uncurry so that our compilation can be intuitively tested pointwise both in Geb and in Poly instead of passing through the additional isomorphisms, we have a question regarding how to actually implement it.

uncurry currently needs three arguments, two for domain and codomain of the exponential object and one for the morphism we are applying it two. The domain/codomain are needed since we don't have accessors to so-hom-obj.

In order to not burden the user with providing explicit types, we will have to figure out (at least initially until higher-order function translation to Vamp-IR is implemented) how to streamline this process.

@rokopt
Copy link
Member

rokopt commented Apr 28, 2023

Does #107 address this?

@rokopt
Copy link
Member

rokopt commented May 9, 2023

Can this be closed as fixed by #115 ?

@rokopt
Copy link
Member

rokopt commented May 10, 2023

Can this be closed as fixed by #115 ?

Not yet -- Artem is still working on more required indexing changes.

@agureev
Copy link
Collaborator Author

agureev commented May 18, 2023

Made improvements in #127. That is, now given a term whose type is an n-iterated fun-type with codomain A such that A is not of type fun-type, it compiles to an n-argument function in Vamp-IR.

However, that does not suffice for general cases. E.g. compiling (pair (unit) (lambda (list (coprod so1 so1)) (index 0))) will still give out a quoted function on the right.

@agureev
Copy link
Collaborator Author

agureev commented Aug 4, 2023

Note that #138 changes the compilation to optimize costly uncurry with a simple replacement strategy.

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

No branches or pull requests

2 participants