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
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
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
97dd2f34d5
feat(library,frontends/lean): add basic doc string support
2016-11-25 18:52:56 -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
Gabriel Ebner
47e6fd091f
refactor(frontends/lean): implement show goal function using exceptions
2016-10-21 15:42:29 -07:00
Leonardo de Moura
0bb155a427
chore(*): remove .clean support
...
In Lean2, we used to cache elaborated definitions in .clean files. The
main goal was to optimize each flycheck invocation produced by Emacs.
The Lean3 definition package was not updating this cache. Moreover, it
is not necessary because the new compilation server subsumes it.
2016-10-13 19:58:58 -07:00
Gabriel Ebner
a4d8ae2e30
fix(frontends/lean/parser): fix snapshots in prelude files
2016-10-13 18:49:10 -07:00
Gabriel Ebner
b14a0c43ff
feat(frontends/lean/parser,library/module): warn if imported modules are out-of-date
2016-10-13 18:49:10 -07:00
Gabriel Ebner
ed6aace6ff
feat(frontends/lean/parser): save messages in snapshots
2016-10-13 18:49:10 -07:00
Gabriel Ebner
8c188c59c5
feat(frontends/lean): remember column for snapshots
2016-10-13 18:49:10 -07:00
Gabriel Ebner
b05b514cc2
refactor(*): structured message objects
2016-10-13 18:49:10 -07:00
Leonardo de Moura
6d9a9b46f3
chore(frontends/lean): cleanup
2016-09-23 16:26:21 -07:00
Leonardo de Moura
c8e13cd391
feat(frontends/lean): minimize errors being reported
2016-09-23 09:20:31 -07:00
Leonardo de Moura
318ef761d3
feat(frontends/lean): lambda+anonymous_constructor+match notation
2016-09-21 08:49:05 -07:00
Leonardo de Moura
b2e1e920a9
chore(frontends/lean,library,linja): remove .ilean files
2016-09-20 08:43:45 -07:00
Leonardo de Moura
9df712581b
chore(frontends/lean): remove 'new_elaborator' option
2016-09-20 08:32:37 -07:00
Leonardo de Moura
2a069a4d2a
chore(frontends/lean): remove server and info_manager
2016-09-19 18:44:03 -07:00
Leonardo de Moura
f6aba503ff
chore(frontends/lean): remove old elaborator
2016-09-19 17:10:28 -07:00
Leonardo de Moura
9f1a576e98
chore(frontends/lean): remove dead code from parser
2016-09-19 17:04:59 -07:00
Leonardo de Moura
e99eb6d47e
feat(frontends/lean): revising inaccessible terms syntax again :(
2016-08-19 13:57:12 -07:00
Sebastian Ullrich
a2659cdaa5
feat(frontends/lean/decl_attributes): add [attr1, attr2] syntax
2016-08-16 13:49:03 -07:00
Sebastian Ullrich
e15e085126
refactor(frontends/lean/old_attributes, library/tactic/backward/backward_lemmas): merge [intro] and [intro!] attributes
2016-08-16 13:49:03 -07:00
Leonardo de Moura
f5c35f8d76
chore(*): fix compilation warnings
2016-08-10 18:03:13 -07:00
Leonardo de Moura
a0a72b5b82
refactor(frontends/lean): move local_context_adapter to separate folder
2016-08-10 07:52:38 -07:00
Leonardo de Moura
1602a53336
feat(frontends/lean): nary match
2016-08-08 10:04:58 -07:00
Leonardo de Moura
1e6b3614ab
feat(frontends/lean): new pattern matching validation
...
@Kha, we now support variable/constant shadowing in patterns.
A constant may occur in a pattern if it is a constructor or tagged with
the new [pattern] attribute. In the standard library, I have tagged
'add', 'zero', 'one', 'bit0', 'bit1' and 'rfl' with this new attribute.
BTW, arbitrary constants and variables may occur nested in type ascriptions and
inaccessible terms.
Here is an example:
meta_definition tactic_result_to_string {A : Type} : tactic_result A → string
| (success a s) := to_string a
| (exception ⌞A⌟ e s) := "Exception: " ++ to_string (e ())
I had to use the inaccessible ⌞A⌟ in the example above, otherwise, we would be shadowing the parameter
{A : Type}, and we would get a type error.
The new validation is performed at to_pattern_fn (parser.cpp).
2016-08-07 11:31:11 -07:00
Leonardo de Moura
d36280f74f
refactor(frontends/lean): id_behavior
2016-08-07 08:07:24 -07:00
Leonardo de Moura
fb8ae7f411
chore(frontends/lean/parser): add comment
2016-08-06 13:24:10 -07:00
Sebastian Ullrich
15595c0061
refactor(library/attribute_manager): delegate parameter parsing and printing to attribute class
2016-08-05 17:16:04 -07:00
Leonardo de Moura
b6420904f5
feat(frontends/lean): resolved quoted names
2016-08-05 17:04:36 -07:00
Leonardo de Moura
aeafe0293b
feat(frontends/lean/structure_cmd): use new elaborator to process the structure command
2016-08-03 16:56:41 -07:00
Leonardo de Moura
e87b54988b
feat(frontends/lean/elaborator): minor cleanup
2016-08-03 13:25:49 -07:00
Leonardo de Moura
4e80094927
feat(frontends/lean/inductive_cmd): use new elaborator in the inductive command
2016-08-03 13:13:12 -07:00
Leonardo de Moura
1aeda0e74b
feat(frontends/lean/elaborator): invoke tactics
2016-07-31 11:56:52 -07:00
Leonardo de Moura
931251d403
feat(frontends/lean): remove local_context from parser
2016-07-28 16:19:31 -07:00
Leonardo de Moura
dcf0244ecd
chore(frontends/lean/parser): remove dead code
2016-07-28 09:56:03 -07:00
Leonardo de Moura
e6627cdfc1
feat(frontends/lean/parser): add new_elaborator option
2016-07-28 09:48:12 -07:00
Leonardo de Moura
3a5f6f2e64
feat(frontends/lean/builtin_cmds): improve output produced by #elab command, use kernel type checker to check elaboration result
2016-07-27 15:29:25 -07:00
Leonardo de Moura
3218f91e35
feat(frontends/lean): add support for character literals
2016-07-18 14:07:10 -04:00
Leonardo de Moura
f34e84dacb
feat(frontends/lean/parser): cute binders
2016-07-08 07:50:58 -07:00
Leonardo de Moura
bb70fbbd48
refactor(frontends/lean): simplify elaborator_context
2016-06-29 16:56:19 +01:00
Leonardo de Moura
ccc65c6171
refactor(frontends/lean): add thread local parser_pos_provider
2016-06-29 16:09:06 +01:00
Leonardo de Moura
586baa4118
feat(library,frontends/lean): support for quoted expressions in the VM, compiler and frontend
...
TODO: invoke elaborator at tactic.to_expr
2016-06-15 16:06:39 -07:00
Leonardo de Moura
3996f9db4d
feat(frontends/lean): add ( token and remove token
2016-06-15 13:22:31 -07:00
Leonardo de Moura
5459e9ad8a
chore(frontends/lean): remove dead code
2016-06-13 10:42:38 -07:00