Skip to content

Conversation

gares
Copy link
Contributor

@gares gares commented Jul 30, 2020

Changes:

  • CHR rule to propagate restrictions from a "refined evar" Y to the "raw one" X in evar X T Y. The point is that Y can occur elsewhere, and unif can restrict it. The CHR rule for UT uses Y's scope to operate, and if X is larger we don't know what to do. So we immediately restrict X whenever Y is.
    Todo:
  • coercions (not very well tested)
  • TC (only for non hint extern, should be reasonably easy)
  • CS (should be easy)
  • error messages. That is the pink elephant. I guess adding a type loc loc -> term -> term would be step 0, the one would need a more efficient implementation of safe or some auxiliary API to close wrt the context, since now it only supports ground terms, eg strings, but during elaboration one may want to just store the (non-ground) data needed in order to print an error (for efficiency). Syntactic Constraints kind of do that, but how to use them is not 100% clear yet (they key is simple, but not ground either, unless you don't key them...)

@gares gares changed the title [wip] improve the elaborator [wip] improve Elpi elaborator Jul 31, 2020
@gares gares added this to the 2.0 milestone Aug 15, 2020
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.

1 participant