explaingit

6elphegor/warp

Analysis updated 2026-05-18

4RustAudience · researcherComplexity · 5/5Setup · easy

TLDR

An experimental language that automatically searches for and generates simple programs, data types, and even mathematical proofs, favoring the simplest results.

Mindmap

mindmap
  root((repo))
    What it does
      Generates programs
      Searches for proofs
      Samples synthetic data
    Tech stack
      Python
      Dependent types
    Use cases
      Generate synthetic datasets
      Explore program search
      Study automated proofs
    Audience
      Researchers
      PL enthusiasts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate small synthetic datasets by sampling programs and their outputs.

USE CASE 2

Explore how automated proof search can discover simple mathematical proofs.

USE CASE 3

Study dependent type theory using the accompanying interactive book.

USE CASE 4

Enumerate every simple function matching a given input and output type.

What is it built with?

PythonRust

How does it compare?

6elphegor/warpadoslabsproject-gif/liara-toolkitandroolloyd/octravpn
Stars444
LanguageRustRustRust
Setup difficultyeasyhardhard
Complexity5/54/55/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

No dependencies beyond Python 3, but the underlying ideas take time to understand.

No license information is stated in the README.

In plain English

Warp is an experimental programming language built for a narrow but unusual purpose: generating example programs and even example data types automatically, rather than being written by hand. Instead of a human typing out code, you describe a target, such as a function from one number to another, and Warp searches through possible programs that match it, favoring the simplest ones first. The language is what mathematicians call dependently typed, which means types can depend on actual values, not just other types. This sounds abstract, but it has a practical payoff described in the README: the same search process that finds a simple function can also, when the target is a mathematical statement instead of an ordinary function, find a valid proof of that statement. In other words, searching for programs and searching for proofs become the same activity inside Warp. You describe what you want using a small text based language of your own instructions, and Warp either enumerates every matching program up to a certain complexity, ordered from simplest to most complex, or randomly samples one according to a preference for simpler results. New data types can also be defined right inside your request, and Warp can sample entirely new types along with example values that belong to them, which is aimed at generating synthetic datasets. The README documents a companion online book meant for programmers who have no background in this kind of type theory, walking through the underlying ideas from scratch with interactive examples. The tool itself has no dependencies beyond Python 3 and is run from the command line with scripts like tests.py and generate.py, using flags to set the goal, how many results to produce, and whether to enumerate or randomly sample. This is a research style project, not a general purpose programming language, and it does not state a license, so anyone wanting to reuse the code should check with the author directly.

Copy-paste prompts

Prompt 1
Explain what a dependently typed language is, using Warp's README as the example.
Prompt 2
Walk me through running generate.py to enumerate functions from Nat to Nat.
Prompt 3
Help me understand how Warp treats proof search and program search as the same task.
Prompt 4
Show me how to define a new data type inline in a Warp goal expression.

Frequently asked questions

What is warp?

An experimental language that automatically searches for and generates simple programs, data types, and even mathematical proofs, favoring the simplest results.

What language is warp written in?

Mainly Rust. The stack also includes Python, Rust.

What license does warp use?

No license information is stated in the README.

How hard is warp to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is warp for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.