Overview

LODA is an assembly language, a computational model, and a distributed tool for mining programs. You can use it to generate and search programs that compute integer sequences from the On-Line Encyclopedia of Integer Sequences® (OEIS®). The goal of the project is to find new formulas and more efficient algorithms for a wide range of non-trivial integer sequences.

The LODA Language

LODA means Lexicographical Order Descent Assembly. It is an assembly-based language for solving number-theoretic problems. Its simple syntax combined with its powerful operations makes it ideal for automated search of new programs and algorithms using a process called program mining.

For an overview of the LODA language, you can read its specification. It includes a reference of its operations with examples. You can use the online editor to try it out yourself. For more programs, you can browse through the lists of mined programs for integer sequences from the OEIS. There are currently more than 70,000 programs available. You can find lists with descriptions and links below. Except for a few hand-witten ones, these programs have been generated using distributed miners.

Mining Programs for Integer Sequences

LODA includes a tool for mining new and more efficient programs for integer sequences. There are continuously running miners generating programs every day. Have a look at the mining dashboard to get an overview of the currently running miners. Below you see a chart of the number of programs since the start of the project.

You have two options for mining programs:

  1. Join the LODA project on BOINC.
  2. Use the LODA command-line tool.

We honor your contributions: you can include your name in mined programs! All mined programs are stored in the loda-programs repository.

To receive updates on new miner findings, you can check out the commits in loda-programs or subscribe to the @lodaminer channel on Twitter, or join other LODA followers in the loda-lang workspace on Slack. It includes a channel that posts new programs in real-time.

Development

The source code of LODA is hosted in the loda-lang organization on GitHub. These are some of its main repositories:

  • loda-cpp: Interpreter and miner written in C++.
  • loda-rust: Interpreter and web interface written in Rust.
  • loda-programs: Mined programs for OEIS sequences.

Contributors

  • Sequence Machine is a database of mathematical conjectures on many machine-generated integer and decimal sequences.
  • Superseeker from the OEIS is an automatic email server for identifying integer sequences.
  • jOEIS is a collection of pure Java programs implementing sequences from the OEIS.
  • The Ramanujan Machine is an algorithmic approach to discover new mathematical conjectures.
  • QSynt is a program synthesis tool for OEIS integer sequences.