Warning
This document is a work in progress. The content is subject to change. Some sections may be incomplete or missing. Please stay tuned for updates.
Inference is a domain-specific programming language designed by Inferara to enable Web3 developers to formulate properties of the native application algorithms in a familiar format similar to how unit tests are written.
Inference allows formal proof of the correctness of the specified properties to be expressed as a theorem-prover theory and verified in an automated way.
Important
Inference is a Web3 native applications-oriented, formal specification language.
This repository contains the specification of the Inference programming language. The specification is divided into several sections, each describing a specific aspect of the language. The language is designed to be simple and easy to learn, and its syntax is concise and similar to Rust.
- Foreword
- §1 Introduction
- §2 Terms and definitions
- §3 General description
- §4 Lexical structure
- §5 Basic concepts
- §6 Types
- §7 Variables
- §8 Expressions
- §9 Statements
- §10 Definitions
- §11 Functions
- §12 Constants
- §13 Directives
- §A Grammar
- §B Standard Library
- §C Comments
- §D Examples
- §E Bibliography