Mirror of https://github.com/leanprover/lean2 in case it ever disappears
9f0dab1add
The actual implementation of these two operators is outside of the kernel. They are implemented in the file 'library/printer.cpp'. We declare them in the kernel to prevent the following problem. Suppose there is a file 'foo.cpp' that does not include 'library/printer.h', but contains expr a; ... std::cout << a << "\n"; ... The compiler does not generate an error message. It silently uses the operator bool() to coerce the expression into a Boolean. This produces counter-intuitive behavior, and may confuse developers. |
||
---|---|---|
doc | ||
examples/lean | ||
script | ||
src | ||
tests/lean | ||
.gitignore | ||
.travis.osx.yml | ||
.travis.windows.yml | ||
.travis.yml | ||
LICENSE | ||
README.md |
Ubuntu 12.04 LTS 64bit, g++-4.8 | clang++-3.3
Windows, x86_64-w64-mingw32-g++-4.8.1
[Result of Build/UnitTest/Coverage/Dynamic Analysis]
About
Requirements
- C++11 compatible compiler: g++ (version >= 4.8.1), or clang++ (version >= 3.3)
- CMake
- GMP (GNU multiprecision library)
- MPFR (GNU MPFR Library)
- (optional) gperftools
Installing required packages at
Build Instructions
Miscellaneous
- Testing and Code Coverage
- Building Doxygen Documentation:
doxygen src/Doxyfile
- Coding style
- Automatic builds