Skip to content

I open-sourced the language I made for the deck

KN-86 DECKLINE — FIELD DISPATCH TRANSMISSION 04 / 15.06.26


I open-sourced the language I made for the KN-86. It’s called KEC Lisp.

[logo]

github.com/Kinoshita-Electronics-Consortium/kec-lisp

KEC Lisp is a small Lisp. It’s built on top of Fe — rxi’s tiny tree-walking Lisp — with a core, a standard library, and a kec command-line tool on top. You can install it on your laptop and use it without any of the KN-86 hardware. The REPL works, scripts run, tests run.

It’s the language game cartridges for the deck are authored in. The deck’s runtime embeds it and adds the device-side primitives — graphics, sound, input — on top. None of that device stuff is in the kec-lisp repo. The repo is just the language.

Right now it’s the core language and a small standard library. Both will keep growing as the cartridges need more.

I should say this part of the project is the one I love the most.

I discovered Emacs in my early 20s and never really left. Around the same time I read Practical Common Lisp by Peter Seibel, which is one of those books that rewires how you think about writing software. I spent some time later writing Lisp-Flavoured Erlang (LFE) with my mentor Duncan McGreggor. Land of Lisp by Conrad Barski was another. I was a working Ruby programmer at the time, and Lisp always felt like a wondrous place I was visiting.

The thing about a Lisp: the syntax mirrors the shape of your data. The data is the program. You spend less time fighting the language and more time playing with it. Once you’ve felt it, you understand why people get evangelical.

KEC Lisp isn’t doing anything new. It’s bringing that feeling to a handheld with a Lisp keyboard on it.

Ruby had this person named _why the lucky stiff. If you weren’t there: he made cartoons, weird tools, a free online book with hand-drawn foxes explaining metaprogramming. He wrote like somebody who’d wandered into computing by accident and decided to stay because it was the most fun thing in the world. Then in 2009 he deleted everything and disappeared, and a lot of the fun in Ruby left with him.

I think about him a lot. The deck and the language are partly an attempt to put a little of that back. Not to copy what he did — that was his — but to remember that programming is allowed to be strange and joyful.

The KN-86 is a fake 1988 handheld with a Lisp keyboard. The Kinoshita Electronics Consortium is a fake company. KEC Lisp is a real language they “made” for it — the kind of language a consortium like that would build their bones on.

Clone the repo, build with CMake, and you’ve got kec:

kec # REPL
kec run script.kec # run a script
kec eval "(+ 1 2)" # evaluate one expression

If you’ve never written a Lisp before, the README is a soft landing. If you have, just open the REPL and feel around.

github.com/Kinoshita-Electronics-Consortium/kec-lisp

— Josh


A walk-through of the device — the screens, the keys, the cartridge slot — and the games that ship with it. The full tour.

> CIPHER: TRANSMISSION ENDS.
> CIPHER: STAND BY FOR 05.

GREAT WESTERN PRODUCTIONS · 2026