Commit graph

27 commits

Author SHA1 Message Date
Leonardo de Moura
9a071c18e7 feat(library/equations_compiler): add support for partial definitions 2019-03-27 11:09:32 -07:00
Leonardo de Moura
3b70e8785b chore(tests/compiler/str): fix test 2019-03-22 17:26:43 -07:00
Leonardo de Moura
3befc219c9 chore(library/init): Empty => empty when it is a function 2019-03-21 17:03:15 -07:00
Sebastian Ullrich
f34d37c371 chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
Sebastian Ullrich
f160fd8de0 chore(tests): compile tests using -O3 again 2019-03-18 17:55:28 +01:00
Sebastian Ullrich
f6d3062524 feat(bin/leanc): add simple C++ compiler wrapper script 2019-03-18 16:11:30 +01:00
Leonardo de Moura
b1c187f717 feat(library/compiler): allow io unit as main function result type
When `io unit` is used, we use `return 0` for `result.ok`, and `return
1` for `result.except`.
2019-03-16 16:05:45 -07:00
Leonardo de Moura
6d0ec3a8c9 refactor(library/init/io): implement io monad using estate monad 2019-03-16 15:34:58 -07:00
Leonardo de Moura
cf3bbd7e25 feat(runtime): add utf8_prev and utf8_set
Next goal: implement string.iterator in Lean
2019-03-11 18:05:40 -07:00
Leonardo de Moura
01b4983fa2 fix(runtime/object): string_utf8_extract 2019-03-09 12:57:51 -08:00
Leonardo de Moura
67944a6c81 test(tests/compiler/str): new test for utf8 primitives 2019-03-09 12:41:33 -08:00
Leonardo de Moura
7b1d15ec43 fix(library/compiler/specialize): avoid work duplication in the specializer 2019-03-08 11:21:49 -08:00
Leonardo de Moura
dfce086c9e test(tests/compiler/array_test): basic array test 2019-02-16 16:08:49 -08:00
Leonardo de Moura
542bd432f8 test(tests/compiler): uint constant folding tests 2019-02-15 14:53:29 -08:00
Sebastian Ullrich
03456ab752 chore(tests/compiler/t2): fix test 2019-02-15 12:13:45 -08:00
Sebastian Ullrich
b8900fad80 chore(tests/compiler/test.sh): rename to conventional test_single.sh so that (lean4-diff-test-file) works 2019-02-15 12:13:45 -08:00
Leonardo de Moura
b6d1506434 fix(tests/compiler/t2): pause at the end
@kha I figured out why we had a long pause in the end of this benchmark
when using `11` instead of `9`. The function `deriv` was computing
`d := d "x" f` (the expensive computation), printing the size of `f` and
returning `d`. So, in the last step we were quickly printing the size
of the input 40230090 (when using `nest deriv 11 f`), and then computing
`d := d "x" f` which returns an object of size 374429936 which is never
used for anything.
That is, the pause had nothing to do with memory deallocation. I found
this issue after I implemented the deferred free feature which did not
fix the pause :)
2019-02-14 10:44:59 -08:00
Leonardo de Moura
19e111c2ff feat(library/compiler): allow main function to also have type io uint32 2019-02-13 16:29:10 -08:00
Leonardo de Moura
06bb9b7ea8 test(tests/compiler): add simple test for expr 2019-02-13 16:22:01 -08:00
Sebastian Ullrich
67f8f7a2da chore(tests/compiler/append): add expected output 2019-02-09 20:02:26 +01:00
Leonardo de Moura
6cb96331b1 chore(tests/compiler): add .gitignore 2019-02-08 16:59:17 -08:00
Leonardo de Moura
5dcbb9c50d test(tests/compiler/append): append test 2019-02-08 16:52:41 -08:00
Leonardo de Moura
01119b529f test(tests/compiler): add thunk test
This test will take a long time if `thunk` result is not cached.
2019-02-08 11:01:33 -08:00
Leonardo de Moura
e2ee2d4bd9 chore(tests/compiler): add deriv test 2019-02-07 16:56:40 -08:00
Leonardo de Moura
259941c184 chore(tests/compiler/test_flags): include release flags
@kha The `-O3` option is not at CMAKE_CXX_FLAGS, but in build mode
specific configuration. I added this hack because I want to include
performance tests too. Perhaps, I should move performance tests to a
different directory.
2019-02-07 16:30:30 -08:00
Leonardo de Moura
109d569310 feat(tests/compiler): add first test 2019-02-07 12:14:25 -08:00
Leonardo de Moura
dc8edd3894 feat(tests/compiler): script skeleton
cc @kha
2019-02-07 11:54:46 -08:00