Commit graph

132 commits

Author SHA1 Message Date
Leonardo de Moura
250dc3e3a9 fix: adjust expanders and elaborators to new matchAlts node 2020-09-04 18:59:28 -07:00
Sebastian Ullrich
c88784ef9d refactor: consistent io_result_mk* naming
/cc @leodemoura
2020-08-31 11:08:57 +02:00
Sebastian Ullrich
eb5a171764 feat: adjust semantics to new syntax 2020-08-19 09:56:23 -07:00
Leonardo de Moura
3342ba08d2 feat: implement let elaborators without using match_syntax
@Kha I had to do this because of the `ident` vs `Term.id` recurrent
issue. `match_syntax` fails if a `Term.id` is used at `Term.letIdDecl`
where an `ident` is expected.
We should try to remove `Term.id` in the future.
2020-08-17 09:27:54 -07:00
Leonardo de Moura
d1d91b3a50 chore: fix test 2020-08-10 11:19:05 -07:00
Leonardo de Moura
e59735bde9 chore: fix test
@Kha the tests `Reparen.lean` and `Reformat.lean` are still
broken. Could you please take a look?
They broke because I changed the `match` syntax at 3ce794c58.
2020-08-10 10:20:57 -07:00
Sebastian Ullrich
a0b0dbd0ac fix: formatStx 2020-08-06 09:27:12 -07:00
Sebastian Ullrich
c8b6020bb3 test: do not ignore whitespace in diff
It doesn't look like we were relying on it much
2020-08-06 09:26:48 -07:00
Leonardo de Moura
cbb14673ef chore: move RBTree and RBMap to Std 2020-06-25 13:26:16 -07:00
Leonardo de Moura
657879fcaa chore: fix tests 2020-06-25 11:58:49 -07:00
Leonardo de Moura
77e1260ed2 chore: simplify checkPrec 2020-06-10 14:34:58 -07:00
Leonardo de Moura
9a349a913a chore: remove sortApp
@Kha Note that `checkRBPGreater` comment and name were incorrect. It
was actually checking whether the RBP <= lower
2020-06-03 15:18:16 -07:00
Leonardo de Moura
17b6957f6c chore: fix tests 2020-05-26 15:05:01 -07:00
Leonardo de Moura
9c0bd9dd41 chore: fix tests 2020-05-26 15:05:00 -07:00
Sebastian Ullrich
c50cd2527c fix: include headers in test 2020-05-23 12:39:49 +02:00
Leonardo de Moura
a2e339e868 chore: fix test 2020-05-22 14:47:39 -07:00
Leonardo de Moura
ee0fb1bfd8 chore: fix test
@Kha

I was having several errors of the form
```
224: /Users/leonardodemoura/projects/lean4/build/release/stage0.5/bin/../include/lean/runtime/exception.h:23:13: error: exception specification of overriding function is more lax than base version
224:     virtual ~throwable() noexcept;
224:             ^
224: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/exception:102:13: note: overridden virtual function is here
224:     virtual ~exception() _NOEXCEPT;
224:             ^
224: In file included from myfuns.cpp:1:
```

As far as I can tell, the error ocurrs because my compiler uses an old
C++ standard if the option `-std` is not used.
I guess `-std=c++11` would also works, but I decided to use the same
standard we used to compile Lean.
2020-05-22 09:33:46 -07:00
Sebastian Ullrich
36e040ecfa test: reimplement compiler/foreign on top of leanmake 2020-05-22 09:22:26 -07:00
Leonardo de Moura
a01552d361 chore: fix some tests
Two of them are still broken due to a bug in the new elaborator.
2020-05-21 09:50:20 -07:00
Leonardo de Moura
bd58048449 chore: { <source> with ... } syntax 2020-05-20 15:08:43 -07: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
Leonardo de Moura
ebc0663b3f chore: fix tests 2020-05-12 15:02:03 -07: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
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
Leonardo de Moura
2a1d9a0285 test: simple demo mixing C/C++ and Lean
@dselsam @kha
I did not have to create a new shared library.
The main limitation of this approach is that the new `extern`
functions are only available in compile code. That is, we cannot use
them with `#eval`.
2020-04-06 16:16:49 -07:00
Leonardo de Moura
705530b62b fix: remove DecidableEq for Float
We cannot implement `DecidableEq Float` using C equality for
`double`. Reason: the C implementation is not even reflexive.
If we need `DecidableEq Float`, we will need to provide our own
implementation (i.e., a wrapper around the one provided by the
hardware). In this commit, we implement `HasBeq Float` instead.

cc @dselsam
2020-04-06 14:10:18 -07:00
Leonardo de Moura
582fe3ac8a test: add test that exposed unboxing issue 2020-04-03 18:24:48 -07:00
Leonardo de Moura
51f1893a8c test: add basic float tests 2020-04-03 17:39:47 -07:00
Leonardo de Moura
41949ee801 refactor: String.toNat ==> String.toNat? and String.toNat! 2020-03-23 14:29:48 -07:00
Sebastian Ullrich
ed14375dad feat: sort and deduplicate "expected" tokens in parser error messages 2020-03-19 17:17:08 -07:00
Leonardo de Moura
ee8a4d16a2 chore: fix test 2020-02-09 19:33:45 -08:00
Leonardo de Moura
2138a11480 feat: use custom error messages at checkRBPGreater 2020-02-03 18:30:22 -08:00
Sebastian Ullrich
b76be34119 chore: fix test 2020-02-03 16:36:37 +01:00
Leonardo de Moura
d0d3e24975 chore: fix tests 2020-01-25 20:14:50 -08:00
Leonardo de Moura
7e61315e6d chore: fix tests 2020-01-20 22:26:07 -08:00
Leonardo de Moura
0caa11e242 chore: adjust frontend to new app representation, and fix tests 2020-01-17 17:34:48 -08:00
Leonardo de Moura
c98e3290e4 refactor: parser attributes 2020-01-08 21:09:11 -08:00
Leonardo de Moura
5629870ab0 test: news tests 2019-12-19 05:51:04 -08:00
Leonardo de Moura
9838a6a8b1 chore: fix tests 2019-12-16 10:31:51 -08:00
Leonardo de Moura
a1aac9a98d chore: fix tests 2019-12-15 18:34:13 -08:00
Leonardo de Moura
7da9793c0a chore: fix tests 2019-12-09 16:58:21 -08:00
Sebastian Ullrich
9482976345 test: speed up some tests for the debug interpreter 2019-12-07 21:51:59 +01:00
Leonardo de Moura
021fda2d80 chore: fix tests 2019-12-04 17:02:56 -08:00
Leonardo de Moura
a5cf1ac5ae chore: fix tests 2019-11-26 18:07:13 -08:00
Leonardo de Moura
cff6a1d117 chore: fix tests 2019-11-22 08:03:22 -08:00
Leonardo de Moura
167549de59 chore: fix tests 2019-11-22 07:56:06 -08:00
Sebastian Ullrich
3dcd4febd9 feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl 2019-11-20 16:39:53 +01:00