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

Arr opt #110

Merged
merged 8 commits into from
Dec 5, 2022
Merged

Arr opt #110

merged 8 commits into from
Dec 5, 2022

Conversation

leissa
Copy link
Member

@leissa leissa commented Oct 13, 2022

Trying to fix #109.

@leissa leissa marked this pull request as draft October 13, 2022 12:32
@NeuralCoder3
Copy link
Collaborator

Does this branch solve the problem and is ready?

@leissa
Copy link
Member Author

leissa commented Nov 29, 2022

No, it's only half of the equation. One problem was whether checking for alpha-equiv happens only optimistic or not. I.e. t1 == t2 must yield true, otherwise sth is broken. But there is also this is_uniform thing, where alpha-equiv is only optionally but we rely on that.

Anyway, I'm currently working (again) on the type inference which is strongly geared into the alpha-equiv and I'm looking again at this issue from this angle.

@leissa
Copy link
Member Author

leissa commented Dec 5, 2022

After our recent discussion in Discord, I looked once again into the changes here. One change was the problematic rule:

(a, b) -> ‹2; a›    if alpha-equiv(a, b).

Which is replaced by this PR with:

(a, b)#i (x, y, z)
* a: A = .Cn [X, Y, Z]
* b: B = .Cn [X, Y, Z]

While this does not yet fully fixes #10, it makes things better.

@leissa leissa marked this pull request as ready for review December 5, 2022 17:02
@leissa leissa merged commit a1a1cbe into master Dec 5, 2022
@leissa leissa deleted the arr_opt branch December 5, 2022 19:51
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

Successfully merging this pull request may close these issues.

Performance depends on the size of Arr/pack
2 participants