Daniel Selsam
4e85d59785
style(library/abstract_expr_manager): whitespace
2015-11-12 21:21:52 -08:00
Daniel Selsam
3703938e55
feat(library/abstract_expr_manager): compare exprs ignoring subsingletons
2015-11-12 21:21:51 -08:00
Daniel Selsam
fc5dba4cd1
fix(library/simplifier/simp_rule_set): use lists instead of vectors
2015-11-10 08:58:46 -08:00
Leonardo de Moura
1d39b6d5d4
feat(util/rb_map): add erase_min
2015-11-08 17:29:30 -08:00
Leonardo de Moura
c1392e60be
feat(util/rb_tree): add double_cmp
2015-11-08 17:10:49 -08:00
Leonardo de Moura
023ec1ba76
feat(library): add Meng&Paulson heuristic for selecting theorems
2015-11-08 14:04:56 -08:00
Sebastian Ullrich
0fdae28439
fix(util/sexpr/format): LINE is a token separator
2015-09-30 17:38:57 -07:00
Sebastian Ullrich
da08079af9
feat(frontends/lean): allow specifying notation spacing via quoted symbols
...
Unquoted tokens inherit their spacing from the respective reserved definition.
2015-09-30 17:36:32 -07:00
Sebastian Ullrich
189a300b11
feat(frontends/lean): improve pretty printing space insertion heuristic
2015-09-30 17:36:32 -07:00
Leonardo de Moura
33f46fd137
feat(library/blast): parse blast tactic and invoke stub
2015-09-25 12:45:16 -07:00
Leonardo de Moura
57115688ea
chore(util/thread): fix style
2015-09-03 15:07:55 -07:00
Leonardo de Moura
ade3f80089
fix(util/thread,init/init): initialization problem
2015-09-03 14:43:50 -07:00
Leonardo de Moura
3c50a9cff8
fix(util/thread): LEAN_AUTO_THREAD_FINALIZATION on OSX
2015-09-03 14:18:31 -07:00
Leonardo de Moura
524e507022
fix(util/thread): make sure threads are finalized when using the Lean C API and threads are created by the host system
2015-09-02 12:23:10 -07:00
Leonardo de Moura
8c30067f8c
fix(util/stackinfo): lazy thread initialization
...
We also add a multithread example for the C API.
This example reproduces a problem reported by Joe Hendrix.
2015-08-23 19:08:02 -07:00
Leonardo de Moura
11558df6be
chore(util/serializer): fix style
2015-08-14 18:34:33 -07:00
Leonardo de Moura
d3d1b58fb4
perf(util/serializer): minor performance improvement
2015-08-14 18:13:08 -07:00
Leonardo de Moura
849b99d244
perf(library/module): use block read
2015-08-14 17:56:21 -07:00
Leonardo de Moura
54a49bbf2e
feat(util/serializer): simple compression trick
...
reduces the standard library .olean files from 7.2 Mb to 6.1 Mb
2015-08-14 15:27:44 -07:00
Leonardo de Moura
5a6a4b45c1
fix(library/definitional/equations): fixes #796
2015-08-14 14:39:23 -07:00
Leonardo de Moura
498afc1e6f
feat(CMakeLists): add shared library
2015-08-13 11:21:05 -07:00
Leonardo de Moura
656b642c4a
fix(frontends/lean): identifier size when using unicode
...
see issue #756
2015-07-30 11:32:24 -07:00
Leonardo de Moura
4131bb3dec
feat(util/name_set): add to_name_set auxiliary function
2015-07-27 14:59:21 -07:00
Leonardo de Moura
e3062c64e2
feat(util/timeit): avoid scientific notation when displaying runtimes
2015-06-21 14:52:27 -07:00
Leonardo de Moura
3626bd83bf
refactor(util/sexpr/format): remove format constructors using std::initializer_list
...
For some reason lean.js (Lean compiled using emscripten) crashes when
this kind of constructor is used.
2015-06-20 14:02:18 -07:00
Leonardo de Moura
d28c26b6eb
feat(util/sexpr/format): small change
...
The idea is to avoid unnecessary memory allocations.
It may also help with the lean.js problem we are fighting with.
2015-06-19 21:21:28 -07:00
Leonardo de Moura
38394d85dd
fix(util/sexpr/format): potential access memory violation
2015-06-19 20:26:35 -07:00
Leonardo de Moura
accc9dc38b
chore(util/sexpr/format): remove unnecessary method
2015-06-19 20:11:42 -07:00
Leonardo de Moura
694eef7f6a
fix(util/sexpr/format): retract change that may be creating problems for emscripten
2015-06-18 10:49:13 -07:00
Leonardo de Moura
8699d2dfb7
feat(library/tactic/rewrite_tactic): display list of overloads occurring in a failed rewrite step
2015-06-14 16:30:18 -07:00
Leonardo de Moura
ae0bdaa836
chore(library,util): fix style
2015-05-27 16:46:58 -07:00
Leonardo de Moura
7d73f4f091
refactor(library,frontends/lean): simplify the creation of custom normalizers
2015-05-27 15:33:20 -07:00
Leonardo de Moura
4867dba175
fix(util/stackinfo): saving max stack size on OSX
...
see issue #628
2015-05-27 08:52:39 -07:00
Leonardo de Moura
1fbc85f6df
fix(util/list_fn): add missing file
...
fixes #606
2015-05-18 15:16:29 -07:00
Leonardo de Moura
c61c049152
feat(library/user_recursors): generalize acceptable use-defined recursors
...
see issue #492
2015-05-18 14:21:10 -07:00
Leonardo de Moura
a3c3a94a51
feat(util/sexpr/format): add check_system at formatter
2015-04-27 14:21:25 -07:00
Leonardo de Moura
fee2b002fc
fix(util/exception): typo in error message
2015-04-27 12:02:04 -07:00
Soonho Kong
3ac29fae43
fix(util/lua.cpp): 'implicit conversion of nullptr constant to bool' warning
...
clang-3.6.0 generated the following warning:
/Users/soonhok/work/lean/src/util/lua.cpp:49:12: warning: implicit conversion of nullptr constant to 'bool' [-Wnull-conversion]
return nullptr;
~~~~~~ ^~~~~~~
false
2015-03-29 23:06:22 -04:00
Leonardo de Moura
88495f9d59
fix(*): remove unnecessary null pointer checks
...
closes #514
2015-03-28 12:16:39 -07:00
Leonardo de Moura
1c55e2f389
fix(util/memory): memory allocation problem when using clang++ 3.5 on Ubuntu 14.04
2015-03-11 10:06:13 -07:00
Leonardo de Moura
f24d9e84fe
feat(frontends/lean): add option 'max_memory'
...
Default value is 512Mb
2015-03-06 13:56:20 -08:00
Leonardo de Moura
1043cc8b48
feat(library/normalize): add templates for serializing optional types
2015-02-06 11:59:30 -08:00
Leonardo de Moura
1119a8018a
fix(util/buffer): destructor was not being invoked at erase and erase_elem
...
This bug was producing a weird memory leak in the definition package.
The methods erase and erase_elem are not used very often. This is why
this bug was never detected.
2015-01-27 18:48:02 -08:00
Leonardo de Moura
8ab775bd6f
feat(*): distinguish between logical and runtime exceptions.
...
Now, we use throwable as the new base class for all Lean exceptions, and
exception is the subclass for "logical" exceptions.
2015-01-15 16:54:55 -08:00
Leonardo de Moura
3a865e95fe
feat(shell/lean): add option '-M' to limit amount of memory consumed
2015-01-15 16:54:55 -08:00
Leonardo de Moura
3813aeede5
fix(util/lean_path): relative position of library files in binary
...
distribution packages
2015-01-14 10:14:17 -08:00
Leonardo de Moura
4fef19230d
feat(util/sexpr/options): add update_if_undef method
2015-01-08 11:55:30 -08:00
Leonardo de Moura
559ee3e3e1
fix(util/buffer): bug in expand method
...
fixes #385
2015-01-06 11:42:40 -08:00
Leonardo de Moura
5f182dc1cc
fix(util/lean_path): memory leak
2015-01-06 10:22:45 -08:00
Leonardo de Moura
9be67bc0b1
feat(util/buffer): add method erase_elem
2015-01-01 19:33:14 -08:00
Leonardo de Moura
e76ef18980
feat(util/name_map): add rename_map
2015-01-01 19:33:14 -08:00
Leonardo de Moura
aedf74e80a
feat(util/list): add to_list from buffer
2014-12-19 13:54:12 -08:00
Leonardo de Moura
eb184984c0
feat(util/buffer): add insert method
2014-12-11 19:31:54 -08:00
Leonardo de Moura
93d5d43f71
fix(util/lean_path): typo
2014-12-05 22:15:07 -08:00
Leonardo de Moura
eb87c18693
feat(*): add support for separate HoTT library
2014-12-05 14:34:02 -08:00
Leonardo de Moura
f1e915a188
feat(frontends/lean): add 'find_decl' command
2014-11-23 23:00:59 -08:00
Leonardo de Moura
8b659ae679
fix(util/lean_path): change the default LEAN_PATH, a file in the current directory cannot shadow a library file, fixes #321
2014-11-14 17:23:09 -08:00
Leonardo de Moura
be52d950f0
fix(frontends/lean): improve error message, addresses issue #299
2014-11-06 12:19:40 -08:00
Leonardo de Moura
e79c7d9852
feat(frontends/lean): make set_option
affect fingerprints
2014-10-30 14:45:35 -07:00
Leonardo de Moura
a7a06ab0f8
feat(library/definitional/rec_on): automatically generate rec_on function for inductive datatypes
2014-10-25 13:08:59 -07:00
Leonardo de Moura
469368f090
refactor(frontends/lean/scanner): move basic UTF8 procedures to separate module
2014-10-19 13:29:15 -07:00
Leonardo de Moura
6285c3a217
perf(util/list): use memory pool for list cells
2014-10-17 17:08:39 -07:00
Leonardo de Moura
c21c8c582f
feat(util/buffer): expose capacity method
2014-10-17 14:05:36 -07:00
Leonardo de Moura
50e4c6f252
feat(util/rb_tree): add find_if method
2014-10-17 12:53:43 -07:00
Soonho Kong
e99463980a
feat(util/lean_path.cpp): use '/library' as LEAN_PATH for emscripten
2014-10-14 18:59:15 -07:00
Leonardo de Moura
86410d392b
feat(util/list_fn): generalize map_filter template
2014-10-08 22:23:20 -07:00
Soonho Kong
e40ef9f6c5
feat(util/lean_path.cpp): add "exe_path/../lib/lean" to LEAN_PATH
...
Related issue: #223
2014-10-07 13:38:23 -07:00
Soonho Kong
39645390ff
chore(util/*): add cstddef header before including gmp.h/mpfr.h
...
Reference: https://gcc.gnu.org/gcc-4.9/porting_to.html
------
Header <cstddef> changes
The <cstddef> header was updated for C++11 support and this breaks some
libraries which misuse macros meant for internal use by GCC only. For
instance with GMP versions up to 5.1.3, you may see:
/usr/include/c++/4.9.0/cstddef:51:11: error: ‘::max_align_t’ has not been declared
using ::max_align_t;
^
Another possible error is:
someheader.h:99:13: error: ‘ptrdiff_t’ does not name a type
A workaround until libraries get updated is to include <cstddef> or
<stddef.h> before any headers from that library.
2014-10-07 02:36:57 -04:00
Leonardo de Moura
486839881c
feat(*): use environment fingerprint to detect when the cache cannot be used because the configuration changed, closes #75
...
We are not taking into the account the options object yet.
2014-09-29 18:30:00 -07:00
Leonardo de Moura
19dec32844
feat(library): add environment fingerprint
2014-09-29 18:30:00 -07:00
Leonardo de Moura
e40f8ffe57
fix(util/sexpr/option_declarations): default value in help message, fixes #212
2014-09-27 10:12:59 -07:00
Leonardo de Moura
a3e38dc8a0
feat(frontends/lean): allow users to define "numeral notation"
2014-09-26 14:55:23 -07:00
Leonardo de Moura
f05bb9daeb
fix(util/memory): warning when compiling with clang++
2014-09-26 08:42:47 -07:00
Leonardo de Moura
d4c0c01e0b
fix(build): add missing file
2014-09-24 12:54:17 -07:00
Leonardo de Moura
516c0c73b9
refactor(*): remove dependency to thread_local C++11 keyword, the
...
current compilers have several bugs associated with it
We use the simpler __thread (gcc and clang) and
__declspec(thread) (visual studio).
2014-09-24 12:51:04 -07:00
Leonardo de Moura
ca1b8ca80f
refactor(util/memory_pool): simplify memory_pool, it is not a template anymore
2014-09-24 10:48:32 -07:00
Leonardo de Moura
41433a4002
refactor(util/rb_tree): remove optimization that creates problems for
...
some compilers
2014-09-24 10:33:25 -07:00
Leonardo de Moura
5489e46ce5
refactor(util/numerics): explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
4205368718
fix(util/sexpr): missing explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
7e84d5df3d
refactor(util): explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
79cfb32ec7
refactor(util): explicit initialization/finalization
2014-09-23 08:13:33 -07:00
Leonardo de Moura
b6781711b1
refactor(*): explicit initialization/finalization for serialization
...
modules, expression annotations, and tactics
2014-09-22 15:26:41 -07:00
Leonardo de Moura
b1ee888aae
refactor(*): start move to explicit initialization/finalization,
...
explicitly initialize/finalize options
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-22 10:41:07 -07:00
Leonardo de Moura
648f209cfe
fix(util/memory): redefine the non-throwing versions of the new
...
operator.
In some platforms, the following operator new is used
void* operator new(std::size_t sz, std::nothrow_t const &)
Since, it was not defined by memory.cpp, a crash would happen whenever
our delete was invoked.
void operator delete(void * ptr) throw() { return lean::free(ptr); }
Our delete assumes the memory was allocated with our new at memory.cpp
void* operator new(std::size_t sz)
2014-09-21 10:54:41 -07:00
Leonardo de Moura
704e203cd7
feat(util/lean_path): support LEAN_PATH that uses ':' instead of ';' on Windows
2014-09-20 15:24:20 -07:00
Leonardo de Moura
e3ac1f66e0
feat(util/lean_path): normalize path in function dirname
2014-09-20 10:52:58 -07:00
Leonardo de Moura
a3e43c2173
refactor(util/thread_script_state): remove 'enable_script_state_recycling' hack
2014-09-19 08:14:50 -07:00
Leonardo de Moura
8b76deb971
fix(util/thread_script_state): style
2014-09-17 15:23:10 -07:00
Leonardo de Moura
e3e1668f27
fix(util/thread_script_state): disable script_state recycling at finalization time
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-17 09:57:17 -07:00
Leonardo de Moura
a72a11db8e
fix(util/script_state_manager): crash when compiling with msys2 stack
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-17 08:39:06 -07:00
Leonardo de Moura
aa5abefaff
fix(util/thread_script_state): make sure system does not crash during
...
finalization
2014-09-17 08:25:21 -07:00
Leonardo de Moura
9a2f1ba423
fix(util): compilation problems when using msys2
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-16 21:29:51 -07:00
Leonardo de Moura
f03f0aa8b9
fix(util/thread): MULTI_THREAD=OFF mode
2014-09-16 20:44:43 -07:00
Leonardo de Moura
b482f27543
fix(util/lazy_list): bug in filter operation
2014-09-12 16:12:23 -07:00
Soonho Kong
8fd938e142
fix(util/lean_path.cpp): get_exe_location follows symbolic link in OSX
...
Previously, we had different behaviors on Linux and OSX when
get_exe_location finds a location of executable:
- Linux: follow symbolic link
- OSX: not follow symbolic link
2014-09-10 07:41:14 -07:00
Leonardo de Moura
a31a25798c
feat(util): add fuzzy string search procedure
2014-09-05 18:01:09 -07:00
Leonardo de Moura
d75a4739e4
refactor(util/name): move string_to_name to name module
2014-09-04 13:09:42 -07:00
Leonardo de Moura
24fc89ff70
refactor(frontends/lean/server): move option display_value to option_declarations
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-02 17:42:21 -07:00
Leonardo de Moura
658e0780a6
feat(util/rb_tree): add max (element) method
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-30 10:25:12 -07:00
Leonardo de Moura
b9489ce585
fix(frontends/let): let-expression pretty printer
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-29 10:58:27 -07:00