fix(library/module): potential deadlock when child thread threw an exception

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(util/stackinfo): on OSX Boost does not seem to be based on pthread library

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(*): replace unique_lock with lock_guard when we do not need to use conditional variables

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/inductive): add APIs for retrieving information about declared inductive datatypes, intro rules, and elimination rules

The new API is important for implementing environment transformation procedures, and export Lean environment to different systems (e.g., Coq).

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add parse_table datastructure

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parse_table): add parse_table Lua API

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parse_table): add typedef for notation::parse_table

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(util/trie): bug in for_each method

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/token_set): add token_set Lua API

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(frontends/lean): use consistent name conventions, rename token_set to token_table

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parse_table): add use_lambda_abstraction flag to scoped_expr_actions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/aliases): add support for alias overloading

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add parser_config environment extension

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean/scanner): use the parser configuration in the environment

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): add parser interface

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/token_table): static initialization problem

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/kernel_bindings): add 'set_env/set_environment' commands for updating the global environment

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parser): add 'parse_commands' and 'parse_script'

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean/cmd_table): remove register_builtin_cmd procedures, they would cause initialization problems

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/builtin_cmds): add simple 'print' command

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>