Commit graph

537 commits

Author SHA1 Message Date
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
Leonardo de Moura
f4c7154825 feat(util/lean_path): throws an exception if there is an ambiguity when importing a module
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 10:18:35 -07:00
Leonardo de Moura
9484ab6a04 fix(util/lean_path): if directory 'foo' does not contain 'default.lean', then we should also check whether the file 'foo.lean' exists or not, fixes #102
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 09:04:03 -07:00
Leonardo de Moura
11711a2409 fix(util/rb_tree): do not use thread local storage in template when compiling on OSX with clang++ without Boost
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-26 12:46:24 -07:00
Leonardo de Moura
fbf13994d8 refactor(*): use + for concatenating format objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-24 09:35:25 -07:00
Leonardo de Moura
dbaf81e16d refactor(library): remove unnecessary 'standard' subdirectory
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-23 18:08:09 -07:00
Leonardo de Moura
01736bf82a feat(util/sexpr/format): expose flatten
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-23 12:00:32 -07:00
Leonardo de Moura
9588336c15 refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-20 16:46:19 -07:00
Leonardo de Moura
4cf3d32e0c chore(*): create alias for std::pair
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-20 16:46:19 -07:00
Leonardo de Moura
fcf1778ee0 feat(util): add sequence object with O(1) concatenation operation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-20 16:46:19 -07:00