Implement 'existing' keyword for skipping compilation of a symbol #446
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is useful for things that are defined in a FOREIGN pragma, either by importing from a Haskell module or as an inline Haskell definition.
I also noticed that currently there are absolutely no checks done on the existing-class keyword, so as a hack you could just use it for any symbol that you don't want to be compiled by agda2hs but still recognized by it. This PR also changes it so that we check at least that it is applied to a record type (unless we also want it to apply to postulates?)
Note that I have not yet written any tests for this, so I'm marking it as a draft for now.