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

Exceptions support in CF #154

Merged
merged 6 commits into from
Oct 4, 2016
Merged

Exceptions support in CF #154

merged 6 commits into from
Oct 4, 2016

Conversation

Armael
Copy link
Member

@Armael Armael commented Sep 24, 2016

Not finished yet.

Progress:

  • Support raise and handle in the cf function
  • Update the soundness proof
  • Update the existing tactics and specifications of the examples so they still work
  • Implement tactics and add examples for raise and handle
  • Be able to use translator representation predicates for exceptions
  • Optionally generalize existing cfs (eg for division or array access), to specify the case where an exception is raised (at the moment, the user has to prove that this case cannot happen) [for later]

Some questions:

  • Does something need to be added to basisProgramScript about exceptions?
  • please bikeshed about the auxiliary predicates used for post-conditions. At the moment, one writes POSTv v. Qv v for writing a "pure" postcondition (meaning that the exception case cannot happen), POSTe v. Qe v for a postcondition for the exception case only (the value case cannot happen), and POST Qv Qe for specifying one post-condition for each case
  • does something else need to be done?

@xrchz
Copy link
Member

xrchz commented Sep 25, 2016

Looking good. I think it's fine to just finish raise and handle tactics for this, and anything more can be done later.

@Armael
Copy link
Member Author

Armael commented Sep 30, 2016

Everything should be done now.
I'll rebase on top of master later tonight.

Armaël Guéneau added 5 commits October 3, 2016 11:21
Basically stop reinventing square wheels.

- hsimpl & friends become a bit less "precise", however it's not a big
  deal as one can still select a precise term on which to apply them,
  and then their behavior should be obvious

- this allows to use the propagation of context that is done by
  ConseqConv tactics, and is in particular useful in hchange
@Armael Armael changed the title [WIP] Exceptions support in CF Exceptions support in CF Oct 3, 2016
@Armael
Copy link
Member Author

Armael commented Oct 3, 2016

Rebase done (it includes new changes, related to normalisation).

@xrchz xrchz merged commit debff5a into master Oct 4, 2016
@xrchz xrchz deleted the cf-exn branch October 4, 2016 03:41
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.

2 participants