- 15 Jun, 2018 1 commit
-
-
Andrei Paskevich authored
-
- 07 Jun, 2018 1 commit
-
-
Andrei Paskevich authored
These names are only visible under "ensures" but not under "returns". If the result is named, the special variable "result" is not used. In a tuple, either each component should be named, or none at all. Underscores are allowed. Parentheses around the return type are required. Each name must be given its own type: "f () : (x y: int)" is rejected. Identifiers without cast are treated as types, not as names. To name the result without giving its type, use "returns".
-
- 11 Jun, 2017 1 commit
-
-
Andrei Paskevich authored
This makes the syntax cleaner and brings us closer to OCaml. One incompatibility with the previous grammar is that "ghost" binds stronger than the left arrow of assignment, and thus ghost assignments have to be written as "ghost (x.f <- v)". This is unavoidable, because assignment has to be weaker than the tuple comma (think "x.f, y.g <- y.g, x.f" or "a[i] <- u,v"), and "ghost" has to be stronger than comma, for consistency with our patterns and our return types. The "return" construction is weaker than comma, for "return a,b". It is also weaker than assignment, though "return x.f <- b" does not make much sense either way. This change does not concern type expressions, where a tuple type must always have its clothes^Wparentheses on: (int, int). It might be nice to write "constant pair: int, bool", but on the other hand this would break casts like "42: int, true".
-
- 06 Jun, 2017 1 commit
-
-
Andrei Paskevich authored
-
- 26 Jan, 2014 1 commit
-
-
MARCHE Claude authored
-
- 30 Jan, 2013 1 commit
-
-
Andrei Paskevich authored
- all programs with sessions are in examples/ - all programs without sessions are in examples/in_progress/ (if you have private sessions for those, just move them there) - all pure logical problems are in logic/ (to simplify bench scripts and gallery building; they are few anyway) - all OCaml programs are in examples/use_api/ - all strange stuff is in examples/misc/ (most of it should probably go) - Claude's solutions for Foveoos 2011 are in examples/foveoos11-cm/ (why do we need two sets of solutions for quite simple problems?) - hoare_logic, bitvectors, vacid_0_binary_heaps are in examples/ Bench scripts and documentation are updated. Also, bench/bench is simplified a little bit.
-
- 12 Oct, 2012 1 commit
-
-
Andrei Paskevich authored
-
- 04 Jun, 2012 1 commit
-
-
MARCHE Claude authored
-