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

Define Σ as a partial application of Sigma #373

Merged
merged 1 commit into from Nov 25, 2018
Merged

Conversation

RyanGlScott
Copy link
Collaborator

Having to create defunctionalization symbols for Σ is annoying since morally, Σ ought to be defined as a simple partial application of Sigma, like so:

type Σ = Sigma

Until recently, I thought doing so was impossible due to GHC restrictions (see Trac #13408). But as it turns out, I was mistaken. There is actually an extremely straightforward way to make the above definition kind-check: just enable ImpredicativeTypes!

This patch implements that suggestion, and since the defunctionalization symbols for Σ are no longer necessary, I have removed them. In the event that someone ever fixes Trac #13408, we can remove the use of ImpredicativeTypes, so I have added a Note reminding us to do so should the time ever come.

@goldfirere
Copy link
Owner

Σ will also be able to be written once forall ... -> syntax is supported.

Sadly, until then, I agree that this should be merged, just to allow forward movement.

@RyanGlScott RyanGlScott merged commit e2d09f1 into master Nov 25, 2018
@RyanGlScott RyanGlScott deleted the sigma-partial-app branch November 25, 2018 00:20
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.

None yet

2 participants