Leonardo de Moura
ca0fb21df4
fix: fixes #1813
...
Remark: modifies the value for the `mid` priority.
See new note at `Init/Notation.lean`
2022-11-10 16:09:21 -08:00
Leonardo de Moura
3e33fcc4f8
chore: use lean_string_utf8_next_fast
2022-11-09 12:06:37 -08:00
Leonardo de Moura
92c03c0050
perf: prepare do add String.next'
2022-11-09 12:00:31 -08:00
Leonardo de Moura
20eeb4202f
perf: fast String.get' without runtime bounds check
...
TODO: naming convention `String.get'` should be called `String.get`,
and we should rename the old `String.get`
2022-11-09 12:00:30 -08:00
Adrien Champion
33aa1724f2
fix: rewrite by with strict indentation in a few struct-fields
2022-11-08 08:30:42 -08:00
Leonardo de Moura
95df68f3e4
chore: [elab_as_elim] at Eq.substr
...
Lean 3 compatibility issue.
see #1806
2022-11-07 19:44:11 -08:00
Leonardo de Moura
b63eb886ce
chore: incorrect annotation
2022-11-07 16:18:36 -08:00
Alex J. Best
648ecff830
feat: reduce precedence of unary neg
2022-11-06 18:13:48 -08:00
Mario Carneiro
9b40613207
fix: formatting for if let and do if
2022-11-01 20:19:39 -07:00
Sebastian Ullrich
a89b1b4b95
fix: use patternIgnore to ignore now-relevant tokens again
2022-10-28 21:25:47 +02:00
Leonardo de Moura
b8f4a345f1
feat: add Power2
2022-10-27 18:11:20 -07:00
Leonardo de Moura
ad98df80fe
feat: congr theorems using Iff
...
closes #1763
2022-10-26 18:00:24 -07:00
Leonardo de Moura
d7e732e886
feat: use unop% to implement unary minus notation
...
closes #1779
2022-10-26 06:55:24 -07:00
Leonardo de Moura
e55badef05
feat: List.mapMono
2022-10-24 19:50:09 -07:00
Mario Carneiro
d7d61bfb55
feat: use withoutPosition consistently (part 2)
2022-10-24 12:51:32 -07:00
Gabriel Ebner
fc304d95c0
feat: Min/Max typeclasses
2022-10-21 14:36:38 -07:00
E.W.Ayers
691835037e
feat: code action resolvers
2022-10-20 11:20:42 -07:00
Mario Carneiro
583e023314
chore: snake-case attributes (part 2)
2022-10-19 09:28:08 -07:00
Mario Carneiro
dd5948d641
chore: snake-case attributes (part 1)
2022-10-19 09:28:08 -07:00
Gabriel Ebner
0c2a5580cb
feat: enforce correct syntax kind in macros
2022-10-18 14:59:14 -07:00
Gabriel Ebner
fb4d90a58b
feat: dynamic quotations for categories
2022-10-18 14:59:14 -07:00
Leonardo de Moura
c20febff31
feat: add helper Syntax.node* functions
2022-10-16 08:40:01 -07:00
Leonardo de Moura
729fd63b29
fix: incorrect initial array size
2022-10-16 07:48:30 -07:00
Henrik Böving
741fac924a
chore: inline control primitives
2022-10-15 10:48:47 -07:00
Leonardo de Moura
1eda0fd734
chore: missing annotation
2022-10-14 20:38:06 -07:00
Gabriel Ebner
1c561c39a8
feat: function coercions with unification
2022-10-14 12:08:10 -07:00
Mario Carneiro
019f1a173a
feat: also unexpand Array.empty
2022-10-14 08:51:45 -07:00
Mario Carneiro
0acdaddcf2
feat: unexpander for mkArray0
2022-10-14 08:51:45 -07:00
Leonardo de Moura
81abf49196
chore: avoid many copies of the panic message "index out of bounds"
2022-10-13 18:42:52 -07:00
Sebastian Ullrich
02560aab73
chore: nicer pp.raw.showInfo output
2022-10-13 15:50:22 +02:00
Leonardo de Moura
870de844dc
chore: annotate relevant monadic code with [alwaysInline]
...
TODO: after we delete old code generator, we should replace
`@[alwaysInline, inline]` with `@[alwaysInline]`.
Remainder: we want the old code generator to ignore `@[alwaysInline]`
annotations, in particular, the new ones on `instance` commands that
are actually annotations for the instance methods.
2022-10-12 19:48:02 -07:00
Gabriel Ebner
38d3e37c75
perf: improve Unhygienic.run code
2022-10-12 19:36:05 -07:00
Leonardo de Moura
767bda2c28
chore: preparing to change the semantics of @[inline] instance
...
In the new code generator, we are going to lambda lift the instance
methods before saving the code at the end of the base phase. The goal is to make instance
ligth weight and cheap to inline. The anotation `@[inline]` is going
to be an annotation for the lambda lifted methods.
2022-10-11 20:35:56 -07:00
Mario Carneiro
d4219c9d70
fix: List.Mem should have two parameters
2022-10-09 05:46:52 -07:00
Sebastian Ullrich
48d3bbdde9
fix: explicit drive letter normalization in FilePath <-> URI conversions
2022-10-08 10:12:11 -07:00
Sebastian Ullrich
8d34cc15cf
fix: path normalization should not case-normalize entire path
2022-10-08 10:12:11 -07:00
Leonardo de Moura
5b1aac7b8f
fix: avoid nontermination on non-utf8 input
...
This is not a perfect solution, but ensures the non-termination does
not happen. The changes also make it easier to prove termination in
the future.
TODO: validate UTF8 input?
closes #1690
2022-10-06 17:45:21 -07:00
Sebastian Ullrich
d417c0238a
doc: normalize Init.Conv docs
2022-10-06 17:27:33 -07:00
Leonardo de Moura
ee59048bfb
chore: remove dead declaration
...
We have merged `lcErased` and `lcAny` in the new code generator.
2022-10-05 05:17:31 -07:00
Leonardo de Moura
f63734cba4
chore: unexpanders for Name.mkStr* and Array.mkArray*
...
closes #1675
2022-10-04 17:18:36 -07:00
Leonardo de Moura
e9d5dfc689
chore: closes #1683
2022-10-04 16:46:08 -07:00
Leonardo de Moura
5746338c15
fix: mark Lean.Name.mkStr* functions as [reducible]
...
This is needed for type checking `TSyntax`.
2022-09-29 17:36:30 -07:00
Leonardo de Moura
676d2b1462
feat: new ToExpr Name
...
`Quote Name` was already using the optimized `Syntax.mkNameLit`
2022-09-29 17:27:45 -07:00
Leonardo de Moura
126da8185d
feat: more compact quotations
...
Trying to control the generated code size.
2022-09-29 16:56:43 -07:00
Sebastian Ullrich
9e6814b09e
doc: fix inline docs
2022-09-29 09:36:28 +02:00
Leonardo de Moura
5c925f9345
feat: add functions to create small arrays and use them in the constant folder
...
It reduces the code generated for functions using a bunch
of quotations. For example, the size of
`Lean.Elab.Term.Do.ToTerm.matchNestedTermResult` went from 2348 to 1507
2022-09-28 22:00:50 -07:00
Sebastian Ullrich
71e647049f
refactor: lexOrd should not be an instance
2022-09-28 15:57:01 -07:00
Sebastian Ullrich
d0a002ffff
fix: prefer longer parse even if unsuccessful
2022-09-28 15:57:01 -07:00
Mario Carneiro
2a748d3035
fix: conv case => should close the goal conv-style
2022-09-28 14:24:44 -07:00
Mario Carneiro
b8ed329a5d
feat: add dsimp conv <- mathlib4
...
Co-authored-by: Moritz Doll <doll@uni-bremen.de>
2022-09-28 14:24:44 -07:00