Lispex, The Language of Original Thought

More Scheme than Scheme, Lispex is a language that distills the essence of Lisp. Run on any platform with a single codebase.

Welcome to Lispex, a language engineered for clarity, productivity, and the joy of creation.

Lispex is a modern reinterpretation of Lisp's power and simplicity. It inherits Lisp's core philosophy of "Code is Data" while shedding complexity to maximize development productivity. Experience the pleasure of writing beautiful code with a concise and consistent grammar.

One Language, One Grammar

Lispex boldly discards complex syntaxes, adhering to a single principle: everything is expressed within parentheses (). From numerical calculations and function definitions to conditional logic and even data lists, all worldly logic is unified under this consistent 'S-expression' structure.

This singular grammar means that the code itself becomes 'data' with a perfect structure. This makes reading and analyzing code incredibly easy, and opens up the powerful world of 'metaprogramming,' where code can generate and manipulate itself. This is how Lispex most purely implements Lisp's great philosophy: 'Code is Data.'

What is Lispex?

Lispex (short for 'Lisp Expression') embodies our philosophy that the Lisp expression is the most perfect 'archetype' for all logical thought.

Unlike most languages that force ideas into a predefined syntactical framework, Lispex translates the raw structure of thought directly into code. There are no complex syntaxes or rules; only pure S-expressions that represent the flow of thought.

Therefore, Lispex is a language that transcends grammatical constraints to explore the very essence of thought itself.

A Taste of Lispex

See how Lispex's consistent grammar works with a simple example. The code below filters even numbers from a list and then multiplies each by 10.

;; All code consists of core forms and standard library functions.

(define numbers '(1 2 3 4 5 6))

;; Filter for even numbers.
(define evens 
  (filter (lambda (n) (= (modulo n 2) 0)) 
          numbers))

;; Multiply each even number by 10.
(map (lambda (n) (* n 10)) evens)

;; ⇒ (list 20 40 60)

This example showcases Lispex's concise S-expression syntax and its powerful support for functional programming, making complex data pipelines easy to construct and understand.

Key Strengths

  • Small, predictable core: A minimal set of core forms and deterministic transformation rules lower the learning curve and increase code predictability.
  • Unified S-expression: Since code and data share the same structure, code analysis, transformation, and generation become exceptionally easy.
  • LENA code-based transformation: Code written in Lispex can be transformed into about 30 other programming languages via LENA code, allowing you to leverage each language's ecosystem and tools.
  • Practical standard library: By separating the pure core language from explicit I/O and system function modules, we ensure both stability and practicality.

Next Steps

Ready to begin your journey with Lispex?

  • Start with our Getting Started guide to set up your environment and run your first Lispex program.
  • Explore the Syntax to learn more about Lispex's input grammar (tokens, literals, core/derived forms, normalization rules).
  • Learn about the broader vision of the Core Semantic Kernel project.

We're excited to see what you'll build with Lispex.