summaryrefslogtreecommitdiff
path: root/Test/hofs
Commit message (Collapse)AuthorAge
* Revised the $Is and $IsAlloc axioms for arrow terms. It is now possible toGravatar Rustan Leino2016-03-01
| | | | | derived these predicates. More things can now be verified (including the problem reported in Issue #49).
* Removed specContextOnly parameter from ResolveStatement.Gravatar leino2015-09-28
| | | | Moved all bounds discovery to resolution pass 1.
* Fix: Unify column numbers in Dafny's errorsGravatar Clément Pit--Claudel2015-07-23
| | | | | | | | | Dafny counts from 0, but Boogie counts from 1. Tokens are 1-based. Thus when we print tokens, we need to decrement the column number. This was done for resolver errors, but not for verification or parsing errors. In addition, parsing errors were inconsistent with resolution errors case-wise. Unfortunately, the fix affects the output of many tests.
* Type parameters in method/function signatures are no longer auto-declared. ↵Gravatar Rustan Leino2015-07-02
| | | | | | | | | | | | | Although convenient and concise, the auto-declare behavior has on many occasions caused confusion when a type name has accidentally been mistyped (and Dafny had then accepted and auto-declared the name). Note, the behavior of filling in missing type parameters is still supported. This mode, although unusual (even original?) in languages, is different from the auto- declare behavior. For auto-declare, identifiers could be used in the program without having a declaration. For fill-in parameters, the implicitly declared type parameters remain anonymous.
* Fixed bugs in encoding of preconditions of function values, Issue #84.Gravatar leino2015-06-30
|
* Additional test case for instance functionsGravatar leino2015-06-30
|
* Removed unneeded :heapQuantifier from test case (rendinging this attribute ↵Gravatar leino2015-06-25
| | | | currently unused in the test suite)
* Changed logical order of requires and reads clauses on functions. Reads clausesGravatar Rustan Leino2015-06-15
| | | | | can now assume the precondition (as had also been the case back in the days when reads clauses had to be self framing).
* Do postponsed reads checking also for the body of functions -- see ↵Gravatar Rustan Leino2015-06-15
| | | | | | Test/dafny0/Reads.dfy for benefits. (Unfortunately, this loses track of the "postcondition might not hold on this return path" locations, see Test/dafny0/FunctionSpecifications.dfy.)
* Postpone reads checks of function preconditions until after the entire ↵Gravatar leino2015-06-15
| | | | precondition has otherwise been checked for well-formedness
* Improved generation of .reads axioms (correcting an incorrect answer and ↵Gravatar leino2015-05-01
| | | | corresponding incorrectly recorded desired answer)
* Answer fileGravatar leino2015-05-01
|
* Improved encoding of a property of reads clauses to make things more easily ↵Gravatar leino2015-05-01
| | | | provable.
* Stop pretty-print from emitting deprecated semi-colons.Gravatar qunyanm2015-03-05
|
* Switched use of List(IToken) in UserDefinedType to NameSegment/ExprDotName, ↵Gravatar leino2015-01-23
| | | | | | | so use the new name resolution machinery that handles modules and type parameters Included some inadvertently left-out test cases in dafny0/Modules0.dfy Fixed comparable-types tests
* Language change: All functions and methods declared lexically outside any ↵Gravatar leino2014-12-12
| | | | | | | | | | class are now automatically static, and fields are no longer allowed to be declared there. Stated differently, all heap state must now be declared inside an explicitly declared class, and functions and methods declared outside any class can be viewed as belonging to the module. The motivating benefit of this change is to no longer need the 'static' keyword when declaring a module of functions and methods.
* Finished up refactoring of the new name segment parsing, AST, and resolution.Gravatar leino2014-12-07
| | | | Removed now defunct IdentifierSequence from the AST.
* Snapshot, to be continuedGravatar leino2014-12-02
|
* Use arbitrary lookahead to determine if the next expression is a lambda ↵Gravatar leino2014-11-13
| | | | expression.
* Disallow automatic completion of type arguments to the LHS of datatype ↵Gravatar leino2014-10-28
| | | | declarations
* Print arrow types with parentheses around the domain type when the domain ↵Gravatar leino2014-10-09
| | | | consists of one tuple type.
* Stricter rules about that types need to be completely resolved.Gravatar leino2014-10-08
| | | | | | Renamed "default constructor" to "anonymous constructor" (since there's really nothing "default" about it). If the type of literal "null" is unresolved, make the type "object". The need to translate unresolved proxies is now assumed to be gone.
* Refactored ArrowType's to be resolved with other types. ArrowTypeDecl's are ↵Gravatar leino2014-08-27
| | | | now created by the parser into the system module.
* Support for non-constrained derived types ("new types").Gravatar leino2014-08-21
| | | | | Arbitrary conversion from int/real to derived types not yet supported. Changed rules about numeric type conversions to allow conversions from any numeric type.
* Handle underscores in lambda bound variable lists properlyGravatar Dan Rosén2014-08-19
| | | | + add a test case with lambdas that don't get their types fully specified
* Fix type inference bug in data rank comparison when one side can be a TypeVarGravatar Dan Rosén2014-08-19
|
* Consider lambdas literals + create literal axioms when an argument is a functionGravatar Dan Rosén2014-08-18
|
* Add Monads as a module example and implementation of some simple monadsGravatar Dan Rosén2014-08-15
|
* Refactor resolver, and really allow reads to take fields of type A -> set<obj>Gravatar Dan Rosén2014-08-15
| | | | twoState and codeContext is moved to a new class ResolveOpts
* Add the VectorUpdate exampleGravatar Dan Rosén2014-08-14
|
* Make arrow types not look like reference types for the resolverGravatar Dan Rosén2014-08-14
|
* Reword error message for type error in lambda requires clauseGravatar Dan Rosén2014-08-14
|
* Add lambda compilation example, and remove some unused files from the testsGravatar Dan Rosén2014-08-13
|
* Compile lambda functions and apply expressions, and change let expr compilationGravatar Dan Rosén2014-08-12
|
* Add higher-order-functions and some other goodiesGravatar Dan Rosén2014-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