Lispix
A scriptable test bed for computer vision and graphics algorithms, running in your browser. Prototype a filter, a kernel, a projection, or a signal in pixel space that matches how image buffers are addressed, or in centered Cartesian space for reasoning about the math.
\eps or σ to \sigma.
(define σ 60)
(define ν 0.05)
(define ε 0.4)
(defun ψ (x)
(* (exp (- 0 (/ (* x x) (* 2 (* σ σ)))))
(sin (+ (* ν x) ε))))
(color 100 200 255)
(defun plot (x)
(if (> x 300)
#t
(progn
(point x (* 180 (ψ x)))
(plot (+ x 1)))))
(plot -300)
σ, ν, and ε are ordinary top-level variables here — not a
special syntax, just Lisp identifiers made of Greek letters. Run it in
the app under (set-origin 'graph)
and it plots a Gaussian-enveloped sine wave, centered on the canvas.
(set-origin 'image) puts (0,0) at the top-left with Y down, for pixel and
image-processing work. (set-origin 'graph) centers the origin with Y up, for
plotting math. Same drawing calls, either way.
Variables and function names can be Greek letters or emoji — ε, σ,
ν, ψ, whatever matches your formula.
Elementwise exp, sin, cos, pow, plus
matmul, slice, and transpose on scalars or tensors.
A draw loop runs every frame, driven by a built-in elapsed-time clock.
Open the page and start writing Lisp.
Built on open-source libraries: Wefx, r2_maths.h, r2_string.h, and tinylisp.
- What is Lispix?
- Lispix is a browser based Lisp interpreter with tensor / matrix math and a canvas you can draw to, running entirely client side via WebAssembly.
- Is Lispix more like an image processing sandbox or a graphing calculator?
- Both.
(set-origin 'image)gives you pixel coordinates with (0,0) at the top left and Y increasing downward — good for image and algorithm experiments.(set-origin 'graph)gives you (0,0) at the canvas center with Y increasing upward, like a Cartesian graphing calculator. The same drawing calls work in either mode. - Can I use Greek letters or emoji as variable names?
- Yes. Lispix identifiers are full Unicode, so you can write formulas using the same symbols
they use on paper, such as
ε,σ,ν, orψ. Elapsed time since page load is even a built-in variable literally named with a stopwatch emoji,⏱️. - What can you do with Lispix?
- Write Lisp expressions that compute with vectors and matrices using tensor literals and
operations like
matmul,slice, andtranspose, and draw the results live to a canvas — plots, animations, and simple 3D projections. - Does Lispix require installation?
- No. Lispix runs entirely in the browser via WebAssembly — open the page and start writing Lisp code.
- Is Lispix open source?
- Mostly. All of the libraries Lispix uses are open source: Wefx, r2_maths.h, r2_string.h, and tinylisp; however the web application itself is not.