Sebastian Ullrich
10253e89ea
chore: move bin/ and .oleans into build directory
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
73b4cf329d
fix: Windows build
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
441ffadb29
Revert "chore: speed up sanitized build a bit"
...
This reverts commit d3115d8f58 .
I didn't notice that we're not actually using a debug build for the sanitized build
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
5d260c396f
fix: macOS build
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
5f1a052998
feat: replace --make with -o flag that takes an explicit .olean target file name
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
81784b145e
chore: update stage0
2020-05-14 14:46:18 +02:00
Sebastian Ullrich
872d5fc7ba
feat: stop compiling Lean code as C++, remove --cpp option
...
Since we don't use static initializers, really the only difference between using `clang` and `clang++` is the default
inclusion of the C++ standard library.
2020-05-14 14:45:33 +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
2325f5d358
chore: ignore more test output files
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
bc40796729
chore: remove fail/ tests
...
Checking for *any* failure is never a good idea. Use `$f.expected.ret` instead.
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
a5382f45ff
chore: stop normalizing the input path in error messages
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
76a97ea4fc
feat: infer module name from cwd instead of LEAN_PATH, also make build system less specific to Init/
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
be79820a47
feat: add IO.currentDir
2020-05-14 14:38:52 +02:00
Leonardo de Moura
72aeab24eb
chore: adjust new frontend
2020-05-12 15:07:06 -07:00
Leonardo de Moura
ab5c0301d6
chore: update stage0
2020-05-12 15:02:03 -07:00
Leonardo de Moura
50990b99d6
chore: remove unnecessary annotations
2020-05-12 15:02:03 -07:00
Leonardo de Moura
ebfa362507
chore: fix HasOfNat
2020-05-12 15:02:03 -07:00
Leonardo de Moura
ebc0663b3f
chore: fix tests
2020-05-12 15:02:03 -07:00
Leonardo de Moura
33a10130cf
chore: fix stdlib
2020-05-12 15:02:03 -07:00
Leonardo de Moura
4cb98c60d1
chore: update stage0
2020-05-12 15:02:03 -07:00
Leonardo de Moura
03403ba3c8
feat: make RelaxedImplicit the default behavior
2020-05-12 15:02:03 -07:00
Leonardo de Moura
861d476a9a
chore: update stage0
2020-05-12 15:02:03 -07:00
Leonardo de Moura
e596820f2e
chore: remove () modifier
...
cc @Kha
2020-05-12 15:02:02 -07:00
Sebastian Ullrich
f3976fc53a
chore: parenthesizer: address some comments
2020-05-05 14:43:15 +02:00
Sebastian Ullrich
386c706f3e
feat: basic parenthesizer
2020-05-04 14:28:36 -07:00
Sebastian Ullrich
822897e218
feat: lift MonadTracerAdapters
2020-05-04 14:28:36 -07:00
Sebastian Ullrich
942ed3a6a8
chore: set precedence of universe placeholder
2020-05-04 14:28:36 -07:00
Sebastian Ullrich
6a10e1254e
fix: blockImplicitLambda: ignore parentheses
2020-05-04 14:28:36 -07:00
Sebastian Ullrich
11c3ada877
feat: add [parenthesizer] attribute
2020-05-04 14:28:36 -07:00
Sebastian Ullrich
1f2afa4c25
chore: CI: deactivate stack overflow tests for sanitized build
2020-05-04 11:11:12 +02:00
Sebastian Ullrich
d3115d8f58
chore: speed up sanitized build a bit
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
7f10a504f8
chore: CI: fix ctest cmdline that ignored --output-on-failure
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
28350f46d8
feat: prevent Windows error message boxes in all Lean programs
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
5107403d24
feat: detect stack overflows on all platforms and threads
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
e7920bcdb5
chore: remove test special case
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
7899ab3761
feat: report stack overflows as such on Linux
...
Port of the corresponding Rust code (Apache/MIT)
2020-04-30 13:16:42 -07:00
Sebastian Ullrich
ec9f4b579d
chore: improve precision of compilation time profiling
2020-04-24 15:11:36 +02:00
Sebastian Ullrich
24f22f7643
chore: log cumulative #eval execution time
2020-04-24 15:11:36 +02:00
Leonardo de Moura
bc57faff08
fix: ensure compiler representation invariants are preserved
2020-04-23 13:54:14 -07:00
Leonardo de Moura
5437ce9106
chore: workaround bugs exposed by previous commit
2020-04-23 11:32:39 -07:00
Sebastian Ullrich
8f67db0101
refactor: never implicitly ignore monadic results
...
Also change `do e; f` to desugar to `e *> f` so that it is affected as well
2020-04-23 11:09:59 -07:00
Marc Huisinga
aa4fc12dff
feat: translate and refactor Gabriel Ebner's JSON parser
...
implement the JSON parser from https://github.com/gebner/lean4/tree/server by @gebner using new Lean 4 syntax and fix some minor bugs.
2020-04-15 11:29:18 -07:00
Sebastian Ullrich
11ab7dde3a
chore: update to LLVM 10
2020-04-13 12:18:56 +02:00
Leonardo de Moura
7322345768
fix: private names
...
@Kha I tried to fix a few issues with private names. The new test
tries to cover them. If you have more, please create an issue.
1- Scoping. A private declaration should shadow one in a previous scope.
2- We should not be able to define the same `private` in the same
module more than once.
```
private def x := 10
private def x := "hello" -- should produce error here
```
3- Dot-notation should work with private declarations in the module
where they were defined.
4- The following should work
```
namespace N
private def x := 10
end N
#check N.x
```
5- The following should **not** work
```
def y := 10
private def y := "hello" -- produce error
private def z := 10
def z := "hello" -- produce error
```
BTW, I am happy to change this behavior. I just mimicked C's
behavior for `static`.
It is not clear whether the following should work or not.
```
namespace N
private def b := 10
end N
open N
#check b
```
2020-04-09 16:28:21 -07:00
Leonardo de Moura
596a3af1a0
feat: check if "has already been declared" at the beginning
2020-04-09 15:29:10 -07:00
Leonardo de Moura
360cebf680
fix: induction tactic must check expected major premise type
...
`whnfUntil` now returns `Option Expr`.
2020-04-09 11:18:02 -07:00
Leonardo de Moura
9a38aca8ec
feat: add evalFailIfSuccess
2020-04-09 11:02:15 -07:00
Leonardo de Moura
679bdb5886
chore: update stage0
2020-04-09 10:56:17 -07:00
Leonardo de Moura
539bb4a282
feat: add failIfSuccess tactic parser
2020-04-09 10:55:03 -07:00
Leonardo de Moura
9a5bed0f94
fix: missing ! at whnfUntil
2020-04-09 10:49:20 -07:00