Leonardo de Moura
4b58c4cc02
refactor: instances that "hide" coercions
...
Example:
```
instance [CoeHTCT α β] [Add β] : HAdd α β β where
hAdd a b := Add.add a b
```
2021-08-13 17:18:55 -07:00
Sebastian Ullrich
29c7db3ed2
feat: term info at many more constants
2021-03-20 08:31:06 -07:00
Sebastian Ullrich
c0af90022e
feat: term info at #print
2021-03-20 08:28:18 -07:00
Leonardo de Moura
be841a7cad
chore: throwError! => throwError, throwErrorAt! => throwErrorAt
...
@Kha I marked the corresponding methods as `protected`.
I currently can't stand `throw_error`, and I am optimistic about
server highlighting feature you are working on :)
2021-03-11 11:59:45 -08:00
Leonardo de Moura
ea0fda39bc
chore: Declaration.lean naming convention
...
`Declaration.lean` was one of the first Lean 4 files, and was still
using an old naming convention.
cc @Kha
2021-01-20 17:07:02 -08:00
Leonardo de Moura
f0ac477d2e
feat: add sanity checks
2021-01-01 18:31:28 -08:00
Sebastian Ullrich
550d352bdc
feat: log output of #... auxiliary commands at command token
2020-12-27 14:33:02 +01:00
Leonardo de Moura
67379b359d
fix: avoid macro scopes in error message
2020-12-11 11:23:44 -08:00
Leonardo de Moura
9d304df757
feat: heterogeneous Append experiment
...
@Kha This one required a bunch of manual fixes. The main issue is that
before we added the string interpolation feature, we created
`MessageData`s using `++` and coercions. For example, given
`(e : Expr)`, we would write
```
let msg : MessageData := "type: " ++ e
```
and rely on the coercions `String -> MessageData` and
`Expr -> MessageData`, and the instance `Append MessageData`.
However, heterogeneous operators "block" the expected type propagation downwards.
This kind of code is obsolete now since we can write a more compact
version using string interpolation
```
let msg := m!"type: {e}"
```
2020-12-01 16:32:41 -08:00
Leonardo de Moura
0869f38de4
chore: update structure, class, inductive
2020-11-27 15:09:30 -08:00
Leonardo de Moura
db5fe843de
chore: add expandInterpolatedStr helper function, rename msg! => m!
2020-11-14 13:52:52 -08:00
Leonardo de Moura
2d2d39c78e
chore: use mut
2020-11-07 17:32:13 -08:00
Leonardo de Moura
b4e8862716
chore: cleanup
2020-10-26 07:54:11 -07:00
Leonardo de Moura
13c2a8ff51
chore: remove #lang lean4 header
2020-10-25 09:54:07 -07:00
Leonardo de Moura
7d083a7451
chore: move to new frontend
2020-10-15 14:49:23 -07:00
Leonardo de Moura
883e07a65f
chore: remove unnecessary annotation
2020-10-15 10:50:48 -07:00
Leonardo de Moura
faeba23099
chore: cleanup
2020-10-13 16:09:00 -07:00
Leonardo de Moura
d10b95d2ad
chore: move to new frontend
2020-10-13 13:23:35 -07:00
Leonardo de Moura
fa6b7b6393
feat: add MonadResolveName type class
...
`AttrM` can now resolve names.
2020-10-10 11:33:52 -07:00
Leonardo de Moura
7d9118d2e2
feat: add resolveGlobalConst and resolveGlobalConstNoOverload
2020-09-20 08:54:24 -07:00
Leonardo de Moura
f34fd3e6b4
refactor: move Closure.lean to Meta
...
We will need to improve the support for let-decls. We will use
the new `trackZeta`.
2020-09-03 11:54:08 -07:00
Leonardo de Moura
1480b39d86
chore: no Task in Theorem
2020-09-03 08:47:55 -07:00
Leonardo de Moura
2287c7e7b3
feat: elaborate #print axioms command
2020-08-28 13:08:42 -07:00
Leonardo de Moura
4bc1be17f4
chore: cleanup
2020-08-28 09:18:22 -07:00
Leonardo de Moura
5ba9aad7a3
refactor: eliminate ref plumbing
2020-08-13 10:37:53 -07:00
Leonardo de Moura
e234b9c671
feat: elaborate #print command
...
Basic `#print` command for helping us to test new frontend
2020-07-28 16:24:16 -07:00