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.

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 as pangine-console. 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.

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. The current choice rule uses signed integer support and a deterministic tie break. It is not learned, probabilistic, or final.

What exists

The prototype has canonical Concepts, mutable Percepts, a read-only global view, remembered experience, structural questions, 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, adjust, inspect, and publish Answer values. The console exposes answer adjustment through @+= and @-=, while inspect shows the strengths, row counts, signed sources, and top ties behind a linked result.

The current choice rule uses signed integer support and a deterministic tie break. Persistence, sampling, broad bindings, automatic application callbacks, a general LLM adapter, and a settled meaning for Relevance are not implemented.

Keep learning

The examples page contains literal console transcripts. The grammar page is the compact reference.

Run it locally

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

Pangine is source-available under the PolyForm Noncommercial License 1.0.0. Noncommercial use, modification, and distribution are permitted; commercial use requires separate permission from APU Software, LLC.