Mirror of https://github.com/leanprover/lean2 in case it ever disappears
Find a file
Leonardo de Moura c4c548dc5d feat(*): simplify interrupt propagation
Instead of having m_interrupted flags in several components. We use a thread_local global variable.
The new approach is much simpler to get right since there is no risk of "forgetting" to propagate
the set_interrupt method to sub-components.

The plan is to support set_interrupt methods and m_interrupted flags only in tactic objects.
We need to support them in tactics and tacticals because we want to implement combinators/tacticals such as (try_for T M) that fails if tactic T does not finish in M ms.
For example, consider the tactic:

    try-for (T1 ORELSE T2) 5

It tries the tactic (T1 ORELSE T2) for 5ms.
Thus, if T1 does not finish after 5ms an interrupt request is sent, and T1 is interrupted.
Now, if you do not have a m_interrupted flag marking each tactic, the ORELSE combinator will try T2.
The set_interrupt method for ORELSE tactical should turn on the m_interrupted flag.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-11-12 21:45:48 -08:00
doc doc(coding_style.md): add section about git pre-push hook 2013-11-11 20:18:38 -05:00
examples/lean Fix typo 2013-09-05 19:18:55 -07:00
script fix(script/demangle_cpptype): process line-by-line, instead of waiting for EOF 2013-09-29 18:36:01 -07:00
src feat(*): simplify interrupt propagation 2013-11-12 21:45:48 -08:00
tests feat(lua): use formatter available in the state object to convert Lean objects into strings in the Lua API 2013-11-12 16:56:30 -08:00
.gitignore Add more tests 2013-08-31 18:46:18 -07:00
.travis.osx.yml chore(travis): fix .travis.osx.yml 2013-11-12 23:15:03 -05:00
.travis.windows.yml chore(travis): use cmake-2.8.7 for windows build 2013-11-06 13:49:14 -05:00
.travis.yml chore(travis): update coveralls.io repo token 2013-11-10 02:04:27 -05:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md doc(README.md): "Code coverage" => "Coverage" to fit in one line 2013-11-11 20:42:15 -05:00

UbuntuOS XWindowsCoverageBuilds / UnitTests / Dynamic Analyses
http://build.leanprover.net

About

Requirements

Installing required packages at

Build Instructions

Miscellaneous