Joe Hendrix
1118931516
feat: add bitwise operations to reduceNat? and kernel ( #3134 )
...
This adds bitwise operations to reduceNat? and the kernel. It
incorporates some basic test cases to validate the correct operations
are associated.
2024-01-11 18:12:45 +00:00
Joe Hendrix
903493799d
fix: reduceNat? match terms with free or meta variables ( #3139 )
...
This removes checks in `Lean.Meta.reduceNat?` that caused it to fail on
terms it could handle because they contain meta variables in arguments.
This lead to those operations being reduced using their equational
definitions and slow performance on large patterns:
```
set_option profiler true
set_option profiler.threshold 1
def testMod (x:Nat) :=
match x with
| 128 % 1024 => true
| _ => false
-- elaboration took 3.02ms
def testMul (x:Nat) :=
match x with
| 128 * 1 => true
| _ => false
-- type checking took 11.1ms
-- compilation of testMul.match_1 took 313ms
-- compilation of testMul took 65.7ms
-- elaboration took 58.9ms
```
Performance is slower on `testMul` than `testMod` because `whnf` ends up
evaluateing `128 * 1` using Peano arithmetic while `128 % 1024` is able
to avoid that treatment since `128 < 1024`.
2024-01-05 18:08:26 +00:00
int-y1
ce4ae37c19
chore: fix more typos in comments
2023-10-08 14:37:34 -07:00
Mario Carneiro
a2ef6bd19e
fix: malformed/misaligned markdown code fences
2022-07-20 11:12:42 +02:00
Leonardo de Moura
272dd5533f
chore: style use · instead of . for lambda dot notation
...
We are considering removing `.` as an alternative for `·` in the
lambda dot notation (e.g., `(·+·)`).
Reasons:
- `.` is not a perfect replacement for `·` (e.g., `(·.insert ·)`)
- `.` is too overloaded: `(f.x)` and `(f .x)` and `(f . x)`. We want to keep the first two.
2022-03-11 07:49:03 -08:00
Sebastian Ullrich
a3a8d76e96
chore: move pp_options.cpp to Lean
2021-01-27 14:16:12 +01:00
Sebastian Ullrich
8a02dfec4f
feat: subsume variables under variable
...
/cc @leodemoura
2021-01-22 14:36:05 +01:00
Leonardo de Moura
898a08a0c1
chore: avoid Has prefix in type classes
...
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
10c32fcf94
chore: HasToString => ToString
2020-10-27 16:11:48 -07:00
Leonardo de Moura
db9e390b4d
chore: remove new_frontend from tests
2020-10-25 09:16:38 -07:00
Leonardo de Moura
3d166f6400
chore: fix syntax
...
This is a set of examples that exposes problems with the old frontend
elaborator. These issues have been fixed in the new frontend.
2020-05-21 09:57:35 -07:00
Daniel Selsam
13721cdfe9
doc: elabissue for structure same-name error msg
2020-02-18 10:52:44 -08:00
Leonardo de Moura
7d7cd1a7c9
doc: document issue
...
cc @dselsam
2020-02-18 10:52:12 -08:00
Daniel Selsam
94e45f7b81
doc: elabissue for '<id>_main already defined' msg
2020-02-18 10:49:40 -08:00
Leonardo de Moura
36ea3fbaf7
doc: document issue
...
cc @dselsam
2020-02-18 10:49:04 -08:00
Leonardo de Moura
6900577723
doc: document issue
...
AFAICT, it has been solved in the new frontend. See new test.
cc @dselsam
2020-02-18 10:41:12 -08:00
Daniel Selsam
1981bbbc7c
doc: elabissue for two improvable error messages
2020-02-18 10:34:24 -08:00
Leonardo de Moura
81d8b75dff
doc: Lean3 structure instance bugs
2020-02-17 20:12:06 -08:00
Leonardo de Moura
d37eb896ef
doc: performance issue
...
cc @dselsam
2020-02-10 14:40:48 -08:00
Daniel Selsam
4f21242ffa
doc: another elabissue for equation compiler perf
2020-02-10 12:40:58 -08:00
Leonardo de Moura
772fa06461
doc: add workarounds, and describe what we need in the new equation compiler
...
@dselsam The good news is that the problem is fixable.
I included a workaround `mergeCongr3` for avoiding the overhead in the current system.
2020-02-05 11:46:35 -08:00
Daniel Selsam
707a1a7e8c
doc: elabissue for equation compiler perf
2020-02-05 10:41:44 -08:00
Leonardo de Moura
f04f51a295
test: pattern confusion example
...
cc @dselsam
2019-12-19 13:36:22 -08:00
Leonardo de Moura
5247c3719b
doc: document private keyword elaboration issues
2019-12-05 08:55:21 -08:00
Leonardo de Moura
963063dfee
chore: disable tests for type class resolution prototype
2019-12-03 14:50:14 -08:00
Leonardo de Moura
352e568b15
doc: zmod example
2019-11-18 12:45:53 -08:00
Leonardo de Moura
ed43f4a901
doc: document problems with the variable and variables commands
2019-11-13 20:25:04 -08:00
Leonardo de Moura
5d9f3f6fba
chore: add ambiguity comment
2019-11-08 08:28:31 -08:00
Daniel Selsam
19ec5cda13
doc: typeclass loop issue and suggestions
2019-11-08 08:28:26 -08:00
Daniel Selsam
3b6755dea1
doc: namespace A.B vs namespace A namespace B
2019-11-06 10:16:33 -08:00
Daniel Selsam
7cddeaa0d3
doc: tc triggers nested tc, potentially with tmp metavar leak
2019-11-06 10:15:05 -08:00
Leonardo de Moura
f8c5face56
chore: update
2019-11-02 12:12:27 -07:00
Daniel Selsam
5d4be4fd3c
doc: elabissue for simple namespace issue
2019-10-31 21:08:12 -07:00
Leonardo de Moura
1933d70aae
doc: explain why elaborator fails and propose alternative elaboration strategies
...
cc @dselsam @kha @rwbarton
2019-10-31 08:50:01 -07:00
Daniel Selsam
6cb4442349
doc: elabissue for overloads + list coercion
2019-10-31 08:04:00 -07:00
Sebastian Ullrich
b6d96dc0f4
doc: elabissue for underapplied proj notation
2019-10-28 18:07:22 -07:00
Leonardo de Moura
a768aa0d1c
doc: add comment describing why examples fail
...
cc @dselsam
2019-10-28 18:06:07 -07:00
Daniel Selsam
90455e201f
doc: elabissue for weird elab error
2019-10-28 17:59:48 -07:00
Daniel Selsam
20caac5cdf
doc: elabissue for variable universe bug
2019-10-28 17:59:23 -07:00
Daniel Selsam
d8a3dfb63d
doc: elabissue for bind with existential types
2019-10-21 22:28:14 -07:00
Daniel Selsam
5ce34b0b3c
doc: elabissues from reid visit
2019-10-21 22:27:58 -07:00
Leonardo de Moura
1f8370c67d
test: issue reported by Reid
2019-10-19 13:26:47 -07:00
Leonardo de Moura
104b4a1ce2
test: document another elab issue
2019-10-15 09:41:07 -07:00
Leonardo de Moura
0c3c5bf82f
tests: add more issues
2019-10-15 07:47:09 -07:00
Sebastian Ullrich
90fc2b7d39
test: elab feature request: implicit lambda insertion
2019-10-08 17:51:45 +02:00
Daniel Selsam
ba06fd335b
test: add new elab issue from @joehendrix
2019-10-03 17:23:53 -07:00
Leonardo de Moura
1ecb234a9f
test(elabissues): document some of the known problems
2019-09-21 10:17:26 -07:00