lean4-htt/src/Lean/Data
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
..
Json feat: heterogeneous Append experiment 2020-12-01 16:32:41 -08:00
Lsp chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Format.lean chore: remove occurrences of Append.append 2020-12-01 15:44:03 -08:00
Json.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
JsonRpc.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
KVMap.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
LBool.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
LOption.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Lsp.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Name.lean chore: naming convention 2020-11-11 10:08:55 -08:00
Occurrences.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
OpenDecl.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Options.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Position.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
SMap.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Trie.lean chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00