The C++ source code contain is organized into the following modules:
- base: Basic data structures (e.g., UID)
- cmd: Command-line interface, test suite, and main entry point
- eval: Interpreter and evaluation engine for LODA programs
- form: Formula generation (including PARI/GP integration)
- gen: Random program generation
- lang: LODA language core (parser, analyzer, program representation)
- math: Internal math library (big numbers, integer sequences)
- mine: Mining infrastructure (generators, matchers, miners)
- seq: Sequence data management and OEIS integration
- sys: System utilities (file I/O, git, logging, setup, web client)
LODA supports Linux, macOS, and Windows. You need a standard C++ compiler and make (or nmake on Windows). The libcurl and zlib development libraries must be available at build time.
- C++ compiler: g++, clang++, or MSVC (C++17 support required)
- libcurl: Development headers and library (e.g.,
libcurl4-openssl-devon Debian/Ubuntu) - zlib: Development headers and library (e.g.,
zlib1g-devon Debian/Ubuntu)
To build from source, switch to the src/ folder and run the appropriate command for your platform:
- Linux x86_64:
make -f Makefile.linux-x86.mk - Linux ARM64:
make -f Makefile.linux-arm64.mk - MacOS x86_64:
make -f Makefile.macos-x86.mk - MacOS ARM64:
make -f Makefile.macos-arm64.mk - Windows (x86_64 and ARM64):
nmake /F Makefile.windows.mk
After building, the loda executable will be copied or symlinked into the main project folder.
Run tests from the main folder using the following commands:
- Fast tests:
./loda test-fast - All tests:
./loda test