Skip to content
This repository has been archived by the owner on Oct 18, 2021. It is now read-only.

Quick Look Impredicativity #203

Merged
merged 4 commits into from
Oct 19, 2019

Conversation

plt-amy
Copy link
Member

@plt-amy plt-amy commented Oct 19, 2019

This lets us infer /some/ uses of impredicative types.

This lets us infer /some/ uses of impredicative types.
@plt-amy plt-amy added enhancement TC Issues/PRs relating to something else in the TC labels Oct 19, 2019
@plt-amy plt-amy requested a review from SquidDev October 19, 2019 03:41
@plt-amy plt-amy self-assigned this Oct 19, 2019
Matheus Magalhães de Alcantara added 2 commits October 19, 2019 00:46
@plt-amy plt-amy marked this pull request as ready for review October 19, 2019 04:07
Copy link
Member

@SquidDev SquidDev left a comment

Choose a reason for hiding this comment

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

Looks good, thank you for putting this together! Just a couple of nitpicks...

src/Types/Infer/App.hs Outdated Show resolved Hide resolved
pure $ fromMaybe mempty (unifyPure result tau)
_ -> pure mempty

#ifdef TRACE_TC
Copy link
Member

Choose a reason for hiding this comment

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

Is it worth refactoring the trace code from Types.Unify into a Types.Trace module? Then we can share it everywhere, rather than using the CPP in some places, and not in others.

Copy link
Member Author

Choose a reason for hiding this comment

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

No: this lets us individually control which modules to trace. Kinda sad, though

src/Types/Unify.hs Outdated Show resolved Hide resolved
tests/types/gadt/dict02-fail.out Show resolved Hide resolved
tests/types/rankn/impredicative01-fail.out Outdated Show resolved Hide resolved
src/Types/Infer/App.hs Outdated Show resolved Hide resolved
@plt-amy plt-amy merged commit 629a6f0 into master Oct 19, 2019
@plt-amy plt-amy deleted the feature/quick-look-impredicative-polymorphism branch October 19, 2019 13:09
plt-amy pushed a commit that referenced this pull request Jan 12, 2020
This lets us infer /some/ uses of impredicative types.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement TC Issues/PRs relating to something else in the TC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants