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.
A named Concept is Pangine's basic value. Pangine does not assume what cat means.
command> [][]
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
- A Concept is any Pangine value, relationship, collection, question, or answer. Simple names use
[name]; arbitrary text uses["escaped text"]. - A Percept is a mutable reference that can remember Concepts, provide input, or receive output.
{*}is a read-only view of the ordinary Concepts currently live in the engine.@keeps every complete answer that fits a question and links its output Percepts.@~asks the same question, then composes parts seen separately and generalizes from similar cases, ranking each below answers seen whole.&returns the shared question shape behind linked outputs.$reads one output or a connected group without changing it.^chooses one result, removes incompatible rows, and updates every linked output.^~draws one result by its probability instead and collapses the answer the same way.@+=and@-=add or subtract matching evidence from another linked answer.
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-consolePangine is open source, licensed under either the MIT license or the Apache License 2.0, at your option.