summaryrefslogtreecommitdiff
path: root/Test/dafny0/OpaqueFunctions.dfy
Commit message (Collapse)AuthorAge
* Mark old "import A as B" syntax as deprecated. The new syntax is "import A : B"Gravatar qunyanm2016-02-02
|
* This changeset changes the default visibility of a function/predicate body ↵Gravatar leino2015-03-09
| | | | | | | | | | outside the module that declares it. The body is now visible across the module boundary. To contain the knowledge of the body inside the module, mark the function/predicate as 'protected'. Semantics of 'protected': * The definition (i.e., body) of a 'protected' function is not visible outside the defining module * The idea is that inside the defining module, a 'protected' function may or may not be opaque. However, this will be easier to support once opaque/reveal are language primitives. Therefore, for the time being, {:opaque} is not allowed to be applied to 'protected' functions. * In order to extend the definition of a predicate in a refinement module, the predicate must be 'protected' * The 'protected' status of a function must be preserved in refinement modules
* Fixed bug in opaque functions with type parametersGravatar leino2015-01-07
|
* Make reveal axioms from opaque functions quantify over layersGravatar Dan Rosén2014-07-10
|
* New logical encoding of types with Is and IsAllocGravatar Dan Rosén2014-07-07
|
* Set up the same test infrastructure as in Boogie.Gravatar wuestholz2014-05-29
|
* Fix a bug in the interaction between opaque and genericsGravatar Bryan Parno2014-01-23
|
* Don't expand {:opaque} for inherited functions. (Note, more design is still ↵Gravatar Rustan Leino2013-12-17
| | | | needed to handle the combination of opaque and refinement well.)
* Don't inline opaque functions.Gravatar Rustan Leino2013-12-17
| | | | Added a verifying example with opaque functions and explicit proofs.
* Make functions and predicates be opaque outside the defining module -- only ↵Gravatar Rustan Leino2013-07-29
their specifications (e.g., ensures clauses) are exported.