Skip to content
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

Specification-only primitives #67

Open
Calvin-L opened this issue Oct 21, 2018 · 0 comments
Open

Specification-only primitives #67

Calvin-L opened this issue Oct 21, 2018 · 0 comments

Comments

@Calvin-L
Copy link
Collaborator

Calvin-L commented Oct 21, 2018

Currently, Cozy needs to be able to generate code for every possible expression. While working on #61 it became clear that this isn't necessarily ideal; there might be a lot of benefit to having "specification-only" primitives that can appear in specifications or internal subgoals, but not in output code.

Precisely, a "specification-only" primitive may appear in

  • user-written specifications
  • specifications for subgoals that Cozy generates for itself
  • concretization functions

but never in implementations returned for code generation.

EArrayLen is a good candidate for a specification-only primitive; it is easy to implement in Java but not in C.

This will require a nontrivial amount of work; right now Cozy is very committed to the idea that it always has a solution that it is improving. If we implement this, there will be a period where Cozy has no solution until it finds one that does not use any specification-only primitives.

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

No branches or pull requests

1 participant