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

wants to merge 1 commit into
base: master


None yet
1 participant

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.)

This comment has been minimized.


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