LispWorks — это проприетарная реализация Common Lisp со своей собственной IDE и графической тулкитом CAPI. Она доступна в платной и бесплатной ограниченной версиях. Для опытного лиспера, привыкшего к Emacs и Slime, главное преимущество LispWorks — более богатые графические инструменты: удобный пошаговый отладчик (степпер), трейсер, браузер покрытия кода, браузер классов. Ставить и использовать точки останова здесь проще, чем в Slime. Ещё есть браузер процессов — показывает все потоки внутри образа Lisp, можно их останавливать, прерывать или отлаживать. Много информации выводится в виде графов, например, граф вызовов функций или граф окон.
Бесплатная версия (Personal) сильно ограничена. Лимит кучи — при превышении образ вылетает. В качестве иллюстрации: не получится загрузить одновременно набор библиотек вроде alexandria, serapeum, hunchentoot и других. Есть временно́е ограничение — 5 часов на сессию, после чего LispWorks Personal закрывается, возможно, без сохранения. Нельзя собрать бинарник — функции save-image, deliver и load-all-patches недоступны. Инициализационные файлы не загружаются, Quicklisp придётся подключать вручную каждый раз через C-y в листенере. Платные редакции снимают эти ограничения: Hobbyist (750 USD) даёт save-image, HobbyistDV — ещё и deliver, Professional — коммерческое использование, Enterprise — с модулями вроде Common SQL.
Сама IDE работает внутри образа Lisp, в отличие от Emacs, который общается с Lisp через Swank. Редактор предлагает автодополнение по Tab, подсветку синтаксиса и Emacs-подобные хоткеи. Но в целом впечатления «сыроваты»: нет автоматического отступа, автодополнение не нечёткое, нет слоя Vim и плагинов вроде Paredit (хотя есть новая версия от 2021 года). Переопределять клавиши можно через editor:bind-key. Листенер парсит ввод на лету — ошибки видны сразу, как только вводишь некорректный символ. Есть графический отладчик со стектрейсами: можно дважды кликнуть по имени функции и перейти к её исходнику.
Степпер — одна из лучших фич. Ставишь точку остановки через кнопку «Breakpoint», при выполнении открывается окно с исходником, указателем на текущее выражение, бектрейсом и листенером в контексте вызова. Есть и невизуальный степпер в REPL с командами :s, :st, :si и так далее. Браузер классов показывает иерархию, слоты, generic-функции, методы. Браузер вызовов строит граф вызывающих и вызываемых функций, позволяет фильтровать по пакетам. Браузер процессов — список всех потоков с фильтром по регулярным выражениям, можно останавливать и прерывать. Сохранение образа работает иначе, чем в SBCL: сохраняется не только код, но и REPL-сессия, конфигурация окон, состояние потоков — это как снапшот всей среды.
Доставка приложений использует deliver с tree-shaker, который вырезает неиспользуемый код, что даёт бинарники около 7 МБ. В доставленном приложении нет compile-file, save-image и IDE, так что менять код на лету нельзя, но есть удалённый отладчик клиент-сервер. LispWorks также можно использовать из Emacs через Swank — достаточно запустить сервер и подключиться через slime-connect.