Leonardo de Moura
43b5608c5f
feat: add `Meta.check trace
2019-11-21 13:07:48 -08:00
Leonardo de Moura
a28cf323b5
test: test approxDefEq
2019-11-21 11:25:27 -08:00
Leonardo de Moura
100664cb39
fix: typo
2019-11-21 11:23:46 -08:00
Leonardo de Moura
7c7849422f
feat: Meta.Exception to MessageData
2019-11-21 11:21:15 -08:00
Leonardo de Moura
9098cb0eab
chore: add trace message for typing errors
2019-11-21 11:00:27 -08:00
Leonardo de Moura
21f37e7f6a
fix: fvar vs local issue
2019-11-21 10:47:44 -08:00
Leonardo de Moura
a1f0e7d8e6
chore: add approxDefEq and more tracing
2019-11-21 10:41:53 -08:00
Leonardo de Moura
f7d63c0453
chore: improve Array Expr to MessageData coercion
2019-11-21 10:40:39 -08:00
Leonardo de Moura
64907481d7
chore: minor optimization
2019-11-21 09:23:04 -08:00
Leonardo de Moura
aa7afb7285
test: add ho-pattern test
2019-11-21 09:17:03 -08:00
Leonardo de Moura
67c88f12bd
test: add basic test
2019-11-21 09:05:38 -08:00
Leonardo de Moura
91dd309f18
chore: add tracing
2019-11-21 09:02:03 -08:00
Leonardo de Moura
06cf5bf3fe
chore: use dummy pretty printer for now
2019-11-21 08:39:07 -08:00
Leonardo de Moura
e197021946
feat: add helper functions for creating metavariables
2019-11-21 08:10:12 -08:00
Leonardo de Moura
59d1026e41
chore: update stage0
2019-11-21 07:26:28 -08:00
Sebastian Ullrich
6df256a05e
feat: import runtime
...
A runtime-only import is not loaded into the compile-time environment, but is linked into and initialized in binaries
2019-11-21 15:52:01 +01:00
Sebastian Ullrich
f6973be5e3
refactor: replace C++ import parser with Lean one
...
imports are now completely opaque to C++
2019-11-21 15:52:01 +01:00
Sebastian Ullrich
86a678f90e
chore: move clean-stdlib out of Makefile so that it can be executed even with broken .depend files
...
/cc @leodemoura
2019-11-21 15:46:15 +01:00
Leonardo de Moura
b2471a76bf
chore: update stage0
2019-11-20 16:26:40 -08:00
Leonardo de Moura
e51b958d12
fix: ensure Meta environment extensions are initialized by the Lean binary
2019-11-20 16:24:58 -08:00
Leonardo de Moura
8fc02ed741
chore: update stage0
2019-11-20 16:10:40 -08:00
Leonardo de Moura
f2bb86f45c
refactor: use an auxiliary environment extension to implement the mutual recursion between whnf, isDefEq and inferType
...
@Kha @dselsam I was experiencing an insane code explosion with the
previous approach. There were too many definitions marked with
`@[specialize]`. `Meta.c` was reaching 0.5 million lines of code.
We would need a more sophisticated code specializer cache to handle
this kind of code. The new approach is much simpler. I don't see any
major disadvantages.
2019-11-20 16:03:45 -08:00
Leonardo de Moura
da8f9806a8
feat: add isDefEqAux
...
`isDefEq` specialization is currently disabled because implementation
is producing 150k lines of code.
It seems the CPS trick I am using is producing a code explosion.
2019-11-20 13:20:09 -08:00
Leonardo de Moura
235ef740e4
feat: add CheckAssignmentQuick.check
2019-11-20 11:19:20 -08:00
Leonardo de Moura
0ae89c16b8
chore: move TODO
2019-11-20 10:45:19 -08:00
Leonardo de Moura
771fcdf006
feat: add isDefEqQuick
2019-11-20 10:27:38 -08:00
Sebastian Ullrich
0571a1c913
chore: use paths instead of indices for stdlib tests
2019-11-20 08:07:28 -08:00
Leonardo de Moura
49f1f0dfe3
chore: apply required change after update-stage0
...
cc @Kha
2019-11-20 08:00:11 -08:00
Leonardo de Moura
dbb7a0bfff
chore: update stage0
2019-11-20 07:59:54 -08:00
Sebastian Ullrich
44d5eddf16
chore: remove support for relative imports
2019-11-20 16:39:53 +01:00
Sebastian Ullrich
33ce758126
feat: assume A in --plugin A.so is package name and use it to synthesize initializer symbol name
2019-11-20 16:39:53 +01:00
Sebastian Ullrich
3dcd4febd9
feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl
2019-11-20 16:39:53 +01:00
Leonardo de Moura
47d8861b72
chore: document unfoldComparingHeads join point
2019-11-19 17:50:33 -08:00
Leonardo de Moura
2bc6d8568b
feat: add trace messages
2019-11-19 17:41:27 -08:00
Leonardo de Moura
87e109aeba
feat: add isDefEqDelta
2019-11-19 17:11:20 -08:00
Leonardo de Moura
8173755251
feat: add support for unifying offset terms
2019-11-19 10:19:37 -08:00
Leonardo de Moura
5567de24e8
chore: improve Exception.functionExpected
2019-11-19 07:43:23 -08:00
Leonardo de Moura
201d8a97d2
feat: add Check.lean
2019-11-19 07:09:21 -08:00
Sebastian Ullrich
ab42cffad2
refactor: rename all Default.lean files except for Init/Default.lean
2019-11-19 13:52:21 +01:00
Sebastian Ullrich
3980194fbf
chore: more assertions and old code
2019-11-19 12:55:02 +01:00
Sebastian Ullrich
11809d23a9
chore: remove outdated assertion
...
/cc @leodemoura
2019-11-19 10:56:35 +01:00
Sebastian Ullrich
c93fb5c4b2
chore: interpreter: rename misleading accessor
2019-11-19 09:36:59 +01:00
Leonardo de Moura
ba648e419a
chore: update stage0
2019-11-18 20:04:59 -08:00
Leonardo de Moura
7c1cf9b6d3
chore: use extern lean_name_eq
...
It uses pointer equality to improve performance.
We will eventually be able to do it in Lean as soon as we re-activate
the tactic framework.
2019-11-18 20:02:55 -08:00
Leonardo de Moura
0f2172fab5
chore: fix tests
2019-11-18 20:02:41 -08:00
Leonardo de Moura
4f98ba1cf7
chore: update stage0
2019-11-18 19:54:06 -08:00
Leonardo de Moura
269f20efe8
fix: ensure C++ and Lean use the same hash for Name
2019-11-18 19:54:05 -08:00
Leonardo de Moura
68bcb4bf96
chore: fix tests
2019-11-18 19:54:05 -08:00
Leonardo de Moura
a2c13733a7
chore: update stage0
2019-11-18 19:54:05 -08:00
Leonardo de Moura
46adfcfdb6
refactor: Name fully implemented in Lean
2019-11-18 19:54:05 -08:00