Commit graph

567 commits

Author SHA1 Message Date
Leonardo de Moura
bf9f7560f7 feat(frontends/lean): (Type u) can't be a proposition
(Type u)  is the old (Type (u+1))
(PType u) is the old (Type u)
Type*     is the old (Type (_+1))
PType*    is the old Type*

The stdlib can be compiled, but we still have > 70 broken tests

See discussion at #1341
2017-01-30 11:54:00 -08:00
Gabriel Ebner
5fdc737dfc feat(library/tactic): store name of current declaration in tactic_state 2017-01-28 08:27:19 +01:00
Leonardo de Moura
0048d0490b fix(frontends/lean/parser): structure followed by doc string 2017-01-23 10:35:07 -08:00
Leonardo de Moura
c62014df7a chore(frontends/lean/parser): style 2017-01-20 18:38:58 -08:00
Leonardo de Moura
9ed9de18bf feat(frontends/lean/parser): relax pattern validation rules 2017-01-20 18:38:14 -08:00
Gabriel Ebner
1a6629ce3b feat(frontends/lean/parser): keep list of tasks that have to succeed 2017-01-17 15:31:17 -08:00
Leonardo de Moura
bfa48ff0c7 fix(frontends/lean/parser): position info when error is inside notation 2017-01-16 10:29:00 -08:00
Gabriel Ebner
db81e4b5b8 feat(frontends/lean/parser): gracefully handle scanner exceptions in imports 2017-01-11 23:49:44 -08:00
Sebastian Ullrich
8eb39bb982 fix(frontends/lean/parser): catch exceptions thrown by sync_command 2017-01-10 14:42:48 -08:00
Sebastian Ullrich
cc3126e944 feat(frontends/lean,library/scoped_ext,shell): complete namespaces 2017-01-10 12:25:33 +01:00
Sebastian Ullrich
b04df04120 feat(frontends/lean): rework and simplify completion parsing, enabling completion of empty prefixes 2017-01-10 12:25:33 +01:00
Leonardo de Moura
7d540b6d02 fix(frontends/lean/parser): fixes #1290 2017-01-09 15:35:25 -08:00
Leonardo de Moura
93c8e69313 chore(frontends/lean, library): cleanup anonymous instance management 2017-01-06 14:37:44 -08:00
Sebastian Ullrich
7040844f9a feat(frontends/lean/parser,shell): complete imports 2017-01-06 14:02:31 -08:00
Sebastian Ullrich
3136f36ed6 fix(frontends/lean/parser): complete after periods trailing identifiers 2017-01-06 14:02:31 -08:00
Gabriel Ebner
063130ee18 feat(kernel/environment): add function that checks whether all proofs are correct 2017-01-05 18:09:28 -08:00
Leonardo de Moura
85b98f08e9 fix(frontends/lean): bad position at spurious 'end' token 2016-12-29 19:51:36 -08:00
Sebastian Ullrich
98398b16f3 feat(frontends/lean,shell): implement completing options 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
daf839e0d5 feat(frontends/lean,shell/server): report current goal anywhere within begin-end/by 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
5cb06ea912 perf(frontends/lean/parser): break at break_at_pos even if not on an interesting token 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
8ccf28abf3 chore(*): remove old code 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
c9a8c02fdc feat(emacs,frontends/lean/parser,shell/server): more accurate info command using server-side parsing 2016-12-27 10:07:34 -08:00
Gabriel Ebner
15157bdf0b feat(frontends/lean/parser): keep going after failed imports 2016-12-23 10:53:47 +01:00
Gabriel Ebner
0550d2a6ac refactor(library/module): import all modules in a single call 2016-12-20 10:15:19 -08:00
Gabriel Ebner
99fc13af98 refactor(library/module_mgr): cache olean imports as well 2016-12-20 10:15:19 -08:00
Leonardo de Moura
ffc9c75824 fix(frontends/lean/parser): do not clear local universes when switching to tactic mode and/or quoting 2016-12-19 09:21:54 -08:00
Leonardo de Moura
1cfef1c6d9 fix(frontends/lean/parser): save next_inst_idx in the parser snapshot
This fixes issues with anonymous instances in sections.
In Emacs, we would get spurious error messages such as:

   invalid parameter/variable declaration, '_inst_1' has already been declared

