- 09 Jun, 2017 9 commits
-
-
Andrei Paskevich authored
This reverts the enforcing part of a44cccbb.
-
Andrei Paskevich authored
This reverts commit da67461f. Let us keep the {..} notation for snapshots and shadowed logical symbols, but go back to transparent access to logical symbols, at least for now.
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
Jean-Christophe Filliâtre authored
- test-ocaml-extraction is back (and fixed to resolve overloaded +) - exec/extract tests that have been moved to to_port are commented out
-
Mário Pereira authored
-
Andrei Paskevich authored
-
- 08 Jun, 2017 23 commits
-
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Andrei Paskevich authored
x.{f} is allowed and can be used for unary applications M.{f} is not allowed, use {M.f} instead
-
Martin Clochard authored
-
Andrei Paskevich authored
It is confusing to use the keyword "label" to define an exception. Also, the "label L in ..." binds too far and the break point is not clearly defined. We do need some syntactic sugar for exception X t in try <expr> with X r -> r (at the very least "break" and "continue"), but labels are not it.
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
MARCHE Claude authored
-
Martin Clochard authored
-
Martin Clochard authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
Mário Pereira authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
Andrei Paskevich authored
In the surface language, the loop index is always int in the loop invariant and all annotations and pure terms inside the loop. If you want to access the original range-typed index, use "let copy_i = i in" in the program code before your assertion. Of course, you cannot do that for the loop invariant, which is what we want.
-
Martin Clochard authored
Reason for that change: interpret correctly both (1) A by B -> C and (2) A -> B by C Case (2) is common, and we expect by to take precendence, so that A is the context for the proof of B. Case (1) is rarer, and is troublesome if by take precendence cause (A by B) -> C is almost certainly not what the user intended to write. Putting precendence of by/so at the same level as the arrow fix this
-
Andrei Paskevich authored
At this moment, there is no semantics change. This commit only provides dedicated grammar rules for negated numerals, so that we do not have to recognize them later.
-
- 07 Jun, 2017 4 commits
-
-
Mário Pereira authored
-
Martin Clochard authored
-
Mário Pereira authored
-
Mário Pereira authored
-
- 06 Jun, 2017 4 commits
-
-
Andrei Paskevich authored
-
Andrei Paskevich authored
This allows to import an existing scope to the current namespace. Not sure if we need this in the surface language, though.
-
Andrei Paskevich authored
In this way, someone who puts a part of his function in an abstract block will not have broken "return"s.
-
Andrei Paskevich authored
-