Leonardo de Moura
|
cbdfb0dcdc
|
feat(frontends/lean/elaborator): (Pi/forall) intro in class inference, closes #77
|
2014-09-07 19:59:34 -07:00 |
|
Leonardo de Moura
|
da701eb6de
|
fix(frontends/lean/elaborator): bug in recent change
|
2014-09-07 19:08:31 -07:00 |
|
Leonardo de Moura
|
fea516af24
|
feat(frontends/lean/elaborator): allow Pi/forall local instances
|
2014-09-07 18:16:33 -07:00 |
|
Leonardo de Moura
|
3310eb3dfc
|
feat(frontends/lean): remove restriction on implict arguments, add new test that demonstrates the new feature
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-07 12:29:32 -07:00 |
|
Leonardo de Moura
|
d76218e9d1
|
fix(frontends/lean/elaborator): bug when elaborating expressions with multiple annotations
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-04 11:23:58 -07:00 |
|
Leonardo de Moura
|
9876d07094
|
chore(frontends/lean): use consistent filename convention
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-04 09:59:24 -07:00 |
|
Leonardo de Moura
|
b94ec07b29
|
feat(frontends/lean): associate type information with left '('
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-04 09:56:27 -07:00 |
|
Leonardo de Moura
|
5a203d1c75
|
feat(frontends/lean): add '?' for inspecting the type of any expression, it produces a EXTRA_TYPE info entry
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-03 11:54:42 -07:00 |
|
Leonardo de Moura
|
ef1912eddf
|
feat(frontends/lean): improve COERCION info
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-03 09:34:13 -07:00 |
|
Leonardo de Moura
|
974a0a4217
|
feat(frontends/lean/elaborator): generate COERCION info
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-02 18:39:06 -07:00 |
|
Leonardo de Moura
|
b9489ce585
|
fix(frontends/let): let-expression pretty printer
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-29 10:58:27 -07:00 |
|
Leonardo de Moura
|
d8548369e7
|
feat(frontends/lean/pp): improve let-expr pretty printer
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-29 07:46:58 -07:00 |
|
Leonardo de Moura
|
662345e2af
|
fix(frontends/lean/elaborator): missing '\n' in error message
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-28 18:17:00 -07:00 |
|
Leonardo de Moura
|
1e80a9dfe9
|
feat(frontends/lean): avoid exponential blowup when processing let-expressions with a lot of sharing, cleanup show-expression
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-28 16:27:52 -07:00 |
|
Leonardo de Moura
|
dd99e60a00
|
refactor(frontends/lean/info_manager): store environment+options in the info_manager, fixes #96
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-26 18:07:09 -07:00 |
|
Leonardo de Moura
|
fbf13994d8
|
refactor(*): use + for concatenating format objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-24 09:35:25 -07:00 |
|
Leonardo de Moura
|
c5a44aca44
|
fix(frontends/lean/elaborator): do not expose type information produced when synthesizing class instances
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-22 17:07:12 -07:00 |
|
Leonardo de Moura
|
01000ff7df
|
feat(library): add typed_expr macro
We use it to enforce that a let-variable has the expected type
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-22 11:26:06 -07:00 |
|
Leonardo de Moura
|
f5987b7bda
|
refactor(library/unifier): make it easier to add new options to the unifier
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 17:30:08 -07:00 |
|
Leonardo de Moura
|
9588336c15
|
refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:19 -07:00 |
|
Leonardo de Moura
|
4cf3d32e0c
|
chore(*): create alias for std::pair
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:19 -07:00 |
|
Leonardo de Moura
|
08ae17650b
|
feat(frontends/lean): try overloaded notation and declarations in the order they were defined
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-18 18:58:50 -07:00 |
|
Leonardo de Moura
|
919f02983e
|
feat(frontends/lean/elaborator): case-split on coercions that cannot be resolved by postponing
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-18 18:58:50 -07:00 |
|
Leonardo de Moura
|
dcc8f4e4fc
|
feat(frontends/lean/elaborator): generate identifier information for overloaded identifiers
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-17 15:18:51 -07:00 |
|
Leonardo de Moura
|
55b0a03e3d
|
refactor(frontends/lean/info_manager): to allow cache to be used when producing info data, fixes #37, closes #45
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-17 12:16:32 -07:00 |
|
Leonardo de Moura
|
c6600bdaf4
|
refactor(frontends/lean/info_manager): intrusive smart pointer for info_data
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-17 08:28:02 -07:00 |
|
Leonardo de Moura
|
1436212a34
|
fix(library/unifier): use depth-first search strategy for solving class-instance constraints
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-16 13:51:24 -07:00 |
|
Leonardo de Moura
|
56a81eda6e
|
fix(frontends/lean/elaborator): uninit variable
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-15 16:39:21 -07:00 |
|
Leonardo de Moura
|
dc1613f535
|
feat(frontends/lean): annotate 'notation' subterms with 'noinfo' annotation (goal: improve typeinfo generation); fix initialization problem (with annotations)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-15 15:07:14 -07:00 |
|
Leonardo de Moura
|
6a6c9f472e
|
feat(frontends/lean): add synthesis information only for 'explicit' placeholder
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-15 12:48:36 -07:00 |
|
Leonardo de Moura
|
be8ee8b3c0
|
feat(frontends/lean): add information about synthesized placeholders, closes #39
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-14 10:37:24 -07:00 |
|
Leonardo de Moura
|
19537b72ee
|
feat(frontends/lean/elaborator): generate type information for placeholders
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-14 09:12:22 -07:00 |
|
Leonardo de Moura
|
d30854829d
|
refactor(frontends/lean): rename elaborator_env to elaborator_context
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-13 17:06:48 -07:00 |
|
Leonardo de Moura
|
631e2395a3
|
refactor(frontends/lean/elaborator): add elaborator_env class
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-12 18:43:56 -07:00 |
|
Leonardo de Moura
|
b32d801116
|
refactor(frontends/lean/elaborator): remove unnecessary field: m_subst
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-12 17:40:30 -07:00 |
|
Leonardo de Moura
|
c5aea3eba7
|
refactor(frontends/lean/elaborator): remove m_accumulated and eager metavariable instantiation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-12 17:40:30 -07:00 |
|
Leonardo de Moura
|
60ab6d3bd8
|
feat(frontends/lean): remove feature that in declarations such as (A B : Type), forced A and B to be in the same universe
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-12 17:40:30 -07:00 |
|
Leonardo de Moura
|
c6f3232f81
|
feat(frontends/lean): provide 'partial' type information even when there are type errors
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-06 21:56:57 -07:00 |
|
Leonardo de Moura
|
1cbf40a5d2
|
fix(frontends/lean): remove duplicate info entries, fix bug in save_overload
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-06 21:23:37 -07:00 |
|
Leonardo de Moura
|
0af4a67881
|
feat(frontends/lean): save type information after elaboration, remove --flyinfo option
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-06 19:35:26 -07:00 |
|
Leonardo de Moura
|
069f217215
|
fix(frontends/lean/elaborator): use full local context for metavariables due to coercions and overloads
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-05 17:21:21 -07:00 |
|
Leonardo de Moura
|
d14cbfd7e9
|
refactor(frontends/lean/elaborator): local context
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-05 16:25:54 -07:00 |
|
Leonardo de Moura
|
9cc2015caa
|
feat(library/unifier): better error message for invalid local context
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-05 16:25:22 -07:00 |
|
Leonardo de Moura
|
d5bb7d45ec
|
fix(library/unifier): constraint priority in the unifier, and remove hack from if.lean
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-04 13:58:47 -07:00 |
|
Leonardo de Moura
|
249c878597
|
fix(frontends/lean/elaborator): warning message
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-02 15:21:23 -07:00 |
|
Leonardo de Moura
|
0465c6ef53
|
fix(frontends/lean): flyinfo for identifiers defined in sections
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-01 21:15:02 -07:00 |
|
Leonardo de Moura
|
3795d466c1
|
fix(frontends/lean/elaborator): provide type information for expressions using '@' operator, and strict function applications
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-01 20:57:24 -07:00 |
|
Leonardo de Moura
|
0c9317b167
|
feat(frontends/lean/elaborator): add flyinfo for placeholders
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-01 20:25:06 -07:00 |
|
Leonardo de Moura
|
8bd36dabce
|
refactor(kernel/pos_info_provider): get_pos_info return none if position is not available
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-01 20:17:26 -07:00 |
|
Leonardo de Moura
|
4b604521a0
|
fix(frontends/lean): add hack for flycheck
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-01 16:26:04 -07:00 |
|