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

Port old combinator implementations of sum types, iteration and recursion to new lambda-calculus style #4

Open
VMatthijs opened this issue Oct 8, 2021 · 6 comments

Comments

@VMatthijs
Copy link
Owner

Also, some of the array primitives we had?

@VMatthijs
Copy link
Owner Author

(No rush, obviously)

@tomsmeding
Copy link
Collaborator

As for array primitives, we had only map and foldr before. Not that this is a reason to not have more, but just for posterity.

@VMatthijs
Copy link
Owner Author

Right! You did all the other ones (generate, permute, backpermute, indexing) in your own branch with dynamically sized arrays.

@VMatthijs
Copy link
Owner Author

VMatthijs commented Jan 11, 2022

@tomsmeding , want to try doing this at least for the sum types, so you can check whether it has the right complexity? That would then give us at least a way of doing AD on higher order programs with the right complexity by using defunctionalization.

@tomsmeding
Copy link
Collaborator

Oh that's a good one! I will do so. Slightly longer timeframe than usual perhaps due to lectures that I still need to make...

@tomsmeding
Copy link
Collaborator

@VMatthijs Seems to work with the classic LEither, but basically untested: main...sum-types
Suggestions for good test cases?

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