lean4-htt/src
Leonardo de Moura 1731962ea9 feat: elaborate emptyC notation
@Kha this is a little bit ugly. As in Lean3, the notation `{ }` is
overloaded. It can be `HasEmptyc.emptyc` or the empty structure.
Moreover, if we have an instance `HasEmptyc A` for a structure `A`,
then `{ }` is notation for `HasEmptyc.emptyc`. I am not very happy
about this, but it seems users use this feature. It is even used in
our own Lean4 code base :)

BTW, I will try a different alternative later.
First, move the notation `{ }` as a proper parser for `emptyc`.
Then, make sure the elaborator throws an error when
`{ }` is ambiguous. That is, `{}` can be elaborated as the empty
structure `A` and there is an `HasEmptyc A` instance.
Example:
```
structure A :=
(x : Nat := 0)

instance : HasEmptyc A :=
⟨{ x := 10 }⟩
```

The main issue here is that the support for choice+postpone is
currently broken.
2020-09-11 10:42:39 -07:00
..
bin fix: build 2020-06-25 15:30:11 -07:00
cmake chore: remove test special case 2020-05-04 11:11:11 +02:00
frontends/lean feat: add Name.simpMacroScopes 2020-09-08 18:22:44 -07:00
include/lean chore: remove obsolete header 2020-08-31 11:09:27 +02:00
Init feat: expand helper macros 2020-09-10 14:25:07 -07:00
initialize chore: use src/Lean.lean to initialize lean 2020-05-26 13:54:13 -07:00
kernel chore: no Task in Theorem 2020-09-03 08:47:55 -07:00
Lean feat: elaborate emptyC notation 2020-09-11 10:42:39 -07:00
library chore: use Lean version 2020-09-05 08:15:53 -07:00
runtime doc: document lean_st_ref_get peculiarity 2020-08-31 15:55:21 +02:00
shared chore: src/init ==> src/initialize 2019-11-22 04:59:13 -08:00
shell feat: server tests 2020-08-31 06:50:01 -07:00
Std chore: naming convention 2020-08-26 20:24:33 -07:00
tests/util chore: fix includes 2020-05-22 14:17:25 -07:00
util chore: fix includes 2020-05-22 14:17:25 -07:00
CMakeLists.txt chore: clean up stage 0 executable build 2020-07-03 19:26:00 +02:00
config.h.in feat(CMakeLists, runtime): add CHECK_RC_OVERFLOW cmake option 2019-08-28 15:35:46 -03:00
CTestConfig.cmake
CTestCustom.cmake.in
githash.h.in fix(library): store and validate Lean version of .olean files 2018-01-23 11:14:18 -08:00
Init.lean chore: move ShareCommon to Std 2020-06-25 11:45:29 -07:00
Lean.lean feat: add InternalExceptionId.lean 2020-08-21 13:06:31 -07:00
lean.mk.in chore: speedcenter: benchmark actual, parallel stdlib build 2020-08-24 13:43:44 +02:00
memcheck.supp
Std.lean chore: move ShareCommon to Std 2020-06-25 11:45:29 -07:00
stdlib.make.in chore: speedcenter: benchmark actual, parallel stdlib build 2020-08-24 13:43:44 +02:00
version.h.in chore(leanpkg/lean_version): recognize nightlies as releases separate from master 2018-03-20 15:14:45 -07:00