Commit graph

32 commits

Author SHA1 Message Date
Sebastian Ullrich
ff0d56da65 doc: further elaborate on elan and Emacs setup
/cc @leodemoura @mhuisi
2020-05-18 11:00:29 +02:00
Sebastian Ullrich
f64a343183 doc: describe new bootstrap setup 2020-05-14 23:13:51 +02:00
Sebastian Ullrich
10253e89ea chore: move bin/ and .oleans into build directory 2020-05-14 14:47:54 +02:00
Sebastian Ullrich
053d4bab1c chore: factor out and unify common test behavior; retrieve lean from PATH
`./test_single.sh foo.lean yes` is now `./test_single.sh -i foo.lean`
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
9be3abd721 doc: update lean4-mode readme 2020-03-26 11:24:01 +01:00
Sebastian Ullrich
e5f7334e2d chore: lean4-mode: operators are punctuation, '!' and '?' are symbol parts 2020-03-19 17:18:27 -07:00
Leonardo de Moura
2fee8059b6 feat: add induction tactic parser 2020-02-21 11:30:36 -08:00
Leonardo de Moura
be730fa27f feat: add #check_failure as keyword 2020-02-12 12:52:51 -08:00
Sebastian Ullrich
fdfbb9a435 chore: lean4-mode: remove '.' from symbol table 2020-02-03 16:37:02 +01:00
Leonardo de Moura
b69fec3ce3 chore: improve · input method 2019-12-21 15:55:14 -08:00
Leonardo de Moura
5fffecfb53 chore: add macro_syntax syntax highlight 2019-12-17 13:32:52 -08:00
Sebastian Ullrich
185597aef5 chore: remove references to deleted lean4-server.el 2019-12-09 10:16:22 +01:00
Sebastian Ullrich
ae3b3bb825 chore: remove cygwin support 2019-11-12 08:28:58 -08:00
Sebastian Ullrich
b3382afa4d feat: add bin/lean_wrapped helper script that chooses the right stage and use it in lean-mode 2019-10-28 18:11:58 -07:00
Daniel Selsam
a82266c652 feat(library/init/lean/typeclass): #synth with tabled resolution 2019-10-03 17:23:53 -07:00
Leonardo de Moura
b221b09ad5 chore(library/init, frontends/lean): ensure old and new parser use the same command for initializing quotient module 2019-07-31 17:07:05 -07:00
Leonardo de Moura
b2e1ff8b3e feat(library/init): use new "empty match" syntax 2019-07-15 16:25:14 -07:00
Leonardo de Moura
cf19cb0790 chore(lean4-mode/lean4-input): fix \cdot 2019-07-02 08:13:50 -07:00
Leonardo de Moura
1f11429f98 feat(frontends/lean): add partial keyword 2019-03-26 16:09:55 -07:00
Sebastian Ullrich
88af3c948a fix(lean4-mode/lean4-flycheck): update lean4-bootstrapped-checker 2019-03-24 20:55:20 +01:00
Sebastian Ullrich
e27bffabef fix(lean4-mode/lean4-flycheck): allow changing lean4-extra-arguments without restart 2019-03-23 23:09:55 +01:00
Leonardo de Moura
0b7d987699 feat(frontends/lean, library/init/lean): opaque constants
@kha I have added support for opaque constants to the old C++ frontend,
and made sure the new frontend can still parse `library/init/core.lean`.
The kernel should enforce that opaque constants are really opaque, and
the following example should fail
```
constant x : nat := 0
theorem foo : x = 0 := rfl
```
If it doesn't, it is a bug.

Here are some remaining issues:
1- `environment.mk_empty` is currently an axiom because we cannot create
an inhabitant of an opaque type. A possible solution is to use
`option environment` instead of `environment`.

2- There is no support for opaque constants in the new
frontend. However, I modified it to handle axioms, and fixed the literal
values with decl_cmd_kind. I tried to mark some of my changes with
comments, but it is probably much easier for you to just check the
commit change list.

3- I did not add any support for automatically constructing `e`
at `constant x : t := e`. I think we can do this later
after we replace the old frontend with the new one. BTW, it took only a
few minutes to provide the inhabitants manually.
2019-03-15 17:41:44 -07:00
Leonardo de Moura
ecdb9d6df0 feat(library/init, frontends/lean): add abbreviation for abbreviation 2019-03-15 16:01:25 -07:00
Leonardo de Moura
0888dee25e chore(*): meta ==> unsafe 2019-03-15 15:04:40 -07:00
Sebastian Ullrich
4c0f836305 chore(shell/lean): reduce lean interface to taking a single file, assuming all dependencies have already been built 2019-01-25 18:27:38 +01:00
Sebastian Ullrich
72274870ef feat(lean4-mode/lean4-flycheck): add lean4-bootstrapped-checker 2018-12-20 14:28:18 +01:00
Sebastian Ullrich
febeaad5bb feat(lean4-mode/lean4-flycheck): store .olean of dependencies 2018-09-11 16:35:25 -07:00
Sebastian Ullrich
52d4cc10ad feat(shell/lean,lean4-mode/lean4-flycheck): use stdin for communication
no more `flycheck_` files
2018-09-11 16:35:25 -07:00
Sebastian Ullrich
845c496a07 fix(lean4-mode/lean4-util): (lean4-setup-rootdir) returns the wrong path 2018-09-08 18:37:58 -07:00
Sebastian Ullrich
1a4a69679d chore(lean4-mode): rename files 2018-09-08 18:37:58 -07:00
Sebastian Ullrich
11f8e24136 chore(lean4-mode): change lean- prefixes to lean4- 2018-09-08 18:37:58 -07:00
Sebastian Ullrich
f2cb01bbf0 chore(lean-mode): rename to lean4-mode 2018-09-08 18:37:58 -07:00