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 things, arrows connect them, a quoted name such as ['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> []
[]the null 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, remembered experience, structural questions over one or several relationships, occurrence-aware matching, reusable grounded rows, visible and extendable shared answers, grouped inputs, a Rust API, a console that can run commands interactively or from a file, two checked-in decision programs, tests, and this browser workbench.

The Rust API can now keep a complete Answer as an immutable value, branch from it, adjust matching views, inspect each possibility's strength, complete-row count, contributing sources, and top-tie status, then explicitly publish one current revision. A repeated decision check records new outcomes and changes a later action-tool choice without losing untried possibilities. The same operation works on an unordered three-output shape. Questions search selected complete remembered experiences and their parts recursively. Pangine records recursive names and shapes when experience changes, so an anchored question starts from possible complete sources instead of walking every remembered experience. Question parts that do not share a Percept stay within complete source experiences, while a repeated Percept can join separate experiences. Answer adjustment is available as @+= and @-= and works on one output or a larger shape. The CLI console'sinspect command shows the strengths, row counts, signed sources, and top ties behind a linked result.

Additional grammar, a sampler, persistence, broad bindings, automatic application callbacks, a general LLM adapter, and a settled meaning for Relevance are not the current focus. An eventual adapter may supply explicit records and questions, but it should not rank Pangine's candidates or hide why one was chosen.

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.