Sebastian Ullrich
c3a655fdae
fix(emacs/lean-server): check if current buffer is still there when handling response
2017-02-01 18:48:45 -08:00
Sebastian Ullrich
6eded75702
fix(emacs/lean-flycheck): show running tasks when highlighting disabled or not in current file
2017-02-01 18:48:45 -08:00
Johannes Hölzl
36f8d0f0a0
chore(library/tactic/generalize_tactic): fix spelling in error message
2017-02-01 18:48:10 -08:00
Johannes Hölzl
3be8deb2d2
fix(library/tactic/generalize_tactic): instantiate mvars before calling kabstract
2017-02-01 18:48:10 -08:00
Leonardo de Moura
bb9a0c79f4
feat(frontends/lean/builtin_exprs): better syntax for quoted terms with type ascription
2017-02-01 12:49:38 -08:00
Leonardo de Moura
a9821f6437
fix(library/type_context): bug in revert method
...
We should not assume that the arguments at to_revert are sorted by idx.
This commit fixes the bug reported at:
https://groups.google.com/forum/#!topic/lean-user/x4Zwpou3le0
2017-02-01 10:51:24 -08:00
Leonardo de Moura
6e7929252f
feat(frontends/lean, library/init): add 'thunk' gadget
...
We can now write
trace "hello" t
instead of
trace "hello" (fun _, t)
2017-01-31 18:41:59 -08:00
Leonardo de Moura
7cc31835e4
refactor(library/init/meta/fun_info): cleanup fun_info API
2017-01-31 18:01:54 -08:00
Leonardo de Moura
49a0d13c50
feat(library/init/coe): add coercion from A to (option A)
...
A little hack is used to make sure type class resolution will not enter
in an infinite loop.
2017-01-31 17:45:41 -08:00
Leonardo de Moura
920e845b84
refactor(library/init/meta/congr_lemma): cleanup congr_lemma API
2017-01-31 16:46:13 -08:00
Leonardo de Moura
2874a783e0
test(tests/lean/run/defaul_param3): more tests for default param values
2017-01-31 15:28:06 -08:00
Leonardo de Moura
be6ca7c244
feat(frontends/lean): allow default parameter values in constant decls
2017-01-31 15:19:47 -08:00
Leonardo de Moura
3a4ef00f66
feat(frontends/lean): allow constructor parameters to be declared before ':'
2017-01-31 15:11:39 -08:00
Leonardo de Moura
73c16f95b9
fix(CMakeLists): config
2017-01-31 11:14:12 -08:00
Gabriel Ebner
0f96809f7a
fix(frontends/lean/parser): save noncomputable theory flag in snapshots
2017-01-31 11:05:11 -08:00
Leonardo de Moura
941ba6d96c
chore(*): style
2017-01-31 11:04:21 -08:00
Gabriel Ebner
fb9b719a22
chore(checker/simple_pp): pretty-print changed Sort/Prop/Type
2017-01-31 10:20:56 +01:00
Gabriel Ebner
bc75c2423f
feat(checker): only print axioms that are referenced by the specified theorems
2017-01-31 10:20:56 +01:00
Gabriel Ebner
7d14cb640c
feat(checker/text_import): import definitions whose type is in Prop as theorems
2017-01-31 10:20:56 +01:00
Gabriel Ebner
f404e8a2be
feat(library/export,checker): add basic support for mixfix notation
2017-01-31 10:20:56 +01:00
Gabriel Ebner
63a8070bb3
feat(checker/simple_pp): display binder info
2017-01-31 10:20:56 +01:00
Gabriel Ebner
22d6d6c843
chore(kernel/quotient/quotient): fix style
2017-01-31 10:20:55 +01:00
Gabriel Ebner
54820506e4
feat(library/export): export quotient initialization
2017-01-31 10:20:55 +01:00
Gabriel Ebner
32c97df697
chore(checker): do not set LEAN_PATH unnecessarily
2017-01-31 10:20:55 +01:00
Gabriel Ebner
661dd9c8a3
feat(checker): add simple pretty-printing
2017-01-31 10:20:55 +01:00
Gabriel Ebner
0cd7d6ba7f
fix(checker): fail on file not found
2017-01-31 09:39:31 +01:00
Gabriel Ebner
ba23228903
fix(checker): fix emscripten build
2017-01-31 09:39:31 +01:00
Gabriel Ebner
5769c2ad0f
fix(checker): fix windows build
2017-01-31 09:39:31 +01:00
Gabriel Ebner
fb3d68d172
chore(checker): install leanchecker
2017-01-31 09:39:31 +01:00
Gabriel Ebner
94565113a6
chore(checker): remove gmp, mpfr, and dl library dependencies
2017-01-31 09:39:31 +01:00
Gabriel Ebner
61804eb8e9
chore(util/sexpr): remove mpz and mpq cases
2017-01-31 09:39:31 +01:00
Gabriel Ebner
4f3e603556
chore(doc/export_format): update export format description
2017-01-31 09:39:31 +01:00
Gabriel Ebner
9e7ca0a969
feat(checker): add leanchecker executable
2017-01-31 09:39:31 +01:00
Gabriel Ebner
2f07bf352c
refactor(library/standard_kernel): move standard kernel into kernel
2017-01-31 09:39:31 +01:00
Gabriel Ebner
f3b9439029
feat(library/module_mgr): add function to get combined environment
2017-01-31 09:39:31 +01:00
Gabriel Ebner
50cfbc1fd5
fix(kernel/quotient/quotient): add missing import
2017-01-31 09:39:30 +01:00
Gabriel Ebner
81ff87e2fd
fix(library/unfold_macros): actually unfold all macros
2017-01-31 09:39:30 +01:00
Gabriel Ebner
94438b515e
fix(kernel/kernel_serializer): do not disable validation of external input in release builds
2017-01-31 09:39:30 +01:00
Gabriel Ebner
41787232f6
refactor(library/kernel_serializer): implement maximal sharing directly
2017-01-31 09:39:30 +01:00
Leonardo de Moura
d315e424ff
feat(library/congr_lemma, library/fun_info): make sure opt_param gadget do not confuse the simplifier, fun_info, congr_lemma, etc
...
A definition such as
def f (a : nat) (b : nat := a) (c : nat := a) :=
a + b + c
should *not* be treated as a dependent function.
2017-01-30 20:23:45 -08:00
Leonardo de Moura
2b56040499
fix(library/init/propext): Type => Sort
2017-01-30 19:17:57 -08:00
Leonardo de Moura
4a2ffefdaf
fix(library/init/wf): wf eliminators should be able to eliminate into Prop and Type
2017-01-30 19:14:43 -08:00
Leonardo de Moura
d3db3661af
refactor(library/init/core): simpler has_sep type class with out_param
2017-01-30 18:54:56 -08:00
Leonardo de Moura
04a8518104
refactor(library/init/core): simpler has_insert type class with out_param
2017-01-30 18:50:21 -08:00
Leonardo de Moura
f176c272b4
refactor(library/init/core): simpler has_mem type class with out_param
2017-01-30 18:43:05 -08:00
Leonardo de Moura
5da8b205b9
feat(library/type_context, frontends/lean/elaborator): type classes with output parameters
2017-01-30 18:32:54 -08:00
Leonardo de Moura
4d3ff955d3
feat(frontends/lean): nicer syntax for default parameter values
...
See #1340
2017-01-30 15:54:26 -08:00
Leonardo de Moura
c09f60de6e
fix(frontends/lean/structure_cmd): fixes #1347
2017-01-30 14:49:14 -08:00
Leonardo de Moura
d34386fef7
perf(frontends/lean/tactic_notation): closes #1345
...
We can now elaborate
https://gist.github.com/gebner/439273deee592603190d4f8b4447295b
in 1.6 secs and using less than 500Kb of stack space.
It was takins 44 secs and 5Mb before this commit.
Two modifications:
1) Use pre_monad.seq instead of pre_monad.and_then.
They have the same implementation, but seq is not marked as [inline].
2) Modify how we concatenate the tactics in a begin...end block.
Before: (((a_1 ++ a_2) ++ a_3) ++ a_4)
After: ((a_1 ++ a_2) ++ (a_3 ++ a_4))
2017-01-30 14:13:53 -08:00
Leonardo de Moura
41bf46dbba
chore(library/init): adjust Sort vs Type in definitions
2017-01-30 12:50:18 -08:00