← Explore all software

Free to use · Intent-first programming language

Make the purpose of your code explicit.

Prove is a programming language for developers who want function intent, contracts and reasoning to sit alongside the implementation. Write what a function is meant to do, then make its behaviour match.

Who is Prove for?

Developers exploring a contract-driven approach to programming, and teams that want code to communicate more than its syntax. Start with a small project and the language examples to see whether this workflow fits you.

Keep intent close to the implementation.

  • Name the purpose. Intent verbs distinguish pure transformations from input and output.
  • State the contract. requires and ensures express conditions at the function boundary.
  • Make reasoning visible. The language includes explain declarations for implementation reasoning.

Read the function reference and contract documentation for the exact rules and enforcement.

A small example.

transforms add(a Integer, b Integer) Integer
  ensures result == a + b
from
    a + b

This example comes from the Prove documentation. transforms declares a pure transformation; ensures states the expected result. Explore a larger inventory service example to see the language in context.

Availability and installation.

The documentation currently lists binary installation for Linux x86_64 and macOS aarch64, plus a source-install route requiring Python 3.11+ and gcc or clang. Use the installation instructions for current requirements and the release downloads for available builds.

Free to use, with distinct licences.

There is no Botwork subscription required to get started with Prove. The language, specification and .prv source code use the Prove Source License v1.0, which prohibits AI-training use. Compiler tooling, documentation and editor integrations use Apache-2.0. Read the licensing explanation before reusing or redistributing components.

Questions about Prove.

Is Prove free to use?

Yes. Installation and documentation are available without purchasing a Botwork service. Different components have different licences; free use does not mean that every component has the same reuse terms.

Where do I find examples and language details?

The Prove documentation covers the language tour, contracts, types, examples and roadmap.

Where can I ask a technical question?

The documentation links to #prove on Libera.Chat and explains how to join in its contributing section. For questions about Botwork itself, contact Botwork.

Try the intent-first workflow.

Could we add you to our mailing list!

We don’t spam! Read our privacy policy for more info.

The Botwork Security Logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Please notice that this is only for https://botwork.se not our tolling systems.