-
Notifications
You must be signed in to change notification settings - Fork 86
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
Quoting + erasure of primitive objects #527
Comments
We have not looked at it deeply but it should mostly be a straightforward adaptation of Coq's handling of them. Note that we will need to have a way to translate the axiomatized definitions on the primitive types to something in CertiCoq. If you're eager to try we can certainly guide you a little :) |
Hi Matthieu, For CertiCoq, I'm working on adding support for extracting terms to specific C definitions (à la Extract Constant) and I think the same code can be used to handle compilation of primitive objects. For MetaCoq, I don't think I'll get the time to try that soon. I might at some point if no one else wants to. |
Ok, we discussed this a bit today during a CUDW2020 working group, and we think ideally we'd like to support primitive types using their primitive representation in template-coq, but modify the translation to PCUIC to uses their models, to ensure correctness of axiomatisation (without introducing axioms in PCUIC). In the meantime, we can certainly hack some unsafe translation that keeps primitive objects untouched until LambdaBox. I'll give a try to this tomorrow. |
@mattam82 Is this still open? I have time to work on this. |
Hi @intoverflow, it's only somewhat open. We've added treatment of primitive objects to template-coq/pcuic/erasure already, so in erased terms you now get
|
It would be very useful to add support for primitive ints + floats in MetaCoq (so we can then realize such primitives in CertiCoq's backend). Are there any plans to do so?
The text was updated successfully, but these errors were encountered: