Leonardo de Moura
dfd2a23cd4
feat(frontends/lean): use #"c" instead of 'c' for character literals
...
The new notation is the same one used in Standard ML.
It will also allow us to use ' in the beginning of identifiers like Standard ML.
2016-11-17 11:35:54 -08:00
Leonardo de Moura
e16e9880f7
chore(library/system): enforce Lean naming conventions IO ==> io
2016-11-17 11:27:37 -08:00
Leonardo de Moura
d5aa92eaeb
feat(library/tactic/tactic_state): add vm_obj introspection
2016-11-14 21:58:34 -08:00
Leonardo de Moura
82aade5185
feat(library/tactic/vm_monitor): add vm_decl introspection
2016-11-14 18:04:53 -08:00
Leonardo de Moura
277ff818a1
feat(library/tactic/vm_monitor): add VM introspection API
2016-11-14 17:25:25 -08:00
Leonardo de Moura
fffe69fdf9
feat(library/vm,library/tactic/vm_monitor): use optionT to define vm monad
2016-11-14 16:13:56 -08:00
Leonardo de Moura
7232e3a076
feat(library/vm/vm): invoke debugger (aka vm_monitor)
2016-11-14 14:45:49 -08:00
Leonardo de Moura
99b30d9c91
fix(tests/lean): remove config.lean
2016-11-13 09:38:40 -08:00
Leonardo de Moura
922d48524b
fix(frontends/lean): fixes #1188
...
This commit also adds support for recording the type of local variables
in the info_manager
2016-11-10 15:08:25 -08:00
Leonardo de Moura
d6000416f8
feat(library/compiler,frontends/lean/elaborator): (try to) preserve position information
...
We will use this information in the debugger.
2016-11-09 16:51:48 -08:00
Leonardo de Moura
6ce00a9b45
fix(library/compiler): move inliner to the beginning
...
Reason: the inliner may introduce recursors, non eta-expanded terms,
etc. Before this commit, it was "undoing" previous compilation steps.
2016-11-08 16:14:01 -08:00
Sebastian Ullrich
ef633abec7
chore(*): fix test and style
2016-11-08 08:37:41 -08:00
Sebastian Ullrich
1f9554a014
refactor(frontends/lean/info_manager): always pass column in requests
2016-11-08 08:37:41 -08:00
Sebastian Ullrich
ba1b6165e3
feat(frontends, shell): implement basic server 'info' command
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
Leonardo de Moura
c9da2f2542
chore(tests/lean): fix tests
2016-11-05 11:51:29 -07:00
Leonardo de Moura
b9afbf0aa8
test(tests/lean/run): add test for additive fragment
2016-11-05 11:47:43 -07:00
Daniel Selsam
f3dc41b631
fix(library/tactic/simplify): only use auto_eq_congr if number of args match
2016-11-04 10:13:02 -07:00
Gabriel Ebner
41643d6400
fix(library/compiler/vm_compiler): prevent segfault
2016-11-04 09:47:17 -07:00
Leonardo de Moura
6173d95d18
feat(library/module,frontends/lean): store line/column number information
2016-11-02 16:55:21 -07:00
Leonardo de Moura
3212d9c83a
fix(library/module): store .olean file where inductive datatype was defined
2016-11-02 16:07:36 -07:00
Leonardo de Moura
cea572a167
feat(library/module): store .olean file name for imported declarations
2016-11-02 15:37:33 -07:00
Leonardo de Moura
9d3aa5b627
fix(library/compiler/elim_recursors): bug in elim_recursors
...
We may fail to type check auxiliary definitions that use rec_fn_macro.
The problem is that this macro cannot be unfolded.
So, we fix the problem by not type checking them. We add them as
constants, and store the definition in an auxiliary vector.
2016-11-02 14:19:28 -07:00
Leonardo de Moura
e62810c9b8
fix(library/compiler/lambda_lifting): make sure constructors are eta-expanded
...
closes #1133
2016-11-02 13:26:15 -07:00
Leonardo de Moura
30ae8a29b6
fix(library/compiler/elim_recursors): some recursor applications were not being eliminated
2016-11-02 13:05:52 -07:00
Leonardo de Moura
b22192eee1
fix(library/equations_compiler/elim_match): fixes #1171
...
We should not use value-transition (based on if-then-else) when there
are dependencies.
2016-10-31 17:42:39 +08:00
Leonardo de Moura
a77e4b5abf
fix(library/compiler/erase_irrelevant): bug at is_comp_irrelevant
2016-10-27 11:51:37 +08:00
Leonardo de Moura
ea3adf4a7c
feat(library/init/meta/tactic): universe polymorphic tactics
2016-10-25 03:42:55 +08:00
Leonardo de Moura
fa3475fa66
fix(library/type_context): allow assigned regular meta-variables to be "read" in tmp-mode
...
This commit also removes a "hack" that tried to fix this problem for
universe meta-variables only. Moreover, the hack was incomplete, since
it would not consider nested metavars.
2016-10-21 13:33:07 -07:00
Leonardo de Moura
99299d1915
feat(library/tactic/simplify): use propext in rewriting rules when simplify_config.use_axioms is tt
2016-10-19 17:59:01 -07:00
Leonardo de Moura
6edec4c4e9
feat(library/init/meta/converter): implement conversionals using ext_simplify_core
2016-10-19 17:23:32 -07:00
Leonardo de Moura
a4ef8f385d
feat(library/tactic/simplify): add basic support for lambda-expressions
2016-10-19 14:15:56 -07:00
Leonardo de Moura
205d524409
refactor(library/tactic/simplify): delete old simplifier
2016-10-19 14:03:14 -07:00
Joe Hendrix
8ceada5555
feat(frontends/lean): support binary, octal and hex literals
...
Scanner will interpret numeric literals prefixed with '0b', '0o', and
'0x' as binary, octal, and hex decimal values respectively. The prefix
character ('b', 'o', 'x') may be upper or lower case.
2016-10-19 10:13:24 -07:00
Leonardo de Moura
64c3927e0b
feat(library/equations_compiler/elim_match): report unused equations
...
closes #1162
2016-10-19 09:58:08 -07:00
Leonardo de Moura
e74cfa9db7
fix(library/equations_compiler/elim_match): bug at complete transition
...
It also updates the condition for triggering the inaccessible
transition. Before this commit, we would only perform this kind
of transition if *all* terms were marked inaccessible. Now,
we perform it if *some* are marked inaccessible. Reason:
when we perform the complete transition we don't have enought
information for deciding whether an argument should be marked as
inaccessible or not. If this decision creates confusion for users,
we may try to mark them with an "maybe-inaccessible" annotation, and
then enforce that the inaccessible transition is performed onlty if
*all* terms are marked as inaccessible or *maybe-inaccessible"
2016-10-19 09:10:19 -07:00
Leonardo de Moura
7b806755d9
chore(library/tactic/simplify): remove subsingleton support
...
It is left over from the blast tactic.
Moreover, it is incomplete.
2016-10-16 22:11:12 -07:00
Leonardo de Moura
9810a5f941
refactor(library/tactic/simplifier): simplify simplifier
2016-10-16 15:55:30 -07:00
Gabriel Ebner
888609013f
feat(tests): run tests in emscripten build
2016-10-16 14:41:35 -07:00
Gabriel Ebner
9f1c2a050c
fix(tests): update to name hashing changes
2016-10-16 14:41:35 -07:00
Leonardo de Moura
0f72de217a
chore(library/tactic/simplifier): simplify simplifier
2016-10-15 18:14:59 -07:00
Leonardo de Moura
9b84db083d
fix(frontends/lean): error localization bugs
2016-10-15 13:40:57 -07:00
Leonardo de Moura
a5029ab5d2
fix(frontends/lean): improve error localization
2016-10-15 10:43:33 -07:00
Gabriel Ebner
b05b514cc2
refactor(*): structured message objects
2016-10-13 18:49:10 -07:00
Leonardo de Moura
bf7bae6eaf
feat(library/init/meta/tactic): add beta/zeta tactics
2016-10-13 18:47:27 -07:00
Daniel Selsam
b4644acba4
fix(meta/mk_dec_eq_instance): handle indices and ginductives
2016-10-13 10:12:37 -07:00
Leonardo de Moura
ef23c591fc
feat(library/init/meta): implement unfold tactics in Lean using new building blocks
2016-10-12 17:25:56 -07:00
Leonardo de Moura
4f2db5702f
feat(library/tactic/unfold_tactic): allow user to set transparency_mode at dunfold_expr
2016-10-12 14:07:50 -07:00
Leonardo de Moura
46eb7decde
feat(library/tactic/unfold_tactic): add unfold_projection tactic
2016-10-12 13:43:32 -07:00
Leonardo de Moura
deb2bb92b2
feat(library/tactic/simp_lemmas_tactics): add dunfold_expr tactic based on equational lemmas
2016-10-12 13:18:10 -07:00