A symbolic processing framework
Symp began as an exploration of what programming might look like if compilers were transparent conversations instead of black boxes.
Symp is a minimalist symbolic computation backend. It unifies parsing, transformation, and execution into one explicit pipeline:
input โ syntax โ semantics โ output
Instead of hiding these layers inside a compiler, Symp makes each stage programmable. Symp lets you experiment with how programming languages themselves think โ right from the grammar to execution. You donโt define functions. You define frames โ each with its own syntax (form) and semantics (meaning).
These three systems for syntax analysis and semantic synthesis are connected through the Symp glue language, where you can write:
(APPLY
(FRAME
(SYNTAX (APPLY symbolmatch (SEXPR (RULES ...))))
(SEMANTICS (APPLY symbolverse (SEXPR (REWRITE ...)))))
(SEXPR myProgram))
Every computation in Symp passes through form and meaning.
Syntax validates structure.
Semantics transforms intent.
Output becomes new input.
Itโs not a conventional programming language โ itโs a framework for building languages of meaning. Use it to prototype symbolic languages, theorem provers, or DSLs.
/examples/
.Symp is inspired by Lisp, PEGs, term rewriting systems, and finite state machines.