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

Simplify terms. #168

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
1 participant
@evincarofautumn
Owner

evincarofautumn commented Feb 1, 2017

The Group constructor is redundant because (x) is equivalent to {x} call, and Group is only used for infix desugaring, after which it just gets in the way. This is a work in progress—currently, the compiler can fail to find the right instantiation of the definition generated by lifting the intermediate quotation. In the future, optimisations will be able to remove this unnecessary closure, but this issue needs to be fixed anyway.

Since a quotation is only ever used at a single type, we should be able to generate the correct instantiation immediately.

[wip] Simplify terms.
 * Remove 'Group' constructor.

 * Make type variables scoped over definition bodies for 'as'
   expressions. (TODO: break this out into a separate branch.)
@evincarofautumn

This comment has been minimized.

Owner

evincarofautumn commented Aug 6, 2017

I’ve started to take these thoughts in a different direction on the reorg branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment