Experimental language

Write information as a shape. Ask that shape a question.

Pangine explores whether information, questions, and answers can use the same small grammar. It answers exactly from what it remembers, or with graded answers composed from parts and generalized from similar cases, and every answer keeps its sources.

Every value is a Concept. A question is a Concept with explicit blanks. Once those blanks are filled, the answer is an ordinary Concept again. Pangine gives names such as [cat] and [purrs] no built-in meaning.

Square brackets name Concepts, curly braces name Percepts, arrows connect them, {answer} is a mutable Percept, ~= remembers one complete experience, and @ asks a question.

live workbenchRun a command and see its output as structure
loading engine
next idea / Concepts / 1 of 14

A named Concept is Pangine's basic value. Pangine does not assume what cat means.

current result came fromcommand> []
[]no Concept

Use the same syntax and console commands as pangine-console, such as help and inspect. Up and down recall earlier commands.

output
  []

Use the guided path or type a command

The workbench runs the current Rust engine in this browser tab. The guided path covers named Concepts, remembered statements, a shared answer, collapse, and a two-link question. Only the latest result is drawn, but remembered information remains available until you start over or refresh. Nothing is sent to a Pangine server. Type help for the console reference, or inspect a linked output to see the evidence behind it.

The current model

Keeping complete rows matters. If cat goes with purrs and dog goes with barks, reading the columns separately loses those pairings. Pangine keeps the complete answer behind the output Percepts. A later question can reuse part of that answer and add more outputs, while & keeps the relationship visible.

I think of @ as leaving possible answers together and ^ as collapse. Repeated experience counts as evidence, an answer reads those counts as probabilities, and ^ takes the most probable value while ^~ draws one by its probability.

What exists

Pangine 1.0 has canonical Concepts, mutable Percepts, a read-only global view, remembered experience that can be divided among partition engines, structural questions, graded questions that compose parts and generalize from similar cases, seeded sampling, reusable rows and question shapes, visible and extendable shared answers, grouped inputs, a Rust API, a console that can run commands interactively or from a file, and this browser workbench.

Questions preserve complete rows and their source contributions. The Rust API can branch, choose, sample, adjust, and inspect Answer values. The console exposes answer adjustment through @+= and @-=, while inspect shows the evidence counts, probabilities, row counts, signed sources, and top ties behind a linked result.

Relevance is a signed evidence count, and ^ breaks a tie between equally probable values by canonical order.^~ draws from a generator that every session starts at seed 0, so its draws repeat. Persistence, partitions on other machines, broad bindings, automatic application callbacks, and a general LLM adapter are not implemented.

Keep learning

The examples page contains literal console transcripts. The demos page runs graded questions you can change and divides a memory among partitions, with the evidence behind each answer. The grammar page is the compact reference, how it works explains the machinery behind the answers, and related work places Pangine among the systems it resembles, and history follows it from 2007 to 1.0.

Run it locally

git clone https://github.com/caustik/pangine.git
cd pangine
cargo run --bin pangine-console

Pangine is open source, licensed under either the MIT license or the Apache License 2.0, at your option.