Lispex

Lispex is the S-expression surface language of Core Semantic Kernel, exposing deterministic program structure in the same shape the kernel can normalize, validate, and reconstruct.

Lispex describes structure. Target-specific runtime behavior is resolved after transformation, not inside the Lispex surface itself.

This page is a case study showing how Lispex serves as the surface language of Core Semantic Kernel. It is not the canonical grammar reference; the full language definition lives at lispex.com.

Design Philosophy

Core values and language design principles of Lispex

Code is Data

Compound forms are structured with parentheses; atomic values and symbols are expressions on their own. An S-expression is itself a data structure, so a program is literally its own data.

"( parens are punctuation, recursion is rhyme )"

Small Predictable Core

Lispex carries a small R7RS-shaped core. Core forms are defined as deterministic normalization targets; effects such as IO/FS/Net are wired to the target runtime after transformation.

Surface of the Kernel

A Lispex S-expression has the same shape as the semantic structure that Core Semantic Kernel normalizes, validates, and reconstructs. A Lispex program, on its surface, exposes a deterministic semantic structure that the kernel can normalize and validate.

Examples

A short collection showing what Lispex code looks like.

Basic Definition and Reference

define binds a value to a name; the name evaluates as an expression.

LISPEX
1(define message "Hello, Lispex!")
2message

Recursive Function

Functions may reference themselves; factorial is expressed with a conditional and multiplication.

LISPEX
1(define (factorial n)
2  (if (= n 0) 1 (* n (factorial (- n 1)))))
3(factorial 5)

Code as Data

A quoted form is left unevaluated and stays a list. The shape of a program is the shape of data.

LISPEX
1(define program '(+ 1 2 3))
2program

Higher-Order Form as Data

Higher-order forms, including lambdas and collections, become data when quoted.

LISPEX
1(define form '(map (lambda (n) (* n 10)) '(1 2 3 4)))
2form

Related Information

Documents on the Core Semantic Kernel internals that Lispex exposes on its surface

The canonical Lispex grammar and normalization rules are at lispex.com.

Lispex Docs