Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
| * | Merge | 2014-08-11 | ||
| |\ | |/ |/| | ||||
| * | Add higher-order-functions and some other goodies | 2014-08-11 | ||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The reads clause now needs to be self framing. * The requires clause now needs to be framed by the reads clause. * There are one-shot lambdas, with a single arrow, but they will probably be removed. * There is a {:heapQuantifier} attribute to quantifiers, but they will probably be removed. * Add smart handling of type variables * Add < and > for datatype & type parameter | |||
* | | Resolved further merge issues | 2014-08-05 | ||
| | | ||||
* | | added trait feature: | 2014-07-18 | ||
|/ | | | | | | -possibility to declare traits in Dafny -possibility to extend a class by a trait -possibility to override body-less methods | |||
* | Renamed "arbitrary type" to "opaque type" | 2014-07-15 | ||
| | ||||
* | Added type synonyms. (No support yet for these in refinements.) | 2014-07-11 | ||
| | ||||
* | Merge | 2014-07-08 | ||
|\ | ||||
* | | Implemented compilation of the int<->real conversions, and changed the ↵ | 2014-07-08 | ||
| | | | | | | | | | | | | resolution and verification implementations of these. Changed FreshExpr to be a UnaryExpr, and also introduced the UnaryOpExpr subclass. | |||
| * | Merge | 2014-07-07 | ||
| |\ | |/ |/| | ||||
| * | New logical encoding of types with Is and IsAlloc | 2014-07-07 | ||
| | | ||||
* | | Added tuples and tuple types. Syntax is the expected one, namely parentheses ↵ | 2014-06-27 | ||
| | | | | | | | | around a comma-delimited list of expressions or types. Unit and the unit type are denoted (). | |||
* | | Make syntax of "match" expressions and "match" statements the same -- curly ↵ | 2014-06-24 | ||
| | | | | | | | | braces around the cases are now supported for both and are optional for both | |||
* | | Added support for 'dirty' forall statements. | 2014-06-03 | ||
|/ | | | | | | | | | | | One can now write forall statements without bodies (but with ensures clauses) as follows: forall s | s in S ensures s < 0; where S is set<int>. The ensures clauses are assumed but not checked. | |||
* | Merge | 2014-04-04 | ||
|\ | ||||
* | | Support the transition from "modify Frame;" to "modify Frame { Body }" by ↵ | 2014-04-04 | ||
| | | | | | | | | refinement. | |||
* | | Added "modify Frame { Body }" statement. | 2014-04-04 | ||
| | | ||||
* | | Added "modify" statement. | 2014-04-03 | ||
| | | | | | | | | In a frame govered by a ghost context, ignore explicit mentions of `g if g is a ghost field. | |||
| * | Basic support for datatype-update syntatic sugar | 2014-04-03 | ||
|/ | ||||
* | Refactoring: renamed VarDecl to LocalVariable, and renamed VarDeclStmt.Lhss ↵ | 2014-03-17 | ||
| | | | | to VarDeclStmt.Locals | |||
* | AST refactoring: | 2014-03-17 | ||
| | | | | | Changed VarDecl to no longer inherit from Statement. Removed ConcreteSyntaxStatement and changed VarDeclStmt's superclass be Statement. | |||
* | Deprecated "comethod" keyword in favor of "colemma". (Also, "prefix method" ↵ | 2014-02-23 | ||
| | | | | -> "prefix lemma") | |||
* | Allow unary minus on reals | 2014-02-13 | ||
| | ||||
* | Preliminary support for reals in Dafny specs. No compiler suport yet. | 2014-02-10 | ||
| | ||||
* | Removed some blank lines at the end of hover texts. | 2014-02-06 | ||
| | ||||
* | Produce hover text for many of the refinement omissions (i.e., "..." and the ↵ | 2014-01-31 | ||
| | | | | like). | |||
* | Merge | 2014-01-08 | ||
|\ | ||||
* | | Allow left-hand sides of a let expression to be patterns (like in the case ↵ | 2014-01-08 | ||
| | | | | | | | | | | | | | | of a match expression). Moved the implementation of CondApplyBox, BoxIfNecessary, CondApplyUnbox, and ModeledAsBoxType from class ExpressionTranslator to class Translator. Fixed compilation of match expressions, to allow them anywhere. | |||
| * | Add autoReq support for matches. | 2014-01-08 | ||
| | | | | | | | | Add better handling of resolved data types in autoReq. | |||
| * | Added support for automatic generation of function requirements via the ↵ | 2014-01-08 | ||
|/ | | | | :autoReq attribute. | |||
* | Print and translate "match" expressions in general positions, not just at ↵ | 2014-01-03 | ||
| | | | | the top-level of function bodies. (Note, resolver also needs to allow this before the user can take advantage of this.) | |||
* | Added proper parsing for StmtExpr's in all contexts. | 2013-12-30 | ||
| | | | | | | Adjusted printer accordingly. Fixed bug in Substituter for CalcStmt in StmtExpr's. Always show terminating semi-colon in hover-text for default decreases clauses. | |||
* | Compute default decreases clauses in Resolver instead of in the Translator. | 2013-12-19 | ||
| | | | | Make this information available as AdditionalInformation, that is, as hover text in the IDE. | |||
* | Fixed pretty printing of calc statements to use the new(-since-long) format. | 2013-12-17 | ||
| | | | | | Disallow dangling operator in calc (which had also allowed soundness bug). Don't reprove the test files in dafny0 after testing their pretty printing. | |||
* | Merge | 2013-11-18 | ||
|\ | ||||
| * | Added support for attributes on variable declarations. | 2013-11-18 | ||
| | | ||||
* | | Let compiler complain about body-less functions and methods, even if these ↵ | 2013-11-14 | ||
|/ | | | | are ghost | |||
* | Merged PredicateExpr and CalcExpr into a single StmtExpr | 2013-08-06 | ||
| | | | | In that process, added a SubstStmt method (and entourage) for substituting into statements | |||
* | Added hover text ("additional information") in places where co-methods ↵ | 2013-08-04 | ||
| | | | | provide syntactic shorthands | |||
* | Set up call-graph to keep track of edges between functions and methods. (To ↵ | 2013-08-04 | ||
| | | | | be done: replace InMethodContext with a Function/Method-Height in translator.) | |||
* | Introduced keywords "lemma" (like a "ghost method", but not allowed to have ↵ | 2013-08-02 | ||
| | | | | a "modifies" clause) and "colemma" (synonymous with "comethod"; perhaps "comethod" will go away at some point) | |||
* | Fixed printer bug to handle static receivers in function call expressions. ↵ | 2013-07-11 | ||
| | | | | (Thanks to Patrick Spettel.) | |||
* | Fixed an issue in the computation of checksums. | 2013-07-07 | ||
| | ||||
* | DafnyExtension: Worked on integrating the verification result caching. | 2013-06-06 | ||
| | ||||
* | Made the semi-colon after "type" and "module" declarations optional. | 2013-05-10 | ||
| | ||||
* | The "choose" statement, hacky and specialized as it was, is now gone. Use ↵ | 2013-03-27 | ||
| | | | | the assign-such-that statement instead. For example: x :| x in S; | |||
* | Beefed up assign/let-such-that to generate possible witnesses for ↵ | 2013-03-25 | ||
| | | | | | | | set/multiset/sequence/map display expressions Run SmallTests.dfy and LetExpr.dfy only once in the test suite Fixed some translation bugs (and a pretty-printing bug) for map display expressions | |||
* | Finished support for ==# in calc, changed Paulson example to use it. | 2013-03-20 | ||
| | ||||
* | Added the <== operator. | 2013-03-14 | ||
| | ||||
* | Renamed "parallel" statement to "forall" statement, and made the parentheses ↵ | 2013-03-06 | ||
| | | | | around the bound variables optional. | |||
* | Pretty print the new parentheses-less "if" and "while" statements as such. | 2013-02-21 | ||
| |