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

Alpha equiv 2 - Electric Boogaloo #219

Merged
merged 21 commits into from
May 19, 2023
Merged

Alpha equiv 2 - Electric Boogaloo #219

merged 21 commits into from
May 19, 2023

Conversation

leissa
Copy link
Member

@leissa leissa commented May 18, 2023

Alpha-Equivalence checks now knows two modes:

  • In infer mode, type inference is happening and Infer%s will be resolved, if possible.
    Also, two free but different Var%s are considered α-equivalent.
  • When *not in infer mode, no type inference is happening and Infer%s will not be touched.
    Also, Two free but different Var%s are not considered α-equivalent.

In addition:

@leissa leissa changed the title Alpha equiv boogaloo Alpha equiv 2 - Electric Boogaloo May 19, 2023
Copy link
Collaborator

@fodinabor fodinabor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jup, this correctly types the (f, (ff, t)#done)#matched arg thing, so one can call it.

(Backend still doesn't like these things ^^)

thorin/check.h Show resolved Hide resolved
thorin/check.cpp Outdated Show resolved Hide resolved
* fighting several alpha-equiv probls with umax
* fixed problem in fun/fn
* enabled lit/matrix/map_reduce.thorin again
@leissa leissa merged commit 2386ad7 into master May 19, 2023
12 checks passed
@leissa leissa deleted the alpha-equiv-boogaloo branch May 19, 2023 22:50
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
3 participants