Sebastian Ullrich
e580c903e6
feat: adjust message range on unexpected token error
2023-09-12 11:42:24 +02:00
Sebastian Ullrich
6c0baf4aed
feat: support reporting range for parser errors, report ranges for expected token errors
2023-09-12 11:42:24 +02:00
Sebastian Ullrich
f4fc8b3e15
refactor: parser error setters
2023-09-12 11:42:24 +02:00
Jannis Limperg
13ca443f05
fix: simp: include class projections in UsedSimps ( #2489 )
...
* fix: simp: include class projections in UsedSimps
Fixes #2488
2023-09-07 08:54:00 +10:00
Mario Carneiro
2037094f8c
doc: document all parser aliases ( #2499 )
2023-09-06 09:02:25 +00:00
Jannis Limperg
9a262d7cef
fix: simpGoal reports incomplete UsedSimps ( #2487 )
2023-09-01 10:20:49 +10:00
tydeu
926663505e
chore: split up & simplify importModules
2023-08-31 15:37:33 -04:00
Scott Morrison
a7efe5b60e
Revert "fix: make sure refine preserves pre-existing natural mvars ( #2435 )" ( #2485 )
...
This reverts commit 0b64c1e330 .
2023-08-30 08:00:30 +00:00
Marcus Rossel
7ee7595637
doc: fix typos ( #2467 )
2023-08-28 15:40:33 +10:00
thorimur
0b64c1e330
fix: make sure refine preserves pre-existing natural mvars ( #2435 )
...
* fix: `withCollectingNewGoals`
* don't exclude pre-existing natural mvars
* test: ensure pre-existing natural mvars are preserved
* docs: update comment and include issue number
* test: expected.out
* docs: add module docstrings to test
* also deleted superfluous `add_synthetic_goal`
* test: fix expected.out line numbers
* Update tests/lean/refinePreservesNaturalMVars.lean
Co-authored-by: Scott Morrison <scott@tqft.net>
* docs: clarify comment
---------
Co-authored-by: Scott Morrison <scott@tqft.net>
2023-08-25 19:25:54 -07:00
Scott Morrison
1dd443a368
doc: improve doc-string for Meta.getConst?
2023-08-24 07:42:28 -07:00
Sebastian Ullrich
4e52283728
fix: FFI signature mismatches
2023-08-18 19:34:21 +02:00
Sebastian Ullrich
f22695fdc5
fix: interpret module initializer at most once
2023-08-16 10:11:50 -07:00
Henrik
35aa2c91a2
feat: LLVM backend: implement the equivalent of -fstack-clash-protection
2023-08-15 14:45:58 +02:00
Siddharth Bhat
0054f6bfac
feat: link 'llvm.h.bc' and then set linkage to internal
...
This obviates the need to play weak linkage games when
we build `lean.h.bc` from `lean.h`. We perform the following steps:
1. We remove the `static` modifier from all definitions in `lean.h`.
This makes all definitions have `extern` linkage. Thus, when we build
a `lean.h.bc` using `clang`, we will actually get definitions
(instead of an empty file)
2. We build `lean.h.bc` from `lean.h` using `clang`.
3. When it comes time to link, we link
`current_module.bc := LLVMLinkModules2(current_module.bc, lean.h.bc)`.
4. We loop over every symbol that arrived from `lean.h.bc`
in `current_module.bc` and we then set this symbol to have
`internal` linkage. This simulates the effect of
`#include <lean.h>` where every definition in `lean.h`
has internal linkage.
This yajna, one hopes, pleases the linker gods.
2023-08-14 13:33:46 +02:00
Scott Morrison
61fea57e73
feat: add failIfUnchanged flag to simp
2023-08-13 09:49:25 -07:00
Tobias Grosser
736a21cd5a
chore: remove trailing whitespaces in EmitLLVM
...
For some reason, these two were missed in the last commit.
2023-08-13 16:18:23 +02:00
Tobias Grosser
a0c0c486fd
chore: remove trailing whitespace in EmitLLVM
...
This patch should not result in any functional changes, but
will reduce the diff of an upcoming PR.
2023-08-13 11:07:14 +02:00
Siddharth Bhat
0eddc167b9
feat: LLVM linkage bindings
2023-08-12 16:51:58 +02:00
Sebastian Ullrich
ff45efe3fa
doc: one more enableInitializersExecution remark
2023-08-11 11:45:58 -07:00
Eric Wieser
1f3ef28a1d
fix: correct universe polymorphism in Lean.instFromJsonProd
...
The previous type was
```
Lean.instFromJsonProd.{u, v} {α β : Type (max u v)} [FromJson α] [FromJson β] :
FromJson (α × β)
```
where universe metavariable assignment assigned the wrong universe to both types!
2023-08-06 07:32:30 -07:00
Scott Morrison
ca4d824d75
chore: correct doc-string for elabTerm
2023-08-03 06:52:08 -07:00
Siddharth
b9ec36d089
chore: get rid of all inline C annotations for LLVM ( #2363 )
2023-07-30 10:39:40 +02:00
Sebastian Ullrich
2eaa400b8e
fix: do not unnecessarily wait on additional snapshot in server request handlers ( #2370 )
...
Co-authored-by: Wojciech Nawrocki <wjnawrocki+gh@protonmail.com>
2023-07-30 05:58:46 +00:00
Sebastian Ullrich
8fc1af650a
fix: symmetry in orelse antiquotation parsing
2023-07-28 08:36:33 -07:00
Sebastian Ullrich
eceac9f12a
perf: avoid syntax stack copy at orelseFn
2023-07-28 08:36:33 -07:00
Scott Morrison
b3fa4fd053
chore: revert #2317
2023-07-28 08:33:49 -07:00
Wojciech Nawrocki
74e0f09009
fix: handle error in withTraceNode message action ( #2364 )
...
* fix: handle error in withTrace message action
* Update src/Lean/Util/Trace.lean
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
* Update Trace.lean
---------
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2023-07-28 08:01:13 -07:00
Sebastian Ullrich
aeb60764c1
feat: auto-complete declaration names in arbitrary namespaces
2023-07-28 07:50:09 -07:00
Sebastian Ullrich
687f50ab33
fix: never show private names in completion
2023-07-28 07:50:09 -07:00
Sebastian Ullrich
b15d6d41b8
fix: missing mkCIdents in Lean.Elab.Deriving.Util
2023-07-28 07:48:34 -07:00
Siddharth Bhat
073c8fed86
feat: LLVM backend: support for visibility Style & DLL storage
...
Changes peeled from:
https://github.com/leanprover/lean4/pull/2340
to allow a `stage0` bump on master before merging in the
changes that allow LLVM to build in stage1+.
2023-07-25 11:03:16 +02:00
Alex J Best
808bb9b579
perf: dont repeatedly elab term in rw at multiple locations #2317
2023-07-24 08:47:52 -07:00
Jannis Limperg
6407197e54
chore: better error message for loose bvar in whnf
2023-07-20 13:47:20 -07:00
Wojciech Nawrocki
e1b3f10250
doc: fix contradictory docstring
2023-07-19 10:53:47 +02:00
Leonardo de Moura
634193328b
fix: fixes #2327
2023-07-18 07:18:27 -07:00
Leonardo de Moura
212cd9c3e6
fix: fixes #2321
2023-07-13 14:41:32 -07:00
Scott Morrison
0d5c5e0191
feat: relax test in checkLocalInstanceParameters to allow instance implicits
2023-07-13 10:54:06 -07:00
Leonardo de Moura
6d857a93b5
perf: pointer set for traversing DAGs
2023-07-11 19:19:42 -07:00
Mario Carneiro
76023a7c6f
fix: don't run [builtin_init] when builtin = false
2023-07-10 08:58:02 -07:00
Sebastian Ullrich
c268d7e97b
fix: kill descendant processes on worker exit
2023-07-05 23:42:53 +02:00
Mario Carneiro
f1b2a8acce
fix: lazy_binop + coercion bug
...
fixes #2300
2023-07-01 06:05:25 -07:00
Leonardo de Moura
94d4a427e2
fix: fixes #2115
2023-06-30 19:54:38 -07:00
Leonardo de Moura
a002ce6d0d
fix: fixes #2077
2023-06-30 19:26:00 -07:00
Leonardo de Moura
ec42581d1f
perf: use Core.transform instead of Meta.transform at betaReduceLetRecApps
...
Observed big performance improvement on files containing big proofs
generated using tactics.
2023-06-28 12:29:12 -07:00
Leonardo de Moura
eece499da9
fix: fixes #2282
2023-06-27 16:46:38 -07:00
Sebastian Ullrich
f0583c3fd6
feat: trace nodes for SizeOf and injectivity theorem generation
2023-06-27 16:17:46 -07:00
Wojciech Nawrocki
ba4bfe26f2
fix: add missing instantiateMVars
2023-06-27 16:13:56 -07:00
Sebastian Ullrich
e1999ada7f
fix: make "elaboration" metric work in language server
2023-06-27 15:56:34 +01:00
Leonardo de Moura
4036be4f50
fix: add missing check at IR checker
2023-06-23 08:43:39 -07:00