This commit also adds a regression test for the problem.
2016-12-18 23:39:28 -08:00
Leonardo de Moura
8b43314e23 feat(library/aliases,frontends/lean/parser): take local_ref's into account when defining new aliases; use get_local_ref at id_to_expr; use get_local_ref at resolve_local_name
see #1251
2016-12-15 14:10:44 -08:00
Leonardo de Moura
384cf04efd refactor(library/aliases,frontends/lean/local_ref_info): merge aliases and local_ref_info modules 2016-12-15 13:24:30 -08:00
Gabriel Ebner
8e0a5904d2 refactor(library/message_buffer): move info_manager out of scope_message_context 2016-12-12 08:23:15 -05:00
Leonardo de Moura
aba6f8b8a8 feat(frontends/lean/parser): add support for anonymous parameters
Example:

check λ _, 0
2016-12-10 11:07:58 -08:00
Leonardo de Moura
55401a95ec fix(frontends/lean/parser): scope in tactic mode 2016-12-10 09:39:13 -08:00
Leonardo de Moura
e13bac41c3 fix(frontends/lean): 'sorry' axiom auto generation 2016-12-08 10:31:52 -08:00
Jared Roesch
e65d90ac79 feat(*): C++ code generator
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Gabriel Ebner
000d97a9a6 fix(frontends/lean/parser): wrap snapshot in shared_ptr 2016-11-30 11:27:02 -05:00
Gabriel Ebner
c3f72ec0d8 fix(library/module_mgr): do not copy module_info 2016-11-30 11:26:59 -05:00
Leonardo de Moura
d40e97b4bc chore(*): compilation errors, fix style, fix warnings 2016-11-29 11:35:01 -08:00
Gabriel Ebner
3ecfddcbd5 fix(*): fix build 2016-11-29 11:12:43 -08:00
Gabriel Ebner
e448e4e129 refactor(util/task_queue): merge module_task into task and cancel by position 2016-11-29 11:12:43 -08:00
Gabriel Ebner
e1cb1a8cd2 feat(util/task_queue,library/versioned_msg_buf): rudimentary support for task interruption 2016-11-29 11:12:43 -08:00
Gabriel Ebner
385ea13688 feat(kernel/declaration,*): all theorems are delayed, and are revealed on delta-reduction 2016-11-29 11:12:43 -08:00
Gabriel Ebner
a8df381d20 feat(*): parallel compilation 2016-11-29 11:12:40 -08:00
Leonardo de Moura
002c62b49c feat(frontends/lean): basic leandoc tool 2016-11-27 14:31:31 -08:00
Leonardo de Moura
94c882f4d5 feat(library/documentation, frontends/lean): add /-! -/ doc string module block 2016-11-27 12:23:53 -08:00
Leonardo de Moura
6978906a78 chore(frontends/lean): remove namespace documentation
We will add module level doc strings /-! -/
2016-11-27 11:57:03 -08:00
Leonardo de Moura
97dd2f34d5 feat(library,frontends/lean): add basic doc string support 2016-11-25 18:52:56 -08:00
Leonardo de Moura
0554fd5997 fix(frontends/lean): name resolution at tactic execution time
This commit also adds a new tactic: tactic.resolve_name

closes #1201
2016-11-24 10:55:39 -08:00
Sebastian Ullrich
ba1b6165e3 feat(frontends, shell): implement basic server 'info' command 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
388b337f50 chore(frontends/lean/info_manager): make copyable and integrate into snapshots 2016-11-08 08:37:41 -08:00
Leonardo de Moura
abd96e748f fix(frontends/lean/parser): crash on Win 10 2016-11-07 21:30:19 -08:00