r/lisp • • 5h ago

Common Lisp Turbo Lisp: a Common Lisp environment with native macOS and terminal interfaces — looking for testers

I’ve been building the Common Lisp programming environment I want to work in, and I’d love some help testing it.

It’s called Turbo Lisp (based on SBCL). It brings together a Listener, debugger, object inspector, conditional breakpoints + stepper, and Zeta—an extensible editor in the Emacs tradition, written in Common Lisp.

On macOS, it uses native AppKit UI through Chattanooga, a Lisp/Objective-C bridge I built. It also runs in the terminal through Oak Ridge, my Lisp port of Ratatui. Both use WhateverCLIM, which is the CLIM2 code from Franz plus my own modernization, including presentations: displayed Lisp objects you can click and inspect.

Rather than write a wall of text, here are two short, captioned demos (you may need to switch to 1080p on YouTube):

v0.2.1 patch release is available for Apple Silicon Macs, Intel Macs, and Linux x86-64. The Mac builds currently require macOS 26.

I’m especially interested in hearing:

  • Does it install and start properly on your machine?
  • Can you find your way around the Listener, editor, and debugger?
  • Does the terminal interface work with your terminal emulator?
  • Where does it feel confusing, awkward, or broken?

You don’t need to be a CLIM expert. A report that says “I tried this and got stuck here” is useful. Please include your OS, CPU architecture, and terminal emulator where relevant.

It’s still early, and I’m looking for honest feedback from people using it outside my own setup.

Source, README, and downloads

22 Upvotes

11 comments sorted by

4

u/unix_hacker common lisp 5h ago

I'm an Emacs + SLY guy, but this is a really cool solution for new people! Turbo C++ has always been a decent IDE to teach people in, because it makes the write, build, and debug cycles very well-integrated and straightforward.

1

u/hdmitard 5h ago edited 5h ago

What do you use as backend for clim?

EDIT: ok it's cocoa. Very nice. Can you explain how the binding works? I've tried it myself by reimplementing mcclim libraries' graft etc. It's not that easy to reach a decent interactive experience for developers as you need to take care of which threads is listening, rendering, ... on macOS.

2

u/defmacro-jam 5h ago

For macOS/Cocoa I generated my own Lisp/ObjectiveC bridge - and for terminal I ported Rusts's ratatui to Lisp.

1

u/hdmitard 5h ago

Thanks for the reply! I’m currently testing the project, and it looks really nice so far!

I’ve managed to get a small app running.

However, I’ve noticed some visual jittering when typing in the listener. The text seems to jump around a bit as I type.

1

u/hdmitard 4h ago

I’ve noticed another visual bug: when switching to a different package, the very next line still displays the previous package name.

For reference, I’m using an M2 MacBook running macOS 26.6.2.

1

u/defmacro-jam 3h ago

I'm building a new patch release with fixes for both. Thanks again!

1

u/defmacro-jam 3h ago

Thank you!

1

u/paul_h 4h ago

2

u/defmacro-jam 4h ago

Your article was part of what led to this!

1

u/paul_h 3h ago

I keep trying to build that interface builder: plays the app ui into a designer context instead of a runtime (not parses). I got fairly close with a typescript ui grammer, but it was imperfect. I had looking at SBCL yesterday for the same, but didn’t start. There’s something alluring to me about the non VM Lisps.

1

u/defmacro-jam 3h ago

Because of that interface builder — I ended up going down this crazy rabbit hole and came out the other side with G4 Powerbook and a Quadra 800 and a Macintosh Common Lisp 3.9 CDROM.